aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.htaccess3
-rw-r--r--apps/admin_audit/l10n/eo.js2
-rw-r--r--apps/admin_audit/l10n/eo.json2
-rw-r--r--apps/comments/l10n/af.js20
-rw-r--r--apps/comments/l10n/af.json18
-rw-r--r--apps/comments/l10n/az.js8
-rw-r--r--apps/comments/l10n/az.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/bs.js8
-rw-r--r--apps/comments/l10n/bs.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/eo.js21
-rw-r--r--apps/comments/l10n/eo.json19
-rw-r--r--apps/comments/l10n/es_419.js20
-rw-r--r--apps/comments/l10n/es_419.json18
-rw-r--r--apps/comments/l10n/es_AR.js20
-rw-r--r--apps/comments/l10n/es_AR.json18
-rw-r--r--apps/comments/l10n/es_CL.js20
-rw-r--r--apps/comments/l10n/es_CL.json18
-rw-r--r--apps/comments/l10n/es_CO.js20
-rw-r--r--apps/comments/l10n/es_CO.json18
-rw-r--r--apps/comments/l10n/es_CR.js20
-rw-r--r--apps/comments/l10n/es_CR.json18
-rw-r--r--apps/comments/l10n/es_DO.js20
-rw-r--r--apps/comments/l10n/es_DO.json18
-rw-r--r--apps/comments/l10n/es_GT.js20
-rw-r--r--apps/comments/l10n/es_GT.json18
-rw-r--r--apps/comments/l10n/es_HN.js20
-rw-r--r--apps/comments/l10n/es_HN.json18
-rw-r--r--apps/comments/l10n/es_NI.js20
-rw-r--r--apps/comments/l10n/es_NI.json18
-rw-r--r--apps/comments/l10n/es_PA.js20
-rw-r--r--apps/comments/l10n/es_PA.json18
-rw-r--r--apps/comments/l10n/es_PE.js20
-rw-r--r--apps/comments/l10n/es_PE.json18
-rw-r--r--apps/comments/l10n/es_PR.js20
-rw-r--r--apps/comments/l10n/es_PR.json18
-rw-r--r--apps/comments/l10n/es_PY.js20
-rw-r--r--apps/comments/l10n/es_PY.json18
-rw-r--r--apps/comments/l10n/es_SV.js20
-rw-r--r--apps/comments/l10n/es_SV.json18
-rw-r--r--apps/comments/l10n/es_UY.js20
-rw-r--r--apps/comments/l10n/es_UY.json18
-rw-r--r--apps/comments/l10n/hy.js7
-rw-r--r--apps/comments/l10n/hy.json5
-rw-r--r--apps/comments/l10n/ia.js19
-rw-r--r--apps/comments/l10n/ia.json17
-rw-r--r--apps/comments/l10n/ka_GE.js20
-rw-r--r--apps/comments/l10n/ka_GE.json18
-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/lb.js8
-rw-r--r--apps/comments/l10n/lb.json6
-rw-r--r--apps/comments/l10n/lv.js20
-rw-r--r--apps/comments/l10n/lv.json18
-rw-r--r--apps/comments/l10n/mn.js19
-rw-r--r--apps/comments/l10n/mn.json17
-rw-r--r--apps/comments/l10n/ms_MY.js7
-rw-r--r--apps/comments/l10n/ms_MY.json5
-rw-r--r--apps/comments/l10n/nn_NO.js24
-rw-r--r--apps/comments/l10n/nn_NO.json22
-rw-r--r--apps/comments/l10n/ps.js19
-rw-r--r--apps/comments/l10n/ps.json17
-rw-r--r--apps/comments/l10n/si.js20
-rw-r--r--apps/comments/l10n/si.json18
-rw-r--r--apps/comments/l10n/sq.js20
-rw-r--r--apps/comments/l10n/sq.json18
-rw-r--r--apps/comments/l10n/sr@latin.js7
-rw-r--r--apps/comments/l10n/sr@latin.json5
-rw-r--r--apps/comments/l10n/th.js25
-rw-r--r--apps/comments/l10n/th.json23
-rw-r--r--apps/comments/l10n/tr.js4
-rw-r--r--apps/comments/l10n/tr.json4
-rw-r--r--apps/comments/l10n/ur_PK.js7
-rw-r--r--apps/comments/l10n/ur_PK.json5
-rw-r--r--apps/dav/l10n/el.js120
-rw-r--r--apps/dav/l10n/el.json118
-rw-r--r--apps/dav/l10n/eo.js104
-rw-r--r--apps/dav/l10n/eo.json102
-rw-r--r--apps/dav/l10n/es_419.js66
-rw-r--r--apps/dav/l10n/es_419.json64
-rw-r--r--apps/dav/l10n/es_AR.js56
-rw-r--r--apps/dav/l10n/es_AR.json54
-rw-r--r--apps/dav/l10n/es_CL.js66
-rw-r--r--apps/dav/l10n/es_CL.json64
-rw-r--r--apps/dav/l10n/es_CO.js66
-rw-r--r--apps/dav/l10n/es_CO.json64
-rw-r--r--apps/dav/l10n/es_CR.js66
-rw-r--r--apps/dav/l10n/es_CR.json64
-rw-r--r--apps/dav/l10n/es_DO.js66
-rw-r--r--apps/dav/l10n/es_DO.json64
-rw-r--r--apps/dav/l10n/es_GT.js66
-rw-r--r--apps/dav/l10n/es_GT.json64
-rw-r--r--apps/dav/l10n/es_HN.js66
-rw-r--r--apps/dav/l10n/es_HN.json64
-rw-r--r--apps/dav/l10n/es_NI.js66
-rw-r--r--apps/dav/l10n/es_NI.json64
-rw-r--r--apps/dav/l10n/es_PA.js66
-rw-r--r--apps/dav/l10n/es_PA.json64
-rw-r--r--apps/dav/l10n/es_PE.js66
-rw-r--r--apps/dav/l10n/es_PE.json64
-rw-r--r--apps/dav/l10n/es_PR.js66
-rw-r--r--apps/dav/l10n/es_PR.json64
-rw-r--r--apps/dav/l10n/es_PY.js66
-rw-r--r--apps/dav/l10n/es_PY.json64
-rw-r--r--apps/dav/l10n/es_SV.js66
-rw-r--r--apps/dav/l10n/es_SV.json64
-rw-r--r--apps/dav/l10n/es_UY.js66
-rw-r--r--apps/dav/l10n/es_UY.json64
-rw-r--r--apps/dav/l10n/fi.js165
-rw-r--r--apps/dav/l10n/fi.json163
-rw-r--r--apps/dav/l10n/he.js101
-rw-r--r--apps/dav/l10n/he.json99
-rw-r--r--apps/dav/l10n/hr.js157
-rw-r--r--apps/dav/l10n/hr.json155
-rw-r--r--apps/dav/l10n/hu.js4
-rw-r--r--apps/dav/l10n/hu.json4
-rw-r--r--apps/dav/l10n/id.js11
-rw-r--r--apps/dav/l10n/id.json9
-rw-r--r--apps/dav/l10n/ka_GE.js66
-rw-r--r--apps/dav/l10n/ka_GE.json64
-rw-r--r--apps/dav/l10n/lt_LT.js111
-rw-r--r--apps/dav/l10n/lt_LT.json109
-rw-r--r--apps/dav/l10n/lv.js11
-rw-r--r--apps/dav/l10n/lv.json9
-rw-r--r--apps/dav/l10n/nn_NO.js43
-rw-r--r--apps/dav/l10n/nn_NO.json41
-rw-r--r--apps/dav/l10n/ro.js60
-rw-r--r--apps/dav/l10n/ro.json58
-rw-r--r--apps/dav/l10n/sc.js151
-rw-r--r--apps/dav/l10n/sc.json149
-rw-r--r--apps/dav/l10n/sq.js63
-rw-r--r--apps/dav/l10n/sq.json61
-rw-r--r--apps/dav/l10n/tr.js16
-rw-r--r--apps/dav/l10n/tr.json16
-rw-r--r--apps/dav/lib/Connector/Sabre/TagsPlugin.php44
-rw-r--r--apps/dav/lib/Files/FileSearchBackend.php3
-rw-r--r--apps/dav/lib/Server.php1
-rw-r--r--apps/dav/tests/unit/Files/FileSearchBackendTest.php18
-rw-r--r--apps/encryption/l10n/ast.js29
-rw-r--r--apps/encryption/l10n/ast.json27
-rw-r--r--apps/encryption/l10n/az.js35
-rw-r--r--apps/encryption/l10n/az.json33
-rw-r--r--apps/encryption/l10n/bn_BD.js13
-rw-r--r--apps/encryption/l10n/bn_BD.json11
-rw-r--r--apps/encryption/l10n/bs.js11
-rw-r--r--apps/encryption/l10n/bs.json9
-rw-r--r--apps/encryption/l10n/ia.js7
-rw-r--r--apps/encryption/l10n/ia.json5
-rw-r--r--apps/encryption/l10n/km.js10
-rw-r--r--apps/encryption/l10n/km.json8
-rw-r--r--apps/encryption/l10n/kn.js8
-rw-r--r--apps/encryption/l10n/kn.json6
-rw-r--r--apps/encryption/l10n/lb.js9
-rw-r--r--apps/encryption/l10n/lb.json7
-rw-r--r--apps/encryption/l10n/mk.js17
-rw-r--r--apps/encryption/l10n/mk.json15
-rw-r--r--apps/encryption/l10n/oc.js59
-rw-r--r--apps/encryption/l10n/oc.json57
-rw-r--r--apps/encryption/l10n/sr@latin.js10
-rw-r--r--apps/encryption/l10n/sr@latin.json8
-rw-r--r--apps/encryption/l10n/tr.js52
-rw-r--r--apps/encryption/l10n/tr.json52
-rw-r--r--apps/encryption/l10n/ur_PK.js6
-rw-r--r--apps/encryption/l10n/ur_PK.json4
-rw-r--r--apps/encryption/l10n/vi.js26
-rw-r--r--apps/encryption/l10n/vi.json24
-rw-r--r--apps/federatedfilesharing/l10n/ar.js2
-rw-r--r--apps/federatedfilesharing/l10n/ar.json2
-rw-r--r--apps/federatedfilesharing/l10n/ast.js2
-rw-r--r--apps/federatedfilesharing/l10n/ast.json2
-rw-r--r--apps/federatedfilesharing/l10n/az.js9
-rw-r--r--apps/federatedfilesharing/l10n/az.json7
-rw-r--r--apps/federatedfilesharing/l10n/bg.js2
-rw-r--r--apps/federatedfilesharing/l10n/bg.json2
-rw-r--r--apps/federatedfilesharing/l10n/ca.js2
-rw-r--r--apps/federatedfilesharing/l10n/ca.json2
-rw-r--r--apps/federatedfilesharing/l10n/cs.js2
-rw-r--r--apps/federatedfilesharing/l10n/cs.json2
-rw-r--r--apps/federatedfilesharing/l10n/da.js2
-rw-r--r--apps/federatedfilesharing/l10n/da.json2
-rw-r--r--apps/federatedfilesharing/l10n/de.js2
-rw-r--r--apps/federatedfilesharing/l10n/de.json2
-rw-r--r--apps/federatedfilesharing/l10n/de_DE.js2
-rw-r--r--apps/federatedfilesharing/l10n/de_DE.json2
-rw-r--r--apps/federatedfilesharing/l10n/el.js2
-rw-r--r--apps/federatedfilesharing/l10n/el.json2
-rw-r--r--apps/federatedfilesharing/l10n/en_GB.js2
-rw-r--r--apps/federatedfilesharing/l10n/en_GB.json2
-rw-r--r--apps/federatedfilesharing/l10n/eo.js2
-rw-r--r--apps/federatedfilesharing/l10n/eo.json2
-rw-r--r--apps/federatedfilesharing/l10n/es.js2
-rw-r--r--apps/federatedfilesharing/l10n/es.json2
-rw-r--r--apps/federatedfilesharing/l10n/es_419.js38
-rw-r--r--apps/federatedfilesharing/l10n/es_419.json36
-rw-r--r--apps/federatedfilesharing/l10n/es_AR.js36
-rw-r--r--apps/federatedfilesharing/l10n/es_AR.json34
-rw-r--r--apps/federatedfilesharing/l10n/es_CL.js36
-rw-r--r--apps/federatedfilesharing/l10n/es_CL.json34
-rw-r--r--apps/federatedfilesharing/l10n/es_CO.js36
-rw-r--r--apps/federatedfilesharing/l10n/es_CO.json34
-rw-r--r--apps/federatedfilesharing/l10n/es_CR.js36
-rw-r--r--apps/federatedfilesharing/l10n/es_CR.json34
-rw-r--r--apps/federatedfilesharing/l10n/es_DO.js36
-rw-r--r--apps/federatedfilesharing/l10n/es_DO.json34
-rw-r--r--apps/federatedfilesharing/l10n/es_EC.js2
-rw-r--r--apps/federatedfilesharing/l10n/es_EC.json2
-rw-r--r--apps/federatedfilesharing/l10n/es_GT.js36
-rw-r--r--apps/federatedfilesharing/l10n/es_GT.json34
-rw-r--r--apps/federatedfilesharing/l10n/es_HN.js38
-rw-r--r--apps/federatedfilesharing/l10n/es_HN.json36
-rw-r--r--apps/federatedfilesharing/l10n/es_MX.js2
-rw-r--r--apps/federatedfilesharing/l10n/es_MX.json2
-rw-r--r--apps/federatedfilesharing/l10n/es_NI.js38
-rw-r--r--apps/federatedfilesharing/l10n/es_NI.json36
-rw-r--r--apps/federatedfilesharing/l10n/es_PA.js38
-rw-r--r--apps/federatedfilesharing/l10n/es_PA.json36
-rw-r--r--apps/federatedfilesharing/l10n/es_PE.js38
-rw-r--r--apps/federatedfilesharing/l10n/es_PE.json36
-rw-r--r--apps/federatedfilesharing/l10n/es_PR.js38
-rw-r--r--apps/federatedfilesharing/l10n/es_PR.json36
-rw-r--r--apps/federatedfilesharing/l10n/es_PY.js38
-rw-r--r--apps/federatedfilesharing/l10n/es_PY.json36
-rw-r--r--apps/federatedfilesharing/l10n/es_SV.js36
-rw-r--r--apps/federatedfilesharing/l10n/es_SV.json34
-rw-r--r--apps/federatedfilesharing/l10n/es_UY.js38
-rw-r--r--apps/federatedfilesharing/l10n/es_UY.json36
-rw-r--r--apps/federatedfilesharing/l10n/et_EE.js2
-rw-r--r--apps/federatedfilesharing/l10n/et_EE.json2
-rw-r--r--apps/federatedfilesharing/l10n/eu.js2
-rw-r--r--apps/federatedfilesharing/l10n/eu.json2
-rw-r--r--apps/federatedfilesharing/l10n/fa.js2
-rw-r--r--apps/federatedfilesharing/l10n/fa.json2
-rw-r--r--apps/federatedfilesharing/l10n/fi.js2
-rw-r--r--apps/federatedfilesharing/l10n/fi.json2
-rw-r--r--apps/federatedfilesharing/l10n/fr.js2
-rw-r--r--apps/federatedfilesharing/l10n/fr.json2
-rw-r--r--apps/federatedfilesharing/l10n/ga.js2
-rw-r--r--apps/federatedfilesharing/l10n/ga.json2
-rw-r--r--apps/federatedfilesharing/l10n/gl.js2
-rw-r--r--apps/federatedfilesharing/l10n/gl.json2
-rw-r--r--apps/federatedfilesharing/l10n/he.js36
-rw-r--r--apps/federatedfilesharing/l10n/he.json34
-rw-r--r--apps/federatedfilesharing/l10n/hr.js2
-rw-r--r--apps/federatedfilesharing/l10n/hr.json2
-rw-r--r--apps/federatedfilesharing/l10n/hu.js2
-rw-r--r--apps/federatedfilesharing/l10n/hu.json2
-rw-r--r--apps/federatedfilesharing/l10n/ia.js34
-rw-r--r--apps/federatedfilesharing/l10n/ia.json32
-rw-r--r--apps/federatedfilesharing/l10n/id.js37
-rw-r--r--apps/federatedfilesharing/l10n/id.json35
-rw-r--r--apps/federatedfilesharing/l10n/is.js2
-rw-r--r--apps/federatedfilesharing/l10n/is.json2
-rw-r--r--apps/federatedfilesharing/l10n/it.js2
-rw-r--r--apps/federatedfilesharing/l10n/it.json2
-rw-r--r--apps/federatedfilesharing/l10n/ja.js2
-rw-r--r--apps/federatedfilesharing/l10n/ja.json2
-rw-r--r--apps/federatedfilesharing/l10n/ka.js2
-rw-r--r--apps/federatedfilesharing/l10n/ka.json2
-rw-r--r--apps/federatedfilesharing/l10n/ka_GE.js35
-rw-r--r--apps/federatedfilesharing/l10n/ka_GE.json33
-rw-r--r--apps/federatedfilesharing/l10n/ko.js2
-rw-r--r--apps/federatedfilesharing/l10n/ko.json2
-rw-r--r--apps/federatedfilesharing/l10n/lb.js6
-rw-r--r--apps/federatedfilesharing/l10n/lb.json4
-rw-r--r--apps/federatedfilesharing/l10n/lt_LT.js40
-rw-r--r--apps/federatedfilesharing/l10n/lt_LT.json38
-rw-r--r--apps/federatedfilesharing/l10n/lv.js31
-rw-r--r--apps/federatedfilesharing/l10n/lv.json29
-rw-r--r--apps/federatedfilesharing/l10n/mk.js2
-rw-r--r--apps/federatedfilesharing/l10n/mk.json2
-rw-r--r--apps/federatedfilesharing/l10n/nb.js2
-rw-r--r--apps/federatedfilesharing/l10n/nb.json2
-rw-r--r--apps/federatedfilesharing/l10n/nl.js2
-rw-r--r--apps/federatedfilesharing/l10n/nl.json2
-rw-r--r--apps/federatedfilesharing/l10n/oc.js24
-rw-r--r--apps/federatedfilesharing/l10n/oc.json22
-rw-r--r--apps/federatedfilesharing/l10n/pl.js2
-rw-r--r--apps/federatedfilesharing/l10n/pl.json2
-rw-r--r--apps/federatedfilesharing/l10n/pt_BR.js2
-rw-r--r--apps/federatedfilesharing/l10n/pt_BR.json2
-rw-r--r--apps/federatedfilesharing/l10n/pt_PT.js36
-rw-r--r--apps/federatedfilesharing/l10n/pt_PT.json34
-rw-r--r--apps/federatedfilesharing/l10n/ro.js35
-rw-r--r--apps/federatedfilesharing/l10n/ro.json33
-rw-r--r--apps/federatedfilesharing/l10n/ru.js2
-rw-r--r--apps/federatedfilesharing/l10n/ru.json2
-rw-r--r--apps/federatedfilesharing/l10n/sc.js2
-rw-r--r--apps/federatedfilesharing/l10n/sc.json2
-rw-r--r--apps/federatedfilesharing/l10n/sk.js2
-rw-r--r--apps/federatedfilesharing/l10n/sk.json2
-rw-r--r--apps/federatedfilesharing/l10n/sl.js2
-rw-r--r--apps/federatedfilesharing/l10n/sl.json2
-rw-r--r--apps/federatedfilesharing/l10n/sq.js35
-rw-r--r--apps/federatedfilesharing/l10n/sq.json33
-rw-r--r--apps/federatedfilesharing/l10n/sr.js2
-rw-r--r--apps/federatedfilesharing/l10n/sr.json2
-rw-r--r--apps/federatedfilesharing/l10n/sr@latin.js7
-rw-r--r--apps/federatedfilesharing/l10n/sr@latin.json5
-rw-r--r--apps/federatedfilesharing/l10n/sv.js2
-rw-r--r--apps/federatedfilesharing/l10n/sv.json2
-rw-r--r--apps/federatedfilesharing/l10n/th.js35
-rw-r--r--apps/federatedfilesharing/l10n/th.json33
-rw-r--r--apps/federatedfilesharing/l10n/tr.js4
-rw-r--r--apps/federatedfilesharing/l10n/tr.json4
-rw-r--r--apps/federatedfilesharing/l10n/ug.js2
-rw-r--r--apps/federatedfilesharing/l10n/ug.json2
-rw-r--r--apps/federatedfilesharing/l10n/uk.js2
-rw-r--r--apps/federatedfilesharing/l10n/uk.json2
-rw-r--r--apps/federatedfilesharing/l10n/zh_CN.js2
-rw-r--r--apps/federatedfilesharing/l10n/zh_CN.json2
-rw-r--r--apps/federatedfilesharing/l10n/zh_HK.js2
-rw-r--r--apps/federatedfilesharing/l10n/zh_HK.json2
-rw-r--r--apps/federatedfilesharing/l10n/zh_TW.js2
-rw-r--r--apps/federatedfilesharing/l10n/zh_TW.json2
-rw-r--r--apps/federation/l10n/hu.js6
-rw-r--r--apps/federation/l10n/hu.json6
-rw-r--r--apps/federation/l10n/lb.js15
-rw-r--r--apps/federation/l10n/lb.json13
-rw-r--r--apps/federation/l10n/oc.js9
-rw-r--r--apps/federation/l10n/oc.json7
-rw-r--r--apps/federation/l10n/ro.js15
-rw-r--r--apps/federation/l10n/ro.json13
-rw-r--r--apps/files/l10n/ach.js9
-rw-r--r--apps/files/l10n/ach.json7
-rw-r--r--apps/files/l10n/ady.js9
-rw-r--r--apps/files/l10n/ady.json7
-rw-r--r--apps/files/l10n/af.js137
-rw-r--r--apps/files/l10n/af.json135
-rw-r--r--apps/files/l10n/ak.js9
-rw-r--r--apps/files/l10n/ak.json7
-rw-r--r--apps/files/l10n/am_ET.js9
-rw-r--r--apps/files/l10n/am_ET.json7
-rw-r--r--apps/files/l10n/ar.js15
-rw-r--r--apps/files/l10n/ar.json15
-rw-r--r--apps/files/l10n/ast.js10
-rw-r--r--apps/files/l10n/ast.json10
-rw-r--r--apps/files/l10n/az.js104
-rw-r--r--apps/files/l10n/az.json102
-rw-r--r--apps/files/l10n/be.js6
-rw-r--r--apps/files/l10n/be.json4
-rw-r--r--apps/files/l10n/bg.js11
-rw-r--r--apps/files/l10n/bg.json11
-rw-r--r--apps/files/l10n/bn_BD.js65
-rw-r--r--apps/files/l10n/bn_BD.json63
-rw-r--r--apps/files/l10n/br.js187
-rw-r--r--apps/files/l10n/br.json185
-rw-r--r--apps/files/l10n/bs.js75
-rw-r--r--apps/files/l10n/bs.json73
-rw-r--r--apps/files/l10n/ca.js15
-rw-r--r--apps/files/l10n/ca.json15
-rw-r--r--apps/files/l10n/cs.js15
-rw-r--r--apps/files/l10n/cs.json15
-rw-r--r--apps/files/l10n/cy_GB.js45
-rw-r--r--apps/files/l10n/cy_GB.json43
-rw-r--r--apps/files/l10n/da.js15
-rw-r--r--apps/files/l10n/da.json15
-rw-r--r--apps/files/l10n/de.js15
-rw-r--r--apps/files/l10n/de.json15
-rw-r--r--apps/files/l10n/de_DE.js15
-rw-r--r--apps/files/l10n/de_DE.json15
-rw-r--r--apps/files/l10n/el.js10
-rw-r--r--apps/files/l10n/el.json10
-rw-r--r--apps/files/l10n/en_GB.js15
-rw-r--r--apps/files/l10n/en_GB.json15
-rw-r--r--apps/files/l10n/eo.js178
-rw-r--r--apps/files/l10n/eo.json176
-rw-r--r--apps/files/l10n/es.js15
-rw-r--r--apps/files/l10n/es.json15
-rw-r--r--apps/files/l10n/es_419.js137
-rw-r--r--apps/files/l10n/es_419.json135
-rw-r--r--apps/files/l10n/es_AR.js149
-rw-r--r--apps/files/l10n/es_AR.json147
-rw-r--r--apps/files/l10n/es_CL.js154
-rw-r--r--apps/files/l10n/es_CL.json152
-rw-r--r--apps/files/l10n/es_CO.js154
-rw-r--r--apps/files/l10n/es_CO.json152
-rw-r--r--apps/files/l10n/es_CR.js152
-rw-r--r--apps/files/l10n/es_CR.json150
-rw-r--r--apps/files/l10n/es_DO.js153
-rw-r--r--apps/files/l10n/es_DO.json151
-rw-r--r--apps/files/l10n/es_EC.js8
-rw-r--r--apps/files/l10n/es_EC.json8
-rw-r--r--apps/files/l10n/es_GT.js152
-rw-r--r--apps/files/l10n/es_GT.json150
-rw-r--r--apps/files/l10n/es_HN.js137
-rw-r--r--apps/files/l10n/es_HN.json135
-rw-r--r--apps/files/l10n/es_MX.js10
-rw-r--r--apps/files/l10n/es_MX.json10
-rw-r--r--apps/files/l10n/es_NI.js137
-rw-r--r--apps/files/l10n/es_NI.json135
-rw-r--r--apps/files/l10n/es_PA.js137
-rw-r--r--apps/files/l10n/es_PA.json135
-rw-r--r--apps/files/l10n/es_PE.js166
-rw-r--r--apps/files/l10n/es_PE.json164
-rw-r--r--apps/files/l10n/es_PR.js137
-rw-r--r--apps/files/l10n/es_PR.json135
-rw-r--r--apps/files/l10n/es_PY.js156
-rw-r--r--apps/files/l10n/es_PY.json154
-rw-r--r--apps/files/l10n/es_SV.js153
-rw-r--r--apps/files/l10n/es_SV.json151
-rw-r--r--apps/files/l10n/es_UY.js137
-rw-r--r--apps/files/l10n/es_UY.json135
-rw-r--r--apps/files/l10n/et_EE.js15
-rw-r--r--apps/files/l10n/et_EE.json15
-rw-r--r--apps/files/l10n/eu.js10
-rw-r--r--apps/files/l10n/eu.json10
-rw-r--r--apps/files/l10n/fa.js12
-rw-r--r--apps/files/l10n/fa.json12
-rw-r--r--apps/files/l10n/fi.js14
-rw-r--r--apps/files/l10n/fi.json14
-rw-r--r--apps/files/l10n/fr.js15
-rw-r--r--apps/files/l10n/fr.json15
-rw-r--r--apps/files/l10n/fy_NL.js9
-rw-r--r--apps/files/l10n/fy_NL.json7
-rw-r--r--apps/files/l10n/ga.js15
-rw-r--r--apps/files/l10n/ga.json15
-rw-r--r--apps/files/l10n/gl.js15
-rw-r--r--apps/files/l10n/gl.json15
-rw-r--r--apps/files/l10n/gu.js9
-rw-r--r--apps/files/l10n/gu.json7
-rw-r--r--apps/files/l10n/he.js200
-rw-r--r--apps/files/l10n/he.json198
-rw-r--r--apps/files/l10n/hr.js216
-rw-r--r--apps/files/l10n/hr.json214
-rw-r--r--apps/files/l10n/hu.js81
-rw-r--r--apps/files/l10n/hu.json81
-rw-r--r--apps/files/l10n/hy.js40
-rw-r--r--apps/files/l10n/hy.json38
-rw-r--r--apps/files/l10n/ia.js124
-rw-r--r--apps/files/l10n/ia.json122
-rw-r--r--apps/files/l10n/id.js8
-rw-r--r--apps/files/l10n/id.json8
-rw-r--r--apps/files/l10n/io.js9
-rw-r--r--apps/files/l10n/io.json7
-rw-r--r--apps/files/l10n/is.js15
-rw-r--r--apps/files/l10n/is.json15
-rw-r--r--apps/files/l10n/it.js15
-rw-r--r--apps/files/l10n/it.json15
-rw-r--r--apps/files/l10n/ja.js15
-rw-r--r--apps/files/l10n/ja.json15
-rw-r--r--apps/files/l10n/ka.js10
-rw-r--r--apps/files/l10n/ka.json10
-rw-r--r--apps/files/l10n/ka_GE.js152
-rw-r--r--apps/files/l10n/ka_GE.json150
-rw-r--r--apps/files/l10n/km.js38
-rw-r--r--apps/files/l10n/km.json36
-rw-r--r--apps/files/l10n/kn.js61
-rw-r--r--apps/files/l10n/kn.json59
-rw-r--r--apps/files/l10n/ko.js10
-rw-r--r--apps/files/l10n/ko.json10
-rw-r--r--apps/files/l10n/lb.js118
-rw-r--r--apps/files/l10n/lb.json116
-rw-r--r--apps/files/l10n/lo.js9
-rw-r--r--apps/files/l10n/lo.json7
-rw-r--r--apps/files/l10n/lt_LT.js8
-rw-r--r--apps/files/l10n/lt_LT.json8
-rw-r--r--apps/files/l10n/lv.js152
-rw-r--r--apps/files/l10n/lv.json150
-rw-r--r--apps/files/l10n/mg.js9
-rw-r--r--apps/files/l10n/mg.json7
-rw-r--r--apps/files/l10n/mk.js10
-rw-r--r--apps/files/l10n/mk.json10
-rw-r--r--apps/files/l10n/ml.js9
-rw-r--r--apps/files/l10n/ml.json7
-rw-r--r--apps/files/l10n/mn.js141
-rw-r--r--apps/files/l10n/mn.json139
-rw-r--r--apps/files/l10n/mr.js9
-rw-r--r--apps/files/l10n/mr.json7
-rw-r--r--apps/files/l10n/ms_MY.js37
-rw-r--r--apps/files/l10n/ms_MY.json35
-rw-r--r--apps/files/l10n/mt_MT.js9
-rw-r--r--apps/files/l10n/mt_MT.json7
-rw-r--r--apps/files/l10n/nb.js10
-rw-r--r--apps/files/l10n/nb.json10
-rw-r--r--apps/files/l10n/nl.js12
-rw-r--r--apps/files/l10n/nl.json12
-rw-r--r--apps/files/l10n/nn_NO.js71
-rw-r--r--apps/files/l10n/nn_NO.json69
-rw-r--r--apps/files/l10n/nqo.js9
-rw-r--r--apps/files/l10n/nqo.json7
-rw-r--r--apps/files/l10n/oc.js127
-rw-r--r--apps/files/l10n/oc.json125
-rw-r--r--apps/files/l10n/pl.js15
-rw-r--r--apps/files/l10n/pl.json15
-rw-r--r--apps/files/l10n/ps.js135
-rw-r--r--apps/files/l10n/ps.json133
-rw-r--r--apps/files/l10n/pt_BR.js15
-rw-r--r--apps/files/l10n/pt_BR.json15
-rw-r--r--apps/files/l10n/pt_PT.js8
-rw-r--r--apps/files/l10n/pt_PT.json8
-rw-r--r--apps/files/l10n/ro.js10
-rw-r--r--apps/files/l10n/ro.json10
-rw-r--r--apps/files/l10n/ru.js15
-rw-r--r--apps/files/l10n/ru.json15
-rw-r--r--apps/files/l10n/sc.js10
-rw-r--r--apps/files/l10n/sc.json10
-rw-r--r--apps/files/l10n/sk.js15
-rw-r--r--apps/files/l10n/sk.json15
-rw-r--r--apps/files/l10n/sl.js14
-rw-r--r--apps/files/l10n/sl.json14
-rw-r--r--apps/files/l10n/sq.js131
-rw-r--r--apps/files/l10n/sq.json129
-rw-r--r--apps/files/l10n/sr.js15
-rw-r--r--apps/files/l10n/sr.json15
-rw-r--r--apps/files/l10n/sr@latin.js95
-rw-r--r--apps/files/l10n/sr@latin.json93
-rw-r--r--apps/files/l10n/su.js9
-rw-r--r--apps/files/l10n/su.json7
-rw-r--r--apps/files/l10n/sv.js15
-rw-r--r--apps/files/l10n/sv.json15
-rw-r--r--apps/files/l10n/sw.js12
-rw-r--r--apps/files/l10n/sw.json12
-rw-r--r--apps/files/l10n/sw_KE.js9
-rw-r--r--apps/files/l10n/sw_KE.json7
-rw-r--r--apps/files/l10n/tg_TJ.js9
-rw-r--r--apps/files/l10n/tg_TJ.json7
-rw-r--r--apps/files/l10n/th.js8
-rw-r--r--apps/files/l10n/th.json8
-rw-r--r--apps/files/l10n/tl_PH.js9
-rw-r--r--apps/files/l10n/tl_PH.json7
-rw-r--r--apps/files/l10n/tr.js32
-rw-r--r--apps/files/l10n/tr.json32
-rw-r--r--apps/files/l10n/tzm.js9
-rw-r--r--apps/files/l10n/tzm.json7
-rw-r--r--apps/files/l10n/ug.js8
-rw-r--r--apps/files/l10n/ug.json8
-rw-r--r--apps/files/l10n/uk.js15
-rw-r--r--apps/files/l10n/uk.json15
-rw-r--r--apps/files/l10n/ur_PK.js13
-rw-r--r--apps/files/l10n/ur_PK.json11
-rw-r--r--apps/files/l10n/vi.js10
-rw-r--r--apps/files/l10n/vi.json10
-rw-r--r--apps/files/l10n/zh_CN.js15
-rw-r--r--apps/files/l10n/zh_CN.json15
-rw-r--r--apps/files/l10n/zh_HK.js15
-rw-r--r--apps/files/l10n/zh_HK.json15
-rw-r--r--apps/files/l10n/zh_TW.js15
-rw-r--r--apps/files/l10n/zh_TW.json15
-rw-r--r--apps/files_external/l10n/az.js65
-rw-r--r--apps/files_external/l10n/az.json63
-rw-r--r--apps/files_external/l10n/bn_BD.js39
-rw-r--r--apps/files_external/l10n/bn_BD.json37
-rw-r--r--apps/files_external/l10n/bs.js19
-rw-r--r--apps/files_external/l10n/bs.json17
-rw-r--r--apps/files_external/l10n/cy_GB.js16
-rw-r--r--apps/files_external/l10n/cy_GB.json14
-rw-r--r--apps/files_external/l10n/hu.js25
-rw-r--r--apps/files_external/l10n/hu.json25
-rw-r--r--apps/files_external/l10n/hy.js17
-rw-r--r--apps/files_external/l10n/hy.json15
-rw-r--r--apps/files_external/l10n/ia.js77
-rw-r--r--apps/files_external/l10n/ia.json75
-rw-r--r--apps/files_external/l10n/km.js25
-rw-r--r--apps/files_external/l10n/km.json23
-rw-r--r--apps/files_external/l10n/kn.js19
-rw-r--r--apps/files_external/l10n/kn.json17
-rw-r--r--apps/files_external/l10n/lb.js24
-rw-r--r--apps/files_external/l10n/lb.json22
-rw-r--r--apps/files_external/l10n/lv.js82
-rw-r--r--apps/files_external/l10n/lv.json80
-rw-r--r--apps/files_external/l10n/mn.js9
-rw-r--r--apps/files_external/l10n/mn.json7
-rw-r--r--apps/files_external/l10n/ms_MY.js16
-rw-r--r--apps/files_external/l10n/ms_MY.json14
-rw-r--r--apps/files_external/l10n/nn_NO.js20
-rw-r--r--apps/files_external/l10n/nn_NO.json18
-rw-r--r--apps/files_external/l10n/oc.js107
-rw-r--r--apps/files_external/l10n/oc.json105
-rw-r--r--apps/files_external/l10n/ro.js85
-rw-r--r--apps/files_external/l10n/ro.json83
-rw-r--r--apps/files_external/l10n/sr@latin.js55
-rw-r--r--apps/files_external/l10n/sr@latin.json53
-rw-r--r--apps/files_external/l10n/tr.js18
-rw-r--r--apps/files_external/l10n/tr.json18
-rw-r--r--apps/files_external/l10n/ur_PK.js14
-rw-r--r--apps/files_external/l10n/ur_PK.json12
-rw-r--r--apps/files_external/l10n/vi.js27
-rw-r--r--apps/files_external/l10n/vi.json25
-rw-r--r--apps/files_reminders/l10n/sc.js19
-rw-r--r--apps/files_reminders/l10n/sc.json17
-rw-r--r--apps/files_reminders/l10n/tr.js4
-rw-r--r--apps/files_reminders/l10n/tr.json4
-rw-r--r--apps/files_sharing/l10n/az.js60
-rw-r--r--apps/files_sharing/l10n/az.json58
-rw-r--r--apps/files_sharing/l10n/bn_BD.js35
-rw-r--r--apps/files_sharing/l10n/bn_BD.json33
-rw-r--r--apps/files_sharing/l10n/bs.js11
-rw-r--r--apps/files_sharing/l10n/bs.json9
-rw-r--r--apps/files_sharing/l10n/cs.js2
-rw-r--r--apps/files_sharing/l10n/cs.json2
-rw-r--r--apps/files_sharing/l10n/cy_GB.js10
-rw-r--r--apps/files_sharing/l10n/cy_GB.json8
-rw-r--r--apps/files_sharing/l10n/de.js2
-rw-r--r--apps/files_sharing/l10n/de.json2
-rw-r--r--apps/files_sharing/l10n/de_DE.js2
-rw-r--r--apps/files_sharing/l10n/de_DE.json2
-rw-r--r--apps/files_sharing/l10n/el.js1
-rw-r--r--apps/files_sharing/l10n/el.json1
-rw-r--r--apps/files_sharing/l10n/eo.js208
-rw-r--r--apps/files_sharing/l10n/eo.json206
-rw-r--r--apps/files_sharing/l10n/es.js1
-rw-r--r--apps/files_sharing/l10n/es.json1
-rw-r--r--apps/files_sharing/l10n/es_419.js138
-rw-r--r--apps/files_sharing/l10n/es_419.json136
-rw-r--r--apps/files_sharing/l10n/es_AR.js218
-rw-r--r--apps/files_sharing/l10n/es_AR.json216
-rw-r--r--apps/files_sharing/l10n/es_CL.js138
-rw-r--r--apps/files_sharing/l10n/es_CL.json136
-rw-r--r--apps/files_sharing/l10n/es_CO.js143
-rw-r--r--apps/files_sharing/l10n/es_CO.json141
-rw-r--r--apps/files_sharing/l10n/es_CR.js138
-rw-r--r--apps/files_sharing/l10n/es_CR.json136
-rw-r--r--apps/files_sharing/l10n/es_DO.js144
-rw-r--r--apps/files_sharing/l10n/es_DO.json142
-rw-r--r--apps/files_sharing/l10n/es_GT.js138
-rw-r--r--apps/files_sharing/l10n/es_GT.json136
-rw-r--r--apps/files_sharing/l10n/es_HN.js136
-rw-r--r--apps/files_sharing/l10n/es_HN.json134
-rw-r--r--apps/files_sharing/l10n/es_NI.js135
-rw-r--r--apps/files_sharing/l10n/es_NI.json133
-rw-r--r--apps/files_sharing/l10n/es_PA.js135
-rw-r--r--apps/files_sharing/l10n/es_PA.json133
-rw-r--r--apps/files_sharing/l10n/es_PE.js138
-rw-r--r--apps/files_sharing/l10n/es_PE.json136
-rw-r--r--apps/files_sharing/l10n/es_PR.js135
-rw-r--r--apps/files_sharing/l10n/es_PR.json133
-rw-r--r--apps/files_sharing/l10n/es_PY.js136
-rw-r--r--apps/files_sharing/l10n/es_PY.json134
-rw-r--r--apps/files_sharing/l10n/es_SV.js138
-rw-r--r--apps/files_sharing/l10n/es_SV.json136
-rw-r--r--apps/files_sharing/l10n/es_UY.js138
-rw-r--r--apps/files_sharing/l10n/es_UY.json136
-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.js1
-rw-r--r--apps/files_sharing/l10n/eu.json1
-rw-r--r--apps/files_sharing/l10n/fr.js2
-rw-r--r--apps/files_sharing/l10n/fr.json2
-rw-r--r--apps/files_sharing/l10n/gl.js1
-rw-r--r--apps/files_sharing/l10n/gl.json1
-rw-r--r--apps/files_sharing/l10n/he.js214
-rw-r--r--apps/files_sharing/l10n/he.json212
-rw-r--r--apps/files_sharing/l10n/hr.js1
-rw-r--r--apps/files_sharing/l10n/hr.json1
-rw-r--r--apps/files_sharing/l10n/hy.js10
-rw-r--r--apps/files_sharing/l10n/hy.json8
-rw-r--r--apps/files_sharing/l10n/ia.js15
-rw-r--r--apps/files_sharing/l10n/ia.json13
-rw-r--r--apps/files_sharing/l10n/id.js69
-rw-r--r--apps/files_sharing/l10n/id.json67
-rw-r--r--apps/files_sharing/l10n/it.js1
-rw-r--r--apps/files_sharing/l10n/it.json1
-rw-r--r--apps/files_sharing/l10n/ja.js2
-rw-r--r--apps/files_sharing/l10n/ja.json2
-rw-r--r--apps/files_sharing/l10n/ka_GE.js135
-rw-r--r--apps/files_sharing/l10n/ka_GE.json133
-rw-r--r--apps/files_sharing/l10n/km.js27
-rw-r--r--apps/files_sharing/l10n/km.json25
-rw-r--r--apps/files_sharing/l10n/kn.js10
-rw-r--r--apps/files_sharing/l10n/kn.json8
-rw-r--r--apps/files_sharing/l10n/lb.js16
-rw-r--r--apps/files_sharing/l10n/lb.json14
-rw-r--r--apps/files_sharing/l10n/lo.js6
-rw-r--r--apps/files_sharing/l10n/lo.json4
-rw-r--r--apps/files_sharing/l10n/lt_LT.js1
-rw-r--r--apps/files_sharing/l10n/lt_LT.json1
-rw-r--r--apps/files_sharing/l10n/lv.js204
-rw-r--r--apps/files_sharing/l10n/lv.json202
-rw-r--r--apps/files_sharing/l10n/mk.js1
-rw-r--r--apps/files_sharing/l10n/mk.json1
-rw-r--r--apps/files_sharing/l10n/mn.js13
-rw-r--r--apps/files_sharing/l10n/mn.json11
-rw-r--r--apps/files_sharing/l10n/ms_MY.js13
-rw-r--r--apps/files_sharing/l10n/ms_MY.json11
-rw-r--r--apps/files_sharing/l10n/nl.js1
-rw-r--r--apps/files_sharing/l10n/nl.json1
-rw-r--r--apps/files_sharing/l10n/nn_NO.js24
-rw-r--r--apps/files_sharing/l10n/nn_NO.json22
-rw-r--r--apps/files_sharing/l10n/oc.js72
-rw-r--r--apps/files_sharing/l10n/oc.json70
-rw-r--r--apps/files_sharing/l10n/pl.js1
-rw-r--r--apps/files_sharing/l10n/pl.json1
-rw-r--r--apps/files_sharing/l10n/pt_BR.js2
-rw-r--r--apps/files_sharing/l10n/pt_BR.json2
-rw-r--r--apps/files_sharing/l10n/pt_PT.js168
-rw-r--r--apps/files_sharing/l10n/pt_PT.json166
-rw-r--r--apps/files_sharing/l10n/ro.js215
-rw-r--r--apps/files_sharing/l10n/ro.json213
-rw-r--r--apps/files_sharing/l10n/ru.js1
-rw-r--r--apps/files_sharing/l10n/ru.json1
-rw-r--r--apps/files_sharing/l10n/sk.js1
-rw-r--r--apps/files_sharing/l10n/sk.json1
-rw-r--r--apps/files_sharing/l10n/sl.js1
-rw-r--r--apps/files_sharing/l10n/sl.json1
-rw-r--r--apps/files_sharing/l10n/sq.js144
-rw-r--r--apps/files_sharing/l10n/sq.json142
-rw-r--r--apps/files_sharing/l10n/sr.js1
-rw-r--r--apps/files_sharing/l10n/sr.json1
-rw-r--r--apps/files_sharing/l10n/sr@latin.js56
-rw-r--r--apps/files_sharing/l10n/sr@latin.json54
-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/tr.js53
-rw-r--r--apps/files_sharing/l10n/tr.json53
-rw-r--r--apps/files_sharing/l10n/ur_PK.js10
-rw-r--r--apps/files_sharing/l10n/ur_PK.json8
-rw-r--r--apps/files_sharing/l10n/zh_CN.js1
-rw-r--r--apps/files_sharing/l10n/zh_CN.json1
-rw-r--r--apps/files_sharing/src/views/SharingDetailsTab.vue26
-rw-r--r--apps/files_trashbin/l10n/af.js15
-rw-r--r--apps/files_trashbin/l10n/af.json13
-rw-r--r--apps/files_trashbin/l10n/az.js16
-rw-r--r--apps/files_trashbin/l10n/az.json14
-rw-r--r--apps/files_trashbin/l10n/be.js6
-rw-r--r--apps/files_trashbin/l10n/be.json4
-rw-r--r--apps/files_trashbin/l10n/bg.js22
-rw-r--r--apps/files_trashbin/l10n/bg.json20
-rw-r--r--apps/files_trashbin/l10n/bn_BD.js14
-rw-r--r--apps/files_trashbin/l10n/bn_BD.json12
-rw-r--r--apps/files_trashbin/l10n/br.js20
-rw-r--r--apps/files_trashbin/l10n/br.json18
-rw-r--r--apps/files_trashbin/l10n/bs.js10
-rw-r--r--apps/files_trashbin/l10n/bs.json8
-rw-r--r--apps/files_trashbin/l10n/cs.js4
-rw-r--r--apps/files_trashbin/l10n/cs.json4
-rw-r--r--apps/files_trashbin/l10n/cy_GB.js14
-rw-r--r--apps/files_trashbin/l10n/cy_GB.json12
-rw-r--r--apps/files_trashbin/l10n/de.js4
-rw-r--r--apps/files_trashbin/l10n/de.json4
-rw-r--r--apps/files_trashbin/l10n/de_DE.js4
-rw-r--r--apps/files_trashbin/l10n/de_DE.json4
-rw-r--r--apps/files_trashbin/l10n/el.js17
-rw-r--r--apps/files_trashbin/l10n/el.json15
-rw-r--r--apps/files_trashbin/l10n/eo.js19
-rw-r--r--apps/files_trashbin/l10n/eo.json17
-rw-r--r--apps/files_trashbin/l10n/es_419.js17
-rw-r--r--apps/files_trashbin/l10n/es_419.json15
-rw-r--r--apps/files_trashbin/l10n/es_AR.js19
-rw-r--r--apps/files_trashbin/l10n/es_AR.json17
-rw-r--r--apps/files_trashbin/l10n/es_CL.js17
-rw-r--r--apps/files_trashbin/l10n/es_CL.json15
-rw-r--r--apps/files_trashbin/l10n/es_CO.js17
-rw-r--r--apps/files_trashbin/l10n/es_CO.json15
-rw-r--r--apps/files_trashbin/l10n/es_CR.js17
-rw-r--r--apps/files_trashbin/l10n/es_CR.json15
-rw-r--r--apps/files_trashbin/l10n/es_DO.js17
-rw-r--r--apps/files_trashbin/l10n/es_DO.json15
-rw-r--r--apps/files_trashbin/l10n/es_EC.js17
-rw-r--r--apps/files_trashbin/l10n/es_EC.json15
-rw-r--r--apps/files_trashbin/l10n/es_GT.js17
-rw-r--r--apps/files_trashbin/l10n/es_GT.json15
-rw-r--r--apps/files_trashbin/l10n/es_HN.js17
-rw-r--r--apps/files_trashbin/l10n/es_HN.json15
-rw-r--r--apps/files_trashbin/l10n/es_NI.js17
-rw-r--r--apps/files_trashbin/l10n/es_NI.json15
-rw-r--r--apps/files_trashbin/l10n/es_PA.js17
-rw-r--r--apps/files_trashbin/l10n/es_PA.json15
-rw-r--r--apps/files_trashbin/l10n/es_PE.js17
-rw-r--r--apps/files_trashbin/l10n/es_PE.json15
-rw-r--r--apps/files_trashbin/l10n/es_PR.js17
-rw-r--r--apps/files_trashbin/l10n/es_PR.json15
-rw-r--r--apps/files_trashbin/l10n/es_PY.js16
-rw-r--r--apps/files_trashbin/l10n/es_PY.json14
-rw-r--r--apps/files_trashbin/l10n/es_SV.js17
-rw-r--r--apps/files_trashbin/l10n/es_SV.json15
-rw-r--r--apps/files_trashbin/l10n/es_UY.js17
-rw-r--r--apps/files_trashbin/l10n/es_UY.json15
-rw-r--r--apps/files_trashbin/l10n/et_EE.js4
-rw-r--r--apps/files_trashbin/l10n/et_EE.json4
-rw-r--r--apps/files_trashbin/l10n/fr.js4
-rw-r--r--apps/files_trashbin/l10n/fr.json4
-rw-r--r--apps/files_trashbin/l10n/he.js19
-rw-r--r--apps/files_trashbin/l10n/he.json17
-rw-r--r--apps/files_trashbin/l10n/hr.js20
-rw-r--r--apps/files_trashbin/l10n/hr.json18
-rw-r--r--apps/files_trashbin/l10n/hy.js15
-rw-r--r--apps/files_trashbin/l10n/hy.json13
-rw-r--r--apps/files_trashbin/l10n/ia.js17
-rw-r--r--apps/files_trashbin/l10n/ia.json15
-rw-r--r--apps/files_trashbin/l10n/id.js19
-rw-r--r--apps/files_trashbin/l10n/id.json17
-rw-r--r--apps/files_trashbin/l10n/ka.js17
-rw-r--r--apps/files_trashbin/l10n/ka.json15
-rw-r--r--apps/files_trashbin/l10n/ka_GE.js17
-rw-r--r--apps/files_trashbin/l10n/ka_GE.json15
-rw-r--r--apps/files_trashbin/l10n/km.js15
-rw-r--r--apps/files_trashbin/l10n/km.json13
-rw-r--r--apps/files_trashbin/l10n/kn.js10
-rw-r--r--apps/files_trashbin/l10n/kn.json8
-rw-r--r--apps/files_trashbin/l10n/lb.js17
-rw-r--r--apps/files_trashbin/l10n/lb.json15
-rw-r--r--apps/files_trashbin/l10n/lv.js17
-rw-r--r--apps/files_trashbin/l10n/lv.json15
-rw-r--r--apps/files_trashbin/l10n/mn.js16
-rw-r--r--apps/files_trashbin/l10n/mn.json14
-rw-r--r--apps/files_trashbin/l10n/ms_MY.js14
-rw-r--r--apps/files_trashbin/l10n/ms_MY.json12
-rw-r--r--apps/files_trashbin/l10n/nn_NO.js16
-rw-r--r--apps/files_trashbin/l10n/nn_NO.json14
-rw-r--r--apps/files_trashbin/l10n/oc.js21
-rw-r--r--apps/files_trashbin/l10n/oc.json19
-rw-r--r--apps/files_trashbin/l10n/pl.js2
-rw-r--r--apps/files_trashbin/l10n/pl.json2
-rw-r--r--apps/files_trashbin/l10n/pt_BR.js4
-rw-r--r--apps/files_trashbin/l10n/pt_BR.json4
-rw-r--r--apps/files_trashbin/l10n/pt_PT.js19
-rw-r--r--apps/files_trashbin/l10n/pt_PT.json17
-rw-r--r--apps/files_trashbin/l10n/ro.js17
-rw-r--r--apps/files_trashbin/l10n/ro.json15
-rw-r--r--apps/files_trashbin/l10n/sc.js21
-rw-r--r--apps/files_trashbin/l10n/sc.json19
-rw-r--r--apps/files_trashbin/l10n/sl.js17
-rw-r--r--apps/files_trashbin/l10n/sl.json15
-rw-r--r--apps/files_trashbin/l10n/sq.js17
-rw-r--r--apps/files_trashbin/l10n/sq.json15
-rw-r--r--apps/files_trashbin/l10n/sr@latin.js19
-rw-r--r--apps/files_trashbin/l10n/sr@latin.json17
-rw-r--r--apps/files_trashbin/l10n/sv.js4
-rw-r--r--apps/files_trashbin/l10n/sv.json4
-rw-r--r--apps/files_trashbin/l10n/th.js17
-rw-r--r--apps/files_trashbin/l10n/th.json15
-rw-r--r--apps/files_trashbin/l10n/tr.js8
-rw-r--r--apps/files_trashbin/l10n/tr.json8
-rw-r--r--apps/files_trashbin/l10n/ur_PK.js14
-rw-r--r--apps/files_trashbin/l10n/ur_PK.json12
-rw-r--r--apps/files_versions/l10n/af.js9
-rw-r--r--apps/files_versions/l10n/af.json7
-rw-r--r--apps/files_versions/l10n/az.js9
-rw-r--r--apps/files_versions/l10n/az.json7
-rw-r--r--apps/files_versions/l10n/bn_BD.js9
-rw-r--r--apps/files_versions/l10n/bn_BD.json7
-rw-r--r--apps/files_versions/l10n/br.js13
-rw-r--r--apps/files_versions/l10n/br.json11
-rw-r--r--apps/files_versions/l10n/bs.js9
-rw-r--r--apps/files_versions/l10n/bs.json7
-rw-r--r--apps/files_versions/l10n/cy_GB.js6
-rw-r--r--apps/files_versions/l10n/cy_GB.json4
-rw-r--r--apps/files_versions/l10n/eo.js13
-rw-r--r--apps/files_versions/l10n/eo.json11
-rw-r--r--apps/files_versions/l10n/es_419.js9
-rw-r--r--apps/files_versions/l10n/es_419.json7
-rw-r--r--apps/files_versions/l10n/es_AR.js10
-rw-r--r--apps/files_versions/l10n/es_AR.json8
-rw-r--r--apps/files_versions/l10n/es_CL.js9
-rw-r--r--apps/files_versions/l10n/es_CL.json7
-rw-r--r--apps/files_versions/l10n/es_CO.js9
-rw-r--r--apps/files_versions/l10n/es_CO.json7
-rw-r--r--apps/files_versions/l10n/es_CR.js9
-rw-r--r--apps/files_versions/l10n/es_CR.json7
-rw-r--r--apps/files_versions/l10n/es_DO.js9
-rw-r--r--apps/files_versions/l10n/es_DO.json7
-rw-r--r--apps/files_versions/l10n/es_GT.js9
-rw-r--r--apps/files_versions/l10n/es_GT.json7
-rw-r--r--apps/files_versions/l10n/es_HN.js9
-rw-r--r--apps/files_versions/l10n/es_HN.json7
-rw-r--r--apps/files_versions/l10n/es_NI.js9
-rw-r--r--apps/files_versions/l10n/es_NI.json7
-rw-r--r--apps/files_versions/l10n/es_PA.js9
-rw-r--r--apps/files_versions/l10n/es_PA.json7
-rw-r--r--apps/files_versions/l10n/es_PE.js9
-rw-r--r--apps/files_versions/l10n/es_PE.json7
-rw-r--r--apps/files_versions/l10n/es_PR.js9
-rw-r--r--apps/files_versions/l10n/es_PR.json7
-rw-r--r--apps/files_versions/l10n/es_PY.js9
-rw-r--r--apps/files_versions/l10n/es_PY.json7
-rw-r--r--apps/files_versions/l10n/es_SV.js9
-rw-r--r--apps/files_versions/l10n/es_SV.json7
-rw-r--r--apps/files_versions/l10n/es_UY.js9
-rw-r--r--apps/files_versions/l10n/es_UY.json7
-rw-r--r--apps/files_versions/l10n/he.js13
-rw-r--r--apps/files_versions/l10n/he.json11
-rw-r--r--apps/files_versions/l10n/hr.js13
-rw-r--r--apps/files_versions/l10n/hr.json11
-rw-r--r--apps/files_versions/l10n/hy.js8
-rw-r--r--apps/files_versions/l10n/hy.json6
-rw-r--r--apps/files_versions/l10n/ia.js10
-rw-r--r--apps/files_versions/l10n/ia.json8
-rw-r--r--apps/files_versions/l10n/id.js13
-rw-r--r--apps/files_versions/l10n/id.json11
-rw-r--r--apps/files_versions/l10n/ka_GE.js9
-rw-r--r--apps/files_versions/l10n/ka_GE.json7
-rw-r--r--apps/files_versions/l10n/km.js9
-rw-r--r--apps/files_versions/l10n/km.json7
-rw-r--r--apps/files_versions/l10n/kn.js9
-rw-r--r--apps/files_versions/l10n/kn.json7
-rw-r--r--apps/files_versions/l10n/lb.js10
-rw-r--r--apps/files_versions/l10n/lb.json8
-rw-r--r--apps/files_versions/l10n/lv.js12
-rw-r--r--apps/files_versions/l10n/lv.json10
-rw-r--r--apps/files_versions/l10n/ms_MY.js9
-rw-r--r--apps/files_versions/l10n/ms_MY.json7
-rw-r--r--apps/files_versions/l10n/nn_NO.js9
-rw-r--r--apps/files_versions/l10n/nn_NO.json7
-rw-r--r--apps/files_versions/l10n/oc.js9
-rw-r--r--apps/files_versions/l10n/oc.json7
-rw-r--r--apps/files_versions/l10n/pt_PT.js10
-rw-r--r--apps/files_versions/l10n/pt_PT.json8
-rw-r--r--apps/files_versions/l10n/ro.js13
-rw-r--r--apps/files_versions/l10n/ro.json11
-rw-r--r--apps/files_versions/l10n/sc.js13
-rw-r--r--apps/files_versions/l10n/sc.json11
-rw-r--r--apps/files_versions/l10n/sq.js10
-rw-r--r--apps/files_versions/l10n/sq.json8
-rw-r--r--apps/files_versions/l10n/sr@latin.js11
-rw-r--r--apps/files_versions/l10n/sr@latin.json9
-rw-r--r--apps/files_versions/l10n/th.js10
-rw-r--r--apps/files_versions/l10n/th.json8
-rw-r--r--apps/files_versions/l10n/tr.js2
-rw-r--r--apps/files_versions/l10n/tr.json2
-rw-r--r--apps/files_versions/l10n/ur_PK.js6
-rw-r--r--apps/files_versions/l10n/ur_PK.json4
-rw-r--r--apps/oauth2/l10n/af.js13
-rw-r--r--apps/oauth2/l10n/af.json11
-rw-r--r--apps/oauth2/l10n/es_419.js13
-rw-r--r--apps/oauth2/l10n/es_419.json11
-rw-r--r--apps/oauth2/l10n/es_HN.js13
-rw-r--r--apps/oauth2/l10n/es_HN.json11
-rw-r--r--apps/oauth2/l10n/es_NI.js13
-rw-r--r--apps/oauth2/l10n/es_NI.json11
-rw-r--r--apps/oauth2/l10n/es_PA.js13
-rw-r--r--apps/oauth2/l10n/es_PA.json11
-rw-r--r--apps/oauth2/l10n/es_PE.js13
-rw-r--r--apps/oauth2/l10n/es_PE.json11
-rw-r--r--apps/oauth2/l10n/es_PR.js13
-rw-r--r--apps/oauth2/l10n/es_PR.json11
-rw-r--r--apps/oauth2/l10n/es_PY.js13
-rw-r--r--apps/oauth2/l10n/es_PY.json11
-rw-r--r--apps/oauth2/l10n/es_UY.js13
-rw-r--r--apps/oauth2/l10n/es_UY.json11
-rw-r--r--apps/oauth2/l10n/hu.js7
-rw-r--r--apps/oauth2/l10n/hu.json7
-rw-r--r--apps/oauth2/l10n/id.js13
-rw-r--r--apps/oauth2/l10n/id.json11
-rw-r--r--apps/provisioning_api/l10n/bg.js18
-rw-r--r--apps/provisioning_api/l10n/bg.json16
-rw-r--r--apps/provisioning_api/l10n/el.js16
-rw-r--r--apps/provisioning_api/l10n/el.json14
-rw-r--r--apps/provisioning_api/l10n/es_EC.js18
-rw-r--r--apps/provisioning_api/l10n/es_EC.json16
-rw-r--r--apps/provisioning_api/l10n/fa.js18
-rw-r--r--apps/provisioning_api/l10n/fa.json16
-rw-r--r--apps/provisioning_api/l10n/hr.js18
-rw-r--r--apps/provisioning_api/l10n/hr.json16
-rw-r--r--apps/provisioning_api/l10n/hu.js18
-rw-r--r--apps/provisioning_api/l10n/hu.json16
-rw-r--r--apps/provisioning_api/l10n/is.js15
-rw-r--r--apps/provisioning_api/l10n/is.json13
-rw-r--r--apps/provisioning_api/l10n/it.js18
-rw-r--r--apps/provisioning_api/l10n/it.json16
-rw-r--r--apps/provisioning_api/l10n/nl.js18
-rw-r--r--apps/provisioning_api/l10n/nl.json16
-rw-r--r--apps/provisioning_api/l10n/pl.js18
-rw-r--r--apps/provisioning_api/l10n/pl.json16
-rw-r--r--apps/provisioning_api/l10n/pt_PT.js17
-rw-r--r--apps/provisioning_api/l10n/pt_PT.json15
-rw-r--r--apps/provisioning_api/l10n/ro.js18
-rw-r--r--apps/provisioning_api/l10n/ro.json16
-rw-r--r--apps/provisioning_api/l10n/sc.js8
-rw-r--r--apps/provisioning_api/l10n/sc.json6
-rw-r--r--apps/provisioning_api/l10n/sl.js12
-rw-r--r--apps/provisioning_api/l10n/sl.json10
-rw-r--r--apps/provisioning_api/l10n/tr.js2
-rw-r--r--apps/provisioning_api/l10n/tr.json2
-rw-r--r--apps/settings/l10n/af.js117
-rw-r--r--apps/settings/l10n/af.json115
-rw-r--r--apps/settings/l10n/ar.js302
-rw-r--r--apps/settings/l10n/ar.json302
-rw-r--r--apps/settings/l10n/ast.js196
-rw-r--r--apps/settings/l10n/ast.json196
-rw-r--r--apps/settings/l10n/az.js188
-rw-r--r--apps/settings/l10n/az.json186
-rw-r--r--apps/settings/l10n/bg.js182
-rw-r--r--apps/settings/l10n/bg.json182
-rw-r--r--apps/settings/l10n/br.js100
-rw-r--r--apps/settings/l10n/br.json100
-rw-r--r--apps/settings/l10n/bs.js104
-rw-r--r--apps/settings/l10n/bs.json102
-rw-r--r--apps/settings/l10n/ca.js297
-rw-r--r--apps/settings/l10n/ca.json297
-rw-r--r--apps/settings/l10n/cs.js302
-rw-r--r--apps/settings/l10n/cs.json302
-rw-r--r--apps/settings/l10n/da.js302
-rw-r--r--apps/settings/l10n/da.json302
-rw-r--r--apps/settings/l10n/de.js302
-rw-r--r--apps/settings/l10n/de.json302
-rw-r--r--apps/settings/l10n/de_DE.js302
-rw-r--r--apps/settings/l10n/de_DE.json302
-rw-r--r--apps/settings/l10n/el.js297
-rw-r--r--apps/settings/l10n/el.json297
-rw-r--r--apps/settings/l10n/en_GB.js302
-rw-r--r--apps/settings/l10n/en_GB.json302
-rw-r--r--apps/settings/l10n/eo.js93
-rw-r--r--apps/settings/l10n/eo.json93
-rw-r--r--apps/settings/l10n/es.js302
-rw-r--r--apps/settings/l10n/es.json302
-rw-r--r--apps/settings/l10n/es_419.js77
-rw-r--r--apps/settings/l10n/es_419.json77
-rw-r--r--apps/settings/l10n/es_AR.js205
-rw-r--r--apps/settings/l10n/es_AR.json205
-rw-r--r--apps/settings/l10n/es_CL.js78
-rw-r--r--apps/settings/l10n/es_CL.json78
-rw-r--r--apps/settings/l10n/es_CO.js77
-rw-r--r--apps/settings/l10n/es_CO.json77
-rw-r--r--apps/settings/l10n/es_CR.js76
-rw-r--r--apps/settings/l10n/es_CR.json76
-rw-r--r--apps/settings/l10n/es_DO.js76
-rw-r--r--apps/settings/l10n/es_DO.json76
-rw-r--r--apps/settings/l10n/es_EC.js184
-rw-r--r--apps/settings/l10n/es_EC.json184
-rw-r--r--apps/settings/l10n/es_GT.js78
-rw-r--r--apps/settings/l10n/es_GT.json78
-rw-r--r--apps/settings/l10n/es_HN.js76
-rw-r--r--apps/settings/l10n/es_HN.json76
-rw-r--r--apps/settings/l10n/es_MX.js265
-rw-r--r--apps/settings/l10n/es_MX.json265
-rw-r--r--apps/settings/l10n/es_NI.js75
-rw-r--r--apps/settings/l10n/es_NI.json75
-rw-r--r--apps/settings/l10n/es_PA.js76
-rw-r--r--apps/settings/l10n/es_PA.json76
-rw-r--r--apps/settings/l10n/es_PE.js76
-rw-r--r--apps/settings/l10n/es_PE.json76
-rw-r--r--apps/settings/l10n/es_PR.js76
-rw-r--r--apps/settings/l10n/es_PR.json76
-rw-r--r--apps/settings/l10n/es_PY.js76
-rw-r--r--apps/settings/l10n/es_PY.json76
-rw-r--r--apps/settings/l10n/es_SV.js78
-rw-r--r--apps/settings/l10n/es_SV.json78
-rw-r--r--apps/settings/l10n/es_UY.js75
-rw-r--r--apps/settings/l10n/es_UY.json75
-rw-r--r--apps/settings/l10n/et_EE.js294
-rw-r--r--apps/settings/l10n/et_EE.json294
-rw-r--r--apps/settings/l10n/eu.js271
-rw-r--r--apps/settings/l10n/eu.json271
-rw-r--r--apps/settings/l10n/fa.js187
-rw-r--r--apps/settings/l10n/fa.json187
-rw-r--r--apps/settings/l10n/fi.js213
-rw-r--r--apps/settings/l10n/fi.json213
-rw-r--r--apps/settings/l10n/fo.js105
-rw-r--r--apps/settings/l10n/fo.json103
-rw-r--r--apps/settings/l10n/fr.js302
-rw-r--r--apps/settings/l10n/fr.json302
-rw-r--r--apps/settings/l10n/ga.js302
-rw-r--r--apps/settings/l10n/ga.json302
-rw-r--r--apps/settings/l10n/gl.js297
-rw-r--r--apps/settings/l10n/gl.json297
-rw-r--r--apps/settings/l10n/he.js110
-rw-r--r--apps/settings/l10n/he.json110
-rw-r--r--apps/settings/l10n/hr.js141
-rw-r--r--apps/settings/l10n/hr.json141
-rw-r--r--apps/settings/l10n/hu.js235
-rw-r--r--apps/settings/l10n/hu.json235
-rw-r--r--apps/settings/l10n/ia.js134
-rw-r--r--apps/settings/l10n/ia.json132
-rw-r--r--apps/settings/l10n/id.js102
-rw-r--r--apps/settings/l10n/id.json102
-rw-r--r--apps/settings/l10n/is.js279
-rw-r--r--apps/settings/l10n/is.json279
-rw-r--r--apps/settings/l10n/it.js211
-rw-r--r--apps/settings/l10n/it.json211
-rw-r--r--apps/settings/l10n/ja.js302
-rw-r--r--apps/settings/l10n/ja.json302
-rw-r--r--apps/settings/l10n/ka.js192
-rw-r--r--apps/settings/l10n/ka.json192
-rw-r--r--apps/settings/l10n/ka_GE.js76
-rw-r--r--apps/settings/l10n/ka_GE.json76
-rw-r--r--apps/settings/l10n/ko.js230
-rw-r--r--apps/settings/l10n/ko.json230
-rw-r--r--apps/settings/l10n/lt_LT.js190
-rw-r--r--apps/settings/l10n/lt_LT.json190
-rw-r--r--apps/settings/l10n/lv.js96
-rw-r--r--apps/settings/l10n/lv.json96
-rw-r--r--apps/settings/l10n/mk.js183
-rw-r--r--apps/settings/l10n/mk.json183
-rw-r--r--apps/settings/l10n/mn.js111
-rw-r--r--apps/settings/l10n/mn.json109
-rw-r--r--apps/settings/l10n/nb.js271
-rw-r--r--apps/settings/l10n/nb.json271
-rw-r--r--apps/settings/l10n/nl.js250
-rw-r--r--apps/settings/l10n/nl.json250
-rw-r--r--apps/settings/l10n/nn_NO.js122
-rw-r--r--apps/settings/l10n/nn_NO.json120
-rw-r--r--apps/settings/l10n/oc.js94
-rw-r--r--apps/settings/l10n/oc.json94
-rw-r--r--apps/settings/l10n/pl.js262
-rw-r--r--apps/settings/l10n/pl.json262
-rw-r--r--apps/settings/l10n/pt_BR.js302
-rw-r--r--apps/settings/l10n/pt_BR.json302
-rw-r--r--apps/settings/l10n/pt_PT.js103
-rw-r--r--apps/settings/l10n/pt_PT.json103
-rw-r--r--apps/settings/l10n/ro.js74
-rw-r--r--apps/settings/l10n/ro.json74
-rw-r--r--apps/settings/l10n/ru.js302
-rw-r--r--apps/settings/l10n/ru.json302
-rw-r--r--apps/settings/l10n/sc.js136
-rw-r--r--apps/settings/l10n/sc.json136
-rw-r--r--apps/settings/l10n/sk.js301
-rw-r--r--apps/settings/l10n/sk.json301
-rw-r--r--apps/settings/l10n/sl.js248
-rw-r--r--apps/settings/l10n/sl.json248
-rw-r--r--apps/settings/l10n/sq.js77
-rw-r--r--apps/settings/l10n/sq.json77
-rw-r--r--apps/settings/l10n/sr.js302
-rw-r--r--apps/settings/l10n/sr.json302
-rw-r--r--apps/settings/l10n/sv.js264
-rw-r--r--apps/settings/l10n/sv.json264
-rw-r--r--apps/settings/l10n/th.js107
-rw-r--r--apps/settings/l10n/th.json107
-rw-r--r--apps/settings/l10n/tr.js437
-rw-r--r--apps/settings/l10n/tr.json437
-rw-r--r--apps/settings/l10n/ug.js265
-rw-r--r--apps/settings/l10n/ug.json265
-rw-r--r--apps/settings/l10n/uk.js257
-rw-r--r--apps/settings/l10n/uk.json257
-rw-r--r--apps/settings/l10n/vi.js182
-rw-r--r--apps/settings/l10n/vi.json182
-rw-r--r--apps/settings/l10n/zh_CN.js302
-rw-r--r--apps/settings/l10n/zh_CN.json302
-rw-r--r--apps/settings/l10n/zh_HK.js302
-rw-r--r--apps/settings/l10n/zh_HK.json302
-rw-r--r--apps/settings/l10n/zh_TW.js302
-rw-r--r--apps/settings/l10n/zh_TW.json302
-rw-r--r--apps/settings/lib/SetupChecks/SecurityHeaders.php5
-rw-r--r--apps/settings/tests/SetupChecks/SecurityHeadersTest.php7
-rw-r--r--apps/sharebymail/l10n/es_419.js31
-rw-r--r--apps/sharebymail/l10n/es_419.json29
-rw-r--r--apps/sharebymail/l10n/es_CL.js31
-rw-r--r--apps/sharebymail/l10n/es_CL.json29
-rw-r--r--apps/sharebymail/l10n/es_CO.js31
-rw-r--r--apps/sharebymail/l10n/es_CO.json29
-rw-r--r--apps/sharebymail/l10n/es_CR.js31
-rw-r--r--apps/sharebymail/l10n/es_CR.json29
-rw-r--r--apps/sharebymail/l10n/es_DO.js31
-rw-r--r--apps/sharebymail/l10n/es_DO.json29
-rw-r--r--apps/sharebymail/l10n/es_GT.js31
-rw-r--r--apps/sharebymail/l10n/es_GT.json29
-rw-r--r--apps/sharebymail/l10n/es_HN.js31
-rw-r--r--apps/sharebymail/l10n/es_HN.json29
-rw-r--r--apps/sharebymail/l10n/es_NI.js31
-rw-r--r--apps/sharebymail/l10n/es_NI.json29
-rw-r--r--apps/sharebymail/l10n/es_PA.js31
-rw-r--r--apps/sharebymail/l10n/es_PA.json29
-rw-r--r--apps/sharebymail/l10n/es_PE.js31
-rw-r--r--apps/sharebymail/l10n/es_PE.json29
-rw-r--r--apps/sharebymail/l10n/es_PR.js31
-rw-r--r--apps/sharebymail/l10n/es_PR.json29
-rw-r--r--apps/sharebymail/l10n/es_PY.js31
-rw-r--r--apps/sharebymail/l10n/es_PY.json29
-rw-r--r--apps/sharebymail/l10n/es_SV.js31
-rw-r--r--apps/sharebymail/l10n/es_SV.json29
-rw-r--r--apps/sharebymail/l10n/es_UY.js31
-rw-r--r--apps/sharebymail/l10n/es_UY.json29
-rw-r--r--apps/sharebymail/l10n/ia.js24
-rw-r--r--apps/sharebymail/l10n/ia.json22
-rw-r--r--apps/sharebymail/l10n/id.js24
-rw-r--r--apps/sharebymail/l10n/id.json22
-rw-r--r--apps/sharebymail/l10n/ka_GE.js31
-rw-r--r--apps/sharebymail/l10n/ka_GE.json29
-rw-r--r--apps/sharebymail/l10n/ko.js23
-rw-r--r--apps/sharebymail/l10n/ko.json21
-rw-r--r--apps/sharebymail/l10n/pt_PT.js25
-rw-r--r--apps/sharebymail/l10n/pt_PT.json23
-rw-r--r--apps/sharebymail/l10n/ro.js27
-rw-r--r--apps/sharebymail/l10n/ro.json25
-rw-r--r--apps/sharebymail/l10n/sq.js31
-rw-r--r--apps/sharebymail/l10n/sq.json29
-rw-r--r--apps/systemtags/l10n/az.js11
-rw-r--r--apps/systemtags/l10n/az.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/bs.js8
-rw-r--r--apps/systemtags/l10n/bs.json6
-rw-r--r--apps/systemtags/l10n/cy_GB.js9
-rw-r--r--apps/systemtags/l10n/cy_GB.json7
-rw-r--r--apps/systemtags/l10n/eo.js62
-rw-r--r--apps/systemtags/l10n/eo.json60
-rw-r--r--apps/systemtags/l10n/es_419.js52
-rw-r--r--apps/systemtags/l10n/es_419.json50
-rw-r--r--apps/systemtags/l10n/es_AR.js52
-rw-r--r--apps/systemtags/l10n/es_AR.json50
-rw-r--r--apps/systemtags/l10n/es_CL.js52
-rw-r--r--apps/systemtags/l10n/es_CL.json50
-rw-r--r--apps/systemtags/l10n/es_CO.js52
-rw-r--r--apps/systemtags/l10n/es_CO.json50
-rw-r--r--apps/systemtags/l10n/es_CR.js52
-rw-r--r--apps/systemtags/l10n/es_CR.json50
-rw-r--r--apps/systemtags/l10n/es_DO.js52
-rw-r--r--apps/systemtags/l10n/es_DO.json50
-rw-r--r--apps/systemtags/l10n/es_GT.js52
-rw-r--r--apps/systemtags/l10n/es_GT.json50
-rw-r--r--apps/systemtags/l10n/es_HN.js52
-rw-r--r--apps/systemtags/l10n/es_HN.json50
-rw-r--r--apps/systemtags/l10n/es_NI.js52
-rw-r--r--apps/systemtags/l10n/es_NI.json50
-rw-r--r--apps/systemtags/l10n/es_PA.js52
-rw-r--r--apps/systemtags/l10n/es_PA.json50
-rw-r--r--apps/systemtags/l10n/es_PE.js52
-rw-r--r--apps/systemtags/l10n/es_PE.json50
-rw-r--r--apps/systemtags/l10n/es_PR.js52
-rw-r--r--apps/systemtags/l10n/es_PR.json50
-rw-r--r--apps/systemtags/l10n/es_PY.js52
-rw-r--r--apps/systemtags/l10n/es_PY.json50
-rw-r--r--apps/systemtags/l10n/es_SV.js52
-rw-r--r--apps/systemtags/l10n/es_SV.json50
-rw-r--r--apps/systemtags/l10n/es_UY.js52
-rw-r--r--apps/systemtags/l10n/es_UY.json50
-rw-r--r--apps/systemtags/l10n/hr.js58
-rw-r--r--apps/systemtags/l10n/hr.json56
-rw-r--r--apps/systemtags/l10n/hy.js9
-rw-r--r--apps/systemtags/l10n/hy.json7
-rw-r--r--apps/systemtags/l10n/ia.js51
-rw-r--r--apps/systemtags/l10n/ia.json49
-rw-r--r--apps/systemtags/l10n/id.js42
-rw-r--r--apps/systemtags/l10n/id.json40
-rw-r--r--apps/systemtags/l10n/ka_GE.js52
-rw-r--r--apps/systemtags/l10n/ka_GE.json50
-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/lb.js32
-rw-r--r--apps/systemtags/l10n/lb.json30
-rw-r--r--apps/systemtags/l10n/ms_MY.js8
-rw-r--r--apps/systemtags/l10n/ms_MY.json6
-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.js12
-rw-r--r--apps/systemtags/l10n/oc.json10
-rw-r--r--apps/systemtags/l10n/pt_PT.js32
-rw-r--r--apps/systemtags/l10n/pt_PT.json30
-rw-r--r--apps/systemtags/l10n/ro.js32
-rw-r--r--apps/systemtags/l10n/ro.json30
-rw-r--r--apps/systemtags/l10n/sc.js59
-rw-r--r--apps/systemtags/l10n/sc.json57
-rw-r--r--apps/systemtags/l10n/sq.js52
-rw-r--r--apps/systemtags/l10n/sq.json50
-rw-r--r--apps/systemtags/l10n/sr@latin.js11
-rw-r--r--apps/systemtags/l10n/sr@latin.json9
-rw-r--r--apps/systemtags/l10n/th.js54
-rw-r--r--apps/systemtags/l10n/th.json52
-rw-r--r--apps/systemtags/l10n/tr.js4
-rw-r--r--apps/systemtags/l10n/tr.json4
-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.js59
-rw-r--r--apps/systemtags/l10n/vi.json57
-rw-r--r--apps/theming/l10n/af.js48
-rw-r--r--apps/theming/l10n/af.json46
-rw-r--r--apps/theming/l10n/eo.js64
-rw-r--r--apps/theming/l10n/eo.json62
-rw-r--r--apps/theming/l10n/es_419.js36
-rw-r--r--apps/theming/l10n/es_419.json34
-rw-r--r--apps/theming/l10n/es_AR.js41
-rw-r--r--apps/theming/l10n/es_AR.json39
-rw-r--r--apps/theming/l10n/es_CL.js56
-rw-r--r--apps/theming/l10n/es_CL.json54
-rw-r--r--apps/theming/l10n/es_CO.js57
-rw-r--r--apps/theming/l10n/es_CO.json55
-rw-r--r--apps/theming/l10n/es_CR.js57
-rw-r--r--apps/theming/l10n/es_CR.json55
-rw-r--r--apps/theming/l10n/es_DO.js57
-rw-r--r--apps/theming/l10n/es_DO.json55
-rw-r--r--apps/theming/l10n/es_GT.js57
-rw-r--r--apps/theming/l10n/es_GT.json55
-rw-r--r--apps/theming/l10n/es_HN.js32
-rw-r--r--apps/theming/l10n/es_HN.json30
-rw-r--r--apps/theming/l10n/es_NI.js32
-rw-r--r--apps/theming/l10n/es_NI.json30
-rw-r--r--apps/theming/l10n/es_PA.js32
-rw-r--r--apps/theming/l10n/es_PA.json30
-rw-r--r--apps/theming/l10n/es_PE.js32
-rw-r--r--apps/theming/l10n/es_PE.json30
-rw-r--r--apps/theming/l10n/es_PR.js32
-rw-r--r--apps/theming/l10n/es_PR.json30
-rw-r--r--apps/theming/l10n/es_PY.js32
-rw-r--r--apps/theming/l10n/es_PY.json30
-rw-r--r--apps/theming/l10n/es_SV.js48
-rw-r--r--apps/theming/l10n/es_SV.json46
-rw-r--r--apps/theming/l10n/es_UY.js32
-rw-r--r--apps/theming/l10n/es_UY.json30
-rw-r--r--apps/theming/l10n/he.js62
-rw-r--r--apps/theming/l10n/he.json60
-rw-r--r--apps/theming/l10n/hr.js63
-rw-r--r--apps/theming/l10n/hr.json61
-rw-r--r--apps/theming/l10n/hu.js6
-rw-r--r--apps/theming/l10n/hu.json6
-rw-r--r--apps/theming/l10n/id.js41
-rw-r--r--apps/theming/l10n/id.json39
-rw-r--r--apps/theming/l10n/ka_GE.js46
-rw-r--r--apps/theming/l10n/ka_GE.json44
-rw-r--r--apps/theming/l10n/lv.js40
-rw-r--r--apps/theming/l10n/lv.json38
-rw-r--r--apps/theming/l10n/mn.js29
-rw-r--r--apps/theming/l10n/mn.json27
-rw-r--r--apps/theming/l10n/pt_PT.js67
-rw-r--r--apps/theming/l10n/pt_PT.json65
-rw-r--r--apps/theming/l10n/sq.js41
-rw-r--r--apps/theming/l10n/sq.json39
-rw-r--r--apps/theming/l10n/tr.js16
-rw-r--r--apps/theming/l10n/tr.json16
-rw-r--r--apps/updatenotification/l10n/af.js25
-rw-r--r--apps/updatenotification/l10n/af.json23
-rw-r--r--apps/updatenotification/l10n/az.js7
-rw-r--r--apps/updatenotification/l10n/az.json5
-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.js7
-rw-r--r--apps/updatenotification/l10n/bs.json5
-rw-r--r--apps/updatenotification/l10n/es_419.js27
-rw-r--r--apps/updatenotification/l10n/es_419.json25
-rw-r--r--apps/updatenotification/l10n/es_CL.js29
-rw-r--r--apps/updatenotification/l10n/es_CL.json27
-rw-r--r--apps/updatenotification/l10n/es_CO.js29
-rw-r--r--apps/updatenotification/l10n/es_CO.json27
-rw-r--r--apps/updatenotification/l10n/es_CR.js29
-rw-r--r--apps/updatenotification/l10n/es_CR.json27
-rw-r--r--apps/updatenotification/l10n/es_DO.js29
-rw-r--r--apps/updatenotification/l10n/es_DO.json27
-rw-r--r--apps/updatenotification/l10n/es_GT.js29
-rw-r--r--apps/updatenotification/l10n/es_GT.json27
-rw-r--r--apps/updatenotification/l10n/es_HN.js27
-rw-r--r--apps/updatenotification/l10n/es_HN.json25
-rw-r--r--apps/updatenotification/l10n/es_NI.js27
-rw-r--r--apps/updatenotification/l10n/es_NI.json25
-rw-r--r--apps/updatenotification/l10n/es_PA.js27
-rw-r--r--apps/updatenotification/l10n/es_PA.json25
-rw-r--r--apps/updatenotification/l10n/es_PE.js27
-rw-r--r--apps/updatenotification/l10n/es_PE.json25
-rw-r--r--apps/updatenotification/l10n/es_PR.js27
-rw-r--r--apps/updatenotification/l10n/es_PR.json25
-rw-r--r--apps/updatenotification/l10n/es_PY.js27
-rw-r--r--apps/updatenotification/l10n/es_PY.json25
-rw-r--r--apps/updatenotification/l10n/es_SV.js29
-rw-r--r--apps/updatenotification/l10n/es_SV.json27
-rw-r--r--apps/updatenotification/l10n/es_UY.js27
-rw-r--r--apps/updatenotification/l10n/es_UY.json25
-rw-r--r--apps/updatenotification/l10n/he.js32
-rw-r--r--apps/updatenotification/l10n/he.json30
-rw-r--r--apps/updatenotification/l10n/ia.js23
-rw-r--r--apps/updatenotification/l10n/ia.json21
-rw-r--r--apps/updatenotification/l10n/id.js23
-rw-r--r--apps/updatenotification/l10n/id.json21
-rw-r--r--apps/updatenotification/l10n/ka_GE.js29
-rw-r--r--apps/updatenotification/l10n/ka_GE.json27
-rw-r--r--apps/updatenotification/l10n/lb.js15
-rw-r--r--apps/updatenotification/l10n/lb.json13
-rw-r--r--apps/updatenotification/l10n/lv.js25
-rw-r--r--apps/updatenotification/l10n/lv.json23
-rw-r--r--apps/updatenotification/l10n/oc.js9
-rw-r--r--apps/updatenotification/l10n/oc.json7
-rw-r--r--apps/updatenotification/l10n/pt_PT.js17
-rw-r--r--apps/updatenotification/l10n/pt_PT.json15
-rw-r--r--apps/updatenotification/l10n/ro.js30
-rw-r--r--apps/updatenotification/l10n/ro.json28
-rw-r--r--apps/updatenotification/l10n/sq.js26
-rw-r--r--apps/updatenotification/l10n/sq.json24
-rw-r--r--apps/updatenotification/l10n/tr.js4
-rw-r--r--apps/updatenotification/l10n/tr.json4
-rw-r--r--apps/updatenotification/l10n/vi.js20
-rw-r--r--apps/updatenotification/l10n/vi.json18
-rw-r--r--apps/user_ldap/l10n/ach.js7
-rw-r--r--apps/user_ldap/l10n/ach.json5
-rw-r--r--apps/user_ldap/l10n/ady.js7
-rw-r--r--apps/user_ldap/l10n/ady.json5
-rw-r--r--apps/user_ldap/l10n/ak.js7
-rw-r--r--apps/user_ldap/l10n/ak.json5
-rw-r--r--apps/user_ldap/l10n/am_ET.js7
-rw-r--r--apps/user_ldap/l10n/am_ET.json5
-rw-r--r--apps/user_ldap/l10n/ast.js152
-rw-r--r--apps/user_ldap/l10n/ast.json150
-rw-r--r--apps/user_ldap/l10n/az.js37
-rw-r--r--apps/user_ldap/l10n/az.json35
-rw-r--r--apps/user_ldap/l10n/be.js6
-rw-r--r--apps/user_ldap/l10n/be.json4
-rw-r--r--apps/user_ldap/l10n/bn_BD.js80
-rw-r--r--apps/user_ldap/l10n/bn_BD.json78
-rw-r--r--apps/user_ldap/l10n/bs.js12
-rw-r--r--apps/user_ldap/l10n/bs.json10
-rw-r--r--apps/user_ldap/l10n/cy_GB.js10
-rw-r--r--apps/user_ldap/l10n/cy_GB.json8
-rw-r--r--apps/user_ldap/l10n/eo.js63
-rw-r--r--apps/user_ldap/l10n/eo.json61
-rw-r--r--apps/user_ldap/l10n/fy_NL.js7
-rw-r--r--apps/user_ldap/l10n/fy_NL.json5
-rw-r--r--apps/user_ldap/l10n/gu.js7
-rw-r--r--apps/user_ldap/l10n/gu.json5
-rw-r--r--apps/user_ldap/l10n/hy.js9
-rw-r--r--apps/user_ldap/l10n/hy.json7
-rw-r--r--apps/user_ldap/l10n/ia.js12
-rw-r--r--apps/user_ldap/l10n/ia.json10
-rw-r--r--apps/user_ldap/l10n/io.js7
-rw-r--r--apps/user_ldap/l10n/io.json5
-rw-r--r--apps/user_ldap/l10n/is.js100
-rw-r--r--apps/user_ldap/l10n/is.json98
-rw-r--r--apps/user_ldap/l10n/km.js17
-rw-r--r--apps/user_ldap/l10n/km.json15
-rw-r--r--apps/user_ldap/l10n/kn.js12
-rw-r--r--apps/user_ldap/l10n/kn.json10
-rw-r--r--apps/user_ldap/l10n/lb.js51
-rw-r--r--apps/user_ldap/l10n/lb.json49
-rw-r--r--apps/user_ldap/l10n/lo.js7
-rw-r--r--apps/user_ldap/l10n/lo.json5
-rw-r--r--apps/user_ldap/l10n/lv.js114
-rw-r--r--apps/user_ldap/l10n/lv.json112
-rw-r--r--apps/user_ldap/l10n/mg.js7
-rw-r--r--apps/user_ldap/l10n/mg.json5
-rw-r--r--apps/user_ldap/l10n/mk.js18
-rw-r--r--apps/user_ldap/l10n/mk.json16
-rw-r--r--apps/user_ldap/l10n/ml.js7
-rw-r--r--apps/user_ldap/l10n/ml.json5
-rw-r--r--apps/user_ldap/l10n/mn.js6
-rw-r--r--apps/user_ldap/l10n/mn.json4
-rw-r--r--apps/user_ldap/l10n/mr.js7
-rw-r--r--apps/user_ldap/l10n/mr.json5
-rw-r--r--apps/user_ldap/l10n/ms_MY.js11
-rw-r--r--apps/user_ldap/l10n/ms_MY.json9
-rw-r--r--apps/user_ldap/l10n/mt_MT.js7
-rw-r--r--apps/user_ldap/l10n/mt_MT.json5
-rw-r--r--apps/user_ldap/l10n/nn_NO.js14
-rw-r--r--apps/user_ldap/l10n/nn_NO.json12
-rw-r--r--apps/user_ldap/l10n/nqo.js7
-rw-r--r--apps/user_ldap/l10n/nqo.json5
-rw-r--r--apps/user_ldap/l10n/oc.js157
-rw-r--r--apps/user_ldap/l10n/oc.json155
-rw-r--r--apps/user_ldap/l10n/ro.js101
-rw-r--r--apps/user_ldap/l10n/ro.json99
-rw-r--r--apps/user_ldap/l10n/sr@latin.js14
-rw-r--r--apps/user_ldap/l10n/sr@latin.json12
-rw-r--r--apps/user_ldap/l10n/su.js7
-rw-r--r--apps/user_ldap/l10n/su.json5
-rw-r--r--apps/user_ldap/l10n/sw_KE.js7
-rw-r--r--apps/user_ldap/l10n/sw_KE.json5
-rw-r--r--apps/user_ldap/l10n/tg_TJ.js7
-rw-r--r--apps/user_ldap/l10n/tg_TJ.json5
-rw-r--r--apps/user_ldap/l10n/tl_PH.js7
-rw-r--r--apps/user_ldap/l10n/tl_PH.json5
-rw-r--r--apps/user_ldap/l10n/tr.js22
-rw-r--r--apps/user_ldap/l10n/tr.json22
-rw-r--r--apps/user_ldap/l10n/tzm.js7
-rw-r--r--apps/user_ldap/l10n/tzm.json5
-rw-r--r--apps/user_ldap/l10n/ur_PK.js9
-rw-r--r--apps/user_ldap/l10n/ur_PK.json7
-rw-r--r--apps/user_ldap/l10n/vi.js45
-rw-r--r--apps/user_ldap/l10n/vi.json43
-rw-r--r--apps/user_status/l10n/es_AR.js22
-rw-r--r--apps/user_status/l10n/es_AR.json20
-rw-r--r--apps/user_status/l10n/hu.js2
-rw-r--r--apps/user_status/l10n/hu.json2
-rw-r--r--apps/user_status/l10n/lo.js24
-rw-r--r--apps/user_status/l10n/lo.json22
-rw-r--r--apps/user_status/l10n/sw.js28
-rw-r--r--apps/user_status/l10n/sw.json26
-rw-r--r--apps/weather_status/l10n/af.js30
-rw-r--r--apps/weather_status/l10n/af.json28
-rw-r--r--apps/weather_status/l10n/he.js27
-rw-r--r--apps/weather_status/l10n/he.json25
-rw-r--r--apps/weather_status/l10n/hr.js28
-rw-r--r--apps/weather_status/l10n/hr.json26
-rw-r--r--apps/weather_status/l10n/sc.js28
-rw-r--r--apps/weather_status/l10n/sc.json26
-rw-r--r--apps/webhook_listeners/l10n/ja.js7
-rw-r--r--apps/webhook_listeners/l10n/ja.json5
-rw-r--r--apps/workflowengine/l10n/es_419.js63
-rw-r--r--apps/workflowengine/l10n/es_419.json61
-rw-r--r--apps/workflowengine/l10n/es_AR.js62
-rw-r--r--apps/workflowengine/l10n/es_AR.json60
-rw-r--r--apps/workflowengine/l10n/es_CL.js63
-rw-r--r--apps/workflowengine/l10n/es_CL.json61
-rw-r--r--apps/workflowengine/l10n/es_CO.js63
-rw-r--r--apps/workflowengine/l10n/es_CO.json61
-rw-r--r--apps/workflowengine/l10n/es_CR.js63
-rw-r--r--apps/workflowengine/l10n/es_CR.json61
-rw-r--r--apps/workflowengine/l10n/es_DO.js63
-rw-r--r--apps/workflowengine/l10n/es_DO.json61
-rw-r--r--apps/workflowengine/l10n/es_GT.js63
-rw-r--r--apps/workflowengine/l10n/es_GT.json61
-rw-r--r--apps/workflowengine/l10n/es_HN.js63
-rw-r--r--apps/workflowengine/l10n/es_HN.json61
-rw-r--r--apps/workflowengine/l10n/es_NI.js63
-rw-r--r--apps/workflowengine/l10n/es_NI.json61
-rw-r--r--apps/workflowengine/l10n/es_PA.js63
-rw-r--r--apps/workflowengine/l10n/es_PA.json61
-rw-r--r--apps/workflowengine/l10n/es_PE.js63
-rw-r--r--apps/workflowengine/l10n/es_PE.json61
-rw-r--r--apps/workflowengine/l10n/es_PR.js63
-rw-r--r--apps/workflowengine/l10n/es_PR.json61
-rw-r--r--apps/workflowengine/l10n/es_PY.js63
-rw-r--r--apps/workflowengine/l10n/es_PY.json61
-rw-r--r--apps/workflowengine/l10n/es_SV.js63
-rw-r--r--apps/workflowengine/l10n/es_SV.json61
-rw-r--r--apps/workflowengine/l10n/es_UY.js63
-rw-r--r--apps/workflowengine/l10n/es_UY.json61
-rw-r--r--apps/workflowengine/l10n/et_EE.js74
-rw-r--r--apps/workflowengine/l10n/et_EE.json72
-rw-r--r--apps/workflowengine/l10n/ia.js46
-rw-r--r--apps/workflowengine/l10n/ia.json44
-rw-r--r--apps/workflowengine/l10n/id.js63
-rw-r--r--apps/workflowengine/l10n/id.json61
-rw-r--r--apps/workflowengine/l10n/ka_GE.js63
-rw-r--r--apps/workflowengine/l10n/ka_GE.json61
-rw-r--r--apps/workflowengine/l10n/mn.js70
-rw-r--r--apps/workflowengine/l10n/mn.json68
-rw-r--r--apps/workflowengine/l10n/sq.js62
-rw-r--r--apps/workflowengine/l10n/sq.json60
-rw-r--r--apps/workflowengine/l10n/tr.js2
-rw-r--r--apps/workflowengine/l10n/tr.json2
-rw-r--r--build/integration/dav_features/carddav.feature2
-rw-r--r--build/integration/dav_features/dav-v2.feature1
-rw-r--r--build/integration/dav_features/webdav-related.feature1
-rw-r--r--build/psalm-baseline.xml22
-rw-r--r--core/l10n/eo.js8
-rw-r--r--core/l10n/eo.json8
-rw-r--r--core/l10n/hu.js174
-rw-r--r--core/l10n/hu.json174
-rw-r--r--core/l10n/tr.js186
-rw-r--r--core/l10n/tr.json186
-rw-r--r--dist/4833-4833.js2
-rw-r--r--dist/4833-4833.js.license (renamed from dist/8708-8708.js.license)0
-rw-r--r--dist/4833-4833.js.map1
l---------dist/4833-4833.js.map.license1
-rw-r--r--dist/8708-8708.js2
-rw-r--r--dist/8708-8708.js.map1
l---------dist/8708-8708.js.map.license1
-rw-r--r--dist/files_sharing-files_sharing_tab.js4
-rw-r--r--dist/files_sharing-files_sharing_tab.js.map2
-rw-r--r--lib/l10n/hu.js2
-rw-r--r--lib/l10n/hu.json2
-rw-r--r--lib/l10n/pl.js122
-rw-r--r--lib/l10n/pl.json122
-rw-r--r--lib/l10n/sw.js5
-rw-r--r--lib/l10n/sw.json5
-rw-r--r--lib/l10n/tr.js50
-rw-r--r--lib/l10n/tr.json50
-rw-r--r--lib/private/Encryption/EncryptionEventListener.php17
-rw-r--r--lib/private/Files/Storage/DAV.php10
-rw-r--r--lib/private/Http/Client/Response.php33
-rw-r--r--lib/private/Remote/Instance.php8
-rw-r--r--lib/private/Updater/VersionCheck.php17
-rw-r--r--lib/private/legacy/OC_Response.php1
-rw-r--r--lib/public/Http/Client/IResponse.php3
-rw-r--r--tests/data/setUploadLimit/htaccess1
1545 files changed, 4084 insertions, 72573 deletions
diff --git a/.htaccess b/.htaccess
index 164a630b75f..fb86475eef0 100644
--- a/.htaccess
+++ b/.htaccess
@@ -40,9 +40,6 @@
Header onsuccess unset X-Robots-Tag
Header always set X-Robots-Tag "noindex, nofollow"
- Header onsuccess unset X-XSS-Protection
- Header always set X-XSS-Protection "1; mode=block"
-
SetEnv modHeadersAvailable true
</IfModule>
diff --git a/apps/admin_audit/l10n/eo.js b/apps/admin_audit/l10n/eo.js
index 3ab916b0b54..17becacc88e 100644
--- a/apps/admin_audit/l10n/eo.js
+++ b/apps/admin_audit/l10n/eo.js
@@ -2,6 +2,6 @@ OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Ekzamenado / Protokolado",
- "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Provizi protokolado-kapablojn por Nextcloud, kiel ekzemple protokolado de aliroj al dosieroj aŭ aliaj delikataj agoj."
+ "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Ebligas protokoladon, ekzemple protokolado de aliroj al dosieroj aŭ aliaj delikataj agoj."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/admin_audit/l10n/eo.json b/apps/admin_audit/l10n/eo.json
index eef1c6821c5..293d8cce025 100644
--- a/apps/admin_audit/l10n/eo.json
+++ b/apps/admin_audit/l10n/eo.json
@@ -1,5 +1,5 @@
{ "translations": {
"Auditing / Logging" : "Ekzamenado / Protokolado",
- "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Provizi protokolado-kapablojn por Nextcloud, kiel ekzemple protokolado de aliroj al dosieroj aŭ aliaj delikataj agoj."
+ "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Ebligas protokoladon, ekzemple protokolado de aliroj al dosieroj aŭ aliaj delikataj agoj."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/comments/l10n/af.js b/apps/comments/l10n/af.js
deleted file mode 100644
index 3d4eb4d6c9c..00000000000
--- a/apps/comments/l10n/af.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Kommentare",
- "You commented" : "U het kommentaar gelewer",
- "{author} commented" : "{outeur} het kommentaar gelewer",
- "You commented on %1$s" : "U het op %1$s kommentaar gelewer",
- "You commented on {file}" : "U het op {lêer} kommentaar gelewer",
- "%1$s commented on %2$s" : "%1$s het op %2$s kommentaar gelewer",
- "{author} commented on {file}" : "{outeur} het op {lêer} kommentaar gelewer",
- "<strong>Comments</strong> for files" : "<strong>Kommentare</strong> vir lêers",
- "Files app plugin to add comments to files" : "Lêertoepinprop om kommentaar op lêers te lewer",
- "Edit comment" : "Wysig kommentaar",
- "Delete comment" : "Skrap kommentaar",
- "No comments yet, start the conversation!" : "Nog geen kommentaar, begin die gesprek!",
- "Retry" : "Herprobeer",
- "Comment" : "Kommentaar",
- "_%n unread comment_::_%n unread comments_" : ["%n ongelese kommentaar","%n ongelese kommentare"]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/af.json b/apps/comments/l10n/af.json
deleted file mode 100644
index cbcf0291da4..00000000000
--- a/apps/comments/l10n/af.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Kommentare",
- "You commented" : "U het kommentaar gelewer",
- "{author} commented" : "{outeur} het kommentaar gelewer",
- "You commented on %1$s" : "U het op %1$s kommentaar gelewer",
- "You commented on {file}" : "U het op {lêer} kommentaar gelewer",
- "%1$s commented on %2$s" : "%1$s het op %2$s kommentaar gelewer",
- "{author} commented on {file}" : "{outeur} het op {lêer} kommentaar gelewer",
- "<strong>Comments</strong> for files" : "<strong>Kommentare</strong> vir lêers",
- "Files app plugin to add comments to files" : "Lêertoepinprop om kommentaar op lêers te lewer",
- "Edit comment" : "Wysig kommentaar",
- "Delete comment" : "Skrap kommentaar",
- "No comments yet, start the conversation!" : "Nog geen kommentaar, begin die gesprek!",
- "Retry" : "Herprobeer",
- "Comment" : "Kommentaar",
- "_%n unread comment_::_%n unread comments_" : ["%n ongelese kommentaar","%n ongelese kommentare"]
-},"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
deleted file mode 100644
index 75428f67cc5..00000000000
--- a/apps/comments/l10n/az.js
+++ /dev/null
@@ -1,8 +0,0 @@
-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
deleted file mode 100644
index c54d6648c59..00000000000
--- a/apps/comments/l10n/az.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{ "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/bn_BD.js b/apps/comments/l10n/bn_BD.js
deleted file mode 100644
index fcff25b8402..00000000000
--- a/apps/comments/l10n/bn_BD.js
+++ /dev/null
@@ -1,8 +0,0 @@
-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
deleted file mode 100644
index 81cd8fe1a48..00000000000
--- a/apps/comments/l10n/bn_BD.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{ "translations": {
- "Cancel" : "বাতিল",
- "Save" : "সংরক্ষণ",
- "Comment" : "মন্তব্য"
-},"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
deleted file mode 100644
index b1f98fedfa6..00000000000
--- a/apps/comments/l10n/bs.js
+++ /dev/null
@@ -1,8 +0,0 @@
-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
deleted file mode 100644
index d73df1a46c6..00000000000
--- a/apps/comments/l10n/bs.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{ "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/cy_GB.js b/apps/comments/l10n/cy_GB.js
deleted file mode 100644
index 4e1c6a57f6e..00000000000
--- a/apps/comments/l10n/cy_GB.js
+++ /dev/null
@@ -1,7 +0,0 @@
-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
deleted file mode 100644
index 1ea3eafef30..00000000000
--- a/apps/comments/l10n/cy_GB.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "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/eo.js b/apps/comments/l10n/eo.js
deleted file mode 100644
index 6cfa79a31c0..00000000000
--- a/apps/comments/l10n/eo.js
+++ /dev/null
@@ -1,21 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Komentoj",
- "You commented" : "Vi komentis",
- "{author} commented" : "{author} komentis",
- "You commented on %1$s" : "Vi komentis %1$s",
- "You commented on {file}" : "Vi komentis pri {file}",
- "%1$s commented on %2$s" : "%1$s komentis %2$s",
- "{author} commented on {file}" : "{author} komentis pri {file}",
- "<strong>Comments</strong> for files" : "<strong>Komentoj</strong> por dosieroj",
- "Files app plugin to add comments to files" : "Kromprogramo por la aplikaĵo „Dosieroj“ por aldoni komentojn al dosieroj",
- "Edit comment" : "Redakti komenton",
- "Delete comment" : "Forigi komenton",
- "No comments yet, start the conversation!" : "Neniu komento, ekkonversaciu!",
- "Retry" : "Reprovi",
- "_1 new comment_::_{unread} new comments_" : ["1 nova komento","{unread} novaj komentoj"],
- "Comment" : "Komento",
- "_%n unread comment_::_%n unread comments_" : ["%n nelegataj komentoj","%n nelegataj komentoj"]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/eo.json b/apps/comments/l10n/eo.json
deleted file mode 100644
index 8679e3c2429..00000000000
--- a/apps/comments/l10n/eo.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{ "translations": {
- "Comments" : "Komentoj",
- "You commented" : "Vi komentis",
- "{author} commented" : "{author} komentis",
- "You commented on %1$s" : "Vi komentis %1$s",
- "You commented on {file}" : "Vi komentis pri {file}",
- "%1$s commented on %2$s" : "%1$s komentis %2$s",
- "{author} commented on {file}" : "{author} komentis pri {file}",
- "<strong>Comments</strong> for files" : "<strong>Komentoj</strong> por dosieroj",
- "Files app plugin to add comments to files" : "Kromprogramo por la aplikaĵo „Dosieroj“ por aldoni komentojn al dosieroj",
- "Edit comment" : "Redakti komenton",
- "Delete comment" : "Forigi komenton",
- "No comments yet, start the conversation!" : "Neniu komento, ekkonversaciu!",
- "Retry" : "Reprovi",
- "_1 new comment_::_{unread} new comments_" : ["1 nova komento","{unread} novaj komentoj"],
- "Comment" : "Komento",
- "_%n unread comment_::_%n unread comments_" : ["%n nelegataj komentoj","%n nelegataj komentoj"]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_419.js b/apps/comments/l10n/es_419.js
deleted file mode 100644
index 45adf25b98b..00000000000
--- a/apps/comments/l10n/es_419.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_419.json b/apps/comments/l10n/es_419.json
deleted file mode 100644
index 5d49e27e466..00000000000
--- a/apps/comments/l10n/es_419.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_AR.js b/apps/comments/l10n/es_AR.js
deleted file mode 100644
index 0893a9edb75..00000000000
--- a/apps/comments/l10n/es_AR.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Ud. ha comentado",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Ud. ah comentado en %1$s",
- "You commented on {file}" : "Ud. ha comentado en {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> en archivos",
- "Files app plugin to add comments to files" : "Complemento de aplicación de archivos para agregar comentarios a los archivos.",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "No hay comentarios aún, iniciar la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentar",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_AR.json b/apps/comments/l10n/es_AR.json
deleted file mode 100644
index d59bec3cafc..00000000000
--- a/apps/comments/l10n/es_AR.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Ud. ha comentado",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Ud. ah comentado en %1$s",
- "You commented on {file}" : "Ud. ha comentado en {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> en archivos",
- "Files app plugin to add comments to files" : "Complemento de aplicación de archivos para agregar comentarios a los archivos.",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "No hay comentarios aún, iniciar la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentar",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_CL.js b/apps/comments/l10n/es_CL.js
deleted file mode 100644
index 45adf25b98b..00000000000
--- a/apps/comments/l10n/es_CL.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_CL.json b/apps/comments/l10n/es_CL.json
deleted file mode 100644
index 5d49e27e466..00000000000
--- a/apps/comments/l10n/es_CL.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_CO.js b/apps/comments/l10n/es_CO.js
deleted file mode 100644
index 58d08fdb451..00000000000
--- a/apps/comments/l10n/es_CO.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "Comment deleted" : "Comentario borrado",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_CO.json b/apps/comments/l10n/es_CO.json
deleted file mode 100644
index a6eab53d1cd..00000000000
--- a/apps/comments/l10n/es_CO.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "Comment deleted" : "Comentario borrado",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_CR.js b/apps/comments/l10n/es_CR.js
deleted file mode 100644
index 45adf25b98b..00000000000
--- a/apps/comments/l10n/es_CR.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_CR.json b/apps/comments/l10n/es_CR.json
deleted file mode 100644
index 5d49e27e466..00000000000
--- a/apps/comments/l10n/es_CR.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_DO.js b/apps/comments/l10n/es_DO.js
deleted file mode 100644
index 45adf25b98b..00000000000
--- a/apps/comments/l10n/es_DO.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_DO.json b/apps/comments/l10n/es_DO.json
deleted file mode 100644
index 5d49e27e466..00000000000
--- a/apps/comments/l10n/es_DO.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_GT.js b/apps/comments/l10n/es_GT.js
deleted file mode 100644
index 45adf25b98b..00000000000
--- a/apps/comments/l10n/es_GT.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_GT.json b/apps/comments/l10n/es_GT.json
deleted file mode 100644
index 5d49e27e466..00000000000
--- a/apps/comments/l10n/es_GT.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_HN.js b/apps/comments/l10n/es_HN.js
deleted file mode 100644
index 45adf25b98b..00000000000
--- a/apps/comments/l10n/es_HN.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_HN.json b/apps/comments/l10n/es_HN.json
deleted file mode 100644
index 5d49e27e466..00000000000
--- a/apps/comments/l10n/es_HN.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_NI.js b/apps/comments/l10n/es_NI.js
deleted file mode 100644
index 45adf25b98b..00000000000
--- a/apps/comments/l10n/es_NI.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_NI.json b/apps/comments/l10n/es_NI.json
deleted file mode 100644
index 5d49e27e466..00000000000
--- a/apps/comments/l10n/es_NI.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_PA.js b/apps/comments/l10n/es_PA.js
deleted file mode 100644
index 45adf25b98b..00000000000
--- a/apps/comments/l10n/es_PA.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_PA.json b/apps/comments/l10n/es_PA.json
deleted file mode 100644
index 5d49e27e466..00000000000
--- a/apps/comments/l10n/es_PA.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_PE.js b/apps/comments/l10n/es_PE.js
deleted file mode 100644
index 45adf25b98b..00000000000
--- a/apps/comments/l10n/es_PE.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_PE.json b/apps/comments/l10n/es_PE.json
deleted file mode 100644
index 5d49e27e466..00000000000
--- a/apps/comments/l10n/es_PE.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_PR.js b/apps/comments/l10n/es_PR.js
deleted file mode 100644
index 45adf25b98b..00000000000
--- a/apps/comments/l10n/es_PR.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_PR.json b/apps/comments/l10n/es_PR.json
deleted file mode 100644
index 5d49e27e466..00000000000
--- a/apps/comments/l10n/es_PR.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_PY.js b/apps/comments/l10n/es_PY.js
deleted file mode 100644
index 45adf25b98b..00000000000
--- a/apps/comments/l10n/es_PY.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_PY.json b/apps/comments/l10n/es_PY.json
deleted file mode 100644
index 5d49e27e466..00000000000
--- a/apps/comments/l10n/es_PY.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_SV.js b/apps/comments/l10n/es_SV.js
deleted file mode 100644
index 45adf25b98b..00000000000
--- a/apps/comments/l10n/es_SV.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_SV.json b/apps/comments/l10n/es_SV.json
deleted file mode 100644
index 5d49e27e466..00000000000
--- a/apps/comments/l10n/es_SV.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/es_UY.js b/apps/comments/l10n/es_UY.js
deleted file mode 100644
index 45adf25b98b..00000000000
--- a/apps/comments/l10n/es_UY.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/comments/l10n/es_UY.json b/apps/comments/l10n/es_UY.json
deleted file mode 100644
index 5d49e27e466..00000000000
--- a/apps/comments/l10n/es_UY.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Comentarios",
- "You commented" : "Comentaste",
- "{author} commented" : "{author} comentó",
- "You commented on %1$s" : "Usted comentó en %1$s",
- "You commented on {file}" : "Hiciste un comentario de {file}",
- "%1$s commented on %2$s" : "%1$s comentó en %2$s",
- "{author} commented on {file}" : "{author} comentó en {file}",
- "<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
- "Edit comment" : "Editar comentario",
- "Delete comment" : "Borrar comentario",
- "No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
- "Retry" : "Reintentar",
- "Comment" : "Comentario",
- "%1$s commented" : "%1$s comentó",
- "_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer","%n comentarios sin leer"]
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/hy.js b/apps/comments/l10n/hy.js
deleted file mode 100644
index 6e6fa514244..00000000000
--- a/apps/comments/l10n/hy.js
+++ /dev/null
@@ -1,7 +0,0 @@
-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
deleted file mode 100644
index 1d692e6d00d..00000000000
--- a/apps/comments/l10n/hy.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "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
deleted file mode 100644
index 425cd480ec8..00000000000
--- a/apps/comments/l10n/ia.js
+++ /dev/null
@@ -1,19 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Commentarios",
- "You commented" : "Tu commentava",
- "{author} commented" : "{author} commentava",
- "You commented on %1$s" : "Tu commentava in %1$s",
- "You commented on {file}" : "Tu commentava in {file}",
- "%1$s commented on %2$s" : "%1$s commentava in %2$s",
- "{author} commented on {file}" : "{author} commentava in {file}",
- "<strong>Comments</strong> for files" : "<strong>Commentarios</strong> pro files",
- "Edit comment" : "Modificar commentario",
- "Delete comment" : "Deler commentario",
- "No comments yet, start the conversation!" : "Il ha nulle commentarios ancora, initia le conversation!",
- "Comment" : "Commentario",
- "%1$s commented" : "%1$s commentava",
- "_%n unread comment_::_%n unread comments_" : ["%n commentario non legite","%n commentarios non legite"]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/ia.json b/apps/comments/l10n/ia.json
deleted file mode 100644
index bb51efd690c..00000000000
--- a/apps/comments/l10n/ia.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{ "translations": {
- "Comments" : "Commentarios",
- "You commented" : "Tu commentava",
- "{author} commented" : "{author} commentava",
- "You commented on %1$s" : "Tu commentava in %1$s",
- "You commented on {file}" : "Tu commentava in {file}",
- "%1$s commented on %2$s" : "%1$s commentava in %2$s",
- "{author} commented on {file}" : "{author} commentava in {file}",
- "<strong>Comments</strong> for files" : "<strong>Commentarios</strong> pro files",
- "Edit comment" : "Modificar commentario",
- "Delete comment" : "Deler commentario",
- "No comments yet, start the conversation!" : "Il ha nulle commentarios ancora, initia le conversation!",
- "Comment" : "Commentario",
- "%1$s commented" : "%1$s commentava",
- "_%n unread comment_::_%n unread comments_" : ["%n commentario non legite","%n commentarios non legite"]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/ka_GE.js b/apps/comments/l10n/ka_GE.js
deleted file mode 100644
index 9cc339703d0..00000000000
--- a/apps/comments/l10n/ka_GE.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "კომენტარები",
- "You commented" : "თქვენ გააკეთეთ კომენტარი",
- "{author} commented" : "{author} მომხმარებელმა გააკეთა კომენტარი",
- "You commented on %1$s" : "თქვენ გააკეთეთ კომენტარი %1$s-ზე",
- "You commented on {file}" : "თქვენ გააკეთეთ კომენტარი {file}-ზე",
- "%1$s commented on %2$s" : "%1$s მომხმარებელმა გააკეთა კომენტარი %2$s-ზე",
- "{author} commented on {file}" : "{author} მომხმარებელმა გააკეთა კომენტარი {file}-ზე",
- "<strong>Comments</strong> for files" : "<strong>კომენტარები</strong> ფაილებზე",
- "Edit comment" : "კომენტარის ცვლილება",
- "Delete comment" : "კომენტარის გაუქმება",
- "No comments yet, start the conversation!" : "ჯერ კომენტარები არაა, დაიწყეთ საუბარი! ",
- "Retry" : "ვცადოთ ახლიდან",
- "Comment" : "კომენტარის დამატება",
- "%1$s commented" : "%1$s მოხმარებელმა გააკეთა კომენტარი",
- "_%n unread comment_::_%n unread comments_" : ["%n წაუკუთხავი კომენტარი","%n წაუკუთხავი კომენტარი"]
-},
-"nplurals=2; plural=(n!=1);");
diff --git a/apps/comments/l10n/ka_GE.json b/apps/comments/l10n/ka_GE.json
deleted file mode 100644
index 79c3152074e..00000000000
--- a/apps/comments/l10n/ka_GE.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "კომენტარები",
- "You commented" : "თქვენ გააკეთეთ კომენტარი",
- "{author} commented" : "{author} მომხმარებელმა გააკეთა კომენტარი",
- "You commented on %1$s" : "თქვენ გააკეთეთ კომენტარი %1$s-ზე",
- "You commented on {file}" : "თქვენ გააკეთეთ კომენტარი {file}-ზე",
- "%1$s commented on %2$s" : "%1$s მომხმარებელმა გააკეთა კომენტარი %2$s-ზე",
- "{author} commented on {file}" : "{author} მომხმარებელმა გააკეთა კომენტარი {file}-ზე",
- "<strong>Comments</strong> for files" : "<strong>კომენტარები</strong> ფაილებზე",
- "Edit comment" : "კომენტარის ცვლილება",
- "Delete comment" : "კომენტარის გაუქმება",
- "No comments yet, start the conversation!" : "ჯერ კომენტარები არაა, დაიწყეთ საუბარი! ",
- "Retry" : "ვცადოთ ახლიდან",
- "Comment" : "კომენტარის დამატება",
- "%1$s commented" : "%1$s მოხმარებელმა გააკეთა კომენტარი",
- "_%n unread comment_::_%n unread comments_" : ["%n წაუკუთხავი კომენტარი","%n წაუკუთხავი კომენტარი"]
-},"pluralForm" :"nplurals=2; plural=(n!=1);"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/km.js b/apps/comments/l10n/km.js
deleted file mode 100644
index 16f065c86b3..00000000000
--- a/apps/comments/l10n/km.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Cancel" : "បោះបង់",
- "Save" : "រក្សាទុក"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/km.json b/apps/comments/l10n/km.json
deleted file mode 100644
index 20de21d56a1..00000000000
--- a/apps/comments/l10n/km.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "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
deleted file mode 100644
index 97a48f9cb3e..00000000000
--- a/apps/comments/l10n/kn.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Cancel" : "ರದ್ದು",
- "Save" : "ಉಳಿಸಿ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/kn.json b/apps/comments/l10n/kn.json
deleted file mode 100644
index 8a2b49fc262..00000000000
--- a/apps/comments/l10n/kn.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "Cancel" : "ರದ್ದು",
- "Save" : "ಉಳಿಸಿ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/lb.js b/apps/comments/l10n/lb.js
deleted file mode 100644
index d7f8c5884ac..00000000000
--- a/apps/comments/l10n/lb.js
+++ /dev/null
@@ -1,8 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Cancel" : "Ofbriechen",
- "Save" : "Späicheren",
- "Comment" : "Kommentar"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/lb.json b/apps/comments/l10n/lb.json
deleted file mode 100644
index bfa307a7e8d..00000000000
--- a/apps/comments/l10n/lb.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{ "translations": {
- "Cancel" : "Ofbriechen",
- "Save" : "Späicheren",
- "Comment" : "Kommentar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/lv.js b/apps/comments/l10n/lv.js
deleted file mode 100644
index 7fcc1f885f1..00000000000
--- a/apps/comments/l10n/lv.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Komentāri",
- "You commented" : "Tu komentēji",
- "{author} commented" : "{author} komentēja",
- "You commented on %1$s" : "Tu komentēji %1$s",
- "You commented on {file}" : "Tu komentēji {file}",
- "%1$s commented on %2$s" : "%1$s komentēja %2$s",
- "{author} commented on {file}" : "{author} komentārs {file}",
- "<strong>Comments</strong> for files" : "<strong>Komentāri</strong> datnēm",
- "Edit comment" : "Rediģēt komentāru",
- "Delete comment" : "Dzēst komentāru",
- "No comments yet, start the conversation!" : "Vēl nav komentāru, uzsāciet sarunu!",
- "Retry" : "Mēģināt vēlreiz",
- "Comment" : "Komentārs",
- "%1$s commented" : "%1$s komentēja",
- "_%n unread comment_::_%n unread comments_" : ["%n nelasīti komentāri","%n nelasīti komentāri","%n nelasīti komentāri"]
-},
-"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
deleted file mode 100644
index 4e4de3a5567..00000000000
--- a/apps/comments/l10n/lv.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Komentāri",
- "You commented" : "Tu komentēji",
- "{author} commented" : "{author} komentēja",
- "You commented on %1$s" : "Tu komentēji %1$s",
- "You commented on {file}" : "Tu komentēji {file}",
- "%1$s commented on %2$s" : "%1$s komentēja %2$s",
- "{author} commented on {file}" : "{author} komentārs {file}",
- "<strong>Comments</strong> for files" : "<strong>Komentāri</strong> datnēm",
- "Edit comment" : "Rediģēt komentāru",
- "Delete comment" : "Dzēst komentāru",
- "No comments yet, start the conversation!" : "Vēl nav komentāru, uzsāciet sarunu!",
- "Retry" : "Mēģināt vēlreiz",
- "Comment" : "Komentārs",
- "%1$s commented" : "%1$s komentēja",
- "_%n unread comment_::_%n unread comments_" : ["%n nelasīti komentāri","%n nelasīti komentāri","%n nelasīti komentāri"]
-},"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/mn.js b/apps/comments/l10n/mn.js
deleted file mode 100644
index 6bc594d0e27..00000000000
--- a/apps/comments/l10n/mn.js
+++ /dev/null
@@ -1,19 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Сэтгэгдэл",
- "You commented" : "Та сэтгэгдэл бичсэн байна",
- "{author} commented" : "{author} сэтгэгдэл бичсэн",
- "You commented on %1$s" : "Та %1$s нийтлэл дээр сэтгэгдэл бичсэн байна",
- "You commented on {file}" : "Та {file} сэтгэгдэл бичсэн байна",
- "%1$s commented on %2$s" : "%1$s нь %2$s-д сэтгэгдэл бичсэн",
- "{author} commented on {file}" : "{author} нь {file}-д сэтгэгдэл бичсэн",
- "<strong>Comments</strong> for files" : "Файлууд дахь<strong>Сэтгэгдэлүүд</strong>",
- "Edit comment" : "Сэтгэгдэл засах",
- "Delete comment" : "Сэтгэгдэл устгах",
- "No comments yet, start the conversation!" : "Сэтгэгдэл байхгүй байна",
- "Retry" : "Дахин оролдох",
- "Comment" : "Сэтгэгдэл",
- "%1$s commented" : "%1$s сэтгэгдэл бичсэн"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/mn.json b/apps/comments/l10n/mn.json
deleted file mode 100644
index b54ba223ed3..00000000000
--- a/apps/comments/l10n/mn.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{ "translations": {
- "Comments" : "Сэтгэгдэл",
- "You commented" : "Та сэтгэгдэл бичсэн байна",
- "{author} commented" : "{author} сэтгэгдэл бичсэн",
- "You commented on %1$s" : "Та %1$s нийтлэл дээр сэтгэгдэл бичсэн байна",
- "You commented on {file}" : "Та {file} сэтгэгдэл бичсэн байна",
- "%1$s commented on %2$s" : "%1$s нь %2$s-д сэтгэгдэл бичсэн",
- "{author} commented on {file}" : "{author} нь {file}-д сэтгэгдэл бичсэн",
- "<strong>Comments</strong> for files" : "Файлууд дахь<strong>Сэтгэгдэлүүд</strong>",
- "Edit comment" : "Сэтгэгдэл засах",
- "Delete comment" : "Сэтгэгдэл устгах",
- "No comments yet, start the conversation!" : "Сэтгэгдэл байхгүй байна",
- "Retry" : "Дахин оролдох",
- "Comment" : "Сэтгэгдэл",
- "%1$s commented" : "%1$s сэтгэгдэл бичсэн"
-},"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
deleted file mode 100644
index 37e8518632d..00000000000
--- a/apps/comments/l10n/ms_MY.js
+++ /dev/null
@@ -1,7 +0,0 @@
-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
deleted file mode 100644
index dd6b20cbd7b..00000000000
--- a/apps/comments/l10n/ms_MY.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "Cancel" : "Batal",
- "Save" : "Simpan"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/nn_NO.js b/apps/comments/l10n/nn_NO.js
deleted file mode 100644
index 0e7b091d45c..00000000000
--- a/apps/comments/l10n/nn_NO.js
+++ /dev/null
@@ -1,24 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Kommentarar",
- "You commented" : "Du kommenterte",
- "%1$s commented" : "%1$skommenterte",
- "{author} commented" : "{author} kommenterte",
- "You commented on %1$s" : "Du kommenterte på %1$s",
- "You commented on {file}" : "Du kommenterte på {file}",
- "%1$s commented on %2$s" : "%1$s kommenterte på %2$s",
- "Edit comment" : "Rediger kommentar",
- "Delete comment" : "Slett kommentar",
- "No comments yet, start the conversation!" : "Ingen kommetarar enno, start samtala!",
- "Retry" : "Forsøk att",
- "Comment" : "Kommentér",
- "New comment …" : "Ny kommentar...",
- "Post" : "Publiser",
- "Cancel" : "Avbryt",
- "[Deleted user]" : "[Sletta brukar]",
- "More comments …" : "Fleire kommentarar...",
- "Save" : "Lagra",
- "Allowed characters {count} of {max}" : "Tillate tegnmengde {count} av {max}"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/nn_NO.json b/apps/comments/l10n/nn_NO.json
deleted file mode 100644
index ceaac51378d..00000000000
--- a/apps/comments/l10n/nn_NO.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{ "translations": {
- "Comments" : "Kommentarar",
- "You commented" : "Du kommenterte",
- "%1$s commented" : "%1$skommenterte",
- "{author} commented" : "{author} kommenterte",
- "You commented on %1$s" : "Du kommenterte på %1$s",
- "You commented on {file}" : "Du kommenterte på {file}",
- "%1$s commented on %2$s" : "%1$s kommenterte på %2$s",
- "Edit comment" : "Rediger kommentar",
- "Delete comment" : "Slett kommentar",
- "No comments yet, start the conversation!" : "Ingen kommetarar enno, start samtala!",
- "Retry" : "Forsøk att",
- "Comment" : "Kommentér",
- "New comment …" : "Ny kommentar...",
- "Post" : "Publiser",
- "Cancel" : "Avbryt",
- "[Deleted user]" : "[Sletta brukar]",
- "More comments …" : "Fleire kommentarar...",
- "Save" : "Lagra",
- "Allowed characters {count} of {max}" : "Tillate tegnmengde {count} av {max}"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/ps.js b/apps/comments/l10n/ps.js
deleted file mode 100644
index a6d30c47411..00000000000
--- a/apps/comments/l10n/ps.js
+++ /dev/null
@@ -1,19 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "تبصرې",
- "You commented" : "تاسې تبصره کړې",
- "{author} commented" : "{author} تبصره کړې",
- "You commented on %1$s" : "تاسې په %1$s تبصره کړې",
- "You commented on {file}" : "تاسې په {file} فایل تبصره کړې",
- "%1$s commented on %2$s" : "%1$s په %2$s تبصره کړې",
- "{author} commented on {file}" : "{author} په {file} فایل تبصره کړې",
- "<strong>Comments</strong> for files" : "د فایلونو لپاره <strong>تبصرې</strong>",
- "Edit comment" : "تبصره سمول",
- "Delete comment" : "تبسره ړنګول",
- "No comments yet, start the conversation!" : "تر اوسه تبصره نشته!",
- "Comment" : "تبصره",
- "%1$s commented" : "%1$s تبصره کړې",
- "_%n unread comment_::_%n unread comments_" : ["%n نالوستلې تبصره","%n نالوستلې تبصرې"]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/ps.json b/apps/comments/l10n/ps.json
deleted file mode 100644
index b91e1bc9550..00000000000
--- a/apps/comments/l10n/ps.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{ "translations": {
- "Comments" : "تبصرې",
- "You commented" : "تاسې تبصره کړې",
- "{author} commented" : "{author} تبصره کړې",
- "You commented on %1$s" : "تاسې په %1$s تبصره کړې",
- "You commented on {file}" : "تاسې په {file} فایل تبصره کړې",
- "%1$s commented on %2$s" : "%1$s په %2$s تبصره کړې",
- "{author} commented on {file}" : "{author} په {file} فایل تبصره کړې",
- "<strong>Comments</strong> for files" : "د فایلونو لپاره <strong>تبصرې</strong>",
- "Edit comment" : "تبصره سمول",
- "Delete comment" : "تبسره ړنګول",
- "No comments yet, start the conversation!" : "تر اوسه تبصره نشته!",
- "Comment" : "تبصره",
- "%1$s commented" : "%1$s تبصره کړې",
- "_%n unread comment_::_%n unread comments_" : ["%n نالوستلې تبصره","%n نالوستلې تبصرې"]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/si.js b/apps/comments/l10n/si.js
deleted file mode 100644
index 70c6018c48a..00000000000
--- a/apps/comments/l10n/si.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "අදහස්",
- "You commented" : "ඔබ අදහස් දැක්වා ඇත ",
- "{author} commented" : "{author} අදහස් දැක්වා ඇත",
- "You commented on {file}" : "ඔබ {file} හි අදහස් දැක්වා ඇත",
- "<strong>Comments</strong> for files" : "ගොනු සඳහා <strong>අදහස්</strong>",
- "Edit comment" : "අදහස සංස්කරණය",
- "Post comment" : "අදහසක් පළ කරන්න",
- "No comments yet, start the conversation!" : "තවම අදහස් නැත, සංවාදය ආරම්භ කරන්න!",
- "No more messages" : "තවත් පණිවිඩ නැත",
- "Retry" : "නැවත උත්සාහ කරන්න",
- "Unable to load the comments list" : "අදහස් ලැයිස්තුව පූරණය කළ නොහැකිය",
- "Comment" : "අදහස",
- "An error occurred while trying to edit the comment" : "අදහස සංස්කරණය කිරීමට උත්සාහ කිරීමේදී දෝෂයක් ඇතිවිය",
- "An error occurred while trying to create the comment" : "අදහස සෑදීමට උත්සාහ කිරීමේදී දෝෂයක් ඇතිවිය",
- "%1$s commented" : "%1$s අදහස් දැක්වා ඇත"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/si.json b/apps/comments/l10n/si.json
deleted file mode 100644
index 25c7d43f169..00000000000
--- a/apps/comments/l10n/si.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "අදහස්",
- "You commented" : "ඔබ අදහස් දැක්වා ඇත ",
- "{author} commented" : "{author} අදහස් දැක්වා ඇත",
- "You commented on {file}" : "ඔබ {file} හි අදහස් දැක්වා ඇත",
- "<strong>Comments</strong> for files" : "ගොනු සඳහා <strong>අදහස්</strong>",
- "Edit comment" : "අදහස සංස්කරණය",
- "Post comment" : "අදහසක් පළ කරන්න",
- "No comments yet, start the conversation!" : "තවම අදහස් නැත, සංවාදය ආරම්භ කරන්න!",
- "No more messages" : "තවත් පණිවිඩ නැත",
- "Retry" : "නැවත උත්සාහ කරන්න",
- "Unable to load the comments list" : "අදහස් ලැයිස්තුව පූරණය කළ නොහැකිය",
- "Comment" : "අදහස",
- "An error occurred while trying to edit the comment" : "අදහස සංස්කරණය කිරීමට උත්සාහ කිරීමේදී දෝෂයක් ඇතිවිය",
- "An error occurred while trying to create the comment" : "අදහස සෑදීමට උත්සාහ කිරීමේදී දෝෂයක් ඇතිවිය",
- "%1$s commented" : "%1$s අදහස් දැක්වා ඇත"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/sq.js b/apps/comments/l10n/sq.js
deleted file mode 100644
index 12d0626739c..00000000000
--- a/apps/comments/l10n/sq.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "Komente",
- "You commented" : "Komentuat",
- "{author} commented" : "{autori} u komentua",
- "You commented on %1$s" : "Ju komentuat në %1$s",
- "You commented on {file}" : "Ju komentuat në {file}",
- "%1$s commented on %2$s" : "%1$s komentoi te %2$s",
- "{author} commented on {file}" : "{author} komentoi në {file}",
- "<strong>Comments</strong> for files" : "<strong>Komente</strong> për skedarët",
- "Edit comment" : "Përpunoni komentin",
- "Delete comment" : "Fshije komentin",
- "No comments yet, start the conversation!" : "Akoma asnjë koment, fillo një bisedë!",
- "Retry" : "Riprovoni",
- "Comment" : "Koment",
- "%1$s commented" : "%1$s komentoi",
- "_%n unread comment_::_%n unread comments_" : ["%n komente të palexuara","%n komente të palexuara "]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/sq.json b/apps/comments/l10n/sq.json
deleted file mode 100644
index 76418c4ae6f..00000000000
--- a/apps/comments/l10n/sq.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Comments" : "Komente",
- "You commented" : "Komentuat",
- "{author} commented" : "{autori} u komentua",
- "You commented on %1$s" : "Ju komentuat në %1$s",
- "You commented on {file}" : "Ju komentuat në {file}",
- "%1$s commented on %2$s" : "%1$s komentoi te %2$s",
- "{author} commented on {file}" : "{author} komentoi në {file}",
- "<strong>Comments</strong> for files" : "<strong>Komente</strong> për skedarët",
- "Edit comment" : "Përpunoni komentin",
- "Delete comment" : "Fshije komentin",
- "No comments yet, start the conversation!" : "Akoma asnjë koment, fillo një bisedë!",
- "Retry" : "Riprovoni",
- "Comment" : "Koment",
- "%1$s commented" : "%1$s komentoi",
- "_%n unread comment_::_%n unread comments_" : ["%n komente të palexuara","%n komente të palexuara "]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/comments/l10n/sr@latin.js b/apps/comments/l10n/sr@latin.js
deleted file mode 100644
index c2185e95e92..00000000000
--- a/apps/comments/l10n/sr@latin.js
+++ /dev/null
@@ -1,7 +0,0 @@
-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
deleted file mode 100644
index f61bed4853a..00000000000
--- a/apps/comments/l10n/sr@latin.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "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/th.js b/apps/comments/l10n/th.js
deleted file mode 100644
index 3cf2be63462..00000000000
--- a/apps/comments/l10n/th.js
+++ /dev/null
@@ -1,25 +0,0 @@
-OC.L10N.register(
- "comments",
- {
- "Comments" : "ความคิดเห็น",
- "You commented" : "คุณได้แสดงความคิดเห็น",
- "%1$s commented" : "%1$s ได้แสดงความคิดเห็น",
- "You commented on %1$s" : "คุณได้แสดงความคิดเห็นบน %1$s",
- "%1$s commented on %2$s" : "%1$s ได้แสดงความคิดเห็นบน %2$s",
- "Edit comment" : "แก้ไขความคิดเห็น",
- "Delete comment" : "ลบความคิดเห็น",
- "No comments yet, start the conversation!" : "ยังไม่มีความคิดเห็น เพิ่มความคิดเห็นเลย!",
- "_%n unread comment_::_%n unread comments_" : ["%nความคิดเห็นที่ยังไม่ได้อ่าน"],
- "_1 new comment_::_{unread} new comments_" : ["{unread} ความคิดเห็นใหม่"],
- "Comment" : "แสดงความคิดเห็น",
- "New comment …" : "ความคิดเห็นใหม่ ...",
- "Post" : "โพสต์",
- "Cancel" : "ยกเลิก",
- "[Deleted user]" : "[ผู้ใช้ที่ถูกลบ]",
- "More comments …" : "ความคิดเห็นอื่นๆ ...",
- "Save" : "บันทึก",
- "Allowed characters {count} of {max}" : "อนุญาตให้ใช้ {count} จากทั้งหมด {max} ตัวอักษร",
- "Error occurred while updating comment with id {id}" : "เกิดข้อผิดพลาดขณะอัปเดตความคิดเห็นด้วย id {id}",
- "Error occurred while posting comment" : "เกิดข้อผิดพลาดขณะโพสต์ความคิดเห็น"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/th.json b/apps/comments/l10n/th.json
deleted file mode 100644
index 06fc6552b38..00000000000
--- a/apps/comments/l10n/th.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{ "translations": {
- "Comments" : "ความคิดเห็น",
- "You commented" : "คุณได้แสดงความคิดเห็น",
- "%1$s commented" : "%1$s ได้แสดงความคิดเห็น",
- "You commented on %1$s" : "คุณได้แสดงความคิดเห็นบน %1$s",
- "%1$s commented on %2$s" : "%1$s ได้แสดงความคิดเห็นบน %2$s",
- "Edit comment" : "แก้ไขความคิดเห็น",
- "Delete comment" : "ลบความคิดเห็น",
- "No comments yet, start the conversation!" : "ยังไม่มีความคิดเห็น เพิ่มความคิดเห็นเลย!",
- "_%n unread comment_::_%n unread comments_" : ["%nความคิดเห็นที่ยังไม่ได้อ่าน"],
- "_1 new comment_::_{unread} new comments_" : ["{unread} ความคิดเห็นใหม่"],
- "Comment" : "แสดงความคิดเห็น",
- "New comment …" : "ความคิดเห็นใหม่ ...",
- "Post" : "โพสต์",
- "Cancel" : "ยกเลิก",
- "[Deleted user]" : "[ผู้ใช้ที่ถูกลบ]",
- "More comments …" : "ความคิดเห็นอื่นๆ ...",
- "Save" : "บันทึก",
- "Allowed characters {count} of {max}" : "อนุญาตให้ใช้ {count} จากทั้งหมด {max} ตัวอักษร",
- "Error occurred while updating comment with id {id}" : "เกิดข้อผิดพลาดขณะอัปเดตความคิดเห็นด้วย id {id}",
- "Error occurred while posting 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
index 723bcffbd39..c8294d0ec30 100644
--- a/apps/comments/l10n/tr.js
+++ b/apps/comments/l10n/tr.js
@@ -12,14 +12,14 @@ OC.L10N.register(
"Files" : "Dosyalar",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "\"{file}\" hakkında bir yorumda silinmiş bir hesap tarafından anıldınız",
"{user} mentioned you in a comment on \"{file}\"" : "{user}, \"{file}\" hakkındaki bir yorumda sizi andı",
- "Files app plugin to add comments to files" : "Dosyalara notlar eklenmesini sağlayan dosyalar uygulaması eki",
+ "Files app plugin to add comments to files" : "Dosyalara notlar eklenmesini sağlayan Dosyalar uygulaması eklentisi",
"Edit comment" : "Yorumu düzenle",
"Delete comment" : "Yorumu sil",
"Cancel edit" : "Düzenlemeyi iptal et",
"New comment" : "Yorum ekle",
"Write a comment …" : "Bir yorum yazın…",
"Post comment" : "Yorum gönder",
- "@ for mentions, : for emoji, / for smart picker" : "Bahsetmeler için @, emojiler için :, akıllı seçici için /",
+ "@ for mentions, : for emoji, / for smart picker" : "Anmalar için @, emojiler için :, akıllı seçici için /",
"Could not reload comments" : "Yorumlar yeniden yüklenemedi",
"Failed to mark comments as read" : "Yorumlar okunmuş olarak işaretlenemedi",
"Unable to load the comments list" : "Yorum listesi yüklenemedi",
diff --git a/apps/comments/l10n/tr.json b/apps/comments/l10n/tr.json
index 079748fb613..4664a265367 100644
--- a/apps/comments/l10n/tr.json
+++ b/apps/comments/l10n/tr.json
@@ -10,14 +10,14 @@
"Files" : "Dosyalar",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "\"{file}\" hakkında bir yorumda silinmiş bir hesap tarafından anıldınız",
"{user} mentioned you in a comment on \"{file}\"" : "{user}, \"{file}\" hakkındaki bir yorumda sizi andı",
- "Files app plugin to add comments to files" : "Dosyalara notlar eklenmesini sağlayan dosyalar uygulaması eki",
+ "Files app plugin to add comments to files" : "Dosyalara notlar eklenmesini sağlayan Dosyalar uygulaması eklentisi",
"Edit comment" : "Yorumu düzenle",
"Delete comment" : "Yorumu sil",
"Cancel edit" : "Düzenlemeyi iptal et",
"New comment" : "Yorum ekle",
"Write a comment …" : "Bir yorum yazın…",
"Post comment" : "Yorum gönder",
- "@ for mentions, : for emoji, / for smart picker" : "Bahsetmeler için @, emojiler için :, akıllı seçici için /",
+ "@ for mentions, : for emoji, / for smart picker" : "Anmalar için @, emojiler için :, akıllı seçici için /",
"Could not reload comments" : "Yorumlar yeniden yüklenemedi",
"Failed to mark comments as read" : "Yorumlar okunmuş olarak işaretlenemedi",
"Unable to load the comments list" : "Yorum listesi yüklenemedi",
diff --git a/apps/comments/l10n/ur_PK.js b/apps/comments/l10n/ur_PK.js
deleted file mode 100644
index 2808425d15a..00000000000
--- a/apps/comments/l10n/ur_PK.js
+++ /dev/null
@@ -1,7 +0,0 @@
-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
deleted file mode 100644
index 83df86652d2..00000000000
--- a/apps/comments/l10n/ur_PK.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "Cancel" : "منسوخ کریں",
- "Save" : "حفظ"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/el.js b/apps/dav/l10n/el.js
deleted file mode 100644
index 640819dd14c..00000000000
--- a/apps/dav/l10n/el.js
+++ /dev/null
@@ -1,120 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Ημερολόγιο",
- "Tasks" : "Εργασίες",
- "Personal" : "Προσωπικά",
- "{actor} created calendar {calendar}" : "{actor} δημιουργήθηκε το ημερολόγιο {calendar}",
- "You created calendar {calendar}" : "Δημιουργήσατε ημερολόγιο {ημερολόγιο}",
- "{actor} deleted calendar {calendar}" : "{actor} διέγραψε το ημερολόγιο {calendar}",
- "You deleted calendar {calendar}" : "Διαγράψατε το ημερολόγιο {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} ενημέρωσε το ημερολόγιο {calendar}",
- "You updated calendar {calendar}" : "Έχετε ενημερώσει το ημερολόγιο {calendar}",
- "You restored calendar {calendar}" : "Επαναφέρατε το ημερολόγιο {calendar}",
- "You shared calendar {calendar} as public link" : "Μοιραστήκατε το ημερολόγιο {calendar} με δημόσιο σύνδεσμο.",
- "You removed public link for calendar {calendar}" : "Αφαιρέσατε τον δημόσιο σύνδεσμο για το ημερολόγιο {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} διαμοιράστηκε το ημερολόγιο {calendar} με εσάς",
- "You shared calendar {calendar} with {user}" : "Διαμοιραστήκατε το ημερολογίου {calendar} με {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} διαμοίρασε το ημερολόγιο {calendar} με {user}",
- "{actor} unshared calendar {calendar} from you" : "Ο {actor} σταμάτησε τον διαμοιρασμό του ημερολογίου {calendar} από εσάς",
- "You unshared calendar {calendar} from {user}" : "Σταματήσατε τον διαμοιρασμό ημερολογίου {calendar} από {user}",
- "{actor} unshared calendar {calendar} from {user}" : "Ο {actor} σταμάτησε τον διαμοιρασμό του ημερολογίου {calendar} από τον χρήστη {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} σταμάτησε το διαμοιρασμένο ημερολόγιο {calendar} από τον εαυτό τους",
- "You shared calendar {calendar} with group {group}" : "Διαμοιραστείκατε ένα ημερολόγιο {calendar} με την ομάδα {group}",
- "{actor} shared calendar {calendar} with group {group}" : "Ο {actor} διαμοιράστηκε το ημερολόγιο {calendar} με την ομάδα {group}",
- "You unshared calendar {calendar} from group {group}" : "Σταματήσατε τον διαμοιρασμό του ημερολογίου {calendar} από την ομάδα {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} σταμάτησε το διαμοιρασμένο ημερολόγιο {calendar} από την ομάδα {group}",
- "Untitled event" : "Συμβάν χωρίς τίτλο",
- "{actor} created event {event} in calendar {calendar}" : "Ο {actor} δημιούργησε το γεγονός {event} στο ημερολόγιο {calendar}",
- "You created event {event} in calendar {calendar}" : "Δημιουργήσατε το γεγονός {event} στο ημερολόγιο {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "Ο {actor} διέγραψε το γεγονός {event} από το ημερολόγιο {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Διαγράψατε το συμβάν {event} από το ημερολόγιο {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "Ο {actor} ενημέρωσε το γεγονός {event} στο ημερολόγιο {calendar}",
- "You updated event {event} in calendar {calendar}" : "Ενημερώσατε το συμβάν {event} στο ημερολόγιο {calendar}",
- "Busy" : "Απασχολημένος",
- "Calendar, contacts and tasks" : "Ημερολόγιο, επαφές και εργασίες",
- "A <strong>calendar</strong> was modified" : "Τροποποιήθηκε ένα <strong>ημερολόγιο</strong> ",
- "A calendar <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου",
- "A calendar <strong>to-do</strong> was modified" : "Τροποποιήθηκε μια <strong>εκκρεμότητα</strong> ημερολογίου",
- "Contact birthdays" : "Γενέθλια επαφών",
- "Death of %s" : "Θάνατος του %s",
- "Untitled calendar" : "Ημερολόγιο χωρίς τίτλο",
- "Calendar:" : "Ημερολόγιο:",
- "Date:" : "Ημερομηνία:",
- "Where:" : "Που:",
- "Description:" : "Περιγραφή:",
- "_%n year_::_%n years_" : ["%n χρόνος/χρονιά","%n χρόνια"],
- "_%n month_::_%n months_" : ["%n μήνας","%d μήνες"],
- "_%n day_::_%n days_" : ["%n ημέρα","%n ημέρες"],
- "_%n hour_::_%n hours_" : ["%nώρα","%nώρες"],
- "_%n minute_::_%n minutes_" : ["%n λεπτό","%n λεπτά"],
- "%s (in %s)" : "%s (σε %s)",
- "%s (%s ago)" : "%s (%s πριν)",
- "Calendar: %s" : "Ημερολόγιο:%s",
- "Date: %s" : "Ημερομηνία:%s",
- "Description: %s" : "Περιγραφή:%s",
- "Where: %s" : "Που:%s",
- "%1$s via %2$s" : "%1$s μέσω %2$s",
- "Organizer:" : "Διοργανωτής:",
- "Attendees:" : "Συμμετέχοντες:",
- "Title:" : "Τίτλος:",
- "Location:" : "Τοποθεσία:",
- "Link:" : "Σύνδεσμος:",
- "Accept" : "Αποδοχή",
- "Decline" : "Απόρριψη",
- "More options …" : "Περισσότερες επιλογές...",
- "More options at %s" : "Περισσότερες επιλογές στο %s",
- "Contacts" : "Επαφές",
- "You created contact {card} in address book {addressbook}" : "Δημιουργήσατε την επαφή {card} στο βιβλίο διευθύνσεων {addressbook}",
- "You deleted contact {card} from address book {addressbook}" : "Διαγράψατε την επαφή {card} από το βιβλίο διευθύνσεων {addressbook}",
- "You updated contact {card} in address book {addressbook}" : "Ενημερώσατε την επαφή {card} στο βιβλίο διευθύνσεων {addressbook}",
- "A <strong>contact</strong> or <strong>address book</strong> was modified" : "Τροποποιήθηκε μια <strong>επαφή</strong> ή ένα <strong>βιβλίο διευθύνσεων</strong>",
- "System is in maintenance mode." : "Το σύστημα βρίσκεται σε λειτουργία συντήρησης.",
- "Upgrade needed" : "Απαιτείται αναβάθμιση",
- "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Το %s θα πρέπει να ρυθμιστεί για να χρησιμοποιεί HTTPS για την χρήση του CalDAV και του CardDAV με το iOS/macOS.",
- "Configures a CalDAV account" : "Ρυθμίσεις λογαριασμού CalDAV",
- "Configures a CardDAV account" : "Ρυθμίσεις λογαριασμού CardDAV",
- "Events" : "Συμβάντα",
- "Untitled task" : "Εργασία χωρίς όνομα",
- "Completed on %s" : "Ολοκληρώθηκε %s",
- "WebDAV endpoint" : "Τερματικό WebDAV",
- "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ο διακομιστής σας δεν έχει ρυθμιστεί ακόμη κατάλληλα ώστε να επιτρέπει τον συγχρονισμό αρχείων, διότι η διεπαφή WebDAV φαίνεται να μη λειτουργεί.",
- "Contacts and groups" : "Επαφές και ομάδες",
- "WebDAV" : "WebDAV",
- "Save" : "Αποθήκευση",
- "Time zone:" : "Ζώνη ώρας:",
- "to" : "προς",
- "Delete slot" : "Διαγραφή θέσης",
- "No working hours set" : "Δεν έχει οριστεί ωράριο εργασίας",
- "Monday" : "Δευτέρα",
- "Tuesday" : "Τρίτη",
- "Wednesday" : "Τετάρτη",
- "Thursday" : "Πέμπτη",
- "Friday" : "Παρασκευή",
- "Saturday" : "Σάββατο",
- "Sunday" : "Κυριακή",
- "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Ορισμός αυτόματα της κατάστασης χρήστη σε \"Μην ενοχλείτε\" εκτός διαθεσιμότητας για σίγαση όλων των ειδοποιήσεων.",
- "Failed to load availability" : "Αποτυχία φόρτωσης της διαθεσιμότητας",
- "Failed to save availability" : "Αποτυχία αποθήκευσης της διαθεσιμότητας",
- "Availability" : "Διαθεσιμότητα",
- "Calendar server" : "Διακομιστής ημερολογίου",
- "Send invitations to attendees" : "Αποστολή προσκλήσεων στους συμμετέχοντες.",
- "Automatically generate a birthday calendar" : "Δημιουργία ημερολογίου γενεθλίων αυτόματα",
- "Birthday calendars will be generated by a background job." : "Τα ημερολόγια γενεθλίων θα δημιουργηθούν από μία εργασία παρασκηνίου.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Ως εκ τούτου, δεν θα είναι διαθέσιμα αμέσως μετά την ενεργοποίηση, αλλά θα εμφανιστούν μετά από λίγη ώρα.",
- "Send notifications for events" : "Αποστολή ειδοποιήσεων για γεγονότα",
- "Notifications are sent via background jobs, so these must occur often enough." : "Οι ειδοποιήσεις αποστέλλονται μέσω εργασιών παρασκηνίου, οπότε πρέπει να εμφανίζονται αρκετά συχνά.",
- "Send reminder notifications to calendar sharees as well" : "Αποστολή ειδοποιήσεων υπενθύμισης και στους κοινούς χρήστες του ημερολογίου",
- "Reminders are always sent to organizers and attendees." : "Οι υπενθυμίσεις αποστέλλονται πάντα στους διοργανωτές και στους συμμετέχοντες.",
- "Enable notifications for events via push" : "Ενεργοποίηση ειδοποιήσεων μέσω push",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Εγκαταστήστε επίσης την {calendarappstoreopen}Εφαρμογή ημερολογίου{linkclose}, ή {calendardocopen}συνδέστε τον υπολογιστή & το κινητό σας για συγχρονισμό ↗{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Παρακαλώ σιγουρευτείτε για την σωστή ρύθμιση {emailopen}του διακομιστή αλληλογραφίας{linkclose}.",
- "There was an error updating your attendance status." : "Σφάλμα ενημέρωσης κατάστασής σας.",
- "Please contact the organizer directly." : "Παρακαλώ επικοινωνήστε απ' ευθείας με τον διοργανωτή.",
- "Are you accepting the invitation?" : "Αποδέχεστε την πρόσκληση;",
- "Tentative" : "Δοκιμαστικό",
- "Your attendance was updated successfully." : "Η παρουσία σας ενημερώθηκε με επιτυχία.",
- "Time:" : "Ώρα:",
- "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Εάν διαμορφώσετε τις ώρες εργασίας σας, οι άλλοι χρήστες θα βλέπουν πότε είστε εκτός γραφείου όταν κάνουν κράτηση για μια συνάντηση."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/el.json b/apps/dav/l10n/el.json
deleted file mode 100644
index 35dc70af33f..00000000000
--- a/apps/dav/l10n/el.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{ "translations": {
- "Calendar" : "Ημερολόγιο",
- "Tasks" : "Εργασίες",
- "Personal" : "Προσωπικά",
- "{actor} created calendar {calendar}" : "{actor} δημιουργήθηκε το ημερολόγιο {calendar}",
- "You created calendar {calendar}" : "Δημιουργήσατε ημερολόγιο {ημερολόγιο}",
- "{actor} deleted calendar {calendar}" : "{actor} διέγραψε το ημερολόγιο {calendar}",
- "You deleted calendar {calendar}" : "Διαγράψατε το ημερολόγιο {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} ενημέρωσε το ημερολόγιο {calendar}",
- "You updated calendar {calendar}" : "Έχετε ενημερώσει το ημερολόγιο {calendar}",
- "You restored calendar {calendar}" : "Επαναφέρατε το ημερολόγιο {calendar}",
- "You shared calendar {calendar} as public link" : "Μοιραστήκατε το ημερολόγιο {calendar} με δημόσιο σύνδεσμο.",
- "You removed public link for calendar {calendar}" : "Αφαιρέσατε τον δημόσιο σύνδεσμο για το ημερολόγιο {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} διαμοιράστηκε το ημερολόγιο {calendar} με εσάς",
- "You shared calendar {calendar} with {user}" : "Διαμοιραστήκατε το ημερολογίου {calendar} με {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} διαμοίρασε το ημερολόγιο {calendar} με {user}",
- "{actor} unshared calendar {calendar} from you" : "Ο {actor} σταμάτησε τον διαμοιρασμό του ημερολογίου {calendar} από εσάς",
- "You unshared calendar {calendar} from {user}" : "Σταματήσατε τον διαμοιρασμό ημερολογίου {calendar} από {user}",
- "{actor} unshared calendar {calendar} from {user}" : "Ο {actor} σταμάτησε τον διαμοιρασμό του ημερολογίου {calendar} από τον χρήστη {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} σταμάτησε το διαμοιρασμένο ημερολόγιο {calendar} από τον εαυτό τους",
- "You shared calendar {calendar} with group {group}" : "Διαμοιραστείκατε ένα ημερολόγιο {calendar} με την ομάδα {group}",
- "{actor} shared calendar {calendar} with group {group}" : "Ο {actor} διαμοιράστηκε το ημερολόγιο {calendar} με την ομάδα {group}",
- "You unshared calendar {calendar} from group {group}" : "Σταματήσατε τον διαμοιρασμό του ημερολογίου {calendar} από την ομάδα {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} σταμάτησε το διαμοιρασμένο ημερολόγιο {calendar} από την ομάδα {group}",
- "Untitled event" : "Συμβάν χωρίς τίτλο",
- "{actor} created event {event} in calendar {calendar}" : "Ο {actor} δημιούργησε το γεγονός {event} στο ημερολόγιο {calendar}",
- "You created event {event} in calendar {calendar}" : "Δημιουργήσατε το γεγονός {event} στο ημερολόγιο {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "Ο {actor} διέγραψε το γεγονός {event} από το ημερολόγιο {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Διαγράψατε το συμβάν {event} από το ημερολόγιο {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "Ο {actor} ενημέρωσε το γεγονός {event} στο ημερολόγιο {calendar}",
- "You updated event {event} in calendar {calendar}" : "Ενημερώσατε το συμβάν {event} στο ημερολόγιο {calendar}",
- "Busy" : "Απασχολημένος",
- "Calendar, contacts and tasks" : "Ημερολόγιο, επαφές και εργασίες",
- "A <strong>calendar</strong> was modified" : "Τροποποιήθηκε ένα <strong>ημερολόγιο</strong> ",
- "A calendar <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου",
- "A calendar <strong>to-do</strong> was modified" : "Τροποποιήθηκε μια <strong>εκκρεμότητα</strong> ημερολογίου",
- "Contact birthdays" : "Γενέθλια επαφών",
- "Death of %s" : "Θάνατος του %s",
- "Untitled calendar" : "Ημερολόγιο χωρίς τίτλο",
- "Calendar:" : "Ημερολόγιο:",
- "Date:" : "Ημερομηνία:",
- "Where:" : "Που:",
- "Description:" : "Περιγραφή:",
- "_%n year_::_%n years_" : ["%n χρόνος/χρονιά","%n χρόνια"],
- "_%n month_::_%n months_" : ["%n μήνας","%d μήνες"],
- "_%n day_::_%n days_" : ["%n ημέρα","%n ημέρες"],
- "_%n hour_::_%n hours_" : ["%nώρα","%nώρες"],
- "_%n minute_::_%n minutes_" : ["%n λεπτό","%n λεπτά"],
- "%s (in %s)" : "%s (σε %s)",
- "%s (%s ago)" : "%s (%s πριν)",
- "Calendar: %s" : "Ημερολόγιο:%s",
- "Date: %s" : "Ημερομηνία:%s",
- "Description: %s" : "Περιγραφή:%s",
- "Where: %s" : "Που:%s",
- "%1$s via %2$s" : "%1$s μέσω %2$s",
- "Organizer:" : "Διοργανωτής:",
- "Attendees:" : "Συμμετέχοντες:",
- "Title:" : "Τίτλος:",
- "Location:" : "Τοποθεσία:",
- "Link:" : "Σύνδεσμος:",
- "Accept" : "Αποδοχή",
- "Decline" : "Απόρριψη",
- "More options …" : "Περισσότερες επιλογές...",
- "More options at %s" : "Περισσότερες επιλογές στο %s",
- "Contacts" : "Επαφές",
- "You created contact {card} in address book {addressbook}" : "Δημιουργήσατε την επαφή {card} στο βιβλίο διευθύνσεων {addressbook}",
- "You deleted contact {card} from address book {addressbook}" : "Διαγράψατε την επαφή {card} από το βιβλίο διευθύνσεων {addressbook}",
- "You updated contact {card} in address book {addressbook}" : "Ενημερώσατε την επαφή {card} στο βιβλίο διευθύνσεων {addressbook}",
- "A <strong>contact</strong> or <strong>address book</strong> was modified" : "Τροποποιήθηκε μια <strong>επαφή</strong> ή ένα <strong>βιβλίο διευθύνσεων</strong>",
- "System is in maintenance mode." : "Το σύστημα βρίσκεται σε λειτουργία συντήρησης.",
- "Upgrade needed" : "Απαιτείται αναβάθμιση",
- "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Το %s θα πρέπει να ρυθμιστεί για να χρησιμοποιεί HTTPS για την χρήση του CalDAV και του CardDAV με το iOS/macOS.",
- "Configures a CalDAV account" : "Ρυθμίσεις λογαριασμού CalDAV",
- "Configures a CardDAV account" : "Ρυθμίσεις λογαριασμού CardDAV",
- "Events" : "Συμβάντα",
- "Untitled task" : "Εργασία χωρίς όνομα",
- "Completed on %s" : "Ολοκληρώθηκε %s",
- "WebDAV endpoint" : "Τερματικό WebDAV",
- "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ο διακομιστής σας δεν έχει ρυθμιστεί ακόμη κατάλληλα ώστε να επιτρέπει τον συγχρονισμό αρχείων, διότι η διεπαφή WebDAV φαίνεται να μη λειτουργεί.",
- "Contacts and groups" : "Επαφές και ομάδες",
- "WebDAV" : "WebDAV",
- "Save" : "Αποθήκευση",
- "Time zone:" : "Ζώνη ώρας:",
- "to" : "προς",
- "Delete slot" : "Διαγραφή θέσης",
- "No working hours set" : "Δεν έχει οριστεί ωράριο εργασίας",
- "Monday" : "Δευτέρα",
- "Tuesday" : "Τρίτη",
- "Wednesday" : "Τετάρτη",
- "Thursday" : "Πέμπτη",
- "Friday" : "Παρασκευή",
- "Saturday" : "Σάββατο",
- "Sunday" : "Κυριακή",
- "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Ορισμός αυτόματα της κατάστασης χρήστη σε \"Μην ενοχλείτε\" εκτός διαθεσιμότητας για σίγαση όλων των ειδοποιήσεων.",
- "Failed to load availability" : "Αποτυχία φόρτωσης της διαθεσιμότητας",
- "Failed to save availability" : "Αποτυχία αποθήκευσης της διαθεσιμότητας",
- "Availability" : "Διαθεσιμότητα",
- "Calendar server" : "Διακομιστής ημερολογίου",
- "Send invitations to attendees" : "Αποστολή προσκλήσεων στους συμμετέχοντες.",
- "Automatically generate a birthday calendar" : "Δημιουργία ημερολογίου γενεθλίων αυτόματα",
- "Birthday calendars will be generated by a background job." : "Τα ημερολόγια γενεθλίων θα δημιουργηθούν από μία εργασία παρασκηνίου.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Ως εκ τούτου, δεν θα είναι διαθέσιμα αμέσως μετά την ενεργοποίηση, αλλά θα εμφανιστούν μετά από λίγη ώρα.",
- "Send notifications for events" : "Αποστολή ειδοποιήσεων για γεγονότα",
- "Notifications are sent via background jobs, so these must occur often enough." : "Οι ειδοποιήσεις αποστέλλονται μέσω εργασιών παρασκηνίου, οπότε πρέπει να εμφανίζονται αρκετά συχνά.",
- "Send reminder notifications to calendar sharees as well" : "Αποστολή ειδοποιήσεων υπενθύμισης και στους κοινούς χρήστες του ημερολογίου",
- "Reminders are always sent to organizers and attendees." : "Οι υπενθυμίσεις αποστέλλονται πάντα στους διοργανωτές και στους συμμετέχοντες.",
- "Enable notifications for events via push" : "Ενεργοποίηση ειδοποιήσεων μέσω push",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Εγκαταστήστε επίσης την {calendarappstoreopen}Εφαρμογή ημερολογίου{linkclose}, ή {calendardocopen}συνδέστε τον υπολογιστή & το κινητό σας για συγχρονισμό ↗{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Παρακαλώ σιγουρευτείτε για την σωστή ρύθμιση {emailopen}του διακομιστή αλληλογραφίας{linkclose}.",
- "There was an error updating your attendance status." : "Σφάλμα ενημέρωσης κατάστασής σας.",
- "Please contact the organizer directly." : "Παρακαλώ επικοινωνήστε απ' ευθείας με τον διοργανωτή.",
- "Are you accepting the invitation?" : "Αποδέχεστε την πρόσκληση;",
- "Tentative" : "Δοκιμαστικό",
- "Your attendance was updated successfully." : "Η παρουσία σας ενημερώθηκε με επιτυχία.",
- "Time:" : "Ώρα:",
- "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Εάν διαμορφώσετε τις ώρες εργασίας σας, οι άλλοι χρήστες θα βλέπουν πότε είστε εκτός γραφείου όταν κάνουν κράτηση για μια συνάντηση."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/eo.js b/apps/dav/l10n/eo.js
deleted file mode 100644
index e87ec548476..00000000000
--- a/apps/dav/l10n/eo.js
+++ /dev/null
@@ -1,104 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Kalendaro",
- "Personal" : "Persona",
- "{actor} created calendar {calendar}" : "{actor} kreis kalendaron {calendar}",
- "You created calendar {calendar}" : "Vi kreis kalendaron {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} forigis kalendaron {calendar}",
- "You deleted calendar {calendar}" : "Vi forigis kalendaron {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} ĝisdatigis kalendaron {calendar}",
- "You updated calendar {calendar}" : "Vi ĝisdatigis kalendaron {calendar}",
- "You shared calendar {calendar} as public link" : "Vi kunhavigis kalendaron {calendar} per publika ligilo",
- "You removed public link for calendar {calendar}" : "Vi forigis publikan ligilon por kalendaro {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} kunhavigis kalendaron {calendar} kun vi",
- "You shared calendar {calendar} with {user}" : "Vi kunhavigis kalendaron {calendar} kun {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} kunhavigis kalendaron {calendar} kun {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} malkunhavigis kalendaron {calendar} kun vi",
- "You unshared calendar {calendar} from {user}" : "Vi malkunhavigis kalendaron {calendar} kun {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} malkunhavigis kalendaron {calendar} kun {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} malkunhavigis kalendaron {calendar} kun si mem",
- "You shared calendar {calendar} with group {group}" : "Vi kunhavigis kalendaron {calendar} kun grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} kunhavigis kalendaron {calendar} kun grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Vi malkunhavigis kalendaron {calendar} kun grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} malkunhavigis kalendaron {calendar} kun grupo {group}",
- "Untitled event" : "Sentitola okazaĵo",
- "{actor} created event {event} in calendar {calendar}" : "{actor} kreis okazaĵon {event} en kalendaro {calendar}",
- "You created event {event} in calendar {calendar}" : "Vi kreis okazaĵon {event} en kalendaro {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} forigis okazaĵon {event} en kalendaro {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Vi forigis okazaĵon {event} en kalendaro {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} ĝisdatigis okazaĵon {event} en kalendaro {calendar}",
- "You updated event {event} in calendar {calendar}" : "Vi ĝisdatigis okazaĵon {event} en kalendaro {calendar}",
- "Busy" : "Okupita",
- "A <strong>calendar</strong> was modified" : "<strong>Kalendaro</strong> estis modifita",
- "A calendar <strong>event</strong> was modified" : "Kalendara <strong>okazaĵo</strong> estis modifita",
- "Contact birthdays" : "Kontaktaj datrevenoj",
- "Death of %s" : "Morto de %s",
- "Calendar:" : "Kalendaro:",
- "Date:" : "Dato:",
- "Where:" : "Kie:",
- "Description:" : "Priskribo:",
- "_%n year_::_%n years_" : ["%n jaro","%n jaroj"],
- "_%n month_::_%n months_" : ["%n monato","%n monatoj"],
- "_%n day_::_%n days_" : ["%n tago","%n tagoj"],
- "_%n hour_::_%n hours_" : ["%n horo","%n horoj"],
- "_%n minute_::_%n minutes_" : ["%n minuto","%n minutoj"],
- "%s (in %s)" : "%s (en %s)",
- "%s (%s ago)" : "%s (antaŭ %s)",
- "Calendar: %s" : "Kalendaro: %s",
- "Date: %s" : "Dato: %s",
- "Description: %s" : "Priskribo: %s",
- "Where: %s" : "Kie: %s",
- "%1$s via %2$s" : "%1$s pere de %2$s",
- "Location:" : "Loko:",
- "Link:" : "Ligilo:",
- "Accept" : "Akcepti",
- "Decline" : "Malakcepti",
- "More options …" : "Pli da opcioj...",
- "More options at %s" : "Pli da opcioj je %s",
- "Contacts" : "Kontaktoj",
- "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Via %s uzu HTTPS, por ke vi povu uzi CalDAV kaj CardDAV kun iOS aŭ macOS.",
- "Configures a CalDAV account" : "Agordas CalDAV-konton.",
- "Configures a CardDAV account" : "Agordas CardlDAV-konton.",
- "Tasks" : "Taskoj",
- "WebDAV" : "WebDAV",
- "WebDAV endpoint" : "WebDAV-finpunkto",
- "to" : "al",
- "Monday" : "lundo",
- "Tuesday" : "mardo",
- "Wednesday" : "merkredo",
- "Thursday" : "ĵaŭdo",
- "Friday" : "vendredo",
- "Saturday" : "sabato",
- "Sunday" : "dimanĉo",
- "Save" : "Konservi",
- "Calendar server" : "Kalendara servilo",
- "Send invitations to attendees" : "Sendi invitojn al ĉeestantoj",
- "Automatically generate a birthday calendar" : "Aŭtomate estigi datrevenan kalendaron",
- "Birthday calendars will be generated by a background job." : "Datrevenaj kalendaroj estos kreitaj de fona tasko.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Tial, ili disponeblos nur post kelke da tempo.",
- "Send notifications for events" : "Sendi sciigojn pri okazaĵoj",
- "Enable notifications for events via push" : "Ebligi sciigojn pri okazaĵoj per puŝteĥniko",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Ankaŭ instalu la aplikaĵon {calendarappstoreopen}Kalendaro{linkclose} aŭ {calendardocopen}konektu vian surtablan kaj porteblan aparaton por eksinkronigi ↗{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Bv. certigi, ke via {emailopen}retpoŝtserva servilo{linkclose} estas bone agordita.",
- "There was an error updating your attendance status." : "Estis eraro dum ĝisdatigo de via ĉeesta stato.",
- "Please contact the organizer directly." : "Bv. senpere kontakti la organizanton.",
- "Are you accepting the invitation?" : "Ĉu vi akceptas la inviton?",
- "Tentative" : "Nekonfirmita",
- "Your attendance was updated successfully." : "Via ĉeesto sukcese ĝisdatiĝis.",
- "Todos" : "Taskoj",
- "{actor} created todo {todo} in list {calendar}" : "{actor} kreis farendaĵon {todo} en listo {calendar}",
- "You created todo {todo} in list {calendar}" : "Vi kreis farendaĵon {todo} en listo {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} forigis farendaĵon {todo} en listo {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Vi forigis farendaĵon {todo} en listo {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ĝisdatigis farendaĵon {todo} en listo {calendar}",
- "You updated todo {todo} in list {calendar}" : "Vi ĝisdatigis farendaĵon {todo} en listo {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} plenumis farendaĵon {todo} en listo {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vi plenumis farendaĵon {todo} en listo {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} remalfermis farendaĵon {todo} en listo {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Vi remalfermis farendaĵon {todo} en listo {calendar}",
- "A calendar <strong>todo</strong> was modified" : "Kalendara <strong>farendaĵo</strong> estis modifita",
- "Invitation canceled" : "Invito nuligita",
- "Invitation updated" : "Invito ĝisdatigita"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/eo.json b/apps/dav/l10n/eo.json
deleted file mode 100644
index 67fd37faca9..00000000000
--- a/apps/dav/l10n/eo.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{ "translations": {
- "Calendar" : "Kalendaro",
- "Personal" : "Persona",
- "{actor} created calendar {calendar}" : "{actor} kreis kalendaron {calendar}",
- "You created calendar {calendar}" : "Vi kreis kalendaron {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} forigis kalendaron {calendar}",
- "You deleted calendar {calendar}" : "Vi forigis kalendaron {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} ĝisdatigis kalendaron {calendar}",
- "You updated calendar {calendar}" : "Vi ĝisdatigis kalendaron {calendar}",
- "You shared calendar {calendar} as public link" : "Vi kunhavigis kalendaron {calendar} per publika ligilo",
- "You removed public link for calendar {calendar}" : "Vi forigis publikan ligilon por kalendaro {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} kunhavigis kalendaron {calendar} kun vi",
- "You shared calendar {calendar} with {user}" : "Vi kunhavigis kalendaron {calendar} kun {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} kunhavigis kalendaron {calendar} kun {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} malkunhavigis kalendaron {calendar} kun vi",
- "You unshared calendar {calendar} from {user}" : "Vi malkunhavigis kalendaron {calendar} kun {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} malkunhavigis kalendaron {calendar} kun {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} malkunhavigis kalendaron {calendar} kun si mem",
- "You shared calendar {calendar} with group {group}" : "Vi kunhavigis kalendaron {calendar} kun grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} kunhavigis kalendaron {calendar} kun grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Vi malkunhavigis kalendaron {calendar} kun grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} malkunhavigis kalendaron {calendar} kun grupo {group}",
- "Untitled event" : "Sentitola okazaĵo",
- "{actor} created event {event} in calendar {calendar}" : "{actor} kreis okazaĵon {event} en kalendaro {calendar}",
- "You created event {event} in calendar {calendar}" : "Vi kreis okazaĵon {event} en kalendaro {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} forigis okazaĵon {event} en kalendaro {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Vi forigis okazaĵon {event} en kalendaro {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} ĝisdatigis okazaĵon {event} en kalendaro {calendar}",
- "You updated event {event} in calendar {calendar}" : "Vi ĝisdatigis okazaĵon {event} en kalendaro {calendar}",
- "Busy" : "Okupita",
- "A <strong>calendar</strong> was modified" : "<strong>Kalendaro</strong> estis modifita",
- "A calendar <strong>event</strong> was modified" : "Kalendara <strong>okazaĵo</strong> estis modifita",
- "Contact birthdays" : "Kontaktaj datrevenoj",
- "Death of %s" : "Morto de %s",
- "Calendar:" : "Kalendaro:",
- "Date:" : "Dato:",
- "Where:" : "Kie:",
- "Description:" : "Priskribo:",
- "_%n year_::_%n years_" : ["%n jaro","%n jaroj"],
- "_%n month_::_%n months_" : ["%n monato","%n monatoj"],
- "_%n day_::_%n days_" : ["%n tago","%n tagoj"],
- "_%n hour_::_%n hours_" : ["%n horo","%n horoj"],
- "_%n minute_::_%n minutes_" : ["%n minuto","%n minutoj"],
- "%s (in %s)" : "%s (en %s)",
- "%s (%s ago)" : "%s (antaŭ %s)",
- "Calendar: %s" : "Kalendaro: %s",
- "Date: %s" : "Dato: %s",
- "Description: %s" : "Priskribo: %s",
- "Where: %s" : "Kie: %s",
- "%1$s via %2$s" : "%1$s pere de %2$s",
- "Location:" : "Loko:",
- "Link:" : "Ligilo:",
- "Accept" : "Akcepti",
- "Decline" : "Malakcepti",
- "More options …" : "Pli da opcioj...",
- "More options at %s" : "Pli da opcioj je %s",
- "Contacts" : "Kontaktoj",
- "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Via %s uzu HTTPS, por ke vi povu uzi CalDAV kaj CardDAV kun iOS aŭ macOS.",
- "Configures a CalDAV account" : "Agordas CalDAV-konton.",
- "Configures a CardDAV account" : "Agordas CardlDAV-konton.",
- "Tasks" : "Taskoj",
- "WebDAV" : "WebDAV",
- "WebDAV endpoint" : "WebDAV-finpunkto",
- "to" : "al",
- "Monday" : "lundo",
- "Tuesday" : "mardo",
- "Wednesday" : "merkredo",
- "Thursday" : "ĵaŭdo",
- "Friday" : "vendredo",
- "Saturday" : "sabato",
- "Sunday" : "dimanĉo",
- "Save" : "Konservi",
- "Calendar server" : "Kalendara servilo",
- "Send invitations to attendees" : "Sendi invitojn al ĉeestantoj",
- "Automatically generate a birthday calendar" : "Aŭtomate estigi datrevenan kalendaron",
- "Birthday calendars will be generated by a background job." : "Datrevenaj kalendaroj estos kreitaj de fona tasko.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Tial, ili disponeblos nur post kelke da tempo.",
- "Send notifications for events" : "Sendi sciigojn pri okazaĵoj",
- "Enable notifications for events via push" : "Ebligi sciigojn pri okazaĵoj per puŝteĥniko",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Ankaŭ instalu la aplikaĵon {calendarappstoreopen}Kalendaro{linkclose} aŭ {calendardocopen}konektu vian surtablan kaj porteblan aparaton por eksinkronigi ↗{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Bv. certigi, ke via {emailopen}retpoŝtserva servilo{linkclose} estas bone agordita.",
- "There was an error updating your attendance status." : "Estis eraro dum ĝisdatigo de via ĉeesta stato.",
- "Please contact the organizer directly." : "Bv. senpere kontakti la organizanton.",
- "Are you accepting the invitation?" : "Ĉu vi akceptas la inviton?",
- "Tentative" : "Nekonfirmita",
- "Your attendance was updated successfully." : "Via ĉeesto sukcese ĝisdatiĝis.",
- "Todos" : "Taskoj",
- "{actor} created todo {todo} in list {calendar}" : "{actor} kreis farendaĵon {todo} en listo {calendar}",
- "You created todo {todo} in list {calendar}" : "Vi kreis farendaĵon {todo} en listo {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} forigis farendaĵon {todo} en listo {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Vi forigis farendaĵon {todo} en listo {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ĝisdatigis farendaĵon {todo} en listo {calendar}",
- "You updated todo {todo} in list {calendar}" : "Vi ĝisdatigis farendaĵon {todo} en listo {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} plenumis farendaĵon {todo} en listo {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vi plenumis farendaĵon {todo} en listo {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} remalfermis farendaĵon {todo} en listo {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Vi remalfermis farendaĵon {todo} en listo {calendar}",
- "A calendar <strong>todo</strong> was modified" : "Kalendara <strong>farendaĵo</strong> estis modifita",
- "Invitation canceled" : "Invito nuligita",
- "Invitation updated" : "Invito ĝisdatigita"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_419.js b/apps/dav/l10n/es_419.js
deleted file mode 100644
index ba78d8940a8..00000000000
--- a/apps/dav/l10n/es_419.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_419.json b/apps/dav/l10n/es_419.json
deleted file mode 100644
index ec79fad2802..00000000000
--- a/apps/dav/l10n/es_419.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_AR.js b/apps/dav/l10n/es_AR.js
deleted file mode 100644
index b15ab1b367e..00000000000
--- a/apps/dav/l10n/es_AR.js
+++ /dev/null
@@ -1,56 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Usted creó el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Usted borró el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Usted actualizó el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} con usted",
- "You shared calendar {calendar} with {user}" : "Usted ha compartido el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} con usted",
- "You unshared calendar {calendar} from {user}" : "Usted ha dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Usted ha compartido el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Usted ha dejado de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Usted creó el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Usted borró el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Usted actualizó el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Usted creo el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Usted borró el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Usted actualizó el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Usted resolvió el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Usted reabrió el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Hello %s," : "Hola %s:",
- "Link:" : "Link:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Technical details" : "Detalles técnicos",
- "Remote Address: %s" : "Dirección remota: %s",
- "Request ID: %s" : "ID de solicitud: %s"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_AR.json b/apps/dav/l10n/es_AR.json
deleted file mode 100644
index 40f99876c49..00000000000
--- a/apps/dav/l10n/es_AR.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Usted creó el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Usted borró el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Usted actualizó el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} con usted",
- "You shared calendar {calendar} with {user}" : "Usted ha compartido el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} con usted",
- "You unshared calendar {calendar} from {user}" : "Usted ha dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Usted ha compartido el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Usted ha dejado de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Usted creó el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Usted borró el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Usted actualizó el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Usted creo el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Usted borró el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Usted actualizó el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Usted resolvió el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Usted reabrió el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Hello %s," : "Hola %s:",
- "Link:" : "Link:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Technical details" : "Detalles técnicos",
- "Remote Address: %s" : "Dirección remota: %s",
- "Request ID: %s" : "ID de solicitud: %s"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_CL.js b/apps/dav/l10n/es_CL.js
deleted file mode 100644
index ba78d8940a8..00000000000
--- a/apps/dav/l10n/es_CL.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_CL.json b/apps/dav/l10n/es_CL.json
deleted file mode 100644
index ec79fad2802..00000000000
--- a/apps/dav/l10n/es_CL.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_CO.js b/apps/dav/l10n/es_CO.js
deleted file mode 100644
index ba78d8940a8..00000000000
--- a/apps/dav/l10n/es_CO.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_CO.json b/apps/dav/l10n/es_CO.json
deleted file mode 100644
index ec79fad2802..00000000000
--- a/apps/dav/l10n/es_CO.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_CR.js b/apps/dav/l10n/es_CR.js
deleted file mode 100644
index ba78d8940a8..00000000000
--- a/apps/dav/l10n/es_CR.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_CR.json b/apps/dav/l10n/es_CR.json
deleted file mode 100644
index ec79fad2802..00000000000
--- a/apps/dav/l10n/es_CR.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_DO.js b/apps/dav/l10n/es_DO.js
deleted file mode 100644
index ba78d8940a8..00000000000
--- a/apps/dav/l10n/es_DO.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_DO.json b/apps/dav/l10n/es_DO.json
deleted file mode 100644
index ec79fad2802..00000000000
--- a/apps/dav/l10n/es_DO.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_GT.js b/apps/dav/l10n/es_GT.js
deleted file mode 100644
index ba78d8940a8..00000000000
--- a/apps/dav/l10n/es_GT.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_GT.json b/apps/dav/l10n/es_GT.json
deleted file mode 100644
index ec79fad2802..00000000000
--- a/apps/dav/l10n/es_GT.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_HN.js b/apps/dav/l10n/es_HN.js
deleted file mode 100644
index ba78d8940a8..00000000000
--- a/apps/dav/l10n/es_HN.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_HN.json b/apps/dav/l10n/es_HN.json
deleted file mode 100644
index ec79fad2802..00000000000
--- a/apps/dav/l10n/es_HN.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_NI.js b/apps/dav/l10n/es_NI.js
deleted file mode 100644
index ba78d8940a8..00000000000
--- a/apps/dav/l10n/es_NI.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_NI.json b/apps/dav/l10n/es_NI.json
deleted file mode 100644
index ec79fad2802..00000000000
--- a/apps/dav/l10n/es_NI.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_PA.js b/apps/dav/l10n/es_PA.js
deleted file mode 100644
index ba78d8940a8..00000000000
--- a/apps/dav/l10n/es_PA.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_PA.json b/apps/dav/l10n/es_PA.json
deleted file mode 100644
index ec79fad2802..00000000000
--- a/apps/dav/l10n/es_PA.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_PE.js b/apps/dav/l10n/es_PE.js
deleted file mode 100644
index ba78d8940a8..00000000000
--- a/apps/dav/l10n/es_PE.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_PE.json b/apps/dav/l10n/es_PE.json
deleted file mode 100644
index ec79fad2802..00000000000
--- a/apps/dav/l10n/es_PE.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_PR.js b/apps/dav/l10n/es_PR.js
deleted file mode 100644
index ba78d8940a8..00000000000
--- a/apps/dav/l10n/es_PR.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_PR.json b/apps/dav/l10n/es_PR.json
deleted file mode 100644
index ec79fad2802..00000000000
--- a/apps/dav/l10n/es_PR.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_PY.js b/apps/dav/l10n/es_PY.js
deleted file mode 100644
index ba78d8940a8..00000000000
--- a/apps/dav/l10n/es_PY.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_PY.json b/apps/dav/l10n/es_PY.json
deleted file mode 100644
index ec79fad2802..00000000000
--- a/apps/dav/l10n/es_PY.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_SV.js b/apps/dav/l10n/es_SV.js
deleted file mode 100644
index ba78d8940a8..00000000000
--- a/apps/dav/l10n/es_SV.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_SV.json b/apps/dav/l10n/es_SV.json
deleted file mode 100644
index ec79fad2802..00000000000
--- a/apps/dav/l10n/es_SV.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/es_UY.js b/apps/dav/l10n/es_UY.js
deleted file mode 100644
index ba78d8940a8..00000000000
--- a/apps/dav/l10n/es_UY.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/es_UY.json b/apps/dav/l10n/es_UY.json
deleted file mode 100644
index ec79fad2802..00000000000
--- a/apps/dav/l10n/es_UY.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendario",
- "Todos" : "Pendientes",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
- "You created calendar {calendar}" : "Creaste el calendario {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}",
- "You deleted calendar {calendar}" : "Borraste el calendario {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
- "You updated calendar {calendar}" : "Actualizaste el calendario {calendar}",
- "You shared calendar {calendar} as public link" : "Compartiste el calendario {calendar} como una liga pública",
- "You removed public link for calendar {calendar}" : "Eliminaste la liga pública para el calendario {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} ha compartido el calendario {calendar} contigo",
- "You shared calendar {calendar} with {user}" : "Compartiste el calendario {calendar} con {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} compartió el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ha dejado de compartir el calendario {calendar} contigo",
- "You unshared calendar {calendar} from {user}" : "Has dejado de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} dejó de compartir el calendario {calendar} con {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} dejó de compartir {el calendario calendar} con él mismo",
- "You shared calendar {calendar} with group {group}" : "Compartiste el calendario {calendar} con el grupo {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} compartió el calendario {calendar} con el grupo {group}",
- "You unshared calendar {calendar} from group {group}" : "Dejaste de compartir el calendario {calendar} con el grupo {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} dejó de compartir el calendrio {calendar} con el grupo {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} creó el evento {event} en el calendario {calendar}",
- "You created event {event} in calendar {calendar}" : "Creaste el evento {event} en el calendario {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} borró el eventó {event} del calendario {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Borraste el evento {event} del calendario {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
- "You updated event {event} in calendar {calendar}" : "Actualizaste el evento {event} en el calendario {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó el pendiente {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Creaste el pendiente {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} borró el pendiente {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Borraste el pendiente {todo} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó el pendiente {todo} de la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Actualizaste el pendiente {todo} de la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolvió el pendiente {todo} de la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Resolviste el pendiente {todo} de la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió el pendiente {todo} de la lista{calendar}",
- "You reopened todo {todo} in list {calendar}" : "Reabriste el pendiente {todo} de la lista {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado",
- "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado",
- "Contact birthdays" : "Cumpleaños del contacto",
- "Where:" : "Dónde:",
- "Description:" : "Descripción:",
- "Invitation canceled" : "Invitación cancelada",
- "Invitation updated" : "Invitación actualizada",
- "Location:" : "Ubicación:",
- "Link:" : "Enlace:",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "Contacts" : "Contactos",
- "Tasks" : "Tareas",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativo",
- "Save" : "Guardar",
- "Send invitations to attendees" : "Enviar invitaciones a los asistentes",
- "Automatically generate a birthday calendar" : "Generar automaticamente un calendario para cumpleaños",
- "Birthday calendars will be generated by a background job." : "Los calendarios de cumpleaños serán generados por un trabajo de segundo plano",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Por lo tanto no estarán disponbiles inmediatamente después de habilitarlos pero se mostrarán después de un tiempo.",
- "Hello %s," : "Hola %s,",
- "When:" : "Cuándo:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/fi.js b/apps/dav/l10n/fi.js
deleted file mode 100644
index b0f93e740c4..00000000000
--- a/apps/dav/l10n/fi.js
+++ /dev/null
@@ -1,165 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Kalenteri",
- "Tasks" : "Tehtävät",
- "Personal" : "Henkilökohtainen",
- "{actor} created calendar {calendar}" : "{actor} loi kalenterin {calendar}",
- "You created calendar {calendar}" : "Loit kalenterin {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} poisti kalenterin {calendar}",
- "You deleted calendar {calendar}" : "Poistit kalenterin {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} päivitti kalenterin {calendar}",
- "You updated calendar {calendar}" : "Päivitit kalenterin {calendar}",
- "{actor} restored calendar {calendar}" : "{actor} palautti kalenterin {calendar}",
- "You restored calendar {calendar}" : "Palautit kalenterin {calendar}",
- "You shared calendar {calendar} as public link" : "Jaoit kalenterin {calendar} julkisena linkkinä",
- "You removed public link for calendar {calendar}" : "Poistit julkisen linkin kalenterilta {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} jakoi kalenterin {calendar} kanssasi",
- "You shared calendar {calendar} with {user}" : "Jaoit kalenterin {calendar} käyttäjälle {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} jakoi kalenterin {calendar} käyttäjälle {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} lopetti kalenterin {calendar} jakamisen kanssasi",
- "You unshared calendar {calendar} from {user}" : "Lopetit kalenterin {calendar} jakamisen käyttäjälle {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} lopetti kalenterin {calendar} jakamisen käyttäjälle {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} lopetti kalenterin {calendar} jakamisen itselleen",
- "You shared calendar {calendar} with group {group}" : "Jaoit kalenterin {calendar} ryhmälle {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} jakoi kalenterin {calendar} ryhmälle {group}",
- "You unshared calendar {calendar} from group {group}" : "Lopetit kalenterin {calendar} jakamisen ryhmälle {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} lopetti kalenterin {calendar} jakamisen ryhmälle {group}",
- "Untitled event" : "Nimetön tapahtuma",
- "{actor} created event {event} in calendar {calendar}" : "{actor} loi tapahtuman {event} kalenteriin {calendar}",
- "You created event {event} in calendar {calendar}" : "Loit tapahtuman {event} kalenteriin {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} poisti tapahtuman {event} kalenterista {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Poistit tapahtuman {event} kalenterista {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} päivitti tapahtuman {event} kalenteriin {calendar}",
- "You updated event {event} in calendar {calendar}" : "Päivitit tapahtuman {event} kalenteriin {calendar}",
- "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Siirsit tapahtuman {event} kalenterista {sourceCalendar} kalenteriin {targetCalendar}",
- "Busy" : "Varattu",
- "Calendar, contacts and tasks" : "Kalenteri, yhteystiedot ja tehtävät",
- "A <strong>calendar</strong> was modified" : "<strong>Kalenteria</strong> on muokattu",
- "A calendar <strong>event</strong> was modified" : "Kalenterin <strong>tapahtumaa</strong> on muokattu",
- "Contact birthdays" : "Yhteystietojen syntymäpäivät",
- "Death of %s" : "%s kuolema",
- "Untitled calendar" : "Nimetön kalenteri",
- "Calendar:" : "Kalenteri:",
- "Date:" : "Päiväys:",
- "Where:" : "Missä:",
- "Description:" : "Kuvaus:",
- "_%n year_::_%n years_" : ["%n vuosi","%n vuotta"],
- "_%n month_::_%n months_" : ["%n kuukausi","%n kuukautta"],
- "_%n day_::_%n days_" : ["%n päivä","%n päivää"],
- "_%n hour_::_%n hours_" : ["%n tunti","%n tuntia"],
- "_%n minute_::_%n minutes_" : ["%n minuutti","%n minuuttia"],
- "%s (%s ago)" : "%s (%s sitten)",
- "Calendar: %s" : "Kalenteri: %s",
- "Date: %s" : "Päiväys: %s",
- "Description: %s" : "Kuvaus: %s",
- "Where: %s" : "Missä: %s",
- "%1$s via %2$s" : "%1$s palvelun %2$s kautta",
- "Cancelled: %1$s" : "Peruutettu: %1$s",
- "\"%1$s\" has been canceled" : "\"%1$s\" on peruttu",
- "%1$s has accepted your invitation" : "%1$s on hyväksynyt kutsusi",
- "%1$s has declined your invitation" : "%1$s on kieltäytynyt kutsustasi",
- "%1$s has responded to your invitation" : "%1$s on vastannut kutsuusi",
- "Invitation updated: %1$s" : "Kutsu päivitetty: %1$s",
- "%1$s updated the event \"%2$s\"" : "%1$s päivitti tapahtuman \"%2$s\"",
- "Invitation: %1$s" : "Kutsu: %1$s",
- "Organizer:" : "Järjestäjä:",
- "Attendees:" : "Osallistujat:",
- "Title:" : "Otsikko:",
- "When:" : "Milloin:",
- "Location:" : "Sijainti:",
- "Link:" : "Linkki:",
- "Accept" : "Hyväksy",
- "Decline" : "Kieltäydy",
- "More options …" : "Lisää valintoja…",
- "More options at %s" : "Lisää valintoja kohteessa %s",
- "Monday" : "Maanantai",
- "Tuesday" : "Tiistai",
- "Wednesday" : "Keskiviikko",
- "Thursday" : "Torstai",
- "Friday" : "Perjantai",
- "Saturday" : "Lauantai",
- "Sunday" : "Sunnuntai",
- "January" : "tammikuu",
- "February" : "helmikuu",
- "March" : "maaliskuu",
- "April" : "huhtikuu",
- "May" : "toukokuu",
- "June" : "kesäkuu",
- "July" : "heinäkuu",
- "August" : "elokuu",
- "September" : "syyskuu",
- "October" : "lokakuu",
- "November" : "marraskuu",
- "December" : "joulukuu",
- "First" : "Ensimmäinen",
- "Last" : "Viimeinen",
- "Contacts" : "Yhteystiedot",
- "{actor} created address book {addressbook}" : "{actor} loi osoitekirjan {addressbook}",
- "You created address book {addressbook}" : "Loit osoitekirjan {addressbook}",
- "{actor} deleted address book {addressbook}" : "{actor} poisti osoitekirjan {addressbook}",
- "You deleted address book {addressbook}" : "Sinä poistit osoitekirjan {addressbook}",
- "{actor} updated address book {addressbook}" : "{actor} päivitti osoitekirjaa {addressbook}",
- "You updated address book {addressbook}" : "Sinä päivitit osoitekirjaa {addressbook}",
- "{actor} shared address book {addressbook} with you" : "{actor} jakoi osoitekirjan {addressbook} kanssasi",
- "You shared address book {addressbook} with {user}" : "Jaoit osoitekirjan {addressbook} käyttäjän {user} kanssa",
- "{actor} shared address book {addressbook} with {user}" : "{actor} jakoi osoitekirjan {addressbook} käyttäjän {user} kanssa",
- "{actor} unshared address book {addressbook} from you" : "{actor} lopetti osoitekirjan {addressbook} jakamisen kanssasi",
- "You unshared address book {addressbook} from {user}" : "Lopetit osoitekirjan {addressbook} jakamisen käyttäjän {user} kanssa",
- "{actor} unshared address book {addressbook} from {user}" : "{actor} lopetti osoitekirjan {addressbook} jakamisen käyttäjän {user} kanssa",
- "You shared address book {addressbook} with group {group}" : "Jaoit osoitekirjan {addressbook} ryhmän {group} kanssa",
- "{actor} shared address book {addressbook} with group {group}" : "{actor} jakoi osoitekirjan {addressbook} ryhmän {group} kanssa",
- "You unshared address book {addressbook} from group {group}" : "Lopetit osoitekirjan {addressbook} jakamisen ryhmän {group} kanssa",
- "{actor} unshared address book {addressbook} from group {group}" : "{actor} lopetti osoitekirjan {addressbook} jakamisen ryhmän {group} kanssa",
- "{actor} created contact {card} in address book {addressbook}" : "{actor} loi yhteystiedon {card} osoitekirjaan {addressbook}",
- "You created contact {card} in address book {addressbook}" : "Loit yhteystiedon {card} osoitekirjaan {addressbook}",
- "{actor} deleted contact {card} from address book {addressbook}" : "{actor} poisti yhteystiedon {card} osoitekirjasta {addressbook}",
- "You deleted contact {card} from address book {addressbook}" : "Poistit yhteystiedon {card} osoitekirjasta {addressbook}",
- "{actor} updated contact {card} in address book {addressbook}" : "{actor} päivitti yhteystietoa {card} osoitekirjassa {addressbook}",
- "You updated contact {card} in address book {addressbook}" : "Päivitit yhteystiedon {card} osoitekirjassa {addressbook}",
- "A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>Yhteystietoa</strong> tai <strong>osoitekirjaa</strong> muokattiin",
- "Accounts" : "Tilit",
- "File is not updatable: %1$s" : "Tiedosto ei ole päivitettävissä: %1$s",
- "_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"],
- "Failed to check file size: %1$s" : "Tiedoston koon tarkistaminen epäonnistui: %1$s",
- "Encryption not ready: %1$s" : "Salaus ei ole valmis: %1$s",
- "Failed to open file: %1$s" : "Tiedoston avaaminen epäonnistui: %1$s",
- "File not found: %1$s" : "Tiedostoa ei löydy: %1$s",
- "System is in maintenance mode." : "Järjestelmä on huoltotilassa",
- "Upgrade needed" : "Päivitys tarvitaan",
- "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "%s tulee asettaa käyttämään HTTPS-yhteyttä, jotta CalDAVia ja CardDAVia voi käyttää iOSilla tai macOS:llä.",
- "Configures a CalDAV account" : "Määrittää CalDAV-tilin",
- "Configures a CardDAV account" : "Määrittää CardDAV-tilin",
- "Events" : "Tapahtumat",
- "Untitled task" : "Nimetön tehtävä",
- "WebDAV endpoint" : "WebDAV-päätepiste",
- "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Palvelintasi ei ole määritetty oikein tiedostojen synkronointia varten, koska WebDAV-liitäntä vaikuttaa olevan rikki.",
- "Contacts and groups" : "Yhteystiedot ja ryhmät",
- "WebDAV" : "WebDAV",
- "First day" : "Ensimmäinen päivä",
- "Save" : "Tallenna",
- "Failed to load availability" : "Saatavuuden lataaminen epäonnistui",
- "Time zone:" : "Aikavyöhyke:",
- "to" : "Vastaanottaja",
- "Delete slot" : "Poista aikarako",
- "No working hours set" : "Työskentelytunteja ei ole asetettu",
- "Add slot" : "Lisää aikarako",
- "Weekdays" : "Viikonpäivät",
- "Availability" : "Saatavuus",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Asenna myös {calendarappstoreopen}kalenterisovellus{linkclose}, tai {calendardocopen}yhdistä tietokoneesi ja mobiililaitteesi synkronointiyhteyteen ↗{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Varmista että määrität {emailopen}sähköpostipalvelimen{linkclose} asetukset oikein.",
- "Calendar server" : "Kalenteripalvelin",
- "Send invitations to attendees" : "Lähetä kutsut osallistujille",
- "Automatically generate a birthday calendar" : "Luo syntymäpäiväkalenteri automaattisesti",
- "Birthday calendars will be generated by a background job." : "Syntymäpäiväkalenterit luodaan taustatyön toimesta.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Sen vuoksi ne eivät ole välittömästi saatavilla käyttöönoton jälkeen, vaan ne tulevat näkyviin pienellä viiveellä.",
- "Send notifications for events" : "Lähetä ilmoitukset tapahtumista",
- "There was an error updating your attendance status." : "Osallistumisesi tilaa päivittäessä tapahtui virhe.",
- "Please contact the organizer directly." : "Ota yhteys suoraan järjestäjään.",
- "Are you accepting the invitation?" : "Hyväksytkö kutsun?",
- "Tentative" : "Alustava",
- "Your attendance was updated successfully." : "Osallistumisesi päivitettiin onnistuneesti.",
- "Time:" : "Aika:",
- "Could not open file" : "Tiedoston avaaminen ei onnistunut"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/fi.json b/apps/dav/l10n/fi.json
deleted file mode 100644
index cabd5d48efb..00000000000
--- a/apps/dav/l10n/fi.json
+++ /dev/null
@@ -1,163 +0,0 @@
-{ "translations": {
- "Calendar" : "Kalenteri",
- "Tasks" : "Tehtävät",
- "Personal" : "Henkilökohtainen",
- "{actor} created calendar {calendar}" : "{actor} loi kalenterin {calendar}",
- "You created calendar {calendar}" : "Loit kalenterin {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} poisti kalenterin {calendar}",
- "You deleted calendar {calendar}" : "Poistit kalenterin {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} päivitti kalenterin {calendar}",
- "You updated calendar {calendar}" : "Päivitit kalenterin {calendar}",
- "{actor} restored calendar {calendar}" : "{actor} palautti kalenterin {calendar}",
- "You restored calendar {calendar}" : "Palautit kalenterin {calendar}",
- "You shared calendar {calendar} as public link" : "Jaoit kalenterin {calendar} julkisena linkkinä",
- "You removed public link for calendar {calendar}" : "Poistit julkisen linkin kalenterilta {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} jakoi kalenterin {calendar} kanssasi",
- "You shared calendar {calendar} with {user}" : "Jaoit kalenterin {calendar} käyttäjälle {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} jakoi kalenterin {calendar} käyttäjälle {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} lopetti kalenterin {calendar} jakamisen kanssasi",
- "You unshared calendar {calendar} from {user}" : "Lopetit kalenterin {calendar} jakamisen käyttäjälle {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} lopetti kalenterin {calendar} jakamisen käyttäjälle {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} lopetti kalenterin {calendar} jakamisen itselleen",
- "You shared calendar {calendar} with group {group}" : "Jaoit kalenterin {calendar} ryhmälle {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} jakoi kalenterin {calendar} ryhmälle {group}",
- "You unshared calendar {calendar} from group {group}" : "Lopetit kalenterin {calendar} jakamisen ryhmälle {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} lopetti kalenterin {calendar} jakamisen ryhmälle {group}",
- "Untitled event" : "Nimetön tapahtuma",
- "{actor} created event {event} in calendar {calendar}" : "{actor} loi tapahtuman {event} kalenteriin {calendar}",
- "You created event {event} in calendar {calendar}" : "Loit tapahtuman {event} kalenteriin {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} poisti tapahtuman {event} kalenterista {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Poistit tapahtuman {event} kalenterista {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} päivitti tapahtuman {event} kalenteriin {calendar}",
- "You updated event {event} in calendar {calendar}" : "Päivitit tapahtuman {event} kalenteriin {calendar}",
- "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Siirsit tapahtuman {event} kalenterista {sourceCalendar} kalenteriin {targetCalendar}",
- "Busy" : "Varattu",
- "Calendar, contacts and tasks" : "Kalenteri, yhteystiedot ja tehtävät",
- "A <strong>calendar</strong> was modified" : "<strong>Kalenteria</strong> on muokattu",
- "A calendar <strong>event</strong> was modified" : "Kalenterin <strong>tapahtumaa</strong> on muokattu",
- "Contact birthdays" : "Yhteystietojen syntymäpäivät",
- "Death of %s" : "%s kuolema",
- "Untitled calendar" : "Nimetön kalenteri",
- "Calendar:" : "Kalenteri:",
- "Date:" : "Päiväys:",
- "Where:" : "Missä:",
- "Description:" : "Kuvaus:",
- "_%n year_::_%n years_" : ["%n vuosi","%n vuotta"],
- "_%n month_::_%n months_" : ["%n kuukausi","%n kuukautta"],
- "_%n day_::_%n days_" : ["%n päivä","%n päivää"],
- "_%n hour_::_%n hours_" : ["%n tunti","%n tuntia"],
- "_%n minute_::_%n minutes_" : ["%n minuutti","%n minuuttia"],
- "%s (%s ago)" : "%s (%s sitten)",
- "Calendar: %s" : "Kalenteri: %s",
- "Date: %s" : "Päiväys: %s",
- "Description: %s" : "Kuvaus: %s",
- "Where: %s" : "Missä: %s",
- "%1$s via %2$s" : "%1$s palvelun %2$s kautta",
- "Cancelled: %1$s" : "Peruutettu: %1$s",
- "\"%1$s\" has been canceled" : "\"%1$s\" on peruttu",
- "%1$s has accepted your invitation" : "%1$s on hyväksynyt kutsusi",
- "%1$s has declined your invitation" : "%1$s on kieltäytynyt kutsustasi",
- "%1$s has responded to your invitation" : "%1$s on vastannut kutsuusi",
- "Invitation updated: %1$s" : "Kutsu päivitetty: %1$s",
- "%1$s updated the event \"%2$s\"" : "%1$s päivitti tapahtuman \"%2$s\"",
- "Invitation: %1$s" : "Kutsu: %1$s",
- "Organizer:" : "Järjestäjä:",
- "Attendees:" : "Osallistujat:",
- "Title:" : "Otsikko:",
- "When:" : "Milloin:",
- "Location:" : "Sijainti:",
- "Link:" : "Linkki:",
- "Accept" : "Hyväksy",
- "Decline" : "Kieltäydy",
- "More options …" : "Lisää valintoja…",
- "More options at %s" : "Lisää valintoja kohteessa %s",
- "Monday" : "Maanantai",
- "Tuesday" : "Tiistai",
- "Wednesday" : "Keskiviikko",
- "Thursday" : "Torstai",
- "Friday" : "Perjantai",
- "Saturday" : "Lauantai",
- "Sunday" : "Sunnuntai",
- "January" : "tammikuu",
- "February" : "helmikuu",
- "March" : "maaliskuu",
- "April" : "huhtikuu",
- "May" : "toukokuu",
- "June" : "kesäkuu",
- "July" : "heinäkuu",
- "August" : "elokuu",
- "September" : "syyskuu",
- "October" : "lokakuu",
- "November" : "marraskuu",
- "December" : "joulukuu",
- "First" : "Ensimmäinen",
- "Last" : "Viimeinen",
- "Contacts" : "Yhteystiedot",
- "{actor} created address book {addressbook}" : "{actor} loi osoitekirjan {addressbook}",
- "You created address book {addressbook}" : "Loit osoitekirjan {addressbook}",
- "{actor} deleted address book {addressbook}" : "{actor} poisti osoitekirjan {addressbook}",
- "You deleted address book {addressbook}" : "Sinä poistit osoitekirjan {addressbook}",
- "{actor} updated address book {addressbook}" : "{actor} päivitti osoitekirjaa {addressbook}",
- "You updated address book {addressbook}" : "Sinä päivitit osoitekirjaa {addressbook}",
- "{actor} shared address book {addressbook} with you" : "{actor} jakoi osoitekirjan {addressbook} kanssasi",
- "You shared address book {addressbook} with {user}" : "Jaoit osoitekirjan {addressbook} käyttäjän {user} kanssa",
- "{actor} shared address book {addressbook} with {user}" : "{actor} jakoi osoitekirjan {addressbook} käyttäjän {user} kanssa",
- "{actor} unshared address book {addressbook} from you" : "{actor} lopetti osoitekirjan {addressbook} jakamisen kanssasi",
- "You unshared address book {addressbook} from {user}" : "Lopetit osoitekirjan {addressbook} jakamisen käyttäjän {user} kanssa",
- "{actor} unshared address book {addressbook} from {user}" : "{actor} lopetti osoitekirjan {addressbook} jakamisen käyttäjän {user} kanssa",
- "You shared address book {addressbook} with group {group}" : "Jaoit osoitekirjan {addressbook} ryhmän {group} kanssa",
- "{actor} shared address book {addressbook} with group {group}" : "{actor} jakoi osoitekirjan {addressbook} ryhmän {group} kanssa",
- "You unshared address book {addressbook} from group {group}" : "Lopetit osoitekirjan {addressbook} jakamisen ryhmän {group} kanssa",
- "{actor} unshared address book {addressbook} from group {group}" : "{actor} lopetti osoitekirjan {addressbook} jakamisen ryhmän {group} kanssa",
- "{actor} created contact {card} in address book {addressbook}" : "{actor} loi yhteystiedon {card} osoitekirjaan {addressbook}",
- "You created contact {card} in address book {addressbook}" : "Loit yhteystiedon {card} osoitekirjaan {addressbook}",
- "{actor} deleted contact {card} from address book {addressbook}" : "{actor} poisti yhteystiedon {card} osoitekirjasta {addressbook}",
- "You deleted contact {card} from address book {addressbook}" : "Poistit yhteystiedon {card} osoitekirjasta {addressbook}",
- "{actor} updated contact {card} in address book {addressbook}" : "{actor} päivitti yhteystietoa {card} osoitekirjassa {addressbook}",
- "You updated contact {card} in address book {addressbook}" : "Päivitit yhteystiedon {card} osoitekirjassa {addressbook}",
- "A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>Yhteystietoa</strong> tai <strong>osoitekirjaa</strong> muokattiin",
- "Accounts" : "Tilit",
- "File is not updatable: %1$s" : "Tiedosto ei ole päivitettävissä: %1$s",
- "_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"],
- "Failed to check file size: %1$s" : "Tiedoston koon tarkistaminen epäonnistui: %1$s",
- "Encryption not ready: %1$s" : "Salaus ei ole valmis: %1$s",
- "Failed to open file: %1$s" : "Tiedoston avaaminen epäonnistui: %1$s",
- "File not found: %1$s" : "Tiedostoa ei löydy: %1$s",
- "System is in maintenance mode." : "Järjestelmä on huoltotilassa",
- "Upgrade needed" : "Päivitys tarvitaan",
- "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "%s tulee asettaa käyttämään HTTPS-yhteyttä, jotta CalDAVia ja CardDAVia voi käyttää iOSilla tai macOS:llä.",
- "Configures a CalDAV account" : "Määrittää CalDAV-tilin",
- "Configures a CardDAV account" : "Määrittää CardDAV-tilin",
- "Events" : "Tapahtumat",
- "Untitled task" : "Nimetön tehtävä",
- "WebDAV endpoint" : "WebDAV-päätepiste",
- "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Palvelintasi ei ole määritetty oikein tiedostojen synkronointia varten, koska WebDAV-liitäntä vaikuttaa olevan rikki.",
- "Contacts and groups" : "Yhteystiedot ja ryhmät",
- "WebDAV" : "WebDAV",
- "First day" : "Ensimmäinen päivä",
- "Save" : "Tallenna",
- "Failed to load availability" : "Saatavuuden lataaminen epäonnistui",
- "Time zone:" : "Aikavyöhyke:",
- "to" : "Vastaanottaja",
- "Delete slot" : "Poista aikarako",
- "No working hours set" : "Työskentelytunteja ei ole asetettu",
- "Add slot" : "Lisää aikarako",
- "Weekdays" : "Viikonpäivät",
- "Availability" : "Saatavuus",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Asenna myös {calendarappstoreopen}kalenterisovellus{linkclose}, tai {calendardocopen}yhdistä tietokoneesi ja mobiililaitteesi synkronointiyhteyteen ↗{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Varmista että määrität {emailopen}sähköpostipalvelimen{linkclose} asetukset oikein.",
- "Calendar server" : "Kalenteripalvelin",
- "Send invitations to attendees" : "Lähetä kutsut osallistujille",
- "Automatically generate a birthday calendar" : "Luo syntymäpäiväkalenteri automaattisesti",
- "Birthday calendars will be generated by a background job." : "Syntymäpäiväkalenterit luodaan taustatyön toimesta.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Sen vuoksi ne eivät ole välittömästi saatavilla käyttöönoton jälkeen, vaan ne tulevat näkyviin pienellä viiveellä.",
- "Send notifications for events" : "Lähetä ilmoitukset tapahtumista",
- "There was an error updating your attendance status." : "Osallistumisesi tilaa päivittäessä tapahtui virhe.",
- "Please contact the organizer directly." : "Ota yhteys suoraan järjestäjään.",
- "Are you accepting the invitation?" : "Hyväksytkö kutsun?",
- "Tentative" : "Alustava",
- "Your attendance was updated successfully." : "Osallistumisesi päivitettiin onnistuneesti.",
- "Time:" : "Aika:",
- "Could not open file" : "Tiedoston avaaminen ei onnistunut"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/he.js b/apps/dav/l10n/he.js
deleted file mode 100644
index 20316f2dc51..00000000000
--- a/apps/dav/l10n/he.js
+++ /dev/null
@@ -1,101 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "יומן",
- "Personal" : "אישי",
- "{actor} created calendar {calendar}" : "היומן {calendar} נוצר על ידי {actor}",
- "You created calendar {calendar}" : "מחקת את היומן {calendar}",
- "{actor} deleted calendar {calendar}" : "היומן {calendar} נמחק על ידי {actor}",
- "You deleted calendar {calendar}" : "מחקת את היומן {calendar}",
- "{actor} updated calendar {calendar}" : "היומן {calendar} עודכן על ידי {actor}",
- "You updated calendar {calendar}" : "עדכנת את היומן {calendar}",
- "You shared calendar {calendar} as public link" : "שיתפת את היומן {calendar} כקישור ציבורי",
- "You removed public link for calendar {calendar}" : "הסרת את הקישור הציבורי ליומן {calendar}",
- "{actor} shared calendar {calendar} with you" : "שותף אתך לוח השנה {calendar} על ידי {actor}",
- "You shared calendar {calendar} with {user}" : "שיתפת לוח שנה {calendar} עם {user}",
- "{actor} shared calendar {calendar} with {user}" : "לוח השנה {calendar} שותף על ידי {actor} עם {user}",
- "{actor} unshared calendar {calendar} from you" : "השיתוף של לוח השנה {calendar} אתך הופסק על ידי {actor}",
- "You unshared calendar {calendar} from {user}" : "ביטלת את שיתוף לוח השנה {calendar} עם {user}",
- "{actor} unshared calendar {calendar} from {user}" : "השיתוף של לוח השנה {calendar} עם {user} הופסק על ידי {actor}",
- "{actor} unshared calendar {calendar} from themselves" : "השיתוף של לוח השנה {calendar} עם עצמם הופסק על ידי {actor}",
- "You shared calendar {calendar} with group {group}" : "שיתפת את לוח השנה {calendar} עם הקבוצה {group}",
- "{actor} shared calendar {calendar} with group {group}" : "לוח השנה {calendar} שותף עם הקבוצה {group} על ידי {actor}",
- "You unshared calendar {calendar} from group {group}" : "הפסקת את שיתוף לוח השנה {calendar} עם הקבוצה {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "השיתוף של לוח השנה {calendar} עם {group} הופסק על ידי {actor}",
- "Untitled event" : "אירוע ללא כותרת",
- "{actor} created event {event} in calendar {calendar}" : "האירוע {event} נוצר בלוח השנה {calendar} על ידי {actor}",
- "You created event {event} in calendar {calendar}" : "יצרת אירוע {event} בלוח השנה {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "האירוע {event} נמחק מלוח השנה {calendar} על ידי {actor}",
- "You deleted event {event} from calendar {calendar}" : "מחקת אירוע {event} מלוח השנה {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "האירוע {event} עודכן בלוח השנה {calendar} על ידי {actor}",
- "You updated event {event} in calendar {calendar}" : "עדכנת את האירוע {event} בלוח השנה {calendar}",
- "Busy" : "עסוק",
- "A <strong>calendar</strong> was modified" : " <strong>יומן</strong> נערך",
- "A calendar <strong>event</strong> was modified" : "<strong>אירוע</strong> ביומן נערך",
- "Contact birthdays" : "ימי הולדת של אנשי קשר",
- "Death of %s" : "הפטירה של %s",
- "Untitled calendar" : "לוח שנה ללא כותרת",
- "Calendar:" : "לוח שנה:",
- "Date:" : "תאריך:",
- "Where:" : "איפה:",
- "Description:" : "תיאור:",
- "_%n year_::_%n years_" : ["שנה","שנתיים","%n שנים","%n שנים"],
- "_%n month_::_%n months_" : ["חודש","חודשיים","%n חודשים","%n חודשים"],
- "_%n day_::_%n days_" : ["יום","יומיים","%n ימים","%n ימים"],
- "_%n hour_::_%n hours_" : ["שעה","שעתיים","%n שעות","%n שעות"],
- "_%n minute_::_%n minutes_" : ["דקה","%n דקות","%n דקות","%n דקות"],
- "%s (in %s)" : "%s (בתוך %s)",
- "%s (%s ago)" : "%s (לפני %s)",
- "Calendar: %s" : "לוח שנה: %s",
- "Date: %s" : "תאריך: %s",
- "Description: %s" : "תיאור: %s",
- "Where: %s" : "איפה: %s",
- "%1$s via %2$s" : "%1$s דרך %2$s",
- "Organizer:" : "ארגון:",
- "Attendees:" : "משתתפים:",
- "Title:" : "כותרת:",
- "Time:" : "שעה:",
- "Location:" : "מיקום:",
- "Link:" : "קישור:",
- "Accept" : "קבלה",
- "Decline" : "דחייה",
- "More options …" : "אפשרויות נוספות…",
- "More options at %s" : "אפשרויות נוספים ב־%s",
- "Contacts" : "אנשי קשר",
- "Upgrade needed" : "נדרש עדכון",
- "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "עליך להגדיר את ה־%s שלך להשתמש ב־HTTPS כדי להשתמש ב־CalDAV וב־CardDAV עם iOS/macOS.",
- "Configures a CalDAV account" : "מגדיר חשבון CalDAV",
- "Configures a CardDAV account" : "מגדיר חשבון CardDAV",
- "Events" : "אירועים",
- "Tasks" : "משימות",
- "Untitled task" : "משימה ללא כותרת",
- "Completed on %s" : "הושלמה ב־%s",
- "Contacts and groups" : "אנשי קשר וקבוצות",
- "WebDAV" : "WebDAV",
- "WebDAV endpoint" : "נקודת קצה WebDAV",
- "to" : "אל",
- "Monday" : "יום שני",
- "Tuesday" : "יום שלישי",
- "Wednesday" : "יום רביעי",
- "Thursday" : "יום חמישי",
- "Friday" : "יום שישי",
- "Saturday" : "יום שבת",
- "Sunday" : "יום ראשון",
- "Save" : "שמירה",
- "Calendar server" : "שרת לוח שנה",
- "Send invitations to attendees" : "שליחת הזמנות למשתתפים",
- "Automatically generate a birthday calendar" : "יצירת יומן ימי הולדת אוטומטית",
- "Birthday calendars will be generated by a background job." : "יומני ימי הולדת ייווצרו על ידי משימה ברקע.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "לכן הם לא יהיה זמינים מיד לאחר ההפעלה אלא הם יופיעו לאחר זמן מה.",
- "Send notifications for events" : "שליחת התראות לאירועים",
- "Notifications are sent via background jobs, so these must occur often enough." : "התראות נשלחות באמצעות משימות רקע, לכן הבדיקה תתבצע יחסית לעתים קרובות.",
- "Enable notifications for events via push" : "הפעלת התראות לאירועים בדחיפה",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "עליך גם להתקין את {calendarappstoreopen}יישומון לוח שנה{linkclose}, או {calendardocopen}לחבר את שולחן העבודה והמכשיר הנייד שלך לסנכרון ↖{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "נא לוודא שהגדרת את {emailopen}שרת הדוא״ל{linkclose} כראוי.",
- "There was an error updating your attendance status." : "אירעה שגיאה בעת עדכון מצב ההשתתפות שלך.",
- "Please contact the organizer directly." : "נא ליצור קשר עם הגוף מארגן ישירות.",
- "Are you accepting the invitation?" : "האם להיענות להזמנה?",
- "Tentative" : "טנטטיבית",
- "Your attendance was updated successfully." : "ההשתתפות שלך עודכנה בהצלחה."
-},
-"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
diff --git a/apps/dav/l10n/he.json b/apps/dav/l10n/he.json
deleted file mode 100644
index 2eebd45a9f5..00000000000
--- a/apps/dav/l10n/he.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{ "translations": {
- "Calendar" : "יומן",
- "Personal" : "אישי",
- "{actor} created calendar {calendar}" : "היומן {calendar} נוצר על ידי {actor}",
- "You created calendar {calendar}" : "מחקת את היומן {calendar}",
- "{actor} deleted calendar {calendar}" : "היומן {calendar} נמחק על ידי {actor}",
- "You deleted calendar {calendar}" : "מחקת את היומן {calendar}",
- "{actor} updated calendar {calendar}" : "היומן {calendar} עודכן על ידי {actor}",
- "You updated calendar {calendar}" : "עדכנת את היומן {calendar}",
- "You shared calendar {calendar} as public link" : "שיתפת את היומן {calendar} כקישור ציבורי",
- "You removed public link for calendar {calendar}" : "הסרת את הקישור הציבורי ליומן {calendar}",
- "{actor} shared calendar {calendar} with you" : "שותף אתך לוח השנה {calendar} על ידי {actor}",
- "You shared calendar {calendar} with {user}" : "שיתפת לוח שנה {calendar} עם {user}",
- "{actor} shared calendar {calendar} with {user}" : "לוח השנה {calendar} שותף על ידי {actor} עם {user}",
- "{actor} unshared calendar {calendar} from you" : "השיתוף של לוח השנה {calendar} אתך הופסק על ידי {actor}",
- "You unshared calendar {calendar} from {user}" : "ביטלת את שיתוף לוח השנה {calendar} עם {user}",
- "{actor} unshared calendar {calendar} from {user}" : "השיתוף של לוח השנה {calendar} עם {user} הופסק על ידי {actor}",
- "{actor} unshared calendar {calendar} from themselves" : "השיתוף של לוח השנה {calendar} עם עצמם הופסק על ידי {actor}",
- "You shared calendar {calendar} with group {group}" : "שיתפת את לוח השנה {calendar} עם הקבוצה {group}",
- "{actor} shared calendar {calendar} with group {group}" : "לוח השנה {calendar} שותף עם הקבוצה {group} על ידי {actor}",
- "You unshared calendar {calendar} from group {group}" : "הפסקת את שיתוף לוח השנה {calendar} עם הקבוצה {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "השיתוף של לוח השנה {calendar} עם {group} הופסק על ידי {actor}",
- "Untitled event" : "אירוע ללא כותרת",
- "{actor} created event {event} in calendar {calendar}" : "האירוע {event} נוצר בלוח השנה {calendar} על ידי {actor}",
- "You created event {event} in calendar {calendar}" : "יצרת אירוע {event} בלוח השנה {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "האירוע {event} נמחק מלוח השנה {calendar} על ידי {actor}",
- "You deleted event {event} from calendar {calendar}" : "מחקת אירוע {event} מלוח השנה {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "האירוע {event} עודכן בלוח השנה {calendar} על ידי {actor}",
- "You updated event {event} in calendar {calendar}" : "עדכנת את האירוע {event} בלוח השנה {calendar}",
- "Busy" : "עסוק",
- "A <strong>calendar</strong> was modified" : " <strong>יומן</strong> נערך",
- "A calendar <strong>event</strong> was modified" : "<strong>אירוע</strong> ביומן נערך",
- "Contact birthdays" : "ימי הולדת של אנשי קשר",
- "Death of %s" : "הפטירה של %s",
- "Untitled calendar" : "לוח שנה ללא כותרת",
- "Calendar:" : "לוח שנה:",
- "Date:" : "תאריך:",
- "Where:" : "איפה:",
- "Description:" : "תיאור:",
- "_%n year_::_%n years_" : ["שנה","שנתיים","%n שנים","%n שנים"],
- "_%n month_::_%n months_" : ["חודש","חודשיים","%n חודשים","%n חודשים"],
- "_%n day_::_%n days_" : ["יום","יומיים","%n ימים","%n ימים"],
- "_%n hour_::_%n hours_" : ["שעה","שעתיים","%n שעות","%n שעות"],
- "_%n minute_::_%n minutes_" : ["דקה","%n דקות","%n דקות","%n דקות"],
- "%s (in %s)" : "%s (בתוך %s)",
- "%s (%s ago)" : "%s (לפני %s)",
- "Calendar: %s" : "לוח שנה: %s",
- "Date: %s" : "תאריך: %s",
- "Description: %s" : "תיאור: %s",
- "Where: %s" : "איפה: %s",
- "%1$s via %2$s" : "%1$s דרך %2$s",
- "Organizer:" : "ארגון:",
- "Attendees:" : "משתתפים:",
- "Title:" : "כותרת:",
- "Time:" : "שעה:",
- "Location:" : "מיקום:",
- "Link:" : "קישור:",
- "Accept" : "קבלה",
- "Decline" : "דחייה",
- "More options …" : "אפשרויות נוספות…",
- "More options at %s" : "אפשרויות נוספים ב־%s",
- "Contacts" : "אנשי קשר",
- "Upgrade needed" : "נדרש עדכון",
- "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "עליך להגדיר את ה־%s שלך להשתמש ב־HTTPS כדי להשתמש ב־CalDAV וב־CardDAV עם iOS/macOS.",
- "Configures a CalDAV account" : "מגדיר חשבון CalDAV",
- "Configures a CardDAV account" : "מגדיר חשבון CardDAV",
- "Events" : "אירועים",
- "Tasks" : "משימות",
- "Untitled task" : "משימה ללא כותרת",
- "Completed on %s" : "הושלמה ב־%s",
- "Contacts and groups" : "אנשי קשר וקבוצות",
- "WebDAV" : "WebDAV",
- "WebDAV endpoint" : "נקודת קצה WebDAV",
- "to" : "אל",
- "Monday" : "יום שני",
- "Tuesday" : "יום שלישי",
- "Wednesday" : "יום רביעי",
- "Thursday" : "יום חמישי",
- "Friday" : "יום שישי",
- "Saturday" : "יום שבת",
- "Sunday" : "יום ראשון",
- "Save" : "שמירה",
- "Calendar server" : "שרת לוח שנה",
- "Send invitations to attendees" : "שליחת הזמנות למשתתפים",
- "Automatically generate a birthday calendar" : "יצירת יומן ימי הולדת אוטומטית",
- "Birthday calendars will be generated by a background job." : "יומני ימי הולדת ייווצרו על ידי משימה ברקע.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "לכן הם לא יהיה זמינים מיד לאחר ההפעלה אלא הם יופיעו לאחר זמן מה.",
- "Send notifications for events" : "שליחת התראות לאירועים",
- "Notifications are sent via background jobs, so these must occur often enough." : "התראות נשלחות באמצעות משימות רקע, לכן הבדיקה תתבצע יחסית לעתים קרובות.",
- "Enable notifications for events via push" : "הפעלת התראות לאירועים בדחיפה",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "עליך גם להתקין את {calendarappstoreopen}יישומון לוח שנה{linkclose}, או {calendardocopen}לחבר את שולחן העבודה והמכשיר הנייד שלך לסנכרון ↖{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "נא לוודא שהגדרת את {emailopen}שרת הדוא״ל{linkclose} כראוי.",
- "There was an error updating your attendance status." : "אירעה שגיאה בעת עדכון מצב ההשתתפות שלך.",
- "Please contact the organizer directly." : "נא ליצור קשר עם הגוף מארגן ישירות.",
- "Are you accepting the invitation?" : "האם להיענות להזמנה?",
- "Tentative" : "טנטטיבית",
- "Your attendance was updated successfully." : "ההשתתפות שלך עודכנה בהצלחה."
-},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/hr.js b/apps/dav/l10n/hr.js
deleted file mode 100644
index 0399a414f65..00000000000
--- a/apps/dav/l10n/hr.js
+++ /dev/null
@@ -1,157 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Kalendar",
- "Tasks" : "Zadaci",
- "Personal" : "Osobno",
- "{actor} created calendar {calendar}" : "{actor} je stvorio kalendar {calendar}",
- "You created calendar {calendar}" : "Stvorili ste kalendar {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} je izbrisao kalendar {calendar}",
- "You deleted calendar {calendar}" : "Izbrisali ste kalendar {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} je ažurirao kalendar {calendar}",
- "You updated calendar {calendar}" : "Ažurirali ste kalendar {calendar}",
- "{actor} restored calendar {calendar}" : "{actor} je vratio kalendar {calendar}",
- "You restored calendar {calendar}" : "Vratili ste kalendar {calendar}",
- "You shared calendar {calendar} as public link" : "Podijelili ste kalendar {calendar} putem javne poveznice",
- "You removed public link for calendar {calendar}" : "Uklonili ste javnu poveznicu na kalendar {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} dijeli kalendar {calendar} s vama",
- "You shared calendar {calendar} with {user}" : "Podijelili ste kalendar {calendar} s {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} dijeli kalendar {calendar} s {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} više ne dijeli kalendar {calendar} s vama",
- "You unshared calendar {calendar} from {user}" : "Više ne dijelite kalendar {calendar} s {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} više ne dijeli kalendar {calendar} s {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} više ne dijeli kalendar {calendar} sam sa sobom",
- "You shared calendar {calendar} with group {group}" : "Podijelili ste kalendar {calendar} s grupom {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} dijeli kalendar {calendar} s grupom {group}",
- "You unshared calendar {calendar} from group {group}" : "Više ne dijelite kalendar {calendar} s grupom {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} više ne dijeli kalendar {calendar} s grupom {group}",
- "Untitled event" : "Događaj bez naslova",
- "{actor} created event {event} in calendar {calendar}" : "{actor} je stvorio događaj {event} u kalendaru {calendar}",
- "You created event {event} in calendar {calendar}" : "Stvorili ste događaj {event} u kalendaru {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} je izbrisao događaj {event} iz kalendara {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Izbrisali ste događaj {event} iz kalendara {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} je ažurirao događaj {event} u kalendaru {calendar}",
- "You updated event {event} in calendar {calendar}" : "Ažurirali ste događaj {event} u kalendaru {calendar}",
- "{actor} restored event {event} of calendar {calendar}" : "{actor} je vratio događaj {event} kalendara {calendar}",
- "You restored event {event} of calendar {calendar}" : "Vratili ste događaj {event} kalendara {calendar}",
- "Busy" : "Zauzeto",
- "Calendar, contacts and tasks" : "Kalendar, kontakti i zadaci",
- "A <strong>calendar</strong> was modified" : "Izmijenjen je <strong>kalendar</strong>",
- "A calendar <strong>event</strong> was modified" : "Izmijenjen je <strong>događaj</strong> u kalendaru",
- "Contact birthdays" : "Rođendani kontakata",
- "Death of %s" : "Smrt %s",
- "Untitled calendar" : "Kalendar bez naslova",
- "Calendar:" : "Kalendar:",
- "Date:" : "Datum:",
- "Where:" : "Gdje:",
- "Description:" : "Opis:",
- "_%n year_::_%n years_" : ["%n godina","%n godina","%n godina"],
- "_%n month_::_%n months_" : ["%n mjesec","%n mjeseci","%n mjeseci"],
- "_%n day_::_%n days_" : ["%n dan","%n dana","%n dana"],
- "_%n hour_::_%n hours_" : ["%n sat","%n sati","%n sati"],
- "_%n minute_::_%n minutes_" : ["%n minute/minuta","%n minuta","%n minuta"],
- "%s (in %s)" : "%s (u %s)",
- "%s (%s ago)" : "%s (prije %s)",
- "Calendar: %s" : "Kalendar: %s",
- "Date: %s" : "Datum: %s",
- "Description: %s" : "Opis: %s",
- "Where: %s" : "Gdje: %s",
- "%1$s via %2$s" : "%1$s putem %2$s",
- "Cancelled: %1$s" : "Otkazano: %1$s",
- "Re: %1$s" : "Odgovor: %1 $ s",
- "Invitation: %1$s" : "Pozivnica: %1$s",
- "Organizer:" : "Organizator:",
- "Attendees:" : "Polaznici:",
- "Title:" : "Naslov:",
- "When:" : "Kada:",
- "Location:" : "Lokacija:",
- "Link:" : "Poveznica:",
- "Accept" : "Prihvati",
- "Decline" : "Odbij",
- "More options …" : "Više mogućnosti…",
- "More options at %s" : "Više mogućnosti na %s",
- "Monday" : "Ponedjeljak",
- "Tuesday" : "Utorak",
- "Wednesday" : "Srijeda",
- "Thursday" : "Četvrtak",
- "Friday" : "Petak",
- "Saturday" : "Subota",
- "Sunday" : "Nedjelja",
- "January" : "Siječanj",
- "February" : "Veljača",
- "March" : "Ožujak",
- "April" : "Travanj",
- "May" : "Svibanj",
- "June" : "Lipanj",
- "July" : "Srpanj",
- "August" : "Kolovoz",
- "September" : "Rujan",
- "October" : "Listopad",
- "November" : "Studeni",
- "December" : "Prosinac",
- "First" : "Prvi",
- "Last" : "Zadnji",
- "Contacts" : "Kontakti",
- "{actor} created address book {addressbook}" : "{actor} je stvorio adresar {addressbook}",
- "You created address book {addressbook}" : "Stvorili ste adresar {addressbook}",
- "{actor} deleted address book {addressbook}" : "{actor} je izbrisao adresar {addressbook}",
- "You deleted address book {addressbook}" : "Izbrisali ste adresar {addressbook}",
- "{actor} updated address book {addressbook}" : "{actor} je ažurirao adresar {addressbook}",
- "You updated address book {addressbook}" : "Ažurirali ste adresar {addressbook}",
- "{actor} shared address book {addressbook} with you" : "{actor} dijeli adresar {addressbook} s vama",
- "You shared address book {addressbook} with {user}" : "Dijelite adresar {addressbook} s {user}",
- "{actor} shared address book {addressbook} with {user}" : "{actor} dijeli adresar {addressbook} s {user}",
- "{actor} unshared address book {addressbook} from you" : "{actor} je prestao dijeliti adresar {addressbook} s vama",
- "You unshared address book {addressbook} from {user}" : "Prestali ste dijeliti adresar {addressbook} s {user}",
- "{actor} unshared address book {addressbook} from {user}" : "{actor} je prestao dijeliti adresar {addressbook} s {user}",
- "{actor} unshared address book {addressbook} from themselves" : "{actor} je prestao dijeliti adresar {addressbook} sa sobom",
- "You shared address book {addressbook} with group {group}" : "Dijelite adresar {addressbook} s grupom {group}",
- "{actor} shared address book {addressbook} with group {group}" : "{actor} dijeli adresar {addressbook} s grupom {group}",
- "You unshared address book {addressbook} from group {group}" : "Prestali ste dijeliti adresar {addressbook} s grupom {group}",
- "{actor} unshared address book {addressbook} from group {group}" : "{actor} je prestao dijeliti adresar {addressbook} s grupom {group}",
- "{actor} created contact {card} in address book {addressbook}" : "{actor} je stvorio kontakt {card} u adresaru {addressbook}",
- "You created contact {card} in address book {addressbook}" : "Stvorili ste kontakt {card} u adresaru {addressbook}",
- "{actor} deleted contact {card} from address book {addressbook}" : "{actor} je izbrisao kontakt {card} iz adresara {addressbook}",
- "You deleted contact {card} from address book {addressbook}" : "Izbrisali ste kontakt {card} iz adresara {addressbook}",
- "{actor} updated contact {card} in address book {addressbook}" : "{actor} je ažurirao kontakt {card} u adresaru {addressbook}",
- "You updated contact {card} in address book {addressbook}" : "Ažurirali ste kontakt {card} u adresaru {addressbook}",
- "A <strong>contact</strong> or <strong>address book</strong> was modified" : "Izmijenjen je <strong>kontakt</strong> ili <strong>adresar</strong>",
- "Accounts" : "Korisnićki računi",
- "System is in maintenance mode." : "Sustav je u načinu održavanja.",
- "Upgrade needed" : "Potrebno nadograditi",
- "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Vaš %s treba konfigurirati za korištenje HTTPS-a kako bi se mogli upotrebljavati CalDAV i CardDAV s operacijskim sustavom iOS/macOS.",
- "Configures a CalDAV account" : "Konfigurira CalDAV račun",
- "Configures a CardDAV account" : "Konfigurira CardDAV račun",
- "Events" : "Događaji",
- "Untitled task" : "Zadatak bez naslova",
- "Completed on %s" : "Završeno na %s",
- "Due on %s by %s" : "%s treba završiti do %s",
- "Due on %s" : "Treba završiti do %s",
- "WebDAV endpoint" : "WebDAV krajnja točka",
- "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Vaš mrežni poslužitelj nije pravilno podešen za sinkronizaciju podataka jer je sučelje protokola WebDAV neispravno.",
- "Contacts and groups" : "Kontakti i grupe",
- "WebDAV" : "WebDAV",
- "Save" : "Spremi",
- "to" : "do",
- "Delete slot" : "Izbriši mjesto",
- "Add slot" : "Dodaj mjesto",
- "Availability" : "Raspoloživost",
- "Calendar server" : "Poslužitelj kalendara",
- "Send invitations to attendees" : "Pošaljite pozive sudionicima",
- "Automatically generate a birthday calendar" : "Automatski generiraj kalendar rođendana",
- "Birthday calendars will be generated by a background job." : "Kalendari rođendana generirat će se u pozadini.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Stoga neće biti dostupni odmah nakon omogućivanja, ali će se pojaviti nakon nekog vremena.",
- "Send notifications for events" : "Šalji obavijesti o događajima",
- "Notifications are sent via background jobs, so these must occur often enough." : "Obavijesti se šalju putem pozadinskih zadataka koji se moraju dovoljno često izvoditi.",
- "Enable notifications for events via push" : "Omogući slanje obavijesti o događajima putem push obavijesti",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Također instalirajte {calendarappstoreopen}aplikaciju Kalendar{linkclose} ili {calendardocopen}povežite računalo i mobilni uređaj radi sinkroniziranja ↗{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Provjerite jeste li ispravno postavili {emailopen}poslužitelj e-pošte{linkclose}.",
- "There was an error updating your attendance status." : "Došlo je do pogreške prilikom ažuriranja statusa prisutnosti.",
- "Please contact the organizer directly." : "Izravno se obratite organizatoru.",
- "Are you accepting the invitation?" : "Prihvaćate li poziv?",
- "Tentative" : "Uvjetno",
- "Your attendance was updated successfully." : "Vaša je prisutnost uspješno ažurirana.",
- "Time:" : "Vrijeme:",
- "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Ako konfigurirate svoje radno vrijeme, drugi korisnici moći će vidjeti jeste li izvan ureda kada rezerviraju sastanak."
-},
-"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/dav/l10n/hr.json b/apps/dav/l10n/hr.json
deleted file mode 100644
index a3b41038c8c..00000000000
--- a/apps/dav/l10n/hr.json
+++ /dev/null
@@ -1,155 +0,0 @@
-{ "translations": {
- "Calendar" : "Kalendar",
- "Tasks" : "Zadaci",
- "Personal" : "Osobno",
- "{actor} created calendar {calendar}" : "{actor} je stvorio kalendar {calendar}",
- "You created calendar {calendar}" : "Stvorili ste kalendar {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} je izbrisao kalendar {calendar}",
- "You deleted calendar {calendar}" : "Izbrisali ste kalendar {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} je ažurirao kalendar {calendar}",
- "You updated calendar {calendar}" : "Ažurirali ste kalendar {calendar}",
- "{actor} restored calendar {calendar}" : "{actor} je vratio kalendar {calendar}",
- "You restored calendar {calendar}" : "Vratili ste kalendar {calendar}",
- "You shared calendar {calendar} as public link" : "Podijelili ste kalendar {calendar} putem javne poveznice",
- "You removed public link for calendar {calendar}" : "Uklonili ste javnu poveznicu na kalendar {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} dijeli kalendar {calendar} s vama",
- "You shared calendar {calendar} with {user}" : "Podijelili ste kalendar {calendar} s {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} dijeli kalendar {calendar} s {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} više ne dijeli kalendar {calendar} s vama",
- "You unshared calendar {calendar} from {user}" : "Više ne dijelite kalendar {calendar} s {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} više ne dijeli kalendar {calendar} s {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} više ne dijeli kalendar {calendar} sam sa sobom",
- "You shared calendar {calendar} with group {group}" : "Podijelili ste kalendar {calendar} s grupom {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} dijeli kalendar {calendar} s grupom {group}",
- "You unshared calendar {calendar} from group {group}" : "Više ne dijelite kalendar {calendar} s grupom {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} više ne dijeli kalendar {calendar} s grupom {group}",
- "Untitled event" : "Događaj bez naslova",
- "{actor} created event {event} in calendar {calendar}" : "{actor} je stvorio događaj {event} u kalendaru {calendar}",
- "You created event {event} in calendar {calendar}" : "Stvorili ste događaj {event} u kalendaru {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} je izbrisao događaj {event} iz kalendara {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Izbrisali ste događaj {event} iz kalendara {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} je ažurirao događaj {event} u kalendaru {calendar}",
- "You updated event {event} in calendar {calendar}" : "Ažurirali ste događaj {event} u kalendaru {calendar}",
- "{actor} restored event {event} of calendar {calendar}" : "{actor} je vratio događaj {event} kalendara {calendar}",
- "You restored event {event} of calendar {calendar}" : "Vratili ste događaj {event} kalendara {calendar}",
- "Busy" : "Zauzeto",
- "Calendar, contacts and tasks" : "Kalendar, kontakti i zadaci",
- "A <strong>calendar</strong> was modified" : "Izmijenjen je <strong>kalendar</strong>",
- "A calendar <strong>event</strong> was modified" : "Izmijenjen je <strong>događaj</strong> u kalendaru",
- "Contact birthdays" : "Rođendani kontakata",
- "Death of %s" : "Smrt %s",
- "Untitled calendar" : "Kalendar bez naslova",
- "Calendar:" : "Kalendar:",
- "Date:" : "Datum:",
- "Where:" : "Gdje:",
- "Description:" : "Opis:",
- "_%n year_::_%n years_" : ["%n godina","%n godina","%n godina"],
- "_%n month_::_%n months_" : ["%n mjesec","%n mjeseci","%n mjeseci"],
- "_%n day_::_%n days_" : ["%n dan","%n dana","%n dana"],
- "_%n hour_::_%n hours_" : ["%n sat","%n sati","%n sati"],
- "_%n minute_::_%n minutes_" : ["%n minute/minuta","%n minuta","%n minuta"],
- "%s (in %s)" : "%s (u %s)",
- "%s (%s ago)" : "%s (prije %s)",
- "Calendar: %s" : "Kalendar: %s",
- "Date: %s" : "Datum: %s",
- "Description: %s" : "Opis: %s",
- "Where: %s" : "Gdje: %s",
- "%1$s via %2$s" : "%1$s putem %2$s",
- "Cancelled: %1$s" : "Otkazano: %1$s",
- "Re: %1$s" : "Odgovor: %1 $ s",
- "Invitation: %1$s" : "Pozivnica: %1$s",
- "Organizer:" : "Organizator:",
- "Attendees:" : "Polaznici:",
- "Title:" : "Naslov:",
- "When:" : "Kada:",
- "Location:" : "Lokacija:",
- "Link:" : "Poveznica:",
- "Accept" : "Prihvati",
- "Decline" : "Odbij",
- "More options …" : "Više mogućnosti…",
- "More options at %s" : "Više mogućnosti na %s",
- "Monday" : "Ponedjeljak",
- "Tuesday" : "Utorak",
- "Wednesday" : "Srijeda",
- "Thursday" : "Četvrtak",
- "Friday" : "Petak",
- "Saturday" : "Subota",
- "Sunday" : "Nedjelja",
- "January" : "Siječanj",
- "February" : "Veljača",
- "March" : "Ožujak",
- "April" : "Travanj",
- "May" : "Svibanj",
- "June" : "Lipanj",
- "July" : "Srpanj",
- "August" : "Kolovoz",
- "September" : "Rujan",
- "October" : "Listopad",
- "November" : "Studeni",
- "December" : "Prosinac",
- "First" : "Prvi",
- "Last" : "Zadnji",
- "Contacts" : "Kontakti",
- "{actor} created address book {addressbook}" : "{actor} je stvorio adresar {addressbook}",
- "You created address book {addressbook}" : "Stvorili ste adresar {addressbook}",
- "{actor} deleted address book {addressbook}" : "{actor} je izbrisao adresar {addressbook}",
- "You deleted address book {addressbook}" : "Izbrisali ste adresar {addressbook}",
- "{actor} updated address book {addressbook}" : "{actor} je ažurirao adresar {addressbook}",
- "You updated address book {addressbook}" : "Ažurirali ste adresar {addressbook}",
- "{actor} shared address book {addressbook} with you" : "{actor} dijeli adresar {addressbook} s vama",
- "You shared address book {addressbook} with {user}" : "Dijelite adresar {addressbook} s {user}",
- "{actor} shared address book {addressbook} with {user}" : "{actor} dijeli adresar {addressbook} s {user}",
- "{actor} unshared address book {addressbook} from you" : "{actor} je prestao dijeliti adresar {addressbook} s vama",
- "You unshared address book {addressbook} from {user}" : "Prestali ste dijeliti adresar {addressbook} s {user}",
- "{actor} unshared address book {addressbook} from {user}" : "{actor} je prestao dijeliti adresar {addressbook} s {user}",
- "{actor} unshared address book {addressbook} from themselves" : "{actor} je prestao dijeliti adresar {addressbook} sa sobom",
- "You shared address book {addressbook} with group {group}" : "Dijelite adresar {addressbook} s grupom {group}",
- "{actor} shared address book {addressbook} with group {group}" : "{actor} dijeli adresar {addressbook} s grupom {group}",
- "You unshared address book {addressbook} from group {group}" : "Prestali ste dijeliti adresar {addressbook} s grupom {group}",
- "{actor} unshared address book {addressbook} from group {group}" : "{actor} je prestao dijeliti adresar {addressbook} s grupom {group}",
- "{actor} created contact {card} in address book {addressbook}" : "{actor} je stvorio kontakt {card} u adresaru {addressbook}",
- "You created contact {card} in address book {addressbook}" : "Stvorili ste kontakt {card} u adresaru {addressbook}",
- "{actor} deleted contact {card} from address book {addressbook}" : "{actor} je izbrisao kontakt {card} iz adresara {addressbook}",
- "You deleted contact {card} from address book {addressbook}" : "Izbrisali ste kontakt {card} iz adresara {addressbook}",
- "{actor} updated contact {card} in address book {addressbook}" : "{actor} je ažurirao kontakt {card} u adresaru {addressbook}",
- "You updated contact {card} in address book {addressbook}" : "Ažurirali ste kontakt {card} u adresaru {addressbook}",
- "A <strong>contact</strong> or <strong>address book</strong> was modified" : "Izmijenjen je <strong>kontakt</strong> ili <strong>adresar</strong>",
- "Accounts" : "Korisnićki računi",
- "System is in maintenance mode." : "Sustav je u načinu održavanja.",
- "Upgrade needed" : "Potrebno nadograditi",
- "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Vaš %s treba konfigurirati za korištenje HTTPS-a kako bi se mogli upotrebljavati CalDAV i CardDAV s operacijskim sustavom iOS/macOS.",
- "Configures a CalDAV account" : "Konfigurira CalDAV račun",
- "Configures a CardDAV account" : "Konfigurira CardDAV račun",
- "Events" : "Događaji",
- "Untitled task" : "Zadatak bez naslova",
- "Completed on %s" : "Završeno na %s",
- "Due on %s by %s" : "%s treba završiti do %s",
- "Due on %s" : "Treba završiti do %s",
- "WebDAV endpoint" : "WebDAV krajnja točka",
- "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Vaš mrežni poslužitelj nije pravilno podešen za sinkronizaciju podataka jer je sučelje protokola WebDAV neispravno.",
- "Contacts and groups" : "Kontakti i grupe",
- "WebDAV" : "WebDAV",
- "Save" : "Spremi",
- "to" : "do",
- "Delete slot" : "Izbriši mjesto",
- "Add slot" : "Dodaj mjesto",
- "Availability" : "Raspoloživost",
- "Calendar server" : "Poslužitelj kalendara",
- "Send invitations to attendees" : "Pošaljite pozive sudionicima",
- "Automatically generate a birthday calendar" : "Automatski generiraj kalendar rođendana",
- "Birthday calendars will be generated by a background job." : "Kalendari rođendana generirat će se u pozadini.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Stoga neće biti dostupni odmah nakon omogućivanja, ali će se pojaviti nakon nekog vremena.",
- "Send notifications for events" : "Šalji obavijesti o događajima",
- "Notifications are sent via background jobs, so these must occur often enough." : "Obavijesti se šalju putem pozadinskih zadataka koji se moraju dovoljno često izvoditi.",
- "Enable notifications for events via push" : "Omogući slanje obavijesti o događajima putem push obavijesti",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Također instalirajte {calendarappstoreopen}aplikaciju Kalendar{linkclose} ili {calendardocopen}povežite računalo i mobilni uređaj radi sinkroniziranja ↗{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Provjerite jeste li ispravno postavili {emailopen}poslužitelj e-pošte{linkclose}.",
- "There was an error updating your attendance status." : "Došlo je do pogreške prilikom ažuriranja statusa prisutnosti.",
- "Please contact the organizer directly." : "Izravno se obratite organizatoru.",
- "Are you accepting the invitation?" : "Prihvaćate li poziv?",
- "Tentative" : "Uvjetno",
- "Your attendance was updated successfully." : "Vaša je prisutnost uspješno ažurirana.",
- "Time:" : "Vrijeme:",
- "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Ako konfigurirate svoje radno vrijeme, drugi korisnici moći će vidjeti jeste li izvan ureda kada rezerviraju sastanak."
-},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/hu.js b/apps/dav/l10n/hu.js
index 6b3c40357a1..d45c4d340dd 100644
--- a/apps/dav/l10n/hu.js
+++ b/apps/dav/l10n/hu.js
@@ -223,8 +223,8 @@ OC.L10N.register(
"Absence cleared" : "Távollét törölve",
"Failed to clear your absence settings" : "Nem sikerült a távolléti beállítások törlése",
"First day" : "Első nap",
- "Last day (inclusive)" : "Utols nap (beleértve)",
- "Out of office replacement (optional)" : "Távolléti helyettesítő (opcionális)",
+ "Last day (inclusive)" : "Utolsó nap (beleértve)",
+ "Out of office replacement (optional)" : "Távolléti helyettesítő (nem kötelező)",
"Name of the replacement" : "Helyettesítő neve",
"No results." : "Nincs eredmény.",
"Start typing." : "Kezdjen gépelni.",
diff --git a/apps/dav/l10n/hu.json b/apps/dav/l10n/hu.json
index 08ab94adbdc..2e623866c60 100644
--- a/apps/dav/l10n/hu.json
+++ b/apps/dav/l10n/hu.json
@@ -221,8 +221,8 @@
"Absence cleared" : "Távollét törölve",
"Failed to clear your absence settings" : "Nem sikerült a távolléti beállítások törlése",
"First day" : "Első nap",
- "Last day (inclusive)" : "Utols nap (beleértve)",
- "Out of office replacement (optional)" : "Távolléti helyettesítő (opcionális)",
+ "Last day (inclusive)" : "Utolsó nap (beleértve)",
+ "Out of office replacement (optional)" : "Távolléti helyettesítő (nem kötelező)",
"Name of the replacement" : "Helyettesítő neve",
"No results." : "Nincs eredmény.",
"Start typing." : "Kezdjen gépelni.",
diff --git a/apps/dav/l10n/id.js b/apps/dav/l10n/id.js
deleted file mode 100644
index 0ab333b580f..00000000000
--- a/apps/dav/l10n/id.js
+++ /dev/null
@@ -1,11 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Contact birthdays" : "Ulang tahun kontak",
- "Personal" : "Pribadi",
- "Contacts" : "Kontak",
- "Technical details" : "Rincian teknis",
- "Remote Address: %s" : "Alamat remote: %s",
- "Request ID: %s" : "ID Permintaan: %s"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/dav/l10n/id.json b/apps/dav/l10n/id.json
deleted file mode 100644
index 44280c8125b..00000000000
--- a/apps/dav/l10n/id.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{ "translations": {
- "Contact birthdays" : "Ulang tahun kontak",
- "Personal" : "Pribadi",
- "Contacts" : "Kontak",
- "Technical details" : "Rincian teknis",
- "Remote Address: %s" : "Alamat remote: %s",
- "Request ID: %s" : "ID Permintaan: %s"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/ka_GE.js b/apps/dav/l10n/ka_GE.js
deleted file mode 100644
index 05fa6351239..00000000000
--- a/apps/dav/l10n/ka_GE.js
+++ /dev/null
@@ -1,66 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "კალენდარი",
- "Todos" : "შესასრულებელი დავალებები",
- "Personal" : "პირადი",
- "{actor} created calendar {calendar}" : "{actor} მომხმარებელმა შექმნა კალენდარი {calendar}",
- "You created calendar {calendar}" : "თქვენ შექმენით {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} მომხმარებელმამა გააუქმა კალენდარი {calendar}",
- "You deleted calendar {calendar}" : "თქვენ გააუქმეთ კალენდარი {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} მომხმარებელმა განაახლა კალენდარი {calendar}",
- "You updated calendar {calendar}" : "თქვენ განაახლეთ კალენდარი {calendar}",
- "You shared calendar {calendar} as public link" : "თქვენ გააზიარეთ კალენდარი {calendar} საზოგადო ბმულის სახით",
- "You removed public link for calendar {calendar}" : "თქვენ გააუქმეთ საზოგადო ბმული კალენდარზე {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} მომხმარებელმა თქვენთან გააზიარა კალენდარი {calendar}",
- "You shared calendar {calendar} with {user}" : "თქვენ გააზიარეთ კალენდარი {calendar} მომხმარებელთან {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} მომხმარებელმა გააზიარა {calendar} მომხმარებელთან {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} მომხმარებელმა თქვენთან შეწყვიტა {calendar} კალენდრის გაზიარება",
- "You unshared calendar {calendar} from {user}" : "თქვენ შეწყვიტეთ {calendar} კალენდრის გაზიარება მომხმარებელთან {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} მომხმარებელმა შეწყვიტა {calendar} კალენდრის გაზიარება მომხმარებელთან {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} მომხმარებელმა შეწყვიტა {calendar} კალენდრის გაზიარება",
- "You shared calendar {calendar} with group {group}" : "თქვენ გააზიარეთ კალენდარი {calendar} ჯგუფთან {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} მომხმარებელმა გააზიარა {calendar} კალენდარი ჯგუფთან {group}",
- "You unshared calendar {calendar} from group {group}" : "თქვენ შეწყვიტეთ კალენდრის {calendar} გაზიარება ჯგუფთან {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} მომხმარებელმა შეწყვიტა {calendar} კალენდრის გაზიარება ჯგუფთან {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} მომხმარებელმა შექმნა მოვლენა {event} კალენდარში {calendar}",
- "You created event {event} in calendar {calendar}" : "თქვენ შექმენით მოვლენა {event} კალენდარში {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} მომხმარებელმა გააუქმა მოვლენა {event} კალენდარში {calendar}",
- "You deleted event {event} from calendar {calendar}" : "თქვენ გააუქმეთ მოვლენა {event} კალენდარში {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} მომხმარებელმა განაახლა მოვლენა {event} კალენდარში {calendar}",
- "You updated event {event} in calendar {calendar}" : "თქვენ განაახლეთ მოვლენა {event} კალენდარში {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} მომხმარებელმა შექმნა შესასრულებელი დავალება {todo} სიაში {calendar}",
- "You created todo {todo} in list {calendar}" : "თქვენ შექმენით შესასრულებელი დავალება {todo} სიაში {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} მომხმარებელმა გააუქმა შესასრულებელი დავალება {todo} სიიდან {calendar}",
- "You deleted todo {todo} from list {calendar}" : "თქვენ გააუქმეთ შესასრულებელი დავალება {todo} სიიდან {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} მომხმარებელმა განაახლა შესასრულებელი დავალება {todo} სიაში {calendar}",
- "You updated todo {todo} in list {calendar}" : "თქვენ განაახლეთ შესასრულებელი დავალება {todo} in list {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} მომხმარებელმა დაასრულა შესასრულებელი დავალება {todo} სიაში {calendar}",
- "You solved todo {todo} in list {calendar}" : "თქვენ დაასრულეთ შესასრულებელი დავალება {todo} სიაში {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} მომხმარებელმა ხელახლა გახსნა შესასრულებელი დავალება {todo} სიაში {calendar}",
- "You reopened todo {todo} in list {calendar}" : "თქვენ ხელახლა გახსენით შესასრულებელი დავალება {todo} სიაში {calendar}",
- "A <strong>calendar</strong> was modified" : "<strong>კალენდარი</strong> შეიცვალა",
- "A calendar <strong>event</strong> was modified" : "კალენდრის <strong>მოვლენა</strong> შეიცვალა",
- "A calendar <strong>todo</strong> was modified" : "კალენდრის <strong>შესასრულებელი დავალება</strong> შეიცვალა",
- "Contact birthdays" : "კონტაქტების დაბადების დღეები",
- "Where:" : "სად:",
- "Description:" : "აღწერა:",
- "Invitation canceled" : "მოწვევა გაუქმდა",
- "Invitation updated" : "მოწვევა განახლდა",
- "Location:" : "ადგილმდებარეობა:",
- "Link:" : "ბმული:",
- "Accept" : "მიღება",
- "Decline" : "ურაყოფა",
- "Contacts" : "კონტაქტები",
- "Tasks" : "დავალებები",
- "WebDAV" : "WebDAV",
- "Tentative" : "საცდელი",
- "Save" : "შენახვა",
- "Send invitations to attendees" : "გაუგზავნეთ მოწვევა დამსწრეებს",
- "Automatically generate a birthday calendar" : "დაბადების დღეების კალენდრების ავტომატური გენერირება",
- "Birthday calendars will be generated by a background job." : "ბადადების დღეების კალენდრები გენერირებულ იქნება ფონურ რეჟიმში.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "ისინი არ იქნებიან ხელმიწავდომნი უცბად, მაგრამ გამოჩნდებიან გარკვეული პერიოდის შემდეგ.",
- "Hello %s," : "გამარჯობა %s,",
- "When:" : "როდის:"
-},
-"nplurals=2; plural=(n!=1);");
diff --git a/apps/dav/l10n/ka_GE.json b/apps/dav/l10n/ka_GE.json
deleted file mode 100644
index 7597200d061..00000000000
--- a/apps/dav/l10n/ka_GE.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{ "translations": {
- "Calendar" : "კალენდარი",
- "Todos" : "შესასრულებელი დავალებები",
- "Personal" : "პირადი",
- "{actor} created calendar {calendar}" : "{actor} მომხმარებელმა შექმნა კალენდარი {calendar}",
- "You created calendar {calendar}" : "თქვენ შექმენით {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} მომხმარებელმამა გააუქმა კალენდარი {calendar}",
- "You deleted calendar {calendar}" : "თქვენ გააუქმეთ კალენდარი {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} მომხმარებელმა განაახლა კალენდარი {calendar}",
- "You updated calendar {calendar}" : "თქვენ განაახლეთ კალენდარი {calendar}",
- "You shared calendar {calendar} as public link" : "თქვენ გააზიარეთ კალენდარი {calendar} საზოგადო ბმულის სახით",
- "You removed public link for calendar {calendar}" : "თქვენ გააუქმეთ საზოგადო ბმული კალენდარზე {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} მომხმარებელმა თქვენთან გააზიარა კალენდარი {calendar}",
- "You shared calendar {calendar} with {user}" : "თქვენ გააზიარეთ კალენდარი {calendar} მომხმარებელთან {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} მომხმარებელმა გააზიარა {calendar} მომხმარებელთან {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} მომხმარებელმა თქვენთან შეწყვიტა {calendar} კალენდრის გაზიარება",
- "You unshared calendar {calendar} from {user}" : "თქვენ შეწყვიტეთ {calendar} კალენდრის გაზიარება მომხმარებელთან {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} მომხმარებელმა შეწყვიტა {calendar} კალენდრის გაზიარება მომხმარებელთან {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} მომხმარებელმა შეწყვიტა {calendar} კალენდრის გაზიარება",
- "You shared calendar {calendar} with group {group}" : "თქვენ გააზიარეთ კალენდარი {calendar} ჯგუფთან {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} მომხმარებელმა გააზიარა {calendar} კალენდარი ჯგუფთან {group}",
- "You unshared calendar {calendar} from group {group}" : "თქვენ შეწყვიტეთ კალენდრის {calendar} გაზიარება ჯგუფთან {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} მომხმარებელმა შეწყვიტა {calendar} კალენდრის გაზიარება ჯგუფთან {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} მომხმარებელმა შექმნა მოვლენა {event} კალენდარში {calendar}",
- "You created event {event} in calendar {calendar}" : "თქვენ შექმენით მოვლენა {event} კალენდარში {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} მომხმარებელმა გააუქმა მოვლენა {event} კალენდარში {calendar}",
- "You deleted event {event} from calendar {calendar}" : "თქვენ გააუქმეთ მოვლენა {event} კალენდარში {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} მომხმარებელმა განაახლა მოვლენა {event} კალენდარში {calendar}",
- "You updated event {event} in calendar {calendar}" : "თქვენ განაახლეთ მოვლენა {event} კალენდარში {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} მომხმარებელმა შექმნა შესასრულებელი დავალება {todo} სიაში {calendar}",
- "You created todo {todo} in list {calendar}" : "თქვენ შექმენით შესასრულებელი დავალება {todo} სიაში {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} მომხმარებელმა გააუქმა შესასრულებელი დავალება {todo} სიიდან {calendar}",
- "You deleted todo {todo} from list {calendar}" : "თქვენ გააუქმეთ შესასრულებელი დავალება {todo} სიიდან {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} მომხმარებელმა განაახლა შესასრულებელი დავალება {todo} სიაში {calendar}",
- "You updated todo {todo} in list {calendar}" : "თქვენ განაახლეთ შესასრულებელი დავალება {todo} in list {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} მომხმარებელმა დაასრულა შესასრულებელი დავალება {todo} სიაში {calendar}",
- "You solved todo {todo} in list {calendar}" : "თქვენ დაასრულეთ შესასრულებელი დავალება {todo} სიაში {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} მომხმარებელმა ხელახლა გახსნა შესასრულებელი დავალება {todo} სიაში {calendar}",
- "You reopened todo {todo} in list {calendar}" : "თქვენ ხელახლა გახსენით შესასრულებელი დავალება {todo} სიაში {calendar}",
- "A <strong>calendar</strong> was modified" : "<strong>კალენდარი</strong> შეიცვალა",
- "A calendar <strong>event</strong> was modified" : "კალენდრის <strong>მოვლენა</strong> შეიცვალა",
- "A calendar <strong>todo</strong> was modified" : "კალენდრის <strong>შესასრულებელი დავალება</strong> შეიცვალა",
- "Contact birthdays" : "კონტაქტების დაბადების დღეები",
- "Where:" : "სად:",
- "Description:" : "აღწერა:",
- "Invitation canceled" : "მოწვევა გაუქმდა",
- "Invitation updated" : "მოწვევა განახლდა",
- "Location:" : "ადგილმდებარეობა:",
- "Link:" : "ბმული:",
- "Accept" : "მიღება",
- "Decline" : "ურაყოფა",
- "Contacts" : "კონტაქტები",
- "Tasks" : "დავალებები",
- "WebDAV" : "WebDAV",
- "Tentative" : "საცდელი",
- "Save" : "შენახვა",
- "Send invitations to attendees" : "გაუგზავნეთ მოწვევა დამსწრეებს",
- "Automatically generate a birthday calendar" : "დაბადების დღეების კალენდრების ავტომატური გენერირება",
- "Birthday calendars will be generated by a background job." : "ბადადების დღეების კალენდრები გენერირებულ იქნება ფონურ რეჟიმში.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "ისინი არ იქნებიან ხელმიწავდომნი უცბად, მაგრამ გამოჩნდებიან გარკვეული პერიოდის შემდეგ.",
- "Hello %s," : "გამარჯობა %s,",
- "When:" : "როდის:"
-},"pluralForm" :"nplurals=2; plural=(n!=1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/lt_LT.js b/apps/dav/l10n/lt_LT.js
deleted file mode 100644
index b1ff0a2ee48..00000000000
--- a/apps/dav/l10n/lt_LT.js
+++ /dev/null
@@ -1,111 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Kalendorius",
- "Tasks" : "Užduotys",
- "Personal" : "Asmeniniai",
- "{actor} created calendar {calendar}" : "{actor} sukūrė kalendorių {calendar}",
- "You created calendar {calendar}" : "Jūs sukūrėte kalendorių {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} ištrynė kalendorių {calendar}",
- "You deleted calendar {calendar}" : "Jūs ištrynėte kalendorių {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} atnaujino kalendorių {calendar}",
- "You updated calendar {calendar}" : "Jūs atnaujinote kalendorių {calendar}",
- "{actor} restored calendar {calendar}" : "{actor} atkūrė kalendorių {calendar}",
- "You restored calendar {calendar}" : "Jūs atkūrėte kalendorių {calendar}",
- "You shared calendar {calendar} as public link" : "Jūs pradėjote bendrinti kalendorių {calendar} kaip viešąją nuorodą",
- "You removed public link for calendar {calendar}" : "Jūs pašalinote viešąją nuorodą kalendoriui {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} pradėjo bendrinti su jumis kalendorių {calendar}",
- "You shared calendar {calendar} with {user}" : "Jūs pradėjote bendrinti kalendorių {calendar} su {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} pradėjo bendrinti kalendorių {calendar} su {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} nustojo bendrinti su jumis kalendorių {calendar}",
- "You unshared calendar {calendar} from {user}" : "Jūs nustojote bendrinti kalendorių {calendar} su {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} nustojo bendrinti kalendorių {calendar} su {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} nustojo bendrinti su savimi kalendorių {calendar}",
- "You shared calendar {calendar} with group {group}" : "Jūs pradėjote bendrinti kalendorių {calendar} su grupe {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} pradėjo bendrinti kalendorių {calendar} su grupe {group}",
- "You unshared calendar {calendar} from group {group}" : "Jūs nustojote bendrinti kalendorių {calendar} su grupe {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} nustojo bendrinti kalendorių {calendar} su grupe {group}",
- "Untitled event" : "Įvykis be pavadinimo",
- "{actor} created event {event} in calendar {calendar}" : "{actor} kalendoriuje {calendar} sukūrė įvykį {event}",
- "You created event {event} in calendar {calendar}" : "Jūs kalendoriuje {calendar} sukūrėte įvykį {event}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} ištrynė įvykį {event} iš kalendoriaus {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Jūs ištrynėte įvykį {event} iš kalendoriaus {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} kalendoriuje {calendar} atnaujino įvykį {event}",
- "You updated event {event} in calendar {calendar}" : "Jūs kalendoriuje {calendar} atnaujinote įvykį {event}",
- "{actor} restored event {event} of calendar {calendar}" : "{actor} kalendoriuje {calendar} atkūrė įvykį {event}",
- "You restored event {event} of calendar {calendar}" : "Jūs kalendoriuje {calendar} atkūrėte įvykį {event}",
- "Busy" : "Užimtas laikas",
- "Calendar, contacts and tasks" : "Kalendorius, adresatai ir užduotys",
- "A <strong>calendar</strong> was modified" : "<strong>Kalendorius</strong> buvo modifikuotas",
- "A calendar <strong>event</strong> was modified" : "Kalendoriaus <strong>įvykis</strong> buvo modifikuotas",
- "Contact birthdays" : "Adresatų gimtadieniai",
- "Untitled calendar" : "Kalendorius be pavadinimo",
- "Calendar:" : "Kalendorius:",
- "Date:" : "Data:",
- "Where:" : "Kur:",
- "Description:" : "Aprašas:",
- "_%n year_::_%n years_" : ["%n metai","%n metai","%n metų","%n metai"],
- "_%n month_::_%n months_" : ["%n mėnesis","%n mėnesiai","%n mėnesių","%n mėnesis"],
- "_%n day_::_%n days_" : ["%n diena","%n dienos","%n dienų","%n diena"],
- "_%n hour_::_%n hours_" : ["%n valanda","%n valandos","%n valandų","%n valanda"],
- "_%n minute_::_%n minutes_" : ["%n minutė","%n minutės","%n minučių","%n minutė"],
- "%s (in %s)" : "%s (po %s)",
- "%s (%s ago)" : "%s (prieš %s)",
- "Calendar: %s" : "Kalendorius: %s",
- "Date: %s" : "Data: %s",
- "Description: %s" : "Aprašas: %s",
- "Where: %s" : "Kur: %s",
- "%1$s via %2$s" : "%1$s per %2$s",
- "Invitation: %1$s" : "Pakvietimas: %1$s",
- "Organizer:" : "Organizatorius:",
- "Attendees:" : "Kviestiniai:",
- "Title:" : "Pavadinimas:",
- "Location:" : "Vieta:",
- "Link:" : "Nuoroda:",
- "Accept" : "Priimti",
- "Decline" : "Atmesti",
- "More options …" : "Daugiau parinkčių…",
- "Contacts" : "Adresatai",
- "{actor} created address book {addressbook}" : "{actor} sukūrė adresų knygą {addressbook}",
- "You created address book {addressbook}" : "Jūs sukūrėte adresų knygą {addressbook}",
- "{actor} deleted address book {addressbook}" : "{actor} ištrynė adresų knygą {addressbook}",
- "You deleted address book {addressbook}" : "Jūs ištrynėte adresų knygą {addressbook}",
- "{actor} updated address book {addressbook}" : "{actor} atnaujino adresų knygą {addressbook}",
- "You updated address book {addressbook}" : "Jūs atnaujinote adresų knygą {addressbook}",
- "System is in maintenance mode." : "Sistema yra techninės priežiūros veiksenoje.",
- "Upgrade needed" : "Reikalingas naujinimas",
- "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Norint naudoti CalDAV ir CardDAV su iOS/macOS, jūsų %s turi būti sukonfigūruota taip, kad naudotų HTTPS.",
- "Configures a CalDAV account" : "Konfigūruoja CalDAV paskyrą",
- "Configures a CardDAV account" : "Konfigūruoja CardDAV paskyrą",
- "Events" : "Įvykiai",
- "Untitled task" : "Užduotis be pavadinimo",
- "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Jūsų svetainės serveris nėra tinkamai sukonfiguruotas, Failų sinchronizavimas negalimas, nes neveikia WebDAV interfeisas.",
- "Contacts and groups" : "Adresatai ir grupės",
- "WebDAV" : "WebDAV",
- "Save" : "Įrašyti",
- "Time zone:" : "Laiko juosta:",
- "to" : "iki",
- "No working hours set" : "Nenustatyta jokių darbo valandų",
- "Monday" : "Pirmadienis",
- "Tuesday" : "Antradienis",
- "Wednesday" : "Trečiadienis",
- "Thursday" : "Ketvirtadienis",
- "Friday" : "Penktadienis",
- "Saturday" : "Šeštadienis",
- "Sunday" : "Sekmadienis",
- "Availability" : "Pasiekiamumas",
- "Calendar server" : "Kalendoriaus serveris",
- "Send invitations to attendees" : "Siųsti pakvietimus kviestiniams",
- "Automatically generate a birthday calendar" : "Automatiškai sukurti gimtadienių kalendorių",
- "Birthday calendars will be generated by a background job." : "Gimtadienių kalendoriai bus sukurti foninės užduoties.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Tai reiškia, kad jie nebus matomi iš karto įjungus, o pasirodys tik po kurio laiko.",
- "Send notifications for events" : "Siųsti įvykių pranešimus",
- "Notifications are sent via background jobs, so these must occur often enough." : "Pranešimai yra siunčiami per fonines užduotis, todėl jos privalo būti vykdomos gana dažnai.",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Taip pat įsidiekite {calendarappstoreopen}Kalendoriaus programėlę{linkclose} arba sinchronizavimui {calendardocopen}prijunkite savo darbalaukį ir mobilųjį ↗{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Įsitikinkite, kad tinkamai nusistatėte {emailopen}el. pašto serverį{linkclose}.",
- "Please contact the organizer directly." : "Prašome susisiekti su organizatoriumi tiesiogiai.",
- "Are you accepting the invitation?" : "Ar priimate pakvietimą?",
- "Tentative" : "Preliminarus",
- "Time:" : "Laikas:"
-},
-"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/apps/dav/l10n/lt_LT.json b/apps/dav/l10n/lt_LT.json
deleted file mode 100644
index 7eab2a422ca..00000000000
--- a/apps/dav/l10n/lt_LT.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{ "translations": {
- "Calendar" : "Kalendorius",
- "Tasks" : "Užduotys",
- "Personal" : "Asmeniniai",
- "{actor} created calendar {calendar}" : "{actor} sukūrė kalendorių {calendar}",
- "You created calendar {calendar}" : "Jūs sukūrėte kalendorių {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} ištrynė kalendorių {calendar}",
- "You deleted calendar {calendar}" : "Jūs ištrynėte kalendorių {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} atnaujino kalendorių {calendar}",
- "You updated calendar {calendar}" : "Jūs atnaujinote kalendorių {calendar}",
- "{actor} restored calendar {calendar}" : "{actor} atkūrė kalendorių {calendar}",
- "You restored calendar {calendar}" : "Jūs atkūrėte kalendorių {calendar}",
- "You shared calendar {calendar} as public link" : "Jūs pradėjote bendrinti kalendorių {calendar} kaip viešąją nuorodą",
- "You removed public link for calendar {calendar}" : "Jūs pašalinote viešąją nuorodą kalendoriui {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} pradėjo bendrinti su jumis kalendorių {calendar}",
- "You shared calendar {calendar} with {user}" : "Jūs pradėjote bendrinti kalendorių {calendar} su {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} pradėjo bendrinti kalendorių {calendar} su {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} nustojo bendrinti su jumis kalendorių {calendar}",
- "You unshared calendar {calendar} from {user}" : "Jūs nustojote bendrinti kalendorių {calendar} su {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} nustojo bendrinti kalendorių {calendar} su {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} nustojo bendrinti su savimi kalendorių {calendar}",
- "You shared calendar {calendar} with group {group}" : "Jūs pradėjote bendrinti kalendorių {calendar} su grupe {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} pradėjo bendrinti kalendorių {calendar} su grupe {group}",
- "You unshared calendar {calendar} from group {group}" : "Jūs nustojote bendrinti kalendorių {calendar} su grupe {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} nustojo bendrinti kalendorių {calendar} su grupe {group}",
- "Untitled event" : "Įvykis be pavadinimo",
- "{actor} created event {event} in calendar {calendar}" : "{actor} kalendoriuje {calendar} sukūrė įvykį {event}",
- "You created event {event} in calendar {calendar}" : "Jūs kalendoriuje {calendar} sukūrėte įvykį {event}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} ištrynė įvykį {event} iš kalendoriaus {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Jūs ištrynėte įvykį {event} iš kalendoriaus {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} kalendoriuje {calendar} atnaujino įvykį {event}",
- "You updated event {event} in calendar {calendar}" : "Jūs kalendoriuje {calendar} atnaujinote įvykį {event}",
- "{actor} restored event {event} of calendar {calendar}" : "{actor} kalendoriuje {calendar} atkūrė įvykį {event}",
- "You restored event {event} of calendar {calendar}" : "Jūs kalendoriuje {calendar} atkūrėte įvykį {event}",
- "Busy" : "Užimtas laikas",
- "Calendar, contacts and tasks" : "Kalendorius, adresatai ir užduotys",
- "A <strong>calendar</strong> was modified" : "<strong>Kalendorius</strong> buvo modifikuotas",
- "A calendar <strong>event</strong> was modified" : "Kalendoriaus <strong>įvykis</strong> buvo modifikuotas",
- "Contact birthdays" : "Adresatų gimtadieniai",
- "Untitled calendar" : "Kalendorius be pavadinimo",
- "Calendar:" : "Kalendorius:",
- "Date:" : "Data:",
- "Where:" : "Kur:",
- "Description:" : "Aprašas:",
- "_%n year_::_%n years_" : ["%n metai","%n metai","%n metų","%n metai"],
- "_%n month_::_%n months_" : ["%n mėnesis","%n mėnesiai","%n mėnesių","%n mėnesis"],
- "_%n day_::_%n days_" : ["%n diena","%n dienos","%n dienų","%n diena"],
- "_%n hour_::_%n hours_" : ["%n valanda","%n valandos","%n valandų","%n valanda"],
- "_%n minute_::_%n minutes_" : ["%n minutė","%n minutės","%n minučių","%n minutė"],
- "%s (in %s)" : "%s (po %s)",
- "%s (%s ago)" : "%s (prieš %s)",
- "Calendar: %s" : "Kalendorius: %s",
- "Date: %s" : "Data: %s",
- "Description: %s" : "Aprašas: %s",
- "Where: %s" : "Kur: %s",
- "%1$s via %2$s" : "%1$s per %2$s",
- "Invitation: %1$s" : "Pakvietimas: %1$s",
- "Organizer:" : "Organizatorius:",
- "Attendees:" : "Kviestiniai:",
- "Title:" : "Pavadinimas:",
- "Location:" : "Vieta:",
- "Link:" : "Nuoroda:",
- "Accept" : "Priimti",
- "Decline" : "Atmesti",
- "More options …" : "Daugiau parinkčių…",
- "Contacts" : "Adresatai",
- "{actor} created address book {addressbook}" : "{actor} sukūrė adresų knygą {addressbook}",
- "You created address book {addressbook}" : "Jūs sukūrėte adresų knygą {addressbook}",
- "{actor} deleted address book {addressbook}" : "{actor} ištrynė adresų knygą {addressbook}",
- "You deleted address book {addressbook}" : "Jūs ištrynėte adresų knygą {addressbook}",
- "{actor} updated address book {addressbook}" : "{actor} atnaujino adresų knygą {addressbook}",
- "You updated address book {addressbook}" : "Jūs atnaujinote adresų knygą {addressbook}",
- "System is in maintenance mode." : "Sistema yra techninės priežiūros veiksenoje.",
- "Upgrade needed" : "Reikalingas naujinimas",
- "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Norint naudoti CalDAV ir CardDAV su iOS/macOS, jūsų %s turi būti sukonfigūruota taip, kad naudotų HTTPS.",
- "Configures a CalDAV account" : "Konfigūruoja CalDAV paskyrą",
- "Configures a CardDAV account" : "Konfigūruoja CardDAV paskyrą",
- "Events" : "Įvykiai",
- "Untitled task" : "Užduotis be pavadinimo",
- "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Jūsų svetainės serveris nėra tinkamai sukonfiguruotas, Failų sinchronizavimas negalimas, nes neveikia WebDAV interfeisas.",
- "Contacts and groups" : "Adresatai ir grupės",
- "WebDAV" : "WebDAV",
- "Save" : "Įrašyti",
- "Time zone:" : "Laiko juosta:",
- "to" : "iki",
- "No working hours set" : "Nenustatyta jokių darbo valandų",
- "Monday" : "Pirmadienis",
- "Tuesday" : "Antradienis",
- "Wednesday" : "Trečiadienis",
- "Thursday" : "Ketvirtadienis",
- "Friday" : "Penktadienis",
- "Saturday" : "Šeštadienis",
- "Sunday" : "Sekmadienis",
- "Availability" : "Pasiekiamumas",
- "Calendar server" : "Kalendoriaus serveris",
- "Send invitations to attendees" : "Siųsti pakvietimus kviestiniams",
- "Automatically generate a birthday calendar" : "Automatiškai sukurti gimtadienių kalendorių",
- "Birthday calendars will be generated by a background job." : "Gimtadienių kalendoriai bus sukurti foninės užduoties.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Tai reiškia, kad jie nebus matomi iš karto įjungus, o pasirodys tik po kurio laiko.",
- "Send notifications for events" : "Siųsti įvykių pranešimus",
- "Notifications are sent via background jobs, so these must occur often enough." : "Pranešimai yra siunčiami per fonines užduotis, todėl jos privalo būti vykdomos gana dažnai.",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Taip pat įsidiekite {calendarappstoreopen}Kalendoriaus programėlę{linkclose} arba sinchronizavimui {calendardocopen}prijunkite savo darbalaukį ir mobilųjį ↗{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Įsitikinkite, kad tinkamai nusistatėte {emailopen}el. pašto serverį{linkclose}.",
- "Please contact the organizer directly." : "Prašome susisiekti su organizatoriumi tiesiogiai.",
- "Are you accepting the invitation?" : "Ar priimate pakvietimą?",
- "Tentative" : "Preliminarus",
- "Time:" : "Laikas:"
-},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/lv.js b/apps/dav/l10n/lv.js
deleted file mode 100644
index 0a8e585fbd1..00000000000
--- a/apps/dav/l10n/lv.js
+++ /dev/null
@@ -1,11 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Contact birthdays" : "Kontaktu dzimšanas dienas",
- "Personal" : "Personīgi",
- "Contacts" : "Kontakti",
- "Technical details" : "Tehniskās detaļas",
- "Remote Address: %s" : "Attālinātā adrese: %s",
- "Request ID: %s" : "Pieprasījuma ID: %s"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/dav/l10n/lv.json b/apps/dav/l10n/lv.json
deleted file mode 100644
index c28aad665dd..00000000000
--- a/apps/dav/l10n/lv.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{ "translations": {
- "Contact birthdays" : "Kontaktu dzimšanas dienas",
- "Personal" : "Personīgi",
- "Contacts" : "Kontakti",
- "Technical details" : "Tehniskās detaļas",
- "Remote Address: %s" : "Attālinātā adrese: %s",
- "Request ID: %s" : "Pieprasījuma ID: %s"
-},"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/dav/l10n/nn_NO.js b/apps/dav/l10n/nn_NO.js
deleted file mode 100644
index 5dee7e46749..00000000000
--- a/apps/dav/l10n/nn_NO.js
+++ /dev/null
@@ -1,43 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Kalendar",
- "Todos" : "Å gjere",
- "Personal" : "Personleg",
- "{actor} created calendar {calendar}" : "{actor} lagde kalendaren {calendar}",
- "You created calendar {calendar}" : "Du lagde kalendaren {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} sletta kalendaren {calendar}",
- "You deleted calendar {calendar}" : "Du sletta kalendaren {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} oppdaterte kalendaren {calendar}",
- "You updated calendar {calendar}" : "Du oppdaterte kalendaren {calendar}",
- "You shared calendar {calendar} as public link" : "Du delte kalendaren {calendar} som en offentleg lenke",
- "You removed public link for calendar {calendar}" : "Du fjerna den offentlege lenka for kalendaren {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} delte kalendaren {calendar} med deg",
- "You shared calendar {calendar} with {user}" : "Du delte kalendaren {calendar} med {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} delte kalendaren {calendar} med {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} stoppa å dele kalendaren {calendar} med deg",
- "You unshared calendar {calendar} from {user}" : "Du stoppa å dele kalendaren {calendar} med {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} stoppa å dele kalendaren {calendar} med {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} stoppa å dele kalendaren {calendar} med segsjølv",
- "You shared calendar {calendar} with group {group}" : "Du delte kalendaren {calendar} med gruppa {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} delte kalendaren {calendar} med gruppa {group}",
- "You unshared calendar {calendar} from group {group}" : "Du stoppa å dele {calendar} med gruppa {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} stoppa å dele kalendaren {calendar} med gruppa {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} oppretta ein hending {event} i kalendaren {calendar}",
- "You created event {event} in calendar {calendar}" : "Du oppretta ei hending {event} i kalendaren {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} seltta ei hending {event} frå kalendaren {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Du sletta ei hending {event} frå kalendaren {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} oppdaterte hendinga {event} i kalendaren {calendar}",
- "You updated event {event} in calendar {calendar}" : "Du oppdaterte hendinga {event} i kalendaren {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} oppretta å gjere {todo} i lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Du oppretta å gjere {todo} i lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} sletta å gjere {todo} frå lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du sletta å gjere {todo} frå lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte å gjere {todo} i lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du oppdaterte å gjere {todo} i lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} løyste å gjere {todo} i lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du løyste å gjere {todo} i lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} igjen-opna å gjere {todo} i lista {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Du igjen-opna å gjere {todo} i lista {calendar}"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/nn_NO.json b/apps/dav/l10n/nn_NO.json
deleted file mode 100644
index 3323f9f7088..00000000000
--- a/apps/dav/l10n/nn_NO.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{ "translations": {
- "Calendar" : "Kalendar",
- "Todos" : "Å gjere",
- "Personal" : "Personleg",
- "{actor} created calendar {calendar}" : "{actor} lagde kalendaren {calendar}",
- "You created calendar {calendar}" : "Du lagde kalendaren {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} sletta kalendaren {calendar}",
- "You deleted calendar {calendar}" : "Du sletta kalendaren {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} oppdaterte kalendaren {calendar}",
- "You updated calendar {calendar}" : "Du oppdaterte kalendaren {calendar}",
- "You shared calendar {calendar} as public link" : "Du delte kalendaren {calendar} som en offentleg lenke",
- "You removed public link for calendar {calendar}" : "Du fjerna den offentlege lenka for kalendaren {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} delte kalendaren {calendar} med deg",
- "You shared calendar {calendar} with {user}" : "Du delte kalendaren {calendar} med {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} delte kalendaren {calendar} med {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} stoppa å dele kalendaren {calendar} med deg",
- "You unshared calendar {calendar} from {user}" : "Du stoppa å dele kalendaren {calendar} med {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} stoppa å dele kalendaren {calendar} med {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} stoppa å dele kalendaren {calendar} med segsjølv",
- "You shared calendar {calendar} with group {group}" : "Du delte kalendaren {calendar} med gruppa {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} delte kalendaren {calendar} med gruppa {group}",
- "You unshared calendar {calendar} from group {group}" : "Du stoppa å dele {calendar} med gruppa {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} stoppa å dele kalendaren {calendar} med gruppa {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} oppretta ein hending {event} i kalendaren {calendar}",
- "You created event {event} in calendar {calendar}" : "Du oppretta ei hending {event} i kalendaren {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} seltta ei hending {event} frå kalendaren {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Du sletta ei hending {event} frå kalendaren {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} oppdaterte hendinga {event} i kalendaren {calendar}",
- "You updated event {event} in calendar {calendar}" : "Du oppdaterte hendinga {event} i kalendaren {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} oppretta å gjere {todo} i lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Du oppretta å gjere {todo} i lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} sletta å gjere {todo} frå lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du sletta å gjere {todo} frå lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte å gjere {todo} i lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du oppdaterte å gjere {todo} i lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} løyste å gjere {todo} i lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du løyste å gjere {todo} i lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} igjen-opna å gjere {todo} i lista {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Du igjen-opna å gjere {todo} i lista {calendar}"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/ro.js b/apps/dav/l10n/ro.js
deleted file mode 100644
index d603496099d..00000000000
--- a/apps/dav/l10n/ro.js
+++ /dev/null
@@ -1,60 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendar",
- "Todos" : "De făcut",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} a creat calendarul {calendar}",
- "You created calendar {calendar}" : "Ai creat calendarul {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} a șters calendarul {calendar}",
- "You deleted calendar {calendar}" : "Ai șters calendarul {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} a actualiza calendarul {calendar}",
- "You updated calendar {calendar}" : "Ai actualizat calendarul {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} a partajat calendarul {calendar} cu tine",
- "You shared calendar {calendar} with {user}" : "Ai partajat calendarul {calendar} cu {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} a partajat calendarul {calendar} cu {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} a eliminat partajarea calendarului {calendar} cu tine",
- "You unshared calendar {calendar} from {user}" : "Ai eliminat partajarea calendarului {calendar} cu {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} a eliminat partajarea calendarului {calendar} cu {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} a eliminat partajarea calendarului {calendar} catre sine",
- "You shared calendar {calendar} with group {group}" : "Ai partajat calendarul {calendar} cu grupul {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} a partajat calendarul {calendar} cu grupul {group}",
- "You unshared calendar {calendar} from group {group}" : "Ai eliminat partajarea calendarului {calendar} către grupul {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} a elimina partajarea calendarului {calendar} către grupul {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} a creat evenimentul {event} în calendarul {calendar}",
- "You created event {event} in calendar {calendar}" : "Ai creat evenimentul {event} în calendarul {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} a șters evenimentul {event} din calendarul {calendar}",
- "You deleted event {event} from calendar {calendar}" : "AI șters evenimentul {event} din calendarul {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} a actualizat evenimentul {event} din calendarul {calendar}",
- "You updated event {event} in calendar {calendar}" : "Ai actualizat evenimentul {event} din calendarul {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} a creat lista {todo} în calendarul {calendar}",
- "You created todo {todo} in list {calendar}" : "Ai creat lista {todo} în lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} a șters lista {todo} din calendarul {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Ai șters lista {todo} din calendarul {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} a actualizat lista {todo} din calendarul {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ai actualizat lista {todo} din calendarul {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} a completat lista {todo} din calendarul {calendar}",
- "You solved todo {todo} in list {calendar}" : "Ai completat lista {todo} din calendarul {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} a redeschis lista {todo} din calendarul {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ai redeschis lista {todo} din calendarul {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendar</strong> a fost modificat",
- "A calendar <strong>event</strong> was modified" : "Un <strong>eveniment</strong> din calendar a fost modificat",
- "A calendar <strong>todo</strong> was modified" : "O <strong>listă</strong> din calendar a fost modificată",
- "Contact birthdays" : "Zile de naștere ale persoanelor de contact",
- "Where:" : "Unde:",
- "Description:" : "Descriere:",
- "_%n year_::_%n years_" : ["%nan","%nani","%nani"],
- "%1$s via %2$s" : "%1$sprin %2$s",
- "Hello %s," : "Salut %s,",
- "Accept" : "Accept",
- "Decline" : "Refuză",
- "Contacts" : "Persoane de contact",
- "Tasks" : "Sarcini",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativă",
- "Save" : "Salvează",
- "Technical details" : "Detalii tehnice",
- "Remote Address: %s" : "Adresă la distanță: %s",
- "Request ID: %s" : "ID-ul cererii: %s"
-},
-"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/dav/l10n/ro.json b/apps/dav/l10n/ro.json
deleted file mode 100644
index fb2c0a76987..00000000000
--- a/apps/dav/l10n/ro.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendar",
- "Todos" : "De făcut",
- "Personal" : "Personal",
- "{actor} created calendar {calendar}" : "{actor} a creat calendarul {calendar}",
- "You created calendar {calendar}" : "Ai creat calendarul {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} a șters calendarul {calendar}",
- "You deleted calendar {calendar}" : "Ai șters calendarul {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} a actualiza calendarul {calendar}",
- "You updated calendar {calendar}" : "Ai actualizat calendarul {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} a partajat calendarul {calendar} cu tine",
- "You shared calendar {calendar} with {user}" : "Ai partajat calendarul {calendar} cu {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} a partajat calendarul {calendar} cu {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} a eliminat partajarea calendarului {calendar} cu tine",
- "You unshared calendar {calendar} from {user}" : "Ai eliminat partajarea calendarului {calendar} cu {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} a eliminat partajarea calendarului {calendar} cu {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} a eliminat partajarea calendarului {calendar} catre sine",
- "You shared calendar {calendar} with group {group}" : "Ai partajat calendarul {calendar} cu grupul {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} a partajat calendarul {calendar} cu grupul {group}",
- "You unshared calendar {calendar} from group {group}" : "Ai eliminat partajarea calendarului {calendar} către grupul {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} a elimina partajarea calendarului {calendar} către grupul {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} a creat evenimentul {event} în calendarul {calendar}",
- "You created event {event} in calendar {calendar}" : "Ai creat evenimentul {event} în calendarul {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} a șters evenimentul {event} din calendarul {calendar}",
- "You deleted event {event} from calendar {calendar}" : "AI șters evenimentul {event} din calendarul {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} a actualizat evenimentul {event} din calendarul {calendar}",
- "You updated event {event} in calendar {calendar}" : "Ai actualizat evenimentul {event} din calendarul {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} a creat lista {todo} în calendarul {calendar}",
- "You created todo {todo} in list {calendar}" : "Ai creat lista {todo} în lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} a șters lista {todo} din calendarul {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Ai șters lista {todo} din calendarul {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} a actualizat lista {todo} din calendarul {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ai actualizat lista {todo} din calendarul {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} a completat lista {todo} din calendarul {calendar}",
- "You solved todo {todo} in list {calendar}" : "Ai completat lista {todo} din calendarul {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} a redeschis lista {todo} din calendarul {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ai redeschis lista {todo} din calendarul {calendar}",
- "A <strong>calendar</strong> was modified" : "Un <strong>calendar</strong> a fost modificat",
- "A calendar <strong>event</strong> was modified" : "Un <strong>eveniment</strong> din calendar a fost modificat",
- "A calendar <strong>todo</strong> was modified" : "O <strong>listă</strong> din calendar a fost modificată",
- "Contact birthdays" : "Zile de naștere ale persoanelor de contact",
- "Where:" : "Unde:",
- "Description:" : "Descriere:",
- "_%n year_::_%n years_" : ["%nan","%nani","%nani"],
- "%1$s via %2$s" : "%1$sprin %2$s",
- "Hello %s," : "Salut %s,",
- "Accept" : "Accept",
- "Decline" : "Refuză",
- "Contacts" : "Persoane de contact",
- "Tasks" : "Sarcini",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativă",
- "Save" : "Salvează",
- "Technical details" : "Detalii tehnice",
- "Remote Address: %s" : "Adresă la distanță: %s",
- "Request ID: %s" : "ID-ul cererii: %s"
-},"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/dav/l10n/sc.js b/apps/dav/l10n/sc.js
deleted file mode 100644
index 902dbd81dd0..00000000000
--- a/apps/dav/l10n/sc.js
+++ /dev/null
@@ -1,151 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Calendàriu",
- "Tasks" : "Fainas",
- "Personal" : "Personale",
- "{actor} created calendar {calendar}" : "{actor} at creadu su calendàriu {calendar}",
- "You created calendar {calendar}" : "As creadu su calendàriu {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} at cantzelladu su calendàriu {calendar}",
- "You deleted calendar {calendar}" : "As creadu su calendàriu {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} at agiornadu su calendàriu {calendar}",
- "You updated calendar {calendar}" : "As agiornadu su calendàriu {calendar}",
- "{actor} restored calendar {calendar}" : "{actor} at ripristinadu su calendàriu {calendar}",
- "You restored calendar {calendar}" : "As ripristinadu su calendàriu {calendar}",
- "You shared calendar {calendar} as public link" : "As cumpartzidu su calendàriu {calendar} comente ligòngiu pùblicu",
- "You removed public link for calendar {calendar}" : "Ci nd'as bogadu su ligòngiu pùblicu pro su calendàriu {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} at cumpartzidu su calendàriu {calendar} cun tegus",
- "You shared calendar {calendar} with {user}" : "As cumpartzidu su calendàriu {calendar} cun {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} at cumpartzidu su calendàriu {calendar} cun {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} at annulladu sa cumpartzidura de su calendàriu {calendar} cun tegus",
- "You unshared calendar {calendar} from {user}" : "As annulladu sa cumpartzidura de su calendàriu {calendar} cun {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} at annulladu sa cumpartzidura de su calendàriu {calendar} cun {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} at annulladu sa cumpartzidura de su calendàriu {calendar} cun issu etotu",
- "You shared calendar {calendar} with group {group}" : "As cumpartzidu su calendàriu {calendar} cun su grupu {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} at cumpartzidu su calendàriu {calendar} cun su grupu {group}",
- "You unshared calendar {calendar} from group {group}" : "As annulladu su calendàriu {calendar} cun su grupu {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} at annulladu sa cumpartzidura de su calendàriu {calendar} cun su grupu {group}",
- "Untitled event" : "Eventu sena tìtulu ",
- "{actor} created event {event} in calendar {calendar}" : "{actor} at creadu s'eventu {event} in su calendàriu {calendar}",
- "You created event {event} in calendar {calendar}" : "As creadu un'eventu {event} in su calendàriu {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} at cantzelladu s'eventu {event} dae su calendàriu {calendar}",
- "You deleted event {event} from calendar {calendar}" : "As cantzelladu s'eventu {event} dae su calendàriu {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} at agiornadu s'eventu {event} in su calendàriu {calendar}",
- "You updated event {event} in calendar {calendar}" : "As agiornadu s'eventu {event} in su calendàriu {calendar}",
- "{actor} restored event {event} of calendar {calendar}" : "{actor} at ripristinadu s'eventu {event} in su calendàriu {calendar}",
- "You restored event {event} of calendar {calendar}" : "As ripristinadu s'eventu {event} in su calendàriu {calendar}",
- "Busy" : "Impinnadu",
- "Calendar, contacts and tasks" : "Calendàriu, cuntatos e fainas",
- "A <strong>calendar</strong> was modified" : "Unu <strong>calendàriu</strong> est istadu modificadu",
- "A calendar <strong>event</strong> was modified" : "Un'<strong>eventu</strong> de su calendàriu est istadu modificadu",
- "Contact birthdays" : "Data de nàschida de is cuntatos",
- "Death of %s" : "Morte de %s",
- "Untitled calendar" : "Calendàriu chene tìtulu",
- "Calendar:" : "Calendàriu:",
- "Date:" : "Data:",
- "Where:" : "Ue:",
- "Description:" : "Descritzione:",
- "_%n year_::_%n years_" : ["%n annu","%n annos"],
- "_%n month_::_%n months_" : ["%n meses","%n meses"],
- "_%n day_::_%n days_" : ["%n die","%n days"],
- "_%n hour_::_%n hours_" : ["%n ora","%n ora"],
- "_%n minute_::_%n minutes_" : ["%n minutos","%n minutos"],
- "%s (in %s)" : "%s (in %s)",
- "%s (%s ago)" : "%s (%s a immoe)",
- "Calendar: %s" : "Calendàriu: %s",
- "Date: %s" : "Data: %s",
- "Description: %s" : "Descritzione: %s",
- "Where: %s" : "Ue: %s",
- "%1$s via %2$s" : "%1$s cun %2$s",
- "Cancelled: %1$s" : "Annulladu: %1$s",
- "Re: %1$s" : "Re: %1$s",
- "Invitation: %1$s" : "Invitu: %1$s",
- "Organizer:" : "Organizadore: ",
- "Attendees:" : "Partetzipadores:",
- "Title:" : "Tìtulos:",
- "When:" : "Cando:",
- "Location:" : "Positzione:",
- "Link:" : "Ligòngiu:",
- "Accept" : "Atzeta",
- "Decline" : "Refuda",
- "More options …" : "Àteras optziones ...",
- "More options at %s" : "Àteras optziones a is %s",
- "Monday" : "Lunis",
- "Tuesday" : "Martis",
- "Wednesday" : "Mércuris",
- "Thursday" : "Giòbia",
- "Friday" : "Chenàbura",
- "Saturday" : "Sàbudu",
- "Sunday" : "Domìnigu",
- "January" : "Ghennàrgiu",
- "February" : "Freàrgiu",
- "March" : "Martzu",
- "April" : "Abrile",
- "May" : "Maju",
- "June" : "Làmparas",
- "July" : "Mese de Trìulas/Argiolas",
- "August" : "Austu",
- "September" : "Cabudanni",
- "October" : "Mese de Ladàmini/ Santu Aine",
- "November" : "Sant'Andria",
- "December" : "Nadale",
- "First" : "Primu",
- "Last" : "Ùrtimu",
- "Contacts" : "Cuntatos",
- "{actor} created address book {addressbook}" : "{actor} at creadu sa rubrica {addressbook}",
- "You created address book {addressbook}" : "As creadu sa rubrica {addressbook}",
- "{actor} deleted address book {addressbook}" : "{actor} at cantzelladu sa rubrica {addressbook}",
- "You deleted address book {addressbook}" : "As cantzelladu sa rubrica {addressbook}",
- "{actor} updated address book {addressbook}" : "{actor} at agiornadu sa rubrica {addressbook}",
- "You updated address book {addressbook}" : "As agiornadu sa rubrica {addressbook}",
- "{actor} shared address book {addressbook} with you" : "{actor} at cumpartzidu sa rubrica {addressbook} cun tegus",
- "You shared address book {addressbook} with {user}" : "As cumpartzidu sa rubrica {addressbook} cun {user}",
- "{actor} shared address book {addressbook} with {user}" : "{actor} at cumpartzidu sa rubrica {addressbook} cun {user}",
- "{actor} unshared address book {addressbook} from you" : "{actor} at annulladu sa cumpartzidura de sa rubrica {addressbook} cun tegus",
- "You unshared address book {addressbook} from {user}" : "As annnulladu sa cumpartzidura de sa rubrica {addressbook} cun {user}",
- "{actor} unshared address book {addressbook} from {user}" : "{actor} at annulladu sa cumpartzidura de sa rubrica {addressbook} cun{user}",
- "{actor} unshared address book {addressbook} from themselves" : "{actor} at annulladu sa cumpartzidura de sa rubrica {addressbook} cun isse etotu",
- "You shared address book {addressbook} with group {group}" : "As cumpartzidu sa rubrica {addressbook} cun su grupu {group}",
- "{actor} shared address book {addressbook} with group {group}" : "{actor} at cumpartzidu sa rubrica {addressbook} cun su grupu {group}",
- "You unshared address book {addressbook} from group {group}" : "As annulladu sa cumpartzidura de sa rubrica {addressbook} cun su grupu {group}",
- "{actor} unshared address book {addressbook} from group {group}" : "{actor} at annulladu sa cumpartzidura de sa rubrica {addressbook} cun su grupu {group}",
- "{actor} created contact {card} in address book {addressbook}" : "{actor} at creadu su cuntatu {card} in sa rubrica {addressbook}",
- "You created contact {card} in address book {addressbook}" : "As creadu su cuntatu {card} in sa rubrica {addressbook}",
- "{actor} deleted contact {card} from address book {addressbook}" : "{actor} at cantzelladu su cuntatu {card} dae sa rubrica {addressbook}",
- "You deleted contact {card} from address book {addressbook}" : "As cantzelladu su cuntatu {card} dae sa rubrica {addressbook}",
- "{actor} updated contact {card} in address book {addressbook}" : "{actor} at agiornadu su cuntatu {card} in sa rubrica {addressbook}",
- "You updated contact {card} in address book {addressbook}" : "As agiornadu su cuntatu {card} in sa rubrica {addressbook}",
- "A <strong>contact</strong> or <strong>address book</strong> was modified" : "S'at modificadu unu <strong>cuntatu</strong> o <strong>rubrica</strong> ",
- "System is in maintenance mode." : "Sistema in modalidade de mantenidura.",
- "Upgrade needed" : "Tocat de agiornare",
- "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Su %s tuo tocat de lu cunfigurare pro s'impreu de HTTPS pro pòdere impreare CalDAV e CardDAV cun iOS/macOS.",
- "Configures a CalDAV account" : "Cunfigurat unu contu CalDAV",
- "Configures a CardDAV account" : "Configurat unu contu CardDAV ",
- "Events" : "Eventos",
- "Untitled task" : "Faina sena tìtulu",
- "Completed on %s" : "Cumpletada su %s",
- "Due on %s by %s" : "Iscadet su %s pro su %s",
- "Due on %s" : "iscadet su %s",
- "WebDAV endpoint" : "puntu finale WebDAV ",
- "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Su serbidore tuo no est cunfiguradu pro permìtere sa sincronizatzione de is archìvios, ca s'interfache WebDAV paret arrogada.",
- "WebDAV" : "WebDAV",
- "Save" : "Sarva",
- "to" : "a",
- "Calendar server" : "Serbidore calendàriu",
- "Send invitations to attendees" : "Imbia invitos de partetzipatziones",
- "Automatically generate a birthday calendar" : "Gènera in automàticu su calendàriu de cumpleannos",
- "Birthday calendars will be generated by a background job." : "Is calendàrios de cumpleannos ant a èssere generados pro mèdiu de un'atividade dae palas.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Perintantu non ant a èssere a diponimentu deretu a pustis de s'abilitatzione, ma s'ant a pòdere bìdere in pagos segundos.",
- "Send notifications for events" : "Imbia is notìficas de is eventos",
- "Notifications are sent via background jobs, so these must occur often enough." : "Is notìficas sunt imbiadas tràmite atividades dae palas, pro cussu custas operatziones tocat de ddas fàghere bastante a s'ispissu.",
- "Enable notifications for events via push" : "Ativa is notìficas de is eventos tràmite push",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Installa puru{calendarappstoreopen}s'aplicatzione calendàriu{linkclose}, o {calendardocopen}connete s'elaboradore de iscrivania e su telefoneddu pro ddos sincronizare↗{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Assegura·ti de àere cunfiguradu bene {emailopen}su serbidore de posta{linkclose}.",
- "There was an error updating your attendance status." : "Ddoe at àpidu un'errore agiornende s'istadu de sa partetzipatzione tua.",
- "Please contact the organizer directly." : "Pro praghere, cuntata deretu a s'organizadore.",
- "Are you accepting the invitation?" : "Cheres atzetare s'invitu?",
- "Tentative" : "Intentu",
- "Your attendance was updated successfully." : "Sa partetzipatzione tua est istada agiornada in manera curreta.",
- "Time:" : "Tempus:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/sc.json b/apps/dav/l10n/sc.json
deleted file mode 100644
index efc7b12079a..00000000000
--- a/apps/dav/l10n/sc.json
+++ /dev/null
@@ -1,149 +0,0 @@
-{ "translations": {
- "Calendar" : "Calendàriu",
- "Tasks" : "Fainas",
- "Personal" : "Personale",
- "{actor} created calendar {calendar}" : "{actor} at creadu su calendàriu {calendar}",
- "You created calendar {calendar}" : "As creadu su calendàriu {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} at cantzelladu su calendàriu {calendar}",
- "You deleted calendar {calendar}" : "As creadu su calendàriu {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} at agiornadu su calendàriu {calendar}",
- "You updated calendar {calendar}" : "As agiornadu su calendàriu {calendar}",
- "{actor} restored calendar {calendar}" : "{actor} at ripristinadu su calendàriu {calendar}",
- "You restored calendar {calendar}" : "As ripristinadu su calendàriu {calendar}",
- "You shared calendar {calendar} as public link" : "As cumpartzidu su calendàriu {calendar} comente ligòngiu pùblicu",
- "You removed public link for calendar {calendar}" : "Ci nd'as bogadu su ligòngiu pùblicu pro su calendàriu {calendar}",
- "{actor} shared calendar {calendar} with you" : "{actor} at cumpartzidu su calendàriu {calendar} cun tegus",
- "You shared calendar {calendar} with {user}" : "As cumpartzidu su calendàriu {calendar} cun {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} at cumpartzidu su calendàriu {calendar} cun {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} at annulladu sa cumpartzidura de su calendàriu {calendar} cun tegus",
- "You unshared calendar {calendar} from {user}" : "As annulladu sa cumpartzidura de su calendàriu {calendar} cun {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} at annulladu sa cumpartzidura de su calendàriu {calendar} cun {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} at annulladu sa cumpartzidura de su calendàriu {calendar} cun issu etotu",
- "You shared calendar {calendar} with group {group}" : "As cumpartzidu su calendàriu {calendar} cun su grupu {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} at cumpartzidu su calendàriu {calendar} cun su grupu {group}",
- "You unshared calendar {calendar} from group {group}" : "As annulladu su calendàriu {calendar} cun su grupu {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} at annulladu sa cumpartzidura de su calendàriu {calendar} cun su grupu {group}",
- "Untitled event" : "Eventu sena tìtulu ",
- "{actor} created event {event} in calendar {calendar}" : "{actor} at creadu s'eventu {event} in su calendàriu {calendar}",
- "You created event {event} in calendar {calendar}" : "As creadu un'eventu {event} in su calendàriu {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} at cantzelladu s'eventu {event} dae su calendàriu {calendar}",
- "You deleted event {event} from calendar {calendar}" : "As cantzelladu s'eventu {event} dae su calendàriu {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} at agiornadu s'eventu {event} in su calendàriu {calendar}",
- "You updated event {event} in calendar {calendar}" : "As agiornadu s'eventu {event} in su calendàriu {calendar}",
- "{actor} restored event {event} of calendar {calendar}" : "{actor} at ripristinadu s'eventu {event} in su calendàriu {calendar}",
- "You restored event {event} of calendar {calendar}" : "As ripristinadu s'eventu {event} in su calendàriu {calendar}",
- "Busy" : "Impinnadu",
- "Calendar, contacts and tasks" : "Calendàriu, cuntatos e fainas",
- "A <strong>calendar</strong> was modified" : "Unu <strong>calendàriu</strong> est istadu modificadu",
- "A calendar <strong>event</strong> was modified" : "Un'<strong>eventu</strong> de su calendàriu est istadu modificadu",
- "Contact birthdays" : "Data de nàschida de is cuntatos",
- "Death of %s" : "Morte de %s",
- "Untitled calendar" : "Calendàriu chene tìtulu",
- "Calendar:" : "Calendàriu:",
- "Date:" : "Data:",
- "Where:" : "Ue:",
- "Description:" : "Descritzione:",
- "_%n year_::_%n years_" : ["%n annu","%n annos"],
- "_%n month_::_%n months_" : ["%n meses","%n meses"],
- "_%n day_::_%n days_" : ["%n die","%n days"],
- "_%n hour_::_%n hours_" : ["%n ora","%n ora"],
- "_%n minute_::_%n minutes_" : ["%n minutos","%n minutos"],
- "%s (in %s)" : "%s (in %s)",
- "%s (%s ago)" : "%s (%s a immoe)",
- "Calendar: %s" : "Calendàriu: %s",
- "Date: %s" : "Data: %s",
- "Description: %s" : "Descritzione: %s",
- "Where: %s" : "Ue: %s",
- "%1$s via %2$s" : "%1$s cun %2$s",
- "Cancelled: %1$s" : "Annulladu: %1$s",
- "Re: %1$s" : "Re: %1$s",
- "Invitation: %1$s" : "Invitu: %1$s",
- "Organizer:" : "Organizadore: ",
- "Attendees:" : "Partetzipadores:",
- "Title:" : "Tìtulos:",
- "When:" : "Cando:",
- "Location:" : "Positzione:",
- "Link:" : "Ligòngiu:",
- "Accept" : "Atzeta",
- "Decline" : "Refuda",
- "More options …" : "Àteras optziones ...",
- "More options at %s" : "Àteras optziones a is %s",
- "Monday" : "Lunis",
- "Tuesday" : "Martis",
- "Wednesday" : "Mércuris",
- "Thursday" : "Giòbia",
- "Friday" : "Chenàbura",
- "Saturday" : "Sàbudu",
- "Sunday" : "Domìnigu",
- "January" : "Ghennàrgiu",
- "February" : "Freàrgiu",
- "March" : "Martzu",
- "April" : "Abrile",
- "May" : "Maju",
- "June" : "Làmparas",
- "July" : "Mese de Trìulas/Argiolas",
- "August" : "Austu",
- "September" : "Cabudanni",
- "October" : "Mese de Ladàmini/ Santu Aine",
- "November" : "Sant'Andria",
- "December" : "Nadale",
- "First" : "Primu",
- "Last" : "Ùrtimu",
- "Contacts" : "Cuntatos",
- "{actor} created address book {addressbook}" : "{actor} at creadu sa rubrica {addressbook}",
- "You created address book {addressbook}" : "As creadu sa rubrica {addressbook}",
- "{actor} deleted address book {addressbook}" : "{actor} at cantzelladu sa rubrica {addressbook}",
- "You deleted address book {addressbook}" : "As cantzelladu sa rubrica {addressbook}",
- "{actor} updated address book {addressbook}" : "{actor} at agiornadu sa rubrica {addressbook}",
- "You updated address book {addressbook}" : "As agiornadu sa rubrica {addressbook}",
- "{actor} shared address book {addressbook} with you" : "{actor} at cumpartzidu sa rubrica {addressbook} cun tegus",
- "You shared address book {addressbook} with {user}" : "As cumpartzidu sa rubrica {addressbook} cun {user}",
- "{actor} shared address book {addressbook} with {user}" : "{actor} at cumpartzidu sa rubrica {addressbook} cun {user}",
- "{actor} unshared address book {addressbook} from you" : "{actor} at annulladu sa cumpartzidura de sa rubrica {addressbook} cun tegus",
- "You unshared address book {addressbook} from {user}" : "As annnulladu sa cumpartzidura de sa rubrica {addressbook} cun {user}",
- "{actor} unshared address book {addressbook} from {user}" : "{actor} at annulladu sa cumpartzidura de sa rubrica {addressbook} cun{user}",
- "{actor} unshared address book {addressbook} from themselves" : "{actor} at annulladu sa cumpartzidura de sa rubrica {addressbook} cun isse etotu",
- "You shared address book {addressbook} with group {group}" : "As cumpartzidu sa rubrica {addressbook} cun su grupu {group}",
- "{actor} shared address book {addressbook} with group {group}" : "{actor} at cumpartzidu sa rubrica {addressbook} cun su grupu {group}",
- "You unshared address book {addressbook} from group {group}" : "As annulladu sa cumpartzidura de sa rubrica {addressbook} cun su grupu {group}",
- "{actor} unshared address book {addressbook} from group {group}" : "{actor} at annulladu sa cumpartzidura de sa rubrica {addressbook} cun su grupu {group}",
- "{actor} created contact {card} in address book {addressbook}" : "{actor} at creadu su cuntatu {card} in sa rubrica {addressbook}",
- "You created contact {card} in address book {addressbook}" : "As creadu su cuntatu {card} in sa rubrica {addressbook}",
- "{actor} deleted contact {card} from address book {addressbook}" : "{actor} at cantzelladu su cuntatu {card} dae sa rubrica {addressbook}",
- "You deleted contact {card} from address book {addressbook}" : "As cantzelladu su cuntatu {card} dae sa rubrica {addressbook}",
- "{actor} updated contact {card} in address book {addressbook}" : "{actor} at agiornadu su cuntatu {card} in sa rubrica {addressbook}",
- "You updated contact {card} in address book {addressbook}" : "As agiornadu su cuntatu {card} in sa rubrica {addressbook}",
- "A <strong>contact</strong> or <strong>address book</strong> was modified" : "S'at modificadu unu <strong>cuntatu</strong> o <strong>rubrica</strong> ",
- "System is in maintenance mode." : "Sistema in modalidade de mantenidura.",
- "Upgrade needed" : "Tocat de agiornare",
- "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Su %s tuo tocat de lu cunfigurare pro s'impreu de HTTPS pro pòdere impreare CalDAV e CardDAV cun iOS/macOS.",
- "Configures a CalDAV account" : "Cunfigurat unu contu CalDAV",
- "Configures a CardDAV account" : "Configurat unu contu CardDAV ",
- "Events" : "Eventos",
- "Untitled task" : "Faina sena tìtulu",
- "Completed on %s" : "Cumpletada su %s",
- "Due on %s by %s" : "Iscadet su %s pro su %s",
- "Due on %s" : "iscadet su %s",
- "WebDAV endpoint" : "puntu finale WebDAV ",
- "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Su serbidore tuo no est cunfiguradu pro permìtere sa sincronizatzione de is archìvios, ca s'interfache WebDAV paret arrogada.",
- "WebDAV" : "WebDAV",
- "Save" : "Sarva",
- "to" : "a",
- "Calendar server" : "Serbidore calendàriu",
- "Send invitations to attendees" : "Imbia invitos de partetzipatziones",
- "Automatically generate a birthday calendar" : "Gènera in automàticu su calendàriu de cumpleannos",
- "Birthday calendars will be generated by a background job." : "Is calendàrios de cumpleannos ant a èssere generados pro mèdiu de un'atividade dae palas.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Perintantu non ant a èssere a diponimentu deretu a pustis de s'abilitatzione, ma s'ant a pòdere bìdere in pagos segundos.",
- "Send notifications for events" : "Imbia is notìficas de is eventos",
- "Notifications are sent via background jobs, so these must occur often enough." : "Is notìficas sunt imbiadas tràmite atividades dae palas, pro cussu custas operatziones tocat de ddas fàghere bastante a s'ispissu.",
- "Enable notifications for events via push" : "Ativa is notìficas de is eventos tràmite push",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Installa puru{calendarappstoreopen}s'aplicatzione calendàriu{linkclose}, o {calendardocopen}connete s'elaboradore de iscrivania e su telefoneddu pro ddos sincronizare↗{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Assegura·ti de àere cunfiguradu bene {emailopen}su serbidore de posta{linkclose}.",
- "There was an error updating your attendance status." : "Ddoe at àpidu un'errore agiornende s'istadu de sa partetzipatzione tua.",
- "Please contact the organizer directly." : "Pro praghere, cuntata deretu a s'organizadore.",
- "Are you accepting the invitation?" : "Cheres atzetare s'invitu?",
- "Tentative" : "Intentu",
- "Your attendance was updated successfully." : "Sa partetzipatzione tua est istada agiornada in manera curreta.",
- "Time:" : "Tempus:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/sq.js b/apps/dav/l10n/sq.js
deleted file mode 100644
index 0fc1d01d825..00000000000
--- a/apps/dav/l10n/sq.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "dav",
- {
- "Calendar" : "Kalendar",
- "Todos" : "Për tu bërë",
- "Personal" : "Personale",
- "{actor} created calendar {calendar}" : "{aktori} krijoi kalendarin {kalendarin}",
- "You created calendar {calendar}" : "Ju krijuat kalendarin {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} fshiu kalendarin {calendar}",
- "You deleted calendar {calendar}" : "Ju fshit kalendarin {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} përditësoi kalendarin {calendar}",
- "You updated calendar {calendar}" : "Ju përditësuat kalendarin {calendar}",
- "{actor} shared calendar {calendar} with you" : " {actor} ndau kalendarin {calendar} me ju",
- "You shared calendar {calendar} with {user}" : "Ju ndat kalendarin {calendar} me {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} ndau kalendarin {calendar} me {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ndaloj së ndari kalendarin {calendar} me ju",
- "You unshared calendar {calendar} from {user}" : "Ju ndaluat së ndari kalendarin {calendar} me {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} ndaloj së ndari kalendarin {calendar} me {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} ndaloj së ndari kalendarin {calendar} me veten",
- "You shared calendar {calendar} with group {group}" : "Ju ndat kalendarin {calendar} me grupin {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} ndau kalendarin {calendar} me grupin {group}",
- "You unshared calendar {calendar} from group {group}" : "Ju ndaluat së ndari kalendarin {calendar} me grupin {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} ndaloj së ndari kalendarin {calendar} me grupin {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} krijoj eventin {event} në kalendarin {calendar}",
- "You created event {event} in calendar {calendar}" : "Ju krijuat eventin {event} në kalendarin {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} fshiu eventin {event} nga kalendari {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Ju fshit eventin {event} nga kalndari {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} përditsoi eventin {event} në kalndarin {calendar}",
- "You updated event {event} in calendar {calendar}" : "Ju përditësuat eventin {event} në kalndarin {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} u krijua todo{todo} në listën {calendar}",
- "You created todo {todo} in list {calendar}" : "Ju krijuat todo {todo} në listën {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} u fshi todo{ todo} nga lista{calendar}",
- "You deleted todo {todo} from list {calendar}" : "Ju fshit todo{todo} nga lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} u përditësua todo{todo} në listën{calendar}",
- "You updated todo {todo} in list {calendar}" : "Ju përditësuat përtëbërë {todo} në listën{calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} zgjidhi përtëbërë {todo} në listën {calendar}",
- "You solved todo {todo} in list {calendar}" : "Ju zgjidhët përtëbërë {todo} në listën {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} rihapi përtëbërë {todo} në listën {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ju rihapët përtëbërë {todo} në listën {calendar}",
- "A <strong>calendar</strong> was modified" : "Një <strong>kalendar</strong> u modifikua",
- "A calendar <strong>event</strong> was modified" : "Një <strong>event</strong> në kalendar u modifikua",
- "A calendar <strong>todo</strong> was modified" : "Një kalendar <strong>todo<strong> u modifikua",
- "Contact birthdays" : "Ditëlindjet e kontakteve",
- "Where:" : "Ku:",
- "Description:" : "Përshkrimi:",
- "Invitation canceled" : "Ftesa u anullua",
- "Invitation updated" : "Ftesa u përditësua",
- "Location:" : "Vendndodhje:",
- "Link:" : "Link:",
- "Accept" : "Prano",
- "Decline" : "Refuzo",
- "More options …" : "Më shumë opsione ...",
- "Contacts" : "Kontaktet",
- "Tasks" : "Detyra",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativë",
- "Save" : "Ruaj",
- "Your attendance was updated successfully." : "Pjesëmarrja juaj u përditësua me sukses.",
- "Send invitations to attendees" : "Dërgo ftesa tek pjesëmarrësit",
- "Hello %s," : "Përshëndetje %s,",
- "When:" : "Kur:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/sq.json b/apps/dav/l10n/sq.json
deleted file mode 100644
index 128ad854cac..00000000000
--- a/apps/dav/l10n/sq.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "Calendar" : "Kalendar",
- "Todos" : "Për tu bërë",
- "Personal" : "Personale",
- "{actor} created calendar {calendar}" : "{aktori} krijoi kalendarin {kalendarin}",
- "You created calendar {calendar}" : "Ju krijuat kalendarin {calendar}",
- "{actor} deleted calendar {calendar}" : "{actor} fshiu kalendarin {calendar}",
- "You deleted calendar {calendar}" : "Ju fshit kalendarin {calendar}",
- "{actor} updated calendar {calendar}" : "{actor} përditësoi kalendarin {calendar}",
- "You updated calendar {calendar}" : "Ju përditësuat kalendarin {calendar}",
- "{actor} shared calendar {calendar} with you" : " {actor} ndau kalendarin {calendar} me ju",
- "You shared calendar {calendar} with {user}" : "Ju ndat kalendarin {calendar} me {user}",
- "{actor} shared calendar {calendar} with {user}" : "{actor} ndau kalendarin {calendar} me {user}",
- "{actor} unshared calendar {calendar} from you" : "{actor} ndaloj së ndari kalendarin {calendar} me ju",
- "You unshared calendar {calendar} from {user}" : "Ju ndaluat së ndari kalendarin {calendar} me {user}",
- "{actor} unshared calendar {calendar} from {user}" : "{actor} ndaloj së ndari kalendarin {calendar} me {user}",
- "{actor} unshared calendar {calendar} from themselves" : "{actor} ndaloj së ndari kalendarin {calendar} me veten",
- "You shared calendar {calendar} with group {group}" : "Ju ndat kalendarin {calendar} me grupin {group}",
- "{actor} shared calendar {calendar} with group {group}" : "{actor} ndau kalendarin {calendar} me grupin {group}",
- "You unshared calendar {calendar} from group {group}" : "Ju ndaluat së ndari kalendarin {calendar} me grupin {group}",
- "{actor} unshared calendar {calendar} from group {group}" : "{actor} ndaloj së ndari kalendarin {calendar} me grupin {group}",
- "{actor} created event {event} in calendar {calendar}" : "{actor} krijoj eventin {event} në kalendarin {calendar}",
- "You created event {event} in calendar {calendar}" : "Ju krijuat eventin {event} në kalendarin {calendar}",
- "{actor} deleted event {event} from calendar {calendar}" : "{actor} fshiu eventin {event} nga kalendari {calendar}",
- "You deleted event {event} from calendar {calendar}" : "Ju fshit eventin {event} nga kalndari {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} përditsoi eventin {event} në kalndarin {calendar}",
- "You updated event {event} in calendar {calendar}" : "Ju përditësuat eventin {event} në kalndarin {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} u krijua todo{todo} në listën {calendar}",
- "You created todo {todo} in list {calendar}" : "Ju krijuat todo {todo} në listën {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} u fshi todo{ todo} nga lista{calendar}",
- "You deleted todo {todo} from list {calendar}" : "Ju fshit todo{todo} nga lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} u përditësua todo{todo} në listën{calendar}",
- "You updated todo {todo} in list {calendar}" : "Ju përditësuat përtëbërë {todo} në listën{calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} zgjidhi përtëbërë {todo} në listën {calendar}",
- "You solved todo {todo} in list {calendar}" : "Ju zgjidhët përtëbërë {todo} në listën {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} rihapi përtëbërë {todo} në listën {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ju rihapët përtëbërë {todo} në listën {calendar}",
- "A <strong>calendar</strong> was modified" : "Një <strong>kalendar</strong> u modifikua",
- "A calendar <strong>event</strong> was modified" : "Një <strong>event</strong> në kalendar u modifikua",
- "A calendar <strong>todo</strong> was modified" : "Një kalendar <strong>todo<strong> u modifikua",
- "Contact birthdays" : "Ditëlindjet e kontakteve",
- "Where:" : "Ku:",
- "Description:" : "Përshkrimi:",
- "Invitation canceled" : "Ftesa u anullua",
- "Invitation updated" : "Ftesa u përditësua",
- "Location:" : "Vendndodhje:",
- "Link:" : "Link:",
- "Accept" : "Prano",
- "Decline" : "Refuzo",
- "More options …" : "Më shumë opsione ...",
- "Contacts" : "Kontaktet",
- "Tasks" : "Detyra",
- "WebDAV" : "WebDAV",
- "Tentative" : "Tentativë",
- "Save" : "Ruaj",
- "Your attendance was updated successfully." : "Pjesëmarrja juaj u përditësua me sukses.",
- "Send invitations to attendees" : "Dërgo ftesa tek pjesëmarrësit",
- "Hello %s," : "Përshëndetje %s,",
- "When:" : "Kur:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/dav/l10n/tr.js b/apps/dav/l10n/tr.js
index 084ea7e103c..ef97e7d7616 100644
--- a/apps/dav/l10n/tr.js
+++ b/apps/dav/l10n/tr.js
@@ -301,6 +301,14 @@ OC.L10N.register(
"Reset to default" : "Varsayılanlara dön",
"Import contacts" : "Kişileri içe aktar",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Yeni bir .vcf dosyasını içe aktarmak, var olan varsayılan kişiyi siler ve yenisiyle değiştirir. İlerlemek istiyor musunuz?",
+ "Failed to save example event creation setting" : "Örnek etkinlik oluşturma ayarı kaydedilemedi",
+ "Failed to upload the example event" : "Örnek etkinlik yüklenemedi",
+ "Custom example event was saved successfully" : "Özel örnek etkinlik kaydedildi",
+ "Failed to delete the custom example event" : "Özel örnek etkinlik silinemedi",
+ "Custom example event was deleted successfully" : "Özel örnek etkinlik silindi",
+ "Import calendar event" : "Takvim etkinliğini içe aktar",
+ "Uploading a new event will overwrite the existing one." : "Yeni bir etkinlik yüklendiğinde eskisinin üzerine yazılır.",
+ "Upload event" : "Etkinlik yükle",
"Availability" : "Uygunluk",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Çalışma saatlerinizi ayarlarsanız, diğer kişiler bir toplantı ayarladıklarında ofis dışında olduğunuzu görürler.",
"Absence" : "Bulunmama",
@@ -310,13 +318,15 @@ OC.L10N.register(
"Calendar server" : "Takvim sunucusu",
"Send invitations to attendees" : "Katılımcılara davet gönder",
"Automatically generate a birthday calendar" : "Doğum günü takvimi otomatik oluşturulsun",
- "Birthday calendars will be generated by a background job." : "Bu seçenek etkinleştirildiğinde, doğum günü takvimi arka plan görevi olarak oluşturulur.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Etkinleştirildikten hemen sonra görüntülenmez, bir süre sonra görüntülenir.",
+ "Birthday calendars will be generated by a background job." : "Açıldığında, arka plan görevi olarak doğum günü takvimi oluşturulur.",
+ "Hence they will not be available immediately after enabling but will show up after some time." : "Açıldıktan hemen sonra değil bir süre sonra görüntülenir.",
"Send notifications for events" : "Etkinlik bildirimleri gönderilsin",
"Notifications are sent via background jobs, so these must occur often enough." : "Bildirimler arka plan işlemleri tarafından gönderilir. Bu nedenle sıklık değeri uygun şekilde ayarlanmalıdır.",
"Send reminder notifications to calendar sharees as well" : "Takvim paylaşımlarına da hatırlatma bildirimleri gönderilsin",
- "Reminders are always sent to organizers and attendees." : "Bu seçenek etkinleştirildiğinde, hatırlatıcılar her zaman düzenleyici ve katılımcılara gönderilir.",
+ "Reminders are always sent to organizers and attendees." : "Açıldığında, anımsatıcılar düzenleyici ve katılımcılara her zaman gönderilir.",
"Enable notifications for events via push" : "Anında etkinlik bildirimlerini aç",
+ "Example content" : "Örnek içerik",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Örnek içerik, Nextcloud özelliklerinin sunulmasını sağlar. Varsayılan içerik Nextcloud ile birlikte gelir ve özel içerikle değiştirilebilir.",
"There was an error updating your attendance status." : "Katılım durumunuz güncellenirken bir sorun çıktı.",
"Please contact the organizer directly." : "Lütfen düzenleyici ile doğrudan görüşün.",
"Are you accepting the invitation?" : "Daveti kabul ediyor musunuz?",
diff --git a/apps/dav/l10n/tr.json b/apps/dav/l10n/tr.json
index 9a198ad9ab7..d1c8c7ae4bf 100644
--- a/apps/dav/l10n/tr.json
+++ b/apps/dav/l10n/tr.json
@@ -299,6 +299,14 @@
"Reset to default" : "Varsayılanlara dön",
"Import contacts" : "Kişileri içe aktar",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Yeni bir .vcf dosyasını içe aktarmak, var olan varsayılan kişiyi siler ve yenisiyle değiştirir. İlerlemek istiyor musunuz?",
+ "Failed to save example event creation setting" : "Örnek etkinlik oluşturma ayarı kaydedilemedi",
+ "Failed to upload the example event" : "Örnek etkinlik yüklenemedi",
+ "Custom example event was saved successfully" : "Özel örnek etkinlik kaydedildi",
+ "Failed to delete the custom example event" : "Özel örnek etkinlik silinemedi",
+ "Custom example event was deleted successfully" : "Özel örnek etkinlik silindi",
+ "Import calendar event" : "Takvim etkinliğini içe aktar",
+ "Uploading a new event will overwrite the existing one." : "Yeni bir etkinlik yüklendiğinde eskisinin üzerine yazılır.",
+ "Upload event" : "Etkinlik yükle",
"Availability" : "Uygunluk",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Çalışma saatlerinizi ayarlarsanız, diğer kişiler bir toplantı ayarladıklarında ofis dışında olduğunuzu görürler.",
"Absence" : "Bulunmama",
@@ -308,13 +316,15 @@
"Calendar server" : "Takvim sunucusu",
"Send invitations to attendees" : "Katılımcılara davet gönder",
"Automatically generate a birthday calendar" : "Doğum günü takvimi otomatik oluşturulsun",
- "Birthday calendars will be generated by a background job." : "Bu seçenek etkinleştirildiğinde, doğum günü takvimi arka plan görevi olarak oluşturulur.",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Etkinleştirildikten hemen sonra görüntülenmez, bir süre sonra görüntülenir.",
+ "Birthday calendars will be generated by a background job." : "Açıldığında, arka plan görevi olarak doğum günü takvimi oluşturulur.",
+ "Hence they will not be available immediately after enabling but will show up after some time." : "Açıldıktan hemen sonra değil bir süre sonra görüntülenir.",
"Send notifications for events" : "Etkinlik bildirimleri gönderilsin",
"Notifications are sent via background jobs, so these must occur often enough." : "Bildirimler arka plan işlemleri tarafından gönderilir. Bu nedenle sıklık değeri uygun şekilde ayarlanmalıdır.",
"Send reminder notifications to calendar sharees as well" : "Takvim paylaşımlarına da hatırlatma bildirimleri gönderilsin",
- "Reminders are always sent to organizers and attendees." : "Bu seçenek etkinleştirildiğinde, hatırlatıcılar her zaman düzenleyici ve katılımcılara gönderilir.",
+ "Reminders are always sent to organizers and attendees." : "Açıldığında, anımsatıcılar düzenleyici ve katılımcılara her zaman gönderilir.",
"Enable notifications for events via push" : "Anında etkinlik bildirimlerini aç",
+ "Example content" : "Örnek içerik",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Örnek içerik, Nextcloud özelliklerinin sunulmasını sağlar. Varsayılan içerik Nextcloud ile birlikte gelir ve özel içerikle değiştirilebilir.",
"There was an error updating your attendance status." : "Katılım durumunuz güncellenirken bir sorun çıktı.",
"Please contact the organizer directly." : "Lütfen düzenleyici ile doğrudan görüşün.",
"Are you accepting the invitation?" : "Daveti kabul ediyor musunuz?",
diff --git a/apps/dav/lib/Connector/Sabre/TagsPlugin.php b/apps/dav/lib/Connector/Sabre/TagsPlugin.php
index eb06fa5cef6..2159adbda31 100644
--- a/apps/dav/lib/Connector/Sabre/TagsPlugin.php
+++ b/apps/dav/lib/Connector/Sabre/TagsPlugin.php
@@ -94,6 +94,7 @@ class TagsPlugin extends \Sabre\DAV\ServerPlugin {
$this->server = $server;
$this->server->on('propFind', [$this, 'handleGetProperties']);
$this->server->on('propPatch', [$this, 'handleUpdateProperties']);
+ $this->server->on('preloadProperties', [$this, 'handlePreloadProperties']);
}
/**
@@ -150,6 +151,24 @@ class TagsPlugin extends \Sabre\DAV\ServerPlugin {
}
/**
+ * Prefetches tags for a list of file IDs and caches the results
+ *
+ * @param array $fileIds List of file IDs to prefetch tags for
+ * @return void
+ */
+ private function prefetchTagsForFileIds(array $fileIds) {
+ $tags = $this->getTagger()->getTagsForObjects($fileIds);
+ if ($tags === false) {
+ // the tags API returns false on error...
+ $tags = [];
+ }
+
+ foreach ($fileIds as $fileId) {
+ $this->cachedTags[$fileId] = $tags[$fileId] ?? [];
+ }
+ }
+
+ /**
* Updates the tags of the given file id
*
* @param int $fileId
@@ -199,22 +218,11 @@ class TagsPlugin extends \Sabre\DAV\ServerPlugin {
)) {
// note: pre-fetching only supported for depth <= 1
$folderContent = $node->getChildren();
- $fileIds[] = (int)$node->getId();
+ $fileIds = [(int)$node->getId()];
foreach ($folderContent as $info) {
$fileIds[] = (int)$info->getId();
}
- $tags = $this->getTagger()->getTagsForObjects($fileIds);
- if ($tags === false) {
- // the tags API returns false on error...
- $tags = [];
- }
-
- $this->cachedTags = $this->cachedTags + $tags;
- $emptyFileIds = array_diff($fileIds, array_keys($tags));
- // also cache the ones that were not found
- foreach ($emptyFileIds as $fileId) {
- $this->cachedTags[$fileId] = [];
- }
+ $this->prefetchTagsForFileIds($fileIds);
}
$isFav = null;
@@ -270,4 +278,14 @@ class TagsPlugin extends \Sabre\DAV\ServerPlugin {
return 200;
});
}
+
+ public function handlePreloadProperties(array $nodes, array $requestProperties): void {
+ if (
+ !in_array(self::FAVORITE_PROPERTYNAME, $requestProperties, true) &&
+ !in_array(self::TAGS_PROPERTYNAME, $requestProperties, true)
+ ) {
+ return;
+ }
+ $this->prefetchTagsForFileIds(array_map(fn ($node) => $node->getId(), $nodes));
+ }
}
diff --git a/apps/dav/lib/Files/FileSearchBackend.php b/apps/dav/lib/Files/FileSearchBackend.php
index ace367e4490..0aa903f2b29 100644
--- a/apps/dav/lib/Files/FileSearchBackend.php
+++ b/apps/dav/lib/Files/FileSearchBackend.php
@@ -15,6 +15,7 @@ use OCA\DAV\Connector\Sabre\CachingTree;
use OCA\DAV\Connector\Sabre\Directory;
use OCA\DAV\Connector\Sabre\File;
use OCA\DAV\Connector\Sabre\FilesPlugin;
+use OCA\DAV\Connector\Sabre\Server;
use OCA\DAV\Connector\Sabre\TagsPlugin;
use OCP\Files\Cache\ICacheEntry;
use OCP\Files\Folder;
@@ -44,6 +45,7 @@ class FileSearchBackend implements ISearchBackend {
public const OPERATOR_LIMIT = 100;
public function __construct(
+ private Server $server,
private CachingTree $tree,
private IUser $user,
private IRootFolder $rootFolder,
@@ -133,6 +135,7 @@ class FileSearchBackend implements ISearchBackend {
* @param string[] $requestProperties
*/
public function preloadPropertyFor(array $nodes, array $requestProperties): void {
+ $this->server->emit('preloadProperties', [$nodes, $requestProperties]);
}
private function getFolderForPath(?string $path = null): Folder {
diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php
index 18d0be45938..9b9d8cdb2ab 100644
--- a/apps/dav/lib/Server.php
+++ b/apps/dav/lib/Server.php
@@ -354,6 +354,7 @@ class Server {
\OCP\Server::get(IAppManager::class)
));
$lazySearchBackend->setBackend(new FileSearchBackend(
+ $this->server,
$this->server->tree,
$user,
\OCP\Server::get(IRootFolder::class),
diff --git a/apps/dav/tests/unit/Files/FileSearchBackendTest.php b/apps/dav/tests/unit/Files/FileSearchBackendTest.php
index ce56dde5fbd..c6d6f85347b 100644
--- a/apps/dav/tests/unit/Files/FileSearchBackendTest.php
+++ b/apps/dav/tests/unit/Files/FileSearchBackendTest.php
@@ -15,6 +15,7 @@ use OCA\DAV\Connector\Sabre\Directory;
use OCA\DAV\Connector\Sabre\File;
use OCA\DAV\Connector\Sabre\FilesPlugin;
use OCA\DAV\Connector\Sabre\ObjectTree;
+use OCA\DAV\Connector\Sabre\Server;
use OCA\DAV\Files\FileSearchBackend;
use OCP\Files\FileInfo;
use OCP\Files\Folder;
@@ -36,6 +37,7 @@ use Test\TestCase;
class FileSearchBackendTest extends TestCase {
private ObjectTree&MockObject $tree;
+ private Server&MockObject $server;
private IUser&MockObject $user;
private IRootFolder&MockObject $rootFolder;
private IManager&MockObject $shareManager;
@@ -53,6 +55,7 @@ class FileSearchBackendTest extends TestCase {
->willReturn('test');
$this->tree = $this->createMock(ObjectTree::class);
+ $this->server = $this->createMock(Server::class);
$this->view = $this->createMock(View::class);
$this->rootFolder = $this->createMock(IRootFolder::class);
$this->shareManager = $this->createMock(IManager::class);
@@ -78,7 +81,7 @@ class FileSearchBackendTest extends TestCase {
$filesMetadataManager = $this->createMock(IFilesMetadataManager::class);
- $this->search = new FileSearchBackend($this->tree, $this->user, $this->rootFolder, $this->shareManager, $this->view, $filesMetadataManager);
+ $this->search = new FileSearchBackend($this->server, $this->tree, $this->user, $this->rootFolder, $this->shareManager, $this->view, $filesMetadataManager);
}
public function testSearchFilename(): void {
@@ -402,4 +405,17 @@ class FileSearchBackendTest extends TestCase {
$this->expectException(\InvalidArgumentException::class);
$this->search->search($query);
}
+
+ public function testPreloadPropertyFor(): void {
+ $node1 = $this->createMock(File::class);
+ $node2 = $this->createMock(Directory::class);
+ $nodes = [$node1, $node2];
+ $requestProperties = ['{DAV:}getcontenttype', '{DAV:}getlastmodified'];
+
+ $this->server->expects($this->once())
+ ->method('emit')
+ ->with('preloadProperties', [$nodes, $requestProperties]);
+
+ $this->search->preloadPropertyFor($nodes, $requestProperties);
+ }
}
diff --git a/apps/encryption/l10n/ast.js b/apps/encryption/l10n/ast.js
deleted file mode 100644
index eb732bada56..00000000000
--- a/apps/encryption/l10n/ast.js
+++ /dev/null
@@ -1,29 +0,0 @@
-OC.L10N.register(
- "encryption",
- {
- "Recovery key successfully enabled" : "Habilitóse la recuperación de ficheros",
- "Could not enable recovery key. Please check your recovery key password!" : "Nun pudo habilitase la clave de recuperación. Por favor comprueba la contraseña.",
- "Recovery key successfully disabled" : "Clave de recuperación deshabilitada",
- "Could not disable recovery key. Please check your recovery key password!" : "Nun pudo deshabilitase la clave de recuperación. Por favor comprueba la contraseña!",
- "Password successfully changed." : "Camudóse la contraseña",
- "Could not change the password. Maybe the old password was not correct." : "Nun pudo camudase la contraseña. Comprueba que la contraseña actual seya correuta.",
- "Private key password successfully updated." : "Contraseña de clave privada anovada correchamente.",
- "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Clave privada non válida pa Encryption. Por favor, anueva la to contraseña de clave nos tos axustes personales pa recuperar l'accesu a los tos ficheros cifraos.",
- "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicación Encryption ta habilitada pero les tos claves nun s'aniciaron, por favor zarra sesión y aníciala de nueves",
- "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Nun pudo descifrase esti ficheru, dablemente seya un ficheru compartíu. Solicita al propietariu del mesmu que vuelva a compartilu contigo.",
- "The share will expire on %s." : "La compartición va caducar el %s.",
- "Cheers!" : "¡Salú!",
- "Recovery key password" : "Contraseña de clave de recuperación",
- "Change recovery key password:" : "Camudar la contraseña de la clave de recuperación",
- "Change Password" : "Camudar contraseña",
- "Set your old private key password to your current log-in password:" : "Afita la contraseña de clave privada vieya pa la to contraseña d'aniciu de sesión actual:",
- " If you don't remember your old password you can ask your administrator to recover your files." : "Si nun recuerdes la contraseña vieya, pues pidir a alministrador que te recupere los ficheros.",
- "Old log-in password" : "Contraseña d'accesu vieya",
- "Current log-in password" : "Contraseña d'accesu actual",
- "Update Private Key Password" : "Anovar Contraseña de Clave Privada",
- "Enable password recovery:" : "Habilitar la recuperación de contraseña:",
- "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Habilitar esta opción va permitite volver a tener accesu a los ficheros cifraos en casu de perda de contraseña",
- "Enabled" : "Habilitar",
- "Disabled" : "Deshabilitáu"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/encryption/l10n/ast.json b/apps/encryption/l10n/ast.json
deleted file mode 100644
index 501e4757acf..00000000000
--- a/apps/encryption/l10n/ast.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{ "translations": {
- "Recovery key successfully enabled" : "Habilitóse la recuperación de ficheros",
- "Could not enable recovery key. Please check your recovery key password!" : "Nun pudo habilitase la clave de recuperación. Por favor comprueba la contraseña.",
- "Recovery key successfully disabled" : "Clave de recuperación deshabilitada",
- "Could not disable recovery key. Please check your recovery key password!" : "Nun pudo deshabilitase la clave de recuperación. Por favor comprueba la contraseña!",
- "Password successfully changed." : "Camudóse la contraseña",
- "Could not change the password. Maybe the old password was not correct." : "Nun pudo camudase la contraseña. Comprueba que la contraseña actual seya correuta.",
- "Private key password successfully updated." : "Contraseña de clave privada anovada correchamente.",
- "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Clave privada non válida pa Encryption. Por favor, anueva la to contraseña de clave nos tos axustes personales pa recuperar l'accesu a los tos ficheros cifraos.",
- "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicación Encryption ta habilitada pero les tos claves nun s'aniciaron, por favor zarra sesión y aníciala de nueves",
- "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Nun pudo descifrase esti ficheru, dablemente seya un ficheru compartíu. Solicita al propietariu del mesmu que vuelva a compartilu contigo.",
- "The share will expire on %s." : "La compartición va caducar el %s.",
- "Cheers!" : "¡Salú!",
- "Recovery key password" : "Contraseña de clave de recuperación",
- "Change recovery key password:" : "Camudar la contraseña de la clave de recuperación",
- "Change Password" : "Camudar contraseña",
- "Set your old private key password to your current log-in password:" : "Afita la contraseña de clave privada vieya pa la to contraseña d'aniciu de sesión actual:",
- " If you don't remember your old password you can ask your administrator to recover your files." : "Si nun recuerdes la contraseña vieya, pues pidir a alministrador que te recupere los ficheros.",
- "Old log-in password" : "Contraseña d'accesu vieya",
- "Current log-in password" : "Contraseña d'accesu actual",
- "Update Private Key Password" : "Anovar Contraseña de Clave Privada",
- "Enable password recovery:" : "Habilitar la recuperación de contraseña:",
- "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Habilitar esta opción va permitite volver a tener accesu a los ficheros cifraos en casu de perda de contraseña",
- "Enabled" : "Habilitar",
- "Disabled" : "Deshabilitáu"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/encryption/l10n/az.js b/apps/encryption/l10n/az.js
deleted file mode 100644
index d4190b66aab..00000000000
--- a/apps/encryption/l10n/az.js
+++ /dev/null
@@ -1,35 +0,0 @@
-OC.L10N.register(
- "encryption",
- {
- "Missing recovery key password" : "Bərpa açarının şifrəsi çatışmır",
- "Please repeat the recovery key password" : "Xahiş olunur bərpa açarı şifrəsini təkrarlayasınız",
- "Repeated recovery key password does not match the provided recovery key password" : "Təkrar daxil edilən bərpa açarı şifrəsi, öncə daxil edilən bərpa açarı ilə üst-üstə düşmür ",
- "Recovery key successfully enabled" : "Bərpa açarı uğurla aktivləşdi",
- "Could not enable recovery key. Please check your recovery key password!" : "Geriqaytarılma açarının aktivləşdirilməsi mümkün olmadı. Xahiş olunur geriqaytarılma açarı üçün tələb edilən şifrəni yoxlayasınız.",
- "Recovery key successfully disabled" : "Bərpa açarı uğurla söndürüldü",
- "Could not disable recovery key. Please check your recovery key password!" : "Geriqaytarılma açarını sondürmək olmur. Xahiş edirik geriqaytarılma key açarınızı yoxlayın.",
- "Please provide the old recovery password" : "Xahiş olunur köhnə bərpa açarını daxil edəsiniz",
- "Please provide a new recovery password" : "Xahiş olunur yeni bərpa açarı şifrəsini daxil esəsiniz",
- "Please repeat the new recovery password" : "Xahiş olunur yeni bərpa açarını təkrarlayasınız",
- "Password successfully changed." : "Şifrə uğurla dəyişdirildi.",
- "Could not change the password. Maybe the old password was not correct." : "Şifrəni dəyişmək olmur, ola bilər ki, köhnə şifrə düzgün olmayıb.",
- "Could not update the private key password." : "Gizli açarın şifrəsini yeniləmək mümkün olmadı.",
- "The old password was not correct, please try again." : "Köhnə şifrə düzgün deyildi, xahiş olunur yenidən cəhd edəsiniz.",
- "The current log-in password was not correct, please try again." : "Hal-hazırki istifadəçi şifrəsi düzgün deyildi, xahiş olunur yenidən cəhd edəsiniz.",
- "Private key password successfully updated." : "Gizli aşar şifrəsi uğurla yeniləndi.",
- "Cheers!" : "Şərəfə!",
- "Recovery key password" : "Açar şifrənin bərpa edilməsi",
- "Change recovery key password:" : "Bərpa açarın şifrəsini dəyişdir:",
- "Change Password" : "Şifrəni dəyişdir",
- "Your private key password no longer matches your log-in password." : "Sizin gizli açar şifrəsi, artıq giriş adınızla uyğun gəlmir.",
- "Set your old private key password to your current log-in password:" : "Köhnə açar şifrənizi, sizin hal-hazırki giriş şifrənizə təyin edin: ",
- " If you don't remember your old password you can ask your administrator to recover your files." : "Əgər siz köhnə şifrənizi xatırlamırsınızsa, öz inzibatçınızdan fayllarınızın bərpasını istəyə bilərsiniz.",
- "Old log-in password" : "Köhnə giriş şifrəsi",
- "Current log-in password" : "Hal-hazırki giriş şifrəsi",
- "Update Private Key Password" : "Gizli açar şifrəsini yenilə",
- "Enable password recovery:" : "Şifrə bərpasını işə sal:",
- "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Bu opsiyanın aktiv edilməsi sizə, şifrənin itdiyi hallarda bütün şifrələnmiş fayllarınıza yetkinin yenidən əldə edilməsinə şərait yaradacaq",
- "Enabled" : "İşə salınıb",
- "Disabled" : "Dayandırılıb"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/encryption/l10n/az.json b/apps/encryption/l10n/az.json
deleted file mode 100644
index 6e88e1740a7..00000000000
--- a/apps/encryption/l10n/az.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{ "translations": {
- "Missing recovery key password" : "Bərpa açarının şifrəsi çatışmır",
- "Please repeat the recovery key password" : "Xahiş olunur bərpa açarı şifrəsini təkrarlayasınız",
- "Repeated recovery key password does not match the provided recovery key password" : "Təkrar daxil edilən bərpa açarı şifrəsi, öncə daxil edilən bərpa açarı ilə üst-üstə düşmür ",
- "Recovery key successfully enabled" : "Bərpa açarı uğurla aktivləşdi",
- "Could not enable recovery key. Please check your recovery key password!" : "Geriqaytarılma açarının aktivləşdirilməsi mümkün olmadı. Xahiş olunur geriqaytarılma açarı üçün tələb edilən şifrəni yoxlayasınız.",
- "Recovery key successfully disabled" : "Bərpa açarı uğurla söndürüldü",
- "Could not disable recovery key. Please check your recovery key password!" : "Geriqaytarılma açarını sondürmək olmur. Xahiş edirik geriqaytarılma key açarınızı yoxlayın.",
- "Please provide the old recovery password" : "Xahiş olunur köhnə bərpa açarını daxil edəsiniz",
- "Please provide a new recovery password" : "Xahiş olunur yeni bərpa açarı şifrəsini daxil esəsiniz",
- "Please repeat the new recovery password" : "Xahiş olunur yeni bərpa açarını təkrarlayasınız",
- "Password successfully changed." : "Şifrə uğurla dəyişdirildi.",
- "Could not change the password. Maybe the old password was not correct." : "Şifrəni dəyişmək olmur, ola bilər ki, köhnə şifrə düzgün olmayıb.",
- "Could not update the private key password." : "Gizli açarın şifrəsini yeniləmək mümkün olmadı.",
- "The old password was not correct, please try again." : "Köhnə şifrə düzgün deyildi, xahiş olunur yenidən cəhd edəsiniz.",
- "The current log-in password was not correct, please try again." : "Hal-hazırki istifadəçi şifrəsi düzgün deyildi, xahiş olunur yenidən cəhd edəsiniz.",
- "Private key password successfully updated." : "Gizli aşar şifrəsi uğurla yeniləndi.",
- "Cheers!" : "Şərəfə!",
- "Recovery key password" : "Açar şifrənin bərpa edilməsi",
- "Change recovery key password:" : "Bərpa açarın şifrəsini dəyişdir:",
- "Change Password" : "Şifrəni dəyişdir",
- "Your private key password no longer matches your log-in password." : "Sizin gizli açar şifrəsi, artıq giriş adınızla uyğun gəlmir.",
- "Set your old private key password to your current log-in password:" : "Köhnə açar şifrənizi, sizin hal-hazırki giriş şifrənizə təyin edin: ",
- " If you don't remember your old password you can ask your administrator to recover your files." : "Əgər siz köhnə şifrənizi xatırlamırsınızsa, öz inzibatçınızdan fayllarınızın bərpasını istəyə bilərsiniz.",
- "Old log-in password" : "Köhnə giriş şifrəsi",
- "Current log-in password" : "Hal-hazırki giriş şifrəsi",
- "Update Private Key Password" : "Gizli açar şifrəsini yenilə",
- "Enable password recovery:" : "Şifrə bərpasını işə sal:",
- "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Bu opsiyanın aktiv edilməsi sizə, şifrənin itdiyi hallarda bütün şifrələnmiş fayllarınıza yetkinin yenidən əldə edilməsinə şərait yaradacaq",
- "Enabled" : "İşə salınıb",
- "Disabled" : "Dayandırılıb"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/encryption/l10n/bn_BD.js b/apps/encryption/l10n/bn_BD.js
deleted file mode 100644
index 2d20f4caa26..00000000000
--- a/apps/encryption/l10n/bn_BD.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "encryption",
- {
- "Recovery key successfully enabled" : "পূনরুদ্ধার চাবি সার্থকভাবে কার্যকর করা হয়েছে",
- "Recovery key successfully disabled" : "পূনরুদ্ধার চাবি সার্থকভাবে অকার্যকর করা হয়েছে",
- "Password successfully changed." : "আপনার কূটশব্দটি সার্থকভাবে পরিবর্তন করা হয়েছে ",
- "Cheers!" : "শুভেচ্ছা!",
- "Change recovery key password:" : "পূণরূদ্ধার কি এর কুটশব্দ পরিবর্তন করুন:",
- "Change Password" : "কূটশব্দ পরিবর্তন করুন",
- "Enabled" : "কার্যকর",
- "Disabled" : "অকার্যকর"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/encryption/l10n/bn_BD.json b/apps/encryption/l10n/bn_BD.json
deleted file mode 100644
index 4c2c9c14b95..00000000000
--- a/apps/encryption/l10n/bn_BD.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "Recovery key successfully enabled" : "পূনরুদ্ধার চাবি সার্থকভাবে কার্যকর করা হয়েছে",
- "Recovery key successfully disabled" : "পূনরুদ্ধার চাবি সার্থকভাবে অকার্যকর করা হয়েছে",
- "Password successfully changed." : "আপনার কূটশব্দটি সার্থকভাবে পরিবর্তন করা হয়েছে ",
- "Cheers!" : "শুভেচ্ছা!",
- "Change recovery key password:" : "পূণরূদ্ধার কি এর কুটশব্দ পরিবর্তন করুন:",
- "Change Password" : "কূটশব্দ পরিবর্তন করুন",
- "Enabled" : "কার্যকর",
- "Disabled" : "অকার্যকর"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/encryption/l10n/bs.js b/apps/encryption/l10n/bs.js
deleted file mode 100644
index 41d7074d5a4..00000000000
--- a/apps/encryption/l10n/bs.js
+++ /dev/null
@@ -1,11 +0,0 @@
-OC.L10N.register(
- "encryption",
- {
- "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Neispravan privatni ključ za šifriranje. Molim ažurirajte lozinku svoga privatnog ključa u svojim osobnim postavkama da biste obnovili pristup svojim šifriranim datotekama.",
- "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikacija šifriranja je uključena, ali vaši ključevi nisu inicializirani, molim odjavite se i ponovno prijavite",
- "The share will expire on %s." : "Podijeljeni resurs će isteći na %s.",
- "Cheers!" : "Cheers!",
- "Enabled" : "Aktivirano",
- "Disabled" : "Onemogućeno"
-},
-"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/encryption/l10n/bs.json b/apps/encryption/l10n/bs.json
deleted file mode 100644
index 0beb35f1558..00000000000
--- a/apps/encryption/l10n/bs.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{ "translations": {
- "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Neispravan privatni ključ za šifriranje. Molim ažurirajte lozinku svoga privatnog ključa u svojim osobnim postavkama da biste obnovili pristup svojim šifriranim datotekama.",
- "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikacija šifriranja je uključena, ali vaši ključevi nisu inicializirani, molim odjavite se i ponovno prijavite",
- "The share will expire on %s." : "Podijeljeni resurs će isteći na %s.",
- "Cheers!" : "Cheers!",
- "Enabled" : "Aktivirano",
- "Disabled" : "Onemogućeno"
-},"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/encryption/l10n/ia.js b/apps/encryption/l10n/ia.js
deleted file mode 100644
index 27932deb15e..00000000000
--- a/apps/encryption/l10n/ia.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "encryption",
- {
- "The share will expire on %s." : "Le compartir expirara le %s.",
- "Cheers!" : "Acclamationes!"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/encryption/l10n/ia.json b/apps/encryption/l10n/ia.json
deleted file mode 100644
index a935ab07c57..00000000000
--- a/apps/encryption/l10n/ia.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "The share will expire on %s." : "Le compartir expirara le %s.",
- "Cheers!" : "Acclamationes!"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/encryption/l10n/km.js b/apps/encryption/l10n/km.js
deleted file mode 100644
index 2d925c91819..00000000000
--- a/apps/encryption/l10n/km.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "encryption",
- {
- "Password successfully changed." : "បាន​ប្ដូរ​ពាក្យ​សម្ងាត់​ដោយ​ជោគជ័យ។",
- "Could not change the password. Maybe the old password was not correct." : "មិន​អាច​ប្ដូរ​ពាក្យ​សម្ងាត់​បាន​ទេ។ ប្រហែល​ពាក្យ​សម្ងាត់​ចាស់​មិន​ត្រឹម​ត្រូវ។",
- "Change Password" : "ប្ដូរ​ពាក្យ​សម្ងាត់",
- "Enabled" : "បាន​បើក",
- "Disabled" : "បាន​បិទ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/encryption/l10n/km.json b/apps/encryption/l10n/km.json
deleted file mode 100644
index 0beaa6b8a2f..00000000000
--- a/apps/encryption/l10n/km.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Password successfully changed." : "បាន​ប្ដូរ​ពាក្យ​សម្ងាត់​ដោយ​ជោគជ័យ។",
- "Could not change the password. Maybe the old password was not correct." : "មិន​អាច​ប្ដូរ​ពាក្យ​សម្ងាត់​បាន​ទេ។ ប្រហែល​ពាក្យ​សម្ងាត់​ចាស់​មិន​ត្រឹម​ត្រូវ។",
- "Change Password" : "ប្ដូរ​ពាក្យ​សម្ងាត់",
- "Enabled" : "បាន​បើក",
- "Disabled" : "បាន​បិទ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/encryption/l10n/kn.js b/apps/encryption/l10n/kn.js
deleted file mode 100644
index 3f0108db173..00000000000
--- a/apps/encryption/l10n/kn.js
+++ /dev/null
@@ -1,8 +0,0 @@
-OC.L10N.register(
- "encryption",
- {
- "Cheers!" : "ಆನಂದಿಸಿ !",
- "Enabled" : "ಸಕ್ರಿಯಗೊಳಿಸಿದೆ",
- "Disabled" : "ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/encryption/l10n/kn.json b/apps/encryption/l10n/kn.json
deleted file mode 100644
index 3b78ba1f13e..00000000000
--- a/apps/encryption/l10n/kn.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{ "translations": {
- "Cheers!" : "ಆನಂದಿಸಿ !",
- "Enabled" : "ಸಕ್ರಿಯಗೊಳಿಸಿದೆ",
- "Disabled" : "ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/encryption/l10n/lb.js b/apps/encryption/l10n/lb.js
deleted file mode 100644
index 478426b6a1c..00000000000
--- a/apps/encryption/l10n/lb.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "encryption",
- {
- "Cheers!" : "Prost!",
- "Change Password" : "Passwuert änneren",
- "Enabled" : "Aktivéiert",
- "Disabled" : "Deaktivéiert"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/encryption/l10n/lb.json b/apps/encryption/l10n/lb.json
deleted file mode 100644
index 53692b969e1..00000000000
--- a/apps/encryption/l10n/lb.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Cheers!" : "Prost!",
- "Change Password" : "Passwuert änneren",
- "Enabled" : "Aktivéiert",
- "Disabled" : "Deaktivéiert"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/encryption/l10n/mk.js b/apps/encryption/l10n/mk.js
deleted file mode 100644
index 0de345e5c1e..00000000000
--- a/apps/encryption/l10n/mk.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "encryption",
- {
- "Missing recovery key password" : "Недостасува лозинката за клучевите за обновување",
- "Password successfully changed." : "Лозинката е успешно променета.",
- "Could not change the password. Maybe the old password was not correct." : "Лозинката не можеше да се промени. Можеби старата лозинка не беше исправна.",
- "Bad Signature" : "Лош потпис",
- "Missing Signature" : "Недостасува потписот",
- "Cheers!" : "Поздрав!",
- "Change Password" : "Смени лозинка",
- "Old log-in password" : "Старата лозинка за најавување",
- "Current log-in password" : "Тековната лозинка за најавување",
- "Enable password recovery:" : "Овозможи го обновувањето на лозинката:",
- "Enabled" : "Овозможен",
- "Disabled" : "Оневозможен"
-},
-"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/apps/encryption/l10n/mk.json b/apps/encryption/l10n/mk.json
deleted file mode 100644
index 537815b7aa3..00000000000
--- a/apps/encryption/l10n/mk.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "Missing recovery key password" : "Недостасува лозинката за клучевите за обновување",
- "Password successfully changed." : "Лозинката е успешно променета.",
- "Could not change the password. Maybe the old password was not correct." : "Лозинката не можеше да се промени. Можеби старата лозинка не беше исправна.",
- "Bad Signature" : "Лош потпис",
- "Missing Signature" : "Недостасува потписот",
- "Cheers!" : "Поздрав!",
- "Change Password" : "Смени лозинка",
- "Old log-in password" : "Старата лозинка за најавување",
- "Current log-in password" : "Тековната лозинка за најавување",
- "Enable password recovery:" : "Овозможи го обновувањето на лозинката:",
- "Enabled" : "Овозможен",
- "Disabled" : "Оневозможен"
-},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
-} \ No newline at end of file
diff --git a/apps/encryption/l10n/oc.js b/apps/encryption/l10n/oc.js
deleted file mode 100644
index 30cae245932..00000000000
--- a/apps/encryption/l10n/oc.js
+++ /dev/null
@@ -1,59 +0,0 @@
-OC.L10N.register(
- "encryption",
- {
- "Missing recovery key password" : "Senhal de la clau de recuperacion mancant",
- "Please repeat the recovery key password" : "Repetètz lo senhal de la clau de recuperacion",
- "Repeated recovery key password does not match the provided recovery key password" : "Lo senhal de la clau de recuperacion e sa repeticion son pas identics.",
- "Recovery key successfully enabled" : "Clau de recuperacion activada amb succès",
- "Could not enable recovery key. Please check your recovery key password!" : "Impossible d'activar la clau de recuperacion. Verificatz lo senhal de vòstra clau de recuperacion !",
- "Recovery key successfully disabled" : "Clau de recuperacion desactivada amb succès",
- "Could not disable recovery key. Please check your recovery key password!" : "Impossible de desactivar la clau de recuperacion. Verificatz lo senhal de vòstra clau de recuperacion !",
- "Missing parameters" : "Paramètres mancants",
- "Please provide the old recovery password" : "Entratz l'ancian senhal de recuperacion",
- "Please provide a new recovery password" : "Entratz un novèl senhal de recuperacion",
- "Please repeat the new recovery password" : "Repetissètz lo novèl senhal de recuperacion",
- "Password successfully changed." : "Senhal cambiat amb succès.",
- "Could not change the password. Maybe the old password was not correct." : "Error al moment del cambiament de senhal. Benlèu que l'ancian senhal es incorrècte.",
- "Recovery Key disabled" : "Clau de recuperacion desactivada",
- "Recovery Key enabled" : "Clau de recuperacion activada",
- "Could not enable the recovery key, please try again or contact your administrator" : "Impossible d'activar la clau de recuperacion. Ensajatz tornamai o contactatz vòstre administrator",
- "Could not update the private key password." : "Impossible de metre a jorn lo senhal de la clau privada.",
- "The old password was not correct, please try again." : "L'ancian senhal es incorrècte. Ensajatz tornamai.",
- "The current log-in password was not correct, please try again." : "Lo senhal de connexion actual es pas corrècte, ensajatz tornamai.",
- "Private key password successfully updated." : "Senhal de la clau privada mes a jorn amb succès.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Vos cal migrar vòstras claus de chiframent de l'anciana version (ownCloud <= 8.0) cap a la novèla. Executatz 'occ encryption:migrate' o contactatz vòstre administrator",
- "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Vòstra clau privada pel chiframent es pas valida ! Metètz a jorn lo senhal de vòstra clau privada dins vòstres paramètres personals per recuperar l'accès a vòstres fichièrs chifrats.",
- "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicacion de chiframent es activada mas vòstras claus son pas inicializadas. Desconnectatz-vos e puèi reconnectatz-vos.",
- "Encryption App is enabled and ready" : "L'aplicacion de chiframent es activada e prèsta",
- "one-time password for server-side-encryption" : "Senhal d'usatge unic pel chiframent costat servidor",
- "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de deschifrar aqueste fichièr : s'agís probablament d'un fichièr partejat. Demandatz al proprietari del fichièr de lo partejar tornamai amb vos.",
- "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de legir aqueste fichièr, s'agís probablament d'un fichièr partejat. Demandatz al proprietari del fichièr de lo repartejar amb vos. ",
- "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Bonjorn,\n\nL'administrator a activat lo chiframent sul servidor. Vòstres fichièrs son estats chifrats amb lo senhal seguent :\n\n%s\n\nSeguissètz aquelas instruccions :\n\n1. Connectatz-vos a l'interfàcia web e trobatz la seccion \"Modul de chiframent de basa d'\" dins vòstres paramètres personals ;\n\n2. Entratz lo senhal provesit çaisús dins lo camp \"Ancian senhal de connexion\";\n\n3. Entratz lo senhal qu'utilizatz actualament per vos connectar dins lo camp \"Senhal de connexion actual\" ;\n\n4. Validatz en clicant sul boton \"Metre a jorn lo senhal de vòstra clau privada\".\n",
- "The share will expire on %s." : "Lo partiment expirarà lo %s.",
- "Cheers!" : "A lèu !",
- "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Bonjorn,\n<br><br>\nL'administrator a activat lo chiframent sul servidor. Vòstres fichièrs son estats chifrats amb lo senhal seguent :\n\n<p style=\"font-family: monospace;\"><b>%s</b></p>\n\n<p>\nSeguissètz aquelas instruccions :\n<ol>\n<li>Connectatz-vos a l'interfàcia web e trobatz la seccion <em>\"Modul de chiframent de basa d'\"</em> dins vòstres paramètres personals;</li>\n<li>Entratz lo senhal provesit çaisús dins lo camp <em>\"Ancian senhal de connexion\"</em>;</li>\n<li>Entratz lo senhal qu'utilizatz actualament per vos connectar dins lo camp <em>\"Senhal de connexion actual\"</em>;</li>\n<li>Validatz en clicant sul boton <em>\"Metre a jorn lo senhal de vòstra clau privada\"</em>.</li>\n</ol>\n</p>",
- "Encrypt the home storage" : "Chifrar l'espaci d'emmagazinatge principal",
- "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "L'activacion d'aquesta opcion chifra totes los fichièrs de l'emmagazinatge principal, siquenon sols los espacis d'emmagazinatge extèrnes seràn chifrats",
- "Enable recovery key" : "Activar la clau de recuperacion",
- "Disable recovery key" : "Desactivar la clau de recuperacion",
- "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." : "La clau de recuperacion es una clau suplementària utilizada per chifrar los fichièrs. Permet de recuperar los fichièrs dels utilizaires se doblidan lor senhal.",
- "Recovery key password" : "Senhal de la clau de recuperacion",
- "Repeat recovery key password" : "Repetissètz lo senhal de la clau de recuperacion",
- "Change recovery key password:" : "Modificar lo senhal de la clau de recuperacion :",
- "Old recovery key password" : "Ancian senhal de la clau de recuperacion",
- "New recovery key password" : "Novèl senhal de la clau de recuperacion",
- "Repeat new recovery key password" : "Repetissètz lo novèl senhal de la clau de recuperacion",
- "Change Password" : "Cambiar de senhal",
- "basic encryption module" : "Modul de chiframent de basa d'",
- "Your private key password no longer matches your log-in password." : "Lo senhal de vòstra clau privada correspond pas mai a vòstre senhal de connexion.",
- "Set your old private key password to your current log-in password:" : "Fasètz de vòstre senhal de connexion lo senhal de vòstra clau privada :",
- " If you don't remember your old password you can ask your administrator to recover your files." : "Se vos remembratz pas mai de vòstre ancian senhal, podètz demandar a vòstre administrator de recuperar vòstres fichièrs.",
- "Old log-in password" : "Ancian senhal de connexion",
- "Current log-in password" : "Actual senhal de connexion",
- "Update Private Key Password" : "Metre a jorn lo senhal de vòstra clau privada",
- "Enable password recovery:" : "Activar la recuperacion del senhal :",
- "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Activar aquesta opcion vos permetrà d'obténer tornamai l'accès a vòstres fichièrs chifrats en cas de pèrda de senhal",
- "Enabled" : "Activat",
- "Disabled" : "Desactivat"
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/encryption/l10n/oc.json b/apps/encryption/l10n/oc.json
deleted file mode 100644
index 1773e6b7ef1..00000000000
--- a/apps/encryption/l10n/oc.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{ "translations": {
- "Missing recovery key password" : "Senhal de la clau de recuperacion mancant",
- "Please repeat the recovery key password" : "Repetètz lo senhal de la clau de recuperacion",
- "Repeated recovery key password does not match the provided recovery key password" : "Lo senhal de la clau de recuperacion e sa repeticion son pas identics.",
- "Recovery key successfully enabled" : "Clau de recuperacion activada amb succès",
- "Could not enable recovery key. Please check your recovery key password!" : "Impossible d'activar la clau de recuperacion. Verificatz lo senhal de vòstra clau de recuperacion !",
- "Recovery key successfully disabled" : "Clau de recuperacion desactivada amb succès",
- "Could not disable recovery key. Please check your recovery key password!" : "Impossible de desactivar la clau de recuperacion. Verificatz lo senhal de vòstra clau de recuperacion !",
- "Missing parameters" : "Paramètres mancants",
- "Please provide the old recovery password" : "Entratz l'ancian senhal de recuperacion",
- "Please provide a new recovery password" : "Entratz un novèl senhal de recuperacion",
- "Please repeat the new recovery password" : "Repetissètz lo novèl senhal de recuperacion",
- "Password successfully changed." : "Senhal cambiat amb succès.",
- "Could not change the password. Maybe the old password was not correct." : "Error al moment del cambiament de senhal. Benlèu que l'ancian senhal es incorrècte.",
- "Recovery Key disabled" : "Clau de recuperacion desactivada",
- "Recovery Key enabled" : "Clau de recuperacion activada",
- "Could not enable the recovery key, please try again or contact your administrator" : "Impossible d'activar la clau de recuperacion. Ensajatz tornamai o contactatz vòstre administrator",
- "Could not update the private key password." : "Impossible de metre a jorn lo senhal de la clau privada.",
- "The old password was not correct, please try again." : "L'ancian senhal es incorrècte. Ensajatz tornamai.",
- "The current log-in password was not correct, please try again." : "Lo senhal de connexion actual es pas corrècte, ensajatz tornamai.",
- "Private key password successfully updated." : "Senhal de la clau privada mes a jorn amb succès.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Vos cal migrar vòstras claus de chiframent de l'anciana version (ownCloud <= 8.0) cap a la novèla. Executatz 'occ encryption:migrate' o contactatz vòstre administrator",
- "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Vòstra clau privada pel chiframent es pas valida ! Metètz a jorn lo senhal de vòstra clau privada dins vòstres paramètres personals per recuperar l'accès a vòstres fichièrs chifrats.",
- "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicacion de chiframent es activada mas vòstras claus son pas inicializadas. Desconnectatz-vos e puèi reconnectatz-vos.",
- "Encryption App is enabled and ready" : "L'aplicacion de chiframent es activada e prèsta",
- "one-time password for server-side-encryption" : "Senhal d'usatge unic pel chiframent costat servidor",
- "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de deschifrar aqueste fichièr : s'agís probablament d'un fichièr partejat. Demandatz al proprietari del fichièr de lo partejar tornamai amb vos.",
- "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de legir aqueste fichièr, s'agís probablament d'un fichièr partejat. Demandatz al proprietari del fichièr de lo repartejar amb vos. ",
- "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Bonjorn,\n\nL'administrator a activat lo chiframent sul servidor. Vòstres fichièrs son estats chifrats amb lo senhal seguent :\n\n%s\n\nSeguissètz aquelas instruccions :\n\n1. Connectatz-vos a l'interfàcia web e trobatz la seccion \"Modul de chiframent de basa d'\" dins vòstres paramètres personals ;\n\n2. Entratz lo senhal provesit çaisús dins lo camp \"Ancian senhal de connexion\";\n\n3. Entratz lo senhal qu'utilizatz actualament per vos connectar dins lo camp \"Senhal de connexion actual\" ;\n\n4. Validatz en clicant sul boton \"Metre a jorn lo senhal de vòstra clau privada\".\n",
- "The share will expire on %s." : "Lo partiment expirarà lo %s.",
- "Cheers!" : "A lèu !",
- "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Bonjorn,\n<br><br>\nL'administrator a activat lo chiframent sul servidor. Vòstres fichièrs son estats chifrats amb lo senhal seguent :\n\n<p style=\"font-family: monospace;\"><b>%s</b></p>\n\n<p>\nSeguissètz aquelas instruccions :\n<ol>\n<li>Connectatz-vos a l'interfàcia web e trobatz la seccion <em>\"Modul de chiframent de basa d'\"</em> dins vòstres paramètres personals;</li>\n<li>Entratz lo senhal provesit çaisús dins lo camp <em>\"Ancian senhal de connexion\"</em>;</li>\n<li>Entratz lo senhal qu'utilizatz actualament per vos connectar dins lo camp <em>\"Senhal de connexion actual\"</em>;</li>\n<li>Validatz en clicant sul boton <em>\"Metre a jorn lo senhal de vòstra clau privada\"</em>.</li>\n</ol>\n</p>",
- "Encrypt the home storage" : "Chifrar l'espaci d'emmagazinatge principal",
- "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "L'activacion d'aquesta opcion chifra totes los fichièrs de l'emmagazinatge principal, siquenon sols los espacis d'emmagazinatge extèrnes seràn chifrats",
- "Enable recovery key" : "Activar la clau de recuperacion",
- "Disable recovery key" : "Desactivar la clau de recuperacion",
- "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." : "La clau de recuperacion es una clau suplementària utilizada per chifrar los fichièrs. Permet de recuperar los fichièrs dels utilizaires se doblidan lor senhal.",
- "Recovery key password" : "Senhal de la clau de recuperacion",
- "Repeat recovery key password" : "Repetissètz lo senhal de la clau de recuperacion",
- "Change recovery key password:" : "Modificar lo senhal de la clau de recuperacion :",
- "Old recovery key password" : "Ancian senhal de la clau de recuperacion",
- "New recovery key password" : "Novèl senhal de la clau de recuperacion",
- "Repeat new recovery key password" : "Repetissètz lo novèl senhal de la clau de recuperacion",
- "Change Password" : "Cambiar de senhal",
- "basic encryption module" : "Modul de chiframent de basa d'",
- "Your private key password no longer matches your log-in password." : "Lo senhal de vòstra clau privada correspond pas mai a vòstre senhal de connexion.",
- "Set your old private key password to your current log-in password:" : "Fasètz de vòstre senhal de connexion lo senhal de vòstra clau privada :",
- " If you don't remember your old password you can ask your administrator to recover your files." : "Se vos remembratz pas mai de vòstre ancian senhal, podètz demandar a vòstre administrator de recuperar vòstres fichièrs.",
- "Old log-in password" : "Ancian senhal de connexion",
- "Current log-in password" : "Actual senhal de connexion",
- "Update Private Key Password" : "Metre a jorn lo senhal de vòstra clau privada",
- "Enable password recovery:" : "Activar la recuperacion del senhal :",
- "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Activar aquesta opcion vos permetrà d'obténer tornamai l'accès a vòstres fichièrs chifrats en cas de pèrda de senhal",
- "Enabled" : "Activat",
- "Disabled" : "Desactivat"
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/encryption/l10n/sr@latin.js b/apps/encryption/l10n/sr@latin.js
deleted file mode 100644
index d784912394c..00000000000
--- a/apps/encryption/l10n/sr@latin.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "encryption",
- {
- "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Neispravan privatni ključ za Aplikaciju za šifrovanje. Molimo da osvežite vašu lozinku privatnog ključa u ličnim podešavanjima kako bi dobili pristup šifrovanim fajlovima.",
- "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikacija za šifrovanje je omogućena ali Vaši ključevi nisu inicijalizovani, molimo Vas da se izlogujete i ulogujete ponovo.",
- "The share will expire on %s." : "Deljeni sadržaj će isteći: %s",
- "Cheers!" : "U zdravlje!",
- "Disabled" : "Onemogućeno"
-},
-"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/encryption/l10n/sr@latin.json b/apps/encryption/l10n/sr@latin.json
deleted file mode 100644
index cb3a38ecf72..00000000000
--- a/apps/encryption/l10n/sr@latin.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Neispravan privatni ključ za Aplikaciju za šifrovanje. Molimo da osvežite vašu lozinku privatnog ključa u ličnim podešavanjima kako bi dobili pristup šifrovanim fajlovima.",
- "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikacija za šifrovanje je omogućena ali Vaši ključevi nisu inicijalizovani, molimo Vas da se izlogujete i ulogujete ponovo.",
- "The share will expire on %s." : "Deljeni sadržaj će isteći: %s",
- "Cheers!" : "U zdravlje!",
- "Disabled" : "Onemogućeno"
-},"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/encryption/l10n/tr.js b/apps/encryption/l10n/tr.js
index fd62a7cea4d..dad06799b7e 100644
--- a/apps/encryption/l10n/tr.js
+++ b/apps/encryption/l10n/tr.js
@@ -1,46 +1,46 @@
OC.L10N.register(
"encryption",
{
- "Missing recovery key password" : "Geri yükleme anahtarı parolası eksik",
- "Please repeat the recovery key password" : "Geri yükleme anahtarı parolasını yeniden yazın",
- "Repeated recovery key password does not match the provided recovery key password" : "Geri yükleme anahtarı parolası ile onayı aynı değil",
- "Recovery key successfully enabled" : "Geri yükleme anahtarı başarıyla etkinleştirildi",
- "Could not enable recovery key. Please check your recovery key password!" : "Geri yükleme anahtarı etkinleştirilemedi. Lütfen geri yükleme anahtarı parolanızı denetleyin!",
- "Recovery key successfully disabled" : "Geri yükleme anahtarı devre dışı bırakıldı",
- "Could not disable recovery key. Please check your recovery key password!" : "Geri yükleme anahtarı devre dışı bırakılamadı. Lütfen geri yükleme anahtarı parolanızı denetleyin!",
+ "Missing recovery key password" : "Kurtarma anahtarı parolası eksik",
+ "Please repeat the recovery key password" : "Kurtarma anahtarı parolasını yeniden yazın",
+ "Repeated recovery key password does not match the provided recovery key password" : "Kurtarma anahtarı parolası ile onayı aynı değil",
+ "Recovery key successfully enabled" : "Kurtarma anahtarı kullanıma alındı",
+ "Could not enable recovery key. Please check your recovery key password!" : "Kurtarma anahtarı kullanıma alınamadı. Lütfen kurtarma anahtarı parolanızı denetleyin!",
+ "Recovery key successfully disabled" : "Kurtarma anahtarı kullanımdan kaldırıldı",
+ "Could not disable recovery key. Please check your recovery key password!" : "Kurtarma anahtarı kullanımdan kaldırılamadı. Lütfen kurtarma anahtarı parolanızı denetleyin!",
"Missing parameters" : "Parametreler eksik",
- "Please provide the old recovery password" : "Lütfen eski geri yükleme parolasını yazın",
- "Please provide a new recovery password" : "Lütfen yeni geri yükleme parolasını yazın",
- "Please repeat the new recovery password" : "Lütfen yeni geri yükleme parolasını yeniden yazın",
+ "Please provide the old recovery password" : "Lütfen eski kurtarma parolasını yazın",
+ "Please provide a new recovery password" : "Lütfen yeni kurtarma parolasını yazın",
+ "Please repeat the new recovery password" : "Lütfen yeni kurtarma parolasını yeniden yazın",
"Password successfully changed." : "Parola değiştirildi.",
"Could not change the password. Maybe the old password was not correct." : "Parola değiştirilemedi. Eski parolanızı doğru yazmamış olabilirsiniz.",
- "Recovery Key disabled" : "Geri yükleme anahtarı devre dışı bırakılmış",
- "Recovery Key enabled" : "Geri Yükleme Anahtarı etkinleştirildi",
- "Could not enable the recovery key, please try again or contact your administrator" : "Geri yükleme anahtarı etkinleştirilemedi, yeniden deneyin ya da BT yöneticisi ile görüşün",
+ "Recovery Key disabled" : "Kurtarma anahtarı kullanımdan kaldırıldı",
+ "Recovery Key enabled" : "Kurtarma anahtarı kullanıma alındı",
+ "Could not enable the recovery key, please try again or contact your administrator" : "Kurtarma anahtarı kullanıma alınamadı. Yeniden deneyin ya da BT yöneticisi ile görüşün",
"Could not update the private key password." : "Kişisel anahtar parolası güncellenemedi",
"The old password was not correct, please try again." : "Eski parola doğru değil, lütfen yeniden deneyin.",
"The current log-in password was not correct, please try again." : "Geçerli oturum açma parolası doğru değil, lütfen yeniden deneyin.",
"Private key password successfully updated." : "Kişisel anahtar parolası güncellendi.",
"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ı kişisel anahtarı geçersiz. Şifrelenmiş dosyalarınıza erişebilmek için kişisel ayarlarınızdaki kişisel anahtar parolanızı güncelleyin.",
- "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Şifreleme uygulaması etkinleştirilmiş ancak anahtarlarınız hazırlanmamış. Lütfen oturumunuzu kapatıp yeniden açın.",
- "Please enable server side encryption in the admin settings in order to use the encryption module." : "Şifreleme modülünü kullanabilmek için yönetici ayarlarından sunucu tarafında şifreleme seçeneğini etkinleştirin.",
- "Encryption app is enabled and ready" : "Şifreleme uygulaması etkin ve hazır",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Şifreleme uygulaması kullanıma alınmış ancak anahtarlarınız hazırlanmamış. Lütfen oturumunuzu kapatıp yeniden açın.",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "Şifreleme modülünü kullanabilmek için yönetici ayarlarından sunucu tarafında şifreleme seçeneğini açın.",
+ "Encryption app is enabled and ready" : "Şifreleme uygulaması kullanıma alındı ve hazır",
"Bad Signature" : "İmza bozuk",
"Missing Signature" : "İmza eksik",
"one-time password for server-side-encryption" : "sunucu tarafında şifreleme için tek kullanımlık parola",
"Encryption password" : "Şifreleme parolası",
- "The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>." : "Yönetici, sunucu tarafında şifrelemeyi etkinleştirmiş. Dosyalarınız <strong>%s</strong> parolası ile şifrelendi.",
- "The administration enabled server-side-encryption. Your files were encrypted using the password \"%s\"." : "Yönetici, sunucu tarafında şifrelemeyi etkinleştirmiş. Dosyalarınız \"<strong>%s</strong>\" parolası ile şifrelendi.",
+ "The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>." : "Yönetici, sunucu tarafında şifreleme özelliğini açmış. Dosyalarınız <strong>%s</strong> parolası ile şifrelendi.",
+ "The administration enabled server-side-encryption. Your files were encrypted using the password \"%s\"." : "Yönetici, sunucu tarafında şifreleme özelliğini açmış. Dosyalarınız \"%s\" parolası ile şifrelendi.",
"Please login to the web interface, go to the \"Security\" section of your personal settings and update your encryption password by entering this password into the \"Old login password\" field and your current login password." : "Lütfen yönetim bölümünden oturum açarak kişisel ayarlarınızdaki \"Güvenlik\" bölümüne gidin ve \"Eski oturum açma parolası\" alanına bu parolayı ve geçerli oturum açma parolanızı yazarak şifreleme parolanızı güncelleyin.",
"Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosyanın şifresi çözülemedi ve büyük olasılıkla paylaşılan bir dosya. Lütfen dosya sahibi ile görüşerek sizinle yeniden paylaşmasını isteyin.",
"Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya okunamadı ve büyük olasılıkla paylaşılan bir dosya. Lütfen dosya sahibi ile görüşerek sizinle yeniden paylaşmasını isteyin.",
"Default encryption module" : "Varsayılan şifreleme modülü",
"Default encryption module for server-side encryption" : "Sunucu tarafında şifreleme için varsayılan şifreleme modülü",
- "In order to use this encryption module you need to enable server-side encryption in the admin settings. Once enabled this module will encrypt all your files transparently. The encryption is based on AES 256 keys.\nThe module will not touch existing files, only new files will be encrypted after server-side encryption was enabled. It is also not possible to disable the encryption again and switch back to an unencrypted system.\nPlease read the documentation to know all implications before you decide to enable server-side encryption." : "Bu şifreleme modülünün kullanılması için sunucu tarafında yönetim bölümünden şifreleme seçeneği açılmalıdır. Bu modül etkinleştirildikten sonra tüm dosyalarınızı size farkettirmeden şifreler. Şifreleme AES 256 anahtarları ile yapılır. \nModül var olan dosyaları değiştirmez, yalnızca sunucu tarafında şifreleme açıldıktan sonra eklenen yeni dosyalar şifrelenir. Şifreleme açıldıktan sonra kapatılamaz ve şifreleme olmayan sisteme geri dönülemez.\nLütfen sunucu tarafı şifrelemeyi açmadan önce belgeleri okuyun ve uygulamadan doğacak tüm sonuçlarını öğrenin.",
- "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Şifreleme uygulaması etkinleştirilmiş ancak anahtarlarınız hazırlanmamış. Lütfen oturumunuzu kapatıp yeniden açın.",
+ "In order to use this encryption module you need to enable server-side encryption in the admin settings. Once enabled this module will encrypt all your files transparently. The encryption is based on AES 256 keys.\nThe module will not touch existing files, only new files will be encrypted after server-side encryption was enabled. It is also not possible to disable the encryption again and switch back to an unencrypted system.\nPlease read the documentation to know all implications before you decide to enable server-side encryption." : "Bu şifreleme modülünün kullanılması için sunucu tarafında yönetim bölümünden şifreleme seçeneği açılmalıdır. Bu modül kullanıma alındıktan sonra tüm dosyalarınızı size farkettirmeden şifreler. Şifreleme AES 256 anahtarları ile yapılır. \nModül var olan dosyaları değiştirmez, yalnızca sunucu tarafında şifreleme açıldıktan sonra eklenen yeni dosyalar şifrelenir. Şifreleme açıldıktan sonra kapatılamaz ve şifreleme olmayan sisteme geri dönülemez.\nLütfen sunucu tarafı şifrelemeyi açmadan önce belgeleri okuyun ve uygulamadan doğacak tüm sonuçlarını öğrenin.",
+ "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Şifreleme uygulaması kullanıma alınmış ancak anahtarlarınız hazırlanmamış. Lütfen oturumunuzu kapatıp yeniden açın.",
"Encrypt the home storage" : "Ana depolama şifrelensin",
- "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Bu seçenek etkinleştirildiğinde, ana depolama alanındaki tüm dosyalar şifrelenir. Devre dışı bırakılırsa, yalnızca dış depolama alanındaki dosyalar şifrelenir",
- "Enable recovery key" : "Kurtarma anahtarını etkinleştir",
+ "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Bu seçenek açıldığında, ana depolama alanındaki tüm dosyalar şifrelenir. Kapatıldığında, yalnızca dış depolama alanındaki dosyalar şifrelenir",
+ "Enable recovery key" : "Kurtarma anahtarını kullanıma al",
"Disable recovery key" : "Kurtarma anahtarını kullanımdan kaldır",
"The recovery key is an additional encryption key used to encrypt files. It is used to recover files from an account if the password is forgotten." : "Kurtarma anahtarı, dosyaları şifrelemek için kullanılan ek bir şifreleme anahtarıdır. Parolanın unutulması durumunda hesaptaki dosyaları kurtarmak için kullanılır.",
"Recovery key password" : "Kurtarma anahtarı parolası",
@@ -57,9 +57,9 @@ OC.L10N.register(
"Old log-in password" : "Eski oturum açma parolası",
"Current log-in password" : "Geçerli oturum açma parolası",
"Update Private Key Password" : "Kişisel anahtar parolasını güncelle",
- "Enable password recovery:" : "Parola kurtarma özelliğini etkinleştir:",
- "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Bu seçenek etkinleştirildiğinde, parolayı unutursanız şifrelenmiş dosyalarınıza yeniden erişim izni elde edebilirsiniz",
- "Enabled" : "Etkin",
- "Disabled" : "Devre Dışı"
+ "Enable password recovery:" : "Parola kurtarma özelliğini aç:",
+ "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Bu seçenek açıldığında, parolayı unutursanız şifrelenmiş dosyalarınıza yeniden erişim izni elde edebilirsiniz",
+ "Enabled" : "Açık",
+ "Disabled" : "Kapalı"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/encryption/l10n/tr.json b/apps/encryption/l10n/tr.json
index 720b74bd057..4f3ff388ad1 100644
--- a/apps/encryption/l10n/tr.json
+++ b/apps/encryption/l10n/tr.json
@@ -1,44 +1,44 @@
{ "translations": {
- "Missing recovery key password" : "Geri yükleme anahtarı parolası eksik",
- "Please repeat the recovery key password" : "Geri yükleme anahtarı parolasını yeniden yazın",
- "Repeated recovery key password does not match the provided recovery key password" : "Geri yükleme anahtarı parolası ile onayı aynı değil",
- "Recovery key successfully enabled" : "Geri yükleme anahtarı başarıyla etkinleştirildi",
- "Could not enable recovery key. Please check your recovery key password!" : "Geri yükleme anahtarı etkinleştirilemedi. Lütfen geri yükleme anahtarı parolanızı denetleyin!",
- "Recovery key successfully disabled" : "Geri yükleme anahtarı devre dışı bırakıldı",
- "Could not disable recovery key. Please check your recovery key password!" : "Geri yükleme anahtarı devre dışı bırakılamadı. Lütfen geri yükleme anahtarı parolanızı denetleyin!",
+ "Missing recovery key password" : "Kurtarma anahtarı parolası eksik",
+ "Please repeat the recovery key password" : "Kurtarma anahtarı parolasını yeniden yazın",
+ "Repeated recovery key password does not match the provided recovery key password" : "Kurtarma anahtarı parolası ile onayı aynı değil",
+ "Recovery key successfully enabled" : "Kurtarma anahtarı kullanıma alındı",
+ "Could not enable recovery key. Please check your recovery key password!" : "Kurtarma anahtarı kullanıma alınamadı. Lütfen kurtarma anahtarı parolanızı denetleyin!",
+ "Recovery key successfully disabled" : "Kurtarma anahtarı kullanımdan kaldırıldı",
+ "Could not disable recovery key. Please check your recovery key password!" : "Kurtarma anahtarı kullanımdan kaldırılamadı. Lütfen kurtarma anahtarı parolanızı denetleyin!",
"Missing parameters" : "Parametreler eksik",
- "Please provide the old recovery password" : "Lütfen eski geri yükleme parolasını yazın",
- "Please provide a new recovery password" : "Lütfen yeni geri yükleme parolasını yazın",
- "Please repeat the new recovery password" : "Lütfen yeni geri yükleme parolasını yeniden yazın",
+ "Please provide the old recovery password" : "Lütfen eski kurtarma parolasını yazın",
+ "Please provide a new recovery password" : "Lütfen yeni kurtarma parolasını yazın",
+ "Please repeat the new recovery password" : "Lütfen yeni kurtarma parolasını yeniden yazın",
"Password successfully changed." : "Parola değiştirildi.",
"Could not change the password. Maybe the old password was not correct." : "Parola değiştirilemedi. Eski parolanızı doğru yazmamış olabilirsiniz.",
- "Recovery Key disabled" : "Geri yükleme anahtarı devre dışı bırakılmış",
- "Recovery Key enabled" : "Geri Yükleme Anahtarı etkinleştirildi",
- "Could not enable the recovery key, please try again or contact your administrator" : "Geri yükleme anahtarı etkinleştirilemedi, yeniden deneyin ya da BT yöneticisi ile görüşün",
+ "Recovery Key disabled" : "Kurtarma anahtarı kullanımdan kaldırıldı",
+ "Recovery Key enabled" : "Kurtarma anahtarı kullanıma alındı",
+ "Could not enable the recovery key, please try again or contact your administrator" : "Kurtarma anahtarı kullanıma alınamadı. Yeniden deneyin ya da BT yöneticisi ile görüşün",
"Could not update the private key password." : "Kişisel anahtar parolası güncellenemedi",
"The old password was not correct, please try again." : "Eski parola doğru değil, lütfen yeniden deneyin.",
"The current log-in password was not correct, please try again." : "Geçerli oturum açma parolası doğru değil, lütfen yeniden deneyin.",
"Private key password successfully updated." : "Kişisel anahtar parolası güncellendi.",
"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ı kişisel anahtarı geçersiz. Şifrelenmiş dosyalarınıza erişebilmek için kişisel ayarlarınızdaki kişisel anahtar parolanızı güncelleyin.",
- "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Şifreleme uygulaması etkinleştirilmiş ancak anahtarlarınız hazırlanmamış. Lütfen oturumunuzu kapatıp yeniden açın.",
- "Please enable server side encryption in the admin settings in order to use the encryption module." : "Şifreleme modülünü kullanabilmek için yönetici ayarlarından sunucu tarafında şifreleme seçeneğini etkinleştirin.",
- "Encryption app is enabled and ready" : "Şifreleme uygulaması etkin ve hazır",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Şifreleme uygulaması kullanıma alınmış ancak anahtarlarınız hazırlanmamış. Lütfen oturumunuzu kapatıp yeniden açın.",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "Şifreleme modülünü kullanabilmek için yönetici ayarlarından sunucu tarafında şifreleme seçeneğini açın.",
+ "Encryption app is enabled and ready" : "Şifreleme uygulaması kullanıma alındı ve hazır",
"Bad Signature" : "İmza bozuk",
"Missing Signature" : "İmza eksik",
"one-time password for server-side-encryption" : "sunucu tarafında şifreleme için tek kullanımlık parola",
"Encryption password" : "Şifreleme parolası",
- "The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>." : "Yönetici, sunucu tarafında şifrelemeyi etkinleştirmiş. Dosyalarınız <strong>%s</strong> parolası ile şifrelendi.",
- "The administration enabled server-side-encryption. Your files were encrypted using the password \"%s\"." : "Yönetici, sunucu tarafında şifrelemeyi etkinleştirmiş. Dosyalarınız \"<strong>%s</strong>\" parolası ile şifrelendi.",
+ "The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>." : "Yönetici, sunucu tarafında şifreleme özelliğini açmış. Dosyalarınız <strong>%s</strong> parolası ile şifrelendi.",
+ "The administration enabled server-side-encryption. Your files were encrypted using the password \"%s\"." : "Yönetici, sunucu tarafında şifreleme özelliğini açmış. Dosyalarınız \"%s\" parolası ile şifrelendi.",
"Please login to the web interface, go to the \"Security\" section of your personal settings and update your encryption password by entering this password into the \"Old login password\" field and your current login password." : "Lütfen yönetim bölümünden oturum açarak kişisel ayarlarınızdaki \"Güvenlik\" bölümüne gidin ve \"Eski oturum açma parolası\" alanına bu parolayı ve geçerli oturum açma parolanızı yazarak şifreleme parolanızı güncelleyin.",
"Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosyanın şifresi çözülemedi ve büyük olasılıkla paylaşılan bir dosya. Lütfen dosya sahibi ile görüşerek sizinle yeniden paylaşmasını isteyin.",
"Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya okunamadı ve büyük olasılıkla paylaşılan bir dosya. Lütfen dosya sahibi ile görüşerek sizinle yeniden paylaşmasını isteyin.",
"Default encryption module" : "Varsayılan şifreleme modülü",
"Default encryption module for server-side encryption" : "Sunucu tarafında şifreleme için varsayılan şifreleme modülü",
- "In order to use this encryption module you need to enable server-side encryption in the admin settings. Once enabled this module will encrypt all your files transparently. The encryption is based on AES 256 keys.\nThe module will not touch existing files, only new files will be encrypted after server-side encryption was enabled. It is also not possible to disable the encryption again and switch back to an unencrypted system.\nPlease read the documentation to know all implications before you decide to enable server-side encryption." : "Bu şifreleme modülünün kullanılması için sunucu tarafında yönetim bölümünden şifreleme seçeneği açılmalıdır. Bu modül etkinleştirildikten sonra tüm dosyalarınızı size farkettirmeden şifreler. Şifreleme AES 256 anahtarları ile yapılır. \nModül var olan dosyaları değiştirmez, yalnızca sunucu tarafında şifreleme açıldıktan sonra eklenen yeni dosyalar şifrelenir. Şifreleme açıldıktan sonra kapatılamaz ve şifreleme olmayan sisteme geri dönülemez.\nLütfen sunucu tarafı şifrelemeyi açmadan önce belgeleri okuyun ve uygulamadan doğacak tüm sonuçlarını öğrenin.",
- "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Şifreleme uygulaması etkinleştirilmiş ancak anahtarlarınız hazırlanmamış. Lütfen oturumunuzu kapatıp yeniden açın.",
+ "In order to use this encryption module you need to enable server-side encryption in the admin settings. Once enabled this module will encrypt all your files transparently. The encryption is based on AES 256 keys.\nThe module will not touch existing files, only new files will be encrypted after server-side encryption was enabled. It is also not possible to disable the encryption again and switch back to an unencrypted system.\nPlease read the documentation to know all implications before you decide to enable server-side encryption." : "Bu şifreleme modülünün kullanılması için sunucu tarafında yönetim bölümünden şifreleme seçeneği açılmalıdır. Bu modül kullanıma alındıktan sonra tüm dosyalarınızı size farkettirmeden şifreler. Şifreleme AES 256 anahtarları ile yapılır. \nModül var olan dosyaları değiştirmez, yalnızca sunucu tarafında şifreleme açıldıktan sonra eklenen yeni dosyalar şifrelenir. Şifreleme açıldıktan sonra kapatılamaz ve şifreleme olmayan sisteme geri dönülemez.\nLütfen sunucu tarafı şifrelemeyi açmadan önce belgeleri okuyun ve uygulamadan doğacak tüm sonuçlarını öğrenin.",
+ "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Şifreleme uygulaması kullanıma alınmış ancak anahtarlarınız hazırlanmamış. Lütfen oturumunuzu kapatıp yeniden açın.",
"Encrypt the home storage" : "Ana depolama şifrelensin",
- "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Bu seçenek etkinleştirildiğinde, ana depolama alanındaki tüm dosyalar şifrelenir. Devre dışı bırakılırsa, yalnızca dış depolama alanındaki dosyalar şifrelenir",
- "Enable recovery key" : "Kurtarma anahtarını etkinleştir",
+ "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Bu seçenek açıldığında, ana depolama alanındaki tüm dosyalar şifrelenir. Kapatıldığında, yalnızca dış depolama alanındaki dosyalar şifrelenir",
+ "Enable recovery key" : "Kurtarma anahtarını kullanıma al",
"Disable recovery key" : "Kurtarma anahtarını kullanımdan kaldır",
"The recovery key is an additional encryption key used to encrypt files. It is used to recover files from an account if the password is forgotten." : "Kurtarma anahtarı, dosyaları şifrelemek için kullanılan ek bir şifreleme anahtarıdır. Parolanın unutulması durumunda hesaptaki dosyaları kurtarmak için kullanılır.",
"Recovery key password" : "Kurtarma anahtarı parolası",
@@ -55,9 +55,9 @@
"Old log-in password" : "Eski oturum açma parolası",
"Current log-in password" : "Geçerli oturum açma parolası",
"Update Private Key Password" : "Kişisel anahtar parolasını güncelle",
- "Enable password recovery:" : "Parola kurtarma özelliğini etkinleştir:",
- "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Bu seçenek etkinleştirildiğinde, parolayı unutursanız şifrelenmiş dosyalarınıza yeniden erişim izni elde edebilirsiniz",
- "Enabled" : "Etkin",
- "Disabled" : "Devre Dışı"
+ "Enable password recovery:" : "Parola kurtarma özelliğini aç:",
+ "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Bu seçenek açıldığında, parolayı unutursanız şifrelenmiş dosyalarınıza yeniden erişim izni elde edebilirsiniz",
+ "Enabled" : "Açık",
+ "Disabled" : "Kapalı"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/encryption/l10n/ur_PK.js b/apps/encryption/l10n/ur_PK.js
deleted file mode 100644
index 9fbed2e780f..00000000000
--- a/apps/encryption/l10n/ur_PK.js
+++ /dev/null
@@ -1,6 +0,0 @@
-OC.L10N.register(
- "encryption",
- {
- "Cheers!" : "واہ!"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/encryption/l10n/ur_PK.json b/apps/encryption/l10n/ur_PK.json
deleted file mode 100644
index f798bdf2a7b..00000000000
--- a/apps/encryption/l10n/ur_PK.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "translations": {
- "Cheers!" : "واہ!"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/encryption/l10n/vi.js b/apps/encryption/l10n/vi.js
deleted file mode 100644
index d325fc71661..00000000000
--- a/apps/encryption/l10n/vi.js
+++ /dev/null
@@ -1,26 +0,0 @@
-OC.L10N.register(
- "encryption",
- {
- "Missing recovery key password" : "Thiếu khóa khôi phục mật khẩu",
- "Please repeat the recovery key password" : "Nhập lại khóa khôi phục mật khẩu",
- "Recovery key successfully enabled" : "Khóa khôi phục kích hoạt thành công",
- "Could not enable recovery key. Please check your recovery key password!" : "Không thể kích hoạt khóa khôi phục. Vui lòng kiểm tra mật khẩu khóa khôi phục!",
- "Recovery key successfully disabled" : "Vô hiệu hóa khóa khôi phục thành công",
- "Could not disable recovery key. Please check your recovery key password!" : "Không thể vô hiệu hóa khóa khôi phục. Vui lòng kiểm tra mật khẩu khóa khôi phục!",
- "Password successfully changed." : "Đã đổi mật khẩu.",
- "Could not change the password. Maybe the old password was not correct." : "Không thể đổi mật khẩu. Có lẽ do mật khẩu cũ không đúng.",
- "Private key password successfully updated." : "Cập nhật thành công mật khẩu khóa cá nhân",
- "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Ứng dụng mã hóa đã được kích hoạt nhưng bạn chưa khởi tạo khóa. Vui lòng đăng xuất ra và đăng nhập lại",
- "The share will expire on %s." : "Chia sẻ này sẽ hết hiệu lực vào %s.",
- "Cheers!" : "Chúc mừng!",
- "Change Password" : "Đổi Mật khẩu",
- " If you don't remember your old password you can ask your administrator to recover your files." : "Nếu bạn không nhớ mật khẩu cũ, bạn có thể yêu cầu quản trị viên khôi phục tập tin của bạn.",
- "Old log-in password" : "Mật khẩu đăng nhập cũ",
- "Current log-in password" : "Mật khẩu đăng nhập hiện tại",
- "Update Private Key Password" : "Cập nhật mật khẩu khóa cá nhân",
- "Enable password recovery:" : "Kích hoạt khôi phục mật khẩu:",
- "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Tùy chọn này sẽ cho phép bạn tái truy cập đến các tập tin mã hóa trong trường hợp mất mật khẩu",
- "Enabled" : "Bật",
- "Disabled" : "Tắt"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/encryption/l10n/vi.json b/apps/encryption/l10n/vi.json
deleted file mode 100644
index 78ed43b7047..00000000000
--- a/apps/encryption/l10n/vi.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{ "translations": {
- "Missing recovery key password" : "Thiếu khóa khôi phục mật khẩu",
- "Please repeat the recovery key password" : "Nhập lại khóa khôi phục mật khẩu",
- "Recovery key successfully enabled" : "Khóa khôi phục kích hoạt thành công",
- "Could not enable recovery key. Please check your recovery key password!" : "Không thể kích hoạt khóa khôi phục. Vui lòng kiểm tra mật khẩu khóa khôi phục!",
- "Recovery key successfully disabled" : "Vô hiệu hóa khóa khôi phục thành công",
- "Could not disable recovery key. Please check your recovery key password!" : "Không thể vô hiệu hóa khóa khôi phục. Vui lòng kiểm tra mật khẩu khóa khôi phục!",
- "Password successfully changed." : "Đã đổi mật khẩu.",
- "Could not change the password. Maybe the old password was not correct." : "Không thể đổi mật khẩu. Có lẽ do mật khẩu cũ không đúng.",
- "Private key password successfully updated." : "Cập nhật thành công mật khẩu khóa cá nhân",
- "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Ứng dụng mã hóa đã được kích hoạt nhưng bạn chưa khởi tạo khóa. Vui lòng đăng xuất ra và đăng nhập lại",
- "The share will expire on %s." : "Chia sẻ này sẽ hết hiệu lực vào %s.",
- "Cheers!" : "Chúc mừng!",
- "Change Password" : "Đổi Mật khẩu",
- " If you don't remember your old password you can ask your administrator to recover your files." : "Nếu bạn không nhớ mật khẩu cũ, bạn có thể yêu cầu quản trị viên khôi phục tập tin của bạn.",
- "Old log-in password" : "Mật khẩu đăng nhập cũ",
- "Current log-in password" : "Mật khẩu đăng nhập hiện tại",
- "Update Private Key Password" : "Cập nhật mật khẩu khóa cá nhân",
- "Enable password recovery:" : "Kích hoạt khôi phục mật khẩu:",
- "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Tùy chọn này sẽ cho phép bạn tái truy cập đến các tập tin mã hóa trong trường hợp mất mật khẩu",
- "Enabled" : "Bật",
- "Disabled" : "Tắt"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/ar.js b/apps/federatedfilesharing/l10n/ar.js
index ce2d030be21..10d0694c8d1 100644
--- a/apps/federatedfilesharing/l10n/ar.js
+++ b/apps/federatedfilesharing/l10n/ar.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "يتم آليّاً قبول المشاركات من حسابات ومجموعات الاتحادات الموثوقة بشكل تلقائي ",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "شارك معي عبر #مُعرّف سحابة نكست كلاود الاتحادية، أنظُر {url} ",
"Share with me through my #Nextcloud Federated Cloud ID" : "شارك معي عبر #مُعرّف سحابة نكست كلاود الاتحادية",
+ "Share with me via Nextcloud" : "شاركه معي عبر النكست كلاود",
"Cloud ID copied to the clipboard" : "تمّ نسخ مُعرِّف السحابة إلى الحافظة",
"Copy to clipboard" : "نسخ الرابط",
"Clipboard not available. Please copy the cloud ID manually." : "الحافظة غير متوفرة. رجاءً، قم بنسخ مُعرِّف السحابة يدوياً.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "تويتر سابقاً",
"Mastodon" : "برنامج ماستودون Mastodon",
"Add to your website" : "أضِف إلى موقعك على الويب",
- "Share with me via Nextcloud" : "شاركه معي عبر النكست كلاود",
"HTML Code:" : "كود HTML: ",
"Cancel" : "إلغاء",
"Add remote share" : "إضافة مشاركة بعيدة remote",
diff --git a/apps/federatedfilesharing/l10n/ar.json b/apps/federatedfilesharing/l10n/ar.json
index c09a2934ef1..869f21642c1 100644
--- a/apps/federatedfilesharing/l10n/ar.json
+++ b/apps/federatedfilesharing/l10n/ar.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "يتم آليّاً قبول المشاركات من حسابات ومجموعات الاتحادات الموثوقة بشكل تلقائي ",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "شارك معي عبر #مُعرّف سحابة نكست كلاود الاتحادية، أنظُر {url} ",
"Share with me through my #Nextcloud Federated Cloud ID" : "شارك معي عبر #مُعرّف سحابة نكست كلاود الاتحادية",
+ "Share with me via Nextcloud" : "شاركه معي عبر النكست كلاود",
"Cloud ID copied to the clipboard" : "تمّ نسخ مُعرِّف السحابة إلى الحافظة",
"Copy to clipboard" : "نسخ الرابط",
"Clipboard not available. Please copy the cloud ID manually." : "الحافظة غير متوفرة. رجاءً، قم بنسخ مُعرِّف السحابة يدوياً.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "تويتر سابقاً",
"Mastodon" : "برنامج ماستودون Mastodon",
"Add to your website" : "أضِف إلى موقعك على الويب",
- "Share with me via Nextcloud" : "شاركه معي عبر النكست كلاود",
"HTML Code:" : "كود HTML: ",
"Cancel" : "إلغاء",
"Add remote share" : "إضافة مشاركة بعيدة remote",
diff --git a/apps/federatedfilesharing/l10n/ast.js b/apps/federatedfilesharing/l10n/ast.js
index 1bce0447008..31f11f41cd6 100644
--- a/apps/federatedfilesharing/l10n/ast.js
+++ b/apps/federatedfilesharing/l10n/ast.js
@@ -33,6 +33,7 @@ OC.L10N.register(
"Allow people to publish their data to a global and public address book" : "Permitir que les persones espublicen los sos datos nuna llibreta de direiciones global y pública",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Compartir conmigo pente la mio ID de nube federada de #Nextcloud, mira {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo pente la mio ID de nube federada de #Nextcloud",
+ "Share with me via Nextcloud" : "Compartir conmigo per Nextcloud",
"Cloud ID copied to the clipboard" : "La ID de la nube copióse nel cartafueyu",
"Copy to clipboard" : "Copiar nel cartafueyu",
"Copied!" : "¡Copióse!",
@@ -43,7 +44,6 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (anteriormente Twitter)",
"Mastodon" : "Mastodon",
"Add to your website" : "Amestar al to sitiu web",
- "Share with me via Nextcloud" : "Compartir conmigo per Nextcloud",
"HTML Code:" : "Códigu HTML:",
"Cancel" : "Encaboxar",
"Add remote share" : "Amestar un elementu compartíu remotu",
diff --git a/apps/federatedfilesharing/l10n/ast.json b/apps/federatedfilesharing/l10n/ast.json
index c6f6e010946..84f11d0c1ec 100644
--- a/apps/federatedfilesharing/l10n/ast.json
+++ b/apps/federatedfilesharing/l10n/ast.json
@@ -31,6 +31,7 @@
"Allow people to publish their data to a global and public address book" : "Permitir que les persones espublicen los sos datos nuna llibreta de direiciones global y pública",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Compartir conmigo pente la mio ID de nube federada de #Nextcloud, mira {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo pente la mio ID de nube federada de #Nextcloud",
+ "Share with me via Nextcloud" : "Compartir conmigo per Nextcloud",
"Cloud ID copied to the clipboard" : "La ID de la nube copióse nel cartafueyu",
"Copy to clipboard" : "Copiar nel cartafueyu",
"Copied!" : "¡Copióse!",
@@ -41,7 +42,6 @@
"X (formerly Twitter)" : "X (anteriormente Twitter)",
"Mastodon" : "Mastodon",
"Add to your website" : "Amestar al to sitiu web",
- "Share with me via Nextcloud" : "Compartir conmigo per Nextcloud",
"HTML Code:" : "Códigu HTML:",
"Cancel" : "Encaboxar",
"Add remote share" : "Amestar un elementu compartíu remotu",
diff --git a/apps/federatedfilesharing/l10n/az.js b/apps/federatedfilesharing/l10n/az.js
deleted file mode 100644
index 023c4560256..00000000000
--- a/apps/federatedfilesharing/l10n/az.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Federated Cloud Sharing" : "Federal Cloud Paylaşım",
- "Open documentation" : "Sənədləri aç",
- "Allow users on this server to send shares to other servers" : "Bu serverdən digər serverlərə istifadəçilər tərəfindən paylaşımın göndərilməsinə izin vermək",
- "Allow users on this server to receive shares from other servers" : "Digər serverlərdən bu serverə istifadəçilər tərəfindən paylaşımın ötürülməsinə izin vermək"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/az.json b/apps/federatedfilesharing/l10n/az.json
deleted file mode 100644
index c6c2f05ad13..00000000000
--- a/apps/federatedfilesharing/l10n/az.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Federated Cloud Sharing" : "Federal Cloud Paylaşım",
- "Open documentation" : "Sənədləri aç",
- "Allow users on this server to send shares to other servers" : "Bu serverdən digər serverlərə istifadəçilər tərəfindən paylaşımın göndərilməsinə izin vermək",
- "Allow users on this server to receive shares from other servers" : "Digər serverlərdən bu serverə istifadəçilər tərəfindən paylaşımın ötürülməsinə izin vermək"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/bg.js b/apps/federatedfilesharing/l10n/bg.js
index c03778efd05..922303991fa 100644
--- a/apps/federatedfilesharing/l10n/bg.js
+++ b/apps/federatedfilesharing/l10n/bg.js
@@ -25,6 +25,7 @@ OC.L10N.register(
"Unable to update federated files sharing config" : "Не може да се актуализира конфигурацията за споделяне на обединени файлове",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Споделете с мен чрез моя #Nextcloud Federated Cloud ID, вижте {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Споделете с мен, чрез моя #Nextcloud Federated Cloud ID",
+ "Share with me via Nextcloud" : "Споделете с мен, чрез Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud идентификатора е копиран в клипборда",
"Copy to clipboard" : "Копиране в клипборда",
"Copied!" : "Копирано!",
@@ -34,7 +35,6 @@ OC.L10N.register(
"Facebook" : "Фейсбук",
"Mastodon" : "Mastodon",
"Add to your website" : "Добавете към вашия уеб сайт",
- "Share with me via Nextcloud" : "Споделете с мен, чрез Nextcloud",
"HTML Code:" : "HTML код:",
"Cancel" : "Отказ",
"Add remote share" : "Добави отдалечено споделяне",
diff --git a/apps/federatedfilesharing/l10n/bg.json b/apps/federatedfilesharing/l10n/bg.json
index 873d35be082..2a64b1b8cc6 100644
--- a/apps/federatedfilesharing/l10n/bg.json
+++ b/apps/federatedfilesharing/l10n/bg.json
@@ -23,6 +23,7 @@
"Unable to update federated files sharing config" : "Не може да се актуализира конфигурацията за споделяне на обединени файлове",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Споделете с мен чрез моя #Nextcloud Federated Cloud ID, вижте {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Споделете с мен, чрез моя #Nextcloud Federated Cloud ID",
+ "Share with me via Nextcloud" : "Споделете с мен, чрез Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud идентификатора е копиран в клипборда",
"Copy to clipboard" : "Копиране в клипборда",
"Copied!" : "Копирано!",
@@ -32,7 +33,6 @@
"Facebook" : "Фейсбук",
"Mastodon" : "Mastodon",
"Add to your website" : "Добавете към вашия уеб сайт",
- "Share with me via Nextcloud" : "Споделете с мен, чрез Nextcloud",
"HTML Code:" : "HTML код:",
"Cancel" : "Отказ",
"Add remote share" : "Добави отдалечено споделяне",
diff --git a/apps/federatedfilesharing/l10n/ca.js b/apps/federatedfilesharing/l10n/ca.js
index 8e9d75351c5..5a38b52135e 100644
--- a/apps/federatedfilesharing/l10n/ca.js
+++ b/apps/federatedfilesharing/l10n/ca.js
@@ -36,6 +36,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Accepteu automàticament els recursos compartits de comptes i grups federats de confiança per defecte",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparteix contingut amb mi amb el meu ID del núvol federat del #Nextcloud, consulta {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Comparteix contingut amb mi amb el meu ID del núvol federat del #Nextcloud",
+ "Share with me via Nextcloud" : "Comparteix contingut amb mi a través del Nextcloud",
"Cloud ID copied to the clipboard" : "S'ha copiat l'ID del núvol al porta-retalls",
"Copy to clipboard" : "Copia-ho al porta-retalls",
"Clipboard not available. Please copy the cloud ID manually." : "Porta-retalls no disponible. Copieu l'identificador del núvol manualment.",
@@ -49,7 +50,6 @@ OC.L10N.register(
"formerly Twitter" : "abans Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Afegiu-lo al vostre lloc web",
- "Share with me via Nextcloud" : "Comparteix contingut amb mi a través del Nextcloud",
"HTML Code:" : "Codi HTML:",
"Cancel" : "Cancel·la",
"Add remote share" : "Afegeix un element compartit remot",
diff --git a/apps/federatedfilesharing/l10n/ca.json b/apps/federatedfilesharing/l10n/ca.json
index 9f526083ab1..b0a72bc8860 100644
--- a/apps/federatedfilesharing/l10n/ca.json
+++ b/apps/federatedfilesharing/l10n/ca.json
@@ -34,6 +34,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Accepteu automàticament els recursos compartits de comptes i grups federats de confiança per defecte",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparteix contingut amb mi amb el meu ID del núvol federat del #Nextcloud, consulta {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Comparteix contingut amb mi amb el meu ID del núvol federat del #Nextcloud",
+ "Share with me via Nextcloud" : "Comparteix contingut amb mi a través del Nextcloud",
"Cloud ID copied to the clipboard" : "S'ha copiat l'ID del núvol al porta-retalls",
"Copy to clipboard" : "Copia-ho al porta-retalls",
"Clipboard not available. Please copy the cloud ID manually." : "Porta-retalls no disponible. Copieu l'identificador del núvol manualment.",
@@ -47,7 +48,6 @@
"formerly Twitter" : "abans Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Afegiu-lo al vostre lloc web",
- "Share with me via Nextcloud" : "Comparteix contingut amb mi a través del Nextcloud",
"HTML Code:" : "Codi HTML:",
"Cancel" : "Cancel·la",
"Add remote share" : "Afegeix un element compartit remot",
diff --git a/apps/federatedfilesharing/l10n/cs.js b/apps/federatedfilesharing/l10n/cs.js
index 13ac31edd93..f0b144feda7 100644
--- a/apps/federatedfilesharing/l10n/cs.js
+++ b/apps/federatedfilesharing/l10n/cs.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Ve výchozím nastavení automaticky přijímat sdílení od důvěryhodných federovaných účtů a skupin",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Sdílejte se mnou prostřednictvím mého #Nextcloud identifikátoru v rámci federovaného cloudu – více na {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Sdílejte se mnou pomocí mého #Nextcloud identifikátoru v rámci federovaného cloudu",
+ "Share with me via Nextcloud" : "Sdílet se mnou přes Nextcloud",
"Cloud ID copied to the clipboard" : "Cloudový identifikátor zkopírován do schránky",
"Copy to clipboard" : "Zkopírovat do schránky",
"Clipboard not available. Please copy the cloud ID manually." : "Schránka není k dispozici. Zkopírujte cloudový identifikátor ručně.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "dříve Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Přidat na svou webovou stránku",
- "Share with me via Nextcloud" : "Sdílet se mnou přes Nextcloud",
"HTML Code:" : "HTML kód:",
"Cancel" : "Storno",
"Add remote share" : "Přidat vzdálené sdílení",
diff --git a/apps/federatedfilesharing/l10n/cs.json b/apps/federatedfilesharing/l10n/cs.json
index 03b7412ff55..e71cbaeedb1 100644
--- a/apps/federatedfilesharing/l10n/cs.json
+++ b/apps/federatedfilesharing/l10n/cs.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Ve výchozím nastavení automaticky přijímat sdílení od důvěryhodných federovaných účtů a skupin",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Sdílejte se mnou prostřednictvím mého #Nextcloud identifikátoru v rámci federovaného cloudu – více na {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Sdílejte se mnou pomocí mého #Nextcloud identifikátoru v rámci federovaného cloudu",
+ "Share with me via Nextcloud" : "Sdílet se mnou přes Nextcloud",
"Cloud ID copied to the clipboard" : "Cloudový identifikátor zkopírován do schránky",
"Copy to clipboard" : "Zkopírovat do schránky",
"Clipboard not available. Please copy the cloud ID manually." : "Schránka není k dispozici. Zkopírujte cloudový identifikátor ručně.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "dříve Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Přidat na svou webovou stránku",
- "Share with me via Nextcloud" : "Sdílet se mnou přes Nextcloud",
"HTML Code:" : "HTML kód:",
"Cancel" : "Storno",
"Add remote share" : "Přidat vzdálené sdílení",
diff --git a/apps/federatedfilesharing/l10n/da.js b/apps/federatedfilesharing/l10n/da.js
index 4a524597e09..4a1f7ccfd05 100644
--- a/apps/federatedfilesharing/l10n/da.js
+++ b/apps/federatedfilesharing/l10n/da.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Accepter automatisk delinger fra betorede sammenkoblings konti og grupper som standard",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Del med mig gennem min #Nextcloud Sammenkoblings Cloud ID, se {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Del med mig gennem min #Nextcloud sammenkoblings Cloud ID",
+ "Share with me via Nextcloud" : "Del med mig gennem Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud ID er kopieret til udklipsholderen.",
"Copy to clipboard" : "Kopier til udklipsholder",
"Clipboard not available. Please copy the cloud ID manually." : "Udklipsholder ikke tilgængelig. Kopier venligst Cloud ID'et manuelt.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "tidligere Twitter",
"Mastodon" : "Mastodont",
"Add to your website" : "Tilføj til dit websted",
- "Share with me via Nextcloud" : "Del med mig gennem Nextcloud",
"HTML Code:" : "HTML kode:",
"Cancel" : "Annuller",
"Add remote share" : "Tilføj ekstern deling",
diff --git a/apps/federatedfilesharing/l10n/da.json b/apps/federatedfilesharing/l10n/da.json
index 3a0c9b76189..91211cb949f 100644
--- a/apps/federatedfilesharing/l10n/da.json
+++ b/apps/federatedfilesharing/l10n/da.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Accepter automatisk delinger fra betorede sammenkoblings konti og grupper som standard",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Del med mig gennem min #Nextcloud Sammenkoblings Cloud ID, se {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Del med mig gennem min #Nextcloud sammenkoblings Cloud ID",
+ "Share with me via Nextcloud" : "Del med mig gennem Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud ID er kopieret til udklipsholderen.",
"Copy to clipboard" : "Kopier til udklipsholder",
"Clipboard not available. Please copy the cloud ID manually." : "Udklipsholder ikke tilgængelig. Kopier venligst Cloud ID'et manuelt.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "tidligere Twitter",
"Mastodon" : "Mastodont",
"Add to your website" : "Tilføj til dit websted",
- "Share with me via Nextcloud" : "Del med mig gennem Nextcloud",
"HTML Code:" : "HTML kode:",
"Cancel" : "Annuller",
"Add remote share" : "Tilføj ekstern deling",
diff --git a/apps/federatedfilesharing/l10n/de.js b/apps/federatedfilesharing/l10n/de.js
index 8172b0c7f81..29f64d6c3d0 100644
--- a/apps/federatedfilesharing/l10n/de.js
+++ b/apps/federatedfilesharing/l10n/de.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Freigaben von vertrauenswürdigen Federations-Konten und -Gruppen standardmäßig automatisch akzeptieren",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Teile mit mir über meine #Nextcloud Federated-Cloud-ID, siehe {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Teile mit mir über meine #Nextcloud Federated-Cloud-ID",
+ "Share with me via Nextcloud" : "Teile mit mir über Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud-ID in die Zwischenablage kopiert",
"Copy to clipboard" : "In die Zwischenablage kopieren",
"Clipboard not available. Please copy the cloud ID manually." : "Zwischenablage nicht verfügbar. Bitte die Cloud-ID manuell kopieren.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "früher Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Zu deiner Webseite hinzufügen",
- "Share with me via Nextcloud" : "Teile mit mir über Nextcloud",
"HTML Code:" : "HTML-Code:",
"Cancel" : "Abbrechen",
"Add remote share" : "Externe Freigabe hinzufügen",
diff --git a/apps/federatedfilesharing/l10n/de.json b/apps/federatedfilesharing/l10n/de.json
index 72c288bcf1a..c82309a9c0b 100644
--- a/apps/federatedfilesharing/l10n/de.json
+++ b/apps/federatedfilesharing/l10n/de.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Freigaben von vertrauenswürdigen Federations-Konten und -Gruppen standardmäßig automatisch akzeptieren",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Teile mit mir über meine #Nextcloud Federated-Cloud-ID, siehe {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Teile mit mir über meine #Nextcloud Federated-Cloud-ID",
+ "Share with me via Nextcloud" : "Teile mit mir über Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud-ID in die Zwischenablage kopiert",
"Copy to clipboard" : "In die Zwischenablage kopieren",
"Clipboard not available. Please copy the cloud ID manually." : "Zwischenablage nicht verfügbar. Bitte die Cloud-ID manuell kopieren.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "früher Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Zu deiner Webseite hinzufügen",
- "Share with me via Nextcloud" : "Teile mit mir über Nextcloud",
"HTML Code:" : "HTML-Code:",
"Cancel" : "Abbrechen",
"Add remote share" : "Externe Freigabe hinzufügen",
diff --git a/apps/federatedfilesharing/l10n/de_DE.js b/apps/federatedfilesharing/l10n/de_DE.js
index c8cf244af84..94f38feedf2 100644
--- a/apps/federatedfilesharing/l10n/de_DE.js
+++ b/apps/federatedfilesharing/l10n/de_DE.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Freigaben von vertrauenswürdigen Federation-Konten und -gruppen standardmäßig automatisch akzeptieren",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Teilen Sie mit mir über meine #Nextcloud Federated-Cloud-ID, siehe {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Teilen Sie mit mir über meine #Nextcloud Federated-Cloud-ID",
+ "Share with me via Nextcloud" : "Teilen Sie mit mir über Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud-ID wurde in die Zwischenablage kopiert",
"Copy to clipboard" : "In die Zwischenablage kopieren",
"Clipboard not available. Please copy the cloud ID manually." : "Zwischenablage nicht verfügbar. Bitte die Cloud-ID manuell kopieren.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "früher Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Zu Ihrer Webseite hinzufügen",
- "Share with me via Nextcloud" : "Teilen Sie mit mir über Nextcloud",
"HTML Code:" : "HTML-Code:",
"Cancel" : "Abbrechen",
"Add remote share" : "Externe Freigabe hinzufügen",
diff --git a/apps/federatedfilesharing/l10n/de_DE.json b/apps/federatedfilesharing/l10n/de_DE.json
index adba4859cb8..6c6d25e256b 100644
--- a/apps/federatedfilesharing/l10n/de_DE.json
+++ b/apps/federatedfilesharing/l10n/de_DE.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Freigaben von vertrauenswürdigen Federation-Konten und -gruppen standardmäßig automatisch akzeptieren",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Teilen Sie mit mir über meine #Nextcloud Federated-Cloud-ID, siehe {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Teilen Sie mit mir über meine #Nextcloud Federated-Cloud-ID",
+ "Share with me via Nextcloud" : "Teilen Sie mit mir über Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud-ID wurde in die Zwischenablage kopiert",
"Copy to clipboard" : "In die Zwischenablage kopieren",
"Clipboard not available. Please copy the cloud ID manually." : "Zwischenablage nicht verfügbar. Bitte die Cloud-ID manuell kopieren.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "früher Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Zu Ihrer Webseite hinzufügen",
- "Share with me via Nextcloud" : "Teilen Sie mit mir über Nextcloud",
"HTML Code:" : "HTML-Code:",
"Cancel" : "Abbrechen",
"Add remote share" : "Externe Freigabe hinzufügen",
diff --git a/apps/federatedfilesharing/l10n/el.js b/apps/federatedfilesharing/l10n/el.js
index 06035c7644b..b99d6594094 100644
--- a/apps/federatedfilesharing/l10n/el.js
+++ b/apps/federatedfilesharing/l10n/el.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Federated file sharing" : "Federated διαμοιρασμός αρχείου",
"Provide federated file sharing across servers" : "Παρέχει κοινής χρήσης αρχεία μεταξύ διακομιστών",
"Share with me through my #Nextcloud Federated Cloud ID" : "Διαμοιρασμός με εμένα μέσω του #Nextcloud Federated Cloud ID μου",
+ "Share with me via Nextcloud" : "Διαμοιραστείτε με εμένα μέσω του Nextcloud",
"Copy to clipboard" : "Αντιγραφή στο πρόχειρο",
"Copied!" : "Αντιγράφτηκε!",
"Federated Cloud" : "Federated Cloud",
@@ -29,7 +30,6 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (πρώην Twitter)",
"Mastodon" : "Mastodon",
"Add to your website" : "Προσθήκη στην ιστοσελίδα σας",
- "Share with me via Nextcloud" : "Διαμοιραστείτε με εμένα μέσω του Nextcloud",
"HTML Code:" : "Κώδικας HTML:",
"Cancel" : "Άκυρο",
"Add remote share" : "Προσθήκη απομακρυσμένου κοινόχρηστου φακέλου",
diff --git a/apps/federatedfilesharing/l10n/el.json b/apps/federatedfilesharing/l10n/el.json
index 4b0eced1cae..1e013da5ef5 100644
--- a/apps/federatedfilesharing/l10n/el.json
+++ b/apps/federatedfilesharing/l10n/el.json
@@ -19,6 +19,7 @@
"Federated file sharing" : "Federated διαμοιρασμός αρχείου",
"Provide federated file sharing across servers" : "Παρέχει κοινής χρήσης αρχεία μεταξύ διακομιστών",
"Share with me through my #Nextcloud Federated Cloud ID" : "Διαμοιρασμός με εμένα μέσω του #Nextcloud Federated Cloud ID μου",
+ "Share with me via Nextcloud" : "Διαμοιραστείτε με εμένα μέσω του Nextcloud",
"Copy to clipboard" : "Αντιγραφή στο πρόχειρο",
"Copied!" : "Αντιγράφτηκε!",
"Federated Cloud" : "Federated Cloud",
@@ -27,7 +28,6 @@
"X (formerly Twitter)" : "X (πρώην Twitter)",
"Mastodon" : "Mastodon",
"Add to your website" : "Προσθήκη στην ιστοσελίδα σας",
- "Share with me via Nextcloud" : "Διαμοιραστείτε με εμένα μέσω του Nextcloud",
"HTML Code:" : "Κώδικας HTML:",
"Cancel" : "Άκυρο",
"Add remote share" : "Προσθήκη απομακρυσμένου κοινόχρηστου φακέλου",
diff --git a/apps/federatedfilesharing/l10n/en_GB.js b/apps/federatedfilesharing/l10n/en_GB.js
index c0324121006..3114254c97b 100644
--- a/apps/federatedfilesharing/l10n/en_GB.js
+++ b/apps/federatedfilesharing/l10n/en_GB.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Automatically accept shares from trusted federated accounts and groups by default",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Share with me through my #Nextcloud Federated Cloud ID, see {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Share with me through my #Nextcloud Federated Cloud ID",
+ "Share with me via Nextcloud" : "Share with me via Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud ID copied to the clipboard",
"Copy to clipboard" : "Copy to clipboard",
"Clipboard not available. Please copy the cloud ID manually." : "Clipboard not available. Please copy the cloud ID manually.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "formerly Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Add to your website",
- "Share with me via Nextcloud" : "Share with me via Nextcloud",
"HTML Code:" : "HTML Code:",
"Cancel" : "Cancel",
"Add remote share" : "Add remote share",
diff --git a/apps/federatedfilesharing/l10n/en_GB.json b/apps/federatedfilesharing/l10n/en_GB.json
index 29bb13e4761..c538fc87b01 100644
--- a/apps/federatedfilesharing/l10n/en_GB.json
+++ b/apps/federatedfilesharing/l10n/en_GB.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Automatically accept shares from trusted federated accounts and groups by default",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Share with me through my #Nextcloud Federated Cloud ID, see {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Share with me through my #Nextcloud Federated Cloud ID",
+ "Share with me via Nextcloud" : "Share with me via Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud ID copied to the clipboard",
"Copy to clipboard" : "Copy to clipboard",
"Clipboard not available. Please copy the cloud ID manually." : "Clipboard not available. Please copy the cloud ID manually.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "formerly Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Add to your website",
- "Share with me via Nextcloud" : "Share with me via Nextcloud",
"HTML Code:" : "HTML Code:",
"Cancel" : "Cancel",
"Add remote share" : "Add remote share",
diff --git a/apps/federatedfilesharing/l10n/eo.js b/apps/federatedfilesharing/l10n/eo.js
index 71bdc79a7df..affa483314f 100644
--- a/apps/federatedfilesharing/l10n/eo.js
+++ b/apps/federatedfilesharing/l10n/eo.js
@@ -21,13 +21,13 @@ OC.L10N.register(
"Federated file sharing" : "Federa dosierkunhavado",
"Provide federated file sharing across servers" : "Provizas federan dosierkunhavigon inter serviloj",
"Share with me through my #Nextcloud Federated Cloud ID" : "Kunhavigi kun mi per mia #Nextcloud-federnuba identigilo",
+ "Share with me via Nextcloud" : "Kunhavigi kun mi per Nextcloud",
"Copy to clipboard" : "Kopii tondejen",
"Copied!" : "Kopiita!",
"Federated Cloud" : "Federa nubo",
"You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Vi povas kunhavigi kun iu, kiu uzas Nextcloud aŭ aliaj serviloj kaj servoj kungruaj kun „Open Cloud Mesh (OCM)“! Entajpu simple lian aŭ ŝian federnuban identigilon en la kunhaviga dialogo. Federnuba identigilo similas al persono@nubo.example.com",
"Share it so your friends can share files with you:" : "Kunhavigu ĝin, por ke viaj amikoj povu kunhavigi dosierojn kun vi:",
"Add to your website" : "Aldoni al via TTT-ejo",
- "Share with me via Nextcloud" : "Kunhavigi kun mi per Nextcloud",
"HTML Code:" : "HTML-kodo:",
"Cancel" : "Nuligi",
"Add remote share" : "Aldoni foran kunhavon",
diff --git a/apps/federatedfilesharing/l10n/eo.json b/apps/federatedfilesharing/l10n/eo.json
index b5dc613496a..12a85993651 100644
--- a/apps/federatedfilesharing/l10n/eo.json
+++ b/apps/federatedfilesharing/l10n/eo.json
@@ -19,13 +19,13 @@
"Federated file sharing" : "Federa dosierkunhavado",
"Provide federated file sharing across servers" : "Provizas federan dosierkunhavigon inter serviloj",
"Share with me through my #Nextcloud Federated Cloud ID" : "Kunhavigi kun mi per mia #Nextcloud-federnuba identigilo",
+ "Share with me via Nextcloud" : "Kunhavigi kun mi per Nextcloud",
"Copy to clipboard" : "Kopii tondejen",
"Copied!" : "Kopiita!",
"Federated Cloud" : "Federa nubo",
"You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Vi povas kunhavigi kun iu, kiu uzas Nextcloud aŭ aliaj serviloj kaj servoj kungruaj kun „Open Cloud Mesh (OCM)“! Entajpu simple lian aŭ ŝian federnuban identigilon en la kunhaviga dialogo. Federnuba identigilo similas al persono@nubo.example.com",
"Share it so your friends can share files with you:" : "Kunhavigu ĝin, por ke viaj amikoj povu kunhavigi dosierojn kun vi:",
"Add to your website" : "Aldoni al via TTT-ejo",
- "Share with me via Nextcloud" : "Kunhavigi kun mi per Nextcloud",
"HTML Code:" : "HTML-kodo:",
"Cancel" : "Nuligi",
"Add remote share" : "Aldoni foran kunhavon",
diff --git a/apps/federatedfilesharing/l10n/es.js b/apps/federatedfilesharing/l10n/es.js
index 29512c90b66..de61a4c7d8a 100644
--- a/apps/federatedfilesharing/l10n/es.js
+++ b/apps/federatedfilesharing/l10n/es.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Aceptar automáticamente recursos compartidos de cuentas y grupos de federaciones de confianza por defecto",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparte conmigo a través de mi ID de Nube Federada #Nextcloud, ve {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Compartirlo conmigo a través de mi ID de Nube Federada #Nextcloud",
+ "Share with me via Nextcloud" : "Compartirlo conmigo vía Nextcloud",
"Cloud ID copied to the clipboard" : "ID de nube copiado al portapapeles",
"Copy to clipboard" : "Copiar al portapapeles",
"Clipboard not available. Please copy the cloud ID manually." : "Portapapeles no disponible. Por favor, copia el ID de nube manualmente.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "anteriormente Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Añadir a su sitio web",
- "Share with me via Nextcloud" : "Compartirlo conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
"Cancel" : "Cancelar",
"Add remote share" : "Añadir recurso compartido remoto",
diff --git a/apps/federatedfilesharing/l10n/es.json b/apps/federatedfilesharing/l10n/es.json
index ad9ecd2a5d6..c0da93b40be 100644
--- a/apps/federatedfilesharing/l10n/es.json
+++ b/apps/federatedfilesharing/l10n/es.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Aceptar automáticamente recursos compartidos de cuentas y grupos de federaciones de confianza por defecto",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparte conmigo a través de mi ID de Nube Federada #Nextcloud, ve {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Compartirlo conmigo a través de mi ID de Nube Federada #Nextcloud",
+ "Share with me via Nextcloud" : "Compartirlo conmigo vía Nextcloud",
"Cloud ID copied to the clipboard" : "ID de nube copiado al portapapeles",
"Copy to clipboard" : "Copiar al portapapeles",
"Clipboard not available. Please copy the cloud ID manually." : "Portapapeles no disponible. Por favor, copia el ID de nube manualmente.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "anteriormente Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Añadir a su sitio web",
- "Share with me via Nextcloud" : "Compartirlo conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
"Cancel" : "Cancelar",
"Add remote share" : "Añadir recurso compartido remoto",
diff --git a/apps/federatedfilesharing/l10n/es_419.js b/apps/federatedfilesharing/l10n/es_419.js
deleted file mode 100644
index 75c8f6f89ab..00000000000
--- a/apps/federatedfilesharing/l10n/es_419.js
+++ /dev/null
@@ -1,38 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_419.json b/apps/federatedfilesharing/l10n/es_419.json
deleted file mode 100644
index 6a4eea730cc..00000000000
--- a/apps/federatedfilesharing/l10n/es_419.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_AR.js b/apps/federatedfilesharing/l10n/es_AR.js
deleted file mode 100644
index 0d81413eb05..00000000000
--- a/apps/federatedfilesharing/l10n/es_AR.js
+++ /dev/null
@@ -1,36 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID de la Nube Federada es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido federado. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Sharing %1$s failed, because this item is already shared with the account %2$s" : "No se pudo compartir %1$s, porque este elemento ya está compartido con la cuenta %2$s",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos federados",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Usted ha recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Usted recibió {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartir en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated file sharing" : "Compartir archivos en federación",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártalo para que sus amigos puedan compartir archivos con usted. ",
- "X (formerly Twitter)" : "X (anteriormente Twitter)",
- "Add to your website" : "Agregar a su sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Your Federated Cloud ID:" : "Su ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_AR.json b/apps/federatedfilesharing/l10n/es_AR.json
deleted file mode 100644
index 615d16fefb9..00000000000
--- a/apps/federatedfilesharing/l10n/es_AR.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID de la Nube Federada es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido federado. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Sharing %1$s failed, because this item is already shared with the account %2$s" : "No se pudo compartir %1$s, porque este elemento ya está compartido con la cuenta %2$s",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos federados",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Usted ha recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Usted recibió {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartir en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated file sharing" : "Compartir archivos en federación",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártalo para que sus amigos puedan compartir archivos con usted. ",
- "X (formerly Twitter)" : "X (anteriormente Twitter)",
- "Add to your website" : "Agregar a su sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Your Federated Cloud ID:" : "Su ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_CL.js b/apps/federatedfilesharing/l10n/es_CL.js
deleted file mode 100644
index 1380e150b23..00000000000
--- a/apps/federatedfilesharing/l10n/es_CL.js
+++ /dev/null
@@ -1,36 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No fue posible establecer el elemento compartido, parece que el servidor es obsoleto (Nextcloud <=9).",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated file sharing" : "Compartir elementos",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_CL.json b/apps/federatedfilesharing/l10n/es_CL.json
deleted file mode 100644
index ae553a289a3..00000000000
--- a/apps/federatedfilesharing/l10n/es_CL.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No fue posible establecer el elemento compartido, parece que el servidor es obsoleto (Nextcloud <=9).",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated file sharing" : "Compartir elementos",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_CO.js b/apps/federatedfilesharing/l10n/es_CO.js
deleted file mode 100644
index 1380e150b23..00000000000
--- a/apps/federatedfilesharing/l10n/es_CO.js
+++ /dev/null
@@ -1,36 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No fue posible establecer el elemento compartido, parece que el servidor es obsoleto (Nextcloud <=9).",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated file sharing" : "Compartir elementos",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_CO.json b/apps/federatedfilesharing/l10n/es_CO.json
deleted file mode 100644
index ae553a289a3..00000000000
--- a/apps/federatedfilesharing/l10n/es_CO.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No fue posible establecer el elemento compartido, parece que el servidor es obsoleto (Nextcloud <=9).",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated file sharing" : "Compartir elementos",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_CR.js b/apps/federatedfilesharing/l10n/es_CR.js
deleted file mode 100644
index 1380e150b23..00000000000
--- a/apps/federatedfilesharing/l10n/es_CR.js
+++ /dev/null
@@ -1,36 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No fue posible establecer el elemento compartido, parece que el servidor es obsoleto (Nextcloud <=9).",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated file sharing" : "Compartir elementos",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_CR.json b/apps/federatedfilesharing/l10n/es_CR.json
deleted file mode 100644
index ae553a289a3..00000000000
--- a/apps/federatedfilesharing/l10n/es_CR.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No fue posible establecer el elemento compartido, parece que el servidor es obsoleto (Nextcloud <=9).",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated file sharing" : "Compartir elementos",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_DO.js b/apps/federatedfilesharing/l10n/es_DO.js
deleted file mode 100644
index 1380e150b23..00000000000
--- a/apps/federatedfilesharing/l10n/es_DO.js
+++ /dev/null
@@ -1,36 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No fue posible establecer el elemento compartido, parece que el servidor es obsoleto (Nextcloud <=9).",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated file sharing" : "Compartir elementos",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_DO.json b/apps/federatedfilesharing/l10n/es_DO.json
deleted file mode 100644
index ae553a289a3..00000000000
--- a/apps/federatedfilesharing/l10n/es_DO.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No fue posible establecer el elemento compartido, parece que el servidor es obsoleto (Nextcloud <=9).",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated file sharing" : "Compartir elementos",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_EC.js b/apps/federatedfilesharing/l10n/es_EC.js
index e7935804d82..6c8566768ac 100644
--- a/apps/federatedfilesharing/l10n/es_EC.js
+++ b/apps/federatedfilesharing/l10n/es_EC.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Unable to update federated files sharing config" : "No se pudo actualizar la configuración de compartición federada de archivos",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparte conmigo a través de mi ID de Nube Federada de #Nextcloud, consulta {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
+ "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"Cloud ID copied to the clipboard" : "ID de Nube copiado al portapapeles",
"Copy to clipboard" : "Copiar al portapapeles",
"Copied!" : "¡Copiado!",
@@ -33,7 +34,6 @@ OC.L10N.register(
"Facebook" : "Facebook",
"Mastodon" : "Mastodon",
"Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
diff --git a/apps/federatedfilesharing/l10n/es_EC.json b/apps/federatedfilesharing/l10n/es_EC.json
index 8d6b8ae5353..299e0f19769 100644
--- a/apps/federatedfilesharing/l10n/es_EC.json
+++ b/apps/federatedfilesharing/l10n/es_EC.json
@@ -22,6 +22,7 @@
"Unable to update federated files sharing config" : "No se pudo actualizar la configuración de compartición federada de archivos",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparte conmigo a través de mi ID de Nube Federada de #Nextcloud, consulta {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
+ "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"Cloud ID copied to the clipboard" : "ID de Nube copiado al portapapeles",
"Copy to clipboard" : "Copiar al portapapeles",
"Copied!" : "¡Copiado!",
@@ -31,7 +32,6 @@
"Facebook" : "Facebook",
"Mastodon" : "Mastodon",
"Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
diff --git a/apps/federatedfilesharing/l10n/es_GT.js b/apps/federatedfilesharing/l10n/es_GT.js
deleted file mode 100644
index 1380e150b23..00000000000
--- a/apps/federatedfilesharing/l10n/es_GT.js
+++ /dev/null
@@ -1,36 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No fue posible establecer el elemento compartido, parece que el servidor es obsoleto (Nextcloud <=9).",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated file sharing" : "Compartir elementos",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_GT.json b/apps/federatedfilesharing/l10n/es_GT.json
deleted file mode 100644
index ae553a289a3..00000000000
--- a/apps/federatedfilesharing/l10n/es_GT.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No fue posible establecer el elemento compartido, parece que el servidor es obsoleto (Nextcloud <=9).",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated file sharing" : "Compartir elementos",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_HN.js b/apps/federatedfilesharing/l10n/es_HN.js
deleted file mode 100644
index 75c8f6f89ab..00000000000
--- a/apps/federatedfilesharing/l10n/es_HN.js
+++ /dev/null
@@ -1,38 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_HN.json b/apps/federatedfilesharing/l10n/es_HN.json
deleted file mode 100644
index 6a4eea730cc..00000000000
--- a/apps/federatedfilesharing/l10n/es_HN.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_MX.js b/apps/federatedfilesharing/l10n/es_MX.js
index 90a696d6e6f..60f2244edee 100644
--- a/apps/federatedfilesharing/l10n/es_MX.js
+++ b/apps/federatedfilesharing/l10n/es_MX.js
@@ -33,6 +33,7 @@ OC.L10N.register(
"Allow people to publish their data to a global and public address book" : "Permitir a los usuarios publicar sus datos libretas de direcciones tanto global como pública",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparte conmigo a través de mi identificador de nube federada de #Nextcloud, vea {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
+ "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"Cloud ID copied to the clipboard" : "Identificador de nube copiado al portapapeles",
"Copy to clipboard" : "Copiar al portapapeles",
"Copied!" : "¡Copiado!",
@@ -42,7 +43,6 @@ OC.L10N.register(
"Facebook" : "Facebook",
"X (formerly Twitter)" : "X (anteriormente Twitter)",
"Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
diff --git a/apps/federatedfilesharing/l10n/es_MX.json b/apps/federatedfilesharing/l10n/es_MX.json
index 97d741d518b..69e1738d681 100644
--- a/apps/federatedfilesharing/l10n/es_MX.json
+++ b/apps/federatedfilesharing/l10n/es_MX.json
@@ -31,6 +31,7 @@
"Allow people to publish their data to a global and public address book" : "Permitir a los usuarios publicar sus datos libretas de direcciones tanto global como pública",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparte conmigo a través de mi identificador de nube federada de #Nextcloud, vea {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
+ "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"Cloud ID copied to the clipboard" : "Identificador de nube copiado al portapapeles",
"Copy to clipboard" : "Copiar al portapapeles",
"Copied!" : "¡Copiado!",
@@ -40,7 +41,6 @@
"Facebook" : "Facebook",
"X (formerly Twitter)" : "X (anteriormente Twitter)",
"Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
diff --git a/apps/federatedfilesharing/l10n/es_NI.js b/apps/federatedfilesharing/l10n/es_NI.js
deleted file mode 100644
index 75c8f6f89ab..00000000000
--- a/apps/federatedfilesharing/l10n/es_NI.js
+++ /dev/null
@@ -1,38 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_NI.json b/apps/federatedfilesharing/l10n/es_NI.json
deleted file mode 100644
index 6a4eea730cc..00000000000
--- a/apps/federatedfilesharing/l10n/es_NI.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_PA.js b/apps/federatedfilesharing/l10n/es_PA.js
deleted file mode 100644
index 75c8f6f89ab..00000000000
--- a/apps/federatedfilesharing/l10n/es_PA.js
+++ /dev/null
@@ -1,38 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_PA.json b/apps/federatedfilesharing/l10n/es_PA.json
deleted file mode 100644
index 6a4eea730cc..00000000000
--- a/apps/federatedfilesharing/l10n/es_PA.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_PE.js b/apps/federatedfilesharing/l10n/es_PE.js
deleted file mode 100644
index 75c8f6f89ab..00000000000
--- a/apps/federatedfilesharing/l10n/es_PE.js
+++ /dev/null
@@ -1,38 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_PE.json b/apps/federatedfilesharing/l10n/es_PE.json
deleted file mode 100644
index 6a4eea730cc..00000000000
--- a/apps/federatedfilesharing/l10n/es_PE.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_PR.js b/apps/federatedfilesharing/l10n/es_PR.js
deleted file mode 100644
index 75c8f6f89ab..00000000000
--- a/apps/federatedfilesharing/l10n/es_PR.js
+++ /dev/null
@@ -1,38 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_PR.json b/apps/federatedfilesharing/l10n/es_PR.json
deleted file mode 100644
index 6a4eea730cc..00000000000
--- a/apps/federatedfilesharing/l10n/es_PR.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_PY.js b/apps/federatedfilesharing/l10n/es_PY.js
deleted file mode 100644
index 75c8f6f89ab..00000000000
--- a/apps/federatedfilesharing/l10n/es_PY.js
+++ /dev/null
@@ -1,38 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_PY.json b/apps/federatedfilesharing/l10n/es_PY.json
deleted file mode 100644
index 6a4eea730cc..00000000000
--- a/apps/federatedfilesharing/l10n/es_PY.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_SV.js b/apps/federatedfilesharing/l10n/es_SV.js
deleted file mode 100644
index 1380e150b23..00000000000
--- a/apps/federatedfilesharing/l10n/es_SV.js
+++ /dev/null
@@ -1,36 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No fue posible establecer el elemento compartido, parece que el servidor es obsoleto (Nextcloud <=9).",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated file sharing" : "Compartir elementos",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_SV.json b/apps/federatedfilesharing/l10n/es_SV.json
deleted file mode 100644
index ae553a289a3..00000000000
--- a/apps/federatedfilesharing/l10n/es_SV.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No fue posible establecer el elemento compartido, parece que el servidor es obsoleto (Nextcloud <=9).",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated file sharing" : "Compartir elementos",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_UY.js b/apps/federatedfilesharing/l10n/es_UY.js
deleted file mode 100644
index 75c8f6f89ab..00000000000
--- a/apps/federatedfilesharing/l10n/es_UY.js
+++ /dev/null
@@ -1,38 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_UY.json b/apps/federatedfilesharing/l10n/es_UY.json
deleted file mode 100644
index 6a4eea730cc..00000000000
--- a/apps/federatedfilesharing/l10n/es_UY.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "El ID es inválido",
- "Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
- "Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
- "Couldn't establish a federated share, maybe the password was wrong." : "No fue posible establecer el elemento compartido federado, tal vez la contraseña sea incorrecta. ",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Solicitud de elemento compartido Federado enviada, recibiras una invitación. Verifica tus notificaciones.",
- "File is already shared with %s" : "El archivo ya ha sido compartido con %s",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Federated sharing" : "Elementos compartidos",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Has recibido {share} como un elemento compartido remoto de {user} (de parte de {behalf})",
- "You received {share} as a remote share from {user}" : "Recibiste {share} como un elemento compartido remoto de {user}",
- "Accept" : "Aceptar",
- "Decline" : "Rechazar",
- "Federated Cloud Sharing" : "Compartiendo en la Nube Federada",
- "Sharing" : "Compartiendo",
- "Federated Cloud" : "Nube Federada",
- "Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
- "Add to your website" : "Agregar a tu sitio web",
- "Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartir conmigo a través de mi ID de Nube Federada #Nextcloud",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Copied!" : "¡Copiado!",
- "Cancel" : "Cancelar",
- "Add remote share" : "Agregar elemento compartido remoto",
- "Remote share" : "Elemento compartido remoto",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "¿Desea agregar el elemento compartido remoto {name} de {owner}@{remote}?",
- "Remote share password" : "Contraseña del elemento compartido remoto",
- "Not allowed to create a federated share with the same user" : "No está permitido crear un elelmento compartido federado con el mismo usuario",
- "Allow users on this server to receive shares from other servers" : "Permitirle alos usuarios de este servidor recibir elementos compartidos de otros servidores",
- "Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
- "Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/et_EE.js b/apps/federatedfilesharing/l10n/et_EE.js
index a8d5b5bf547..62653174240 100644
--- a/apps/federatedfilesharing/l10n/et_EE.js
+++ b/apps/federatedfilesharing/l10n/et_EE.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Aktsepteeri vaikimisi usaldusväärsete liitkontode ja rühmade jagamisi automaatselt",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Jaga minuga läbi mu #Nextcloudi Liitjagamise Pilve ID, vaata {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Jaga minuga läbi minu #Nextcloudi liitpilve ID",
+ "Share with me via Nextcloud" : "Jaga minuga läbi Nextcloudi",
"Cloud ID copied to the clipboard" : "Pilve ID kopeeriti lõikelauale",
"Copy to clipboard" : "Kopeeri lõikepuhvrisse",
"Clipboard not available. Please copy the cloud ID manually." : "Lõikelaud pole saadaval. Palun kopeeri pilve ID manuaalselt.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "varasemalt Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Lisa oma veebisaidile",
- "Share with me via Nextcloud" : "Jaga minuga läbi Nextcloudi",
"HTML Code:" : "HTML kood:",
"Cancel" : "Tühista",
"Add remote share" : "Lisa kaugjagamine",
diff --git a/apps/federatedfilesharing/l10n/et_EE.json b/apps/federatedfilesharing/l10n/et_EE.json
index 894a5a54dcc..a253e5a4e05 100644
--- a/apps/federatedfilesharing/l10n/et_EE.json
+++ b/apps/federatedfilesharing/l10n/et_EE.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Aktsepteeri vaikimisi usaldusväärsete liitkontode ja rühmade jagamisi automaatselt",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Jaga minuga läbi mu #Nextcloudi Liitjagamise Pilve ID, vaata {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Jaga minuga läbi minu #Nextcloudi liitpilve ID",
+ "Share with me via Nextcloud" : "Jaga minuga läbi Nextcloudi",
"Cloud ID copied to the clipboard" : "Pilve ID kopeeriti lõikelauale",
"Copy to clipboard" : "Kopeeri lõikepuhvrisse",
"Clipboard not available. Please copy the cloud ID manually." : "Lõikelaud pole saadaval. Palun kopeeri pilve ID manuaalselt.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "varasemalt Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Lisa oma veebisaidile",
- "Share with me via Nextcloud" : "Jaga minuga läbi Nextcloudi",
"HTML Code:" : "HTML kood:",
"Cancel" : "Tühista",
"Add remote share" : "Lisa kaugjagamine",
diff --git a/apps/federatedfilesharing/l10n/eu.js b/apps/federatedfilesharing/l10n/eu.js
index 8ae772e71a2..8ce0103dc55 100644
--- a/apps/federatedfilesharing/l10n/eu.js
+++ b/apps/federatedfilesharing/l10n/eu.js
@@ -35,6 +35,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Onartu federatutako kontu eta talde fidagarrien partekatzeak modu lehenetsian",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Partekatu nirekin, nire federatutako #Nextcloud hodei IDa erabiliz, ikus {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Partekatu nirekin, nire federatutako #Nextcloud hodei IDa erabiliz",
+ "Share with me via Nextcloud" : "Partekatu nirekin Nextcloud bidez",
"Cloud ID copied to the clipboard" : "Hodei IDa arbelean kopiatu da",
"Copy to clipboard" : "Kopiatu arbelera",
"Clipboard not available. Please copy the cloud ID manually." : "Arbela ez dago eskuragarri, mesedez kopiatu hodei IDa eskuz.",
@@ -48,7 +49,6 @@ OC.L10N.register(
"formerly Twitter" : "lehen Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Gehitu zure webgunera",
- "Share with me via Nextcloud" : "Partekatu nirekin Nextcloud bidez",
"HTML Code:" : "HTML kodea:",
"Cancel" : "Ezeztatu",
"Add remote share" : "Gehitu urruneko partekatzea",
diff --git a/apps/federatedfilesharing/l10n/eu.json b/apps/federatedfilesharing/l10n/eu.json
index 9348b10ea32..f6fde77b018 100644
--- a/apps/federatedfilesharing/l10n/eu.json
+++ b/apps/federatedfilesharing/l10n/eu.json
@@ -33,6 +33,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Onartu federatutako kontu eta talde fidagarrien partekatzeak modu lehenetsian",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Partekatu nirekin, nire federatutako #Nextcloud hodei IDa erabiliz, ikus {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Partekatu nirekin, nire federatutako #Nextcloud hodei IDa erabiliz",
+ "Share with me via Nextcloud" : "Partekatu nirekin Nextcloud bidez",
"Cloud ID copied to the clipboard" : "Hodei IDa arbelean kopiatu da",
"Copy to clipboard" : "Kopiatu arbelera",
"Clipboard not available. Please copy the cloud ID manually." : "Arbela ez dago eskuragarri, mesedez kopiatu hodei IDa eskuz.",
@@ -46,7 +47,6 @@
"formerly Twitter" : "lehen Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Gehitu zure webgunera",
- "Share with me via Nextcloud" : "Partekatu nirekin Nextcloud bidez",
"HTML Code:" : "HTML kodea:",
"Cancel" : "Ezeztatu",
"Add remote share" : "Gehitu urruneko partekatzea",
diff --git a/apps/federatedfilesharing/l10n/fa.js b/apps/federatedfilesharing/l10n/fa.js
index a50cb263c88..6e4ca060ec2 100644
--- a/apps/federatedfilesharing/l10n/fa.js
+++ b/apps/federatedfilesharing/l10n/fa.js
@@ -25,6 +25,7 @@ OC.L10N.register(
"Unable to update federated files sharing config" : "به‌روزرسانی پیکربندی اشتراک‌گذاری فایل‌های فدرال ممکن نیست",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "از طریق شناسه ابری فدرال #Nextcloud با من به اشتراک بگذارید، به {url} مراجعه کنید",
"Share with me through my #Nextcloud Federated Cloud ID" : "از طریق شناسه ابری فدرال #Nextcloud با من به اشتراک بگذارید",
+ "Share with me via Nextcloud" : "هم‌رسانی با من روی نسکت‌کلود",
"Cloud ID copied to the clipboard" : "Cloud ID در کلیپ بورد کپی شد",
"Copy to clipboard" : "رونوشت به تخته‌گیره",
"Copied!" : "رونوشت شد!",
@@ -34,7 +35,6 @@ OC.L10N.register(
"Facebook" : "فیس‌بوک",
"Mastodon" : "Mastodon",
"Add to your website" : "افزودن به پایگاه وبتان",
- "Share with me via Nextcloud" : "هم‌رسانی با من روی نسکت‌کلود",
"HTML Code:" : "کد HTML :",
"Cancel" : "لغو",
"Add remote share" : "افزودن هم‌رسانی دوردست",
diff --git a/apps/federatedfilesharing/l10n/fa.json b/apps/federatedfilesharing/l10n/fa.json
index 60e78b275c8..4abd8b7434f 100644
--- a/apps/federatedfilesharing/l10n/fa.json
+++ b/apps/federatedfilesharing/l10n/fa.json
@@ -23,6 +23,7 @@
"Unable to update federated files sharing config" : "به‌روزرسانی پیکربندی اشتراک‌گذاری فایل‌های فدرال ممکن نیست",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "از طریق شناسه ابری فدرال #Nextcloud با من به اشتراک بگذارید، به {url} مراجعه کنید",
"Share with me through my #Nextcloud Federated Cloud ID" : "از طریق شناسه ابری فدرال #Nextcloud با من به اشتراک بگذارید",
+ "Share with me via Nextcloud" : "هم‌رسانی با من روی نسکت‌کلود",
"Cloud ID copied to the clipboard" : "Cloud ID در کلیپ بورد کپی شد",
"Copy to clipboard" : "رونوشت به تخته‌گیره",
"Copied!" : "رونوشت شد!",
@@ -32,7 +33,6 @@
"Facebook" : "فیس‌بوک",
"Mastodon" : "Mastodon",
"Add to your website" : "افزودن به پایگاه وبتان",
- "Share with me via Nextcloud" : "هم‌رسانی با من روی نسکت‌کلود",
"HTML Code:" : "کد HTML :",
"Cancel" : "لغو",
"Add remote share" : "افزودن هم‌رسانی دوردست",
diff --git a/apps/federatedfilesharing/l10n/fi.js b/apps/federatedfilesharing/l10n/fi.js
index 24bbb500c4a..8ca92e78e08 100644
--- a/apps/federatedfilesharing/l10n/fi.js
+++ b/apps/federatedfilesharing/l10n/fi.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Federated file sharing" : "Federoitu tiedostojako",
"Provide federated file sharing across servers" : "Mahdollistaa federoidun tiedostojaon palvelinten välillä",
"Share with me through my #Nextcloud Federated Cloud ID" : "Jaa kanssani käyttäen #Nextcloud ja federoitua pilvitunnistetta",
+ "Share with me via Nextcloud" : "Jaa kanssani Nextcloudin kautta",
"Copy to clipboard" : "Kopioi leikepöydälle",
"Copied!" : "Kopioitu!",
"Federated Cloud" : "Federoitu pilvi",
@@ -30,7 +31,6 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (aiemmin Twitter)",
"Mastodon" : "Mastodon",
"Add to your website" : "Lisää verkkosivuillesi",
- "Share with me via Nextcloud" : "Jaa kanssani Nextcloudin kautta",
"HTML Code:" : "HTML-koodi:",
"Cancel" : "Peruuta",
"Add remote share" : "Lisää etäjako",
diff --git a/apps/federatedfilesharing/l10n/fi.json b/apps/federatedfilesharing/l10n/fi.json
index 021ff433fff..c0fc0feae4e 100644
--- a/apps/federatedfilesharing/l10n/fi.json
+++ b/apps/federatedfilesharing/l10n/fi.json
@@ -19,6 +19,7 @@
"Federated file sharing" : "Federoitu tiedostojako",
"Provide federated file sharing across servers" : "Mahdollistaa federoidun tiedostojaon palvelinten välillä",
"Share with me through my #Nextcloud Federated Cloud ID" : "Jaa kanssani käyttäen #Nextcloud ja federoitua pilvitunnistetta",
+ "Share with me via Nextcloud" : "Jaa kanssani Nextcloudin kautta",
"Copy to clipboard" : "Kopioi leikepöydälle",
"Copied!" : "Kopioitu!",
"Federated Cloud" : "Federoitu pilvi",
@@ -28,7 +29,6 @@
"X (formerly Twitter)" : "X (aiemmin Twitter)",
"Mastodon" : "Mastodon",
"Add to your website" : "Lisää verkkosivuillesi",
- "Share with me via Nextcloud" : "Jaa kanssani Nextcloudin kautta",
"HTML Code:" : "HTML-koodi:",
"Cancel" : "Peruuta",
"Add remote share" : "Lisää etäjako",
diff --git a/apps/federatedfilesharing/l10n/fr.js b/apps/federatedfilesharing/l10n/fr.js
index 42216ddd46b..0fb352c86fa 100644
--- a/apps/federatedfilesharing/l10n/fr.js
+++ b/apps/federatedfilesharing/l10n/fr.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Accepter par défaut automatiquement les partages provenant de comptes et de groupes fédérés de confiance",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Partagez avec moi grâce à mon ID de Cloud Fédéré #Nextcloud, voir {url}.",
"Share with me through my #Nextcloud Federated Cloud ID" : "Partagez avec moi grâce à mon ID de Cloud Fédéré #Nextcloud",
+ "Share with me via Nextcloud" : "Partagez avec moi via Nextcloud",
"Cloud ID copied to the clipboard" : "ID de Cloud Fédéré copié dans le presse-papiers",
"Copy to clipboard" : "Copier dans le presse-papiers",
"Clipboard not available. Please copy the cloud ID manually." : "Presse-papiers non disponible. Veuillez copier l'ID cloud manuellement.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "anciennement Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Ajouter à votre site web",
- "Share with me via Nextcloud" : "Partagez avec moi via Nextcloud",
"HTML Code:" : "Code HTML :",
"Cancel" : "Annuler",
"Add remote share" : "Ajouter un partage distant",
diff --git a/apps/federatedfilesharing/l10n/fr.json b/apps/federatedfilesharing/l10n/fr.json
index 59f3d6c6123..6887f56b8f7 100644
--- a/apps/federatedfilesharing/l10n/fr.json
+++ b/apps/federatedfilesharing/l10n/fr.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Accepter par défaut automatiquement les partages provenant de comptes et de groupes fédérés de confiance",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Partagez avec moi grâce à mon ID de Cloud Fédéré #Nextcloud, voir {url}.",
"Share with me through my #Nextcloud Federated Cloud ID" : "Partagez avec moi grâce à mon ID de Cloud Fédéré #Nextcloud",
+ "Share with me via Nextcloud" : "Partagez avec moi via Nextcloud",
"Cloud ID copied to the clipboard" : "ID de Cloud Fédéré copié dans le presse-papiers",
"Copy to clipboard" : "Copier dans le presse-papiers",
"Clipboard not available. Please copy the cloud ID manually." : "Presse-papiers non disponible. Veuillez copier l'ID cloud manuellement.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "anciennement Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Ajouter à votre site web",
- "Share with me via Nextcloud" : "Partagez avec moi via Nextcloud",
"HTML Code:" : "Code HTML :",
"Cancel" : "Annuler",
"Add remote share" : "Ajouter un partage distant",
diff --git a/apps/federatedfilesharing/l10n/ga.js b/apps/federatedfilesharing/l10n/ga.js
index d97ea5d80c4..bb0ba15ac70 100644
--- a/apps/federatedfilesharing/l10n/ga.js
+++ b/apps/federatedfilesharing/l10n/ga.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Glac go huathoibríoch le scaireanna ó chuntais chónaidhme iontaofa agus ó ghrúpaí de réir réamhshocraithe",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Roinn liom trí m'aitheantas scamall #Nextcloud Federated Cloud, féach {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Roinn liom trí m'aitheantas scamall #Nextcloud Federated Cloud",
+ "Share with me via Nextcloud" : "Roinn liom trí Nextcloud",
"Cloud ID copied to the clipboard" : "Cóipeáladh Cloud ID chuig an ngearrthaisce",
"Copy to clipboard" : "Cóipeáil chuig an ngearrthaisce",
"Clipboard not available. Please copy the cloud ID manually." : "Níl an gearrthaisce ar fáil. Cóipeáil an t-aitheantas néil de láimh.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "Twitter roimhe seo",
"Mastodon" : "Mastodon",
"Add to your website" : "Cuir le do láithreán gréasáin",
- "Share with me via Nextcloud" : "Roinn liom trí Nextcloud",
"HTML Code:" : "Cód HTML:",
"Cancel" : "Cealaigh",
"Add remote share" : "Cuir cianroinnte leis",
diff --git a/apps/federatedfilesharing/l10n/ga.json b/apps/federatedfilesharing/l10n/ga.json
index b5a9c35c2e2..44a7ddd82dc 100644
--- a/apps/federatedfilesharing/l10n/ga.json
+++ b/apps/federatedfilesharing/l10n/ga.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Glac go huathoibríoch le scaireanna ó chuntais chónaidhme iontaofa agus ó ghrúpaí de réir réamhshocraithe",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Roinn liom trí m'aitheantas scamall #Nextcloud Federated Cloud, féach {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Roinn liom trí m'aitheantas scamall #Nextcloud Federated Cloud",
+ "Share with me via Nextcloud" : "Roinn liom trí Nextcloud",
"Cloud ID copied to the clipboard" : "Cóipeáladh Cloud ID chuig an ngearrthaisce",
"Copy to clipboard" : "Cóipeáil chuig an ngearrthaisce",
"Clipboard not available. Please copy the cloud ID manually." : "Níl an gearrthaisce ar fáil. Cóipeáil an t-aitheantas néil de láimh.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "Twitter roimhe seo",
"Mastodon" : "Mastodon",
"Add to your website" : "Cuir le do láithreán gréasáin",
- "Share with me via Nextcloud" : "Roinn liom trí Nextcloud",
"HTML Code:" : "Cód HTML:",
"Cancel" : "Cealaigh",
"Add remote share" : "Cuir cianroinnte leis",
diff --git a/apps/federatedfilesharing/l10n/gl.js b/apps/federatedfilesharing/l10n/gl.js
index a6c9c07b8f4..2a90ec1ebd7 100644
--- a/apps/federatedfilesharing/l10n/gl.js
+++ b/apps/federatedfilesharing/l10n/gl.js
@@ -35,6 +35,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Aceptar automaticamente os recursos compartidos de contas e grupos federados de confianza de xeito predeterminado",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparta comigo a través do meu ID de nube federada de #Nextcloud, vexa {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Comparta comigo a través do meu ID de nube federada de #Nextcloud",
+ "Share with me via Nextcloud" : "Comparte comigo a través de Nextcloud",
"Cloud ID copied to the clipboard" : "O identificador de nube (Cloud ID) (foi copiado no portapapeis",
"Copy to clipboard" : "Copiar no portapapeis.",
"Clipboard not available. Please copy the cloud ID manually." : "O portapapeis non está dispoñíbel. Copie o ID da nube manualmente.",
@@ -48,7 +49,6 @@ OC.L10N.register(
"formerly Twitter" : "anteriormente Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Engadir ao seu sitio web",
- "Share with me via Nextcloud" : "Comparte comigo a través de Nextcloud",
"HTML Code:" : "Código HTML:",
"Cancel" : "Cancelar",
"Add remote share" : "Engadir unha compartición remota",
diff --git a/apps/federatedfilesharing/l10n/gl.json b/apps/federatedfilesharing/l10n/gl.json
index 6d591bee5f1..0137717b039 100644
--- a/apps/federatedfilesharing/l10n/gl.json
+++ b/apps/federatedfilesharing/l10n/gl.json
@@ -33,6 +33,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Aceptar automaticamente os recursos compartidos de contas e grupos federados de confianza de xeito predeterminado",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparta comigo a través do meu ID de nube federada de #Nextcloud, vexa {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Comparta comigo a través do meu ID de nube federada de #Nextcloud",
+ "Share with me via Nextcloud" : "Comparte comigo a través de Nextcloud",
"Cloud ID copied to the clipboard" : "O identificador de nube (Cloud ID) (foi copiado no portapapeis",
"Copy to clipboard" : "Copiar no portapapeis.",
"Clipboard not available. Please copy the cloud ID manually." : "O portapapeis non está dispoñíbel. Copie o ID da nube manualmente.",
@@ -46,7 +47,6 @@
"formerly Twitter" : "anteriormente Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Engadir ao seu sitio web",
- "Share with me via Nextcloud" : "Comparte comigo a través de Nextcloud",
"HTML Code:" : "Código HTML:",
"Cancel" : "Cancelar",
"Add remote share" : "Engadir unha compartición remota",
diff --git a/apps/federatedfilesharing/l10n/he.js b/apps/federatedfilesharing/l10n/he.js
deleted file mode 100644
index 6609b39a786..00000000000
--- a/apps/federatedfilesharing/l10n/he.js
+++ /dev/null
@@ -1,36 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "האם לשתף את השיתוף החיצוני {name} שהתקבל מ- {owner}@{remote}?",
- "Remote share" : "שיתוף חיצוני",
- "Remote share password" : "סיסמת שיתוף חיצוני",
- "Cancel" : "ביטול",
- "Add remote share" : "הוספת שיתוף חיצוני",
- "Invalid Federated Cloud ID" : "זיהוי ענן מאוגד לא חוקי",
- "Server to server sharing is not enabled on this server" : "שיתוף שרת לשרת לא מופעל בשרת זה",
- "Not allowed to create a federated share with the same user" : "אסור ליצור שיתוף מאוגד עם אותו משתמש",
- "File is already shared with %s" : "הקובץ כבר משותף עם %s",
- "Could not find share" : "לא ניתן למצוא את השיתוף",
- "Federated sharing" : "שיתוף מאוגד",
- "Accept" : "אישור",
- "Decline" : "סירוב",
- "Federated Cloud Sharing" : "ענן שיתוף מאוגד",
- "Sharing" : "שיתוף",
- "Allow users on this server to receive shares from other servers" : "מאפשר למשתמשים בשרת זה לקבל שיתופים משרתים אחרים",
- "Federated Cloud" : "ענן מאוגד",
- "Your Federated Cloud ID:" : "מספר זיהוי הענן המאוגד שלך:",
- "Twitter" : "טוויטר",
- "Add to your website" : "הוספה לאתר האינטרנט שלך",
- "Share with me via Nextcloud" : "שיתוף איתי באמצעות Nextcloud",
- "HTML Code:" : "קוד HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "שיתוף איתי באמצעות מספר זהות שרת ה- #Nextcloud המאוגד שלי",
- "Copy to clipboard" : "העתקה ללוח הגזירים",
- "Copied!" : "הועתק!",
- "Copy" : "העתק",
- "Not supported!" : "אין תמיכה!",
- "Press ⌘-C to copy." : "‎⌘-C להעתקה.",
- "Press Ctrl-C to copy." : "Ctrl-C להעתקה.",
- "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "שיתוף איתי באמצעות מספר זהות שרת ה- #Nextcloud המאוגד שלי, ניתן לראות %s",
- "Open documentation" : "תיעוד פתוח"
-},
-"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
diff --git a/apps/federatedfilesharing/l10n/he.json b/apps/federatedfilesharing/l10n/he.json
deleted file mode 100644
index 84fdeaae582..00000000000
--- a/apps/federatedfilesharing/l10n/he.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{ "translations": {
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "האם לשתף את השיתוף החיצוני {name} שהתקבל מ- {owner}@{remote}?",
- "Remote share" : "שיתוף חיצוני",
- "Remote share password" : "סיסמת שיתוף חיצוני",
- "Cancel" : "ביטול",
- "Add remote share" : "הוספת שיתוף חיצוני",
- "Invalid Federated Cloud ID" : "זיהוי ענן מאוגד לא חוקי",
- "Server to server sharing is not enabled on this server" : "שיתוף שרת לשרת לא מופעל בשרת זה",
- "Not allowed to create a federated share with the same user" : "אסור ליצור שיתוף מאוגד עם אותו משתמש",
- "File is already shared with %s" : "הקובץ כבר משותף עם %s",
- "Could not find share" : "לא ניתן למצוא את השיתוף",
- "Federated sharing" : "שיתוף מאוגד",
- "Accept" : "אישור",
- "Decline" : "סירוב",
- "Federated Cloud Sharing" : "ענן שיתוף מאוגד",
- "Sharing" : "שיתוף",
- "Allow users on this server to receive shares from other servers" : "מאפשר למשתמשים בשרת זה לקבל שיתופים משרתים אחרים",
- "Federated Cloud" : "ענן מאוגד",
- "Your Federated Cloud ID:" : "מספר זיהוי הענן המאוגד שלך:",
- "Twitter" : "טוויטר",
- "Add to your website" : "הוספה לאתר האינטרנט שלך",
- "Share with me via Nextcloud" : "שיתוף איתי באמצעות Nextcloud",
- "HTML Code:" : "קוד HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "שיתוף איתי באמצעות מספר זהות שרת ה- #Nextcloud המאוגד שלי",
- "Copy to clipboard" : "העתקה ללוח הגזירים",
- "Copied!" : "הועתק!",
- "Copy" : "העתק",
- "Not supported!" : "אין תמיכה!",
- "Press ⌘-C to copy." : "‎⌘-C להעתקה.",
- "Press Ctrl-C to copy." : "Ctrl-C להעתקה.",
- "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "שיתוף איתי באמצעות מספר זהות שרת ה- #Nextcloud המאוגד שלי, ניתן לראות %s",
- "Open documentation" : "תיעוד פתוח"
-},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/hr.js b/apps/federatedfilesharing/l10n/hr.js
index efcfa0daac0..e24c53cdb9c 100644
--- a/apps/federatedfilesharing/l10n/hr.js
+++ b/apps/federatedfilesharing/l10n/hr.js
@@ -22,6 +22,7 @@ OC.L10N.register(
"Federated file sharing" : "Udruženo dijeljenje datoteka",
"Provide federated file sharing across servers" : "Omogućite udruženo dijeljenje datoteka između poslužitelja",
"Share with me through my #Nextcloud Federated Cloud ID" : "Dijeli sa mnom putem mog #ID-ja udruženog oblaka Nextclouda",
+ "Share with me via Nextcloud" : "Dijelite sa mnom putem Nextclouda",
"Copy to clipboard" : "Kopiraj u međuspremnik",
"Copied!" : "Kopirano!",
"Federated Cloud" : "Udruženi oblak",
@@ -29,7 +30,6 @@ OC.L10N.register(
"Share it so your friends can share files with you:" : "Dijelite ga kako bi vaši prijatelji mogli dijeliti datoteke s vama:",
"Mastodon" : "Mastodon",
"Add to your website" : "Dodajte na svoje web-mjesto",
- "Share with me via Nextcloud" : "Dijelite sa mnom putem Nextclouda",
"HTML Code:" : "HTML kod:",
"Cancel" : "Odustani",
"Add remote share" : "Dodaj udaljeno dijeljenje",
diff --git a/apps/federatedfilesharing/l10n/hr.json b/apps/federatedfilesharing/l10n/hr.json
index 04691991984..fe44b18cdb0 100644
--- a/apps/federatedfilesharing/l10n/hr.json
+++ b/apps/federatedfilesharing/l10n/hr.json
@@ -20,6 +20,7 @@
"Federated file sharing" : "Udruženo dijeljenje datoteka",
"Provide federated file sharing across servers" : "Omogućite udruženo dijeljenje datoteka između poslužitelja",
"Share with me through my #Nextcloud Federated Cloud ID" : "Dijeli sa mnom putem mog #ID-ja udruženog oblaka Nextclouda",
+ "Share with me via Nextcloud" : "Dijelite sa mnom putem Nextclouda",
"Copy to clipboard" : "Kopiraj u međuspremnik",
"Copied!" : "Kopirano!",
"Federated Cloud" : "Udruženi oblak",
@@ -27,7 +28,6 @@
"Share it so your friends can share files with you:" : "Dijelite ga kako bi vaši prijatelji mogli dijeliti datoteke s vama:",
"Mastodon" : "Mastodon",
"Add to your website" : "Dodajte na svoje web-mjesto",
- "Share with me via Nextcloud" : "Dijelite sa mnom putem Nextclouda",
"HTML Code:" : "HTML kod:",
"Cancel" : "Odustani",
"Add remote share" : "Dodaj udaljeno dijeljenje",
diff --git a/apps/federatedfilesharing/l10n/hu.js b/apps/federatedfilesharing/l10n/hu.js
index f51c691347d..abfad80404f 100644
--- a/apps/federatedfilesharing/l10n/hu.js
+++ b/apps/federatedfilesharing/l10n/hu.js
@@ -35,6 +35,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "A megbízható föderált fiókokból és csoportokból származó megosztások automatikus elfogadása alapértelmezés szerint",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Ossza meg velem a #Nextcloud föderált felhőazonosítóm segítségével, lásd {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Ossza meg velem a #Nextcloud föderált felhőazonosítóm segítségével ",
+ "Share with me via Nextcloud" : "Ossza meg velem a Nextcloudon keresztül",
"Cloud ID copied to the clipboard" : "Felhőazonosító a vágólapra másolva",
"Copy to clipboard" : "Másolás a vágólapra",
"Clipboard not available. Please copy the cloud ID manually." : "A vágólap nem érhető el. Másolja át a felhőazonosítót kézileg.",
@@ -48,7 +49,6 @@ OC.L10N.register(
"formerly Twitter" : "korábban Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Adja hozzá saját weboldalához",
- "Share with me via Nextcloud" : "Ossza meg velem a Nextcloudon keresztül",
"HTML Code:" : "HTML-kód:",
"Cancel" : "Mégse",
"Add remote share" : "Távoli megosztás hozzáadása",
diff --git a/apps/federatedfilesharing/l10n/hu.json b/apps/federatedfilesharing/l10n/hu.json
index de5ec98944b..1f3544366ff 100644
--- a/apps/federatedfilesharing/l10n/hu.json
+++ b/apps/federatedfilesharing/l10n/hu.json
@@ -33,6 +33,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "A megbízható föderált fiókokból és csoportokból származó megosztások automatikus elfogadása alapértelmezés szerint",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Ossza meg velem a #Nextcloud föderált felhőazonosítóm segítségével, lásd {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Ossza meg velem a #Nextcloud föderált felhőazonosítóm segítségével ",
+ "Share with me via Nextcloud" : "Ossza meg velem a Nextcloudon keresztül",
"Cloud ID copied to the clipboard" : "Felhőazonosító a vágólapra másolva",
"Copy to clipboard" : "Másolás a vágólapra",
"Clipboard not available. Please copy the cloud ID manually." : "A vágólap nem érhető el. Másolja át a felhőazonosítót kézileg.",
@@ -46,7 +47,6 @@
"formerly Twitter" : "korábban Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Adja hozzá saját weboldalához",
- "Share with me via Nextcloud" : "Ossza meg velem a Nextcloudon keresztül",
"HTML Code:" : "HTML-kód:",
"Cancel" : "Mégse",
"Add remote share" : "Távoli megosztás hozzáadása",
diff --git a/apps/federatedfilesharing/l10n/ia.js b/apps/federatedfilesharing/l10n/ia.js
deleted file mode 100644
index 0d666816667..00000000000
--- a/apps/federatedfilesharing/l10n/ia.js
+++ /dev/null
@@ -1,34 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Esque tu vole adder le Compartir Remote {name} de {owner}@{remote}?",
- "Remote share" : "Compartir Remote",
- "Remote share password" : "Contrasigno del Compartir Remote",
- "Cancel" : "Cancellar",
- "Add remote share" : "Adder le Compartir Remote",
- "Invalid Federated Cloud ID" : "ID del Nube Federate",
- "Server to server sharing is not enabled on this server" : "Le Compartir de Servitor a Servitor non es activate in iste servitor",
- "Couldn't establish a federated share." : "Impossibile establir le Compartir Federate.",
- "Couldn't establish a federated share, maybe the password was wrong." : "Impossibile establir le Compartir Federate, possibilemente le contrasigno esseva incorrecte.",
- "File is already shared with %s" : "File ja es compartite con %s",
- "Could not find share" : "Impossibile trovar le compartite",
- "Federated sharing" : "Compartir Federate",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Tu recipeva {share} como un compartimento remote de {user} (in nomine de {behalf})",
- "You received {share} as a remote share from {user}" : "Tu recipeva {share} como un compartimento remote de {user}",
- "Accept" : "Acceptar",
- "Decline" : "Refusar",
- "Federated Cloud Sharing" : "Compartimento del Nube Federate",
- "Sharing" : "Compartente",
- "Federated Cloud" : "Nube Federate",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federate:",
- "Twitter" : "Twitter",
- "Add to your website" : "Adde a tu sito web",
- "Share with me via Nextcloud" : "Comparti con me via Nextcloud",
- "HTML Code:" : "Codice HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Comparti con me per mi ID de Nube Federate #Nextcloud",
- "Copied!" : "Copiate!",
- "Not allowed to create a federated share with the same user" : "Il non es permittite crear le Compartir Federate con le mesme usator.",
- "Allow users on this server to receive shares from other servers" : "Permitter usatores in iste servitor a reciper elementos compartite ex altere servitores",
- "Search global and public address book for users" : "Cercar pro usatores in adressarios global e public"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/ia.json b/apps/federatedfilesharing/l10n/ia.json
deleted file mode 100644
index 95619e5118f..00000000000
--- a/apps/federatedfilesharing/l10n/ia.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{ "translations": {
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Esque tu vole adder le Compartir Remote {name} de {owner}@{remote}?",
- "Remote share" : "Compartir Remote",
- "Remote share password" : "Contrasigno del Compartir Remote",
- "Cancel" : "Cancellar",
- "Add remote share" : "Adder le Compartir Remote",
- "Invalid Federated Cloud ID" : "ID del Nube Federate",
- "Server to server sharing is not enabled on this server" : "Le Compartir de Servitor a Servitor non es activate in iste servitor",
- "Couldn't establish a federated share." : "Impossibile establir le Compartir Federate.",
- "Couldn't establish a federated share, maybe the password was wrong." : "Impossibile establir le Compartir Federate, possibilemente le contrasigno esseva incorrecte.",
- "File is already shared with %s" : "File ja es compartite con %s",
- "Could not find share" : "Impossibile trovar le compartite",
- "Federated sharing" : "Compartir Federate",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Tu recipeva {share} como un compartimento remote de {user} (in nomine de {behalf})",
- "You received {share} as a remote share from {user}" : "Tu recipeva {share} como un compartimento remote de {user}",
- "Accept" : "Acceptar",
- "Decline" : "Refusar",
- "Federated Cloud Sharing" : "Compartimento del Nube Federate",
- "Sharing" : "Compartente",
- "Federated Cloud" : "Nube Federate",
- "Your Federated Cloud ID:" : "Tu ID de Nube Federate:",
- "Twitter" : "Twitter",
- "Add to your website" : "Adde a tu sito web",
- "Share with me via Nextcloud" : "Comparti con me via Nextcloud",
- "HTML Code:" : "Codice HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Comparti con me per mi ID de Nube Federate #Nextcloud",
- "Copied!" : "Copiate!",
- "Not allowed to create a federated share with the same user" : "Il non es permittite crear le Compartir Federate con le mesme usator.",
- "Allow users on this server to receive shares from other servers" : "Permitter usatores in iste servitor a reciper elementos compartite ex altere servitores",
- "Search global and public address book for users" : "Cercar pro usatores in adressarios global e public"
-},"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
deleted file mode 100644
index 1f40ecbd4ce..00000000000
--- a/apps/federatedfilesharing/l10n/id.js
+++ /dev/null
@@ -1,37 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "Federated Cloud ID tidak sah",
- "Server to server sharing is not enabled on this server" : "Berbagi server ke server tidak diaktifkan pada server ini",
- "Couldn't establish a federated share." : "Tidak dapat mendirikan pembagian terfederasi",
- "Couldn't establish a federated share, maybe the password was wrong." : "Tidak dapat mendirikan pembagian terfederasi, mungkin kata sandi salah.",
- "File is already shared with %s" : "Berkas sudah dibagikan dengan %s",
- "Could not find share" : "Tidak dapat mencari pembagian",
- "Federated sharing" : "Pembagian terfederasi",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Anda menerima {share} sebagai berbagi jauh dari {user} (atas nama {behalf})",
- "You received {share} as a remote share from {user}" : "Anda menerima {share} sebagai berbagi jauh dari {user}",
- "Accept" : "Terima",
- "Decline" : "Tolak",
- "Federated Cloud Sharing" : "Federated Cloud Sharing",
- "Sharing" : "Berbagi",
- "Federated Cloud" : "Federated Cloud",
- "Your Federated Cloud ID:" : "Federated Cloud ID Anda:",
- "Mastodon" : "Mastodon",
- "Add to your website" : "Tambahkan pada situs web Anda",
- "Share with me via Nextcloud" : "Dibagikan pada saya via Nextcloud",
- "HTML Code:" : "Kode HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Dibagikan pada saya melalui #Nextcloud Federated Cloud ID saya",
- "Copy to clipboard" : "Salin ke papan klip",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Apakah Anda ingin menambahkan pembagian remote {name} dari {owner}@{remote}?",
- "Remote share" : "Berbagi jarak jauh",
- "Remote share password" : "Kata sandi berbagi jarak jauh",
- "Cancel" : "Batalkan",
- "Add remote share" : "Tambah berbagi remote",
- "Not allowed to create a federated share with the same user" : "Tidak diizinkan membuat pembagian terfederasi dengan pengguna yang sama",
- "Allow users on this server to receive shares from other servers" : "Izinkan para pengguna di server ini untuk menerima berbagi ke server lainnya.",
- "Search global and public address book for users" : "Cari alamat buku global dan alamat publik untuk pengguna",
- "Twitter" : "Twitter",
- "Clipboard is not available" : "Papan klip tidak tersedia",
- "Copied!" : "Tersalin!"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/id.json b/apps/federatedfilesharing/l10n/id.json
deleted file mode 100644
index 665544b8108..00000000000
--- a/apps/federatedfilesharing/l10n/id.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "Federated Cloud ID tidak sah",
- "Server to server sharing is not enabled on this server" : "Berbagi server ke server tidak diaktifkan pada server ini",
- "Couldn't establish a federated share." : "Tidak dapat mendirikan pembagian terfederasi",
- "Couldn't establish a federated share, maybe the password was wrong." : "Tidak dapat mendirikan pembagian terfederasi, mungkin kata sandi salah.",
- "File is already shared with %s" : "Berkas sudah dibagikan dengan %s",
- "Could not find share" : "Tidak dapat mencari pembagian",
- "Federated sharing" : "Pembagian terfederasi",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Anda menerima {share} sebagai berbagi jauh dari {user} (atas nama {behalf})",
- "You received {share} as a remote share from {user}" : "Anda menerima {share} sebagai berbagi jauh dari {user}",
- "Accept" : "Terima",
- "Decline" : "Tolak",
- "Federated Cloud Sharing" : "Federated Cloud Sharing",
- "Sharing" : "Berbagi",
- "Federated Cloud" : "Federated Cloud",
- "Your Federated Cloud ID:" : "Federated Cloud ID Anda:",
- "Mastodon" : "Mastodon",
- "Add to your website" : "Tambahkan pada situs web Anda",
- "Share with me via Nextcloud" : "Dibagikan pada saya via Nextcloud",
- "HTML Code:" : "Kode HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Dibagikan pada saya melalui #Nextcloud Federated Cloud ID saya",
- "Copy to clipboard" : "Salin ke papan klip",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Apakah Anda ingin menambahkan pembagian remote {name} dari {owner}@{remote}?",
- "Remote share" : "Berbagi jarak jauh",
- "Remote share password" : "Kata sandi berbagi jarak jauh",
- "Cancel" : "Batalkan",
- "Add remote share" : "Tambah berbagi remote",
- "Not allowed to create a federated share with the same user" : "Tidak diizinkan membuat pembagian terfederasi dengan pengguna yang sama",
- "Allow users on this server to receive shares from other servers" : "Izinkan para pengguna di server ini untuk menerima berbagi ke server lainnya.",
- "Search global and public address book for users" : "Cari alamat buku global dan alamat publik untuk pengguna",
- "Twitter" : "Twitter",
- "Clipboard is not available" : "Papan klip tidak tersedia",
- "Copied!" : "Tersalin!"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/is.js b/apps/federatedfilesharing/l10n/is.js
index 50f8bbf33d9..bc5a1c2d034 100644
--- a/apps/federatedfilesharing/l10n/is.js
+++ b/apps/federatedfilesharing/l10n/is.js
@@ -35,6 +35,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Sjálfgefið samþykkja sjálfkrafa sameignir frá treystum skýjasambandsaðgöngum og hópum",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Deila með mér í gegnum víðværa skýjasambandsauðkennið mitt #Nextcloud Federated Cloud ID, sjá {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Deila með mér í gegnum víðværa skýjasambandsauðkennið mitt #Nextcloud Federated Cloud ID",
+ "Share with me via Nextcloud" : "Deila með mér í gegnum Nextcloud",
"Cloud ID copied to the clipboard" : "Skýjasambandsauðkenni afritað á klippispjald",
"Copy to clipboard" : "Afrita á klippispjald",
"Clipboard not available. Please copy the cloud ID manually." : "Klippispjald er ekki tiltækt. Afritaðu skýjasambandsauðkennið handvirkt.",
@@ -48,7 +49,6 @@ OC.L10N.register(
"formerly Twitter" : "fyrrum Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Bæta við vefsvæðið þitt",
- "Share with me via Nextcloud" : "Deila með mér í gegnum Nextcloud",
"HTML Code:" : "HTML-kóði:",
"Cancel" : "Hætta við",
"Add remote share" : "Bæta við fjartengdri sameign",
diff --git a/apps/federatedfilesharing/l10n/is.json b/apps/federatedfilesharing/l10n/is.json
index 93c04ce6e4d..a35a4711315 100644
--- a/apps/federatedfilesharing/l10n/is.json
+++ b/apps/federatedfilesharing/l10n/is.json
@@ -33,6 +33,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Sjálfgefið samþykkja sjálfkrafa sameignir frá treystum skýjasambandsaðgöngum og hópum",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Deila með mér í gegnum víðværa skýjasambandsauðkennið mitt #Nextcloud Federated Cloud ID, sjá {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Deila með mér í gegnum víðværa skýjasambandsauðkennið mitt #Nextcloud Federated Cloud ID",
+ "Share with me via Nextcloud" : "Deila með mér í gegnum Nextcloud",
"Cloud ID copied to the clipboard" : "Skýjasambandsauðkenni afritað á klippispjald",
"Copy to clipboard" : "Afrita á klippispjald",
"Clipboard not available. Please copy the cloud ID manually." : "Klippispjald er ekki tiltækt. Afritaðu skýjasambandsauðkennið handvirkt.",
@@ -46,7 +47,6 @@
"formerly Twitter" : "fyrrum Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Bæta við vefsvæðið þitt",
- "Share with me via Nextcloud" : "Deila með mér í gegnum Nextcloud",
"HTML Code:" : "HTML-kóði:",
"Cancel" : "Hætta við",
"Add remote share" : "Bæta við fjartengdri sameign",
diff --git a/apps/federatedfilesharing/l10n/it.js b/apps/federatedfilesharing/l10n/it.js
index 1b923824e3f..2b85dda0197 100644
--- a/apps/federatedfilesharing/l10n/it.js
+++ b/apps/federatedfilesharing/l10n/it.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Accetta automaticamente le condivisioni da account e gruppi federati attendibili",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Condividi con me attraverso il mio ID di cloud federato #Nextcloud, vedi {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Condividi con me attraverso il mio ID di cloud federata #Nextcloud",
+ "Share with me via Nextcloud" : "Condividi con me tramite Nextcloud",
"Cloud ID copied to the clipboard" : "ID di cloud copiato negli appunti",
"Copy to clipboard" : "Copia negli appunti",
"Clipboard not available. Please copy the cloud ID manually." : "Appunti non disponibili. Copia manualmente l'ID cloud.",
@@ -54,7 +55,6 @@ OC.L10N.register(
"formerly Twitter" : "precedentemente Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Aggiungi al tuo sito web",
- "Share with me via Nextcloud" : "Condividi con me tramite Nextcloud",
"HTML Code:" : "Codice HTML:",
"Cancel" : "Annulla",
"Add remote share" : "Aggiungi condivisione remota",
diff --git a/apps/federatedfilesharing/l10n/it.json b/apps/federatedfilesharing/l10n/it.json
index f4123846eae..0bc9121ae05 100644
--- a/apps/federatedfilesharing/l10n/it.json
+++ b/apps/federatedfilesharing/l10n/it.json
@@ -39,6 +39,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Accetta automaticamente le condivisioni da account e gruppi federati attendibili",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Condividi con me attraverso il mio ID di cloud federato #Nextcloud, vedi {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Condividi con me attraverso il mio ID di cloud federata #Nextcloud",
+ "Share with me via Nextcloud" : "Condividi con me tramite Nextcloud",
"Cloud ID copied to the clipboard" : "ID di cloud copiato negli appunti",
"Copy to clipboard" : "Copia negli appunti",
"Clipboard not available. Please copy the cloud ID manually." : "Appunti non disponibili. Copia manualmente l'ID cloud.",
@@ -52,7 +53,6 @@
"formerly Twitter" : "precedentemente Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Aggiungi al tuo sito web",
- "Share with me via Nextcloud" : "Condividi con me tramite Nextcloud",
"HTML Code:" : "Codice HTML:",
"Cancel" : "Annulla",
"Add remote share" : "Aggiungi condivisione remota",
diff --git a/apps/federatedfilesharing/l10n/ja.js b/apps/federatedfilesharing/l10n/ja.js
index b215bc60313..e821c5694ce 100644
--- a/apps/federatedfilesharing/l10n/ja.js
+++ b/apps/federatedfilesharing/l10n/ja.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "信頼できるフェデレーションアカウントとグループからの共有をデフォルトで自動的に受け入れる",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "私の #Nextcloud Federated Cloud ID を通して共有してください、 {url} を参照してください。",
"Share with me through my #Nextcloud Federated Cloud ID" : "#Nextcloud の「クラウド共有ID」で私と共有できます。",
+ "Share with me via Nextcloud" : "Nextcloud 経由で共有",
"Cloud ID copied to the clipboard" : "クリップボードにクラウドIDをコピーしました",
"Copy to clipboard" : "クリップボードにコピー",
"Clipboard not available. Please copy the cloud ID manually." : "クリップボードが使用できません。手動でクラウドIDをコピーしてください。",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : " 旧 Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "ウェブサイトに追加",
- "Share with me via Nextcloud" : "Nextcloud 経由で共有",
"HTML Code:" : "HTMLコード:",
"Cancel" : "キャンセル",
"Add remote share" : "リモート共有を追加",
diff --git a/apps/federatedfilesharing/l10n/ja.json b/apps/federatedfilesharing/l10n/ja.json
index e4f4be39e8e..fba74e16cbb 100644
--- a/apps/federatedfilesharing/l10n/ja.json
+++ b/apps/federatedfilesharing/l10n/ja.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "信頼できるフェデレーションアカウントとグループからの共有をデフォルトで自動的に受け入れる",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "私の #Nextcloud Federated Cloud ID を通して共有してください、 {url} を参照してください。",
"Share with me through my #Nextcloud Federated Cloud ID" : "#Nextcloud の「クラウド共有ID」で私と共有できます。",
+ "Share with me via Nextcloud" : "Nextcloud 経由で共有",
"Cloud ID copied to the clipboard" : "クリップボードにクラウドIDをコピーしました",
"Copy to clipboard" : "クリップボードにコピー",
"Clipboard not available. Please copy the cloud ID manually." : "クリップボードが使用できません。手動でクラウドIDをコピーしてください。",
@@ -57,7 +58,6 @@
"formerly Twitter" : " 旧 Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "ウェブサイトに追加",
- "Share with me via Nextcloud" : "Nextcloud 経由で共有",
"HTML Code:" : "HTMLコード:",
"Cancel" : "キャンセル",
"Add remote share" : "リモート共有を追加",
diff --git a/apps/federatedfilesharing/l10n/ka.js b/apps/federatedfilesharing/l10n/ka.js
index 45dc04ec5b2..78cd9ecc8ad 100644
--- a/apps/federatedfilesharing/l10n/ka.js
+++ b/apps/federatedfilesharing/l10n/ka.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Unable to update federated files sharing config" : "Unable to update federated files sharing config",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Share with me through my #Nextcloud Federated Cloud ID, see {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Share with me through my #Nextcloud Federated Cloud ID",
+ "Share with me via Nextcloud" : "Share with me via Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud ID copied to the clipboard",
"Copy to clipboard" : "Copy to clipboard",
"Copied!" : "Copied!",
@@ -33,7 +34,6 @@ OC.L10N.register(
"Facebook" : "Facebook",
"X (formerly Twitter)" : "X (formerly Twitter)",
"Add to your website" : "Add to your website",
- "Share with me via Nextcloud" : "Share with me via Nextcloud",
"HTML Code:" : "HTML Code:",
"Cancel" : "Cancel",
"Add remote share" : "Add remote share",
diff --git a/apps/federatedfilesharing/l10n/ka.json b/apps/federatedfilesharing/l10n/ka.json
index 37b5798e57e..48032f31a34 100644
--- a/apps/federatedfilesharing/l10n/ka.json
+++ b/apps/federatedfilesharing/l10n/ka.json
@@ -22,6 +22,7 @@
"Unable to update federated files sharing config" : "Unable to update federated files sharing config",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Share with me through my #Nextcloud Federated Cloud ID, see {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Share with me through my #Nextcloud Federated Cloud ID",
+ "Share with me via Nextcloud" : "Share with me via Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud ID copied to the clipboard",
"Copy to clipboard" : "Copy to clipboard",
"Copied!" : "Copied!",
@@ -31,7 +32,6 @@
"Facebook" : "Facebook",
"X (formerly Twitter)" : "X (formerly Twitter)",
"Add to your website" : "Add to your website",
- "Share with me via Nextcloud" : "Share with me via Nextcloud",
"HTML Code:" : "HTML Code:",
"Cancel" : "Cancel",
"Add remote share" : "Add remote share",
diff --git a/apps/federatedfilesharing/l10n/ka_GE.js b/apps/federatedfilesharing/l10n/ka_GE.js
deleted file mode 100644
index c938b3879d3..00000000000
--- a/apps/federatedfilesharing/l10n/ka_GE.js
+++ /dev/null
@@ -1,35 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "არასწორი ფედერალური ქლაუდ ID",
- "Server to server sharing is not enabled on this server" : "ამ სერვერზე სერვერიდან სერვერზე გაზიარება არაა ჩართული",
- "Couldn't establish a federated share." : "ფედერალური გაზიარება ვერ დამყარდა.",
- "Couldn't establish a federated share, maybe the password was wrong." : "ფედერალური გაზიარება ვერ დამყარდა, შეისაძლოა პაროლი არ იყოს მართებული.",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "ფედერალური გაზიარების მოთხოვნა გაიგზავნა, თქვენ მიიღებთ მოწვევას. შეამოწმეთ თქვენი შეტყობინებები.",
- "File is already shared with %s" : "ფაილი უკვე გაზიარებულია მომხმარებელთან %s ",
- "Could not find share" : "გაზიარება ვერ იქნა ნაპოვნი",
- "Federated sharing" : "ფედერალური გაზიარება",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "თქვენ მიიღეთ გაზიარება {share} როგორც დისტანციური გაზიარება მომხმარებლისგან {user} (სახელით {behalf})",
- "You received {share} as a remote share from {user}" : "თქვენ მიიღეთ {share} როგორც დისტანციური გაზიარება მომხმარებლისგან {user}",
- "Accept" : "მიღება",
- "Decline" : "უარყოფა",
- "Federated Cloud Sharing" : "ფედერალური ქლაუდ გაზიარება",
- "Sharing" : "გაზიარება",
- "Federated file sharing" : "ფედერალური ფაილების გაზიარება",
- "Share with me through my #Nextcloud Federated Cloud ID" : "გააზიარეთ ჩემთან ჩემი #Nextcloud-ის ფედერალური ქლაუდ ID-ის მეშვეობით",
- "Copy to clipboard" : "კოპირება ბუფერში",
- "Copied!" : "კოპირებულია!",
- "Federated Cloud" : "ფედერალური ქლაუდი",
- "Share it so your friends can share files with you:" : "გააზიარეთ, რომ თქვენმა მეგობრებმაც შეძლონ ფაილების გაზიარება თქვენთან:",
- "Add to your website" : "საიტზე დამატება",
- "Share with me via Nextcloud" : "გამიზიარე Nextcloud-ის მეშვეობით",
- "HTML Code:" : "HTML კოდი:",
- "Cancel" : "გაუქმება",
- "Add remote share" : "დისტანციური გაზიარების დამატება",
- "Remote share" : "დისტანციური გაზიარება",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "გსურთ დაამატოთ {owner}@{remote}-ის დისტანცური გაზიარება {name}?",
- "Remote share password" : "დისტანციური გაზიარების პაროლი",
- "Your Federated Cloud ID:" : "თქვენი ფედერალური ქლაუდ ID:",
- "Twitter" : "Twitter-ი"
-},
-"nplurals=2; plural=(n!=1);");
diff --git a/apps/federatedfilesharing/l10n/ka_GE.json b/apps/federatedfilesharing/l10n/ka_GE.json
deleted file mode 100644
index 42f539210d9..00000000000
--- a/apps/federatedfilesharing/l10n/ka_GE.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "არასწორი ფედერალური ქლაუდ ID",
- "Server to server sharing is not enabled on this server" : "ამ სერვერზე სერვერიდან სერვერზე გაზიარება არაა ჩართული",
- "Couldn't establish a federated share." : "ფედერალური გაზიარება ვერ დამყარდა.",
- "Couldn't establish a federated share, maybe the password was wrong." : "ფედერალური გაზიარება ვერ დამყარდა, შეისაძლოა პაროლი არ იყოს მართებული.",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "ფედერალური გაზიარების მოთხოვნა გაიგზავნა, თქვენ მიიღებთ მოწვევას. შეამოწმეთ თქვენი შეტყობინებები.",
- "File is already shared with %s" : "ფაილი უკვე გაზიარებულია მომხმარებელთან %s ",
- "Could not find share" : "გაზიარება ვერ იქნა ნაპოვნი",
- "Federated sharing" : "ფედერალური გაზიარება",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "თქვენ მიიღეთ გაზიარება {share} როგორც დისტანციური გაზიარება მომხმარებლისგან {user} (სახელით {behalf})",
- "You received {share} as a remote share from {user}" : "თქვენ მიიღეთ {share} როგორც დისტანციური გაზიარება მომხმარებლისგან {user}",
- "Accept" : "მიღება",
- "Decline" : "უარყოფა",
- "Federated Cloud Sharing" : "ფედერალური ქლაუდ გაზიარება",
- "Sharing" : "გაზიარება",
- "Federated file sharing" : "ფედერალური ფაილების გაზიარება",
- "Share with me through my #Nextcloud Federated Cloud ID" : "გააზიარეთ ჩემთან ჩემი #Nextcloud-ის ფედერალური ქლაუდ ID-ის მეშვეობით",
- "Copy to clipboard" : "კოპირება ბუფერში",
- "Copied!" : "კოპირებულია!",
- "Federated Cloud" : "ფედერალური ქლაუდი",
- "Share it so your friends can share files with you:" : "გააზიარეთ, რომ თქვენმა მეგობრებმაც შეძლონ ფაილების გაზიარება თქვენთან:",
- "Add to your website" : "საიტზე დამატება",
- "Share with me via Nextcloud" : "გამიზიარე Nextcloud-ის მეშვეობით",
- "HTML Code:" : "HTML კოდი:",
- "Cancel" : "გაუქმება",
- "Add remote share" : "დისტანციური გაზიარების დამატება",
- "Remote share" : "დისტანციური გაზიარება",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "გსურთ დაამატოთ {owner}@{remote}-ის დისტანცური გაზიარება {name}?",
- "Remote share password" : "დისტანციური გაზიარების პაროლი",
- "Your Federated Cloud ID:" : "თქვენი ფედერალური ქლაუდ ID:",
- "Twitter" : "Twitter-ი"
-},"pluralForm" :"nplurals=2; plural=(n!=1);"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/ko.js b/apps/federatedfilesharing/l10n/ko.js
index c8d37eadb89..3fde56d6b97 100644
--- a/apps/federatedfilesharing/l10n/ko.js
+++ b/apps/federatedfilesharing/l10n/ko.js
@@ -26,6 +26,7 @@ OC.L10N.register(
"Unable to update federated files sharing config" : "연합 파일 공유 설정을 갱신할 수 없음",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "내 #Nextcloud 연합 클라우드 ID를 통해서 공유됨, 더 알아보기: {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "내 #Nextcloud 연합 클라우드 ID를 통해서 공유됨",
+ "Share with me via Nextcloud" : "Nextcloud로 나와 공유하기",
"Cloud ID copied to the clipboard" : "클라우드 ID가 클립보드에 복사됨",
"Copy to clipboard" : "클립보드로 복사",
"Copied!" : "복사 성공!",
@@ -35,7 +36,6 @@ OC.L10N.register(
"Facebook" : "Facebook",
"X (formerly Twitter)" : "X (구 Twitter)",
"Add to your website" : "내 웹 사이트에 추가",
- "Share with me via Nextcloud" : "Nextcloud로 나와 공유하기",
"HTML Code:" : "HTML 코드:",
"Cancel" : "취소",
"Add remote share" : "원격 공유 추가",
diff --git a/apps/federatedfilesharing/l10n/ko.json b/apps/federatedfilesharing/l10n/ko.json
index b90e3679799..b1fcc914625 100644
--- a/apps/federatedfilesharing/l10n/ko.json
+++ b/apps/federatedfilesharing/l10n/ko.json
@@ -24,6 +24,7 @@
"Unable to update federated files sharing config" : "연합 파일 공유 설정을 갱신할 수 없음",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "내 #Nextcloud 연합 클라우드 ID를 통해서 공유됨, 더 알아보기: {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "내 #Nextcloud 연합 클라우드 ID를 통해서 공유됨",
+ "Share with me via Nextcloud" : "Nextcloud로 나와 공유하기",
"Cloud ID copied to the clipboard" : "클라우드 ID가 클립보드에 복사됨",
"Copy to clipboard" : "클립보드로 복사",
"Copied!" : "복사 성공!",
@@ -33,7 +34,6 @@
"Facebook" : "Facebook",
"X (formerly Twitter)" : "X (구 Twitter)",
"Add to your website" : "내 웹 사이트에 추가",
- "Share with me via Nextcloud" : "Nextcloud로 나와 공유하기",
"HTML Code:" : "HTML 코드:",
"Cancel" : "취소",
"Add remote share" : "원격 공유 추가",
diff --git a/apps/federatedfilesharing/l10n/lb.js b/apps/federatedfilesharing/l10n/lb.js
deleted file mode 100644
index 8515e8eada4..00000000000
--- a/apps/federatedfilesharing/l10n/lb.js
+++ /dev/null
@@ -1,6 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Open documentation" : "Dokumentatioun opmaachen"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/lb.json b/apps/federatedfilesharing/l10n/lb.json
deleted file mode 100644
index 66e7cf9e135..00000000000
--- a/apps/federatedfilesharing/l10n/lb.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "translations": {
- "Open documentation" : "Dokumentatioun opmaachen"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/lt_LT.js b/apps/federatedfilesharing/l10n/lt_LT.js
deleted file mode 100644
index ccaca09ce91..00000000000
--- a/apps/federatedfilesharing/l10n/lt_LT.js
+++ /dev/null
@@ -1,40 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "Neteisingas federacinės debesijos ID",
- "Server to server sharing is not enabled on this server" : "Dalinimasis tarp serverių yra neleidžiamas šiame serveryje",
- "Couldn't establish a federated share." : "Nepavyko užmegzti federacinio viešinio.",
- "Couldn't establish a federated share, maybe the password was wrong." : "Nepavyko užmegzti federacinio viešinio, galbūt, neteisingas slaptažodis.",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Federacinio viešinio užklausa išsiųsta, jūs gausite pakvietimą. Tikrinkite savo pranešimus.",
- "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Nepavyko užmegzti federacinio viešinio, atrodo, kad serveris su kuriuo ketinama jungtis į federaciją yra per senas (Nextcloud <= 9).",
- "It is not allowed to send federated group shares from this server." : "Iš šio serverio neleidžiama siųsti federacinių grupės viešinių.",
- "File is already shared with %s" : "Failas jau yra bendrinamas su %s",
- "Could not find share" : "Nepavyko rasti viešinio",
- "Federated sharing" : "Federacinis bendrinimas",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Jūs gavote {share} kaip nuotolinį viešinį iš {user} ({behalf} vardu)",
- "You received {share} as a remote share from {user}" : "Jūs gavote {share} kaip nuotolinį viešinį iš {user}",
- "Accept" : "Priimti",
- "Decline" : "Atmesti",
- "Federated Cloud Sharing" : "Bendrinimas federacinėje debesijoje",
- "Sharing" : "Duomenų bendrinimas",
- "Federated file sharing" : "Federacinis failų bendrinimas",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Bendrinti su manimi per mano #Nextcloud federacinės debesijos ID",
- "Cloud ID copied to the clipboard" : "Debesijos ID nukopijuotas į iškarpinę",
- "Copy to clipboard" : "Kopijuoti į iškarpinę",
- "Clipboard not available. Please copy the cloud ID manually." : "Iškarpinė neprieinama. Nukopijuokite debesijos ID rankiniu būdu.",
- "Copied!" : "Nukopijuota!",
- "Federated Cloud" : "Federacinė debesija",
- "Share it so your friends can share files with you:" : "Pasidalinkite juo, kad jūsų draugai galėtų bendrinti failus kartu su jumis:",
- "Facebook" : "„Facebook“",
- "Mastodon" : "„Mastodon“",
- "HTML Code:" : "HTML kodas:",
- "Cancel" : "Atsisakyti",
- "Add remote share" : "Pridėti nuotolinį viešinį",
- "Remote share" : "Nuotolinis viešinys",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Ar norite pridėti nuotolinį viešinį {name} iš {owner}@{remote}?",
- "Remote share password" : "Nuotolinio viešinio slaptažodis",
- "Clipboard is not available" : "Iškarpinė neprieinama",
- "Your Federated Cloud ID:" : "Jūsų federacinės debesijos ID:",
- "Twitter" : "Twitter"
-},
-"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/apps/federatedfilesharing/l10n/lt_LT.json b/apps/federatedfilesharing/l10n/lt_LT.json
deleted file mode 100644
index 01e15ef0e4a..00000000000
--- a/apps/federatedfilesharing/l10n/lt_LT.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "Neteisingas federacinės debesijos ID",
- "Server to server sharing is not enabled on this server" : "Dalinimasis tarp serverių yra neleidžiamas šiame serveryje",
- "Couldn't establish a federated share." : "Nepavyko užmegzti federacinio viešinio.",
- "Couldn't establish a federated share, maybe the password was wrong." : "Nepavyko užmegzti federacinio viešinio, galbūt, neteisingas slaptažodis.",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Federacinio viešinio užklausa išsiųsta, jūs gausite pakvietimą. Tikrinkite savo pranešimus.",
- "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Nepavyko užmegzti federacinio viešinio, atrodo, kad serveris su kuriuo ketinama jungtis į federaciją yra per senas (Nextcloud <= 9).",
- "It is not allowed to send federated group shares from this server." : "Iš šio serverio neleidžiama siųsti federacinių grupės viešinių.",
- "File is already shared with %s" : "Failas jau yra bendrinamas su %s",
- "Could not find share" : "Nepavyko rasti viešinio",
- "Federated sharing" : "Federacinis bendrinimas",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Jūs gavote {share} kaip nuotolinį viešinį iš {user} ({behalf} vardu)",
- "You received {share} as a remote share from {user}" : "Jūs gavote {share} kaip nuotolinį viešinį iš {user}",
- "Accept" : "Priimti",
- "Decline" : "Atmesti",
- "Federated Cloud Sharing" : "Bendrinimas federacinėje debesijoje",
- "Sharing" : "Duomenų bendrinimas",
- "Federated file sharing" : "Federacinis failų bendrinimas",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Bendrinti su manimi per mano #Nextcloud federacinės debesijos ID",
- "Cloud ID copied to the clipboard" : "Debesijos ID nukopijuotas į iškarpinę",
- "Copy to clipboard" : "Kopijuoti į iškarpinę",
- "Clipboard not available. Please copy the cloud ID manually." : "Iškarpinė neprieinama. Nukopijuokite debesijos ID rankiniu būdu.",
- "Copied!" : "Nukopijuota!",
- "Federated Cloud" : "Federacinė debesija",
- "Share it so your friends can share files with you:" : "Pasidalinkite juo, kad jūsų draugai galėtų bendrinti failus kartu su jumis:",
- "Facebook" : "„Facebook“",
- "Mastodon" : "„Mastodon“",
- "HTML Code:" : "HTML kodas:",
- "Cancel" : "Atsisakyti",
- "Add remote share" : "Pridėti nuotolinį viešinį",
- "Remote share" : "Nuotolinis viešinys",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Ar norite pridėti nuotolinį viešinį {name} iš {owner}@{remote}?",
- "Remote share password" : "Nuotolinio viešinio slaptažodis",
- "Clipboard is not available" : "Iškarpinė neprieinama",
- "Your Federated Cloud ID:" : "Jūsų federacinės debesijos ID:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/lv.js b/apps/federatedfilesharing/l10n/lv.js
deleted file mode 100644
index 83b34ea823f..00000000000
--- a/apps/federatedfilesharing/l10n/lv.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Vai vēlaties pievienot attālo koplietošanu {name} no {owner}@{remote}?",
- "Remote share" : "Attālinātā koplietotne",
- "Remote share password" : "Attālinātās koplietotnes parole",
- "Cancel" : "Atcelt",
- "Add remote share" : "Pievienot attālināto koplietotni",
- "Copy" : "Kopēt",
- "Copied!" : "Nokopēts!",
- "Not supported!" : "Nav atbalstīts!",
- "Press ⌘-C to copy." : "Spied ⌘-C lai kopētu.",
- "Press Ctrl-C to copy." : "Spied Ctrl-C lai kopētu.",
- "Invalid Federated Cloud ID" : "Nederīgs Federated Cloud ID",
- "Server to server sharing is not enabled on this server" : "Koplietošana no servera uz serveri, šajā serverī nav iespējota",
- "File is already shared with %s" : "Datne ir jau koplietota ar %s",
- "Could not find share" : "Nevarēja atrast koplietojumu",
- "Federated sharing" : "Federatīva koplietošana",
- "Accept" : "Akceptēt",
- "Decline" : "Noraidīt",
- "Sharing" : "Koplietošana",
- "Federated Cloud Sharing" : "Federatīva mākoņkoplietošana",
- "Open documentation" : "Atvērt dokumentāciju",
- "Allow users on this server to receive shares from other servers" : "Atļaut šī servera lietotājiem saņem koplietotnes no citiem serveriem",
- "Federated Cloud" : "Federated Cloud",
- "Your Federated Cloud ID:" : "Tavs Federated Cloud ID:",
- "Add to your website" : "Pievienojiet savai vietnei",
- "HTML Code:" : "HTML kods:",
- "Allow users on this server to send shares to other servers" : "Atļaut šī servera lietotājiem sūtīt koplietotnes uz citiem serveriem"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/federatedfilesharing/l10n/lv.json b/apps/federatedfilesharing/l10n/lv.json
deleted file mode 100644
index 1b8dd709812..00000000000
--- a/apps/federatedfilesharing/l10n/lv.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Vai vēlaties pievienot attālo koplietošanu {name} no {owner}@{remote}?",
- "Remote share" : "Attālinātā koplietotne",
- "Remote share password" : "Attālinātās koplietotnes parole",
- "Cancel" : "Atcelt",
- "Add remote share" : "Pievienot attālināto koplietotni",
- "Copy" : "Kopēt",
- "Copied!" : "Nokopēts!",
- "Not supported!" : "Nav atbalstīts!",
- "Press ⌘-C to copy." : "Spied ⌘-C lai kopētu.",
- "Press Ctrl-C to copy." : "Spied Ctrl-C lai kopētu.",
- "Invalid Federated Cloud ID" : "Nederīgs Federated Cloud ID",
- "Server to server sharing is not enabled on this server" : "Koplietošana no servera uz serveri, šajā serverī nav iespējota",
- "File is already shared with %s" : "Datne ir jau koplietota ar %s",
- "Could not find share" : "Nevarēja atrast koplietojumu",
- "Federated sharing" : "Federatīva koplietošana",
- "Accept" : "Akceptēt",
- "Decline" : "Noraidīt",
- "Sharing" : "Koplietošana",
- "Federated Cloud Sharing" : "Federatīva mākoņkoplietošana",
- "Open documentation" : "Atvērt dokumentāciju",
- "Allow users on this server to receive shares from other servers" : "Atļaut šī servera lietotājiem saņem koplietotnes no citiem serveriem",
- "Federated Cloud" : "Federated Cloud",
- "Your Federated Cloud ID:" : "Tavs Federated Cloud ID:",
- "Add to your website" : "Pievienojiet savai vietnei",
- "HTML Code:" : "HTML kods:",
- "Allow users on this server to send shares to other servers" : "Atļaut šī servera lietotājiem sūtīt koplietotnes uz citiem serveriem"
-},"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/federatedfilesharing/l10n/mk.js b/apps/federatedfilesharing/l10n/mk.js
index e037d433583..52eca14901f 100644
--- a/apps/federatedfilesharing/l10n/mk.js
+++ b/apps/federatedfilesharing/l10n/mk.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Unable to update federated files sharing config" : "Неможе да се ажурираат параметрите за федерално споделување",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Споделете со мене преку мојот Федерален Cloud ID, види {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Споделете со мене преку мојот Федерален Cloud ID",
+ "Share with me via Nextcloud" : "Сподели со мене",
"Cloud ID copied to the clipboard" : "Cloud ID е копиран во клипборд",
"Copy to clipboard" : "Копирај во клипборд",
"Copied!" : "Копирано!",
@@ -33,7 +34,6 @@ OC.L10N.register(
"Facebook" : "Facebook",
"X (formerly Twitter)" : "X (поранешен Twitter)",
"Add to your website" : "Додади на твојот веб сајт",
- "Share with me via Nextcloud" : "Сподели со мене",
"HTML Code:" : "HTML код:",
"Cancel" : "Откажи",
"Add remote share" : "Додади далечинско споделување",
diff --git a/apps/federatedfilesharing/l10n/mk.json b/apps/federatedfilesharing/l10n/mk.json
index db343d2c09a..fbad5e2d1b9 100644
--- a/apps/federatedfilesharing/l10n/mk.json
+++ b/apps/federatedfilesharing/l10n/mk.json
@@ -22,6 +22,7 @@
"Unable to update federated files sharing config" : "Неможе да се ажурираат параметрите за федерално споделување",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Споделете со мене преку мојот Федерален Cloud ID, види {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Споделете со мене преку мојот Федерален Cloud ID",
+ "Share with me via Nextcloud" : "Сподели со мене",
"Cloud ID copied to the clipboard" : "Cloud ID е копиран во клипборд",
"Copy to clipboard" : "Копирај во клипборд",
"Copied!" : "Копирано!",
@@ -31,7 +32,6 @@
"Facebook" : "Facebook",
"X (formerly Twitter)" : "X (поранешен Twitter)",
"Add to your website" : "Додади на твојот веб сајт",
- "Share with me via Nextcloud" : "Сподели со мене",
"HTML Code:" : "HTML код:",
"Cancel" : "Откажи",
"Add remote share" : "Додади далечинско споделување",
diff --git a/apps/federatedfilesharing/l10n/nb.js b/apps/federatedfilesharing/l10n/nb.js
index d7eb4d611a3..b03c98f3c06 100644
--- a/apps/federatedfilesharing/l10n/nb.js
+++ b/apps/federatedfilesharing/l10n/nb.js
@@ -33,6 +33,7 @@ OC.L10N.register(
"Allow people to publish their data to a global and public address book" : "Tillat brukere å offentliggjøre deres data til en verdensomspennende og offentlig adressebok",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Del med meg gjennom min #Nextcloud ID for sammenknyttet sky, se {url}.",
"Share with me through my #Nextcloud Federated Cloud ID" : "Del med meg gjennom min #Nextcloud-ID for sammenknyttet sky",
+ "Share with me via Nextcloud" : "Del med meg via Nextcloud",
"Cloud ID copied to the clipboard" : "Sky-ID kopiert til utklippstavlen",
"Copy to clipboard" : "Kopiert til utklippstavlen",
"Copied!" : "Kopiert!",
@@ -43,7 +44,6 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (tidligere Twitter)",
"Mastodon" : "Mastodont",
"Add to your website" : "Legg på nettsiden din",
- "Share with me via Nextcloud" : "Del med meg via Nextcloud",
"HTML Code:" : "HTML-kode:",
"Cancel" : "Avbryt",
"Add remote share" : "Legg til ekstern ressurs",
diff --git a/apps/federatedfilesharing/l10n/nb.json b/apps/federatedfilesharing/l10n/nb.json
index 7dfe000d012..1e73df41ab3 100644
--- a/apps/federatedfilesharing/l10n/nb.json
+++ b/apps/federatedfilesharing/l10n/nb.json
@@ -31,6 +31,7 @@
"Allow people to publish their data to a global and public address book" : "Tillat brukere å offentliggjøre deres data til en verdensomspennende og offentlig adressebok",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Del med meg gjennom min #Nextcloud ID for sammenknyttet sky, se {url}.",
"Share with me through my #Nextcloud Federated Cloud ID" : "Del med meg gjennom min #Nextcloud-ID for sammenknyttet sky",
+ "Share with me via Nextcloud" : "Del med meg via Nextcloud",
"Cloud ID copied to the clipboard" : "Sky-ID kopiert til utklippstavlen",
"Copy to clipboard" : "Kopiert til utklippstavlen",
"Copied!" : "Kopiert!",
@@ -41,7 +42,6 @@
"X (formerly Twitter)" : "X (tidligere Twitter)",
"Mastodon" : "Mastodont",
"Add to your website" : "Legg på nettsiden din",
- "Share with me via Nextcloud" : "Del med meg via Nextcloud",
"HTML Code:" : "HTML-kode:",
"Cancel" : "Avbryt",
"Add remote share" : "Legg til ekstern ressurs",
diff --git a/apps/federatedfilesharing/l10n/nl.js b/apps/federatedfilesharing/l10n/nl.js
index 8520f227f8b..18dbfc24661 100644
--- a/apps/federatedfilesharing/l10n/nl.js
+++ b/apps/federatedfilesharing/l10n/nl.js
@@ -23,6 +23,7 @@ OC.L10N.register(
"Federated file sharing" : "Gefedereerd delen",
"Provide federated file sharing across servers" : "Voorzien in gefedereerd delen van bestanden over verschillende servers",
"Share with me through my #Nextcloud Federated Cloud ID" : "Deel met mij via mijn #Nextcloud gefedereerde Cloud ID",
+ "Share with me via Nextcloud" : "Deel met mij via Nextcloud",
"Copy to clipboard" : "Kopiëren naar het klembord",
"Copied!" : "Gekopieerd!",
"Federated Cloud" : "Gefedereerde Cloud",
@@ -32,7 +33,6 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (voorheen Twitter)",
"Mastodon" : "Mastodon",
"Add to your website" : "Toevoegen aan je website",
- "Share with me via Nextcloud" : "Deel met mij via Nextcloud",
"HTML Code:" : "HTML Code:",
"Cancel" : "Annuleren",
"Add remote share" : "Toevoegen externe share",
diff --git a/apps/federatedfilesharing/l10n/nl.json b/apps/federatedfilesharing/l10n/nl.json
index 29a5ed17ff4..99333613152 100644
--- a/apps/federatedfilesharing/l10n/nl.json
+++ b/apps/federatedfilesharing/l10n/nl.json
@@ -21,6 +21,7 @@
"Federated file sharing" : "Gefedereerd delen",
"Provide federated file sharing across servers" : "Voorzien in gefedereerd delen van bestanden over verschillende servers",
"Share with me through my #Nextcloud Federated Cloud ID" : "Deel met mij via mijn #Nextcloud gefedereerde Cloud ID",
+ "Share with me via Nextcloud" : "Deel met mij via Nextcloud",
"Copy to clipboard" : "Kopiëren naar het klembord",
"Copied!" : "Gekopieerd!",
"Federated Cloud" : "Gefedereerde Cloud",
@@ -30,7 +31,6 @@
"X (formerly Twitter)" : "X (voorheen Twitter)",
"Mastodon" : "Mastodon",
"Add to your website" : "Toevoegen aan je website",
- "Share with me via Nextcloud" : "Deel met mij via Nextcloud",
"HTML Code:" : "HTML Code:",
"Cancel" : "Annuleren",
"Add remote share" : "Toevoegen externe share",
diff --git a/apps/federatedfilesharing/l10n/oc.js b/apps/federatedfilesharing/l10n/oc.js
deleted file mode 100644
index 5463ea1bbc5..00000000000
--- a/apps/federatedfilesharing/l10n/oc.js
+++ /dev/null
@@ -1,24 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Federated sharing" : "Federated sharing",
- "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",
- "File is already shared with %s" : "Lo fichièr 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.",
- "Accept" : "Acceptar",
- "Decline" : "Refusar",
- "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Partejatz amb ieu gràcias a mon identificant Federated Cloud #Nextcloud %s",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Partejatz amb ieu gràcias a mon identificant Federated Cloud #Nextcloud",
- "Federated Cloud Sharing" : "Federated Cloud Sharing",
- "Open documentation" : "Veire la documentacion",
- "Allow users on this server to send shares to other servers" : "Autorizar los utilizaires d'aqueste servidor a mandar de partiments cap a d'autres servidors",
- "Allow users on this server to receive shares from other servers" : "Autorizar los utilizaires d'aqueste servidor a recebre de partiments d'autres servidors",
- "Federated Cloud" : "Federated Cloud",
- "Your Federated Cloud ID:" : "Vòstre identificant Federated Cloud :",
- "Share it:" : "Partejar :",
- "Add to your website" : "Apondre a vòstre site web",
- "Share with me via Nextcloud" : "Partejatz amb ieu via Nextcloud",
- "HTML Code:" : "Còdi HTML :"
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/federatedfilesharing/l10n/oc.json b/apps/federatedfilesharing/l10n/oc.json
deleted file mode 100644
index 579a79c34e8..00000000000
--- a/apps/federatedfilesharing/l10n/oc.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{ "translations": {
- "Federated sharing" : "Federated sharing",
- "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",
- "File is already shared with %s" : "Lo fichièr 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.",
- "Accept" : "Acceptar",
- "Decline" : "Refusar",
- "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Partejatz amb ieu gràcias a mon identificant Federated Cloud #Nextcloud %s",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Partejatz amb ieu gràcias a mon identificant Federated Cloud #Nextcloud",
- "Federated Cloud Sharing" : "Federated Cloud Sharing",
- "Open documentation" : "Veire la documentacion",
- "Allow users on this server to send shares to other servers" : "Autorizar los utilizaires d'aqueste servidor a mandar de partiments cap a d'autres servidors",
- "Allow users on this server to receive shares from other servers" : "Autorizar los utilizaires d'aqueste servidor a recebre de partiments d'autres servidors",
- "Federated Cloud" : "Federated Cloud",
- "Your Federated Cloud ID:" : "Vòstre identificant Federated Cloud :",
- "Share it:" : "Partejar :",
- "Add to your website" : "Apondre a vòstre site web",
- "Share with me via Nextcloud" : "Partejatz amb ieu via Nextcloud",
- "HTML Code:" : "Còdi HTML :"
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/pl.js b/apps/federatedfilesharing/l10n/pl.js
index 65e4da152b4..36d4b09bdef 100644
--- a/apps/federatedfilesharing/l10n/pl.js
+++ b/apps/federatedfilesharing/l10n/pl.js
@@ -36,6 +36,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Automatycznie akceptuj udostępnienia z zaufanych kont federacyjnych i domyślnych grup",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Udostępnij mi poprzez mój ID #Nextcloud Chmury Federacyjnej, zobacz {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Udostępnij mi poprzez mój ID #Nextcloud Chmury Federacyjnej",
+ "Share with me via Nextcloud" : "Udostępnij mi za pomocą Nextcloud",
"Cloud ID copied to the clipboard" : "ID chmury skopiowany do schowka",
"Copy to clipboard" : "Kopiuj do schowka",
"Clipboard not available. Please copy the cloud ID manually." : "Schowek niedostępny. Skopiuj identyfikator chmury ręcznie.",
@@ -49,7 +50,6 @@ OC.L10N.register(
"formerly Twitter" : "dawny Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Dodaj do swojej strony",
- "Share with me via Nextcloud" : "Udostępnij mi za pomocą Nextcloud",
"HTML Code:" : "Kod HTML:",
"Cancel" : "Anuluj",
"Add remote share" : "Dodaj zdalne udostępnienie",
diff --git a/apps/federatedfilesharing/l10n/pl.json b/apps/federatedfilesharing/l10n/pl.json
index 4136a53d1cd..39a66435157 100644
--- a/apps/federatedfilesharing/l10n/pl.json
+++ b/apps/federatedfilesharing/l10n/pl.json
@@ -34,6 +34,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Automatycznie akceptuj udostępnienia z zaufanych kont federacyjnych i domyślnych grup",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Udostępnij mi poprzez mój ID #Nextcloud Chmury Federacyjnej, zobacz {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Udostępnij mi poprzez mój ID #Nextcloud Chmury Federacyjnej",
+ "Share with me via Nextcloud" : "Udostępnij mi za pomocą Nextcloud",
"Cloud ID copied to the clipboard" : "ID chmury skopiowany do schowka",
"Copy to clipboard" : "Kopiuj do schowka",
"Clipboard not available. Please copy the cloud ID manually." : "Schowek niedostępny. Skopiuj identyfikator chmury ręcznie.",
@@ -47,7 +48,6 @@
"formerly Twitter" : "dawny Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Dodaj do swojej strony",
- "Share with me via Nextcloud" : "Udostępnij mi za pomocą Nextcloud",
"HTML Code:" : "Kod HTML:",
"Cancel" : "Anuluj",
"Add remote share" : "Dodaj zdalne udostępnienie",
diff --git a/apps/federatedfilesharing/l10n/pt_BR.js b/apps/federatedfilesharing/l10n/pt_BR.js
index bd4133e8be5..15754c3c3e0 100644
--- a/apps/federatedfilesharing/l10n/pt_BR.js
+++ b/apps/federatedfilesharing/l10n/pt_BR.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Aceitar automaticamente compartilhamentos de contas e grupos federados confiáveis por padrão",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Compartilhe comigo por meio do meu ID de Nuvem Federada #Nextcloud, consulte {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Compartilhe comigo através do meu ID de Nuvem Federada #Nextcloud",
+ "Share with me via Nextcloud" : "Compartilhe comigo via Nextcloud",
"Cloud ID copied to the clipboard" : "ID de Nuvem copiado para a área de transferência",
"Copy to clipboard" : "Copiar para área de transferência",
"Clipboard not available. Please copy the cloud ID manually." : "Área de transferência indisponível. Copie o ID de Nuvem manualmente.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "anteriormente Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Adicione ao seu website",
- "Share with me via Nextcloud" : "Compartilhe comigo via Nextcloud",
"HTML Code:" : "Código HTML:",
"Cancel" : "Cancelar",
"Add remote share" : "Adicionar compartilhamento remoto",
diff --git a/apps/federatedfilesharing/l10n/pt_BR.json b/apps/federatedfilesharing/l10n/pt_BR.json
index 2928aa89ee1..6574ec209f2 100644
--- a/apps/federatedfilesharing/l10n/pt_BR.json
+++ b/apps/federatedfilesharing/l10n/pt_BR.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Aceitar automaticamente compartilhamentos de contas e grupos federados confiáveis por padrão",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Compartilhe comigo por meio do meu ID de Nuvem Federada #Nextcloud, consulte {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Compartilhe comigo através do meu ID de Nuvem Federada #Nextcloud",
+ "Share with me via Nextcloud" : "Compartilhe comigo via Nextcloud",
"Cloud ID copied to the clipboard" : "ID de Nuvem copiado para a área de transferência",
"Copy to clipboard" : "Copiar para área de transferência",
"Clipboard not available. Please copy the cloud ID manually." : "Área de transferência indisponível. Copie o ID de Nuvem manualmente.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "anteriormente Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Adicione ao seu website",
- "Share with me via Nextcloud" : "Compartilhe comigo via Nextcloud",
"HTML Code:" : "Código HTML:",
"Cancel" : "Cancelar",
"Add remote share" : "Adicionar compartilhamento remoto",
diff --git a/apps/federatedfilesharing/l10n/pt_PT.js b/apps/federatedfilesharing/l10n/pt_PT.js
deleted file mode 100644
index f3e4799a400..00000000000
--- a/apps/federatedfilesharing/l10n/pt_PT.js
+++ /dev/null
@@ -1,36 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "Id. de Nuvem Federada Inválida",
- "Server to server sharing is not enabled on this server" : "Partilha servidor-para-servidor não está ativa neste servidor",
- "Couldn't establish a federated share." : "Não foi possível estabelecer uma partilha federada.",
- "Couldn't establish a federated share, maybe the password was wrong." : "Não foi possível estabelecer a partilha federada, a palavra-passe talvez esteja incorreta.",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Pedido de Partilha Federada enviado, irá receber o convite. Confira as suas notificações.",
- "File is already shared with %s" : "O ficheiro já foi partilhado com %s",
- "Could not find share" : "Não foi possível encontrar partilha",
- "Federated sharing" : "Partilha Federada",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Recebeu {share} como uma partilha remota de {user} (em nome de {behalf})",
- "You received {share} as a remote share from {user}" : "Recebeu {share} como uma partilha remota de {user}",
- "Accept" : "Aceitar",
- "Decline" : "Recusar",
- "Federated Cloud Sharing" : "Partilha de Nuvem Federada",
- "Sharing" : "Partilha",
- "Federated file sharing" : "Partilha federada de ficheiros",
- "Provide federated file sharing across servers" : "Permita a partilha federada de ficheiros entre servidores",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Partilhe comigo através da minha Id. da Nuvem Federada #Nextcloud",
- "Copy to clipboard" : "Copiar para área de transferência",
- "Copied!" : "Copiado!",
- "Federated Cloud" : "Nuvem Federada",
- "Share it so your friends can share files with you:" : "Partilhe para que os seus amigos possam partilhar ficheiros consigo:",
- "Add to your website" : "Adicione ao seu site da Web",
- "Share with me via Nextcloud" : "Partilhe comigo via Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Adicionar partilha remota",
- "Remote share" : "Partilha remota",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Pretende adicionar a partilha remota {name} de {owner}@{remote}?",
- "Remote share password" : "Palavra-passe da partilha remota",
- "Your Federated Cloud ID:" : "A sua id. da Nuvem Federada:",
- "Twitter" : "Twitter"
-},
-"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/pt_PT.json b/apps/federatedfilesharing/l10n/pt_PT.json
deleted file mode 100644
index 59d430eef13..00000000000
--- a/apps/federatedfilesharing/l10n/pt_PT.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "Id. de Nuvem Federada Inválida",
- "Server to server sharing is not enabled on this server" : "Partilha servidor-para-servidor não está ativa neste servidor",
- "Couldn't establish a federated share." : "Não foi possível estabelecer uma partilha federada.",
- "Couldn't establish a federated share, maybe the password was wrong." : "Não foi possível estabelecer a partilha federada, a palavra-passe talvez esteja incorreta.",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Pedido de Partilha Federada enviado, irá receber o convite. Confira as suas notificações.",
- "File is already shared with %s" : "O ficheiro já foi partilhado com %s",
- "Could not find share" : "Não foi possível encontrar partilha",
- "Federated sharing" : "Partilha Federada",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Recebeu {share} como uma partilha remota de {user} (em nome de {behalf})",
- "You received {share} as a remote share from {user}" : "Recebeu {share} como uma partilha remota de {user}",
- "Accept" : "Aceitar",
- "Decline" : "Recusar",
- "Federated Cloud Sharing" : "Partilha de Nuvem Federada",
- "Sharing" : "Partilha",
- "Federated file sharing" : "Partilha federada de ficheiros",
- "Provide federated file sharing across servers" : "Permita a partilha federada de ficheiros entre servidores",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Partilhe comigo através da minha Id. da Nuvem Federada #Nextcloud",
- "Copy to clipboard" : "Copiar para área de transferência",
- "Copied!" : "Copiado!",
- "Federated Cloud" : "Nuvem Federada",
- "Share it so your friends can share files with you:" : "Partilhe para que os seus amigos possam partilhar ficheiros consigo:",
- "Add to your website" : "Adicione ao seu site da Web",
- "Share with me via Nextcloud" : "Partilhe comigo via Nextcloud",
- "HTML Code:" : "Código HTML:",
- "Cancel" : "Cancelar",
- "Add remote share" : "Adicionar partilha remota",
- "Remote share" : "Partilha remota",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Pretende adicionar a partilha remota {name} de {owner}@{remote}?",
- "Remote share password" : "Palavra-passe da partilha remota",
- "Your Federated Cloud ID:" : "A sua id. da Nuvem Federada:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/ro.js b/apps/federatedfilesharing/l10n/ro.js
deleted file mode 100644
index 807019a1a63..00000000000
--- a/apps/federatedfilesharing/l10n/ro.js
+++ /dev/null
@@ -1,35 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Remote share" : "Element partajat la distanță",
- "Remote share password" : "Parolă element partajat la distanță",
- "Cancel" : "Anulează",
- "Add remote share" : "Adaugă element partajat la distanță",
- "Invalid Federated Cloud ID" : "ID invalid cloud federalizat",
- "Server to server sharing is not enabled on this server" : "Partajarea server-server nu este activată pe acest server",
- "Not allowed to create a federated share with the same user" : "Nu este permisă crearea unei partajări federalizate cu acelaşi utilizator",
- "File is already shared with %s" : "Fişierul este deja partajat cu %s",
- "Could not find share" : "Nu am putut găsi partajarea",
- "Federated sharing" : "Partajare federalizată",
- "Accept" : "Accept",
- "Decline" : "Refuză",
- "Federated Cloud Sharing" : "Partajare federalizata cloud",
- "Sharing" : "Partajare",
- "Allow users on this server to receive shares from other servers" : "Permite utilizatorilor acestui server să primească partajări de la alte servere",
- "Federated Cloud" : "Cloud federalizat",
- "Your Federated Cloud ID:" : "ID Cloud federalizat:",
- "Twitter" : "Twitter",
- "Add to your website" : "Adaugă la site-ul tău Web",
- "Share with me via Nextcloud" : "Partajează cu mine via Nextcloud",
- "HTML Code:" : "Cod HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Partajează cu mine prin #Nextcloud Federated Cloud ID",
- "Copy to clipboard" : "Copiază în clipboard",
- "Copied!" : "S-a copiat!",
- "Copy" : "Copiază",
- "Not supported!" : "Nu este suportat!",
- "Press ⌘-C to copy." : "Apasă ⌘-C pentru copiere.",
- "Press Ctrl-C to copy." : "Apasă Ctrl-C pentru copiere.",
- "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Partajează cu mine prin #Nextcloud Federated Cloud ID, vezi %s",
- "Open documentation" : "Deschide documentația"
-},
-"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/federatedfilesharing/l10n/ro.json b/apps/federatedfilesharing/l10n/ro.json
deleted file mode 100644
index 26aedc841cd..00000000000
--- a/apps/federatedfilesharing/l10n/ro.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{ "translations": {
- "Remote share" : "Element partajat la distanță",
- "Remote share password" : "Parolă element partajat la distanță",
- "Cancel" : "Anulează",
- "Add remote share" : "Adaugă element partajat la distanță",
- "Invalid Federated Cloud ID" : "ID invalid cloud federalizat",
- "Server to server sharing is not enabled on this server" : "Partajarea server-server nu este activată pe acest server",
- "Not allowed to create a federated share with the same user" : "Nu este permisă crearea unei partajări federalizate cu acelaşi utilizator",
- "File is already shared with %s" : "Fişierul este deja partajat cu %s",
- "Could not find share" : "Nu am putut găsi partajarea",
- "Federated sharing" : "Partajare federalizată",
- "Accept" : "Accept",
- "Decline" : "Refuză",
- "Federated Cloud Sharing" : "Partajare federalizata cloud",
- "Sharing" : "Partajare",
- "Allow users on this server to receive shares from other servers" : "Permite utilizatorilor acestui server să primească partajări de la alte servere",
- "Federated Cloud" : "Cloud federalizat",
- "Your Federated Cloud ID:" : "ID Cloud federalizat:",
- "Twitter" : "Twitter",
- "Add to your website" : "Adaugă la site-ul tău Web",
- "Share with me via Nextcloud" : "Partajează cu mine via Nextcloud",
- "HTML Code:" : "Cod HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Partajează cu mine prin #Nextcloud Federated Cloud ID",
- "Copy to clipboard" : "Copiază în clipboard",
- "Copied!" : "S-a copiat!",
- "Copy" : "Copiază",
- "Not supported!" : "Nu este suportat!",
- "Press ⌘-C to copy." : "Apasă ⌘-C pentru copiere.",
- "Press Ctrl-C to copy." : "Apasă Ctrl-C pentru copiere.",
- "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Partajează cu mine prin #Nextcloud Federated Cloud ID, vezi %s",
- "Open documentation" : "Deschide documentația"
-},"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/federatedfilesharing/l10n/ru.js b/apps/federatedfilesharing/l10n/ru.js
index bfce345eb87..f9565c6a26f 100644
--- a/apps/federatedfilesharing/l10n/ru.js
+++ b/apps/federatedfilesharing/l10n/ru.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "По умолчанию автоматически принимать общие ресурсы от доверенных федеративных учетных записей и групп",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Поделитесь со мной через мой #Nextcloud Federated Cloud ID, см. {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Поделитесь со мной через мой #Nextcloud ID в федерации облачных хранилищ",
+ "Share with me via Nextcloud" : "Поделитесь со мной через Nextcloud",
"Cloud ID copied to the clipboard" : "Идентификатор облака скопирован в буфер обмена",
"Copy to clipboard" : "Копировать в буфер",
"Clipboard not available. Please copy the cloud ID manually." : "Буфер обмена недоступен. Пожалуйста, скопируйте cloud ID вручную.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "ранее Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Добавить к себе на сайт",
- "Share with me via Nextcloud" : "Поделитесь со мной через Nextcloud",
"HTML Code:" : "HTML код:",
"Cancel" : "Отмена",
"Add remote share" : "Добавить общий ресурс другого сервера",
diff --git a/apps/federatedfilesharing/l10n/ru.json b/apps/federatedfilesharing/l10n/ru.json
index 223164e18c6..43275fe9986 100644
--- a/apps/federatedfilesharing/l10n/ru.json
+++ b/apps/federatedfilesharing/l10n/ru.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "По умолчанию автоматически принимать общие ресурсы от доверенных федеративных учетных записей и групп",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Поделитесь со мной через мой #Nextcloud Federated Cloud ID, см. {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Поделитесь со мной через мой #Nextcloud ID в федерации облачных хранилищ",
+ "Share with me via Nextcloud" : "Поделитесь со мной через Nextcloud",
"Cloud ID copied to the clipboard" : "Идентификатор облака скопирован в буфер обмена",
"Copy to clipboard" : "Копировать в буфер",
"Clipboard not available. Please copy the cloud ID manually." : "Буфер обмена недоступен. Пожалуйста, скопируйте cloud ID вручную.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "ранее Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Добавить к себе на сайт",
- "Share with me via Nextcloud" : "Поделитесь со мной через Nextcloud",
"HTML Code:" : "HTML код:",
"Cancel" : "Отмена",
"Add remote share" : "Добавить общий ресурс другого сервера",
diff --git a/apps/federatedfilesharing/l10n/sc.js b/apps/federatedfilesharing/l10n/sc.js
index cea99328777..5627e20755b 100644
--- a/apps/federatedfilesharing/l10n/sc.js
+++ b/apps/federatedfilesharing/l10n/sc.js
@@ -22,6 +22,7 @@ OC.L10N.register(
"Federated file sharing" : "Cumpartzidura archìviu federadu",
"Provide federated file sharing across servers" : "Frunit una cumpartzidura de archìvios federados intre serbidores",
"Share with me through my #Nextcloud Federated Cloud ID" : "Cumpartzi cun megus tràmite s'ID meu de nue virtuale federada #Nextcloud Federated Cloud ID",
+ "Share with me via Nextcloud" : "Cumpartzi cun megus tràmite Nextcloud",
"Copy to clipboard" : "Còpia in is punta de billete",
"Copied!" : "Copiadu!",
"Federated Cloud" : "Nue virtuale federada",
@@ -31,7 +32,6 @@ OC.L10N.register(
"formerly Twitter" : "in antis, Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Agiunghe a su situ web tuo",
- "Share with me via Nextcloud" : "Cumpartzi cun megus tràmite Nextcloud",
"HTML Code:" : "Còdighe HTML:",
"Cancel" : "Annulla",
"Add remote share" : "Agiunghe cumpartzidura remota",
diff --git a/apps/federatedfilesharing/l10n/sc.json b/apps/federatedfilesharing/l10n/sc.json
index ae375eea100..ce8c708920d 100644
--- a/apps/federatedfilesharing/l10n/sc.json
+++ b/apps/federatedfilesharing/l10n/sc.json
@@ -20,6 +20,7 @@
"Federated file sharing" : "Cumpartzidura archìviu federadu",
"Provide federated file sharing across servers" : "Frunit una cumpartzidura de archìvios federados intre serbidores",
"Share with me through my #Nextcloud Federated Cloud ID" : "Cumpartzi cun megus tràmite s'ID meu de nue virtuale federada #Nextcloud Federated Cloud ID",
+ "Share with me via Nextcloud" : "Cumpartzi cun megus tràmite Nextcloud",
"Copy to clipboard" : "Còpia in is punta de billete",
"Copied!" : "Copiadu!",
"Federated Cloud" : "Nue virtuale federada",
@@ -29,7 +30,6 @@
"formerly Twitter" : "in antis, Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Agiunghe a su situ web tuo",
- "Share with me via Nextcloud" : "Cumpartzi cun megus tràmite Nextcloud",
"HTML Code:" : "Còdighe HTML:",
"Cancel" : "Annulla",
"Add remote share" : "Agiunghe cumpartzidura remota",
diff --git a/apps/federatedfilesharing/l10n/sk.js b/apps/federatedfilesharing/l10n/sk.js
index ac57b6c54c7..4be56153cd2 100644
--- a/apps/federatedfilesharing/l10n/sk.js
+++ b/apps/federatedfilesharing/l10n/sk.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "V predvolenom nastavení automaticky prijímať zdieľania z dôveryhodných federatívnych účtov a skupín",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Zdieľajte so mnou prostredníctvom môjho #identifikátora združeného cloudu Nextcloud, pozrite {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Sprístupnite mi obsah prostredníctvom môjho #identifikátora združeného cloudu Nextcloud",
+ "Share with me via Nextcloud" : "Sprístupnené cez Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud ID bol skopírovaný do schránky",
"Copy to clipboard" : "Skopírovať do schránky",
"Clipboard not available. Please copy the cloud ID manually." : "Schránka nie je prístupná. Prosím skopírujte cloud ID manuálne.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "predtým Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Pridať na svoju webstránku",
- "Share with me via Nextcloud" : "Sprístupnené cez Nextcloud",
"HTML Code:" : "HTML kód:",
"Cancel" : "Zrušiť",
"Add remote share" : "Pridať vzdialené úložisko",
diff --git a/apps/federatedfilesharing/l10n/sk.json b/apps/federatedfilesharing/l10n/sk.json
index 81ce60e3968..85949909ffb 100644
--- a/apps/federatedfilesharing/l10n/sk.json
+++ b/apps/federatedfilesharing/l10n/sk.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "V predvolenom nastavení automaticky prijímať zdieľania z dôveryhodných federatívnych účtov a skupín",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Zdieľajte so mnou prostredníctvom môjho #identifikátora združeného cloudu Nextcloud, pozrite {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Sprístupnite mi obsah prostredníctvom môjho #identifikátora združeného cloudu Nextcloud",
+ "Share with me via Nextcloud" : "Sprístupnené cez Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud ID bol skopírovaný do schránky",
"Copy to clipboard" : "Skopírovať do schránky",
"Clipboard not available. Please copy the cloud ID manually." : "Schránka nie je prístupná. Prosím skopírujte cloud ID manuálne.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "predtým Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Pridať na svoju webstránku",
- "Share with me via Nextcloud" : "Sprístupnené cez Nextcloud",
"HTML Code:" : "HTML kód:",
"Cancel" : "Zrušiť",
"Add remote share" : "Pridať vzdialené úložisko",
diff --git a/apps/federatedfilesharing/l10n/sl.js b/apps/federatedfilesharing/l10n/sl.js
index 73a732ed7f1..7c54ab282bc 100644
--- a/apps/federatedfilesharing/l10n/sl.js
+++ b/apps/federatedfilesharing/l10n/sl.js
@@ -33,6 +33,7 @@ OC.L10N.register(
"Allow people to publish their data to a global and public address book" : "Dovoli uporabnikom objavljanje podatkov v splošnem in javnem imeniku",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Souporaba z določilom ID #Zveznega oblaka Nextcloud ; več podrobnosti je na naslovu {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Omogoči souporabo z #Določilom ID zveznega oblaka Nextcloud",
+ "Share with me via Nextcloud" : "Omogoči souporabo z oblaka Nextcloud",
"Cloud ID copied to the clipboard" : "Določilo ID oblaka je kopirano v odložišče",
"Copy to clipboard" : "Kopiraj v odložišče",
"Copied!" : "Kopirano!",
@@ -43,7 +44,6 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (prej Twitter)",
"Mastodon" : "Mastodon",
"Add to your website" : "Dodaj na spletišče",
- "Share with me via Nextcloud" : "Omogoči souporabo z oblaka Nextcloud",
"HTML Code:" : "Koda HTML:",
"Cancel" : "Prekliči",
"Add remote share" : "Dodaj oddaljeno mesto za souporabo",
diff --git a/apps/federatedfilesharing/l10n/sl.json b/apps/federatedfilesharing/l10n/sl.json
index 13d544984f6..2daf8e8cdc0 100644
--- a/apps/federatedfilesharing/l10n/sl.json
+++ b/apps/federatedfilesharing/l10n/sl.json
@@ -31,6 +31,7 @@
"Allow people to publish their data to a global and public address book" : "Dovoli uporabnikom objavljanje podatkov v splošnem in javnem imeniku",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Souporaba z določilom ID #Zveznega oblaka Nextcloud ; več podrobnosti je na naslovu {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Omogoči souporabo z #Določilom ID zveznega oblaka Nextcloud",
+ "Share with me via Nextcloud" : "Omogoči souporabo z oblaka Nextcloud",
"Cloud ID copied to the clipboard" : "Določilo ID oblaka je kopirano v odložišče",
"Copy to clipboard" : "Kopiraj v odložišče",
"Copied!" : "Kopirano!",
@@ -41,7 +42,6 @@
"X (formerly Twitter)" : "X (prej Twitter)",
"Mastodon" : "Mastodon",
"Add to your website" : "Dodaj na spletišče",
- "Share with me via Nextcloud" : "Omogoči souporabo z oblaka Nextcloud",
"HTML Code:" : "Koda HTML:",
"Cancel" : "Prekliči",
"Add remote share" : "Dodaj oddaljeno mesto za souporabo",
diff --git a/apps/federatedfilesharing/l10n/sq.js b/apps/federatedfilesharing/l10n/sq.js
deleted file mode 100644
index 584113fc99d..00000000000
--- a/apps/federatedfilesharing/l10n/sq.js
+++ /dev/null
@@ -1,35 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Invalid Federated Cloud ID" : "ID Federated Cloud e pavlefshme",
- "Server to server sharing is not enabled on this server" : "Shpërndarja server në server nuk është e mundësuar në këtë server",
- "Couldn't establish a federated share." : "Nuk mund të vendosej një shpërndarje e federuar.",
- "Couldn't establish a federated share, maybe the password was wrong." : "Nuk mund të vendoset një shpërndarje e federuar, ndoshta fjalëkalimi ishte gabim.",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Kërkesa Ndarja Federative u dërgua, ju do të merrni një ftesë. Kontrolloni njoftimet tuaja.",
- "File is already shared with %s" : "Skedari është ndarë tashmë me %s",
- "Could not find share" : "Nuk mund të gjenim ndarjen",
- "Federated sharing" : "Ndarje e federuar",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Ju ",
- "You received {share} as a remote share from {user}" : "Ju morët {share} si një ndarje të largët nga {user}",
- "Accept" : "Pranoje",
- "Decline" : "Hidhe poshtë",
- "Federated Cloud Sharing" : "Ndarje Në Re të Federuar ",
- "Sharing" : "Ndarje",
- "Federated file sharing" : "Shpërndarja e skedarëve të federuar",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Ndani me mua përmes ID-së time për #Nextcloud Federated Cloud",
- "Copy to clipboard" : "Kopjo në dërrasë ",
- "Copied!" : "U kopjua!",
- "Federated Cloud" : "Re e Federuar",
- "Share it so your friends can share files with you:" : "Shërndajeni që miqtë tuaj mund të ndajnë skedarë me ju:",
- "Add to your website" : "Shtojeni te sajti juaj",
- "Share with me via Nextcloud" : "Ndani me mua përmes Nextcloud-it",
- "HTML Code:" : "Kod HTML:",
- "Cancel" : "Anulo",
- "Add remote share" : "Shto shpëendarje në distancë",
- "Remote share" : "Ndarje në largësi",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Doni që të shtoni ndarjen në remote {name} nga {owner}@{remote}?",
- "Remote share password" : "Fjalëkalim ndarjeje të largët",
- "Your Federated Cloud ID:" : "ID-ja juaj për Re të Federuar:",
- "Twitter" : "Twitter"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/sq.json b/apps/federatedfilesharing/l10n/sq.json
deleted file mode 100644
index c3363585b44..00000000000
--- a/apps/federatedfilesharing/l10n/sq.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{ "translations": {
- "Invalid Federated Cloud ID" : "ID Federated Cloud e pavlefshme",
- "Server to server sharing is not enabled on this server" : "Shpërndarja server në server nuk është e mundësuar në këtë server",
- "Couldn't establish a federated share." : "Nuk mund të vendosej një shpërndarje e federuar.",
- "Couldn't establish a federated share, maybe the password was wrong." : "Nuk mund të vendoset një shpërndarje e federuar, ndoshta fjalëkalimi ishte gabim.",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Kërkesa Ndarja Federative u dërgua, ju do të merrni një ftesë. Kontrolloni njoftimet tuaja.",
- "File is already shared with %s" : "Skedari është ndarë tashmë me %s",
- "Could not find share" : "Nuk mund të gjenim ndarjen",
- "Federated sharing" : "Ndarje e federuar",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Ju ",
- "You received {share} as a remote share from {user}" : "Ju morët {share} si një ndarje të largët nga {user}",
- "Accept" : "Pranoje",
- "Decline" : "Hidhe poshtë",
- "Federated Cloud Sharing" : "Ndarje Në Re të Federuar ",
- "Sharing" : "Ndarje",
- "Federated file sharing" : "Shpërndarja e skedarëve të federuar",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Ndani me mua përmes ID-së time për #Nextcloud Federated Cloud",
- "Copy to clipboard" : "Kopjo në dërrasë ",
- "Copied!" : "U kopjua!",
- "Federated Cloud" : "Re e Federuar",
- "Share it so your friends can share files with you:" : "Shërndajeni që miqtë tuaj mund të ndajnë skedarë me ju:",
- "Add to your website" : "Shtojeni te sajti juaj",
- "Share with me via Nextcloud" : "Ndani me mua përmes Nextcloud-it",
- "HTML Code:" : "Kod HTML:",
- "Cancel" : "Anulo",
- "Add remote share" : "Shto shpëendarje në distancë",
- "Remote share" : "Ndarje në largësi",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Doni që të shtoni ndarjen në remote {name} nga {owner}@{remote}?",
- "Remote share password" : "Fjalëkalim ndarjeje të largët",
- "Your Federated Cloud ID:" : "ID-ja juaj për Re të Federuar:",
- "Twitter" : "Twitter"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/sr.js b/apps/federatedfilesharing/l10n/sr.js
index 194b9a0dc57..1ebc2c5b9a0 100644
--- a/apps/federatedfilesharing/l10n/sr.js
+++ b/apps/federatedfilesharing/l10n/sr.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Аутоматско подразумевано прихватање дељења са здружених налога којима се верује и група",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Делите самном помоћу мог #Nextcloud Federated Cloud ID, погледајте {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Дели са мном преко мог #Некстклауд Здруженог облака",
+ "Share with me via Nextcloud" : "Дели са мном преко Некстклауда",
"Cloud ID copied to the clipboard" : "Cloud ID је копиран у клипборд",
"Copy to clipboard" : "Копирај у оставу",
"Clipboard not available. Please copy the cloud ID manually." : "Клипборд није доступан. Молимо вас да ручно копирате ID облака.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "бивши Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Додај на свој веб сајт",
- "Share with me via Nextcloud" : "Дели са мном преко Некстклауда",
"HTML Code:" : "ХТМЛ кôд:",
"Cancel" : "Одустани",
"Add remote share" : "Додај удаљено дељење",
diff --git a/apps/federatedfilesharing/l10n/sr.json b/apps/federatedfilesharing/l10n/sr.json
index f54fd71b288..dca77da2ec3 100644
--- a/apps/federatedfilesharing/l10n/sr.json
+++ b/apps/federatedfilesharing/l10n/sr.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Аутоматско подразумевано прихватање дељења са здружених налога којима се верује и група",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Делите самном помоћу мог #Nextcloud Federated Cloud ID, погледајте {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Дели са мном преко мог #Некстклауд Здруженог облака",
+ "Share with me via Nextcloud" : "Дели са мном преко Некстклауда",
"Cloud ID copied to the clipboard" : "Cloud ID је копиран у клипборд",
"Copy to clipboard" : "Копирај у оставу",
"Clipboard not available. Please copy the cloud ID manually." : "Клипборд није доступан. Молимо вас да ручно копирате ID облака.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "бивши Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Додај на свој веб сајт",
- "Share with me via Nextcloud" : "Дели са мном преко Некстклауда",
"HTML Code:" : "ХТМЛ кôд:",
"Cancel" : "Одустани",
"Add remote share" : "Додај удаљено дељење",
diff --git a/apps/federatedfilesharing/l10n/sr@latin.js b/apps/federatedfilesharing/l10n/sr@latin.js
deleted file mode 100644
index b06f53393e0..00000000000
--- a/apps/federatedfilesharing/l10n/sr@latin.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Allow users on this server to send shares to other servers" : "Dozvoli korisnicima na ovom serveru da šalju deljene resurse na druge servere",
- "Allow users on this server to receive shares from other servers" : "Dozvoli korisnicima na ovom serveru da primaju deljene resurse sa drugih servera"
-},
-"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@latin.json b/apps/federatedfilesharing/l10n/sr@latin.json
deleted file mode 100644
index 64463cf1ebc..00000000000
--- a/apps/federatedfilesharing/l10n/sr@latin.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "Allow users on this server to send shares to other servers" : "Dozvoli korisnicima na ovom serveru da šalju deljene resurse na druge servere",
- "Allow users on this server to receive shares from other servers" : "Dozvoli korisnicima na ovom serveru da primaju deljene resurse sa drugih servera"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/sv.js b/apps/federatedfilesharing/l10n/sv.js
index 794acbc2e2c..ebb6a7f09c4 100644
--- a/apps/federatedfilesharing/l10n/sv.js
+++ b/apps/federatedfilesharing/l10n/sv.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Acceptera automatiskt delningar från betrodda federerade konton och grupper som standard",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Dela med mig genom mitt #Nextcloud federerade moln-ID, se {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Dela med mig genom mitt #Nextcloud federerade moln-ID",
+ "Share with me via Nextcloud" : "Dela med mig via Nextcloud",
"Cloud ID copied to the clipboard" : "Moln-ID kopierades till urklippet",
"Copy to clipboard" : "Kopiera till urklipp",
"Clipboard not available. Please copy the cloud ID manually." : "Urklipp är inte tillgängligt. Kopiera moln-ID manuellt.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "tidigare Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Lägg till på din hemsida",
- "Share with me via Nextcloud" : "Dela med mig via Nextcloud",
"HTML Code:" : "HTML Kod:",
"Cancel" : "Avbryt",
"Add remote share" : "Lägg till extern delning",
diff --git a/apps/federatedfilesharing/l10n/sv.json b/apps/federatedfilesharing/l10n/sv.json
index dec90d17d1d..835f401789a 100644
--- a/apps/federatedfilesharing/l10n/sv.json
+++ b/apps/federatedfilesharing/l10n/sv.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Acceptera automatiskt delningar från betrodda federerade konton och grupper som standard",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Dela med mig genom mitt #Nextcloud federerade moln-ID, se {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Dela med mig genom mitt #Nextcloud federerade moln-ID",
+ "Share with me via Nextcloud" : "Dela med mig via Nextcloud",
"Cloud ID copied to the clipboard" : "Moln-ID kopierades till urklippet",
"Copy to clipboard" : "Kopiera till urklipp",
"Clipboard not available. Please copy the cloud ID manually." : "Urklipp är inte tillgängligt. Kopiera moln-ID manuellt.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "tidigare Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Lägg till på din hemsida",
- "Share with me via Nextcloud" : "Dela med mig via Nextcloud",
"HTML Code:" : "HTML Kod:",
"Cancel" : "Avbryt",
"Add remote share" : "Lägg till extern delning",
diff --git a/apps/federatedfilesharing/l10n/th.js b/apps/federatedfilesharing/l10n/th.js
deleted file mode 100644
index 1c9351ff6ee..00000000000
--- a/apps/federatedfilesharing/l10n/th.js
+++ /dev/null
@@ -1,35 +0,0 @@
-OC.L10N.register(
- "federatedfilesharing",
- {
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "คุณต้องการเพิ่มการแชร์ระยะไกล {name} จาก {owner}@{remote} หรือไม่?",
- "Remote share" : "การแชร์ระยะไกล",
- "Remote share password" : "รหัสผ่านการแชร์ระยะไกล",
- "Cancel" : "ยกเลิก",
- "Add remote share" : "เพิ่มการแชร์ระยะไกล",
- "Invalid Federated Cloud ID" : "ID คลาวด์ที่ติดต่อกับภายนอกไม่ถูกต้อง",
- "Server to server sharing is not enabled on this server" : "เซิร์ฟเวอร์นี้ไม่ได้เปิดใช้การแชร์จากเซิร์ฟเวอร์ไปยังเซิร์ฟเวอร์",
- "Not allowed to create a federated share with the same user" : "ไม่อนุญาตให้สร้างแชร์ที่ติดต่อกับภายนอกกับผู้ใช้เดียวกัน",
- "Federated sharing" : "การแชร์ที่ติดต่อกับภายนอก",
- "Accept" : "ยอมรับ",
- "Decline" : "ปฏิเสธ",
- "Federated Cloud Sharing" : "การแชร์บนคลาวด์ที่ติดต่อกับภายนอก",
- "Sharing" : "การแชร์",
- "Allow users on this server to receive shares from other servers" : "อนุญาตให้ผู้ใช้บนเซิร์ฟเวอร์นี้รับการแชร์จากเซิร์ฟเวอร์อื่น",
- "Federated Cloud" : "คลาวด์ที่ติดต่อกับภายนอก",
- "Your Federated Cloud ID:" : "ID คลาวด์ที่ติดต่อกับภายนอกของคุณ:",
- "Twitter" : "ทวิตเตอร์",
- "Add to your website" : "เพิ่มไปยังเว็บไซต์",
- "Share with me via Nextcloud" : "แชร์กับฉันผ่าน Nextcloud",
- "HTML Code:" : "โค้ด HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "แชร์กับฉันผ่าน ID คลาวด์ที่ติดต่อกับภายนอกของ #Nextcloud",
- "Copy to clipboard" : "คัดลอกไปยังคลิปบอร์ด",
- "Clipboard is not available" : "คลิปบอร์ดไม่พร้อมใช้งาน",
- "Copied!" : "คัดลอกแล้ว!",
- "Copy" : "คัดลอก",
- "Not supported!" : "ไม่สนับสนุน!",
- "Press ⌘-C to copy." : "กด ⌘-C เพื่อคัดลอก",
- "Press Ctrl-C to copy." : "กด Ctrl-C เพื่อคัดลอก",
- "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "แชร์กับฉันผ่าน ID คลาวด์ที่ติดต่อกับภายนอกของ #Nextcloud ดูได้ที่ %s",
- "Open documentation" : "เปิดเอกสารประกอบ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/th.json b/apps/federatedfilesharing/l10n/th.json
deleted file mode 100644
index d084782d52f..00000000000
--- a/apps/federatedfilesharing/l10n/th.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{ "translations": {
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "คุณต้องการเพิ่มการแชร์ระยะไกล {name} จาก {owner}@{remote} หรือไม่?",
- "Remote share" : "การแชร์ระยะไกล",
- "Remote share password" : "รหัสผ่านการแชร์ระยะไกล",
- "Cancel" : "ยกเลิก",
- "Add remote share" : "เพิ่มการแชร์ระยะไกล",
- "Invalid Federated Cloud ID" : "ID คลาวด์ที่ติดต่อกับภายนอกไม่ถูกต้อง",
- "Server to server sharing is not enabled on this server" : "เซิร์ฟเวอร์นี้ไม่ได้เปิดใช้การแชร์จากเซิร์ฟเวอร์ไปยังเซิร์ฟเวอร์",
- "Not allowed to create a federated share with the same user" : "ไม่อนุญาตให้สร้างแชร์ที่ติดต่อกับภายนอกกับผู้ใช้เดียวกัน",
- "Federated sharing" : "การแชร์ที่ติดต่อกับภายนอก",
- "Accept" : "ยอมรับ",
- "Decline" : "ปฏิเสธ",
- "Federated Cloud Sharing" : "การแชร์บนคลาวด์ที่ติดต่อกับภายนอก",
- "Sharing" : "การแชร์",
- "Allow users on this server to receive shares from other servers" : "อนุญาตให้ผู้ใช้บนเซิร์ฟเวอร์นี้รับการแชร์จากเซิร์ฟเวอร์อื่น",
- "Federated Cloud" : "คลาวด์ที่ติดต่อกับภายนอก",
- "Your Federated Cloud ID:" : "ID คลาวด์ที่ติดต่อกับภายนอกของคุณ:",
- "Twitter" : "ทวิตเตอร์",
- "Add to your website" : "เพิ่มไปยังเว็บไซต์",
- "Share with me via Nextcloud" : "แชร์กับฉันผ่าน Nextcloud",
- "HTML Code:" : "โค้ด HTML:",
- "Share with me through my #Nextcloud Federated Cloud ID" : "แชร์กับฉันผ่าน ID คลาวด์ที่ติดต่อกับภายนอกของ #Nextcloud",
- "Copy to clipboard" : "คัดลอกไปยังคลิปบอร์ด",
- "Clipboard is not available" : "คลิปบอร์ดไม่พร้อมใช้งาน",
- "Copied!" : "คัดลอกแล้ว!",
- "Copy" : "คัดลอก",
- "Not supported!" : "ไม่สนับสนุน!",
- "Press ⌘-C to copy." : "กด ⌘-C เพื่อคัดลอก",
- "Press Ctrl-C to copy." : "กด Ctrl-C เพื่อคัดลอก",
- "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "แชร์กับฉันผ่าน ID คลาวด์ที่ติดต่อกับภายนอกของ #Nextcloud ดูได้ที่ %s",
- "Open documentation" : "เปิดเอกสารประกอบ"
-},"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
index 7167f726042..aab50a4a5e9 100644
--- a/apps/federatedfilesharing/l10n/tr.js
+++ b/apps/federatedfilesharing/l10n/tr.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"federatedfilesharing",
{
"Invalid Federated Cloud ID" : "Birleşik bulut kimliği geçersiz",
- "Server to server sharing is not enabled on this server" : "Bu sunucuda, sunucudan sunucuya paylaşım özelliği etkin değil",
+ "Server to server sharing is not enabled on this server" : "Bu sunucuda, sunucudan sunucuya paylaşım özelliği kapalı",
"Couldn't establish a federated share." : "Birleşik bir paylaşım oluşturulamadı.",
"Couldn't establish a federated share, maybe the password was wrong." : "Birleşik bir paylaşım oluşturulamadı. Parola yanlış olabilir.",
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Birleşik paylaşım isteği gönderildi. Bir davet alacaksınız. Bildirimlerinizi denetleyin.",
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "Varsayılan olarak güvenilir birleşim hesaplarından ve gruplardan gelen paylaşımlar otomatik olarak kabul edilsin",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "#Nextcloud birleşik bulut kimliğim ile paylaş, {url} adresine bakın",
"Share with me through my #Nextcloud Federated Cloud ID" : "#Nextcloud birleşik bulut kimliğim üzerinden benimle paylaş",
+ "Share with me via Nextcloud" : "Benimle Nextcloud üzerinden paylaşın",
"Cloud ID copied to the clipboard" : "Bulut kimliği panoya kopyalandı",
"Copy to clipboard" : "Panoya kopyala",
"Clipboard not available. Please copy the cloud ID manually." : "Pano kullanılamıyor. Lütfen bulut kimliğini el ile kopyalayın.",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "eski Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Sitenize ekleyin",
- "Share with me via Nextcloud" : "Benimle Nextcloud üzerinden paylaşın",
"HTML Code:" : "HTML kodu:",
"Cancel" : "İptal",
"Add remote share" : "Uzak paylaşım ekle",
diff --git a/apps/federatedfilesharing/l10n/tr.json b/apps/federatedfilesharing/l10n/tr.json
index 8e4a208335a..f8c47cffd6e 100644
--- a/apps/federatedfilesharing/l10n/tr.json
+++ b/apps/federatedfilesharing/l10n/tr.json
@@ -1,6 +1,6 @@
{ "translations": {
"Invalid Federated Cloud ID" : "Birleşik bulut kimliği geçersiz",
- "Server to server sharing is not enabled on this server" : "Bu sunucuda, sunucudan sunucuya paylaşım özelliği etkin değil",
+ "Server to server sharing is not enabled on this server" : "Bu sunucuda, sunucudan sunucuya paylaşım özelliği kapalı",
"Couldn't establish a federated share." : "Birleşik bir paylaşım oluşturulamadı.",
"Couldn't establish a federated share, maybe the password was wrong." : "Birleşik bir paylaşım oluşturulamadı. Parola yanlış olabilir.",
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Birleşik paylaşım isteği gönderildi. Bir davet alacaksınız. Bildirimlerinizi denetleyin.",
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "Varsayılan olarak güvenilir birleşim hesaplarından ve gruplardan gelen paylaşımlar otomatik olarak kabul edilsin",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "#Nextcloud birleşik bulut kimliğim ile paylaş, {url} adresine bakın",
"Share with me through my #Nextcloud Federated Cloud ID" : "#Nextcloud birleşik bulut kimliğim üzerinden benimle paylaş",
+ "Share with me via Nextcloud" : "Benimle Nextcloud üzerinden paylaşın",
"Cloud ID copied to the clipboard" : "Bulut kimliği panoya kopyalandı",
"Copy to clipboard" : "Panoya kopyala",
"Clipboard not available. Please copy the cloud ID manually." : "Pano kullanılamıyor. Lütfen bulut kimliğini el ile kopyalayın.",
@@ -57,7 +58,6 @@
"formerly Twitter" : "eski Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "Sitenize ekleyin",
- "Share with me via Nextcloud" : "Benimle Nextcloud üzerinden paylaşın",
"HTML Code:" : "HTML kodu:",
"Cancel" : "İptal",
"Add remote share" : "Uzak paylaşım ekle",
diff --git a/apps/federatedfilesharing/l10n/ug.js b/apps/federatedfilesharing/l10n/ug.js
index c182a6c9f9e..453ede753cb 100644
--- a/apps/federatedfilesharing/l10n/ug.js
+++ b/apps/federatedfilesharing/l10n/ug.js
@@ -32,6 +32,7 @@ OC.L10N.register(
"Allow people to publish their data to a global and public address book" : "كىشىلەرنىڭ سانلىق مەلۇماتلىرىنى دۇنياۋى ۋە ئاممىۋى ئادرېس دەپتىرىگە ئېلان قىلىشىغا يول قويۇڭ",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "#Nextcloud فېدېراتسىيە بۇلۇت كىملىكىم ئارقىلىق مەن بىلەن ئورتاقلىشىڭ ، {url} see نى كۆرۈڭ",
"Share with me through my #Nextcloud Federated Cloud ID" : "مېنىڭ # كېيىنكى بۇلۇت فېدېراتسىيە بۇلۇت كىملىكىم ئارقىلىق مەن بىلەن ئورتاقلىشىڭ",
+ "Share with me via Nextcloud" : "Nextcloud ئارقىلىق مەن بىلەن ئورتاقلىشىڭ",
"Cloud ID copied to the clipboard" : "بۇلۇت كىملىكى چاپلاش تاختىسىغا كۆچۈرۈلدى",
"Copy to clipboard" : "چاپلاش تاختىسىغا كۆچۈرۈڭ",
"Clipboard not available. Please copy the cloud ID manually." : "چاپلاش تاختىسى يوق. بۇلۇت كىملىكىنى قولدا كۆچۈرۈڭ.",
@@ -45,7 +46,6 @@ OC.L10N.register(
"formerly Twitter" : "ئىلگىرى Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "تور بېتىڭىزگە قوشۇڭ",
- "Share with me via Nextcloud" : "Nextcloud ئارقىلىق مەن بىلەن ئورتاقلىشىڭ",
"HTML Code:" : "HTML كودى:",
"Cancel" : "ۋاز كەچ",
"Add remote share" : "يىراقتىن ئورتاقلىشىش",
diff --git a/apps/federatedfilesharing/l10n/ug.json b/apps/federatedfilesharing/l10n/ug.json
index b63a8b25fdb..aa74fb54d81 100644
--- a/apps/federatedfilesharing/l10n/ug.json
+++ b/apps/federatedfilesharing/l10n/ug.json
@@ -30,6 +30,7 @@
"Allow people to publish their data to a global and public address book" : "كىشىلەرنىڭ سانلىق مەلۇماتلىرىنى دۇنياۋى ۋە ئاممىۋى ئادرېس دەپتىرىگە ئېلان قىلىشىغا يول قويۇڭ",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "#Nextcloud فېدېراتسىيە بۇلۇت كىملىكىم ئارقىلىق مەن بىلەن ئورتاقلىشىڭ ، {url} see نى كۆرۈڭ",
"Share with me through my #Nextcloud Federated Cloud ID" : "مېنىڭ # كېيىنكى بۇلۇت فېدېراتسىيە بۇلۇت كىملىكىم ئارقىلىق مەن بىلەن ئورتاقلىشىڭ",
+ "Share with me via Nextcloud" : "Nextcloud ئارقىلىق مەن بىلەن ئورتاقلىشىڭ",
"Cloud ID copied to the clipboard" : "بۇلۇت كىملىكى چاپلاش تاختىسىغا كۆچۈرۈلدى",
"Copy to clipboard" : "چاپلاش تاختىسىغا كۆچۈرۈڭ",
"Clipboard not available. Please copy the cloud ID manually." : "چاپلاش تاختىسى يوق. بۇلۇت كىملىكىنى قولدا كۆچۈرۈڭ.",
@@ -43,7 +44,6 @@
"formerly Twitter" : "ئىلگىرى Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "تور بېتىڭىزگە قوشۇڭ",
- "Share with me via Nextcloud" : "Nextcloud ئارقىلىق مەن بىلەن ئورتاقلىشىڭ",
"HTML Code:" : "HTML كودى:",
"Cancel" : "ۋاز كەچ",
"Add remote share" : "يىراقتىن ئورتاقلىشىش",
diff --git a/apps/federatedfilesharing/l10n/uk.js b/apps/federatedfilesharing/l10n/uk.js
index 7007190a2c6..c3eaf2a63a4 100644
--- a/apps/federatedfilesharing/l10n/uk.js
+++ b/apps/federatedfilesharing/l10n/uk.js
@@ -33,6 +33,7 @@ OC.L10N.register(
"Allow people to publish their data to a global and public address book" : "Дозволити користувачам розміщувати власні дані у глобальній публічній адресній книзі",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Поділіться зі мною через мій #Nextcloud Federated Cloud ID, див. {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Поділіться зі мною через мій #Nextcloud Federated Cloud ID",
+ "Share with me via Nextcloud" : "Поділися зі мною через Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud ID скопійовано в буфер обміну",
"Copy to clipboard" : "Копіювати до буферу обміну",
"Copied!" : "Скопійовано!",
@@ -42,7 +43,6 @@ OC.L10N.register(
"Facebook" : "Facebook",
"X (formerly Twitter)" : "X (раніше відома як Twitter)",
"Add to your website" : "Додати на ваш вебсайт",
- "Share with me via Nextcloud" : "Поділися зі мною через Nextcloud",
"HTML Code:" : "Код HTML:",
"Cancel" : "Скасувати",
"Add remote share" : "Додати віддалений каталог",
diff --git a/apps/federatedfilesharing/l10n/uk.json b/apps/federatedfilesharing/l10n/uk.json
index 583a1a0ef77..ddbca33da82 100644
--- a/apps/federatedfilesharing/l10n/uk.json
+++ b/apps/federatedfilesharing/l10n/uk.json
@@ -31,6 +31,7 @@
"Allow people to publish their data to a global and public address book" : "Дозволити користувачам розміщувати власні дані у глобальній публічній адресній книзі",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Поділіться зі мною через мій #Nextcloud Federated Cloud ID, див. {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "Поділіться зі мною через мій #Nextcloud Federated Cloud ID",
+ "Share with me via Nextcloud" : "Поділися зі мною через Nextcloud",
"Cloud ID copied to the clipboard" : "Cloud ID скопійовано в буфер обміну",
"Copy to clipboard" : "Копіювати до буферу обміну",
"Copied!" : "Скопійовано!",
@@ -40,7 +41,6 @@
"Facebook" : "Facebook",
"X (formerly Twitter)" : "X (раніше відома як Twitter)",
"Add to your website" : "Додати на ваш вебсайт",
- "Share with me via Nextcloud" : "Поділися зі мною через Nextcloud",
"HTML Code:" : "Код HTML:",
"Cancel" : "Скасувати",
"Add remote share" : "Додати віддалений каталог",
diff --git a/apps/federatedfilesharing/l10n/zh_CN.js b/apps/federatedfilesharing/l10n/zh_CN.js
index 2fda88eee2a..fdc39266e6c 100644
--- a/apps/federatedfilesharing/l10n/zh_CN.js
+++ b/apps/federatedfilesharing/l10n/zh_CN.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "默认自动接受来自受信任的联合账号和群组的共享",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "通过我的 #Nextcloud 联合云 ID 与我分享文件,链接 {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "通过我的 #Nextcloud 联合云 ID 与我共享",
+ "Share with me via Nextcloud" : "通过联合云与我共享",
"Cloud ID copied to the clipboard" : "云端 ID 已复制至剪切板",
"Copy to clipboard" : "复制到剪贴板",
"Clipboard not available. Please copy the cloud ID manually." : "剪贴板不可用,请手动复制云 ID。",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "原 Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "添加到您的网站",
- "Share with me via Nextcloud" : "通过联合云与我共享",
"HTML Code:" : "HTML 代码:",
"Cancel" : "取消",
"Add remote share" : "添加远程共享",
diff --git a/apps/federatedfilesharing/l10n/zh_CN.json b/apps/federatedfilesharing/l10n/zh_CN.json
index 7cbf878a897..437d83e46db 100644
--- a/apps/federatedfilesharing/l10n/zh_CN.json
+++ b/apps/federatedfilesharing/l10n/zh_CN.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "默认自动接受来自受信任的联合账号和群组的共享",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "通过我的 #Nextcloud 联合云 ID 与我分享文件,链接 {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "通过我的 #Nextcloud 联合云 ID 与我共享",
+ "Share with me via Nextcloud" : "通过联合云与我共享",
"Cloud ID copied to the clipboard" : "云端 ID 已复制至剪切板",
"Copy to clipboard" : "复制到剪贴板",
"Clipboard not available. Please copy the cloud ID manually." : "剪贴板不可用,请手动复制云 ID。",
@@ -57,7 +58,6 @@
"formerly Twitter" : "原 Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "添加到您的网站",
- "Share with me via Nextcloud" : "通过联合云与我共享",
"HTML Code:" : "HTML 代码:",
"Cancel" : "取消",
"Add remote share" : "添加远程共享",
diff --git a/apps/federatedfilesharing/l10n/zh_HK.js b/apps/federatedfilesharing/l10n/zh_HK.js
index f67ca71d04d..82a15b05bd2 100644
--- a/apps/federatedfilesharing/l10n/zh_HK.js
+++ b/apps/federatedfilesharing/l10n/zh_HK.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "默認自動接受來自可信聯邦帳戶和組的分享。",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "可透過我的 #Nextcloud 聯盟雲端 ID 與我分享,請見 {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "可透過我的 #Nextcloud 聯盟雲端 ID 與我分享",
+ "Share with me via Nextcloud" : "透過 Nextcloud 與我分享",
"Cloud ID copied to the clipboard" : "已複製 Cloud ID 至剪貼板",
"Copy to clipboard" : "複製到剪貼板",
"Clipboard not available. Please copy the cloud ID manually." : "剪貼板不可用。請人手複製 cloud ID。",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "前身為 Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "新增至您的網站",
- "Share with me via Nextcloud" : "透過 Nextcloud 與我分享",
"HTML Code:" : "HTML 代碼:",
"Cancel" : "取消",
"Add remote share" : "添加遠端分享",
diff --git a/apps/federatedfilesharing/l10n/zh_HK.json b/apps/federatedfilesharing/l10n/zh_HK.json
index b74c2d5f9e7..37269a529a3 100644
--- a/apps/federatedfilesharing/l10n/zh_HK.json
+++ b/apps/federatedfilesharing/l10n/zh_HK.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "默認自動接受來自可信聯邦帳戶和組的分享。",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "可透過我的 #Nextcloud 聯盟雲端 ID 與我分享,請見 {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "可透過我的 #Nextcloud 聯盟雲端 ID 與我分享",
+ "Share with me via Nextcloud" : "透過 Nextcloud 與我分享",
"Cloud ID copied to the clipboard" : "已複製 Cloud ID 至剪貼板",
"Copy to clipboard" : "複製到剪貼板",
"Clipboard not available. Please copy the cloud ID manually." : "剪貼板不可用。請人手複製 cloud ID。",
@@ -57,7 +58,6 @@
"formerly Twitter" : "前身為 Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "新增至您的網站",
- "Share with me via Nextcloud" : "透過 Nextcloud 與我分享",
"HTML Code:" : "HTML 代碼:",
"Cancel" : "取消",
"Add remote share" : "添加遠端分享",
diff --git a/apps/federatedfilesharing/l10n/zh_TW.js b/apps/federatedfilesharing/l10n/zh_TW.js
index 37b9da52c45..8bd83454a64 100644
--- a/apps/federatedfilesharing/l10n/zh_TW.js
+++ b/apps/federatedfilesharing/l10n/zh_TW.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Automatically accept shares from trusted federated accounts and groups by default" : "預設自動接受來自受信任的聯邦帳號與群組的分享",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "透過我的 #Nextcloud 聯邦雲端 ID 與我分享,請見 {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "透過我的 #Nextcloud 聯邦雲端 ID 與我分享",
+ "Share with me via Nextcloud" : "透過 Nextcloud 與我分享",
"Cloud ID copied to the clipboard" : "雲端 ID 已複製到剪貼簿",
"Copy to clipboard" : "複製到剪貼簿",
"Clipboard not available. Please copy the cloud ID manually." : "無法使用剪貼簿。請手動複製雲端 ID。",
@@ -59,7 +60,6 @@ OC.L10N.register(
"formerly Twitter" : "前身為 Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "新增至您的網站",
- "Share with me via Nextcloud" : "透過 Nextcloud 與我分享",
"HTML Code:" : "HTML 程式碼:",
"Cancel" : "取消",
"Add remote share" : "新增遠端分享",
diff --git a/apps/federatedfilesharing/l10n/zh_TW.json b/apps/federatedfilesharing/l10n/zh_TW.json
index ca1cb49efb1..24ec8d34df4 100644
--- a/apps/federatedfilesharing/l10n/zh_TW.json
+++ b/apps/federatedfilesharing/l10n/zh_TW.json
@@ -44,6 +44,7 @@
"Automatically accept shares from trusted federated accounts and groups by default" : "預設自動接受來自受信任的聯邦帳號與群組的分享",
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "透過我的 #Nextcloud 聯邦雲端 ID 與我分享,請見 {url}",
"Share with me through my #Nextcloud Federated Cloud ID" : "透過我的 #Nextcloud 聯邦雲端 ID 與我分享",
+ "Share with me via Nextcloud" : "透過 Nextcloud 與我分享",
"Cloud ID copied to the clipboard" : "雲端 ID 已複製到剪貼簿",
"Copy to clipboard" : "複製到剪貼簿",
"Clipboard not available. Please copy the cloud ID manually." : "無法使用剪貼簿。請手動複製雲端 ID。",
@@ -57,7 +58,6 @@
"formerly Twitter" : "前身為 Twitter",
"Mastodon" : "Mastodon",
"Add to your website" : "新增至您的網站",
- "Share with me via Nextcloud" : "透過 Nextcloud 與我分享",
"HTML Code:" : "HTML 程式碼:",
"Cancel" : "取消",
"Add remote share" : "新增遠端分享",
diff --git a/apps/federation/l10n/hu.js b/apps/federation/l10n/hu.js
index 66a52658118..953cd963196 100644
--- a/apps/federation/l10n/hu.js
+++ b/apps/federation/l10n/hu.js
@@ -2,14 +2,18 @@ OC.L10N.register(
"federation",
{
"Added to the list of trusted servers" : "Hozzáadva a megbízható kiszolgálók listájához",
+ "No server found with ID: %s" : "Nem található kiszolgáló az azonosítóval: %s",
+ "Could not remove server" : "Nem sikerült a kiszolgáló eltávolítása",
"Server is already in the list of trusted servers." : "A kiszolgáló már szerepel a megbízható kiszolgálók között.",
"No server to federate with found" : "Nem található olyan kiszolgáló, amellyel föderálni lehetne",
"Could not add server" : "A kiszolgáló nem adható hozzá",
"Trusted servers" : "Megbízható kiszolgálók",
"Federation" : "Föderáció",
"Federation allows you to connect with other trusted servers to exchange the account directory." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók fiókjegyzéket cserélhessenek.",
- "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók fiókjegyzéket cseréljenek. Például ennek segítségével lesznek automatikusan kiegészítve a külső fióókok a föderált megosztásnál.",
+ "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók fiókjegyzéket cseréljenek. Például ennek segítségével lesznek automatikusan kiegészítve a külső fiókok a föderált megosztásnál.",
+ "External documentation for Federated Cloud Sharing" : "Külső dokumentáció a föderált felhőmegosztáshoz",
"Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók fiókjegyzéket cseréljenek. Például ennek segítségével lesznek automatikusan kiegészítve a külső fiókok a föderált megosztásnál. Nem szükséges egy kiszolgálót megbízhatóként hozzáadni ahhoz, hogy föderált megosztást hozzon létre.",
+ "Each server must validate the other. This process may require a few cron cycles." : "Minden kiszolgálónak ellenőriznie kell a másikat. Ez a folyat néhány cron ciklust vehet igénybe.",
"+ Add trusted server" : "+ Megbízható kiszolgáló hozzáadása",
"Trusted server" : "Megbízható kiszolgáló",
"Add" : "Hozzáadás"
diff --git a/apps/federation/l10n/hu.json b/apps/federation/l10n/hu.json
index 642ebe28217..d10201e424c 100644
--- a/apps/federation/l10n/hu.json
+++ b/apps/federation/l10n/hu.json
@@ -1,13 +1,17 @@
{ "translations": {
"Added to the list of trusted servers" : "Hozzáadva a megbízható kiszolgálók listájához",
+ "No server found with ID: %s" : "Nem található kiszolgáló az azonosítóval: %s",
+ "Could not remove server" : "Nem sikerült a kiszolgáló eltávolítása",
"Server is already in the list of trusted servers." : "A kiszolgáló már szerepel a megbízható kiszolgálók között.",
"No server to federate with found" : "Nem található olyan kiszolgáló, amellyel föderálni lehetne",
"Could not add server" : "A kiszolgáló nem adható hozzá",
"Trusted servers" : "Megbízható kiszolgálók",
"Federation" : "Föderáció",
"Federation allows you to connect with other trusted servers to exchange the account directory." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók fiókjegyzéket cserélhessenek.",
- "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók fiókjegyzéket cseréljenek. Például ennek segítségével lesznek automatikusan kiegészítve a külső fióókok a föderált megosztásnál.",
+ "Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók fiókjegyzéket cseréljenek. Például ennek segítségével lesznek automatikusan kiegészítve a külső fiókok a föderált megosztásnál.",
+ "External documentation for Federated Cloud Sharing" : "Külső dokumentáció a föderált felhőmegosztáshoz",
"Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "A föderáció lehetővé teszi a más megbízható kiszolgálókhoz kapcsolódást, hogy a kiszolgálók fiókjegyzéket cseréljenek. Például ennek segítségével lesznek automatikusan kiegészítve a külső fiókok a föderált megosztásnál. Nem szükséges egy kiszolgálót megbízhatóként hozzáadni ahhoz, hogy föderált megosztást hozzon létre.",
+ "Each server must validate the other. This process may require a few cron cycles." : "Minden kiszolgálónak ellenőriznie kell a másikat. Ez a folyat néhány cron ciklust vehet igénybe.",
"+ Add trusted server" : "+ Megbízható kiszolgáló hozzáadása",
"Trusted server" : "Megbízható kiszolgáló",
"Add" : "Hozzáadás"
diff --git a/apps/federation/l10n/lb.js b/apps/federation/l10n/lb.js
deleted file mode 100644
index df0f6d5d07a..00000000000
--- a/apps/federation/l10n/lb.js
+++ /dev/null
@@ -1,15 +0,0 @@
-OC.L10N.register(
- "federation",
- {
- "Server added to the list of trusted ownClouds" : "De Server gouf op d'Lëscht vun den zouverlässegen ownClouds gesat.",
- "Server is already in the list of trusted servers." : "De Server ass schonn op der Lëscht vun den zouverlässegen Serveren.",
- "No ownCloud server found" : "Keen ownCloud Server fonnt",
- "Could not add server" : "De Server konnt net derbäi gesat ginn",
- "Federation" : "Federatioun",
- "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." : "D'ownCloud Federatioun erlaabt der fir dech mat aneren zouverlässegen ownClouds ze verbannen an d'Benotzer Verzeechnes auszetauschen. Zum Beispill gëtt dëst hei benotzt fir extern Benotzer automatesch fir federatiivt Deelen ze vervollstännegen.",
- "Add server automatically once a federated share was created successfully" : "Setz de Server automatesch derbäi soubal e federativen Undeel erfollegräich erstallt gouf",
- "Trusted ownCloud Servers" : "Zouverlässeg ownCloud Serveren",
- "+ Add ownCloud server" : "+ ownCloud Server derbäi setzen",
- "ownCloud Server" : "ownCloud Server"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/lb.json b/apps/federation/l10n/lb.json
deleted file mode 100644
index 03179a4b8ee..00000000000
--- a/apps/federation/l10n/lb.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{ "translations": {
- "Server added to the list of trusted ownClouds" : "De Server gouf op d'Lëscht vun den zouverlässegen ownClouds gesat.",
- "Server is already in the list of trusted servers." : "De Server ass schonn op der Lëscht vun den zouverlässegen Serveren.",
- "No ownCloud server found" : "Keen ownCloud Server fonnt",
- "Could not add server" : "De Server konnt net derbäi gesat ginn",
- "Federation" : "Federatioun",
- "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." : "D'ownCloud Federatioun erlaabt der fir dech mat aneren zouverlässegen ownClouds ze verbannen an d'Benotzer Verzeechnes auszetauschen. Zum Beispill gëtt dëst hei benotzt fir extern Benotzer automatesch fir federatiivt Deelen ze vervollstännegen.",
- "Add server automatically once a federated share was created successfully" : "Setz de Server automatesch derbäi soubal e federativen Undeel erfollegräich erstallt gouf",
- "Trusted ownCloud Servers" : "Zouverlässeg ownCloud Serveren",
- "+ Add ownCloud server" : "+ ownCloud Server derbäi setzen",
- "ownCloud Server" : "ownCloud Server"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/federation/l10n/oc.js b/apps/federation/l10n/oc.js
deleted file mode 100644
index d65cc9bdef8..00000000000
--- a/apps/federation/l10n/oc.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "federation",
- {
- "No ownCloud server found" : "Cap de servidor ownCloud pas trobat",
- "Could not add server" : "Impossible d'apondre un servidor",
- "Federation" : "Federacion",
- "ownCloud Server" : "Servidor ownCloud"
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/federation/l10n/oc.json b/apps/federation/l10n/oc.json
deleted file mode 100644
index 809a86fcaa8..00000000000
--- a/apps/federation/l10n/oc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "No ownCloud server found" : "Cap de servidor ownCloud pas trobat",
- "Could not add server" : "Impossible d'apondre un servidor",
- "Federation" : "Federacion",
- "ownCloud Server" : "Servidor ownCloud"
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/federation/l10n/ro.js b/apps/federation/l10n/ro.js
deleted file mode 100644
index 19f37f329a1..00000000000
--- a/apps/federation/l10n/ro.js
+++ /dev/null
@@ -1,15 +0,0 @@
-OC.L10N.register(
- "federation",
- {
- "Server added to the list of trusted ownClouds" : "Server adăugat la lista serverelor ownCloud de încredere",
- "Server is already in the list of trusted servers." : "Serverul este deja pe lista celor de încredere.",
- "No ownCloud server found" : "Nu s-a găsit niciun server ownCloud",
- "Could not add server" : "Nu s-a putut adăuga serverul",
- "Federation" : "Federare",
- "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." : "Federarea ownCloud îți permite să te conectezi la alte servere ownCloud de încredere pentru a partaja baza de utilizatori. De exemplu, va permite completarea automată a numelor utilizatorilor externi pentru partajarea federată.",
- "Add server automatically once a federated share was created successfully" : "Adaugă serverul automat odată ce elementul partajat federat a fost creat cu succes",
- "Trusted ownCloud Servers" : "Servere ownCloud de încredere",
- "+ Add ownCloud server" : "+ Adaugă server ownCloud",
- "ownCloud Server" : "Server ownCloud"
-},
-"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/federation/l10n/ro.json b/apps/federation/l10n/ro.json
deleted file mode 100644
index 0acb4ebd962..00000000000
--- a/apps/federation/l10n/ro.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{ "translations": {
- "Server added to the list of trusted ownClouds" : "Server adăugat la lista serverelor ownCloud de încredere",
- "Server is already in the list of trusted servers." : "Serverul este deja pe lista celor de încredere.",
- "No ownCloud server found" : "Nu s-a găsit niciun server ownCloud",
- "Could not add server" : "Nu s-a putut adăuga serverul",
- "Federation" : "Federare",
- "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." : "Federarea ownCloud îți permite să te conectezi la alte servere ownCloud de încredere pentru a partaja baza de utilizatori. De exemplu, va permite completarea automată a numelor utilizatorilor externi pentru partajarea federată.",
- "Add server automatically once a federated share was created successfully" : "Adaugă serverul automat odată ce elementul partajat federat a fost creat cu succes",
- "Trusted ownCloud Servers" : "Servere ownCloud de încredere",
- "+ Add ownCloud server" : "+ Adaugă server ownCloud",
- "ownCloud Server" : "Server ownCloud"
-},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
-} \ No newline at end of file
diff --git a/apps/files/l10n/ach.js b/apps/files/l10n/ach.js
deleted file mode 100644
index c50be1aa479..00000000000
--- a/apps/files/l10n/ach.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/files/l10n/ach.json b/apps/files/l10n/ach.json
deleted file mode 100644
index 210ac153bab..00000000000
--- a/apps/files/l10n/ach.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/ady.js b/apps/files/l10n/ady.js
deleted file mode 100644
index 7988332fa91..00000000000
--- a/apps/files/l10n/ady.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ady.json b/apps/files/l10n/ady.json
deleted file mode 100644
index ef5fc586755..00000000000
--- a/apps/files/l10n/ady.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/af.js b/apps/files/l10n/af.js
deleted file mode 100644
index 9cbe77b5dd7..00000000000
--- a/apps/files/l10n/af.js
+++ /dev/null
@@ -1,137 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "Lêer kon nie gevind word nie",
- "Move or copy" : "Kopieer of skuif",
- "Download" : "Laai af",
- "Delete" : "Skrap",
- "Tags" : "Merkers",
- "Home" : "Tuis",
- "Close" : "Sluit",
- "Favorites" : "Gunstelinge",
- "Could not create folder \"{dir}\"" : "Kan nie vouer “{dir}” skep nie",
- "This will stop your current uploads." : "Dit sal u huidige oplaaie stop.",
- "Upload cancelled." : "Oplaai gekanselleer.",
- "Processing files …" : "Verwerk tans lêers …",
- "…" : "…",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Kan nie {filename} oplaai nie aangesien dit óf 'n gids is óf 0 grepe groot is",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nie genoeg oop spasie nie, u laai {size1} op maar slegs {size2} is oor",
- "Target folder \"{dir}\" does not exist any more" : "Teikengids \"{dir}\" bestaan nie meer nie",
- "Not enough free space" : "Nie genoeg oop spasie nie",
- "An unknown error has occurred" : "’n Onbekende fout het voorgekom",
- "Uploading …" : "Laai tans op …",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} van {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "Teikengids bestaan nie meer nie",
- "Actions" : "Aksies",
- "Rename" : "Hernoem",
- "Move" : "Skuif",
- "Copy" : "Kopieer",
- "Choose target folder" : "Kies teikenvouer",
- "Open" : "Open",
- "Delete file" : "Skrap lêer",
- "Delete folder" : "Skrap vouer",
- "Disconnect storage" : "Ontkoppel berging",
- "Could not load info for file \"{file}\"" : "Kon nie inligting vir lêer: “{file}” laai nie ",
- "Files" : "Lêers",
- "Details" : "Besonderhede",
- "Pending" : "Hangend",
- "Unable to determine date" : "Kan nie datum bepaal nie",
- "This operation is forbidden" : "Die operasie is verbode",
- "This directory is unavailable, please check the logs or contact the administrator" : "Hierdie gids is onbeskikbaar, gaan die logs na of kontak die administrateur",
- "Storage is temporarily not available" : "Berging is tydelik onbeskikbaar",
- "Could not move \"{file}\", target exists" : "Kon nie \"{file}\" skuif nie, teiken bestaan",
- "Could not move \"{file}\"" : "Kon nie \"{file}\" skuif nie",
- "copy" : "kopie",
- "Could not copy \"{file}\", target exists" : "Kon nie \"{file}\" kopieer nie, teiken bestaan",
- "Could not copy \"{file}\"" : "Kon nie \"{file}\" kopieer nie",
- "Copied {origin} inside {destination}" : "{origin} binne {destination} gekopieer",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} en {nbfiles} ander lêers binne {destination} gekopieer",
- "{newName} already exists" : "{newName} bestaan reeds",
- "Could not rename \"{fileName}\", it does not exist any more" : "Kon nie “{fileName}” hernoem nie, dit bestaan nie meer nie",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Die naam “{targetName}” word reeds in vouer “{dir}” gebruik. Kies asb. ’n ander naam.",
- "Could not rename \"{fileName}\"" : "Kon nie “{file}” hernoem nie",
- "Could not create file \"{file}\"" : "Kan nie lêer “{file}” skep nie",
- "Could not create file \"{file}\" because it already exists" : "Kon nie lêer “{file}” skep nie omdat dit reeds bestaan",
- "Could not create folder \"{dir}\" because it already exists" : "Kon nie vouer “{dir}” skep nie omdat dit reeds bestaan",
- "Name" : "Naam",
- "Size" : "Grootte",
- "Modified" : "Gewysig",
- "_%n folder_::_%n folders_" : ["%n gids","%n gidse"],
- "_%n file_::_%n files_" : ["%n lêer","%n lêers"],
- "{dirs} and {files}" : "{dirs} en {files}",
- "_including %n hidden_::_including %n hidden_" : ["insluitend %n verborge","insluitende %n verborge"],
- "_Uploading %n file_::_Uploading %n files_" : ["Laai tans %n lêer op ","Laai tans %n lêers op"],
- "{used} of {quota} used" : "{used} van {quota} gebruik",
- "{used} used" : "{used} gebruik",
- "\"{name}\" is an invalid file name." : "\"{name}\" is nie 'n geldige lêer naam nie.",
- "File name cannot be empty." : "Lêernaam kan nie leeg wees nie.",
- "\"/\" is not allowed inside a file name." : "\"/\" word nie binne 'n lêernaam toegelaat nie.",
- "View in folder" : "Vertoon in gids",
- "Path" : "Roete",
- "_%n byte_::_%n bytes_" : ["%n greep","%n grepe"],
- "Favorited" : "As gunsteling ",
- "Favorite" : "Gunsteling",
- "New folder" : "Nuwe gids",
- "Create new folder" : "Skep nuwe gids",
- "Upload file" : "Laai lêer op",
- "Recent" : "Onlangs",
- "Not favorited" : "Nie as gunsteling",
- "Remove from favorites" : "Verwyder uit gunstelinge",
- "Add to favorites" : "Voeg by gunstelinge",
- "An error occurred while trying to update the tags" : "'n Fout het voorgekom terwyl die merkers opgedateer word",
- "Added to favorites" : "Tot gunstelinge bygevoeg",
- "Removed from favorites" : "Uit gunstelinge verwyder",
- "You added {file} to your favorites" : "U het {file} tot u gunstelinge bygevoeg",
- "You removed {file} from your favorites" : "U het {file} uit u gunstelinge verwyder",
- "File changes" : "Lêer veranderinge ",
- "Created by {user}" : "Geskep deur {user}",
- "Changed by {user}" : "Verander deur {user}",
- "Deleted by {user}" : "Geskrap deur {user}",
- "Restored by {user}" : "Herstel deur {user}",
- "Renamed by {user}" : "Naam verander deur {user}",
- "Moved by {user}" : "Geskuif deur {user}",
- "\"remote user\"" : "“afstandsgebruiker”",
- "You created {file}" : "U het {file} geskep",
- "{user} created {file}" : "{user} het {file} geskep",
- "{file} was created in a public folder" : "{file} is in 'n publieke gids geskep",
- "You changed {file}" : "U het {file} verander",
- "{user} changed {file}" : "{user} het {file} verander",
- "You deleted {file}" : "U het {file} geskrap",
- "{user} deleted {file}" : "{user} het {file} geskrap",
- "You restored {file}" : "U het {file} herstel",
- "{user} restored {file}" : "{user} het {file} herstel",
- "You renamed {oldfile} to {newfile}" : "U het die naam van {oldfile} na {newfile} verander",
- "{user} renamed {oldfile} to {newfile}" : "{user} het die naam van {oldfile} na {newfile} verander",
- "You moved {oldfile} to {newfile}" : "U het {oldfile} na {newfile} geskuif",
- "{user} moved {oldfile} to {newfile}" : "{user} het {oldfile} na {newfile} geskuif",
- "All files" : "Alle lêers",
- "Upload (max. %s)" : "Oplaai (maks. %s)",
- "Accept" : "Aanvaar",
- "in %s" : "in %s",
- "File Management" : "Lêerbestuur",
- "Select all" : "Merk alles",
- "Unknown error" : "Onbekende fout",
- "No files in here" : "Geen lêers hierbinne nie",
- "Go back" : "Gaan terug",
- "Show hidden files" : "Vertoon verborge lêers ",
- "WebDAV" : "WebDAV",
- "Create" : "Skep",
- "Delete permanently" : "Skrap permanent",
- "Upload some content or sync with your devices!" : "Laai 'n paar lêers op of sinchroniseer met u toestelle",
- "No entries found in this folder" : "Geen inskrwyings in hierdie gids gevind",
- "Upload too large" : "Oplaai te groot",
- "No favorites yet" : "Tans geen gunstelinge ",
- "Files and folders you mark as favorite will show up here" : "Lêers en gidse wat u as gunsteling merk sal hier vertoon word",
- "Shared with others" : "Gedeel met ander",
- "Shared with you" : "Met u gedeel",
- "Shared by link" : "Gedeel per skakel",
- "Text file" : "Tekslêer",
- "New text file.txt" : "Nuwe tekslêer.txt",
- "Storage invalid" : "Berging ongeldig",
- "Unlimited" : "Onbeperkte",
- "Cancel" : "Kanselleer",
- "%s used" : "%s gebruik",
- "%1$s of %2$s used" : "%1$s van %2$s gebruik",
- "Deleted files" : "Geskrapte lêers"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/af.json b/apps/files/l10n/af.json
deleted file mode 100644
index ca70c4b5b6a..00000000000
--- a/apps/files/l10n/af.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{ "translations": {
- "File could not be found" : "Lêer kon nie gevind word nie",
- "Move or copy" : "Kopieer of skuif",
- "Download" : "Laai af",
- "Delete" : "Skrap",
- "Tags" : "Merkers",
- "Home" : "Tuis",
- "Close" : "Sluit",
- "Favorites" : "Gunstelinge",
- "Could not create folder \"{dir}\"" : "Kan nie vouer “{dir}” skep nie",
- "This will stop your current uploads." : "Dit sal u huidige oplaaie stop.",
- "Upload cancelled." : "Oplaai gekanselleer.",
- "Processing files …" : "Verwerk tans lêers …",
- "…" : "…",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Kan nie {filename} oplaai nie aangesien dit óf 'n gids is óf 0 grepe groot is",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nie genoeg oop spasie nie, u laai {size1} op maar slegs {size2} is oor",
- "Target folder \"{dir}\" does not exist any more" : "Teikengids \"{dir}\" bestaan nie meer nie",
- "Not enough free space" : "Nie genoeg oop spasie nie",
- "An unknown error has occurred" : "’n Onbekende fout het voorgekom",
- "Uploading …" : "Laai tans op …",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} van {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "Teikengids bestaan nie meer nie",
- "Actions" : "Aksies",
- "Rename" : "Hernoem",
- "Move" : "Skuif",
- "Copy" : "Kopieer",
- "Choose target folder" : "Kies teikenvouer",
- "Open" : "Open",
- "Delete file" : "Skrap lêer",
- "Delete folder" : "Skrap vouer",
- "Disconnect storage" : "Ontkoppel berging",
- "Could not load info for file \"{file}\"" : "Kon nie inligting vir lêer: “{file}” laai nie ",
- "Files" : "Lêers",
- "Details" : "Besonderhede",
- "Pending" : "Hangend",
- "Unable to determine date" : "Kan nie datum bepaal nie",
- "This operation is forbidden" : "Die operasie is verbode",
- "This directory is unavailable, please check the logs or contact the administrator" : "Hierdie gids is onbeskikbaar, gaan die logs na of kontak die administrateur",
- "Storage is temporarily not available" : "Berging is tydelik onbeskikbaar",
- "Could not move \"{file}\", target exists" : "Kon nie \"{file}\" skuif nie, teiken bestaan",
- "Could not move \"{file}\"" : "Kon nie \"{file}\" skuif nie",
- "copy" : "kopie",
- "Could not copy \"{file}\", target exists" : "Kon nie \"{file}\" kopieer nie, teiken bestaan",
- "Could not copy \"{file}\"" : "Kon nie \"{file}\" kopieer nie",
- "Copied {origin} inside {destination}" : "{origin} binne {destination} gekopieer",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} en {nbfiles} ander lêers binne {destination} gekopieer",
- "{newName} already exists" : "{newName} bestaan reeds",
- "Could not rename \"{fileName}\", it does not exist any more" : "Kon nie “{fileName}” hernoem nie, dit bestaan nie meer nie",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Die naam “{targetName}” word reeds in vouer “{dir}” gebruik. Kies asb. ’n ander naam.",
- "Could not rename \"{fileName}\"" : "Kon nie “{file}” hernoem nie",
- "Could not create file \"{file}\"" : "Kan nie lêer “{file}” skep nie",
- "Could not create file \"{file}\" because it already exists" : "Kon nie lêer “{file}” skep nie omdat dit reeds bestaan",
- "Could not create folder \"{dir}\" because it already exists" : "Kon nie vouer “{dir}” skep nie omdat dit reeds bestaan",
- "Name" : "Naam",
- "Size" : "Grootte",
- "Modified" : "Gewysig",
- "_%n folder_::_%n folders_" : ["%n gids","%n gidse"],
- "_%n file_::_%n files_" : ["%n lêer","%n lêers"],
- "{dirs} and {files}" : "{dirs} en {files}",
- "_including %n hidden_::_including %n hidden_" : ["insluitend %n verborge","insluitende %n verborge"],
- "_Uploading %n file_::_Uploading %n files_" : ["Laai tans %n lêer op ","Laai tans %n lêers op"],
- "{used} of {quota} used" : "{used} van {quota} gebruik",
- "{used} used" : "{used} gebruik",
- "\"{name}\" is an invalid file name." : "\"{name}\" is nie 'n geldige lêer naam nie.",
- "File name cannot be empty." : "Lêernaam kan nie leeg wees nie.",
- "\"/\" is not allowed inside a file name." : "\"/\" word nie binne 'n lêernaam toegelaat nie.",
- "View in folder" : "Vertoon in gids",
- "Path" : "Roete",
- "_%n byte_::_%n bytes_" : ["%n greep","%n grepe"],
- "Favorited" : "As gunsteling ",
- "Favorite" : "Gunsteling",
- "New folder" : "Nuwe gids",
- "Create new folder" : "Skep nuwe gids",
- "Upload file" : "Laai lêer op",
- "Recent" : "Onlangs",
- "Not favorited" : "Nie as gunsteling",
- "Remove from favorites" : "Verwyder uit gunstelinge",
- "Add to favorites" : "Voeg by gunstelinge",
- "An error occurred while trying to update the tags" : "'n Fout het voorgekom terwyl die merkers opgedateer word",
- "Added to favorites" : "Tot gunstelinge bygevoeg",
- "Removed from favorites" : "Uit gunstelinge verwyder",
- "You added {file} to your favorites" : "U het {file} tot u gunstelinge bygevoeg",
- "You removed {file} from your favorites" : "U het {file} uit u gunstelinge verwyder",
- "File changes" : "Lêer veranderinge ",
- "Created by {user}" : "Geskep deur {user}",
- "Changed by {user}" : "Verander deur {user}",
- "Deleted by {user}" : "Geskrap deur {user}",
- "Restored by {user}" : "Herstel deur {user}",
- "Renamed by {user}" : "Naam verander deur {user}",
- "Moved by {user}" : "Geskuif deur {user}",
- "\"remote user\"" : "“afstandsgebruiker”",
- "You created {file}" : "U het {file} geskep",
- "{user} created {file}" : "{user} het {file} geskep",
- "{file} was created in a public folder" : "{file} is in 'n publieke gids geskep",
- "You changed {file}" : "U het {file} verander",
- "{user} changed {file}" : "{user} het {file} verander",
- "You deleted {file}" : "U het {file} geskrap",
- "{user} deleted {file}" : "{user} het {file} geskrap",
- "You restored {file}" : "U het {file} herstel",
- "{user} restored {file}" : "{user} het {file} herstel",
- "You renamed {oldfile} to {newfile}" : "U het die naam van {oldfile} na {newfile} verander",
- "{user} renamed {oldfile} to {newfile}" : "{user} het die naam van {oldfile} na {newfile} verander",
- "You moved {oldfile} to {newfile}" : "U het {oldfile} na {newfile} geskuif",
- "{user} moved {oldfile} to {newfile}" : "{user} het {oldfile} na {newfile} geskuif",
- "All files" : "Alle lêers",
- "Upload (max. %s)" : "Oplaai (maks. %s)",
- "Accept" : "Aanvaar",
- "in %s" : "in %s",
- "File Management" : "Lêerbestuur",
- "Select all" : "Merk alles",
- "Unknown error" : "Onbekende fout",
- "No files in here" : "Geen lêers hierbinne nie",
- "Go back" : "Gaan terug",
- "Show hidden files" : "Vertoon verborge lêers ",
- "WebDAV" : "WebDAV",
- "Create" : "Skep",
- "Delete permanently" : "Skrap permanent",
- "Upload some content or sync with your devices!" : "Laai 'n paar lêers op of sinchroniseer met u toestelle",
- "No entries found in this folder" : "Geen inskrwyings in hierdie gids gevind",
- "Upload too large" : "Oplaai te groot",
- "No favorites yet" : "Tans geen gunstelinge ",
- "Files and folders you mark as favorite will show up here" : "Lêers en gidse wat u as gunsteling merk sal hier vertoon word",
- "Shared with others" : "Gedeel met ander",
- "Shared with you" : "Met u gedeel",
- "Shared by link" : "Gedeel per skakel",
- "Text file" : "Tekslêer",
- "New text file.txt" : "Nuwe tekslêer.txt",
- "Storage invalid" : "Berging ongeldig",
- "Unlimited" : "Onbeperkte",
- "Cancel" : "Kanselleer",
- "%s used" : "%s gebruik",
- "%1$s of %2$s used" : "%1$s van %2$s gebruik",
- "Deleted files" : "Geskrapte lêers"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/ak.js b/apps/files/l10n/ak.js
deleted file mode 100644
index 971a3489878..00000000000
--- a/apps/files/l10n/ak.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},
-"nplurals=2; plural=n > 1;");
diff --git a/apps/files/l10n/ak.json b/apps/files/l10n/ak.json
deleted file mode 100644
index 321985e508d..00000000000
--- a/apps/files/l10n/ak.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=n > 1;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/am_ET.js b/apps/files/l10n/am_ET.js
deleted file mode 100644
index 7988332fa91..00000000000
--- a/apps/files/l10n/am_ET.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/am_ET.json b/apps/files/l10n/am_ET.json
deleted file mode 100644
index ef5fc586755..00000000000
--- a/apps/files/l10n/am_ET.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/ar.js b/apps/files/l10n/ar.js
index 9e07d6834d5..ffd13adc0d5 100644
--- a/apps/files/l10n/ar.js
+++ b/apps/files/l10n/ar.js
@@ -224,6 +224,7 @@ OC.L10N.register(
"Show those shortcuts" : "أعرُض تلك الاختصارات",
"You" : "أنت",
"Shared multiple times with different people" : "تمّت مشاركته عدة مرات مع أشخاص متعددين",
+ "Unable to change the favorite state of the file" : "تعذّر تغيير حالة المُفضَّلة للملف",
"Error while loading the file data" : "خطأ اثناء تحميل بيانات الملف",
"Owner" : "المالك",
"Remove from favorites" : "إزالة من المفضلة",
@@ -264,8 +265,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["أنت على وشك أن تحذف {count} عنصراً","أنت على وشك أن تحذف {count} عنصراً","أنت على وشك أن تحذف {count} عنصراً","أنت على وشك أن تحذف {count} عناصر","أنت على وشك أن تحذف {count} عناصر","أنت على وشك أن تحذف {count} عنصراً"],
"Confirm deletion" : "تأكيد الحذف",
"Cancel" : "إلغاء",
+ "Download" : "تنزيل",
"Moving \"{source}\" to \"{destination}\" …" : "نقل \"{source}\" إلى \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "نسخ \"{source}\" إلى \"{destination}\" …",
+ "Destination is not a folder" : "الوجهة ليست مجلد",
+ "This file/folder is already in that directory" : "هذا الملف/المجلد موجود سلفاً في ذلك المجلد",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "لا يمكنك نقل ملف/مجلد إلى نفسه أو إلى مجلد فرعي منه",
"(copy)" : "(نسخ)",
"(copy %n)" : "(نسخ %n)",
@@ -327,6 +331,9 @@ OC.L10N.register(
"Files moved successfully" : "تمّ نقل الملفات بنجاح",
"Conflicts resolution skipped" : "تمّ تخطّي حلّ التعارضات",
"Upload cancelled" : "تمّ إلغاء الرفع",
+ "Could not rename \"{oldName}\", it does not exist any more" : "تعذر إعادة تسمية \"{oldName}\"، لم يعد موجودًا",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "الاسم \"{newName}\" مستعمل سلفاً في المجلد\"{dir}\". إختر اسماً آخر رجاءً.",
+ "Could not rename \"{oldName}\"" : "تعذرت إعادة تسمية \"{oldName}\"",
"This operation is forbidden" : "هذه العملية ممنوعة ",
"This directory is unavailable, please check the logs or contact the administrator" : "هذا المجلد غير متوفر، الرجاء مراجعة سجل الحركات أو الاتصال بمشرف النظام",
"Storage is temporarily not available" : "وحدة التخزين غير متوفرة",
@@ -357,7 +364,6 @@ OC.L10N.register(
"Upload too large" : "حجم الرفع أعلى من المسموح",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "حجم الملفات التي تريد رفعها أعلى من المسموح على الخادم.",
"File could not be found" : "لم يتم العثور على الملف",
- "Download" : "تنزيل",
"Show list view" : "اظهر معاينات الروابط",
"Show grid view" : "عرض شبكي",
"Close" : "إغلاق",
@@ -396,9 +402,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "تم نسخ {origin} داخل {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "تم نسخ {origin} و {nbfiles} ملفات اخرى داخل {destination}",
"{newName} already exists" : "{newName} موجود مسبقاً",
- "Could not rename \"{oldName}\", it does not exist any more" : "تعذر إعادة تسمية \"{oldName}\"، لم يعد موجودًا",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "الاسم \"{newName}\" مستعمل سلفاً في المجلد\"{dir}\". إختر اسماً آخر رجاءً.",
- "Could not rename \"{oldName}\"" : "تعذرت إعادة تسمية \"{oldName}\"",
"Could not create file \"{file}\"" : "لا يمكن إنشاء الملف\"{file}\"",
"Could not create file \"{file}\" because it already exists" : "فشل إنشاء الملف \"{file}\" فهو موجود بالفعل",
"Could not create folder \"{dir}\" because it already exists" : "فشل إنشاء المجلد \"{dir}\" فهو موجود بالفعل",
@@ -449,8 +452,6 @@ OC.L10N.register(
"Text file" : "ملف نصي",
"New text file.txt" : "ملف نصي جديد fille.txt",
"renamed file" : "ملف معاد تسميته",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "بعد تمكين أسماء الملفات المتوافقة مع نظام التشغيل Windows، لا يمكن تعديل الملفات الموجودة بعد الآن ولكن يمكن إعادة تسميتها إلى أسماء جديدة صالحة بواسطة مالكها.",
- "{count} files could not be converted" : "{count} ملفات تعذّر تحويلها",
- "{count} files successfully converted" : "{count} ملف تمّ تحويلها بنجاحٍ"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "بعد تمكين أسماء الملفات المتوافقة مع نظام التشغيل Windows، لا يمكن تعديل الملفات الموجودة بعد الآن ولكن يمكن إعادة تسميتها إلى أسماء جديدة صالحة بواسطة مالكها."
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
diff --git a/apps/files/l10n/ar.json b/apps/files/l10n/ar.json
index 7f6d05e9ecc..19dc6eaad41 100644
--- a/apps/files/l10n/ar.json
+++ b/apps/files/l10n/ar.json
@@ -222,6 +222,7 @@
"Show those shortcuts" : "أعرُض تلك الاختصارات",
"You" : "أنت",
"Shared multiple times with different people" : "تمّت مشاركته عدة مرات مع أشخاص متعددين",
+ "Unable to change the favorite state of the file" : "تعذّر تغيير حالة المُفضَّلة للملف",
"Error while loading the file data" : "خطأ اثناء تحميل بيانات الملف",
"Owner" : "المالك",
"Remove from favorites" : "إزالة من المفضلة",
@@ -262,8 +263,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["أنت على وشك أن تحذف {count} عنصراً","أنت على وشك أن تحذف {count} عنصراً","أنت على وشك أن تحذف {count} عنصراً","أنت على وشك أن تحذف {count} عناصر","أنت على وشك أن تحذف {count} عناصر","أنت على وشك أن تحذف {count} عنصراً"],
"Confirm deletion" : "تأكيد الحذف",
"Cancel" : "إلغاء",
+ "Download" : "تنزيل",
"Moving \"{source}\" to \"{destination}\" …" : "نقل \"{source}\" إلى \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "نسخ \"{source}\" إلى \"{destination}\" …",
+ "Destination is not a folder" : "الوجهة ليست مجلد",
+ "This file/folder is already in that directory" : "هذا الملف/المجلد موجود سلفاً في ذلك المجلد",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "لا يمكنك نقل ملف/مجلد إلى نفسه أو إلى مجلد فرعي منه",
"(copy)" : "(نسخ)",
"(copy %n)" : "(نسخ %n)",
@@ -325,6 +329,9 @@
"Files moved successfully" : "تمّ نقل الملفات بنجاح",
"Conflicts resolution skipped" : "تمّ تخطّي حلّ التعارضات",
"Upload cancelled" : "تمّ إلغاء الرفع",
+ "Could not rename \"{oldName}\", it does not exist any more" : "تعذر إعادة تسمية \"{oldName}\"، لم يعد موجودًا",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "الاسم \"{newName}\" مستعمل سلفاً في المجلد\"{dir}\". إختر اسماً آخر رجاءً.",
+ "Could not rename \"{oldName}\"" : "تعذرت إعادة تسمية \"{oldName}\"",
"This operation is forbidden" : "هذه العملية ممنوعة ",
"This directory is unavailable, please check the logs or contact the administrator" : "هذا المجلد غير متوفر، الرجاء مراجعة سجل الحركات أو الاتصال بمشرف النظام",
"Storage is temporarily not available" : "وحدة التخزين غير متوفرة",
@@ -355,7 +362,6 @@
"Upload too large" : "حجم الرفع أعلى من المسموح",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "حجم الملفات التي تريد رفعها أعلى من المسموح على الخادم.",
"File could not be found" : "لم يتم العثور على الملف",
- "Download" : "تنزيل",
"Show list view" : "اظهر معاينات الروابط",
"Show grid view" : "عرض شبكي",
"Close" : "إغلاق",
@@ -394,9 +400,6 @@
"Copied {origin} inside {destination}" : "تم نسخ {origin} داخل {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "تم نسخ {origin} و {nbfiles} ملفات اخرى داخل {destination}",
"{newName} already exists" : "{newName} موجود مسبقاً",
- "Could not rename \"{oldName}\", it does not exist any more" : "تعذر إعادة تسمية \"{oldName}\"، لم يعد موجودًا",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "الاسم \"{newName}\" مستعمل سلفاً في المجلد\"{dir}\". إختر اسماً آخر رجاءً.",
- "Could not rename \"{oldName}\"" : "تعذرت إعادة تسمية \"{oldName}\"",
"Could not create file \"{file}\"" : "لا يمكن إنشاء الملف\"{file}\"",
"Could not create file \"{file}\" because it already exists" : "فشل إنشاء الملف \"{file}\" فهو موجود بالفعل",
"Could not create folder \"{dir}\" because it already exists" : "فشل إنشاء المجلد \"{dir}\" فهو موجود بالفعل",
@@ -447,8 +450,6 @@
"Text file" : "ملف نصي",
"New text file.txt" : "ملف نصي جديد fille.txt",
"renamed file" : "ملف معاد تسميته",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "بعد تمكين أسماء الملفات المتوافقة مع نظام التشغيل Windows، لا يمكن تعديل الملفات الموجودة بعد الآن ولكن يمكن إعادة تسميتها إلى أسماء جديدة صالحة بواسطة مالكها.",
- "{count} files could not be converted" : "{count} ملفات تعذّر تحويلها",
- "{count} files successfully converted" : "{count} ملف تمّ تحويلها بنجاحٍ"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "بعد تمكين أسماء الملفات المتوافقة مع نظام التشغيل Windows، لا يمكن تعديل الملفات الموجودة بعد الآن ولكن يمكن إعادة تسميتها إلى أسماء جديدة صالحة بواسطة مالكها."
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
} \ No newline at end of file
diff --git a/apps/files/l10n/ast.js b/apps/files/l10n/ast.js
index 0c2b59275d9..3d323bc8cf9 100644
--- a/apps/files/l10n/ast.js
+++ b/apps/files/l10n/ast.js
@@ -178,6 +178,9 @@ OC.L10N.register(
"Delete" : "Desaniciar",
"Confirm deletion" : "Confirmar el desaniciu",
"Cancel" : "Encaboxar",
+ "Download" : "Baxar",
+ "Destination is not a folder" : "El destín nun ye una carpeta",
+ "This file/folder is already in that directory" : "Esti ficheru o esta carpeta yá ta nel direutoriu",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Nun pues mover un ficheru/carpeta a sigo mesma o la mesma socarpeta de la mesma carpeta",
"(copy)" : "(copia)",
"(copy %n)" : "(copia %n)",
@@ -226,6 +229,9 @@ OC.L10N.register(
"Files moved successfully" : "Los ficheros copiáronse correutamente",
"Conflicts resolution skipped" : "Saltóse la resolución de conflictos",
"Upload cancelled" : "Encaboxóse la busca",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nun se pue renomar «{oldName}». Yá nun esiste",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nome «{newName}» yá ta n'usu na carpeta «{dir}». Escueyi otru nome.",
+ "Could not rename \"{oldName}\"" : "Nun se pudo renomar «{oldName}»",
"This operation is forbidden" : "Esta operación ta prohibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Esti direutoriu nun ta disponible, revisa'l rexistru o ponte en contautu cola alministración.",
"Storage is temporarily not available" : "L'almacenamientu nun ta disponible temporalmente",
@@ -249,7 +255,6 @@ OC.L10N.register(
"Upload too large" : "La xuba ye mui grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los ficheros que tentes de xubir superen el tamañu máximu qu'esti sirvidor permite.",
"File could not be found" : "Nun se pudo atopar el ficheru",
- "Download" : "Baxar",
"Show list view" : "Amosar la vista en llista",
"Show grid view" : "Amosar la vista en rexáu",
"Close" : "Zarrar",
@@ -288,9 +293,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Copióse «{origin}» dientro de: {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copióse «{origin}» y {nbfiles} ficheros más dientro de: {destination}",
"{newName} already exists" : "«{newName}» xá esiste",
- "Could not rename \"{oldName}\", it does not exist any more" : "Nun se pue renomar «{oldName}». Yá nun esiste",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nome «{newName}» yá ta n'usu na carpeta «{dir}». Escueyi otru nome.",
- "Could not rename \"{oldName}\"" : "Nun se pudo renomar «{oldName}»",
"Could not create file \"{file}\"" : "Nun se pudo crear el ficheru «{file}»",
"Could not create file \"{file}\" because it already exists" : "Nun se pudo crear el ficheru «{file}» porque yá esiste",
"Could not create folder \"{dir}\" because it already exists" : "Nun se pudo crear la carpeta «{dir}» porque yá esiste",
diff --git a/apps/files/l10n/ast.json b/apps/files/l10n/ast.json
index 1760951a205..1d456c10637 100644
--- a/apps/files/l10n/ast.json
+++ b/apps/files/l10n/ast.json
@@ -176,6 +176,9 @@
"Delete" : "Desaniciar",
"Confirm deletion" : "Confirmar el desaniciu",
"Cancel" : "Encaboxar",
+ "Download" : "Baxar",
+ "Destination is not a folder" : "El destín nun ye una carpeta",
+ "This file/folder is already in that directory" : "Esti ficheru o esta carpeta yá ta nel direutoriu",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Nun pues mover un ficheru/carpeta a sigo mesma o la mesma socarpeta de la mesma carpeta",
"(copy)" : "(copia)",
"(copy %n)" : "(copia %n)",
@@ -224,6 +227,9 @@
"Files moved successfully" : "Los ficheros copiáronse correutamente",
"Conflicts resolution skipped" : "Saltóse la resolución de conflictos",
"Upload cancelled" : "Encaboxóse la busca",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nun se pue renomar «{oldName}». Yá nun esiste",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nome «{newName}» yá ta n'usu na carpeta «{dir}». Escueyi otru nome.",
+ "Could not rename \"{oldName}\"" : "Nun se pudo renomar «{oldName}»",
"This operation is forbidden" : "Esta operación ta prohibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Esti direutoriu nun ta disponible, revisa'l rexistru o ponte en contautu cola alministración.",
"Storage is temporarily not available" : "L'almacenamientu nun ta disponible temporalmente",
@@ -247,7 +253,6 @@
"Upload too large" : "La xuba ye mui grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los ficheros que tentes de xubir superen el tamañu máximu qu'esti sirvidor permite.",
"File could not be found" : "Nun se pudo atopar el ficheru",
- "Download" : "Baxar",
"Show list view" : "Amosar la vista en llista",
"Show grid view" : "Amosar la vista en rexáu",
"Close" : "Zarrar",
@@ -286,9 +291,6 @@
"Copied {origin} inside {destination}" : "Copióse «{origin}» dientro de: {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copióse «{origin}» y {nbfiles} ficheros más dientro de: {destination}",
"{newName} already exists" : "«{newName}» xá esiste",
- "Could not rename \"{oldName}\", it does not exist any more" : "Nun se pue renomar «{oldName}». Yá nun esiste",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nome «{newName}» yá ta n'usu na carpeta «{dir}». Escueyi otru nome.",
- "Could not rename \"{oldName}\"" : "Nun se pudo renomar «{oldName}»",
"Could not create file \"{file}\"" : "Nun se pudo crear el ficheru «{file}»",
"Could not create file \"{file}\" because it already exists" : "Nun se pudo crear el ficheru «{file}» porque yá esiste",
"Could not create folder \"{dir}\" because it already exists" : "Nun se pudo crear la carpeta «{dir}» porque yá esiste",
diff --git a/apps/files/l10n/az.js b/apps/files/l10n/az.js
deleted file mode 100644
index 7cce658e6c9..00000000000
--- a/apps/files/l10n/az.js
+++ /dev/null
@@ -1,104 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "Storage not available" : "İnformasiya daşıyıcısı mövcud deyil",
- "Storage invalid" : "İnformasiya daşıyıcısı yalnışdır",
- "Unknown error" : "Bəlli olmayan səhv baş verdi",
- "Unable to set upload directory." : "Əlavələr qovluğunu təyin etmək mümkün olmadı.",
- "Invalid Token" : "Yalnış token",
- "No file was uploaded. Unknown error" : "Heç bir fayl uüklənilmədi. Naməlum səhv",
- "There is no error, the file uploaded with success" : "Səhv yoxdur, fayl uğurla yüklənildi.",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Yüklənilən faylin həcmi php.ini config faylinin upload_max_filesize direktivində göstəriləndən çoxdur.",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Yüklənilən faylın həcmi HTML formasinda olan MAX_FILE_SIZE direktivində təyin dilmiş həcmi aşır.",
- "The uploaded file was only partially uploaded" : "Yüklənilən faylın yalnız bir hissəsi yüklənildi",
- "No file was uploaded" : "Heç bir fayl yüklənilmədi",
- "Missing a temporary folder" : "Müvəqqəti qovluq çatışmır",
- "Failed to write to disk" : "Sərt diskə yazmaq mümkün olmadı",
- "Not enough storage available" : "Tələb edilən qədər yer yoxdur.",
- "The target folder has been moved or deleted." : "Mənsəbdə olan qovluqun ünvanı dəyişib yada silinib.",
- "Upload failed. Could not find uploaded file" : "Yüklənmədə səhv oldu. Yüklənmiş faylı tapmaq olmur.",
- "Upload failed. Could not get file info." : "Yüklənmədə səhv oldu. Faylın informasiyasını almaq mümkün olmadı.",
- "Invalid directory." : "Yalnış qovluq.",
- "Files" : "Fayllar",
- "All files" : "Bütün fayllar",
- "Home" : "Ev",
- "Close" : "Bağla",
- "Favorites" : "Sevimlilər",
- "Upload cancelled." : "Yüklənmə dayandırıldı.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Yükləmək olmur {filename} ona görə ki, ya qovluqdur yada ki, həcmi 0 baytdır ",
- "Total file size {size1} exceeds upload limit {size2}" : "Ümumi fayl həcmi {size1} yüklənmə limiti {size2} -ni aşır",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Kifayət qədər boş yer yoxdur, siz yükləyirsiniz {size1} ancaq {size2} var. ",
- "Could not get result from server." : "Nəticəni serverdən almaq mümkün olmur.",
- "Uploading..." : "Serverə yüklənir...",
- "File upload is in progress. Leaving the page now will cancel the upload." : "Faylın yüklənməsi gedir. Əgər səhifəni indi tərk etsəniz yüklənmə dayanacaq.",
- "Actions" : "İşlər",
- "Download" : "Yüklə",
- "Rename" : "Adı dəyiş",
- "Delete" : "Sil",
- "Disconnect storage" : "Daşıyıcını ayır",
- "Unshare" : "Paylaşımı durdur",
- "Details" : "Detallar",
- "Select" : "Seç",
- "Pending" : "Gözləmə",
- "Unable to determine date" : "Tarixi təyin etmək mümkün olmadı",
- "This operation is forbidden" : "Bu əməliyyat qadağandır",
- "This directory is unavailable, please check the logs or contact the administrator" : "Bu qovluq tapılmir. Xahiş olunur jurnalları yoxlayın ya da inzibatçı ilə əlaqə saxlayın",
- "No entries in this folder match '{filter}'" : "Bu qovluqda '{filter}' uyğunluğunda heç bir verilən tapılmadı",
- "Name" : "Ad",
- "Size" : "Həcm",
- "Modified" : "Dəyişdirildi",
- "_%n folder_::_%n folders_" : ["%n qovluq","%n qovluqlar"],
- "_%n file_::_%n files_" : ["%n fayllar","%n fayllar"],
- "{dirs} and {files}" : "{dirs} və {files}",
- "You don’t have permission to upload or create files here" : "Sizin burda yükləməyə və ya fayl yaratmağa yetkiniz yoxdur ",
- "_Uploading %n file_::_Uploading %n files_" : ["%n fayllar yüklənilir","%n fayllar yüklənilir"],
- "New" : "Yeni",
- "\"{name}\" is an invalid file name." : "\"{name}\" yalnış fayl adıdır.",
- "File name cannot be empty." : "Faylın adı boş ola bilməz.",
- "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} məlumat anbarı doludur, fayllar artıq yenilənə və ya sinxronizasiya edilə bilməz!",
- "Your storage is full, files can not be updated or synced anymore!" : "Sizin deponuz doludur, fayllar artıq yenilənə və sinxronizasiya edilə bilməz!",
- "Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} məlumat anbari demək olar ki, doludur ({usedSpacePercent}%)",
- "Your storage is almost full ({usedSpacePercent}%)" : "Sizin depo depo demək olar ki, doludur ({usedSpacePercent}%)",
- "_matches '{filter}'_::_match '{filter}'_" : ["uyğun '{filter}'","uyğun '{filter}'"],
- "Path" : "Ünvan",
- "_%n byte_::_%n bytes_" : ["%n baytlar","%n bytes"],
- "Favorited" : "İstəkləndi",
- "Favorite" : "İstəkli",
- "Folder" : "Qovluq",
- "New folder" : "Yeni qovluq",
- "{newname} already exists" : "{newname} artıq mövcuddur",
- "Upload" : "Serverə yüklə",
- "An error occurred while trying to update the tags" : "Qeydlərin yenilənməsi müddətində səhv baş verdi ",
- "A new file or folder has been <strong>created</strong>" : "Yeni fayl və ya direktoriya <strong>yaradılmışdır</strong>",
- "A file or folder has been <strong>changed</strong>" : "Fayl və ya direktoriya <strong>dəyişdirilib</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>sevimli faylların</strong> yaradılması və silinməsi haqqında olan xəbərdarlıqları limitlə <em>(Yalnız axınlar)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Fayl və ya direktoriya <strong>silinib</strong>",
- "A file or folder has been <strong>restored</strong>" : "Fayl yada qovluq geriyə <strong>qaytarıldı</strong>",
- "You created %1$s" : "Siz yaratdınız %1$s",
- "%2$s created %1$s" : "%2$s yaradılmış %1$s",
- "%1$s was created in a public folder" : "%1$s ictimai qovluqda yaradıldı",
- "You changed %1$s" : "Siz dəyişdiniz %1$s",
- "%2$s changed %1$s" : "%2$s dəyişdirildi %1$s",
- "You deleted %1$s" : "Siz silindiniz %1$s",
- "%2$s deleted %1$s" : "%2$s silindi %1$s",
- "You restored %1$s" : "Siz qayıtdınız %1$s",
- "%2$s restored %1$s" : "%2$s bərpa edildi %1$s",
- "Upload (max. %s)" : "Yüklə (max. %s)",
- "File handling" : "Fayl emalı",
- "Maximum upload size" : "Maksimal yükləmə həcmi",
- "max. possible: " : "maks. ola bilər: ",
- "Save" : "Saxlamaq",
- "Settings" : "Quraşdırmalar",
- "WebDAV" : "WebDAV",
- "No files in here" : "Burda fayl yoxdur",
- "Upload some content or sync with your devices!" : "Bezi kontenti yüklə yada, öz avadanlıqlarınızla sinxronizasiya edin!",
- "No entries found in this folder" : "Bu qovluqda heç bir verilən tapılmadı",
- "Select all" : "Hamısıı seç",
- "Upload too large" : "Yüklənmə şox böyükdür",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Yükləmək istədiyiniz faylların həcmi, bu serverdə izin verilmiş maksimal yüklənmə həcmindən böyükdür.",
- "No favorites" : "Seçilmiş yoxdur",
- "Files and folders you mark as favorite will show up here" : "İstəkli qeyd etdiyiniz fayllar və qovluqlar burda göstəriləcək",
- "Text file" : "Tekst faylı",
- "New text file.txt" : "Yeni mətn file.txt"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/az.json b/apps/files/l10n/az.json
deleted file mode 100644
index 48bb39bc650..00000000000
--- a/apps/files/l10n/az.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{ "translations": {
- "Storage not available" : "İnformasiya daşıyıcısı mövcud deyil",
- "Storage invalid" : "İnformasiya daşıyıcısı yalnışdır",
- "Unknown error" : "Bəlli olmayan səhv baş verdi",
- "Unable to set upload directory." : "Əlavələr qovluğunu təyin etmək mümkün olmadı.",
- "Invalid Token" : "Yalnış token",
- "No file was uploaded. Unknown error" : "Heç bir fayl uüklənilmədi. Naməlum səhv",
- "There is no error, the file uploaded with success" : "Səhv yoxdur, fayl uğurla yüklənildi.",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Yüklənilən faylin həcmi php.ini config faylinin upload_max_filesize direktivində göstəriləndən çoxdur.",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Yüklənilən faylın həcmi HTML formasinda olan MAX_FILE_SIZE direktivində təyin dilmiş həcmi aşır.",
- "The uploaded file was only partially uploaded" : "Yüklənilən faylın yalnız bir hissəsi yüklənildi",
- "No file was uploaded" : "Heç bir fayl yüklənilmədi",
- "Missing a temporary folder" : "Müvəqqəti qovluq çatışmır",
- "Failed to write to disk" : "Sərt diskə yazmaq mümkün olmadı",
- "Not enough storage available" : "Tələb edilən qədər yer yoxdur.",
- "The target folder has been moved or deleted." : "Mənsəbdə olan qovluqun ünvanı dəyişib yada silinib.",
- "Upload failed. Could not find uploaded file" : "Yüklənmədə səhv oldu. Yüklənmiş faylı tapmaq olmur.",
- "Upload failed. Could not get file info." : "Yüklənmədə səhv oldu. Faylın informasiyasını almaq mümkün olmadı.",
- "Invalid directory." : "Yalnış qovluq.",
- "Files" : "Fayllar",
- "All files" : "Bütün fayllar",
- "Home" : "Ev",
- "Close" : "Bağla",
- "Favorites" : "Sevimlilər",
- "Upload cancelled." : "Yüklənmə dayandırıldı.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Yükləmək olmur {filename} ona görə ki, ya qovluqdur yada ki, həcmi 0 baytdır ",
- "Total file size {size1} exceeds upload limit {size2}" : "Ümumi fayl həcmi {size1} yüklənmə limiti {size2} -ni aşır",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Kifayət qədər boş yer yoxdur, siz yükləyirsiniz {size1} ancaq {size2} var. ",
- "Could not get result from server." : "Nəticəni serverdən almaq mümkün olmur.",
- "Uploading..." : "Serverə yüklənir...",
- "File upload is in progress. Leaving the page now will cancel the upload." : "Faylın yüklənməsi gedir. Əgər səhifəni indi tərk etsəniz yüklənmə dayanacaq.",
- "Actions" : "İşlər",
- "Download" : "Yüklə",
- "Rename" : "Adı dəyiş",
- "Delete" : "Sil",
- "Disconnect storage" : "Daşıyıcını ayır",
- "Unshare" : "Paylaşımı durdur",
- "Details" : "Detallar",
- "Select" : "Seç",
- "Pending" : "Gözləmə",
- "Unable to determine date" : "Tarixi təyin etmək mümkün olmadı",
- "This operation is forbidden" : "Bu əməliyyat qadağandır",
- "This directory is unavailable, please check the logs or contact the administrator" : "Bu qovluq tapılmir. Xahiş olunur jurnalları yoxlayın ya da inzibatçı ilə əlaqə saxlayın",
- "No entries in this folder match '{filter}'" : "Bu qovluqda '{filter}' uyğunluğunda heç bir verilən tapılmadı",
- "Name" : "Ad",
- "Size" : "Həcm",
- "Modified" : "Dəyişdirildi",
- "_%n folder_::_%n folders_" : ["%n qovluq","%n qovluqlar"],
- "_%n file_::_%n files_" : ["%n fayllar","%n fayllar"],
- "{dirs} and {files}" : "{dirs} və {files}",
- "You don’t have permission to upload or create files here" : "Sizin burda yükləməyə və ya fayl yaratmağa yetkiniz yoxdur ",
- "_Uploading %n file_::_Uploading %n files_" : ["%n fayllar yüklənilir","%n fayllar yüklənilir"],
- "New" : "Yeni",
- "\"{name}\" is an invalid file name." : "\"{name}\" yalnış fayl adıdır.",
- "File name cannot be empty." : "Faylın adı boş ola bilməz.",
- "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} məlumat anbarı doludur, fayllar artıq yenilənə və ya sinxronizasiya edilə bilməz!",
- "Your storage is full, files can not be updated or synced anymore!" : "Sizin deponuz doludur, fayllar artıq yenilənə və sinxronizasiya edilə bilməz!",
- "Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} məlumat anbari demək olar ki, doludur ({usedSpacePercent}%)",
- "Your storage is almost full ({usedSpacePercent}%)" : "Sizin depo depo demək olar ki, doludur ({usedSpacePercent}%)",
- "_matches '{filter}'_::_match '{filter}'_" : ["uyğun '{filter}'","uyğun '{filter}'"],
- "Path" : "Ünvan",
- "_%n byte_::_%n bytes_" : ["%n baytlar","%n bytes"],
- "Favorited" : "İstəkləndi",
- "Favorite" : "İstəkli",
- "Folder" : "Qovluq",
- "New folder" : "Yeni qovluq",
- "{newname} already exists" : "{newname} artıq mövcuddur",
- "Upload" : "Serverə yüklə",
- "An error occurred while trying to update the tags" : "Qeydlərin yenilənməsi müddətində səhv baş verdi ",
- "A new file or folder has been <strong>created</strong>" : "Yeni fayl və ya direktoriya <strong>yaradılmışdır</strong>",
- "A file or folder has been <strong>changed</strong>" : "Fayl və ya direktoriya <strong>dəyişdirilib</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>sevimli faylların</strong> yaradılması və silinməsi haqqında olan xəbərdarlıqları limitlə <em>(Yalnız axınlar)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Fayl və ya direktoriya <strong>silinib</strong>",
- "A file or folder has been <strong>restored</strong>" : "Fayl yada qovluq geriyə <strong>qaytarıldı</strong>",
- "You created %1$s" : "Siz yaratdınız %1$s",
- "%2$s created %1$s" : "%2$s yaradılmış %1$s",
- "%1$s was created in a public folder" : "%1$s ictimai qovluqda yaradıldı",
- "You changed %1$s" : "Siz dəyişdiniz %1$s",
- "%2$s changed %1$s" : "%2$s dəyişdirildi %1$s",
- "You deleted %1$s" : "Siz silindiniz %1$s",
- "%2$s deleted %1$s" : "%2$s silindi %1$s",
- "You restored %1$s" : "Siz qayıtdınız %1$s",
- "%2$s restored %1$s" : "%2$s bərpa edildi %1$s",
- "Upload (max. %s)" : "Yüklə (max. %s)",
- "File handling" : "Fayl emalı",
- "Maximum upload size" : "Maksimal yükləmə həcmi",
- "max. possible: " : "maks. ola bilər: ",
- "Save" : "Saxlamaq",
- "Settings" : "Quraşdırmalar",
- "WebDAV" : "WebDAV",
- "No files in here" : "Burda fayl yoxdur",
- "Upload some content or sync with your devices!" : "Bezi kontenti yüklə yada, öz avadanlıqlarınızla sinxronizasiya edin!",
- "No entries found in this folder" : "Bu qovluqda heç bir verilən tapılmadı",
- "Select all" : "Hamısıı seç",
- "Upload too large" : "Yüklənmə şox böyükdür",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Yükləmək istədiyiniz faylların həcmi, bu serverdə izin verilmiş maksimal yüklənmə həcmindən böyükdür.",
- "No favorites" : "Seçilmiş yoxdur",
- "Files and folders you mark as favorite will show up here" : "İstəkli qeyd etdiyiniz fayllar və qovluqlar burda göstəriləcək",
- "Text file" : "Tekst faylı",
- "New text file.txt" : "Yeni mətn file.txt"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/be.js b/apps/files/l10n/be.js
deleted file mode 100644
index 55e94ac2477..00000000000
--- a/apps/files/l10n/be.js
+++ /dev/null
@@ -1,6 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "Settings" : "Налады"
-},
-"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/files/l10n/be.json b/apps/files/l10n/be.json
deleted file mode 100644
index 3f70a0783fe..00000000000
--- a/apps/files/l10n/be.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "translations": {
- "Settings" : "Налады"
-},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/bg.js b/apps/files/l10n/bg.js
index 82c74870d72..ec156230010 100644
--- a/apps/files/l10n/bg.js
+++ b/apps/files/l10n/bg.js
@@ -148,6 +148,7 @@ OC.L10N.register(
"Delete folder" : "Изтриване на папка",
"Delete" : "Изтрий",
"Cancel" : "Отказ",
+ "Download" : "Изтегли",
"Copy" : "Копирай",
"Move" : "Преместване",
"Move or copy" : "Премести или копирай",
@@ -171,6 +172,9 @@ OC.L10N.register(
"Some files could not be moved" : "Някои файлове не могат да бъдат преместени",
"Files copied successfully" : "Файловете са успешно копирани",
"Files moved successfully" : "Файловете са преместени успешно",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Файлът \"{oldName}\" не може да бъде преименуван защото не съществува",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{newName}\" се ползва в директорията \"{dir}\". Моля, изберете друго име.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" не може да бъде преименуван",
"This operation is forbidden" : "Операцията е забранена",
"This directory is unavailable, please check the logs or contact the administrator" : "Директорията не е налична. Проверете журнала или се свържете с администратора",
"Storage is temporarily not available" : "Временно хранилището не е налично",
@@ -188,7 +192,6 @@ OC.L10N.register(
"Upload too large" : "Прекалено голям файл за качване",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файловете, които се опитвате да качите са по-големи от позволеното на сървъра.",
"File could not be found" : "Файлът не може да бъде намерен",
- "Download" : "Изтегли",
"Show list view" : "Показване с изглед на списък",
"Show grid view" : "Показване в решетъчен изглед",
"Close" : "Затвори",
@@ -224,9 +227,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Копирано {origin} в {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Копирано {origin} и {nbfiles} други файлове в {destination}",
"{newName} already exists" : "{newName} вече съществува",
- "Could not rename \"{oldName}\", it does not exist any more" : "Файлът \"{oldName}\" не може да бъде преименуван защото не съществува",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{newName}\" се ползва в директорията \"{dir}\". Моля, изберете друго име.",
- "Could not rename \"{oldName}\"" : "\"{oldName}\" не може да бъде преименуван",
"Could not create file \"{file}\"" : "Файлът \"{file}\" не може да бъде създаден",
"Could not create file \"{file}\" because it already exists" : "Файлът \"{file}\" не може да бъде създаден защото вече съществува",
"Could not create folder \"{dir}\" because it already exists" : "Папката \"{dir}\" не може да бъде създадена защото вече съществува",
@@ -265,7 +265,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Качи (макс. %s)",
"Personal Files" : "Лични файлове",
"Text file" : "Текстов файл",
- "New text file.txt" : "Текстов файл.txt",
- "{count} files successfully converted" : "{count}файловете са успешно преобразувани"
+ "New text file.txt" : "Текстов файл.txt"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/bg.json b/apps/files/l10n/bg.json
index 01b74100125..9f2a5de769d 100644
--- a/apps/files/l10n/bg.json
+++ b/apps/files/l10n/bg.json
@@ -146,6 +146,7 @@
"Delete folder" : "Изтриване на папка",
"Delete" : "Изтрий",
"Cancel" : "Отказ",
+ "Download" : "Изтегли",
"Copy" : "Копирай",
"Move" : "Преместване",
"Move or copy" : "Премести или копирай",
@@ -169,6 +170,9 @@
"Some files could not be moved" : "Някои файлове не могат да бъдат преместени",
"Files copied successfully" : "Файловете са успешно копирани",
"Files moved successfully" : "Файловете са преместени успешно",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Файлът \"{oldName}\" не може да бъде преименуван защото не съществува",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{newName}\" се ползва в директорията \"{dir}\". Моля, изберете друго име.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" не може да бъде преименуван",
"This operation is forbidden" : "Операцията е забранена",
"This directory is unavailable, please check the logs or contact the administrator" : "Директорията не е налична. Проверете журнала или се свържете с администратора",
"Storage is temporarily not available" : "Временно хранилището не е налично",
@@ -186,7 +190,6 @@
"Upload too large" : "Прекалено голям файл за качване",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файловете, които се опитвате да качите са по-големи от позволеното на сървъра.",
"File could not be found" : "Файлът не може да бъде намерен",
- "Download" : "Изтегли",
"Show list view" : "Показване с изглед на списък",
"Show grid view" : "Показване в решетъчен изглед",
"Close" : "Затвори",
@@ -222,9 +225,6 @@
"Copied {origin} inside {destination}" : "Копирано {origin} в {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Копирано {origin} и {nbfiles} други файлове в {destination}",
"{newName} already exists" : "{newName} вече съществува",
- "Could not rename \"{oldName}\", it does not exist any more" : "Файлът \"{oldName}\" не може да бъде преименуван защото не съществува",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{newName}\" се ползва в директорията \"{dir}\". Моля, изберете друго име.",
- "Could not rename \"{oldName}\"" : "\"{oldName}\" не може да бъде преименуван",
"Could not create file \"{file}\"" : "Файлът \"{file}\" не може да бъде създаден",
"Could not create file \"{file}\" because it already exists" : "Файлът \"{file}\" не може да бъде създаден защото вече съществува",
"Could not create folder \"{dir}\" because it already exists" : "Папката \"{dir}\" не може да бъде създадена защото вече съществува",
@@ -263,7 +263,6 @@
"Upload (max. %s)" : "Качи (макс. %s)",
"Personal Files" : "Лични файлове",
"Text file" : "Текстов файл",
- "New text file.txt" : "Текстов файл.txt",
- "{count} files successfully converted" : "{count}файловете са успешно преобразувани"
+ "New text file.txt" : "Текстов файл.txt"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/bn_BD.js b/apps/files/l10n/bn_BD.js
deleted file mode 100644
index 43a8fc62fa6..00000000000
--- a/apps/files/l10n/bn_BD.js
+++ /dev/null
@@ -1,65 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "Storage not available" : "সংরক্ষণের স্থান নেই",
- "Storage invalid" : "সংরক্ষণাগার বৈধ নয়",
- "Unknown error" : "অজানা জটিলতা",
- "Unable to set upload directory." : "েআপলোড ডিরেক্টরি নির্ধারণ করা গেলনা।",
- "No file was uploaded. Unknown error" : "কোন ফাইল আপলোড করা হয় নি। সমস্যার কারণটি অজ্ঞাত।",
- "There is no error, the file uploaded with success" : "কোন সমস্যা হয় নি, ফাইল আপলোড সুসম্পন্ন হয়েছে।",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "আপলোড করা ফাইলটি php.ini তে বর্ণিত upload_max_filesize নির্দেশিত আয়তন অতিক্রম করছেঃ",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "আপলোড করা ফাইলটি HTML ফর্মে উল্লিখিত MAX_FILE_SIZE নির্ধারিত ফাইলের সর্বোচ্চ আকার অতিক্রম করতে চলেছে ",
- "The uploaded file was only partially uploaded" : "আপলোড করা ফাইলটি আংশিক আপলোড করা হয়েছে",
- "No file was uploaded" : "কোন ফাইল আপলোড করা হয় নি",
- "Missing a temporary folder" : "অস্থায়ী ফোল্ডারটি হারানো গিয়েছে",
- "Failed to write to disk" : "ডিস্কে লিখতে ব্যর্থ",
- "Not enough storage available" : "সংরক্ষণের যথেষ্ট জায়গা প্রাপ্তব্য নয়",
- "Invalid directory." : "ভুল ডিরেক্টরি",
- "Files" : "ফাইল",
- "All files" : "সব ফাইল",
- "Home" : "নিবাস",
- "Close" : "বন্ধ",
- "Favorites" : "প্রিয়জন",
- "Upload cancelled." : "আপলোড বাতিল করা হয়েছে।",
- "Uploading..." : "আপলোড করা হচ্ছে..........",
- "File upload is in progress. Leaving the page now will cancel the upload." : "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।",
- "Actions" : "পদক্ষেপসমূহ",
- "Download" : "ডাউনলোড",
- "Rename" : "পূনঃনামকরণ",
- "Delete" : "মুছে",
- "Unshare" : "ভাগাভাগি বাতিল ",
- "Details" : "বিস্তারিত",
- "Pending" : "মুলতুবি",
- "Name" : "রাম",
- "Size" : "আকার",
- "Modified" : "পরিবর্তিত",
- "_Uploading %n file_::_Uploading %n files_" : ["%n ফাইল আপলোড হচ্ছে","%n ফাইল আপলোড হচ্ছে"],
- "New" : "নতুন",
- "\"{name}\" is an invalid file name." : "\"{name}\" টি একটি অননুমোদিত ফাইল নাম।",
- "File name cannot be empty." : "ফাইলের নামটি ফাঁকা রাখা যাবে না।",
- "Your storage is almost full ({usedSpacePercent}%)" : "আপনার সংরক্ষণাধার প্রায় পরিপূর্ণ ({usedSpacePercent}%) ",
- "Favorite" : "প্রিয়জন",
- "Folder" : "ফোল্ডার",
- "New folder" : "নব ফােলডার",
- "Upload" : "আপলোড",
- "A new file or folder has been <strong>created</strong>" : "একটি ফাইল বা ফোলডার <strong>তৈরি</strong> করা হয়েছে",
- "A file or folder has been <strong>changed</strong>" : "একটি ফাইল বা ফোলডার <strong>পরিবরতন</strong> করা হয়েছে",
- "A file or folder has been <strong>deleted</strong>" : "একটি ফাইল বা ফোলডার <strong>মোছা</strong> হয়েছে",
- "You created %1$s" : "আপনি তৈরি করেছেন %1$s",
- "%2$s created %1$s" : "%2$s তৈরি হয়েছে %1$s",
- "%1$s was created in a public folder" : "একটি পাবলিক ফোল্ডারে %1$s তৈরী করা হয়েছে",
- "You changed %1$s" : "আপনি পরিবরতন করেছেন %1$s",
- "%2$s changed %1$s" : "%2$s পরিবরতন করেছে %1$s",
- "You deleted %1$s" : "আপনি ডিলিট করেছেন %1$s",
- "%2$s deleted %1$s" : "%2$s ডিলিট করেছে %1$s",
- "File handling" : "ফাইল হ্যার্ডলিং",
- "Maximum upload size" : "আপলোডের সর্বোচ্চ আকার",
- "max. possible: " : "অনুমোদিত সর্বোচ্চ আকার",
- "Save" : "সংরক্ষণ",
- "Settings" : "নিয়ামকসমূহ",
- "WebDAV" : "WebDAV",
- "Upload too large" : "আপলোডের আকারটি অনেক বড়",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "আপনি এই সার্ভারে আপলোড করার জন্য অনুমোদিত ফাইলের সর্বোচ্চ আকারের চেয়ে বৃহদাকার ফাইল আপলোড করার চেষ্টা করছেন ",
- "Text file" : "টেক্সট ফাইল"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/bn_BD.json b/apps/files/l10n/bn_BD.json
deleted file mode 100644
index dc114d13a17..00000000000
--- a/apps/files/l10n/bn_BD.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{ "translations": {
- "Storage not available" : "সংরক্ষণের স্থান নেই",
- "Storage invalid" : "সংরক্ষণাগার বৈধ নয়",
- "Unknown error" : "অজানা জটিলতা",
- "Unable to set upload directory." : "েআপলোড ডিরেক্টরি নির্ধারণ করা গেলনা।",
- "No file was uploaded. Unknown error" : "কোন ফাইল আপলোড করা হয় নি। সমস্যার কারণটি অজ্ঞাত।",
- "There is no error, the file uploaded with success" : "কোন সমস্যা হয় নি, ফাইল আপলোড সুসম্পন্ন হয়েছে।",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "আপলোড করা ফাইলটি php.ini তে বর্ণিত upload_max_filesize নির্দেশিত আয়তন অতিক্রম করছেঃ",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "আপলোড করা ফাইলটি HTML ফর্মে উল্লিখিত MAX_FILE_SIZE নির্ধারিত ফাইলের সর্বোচ্চ আকার অতিক্রম করতে চলেছে ",
- "The uploaded file was only partially uploaded" : "আপলোড করা ফাইলটি আংশিক আপলোড করা হয়েছে",
- "No file was uploaded" : "কোন ফাইল আপলোড করা হয় নি",
- "Missing a temporary folder" : "অস্থায়ী ফোল্ডারটি হারানো গিয়েছে",
- "Failed to write to disk" : "ডিস্কে লিখতে ব্যর্থ",
- "Not enough storage available" : "সংরক্ষণের যথেষ্ট জায়গা প্রাপ্তব্য নয়",
- "Invalid directory." : "ভুল ডিরেক্টরি",
- "Files" : "ফাইল",
- "All files" : "সব ফাইল",
- "Home" : "নিবাস",
- "Close" : "বন্ধ",
- "Favorites" : "প্রিয়জন",
- "Upload cancelled." : "আপলোড বাতিল করা হয়েছে।",
- "Uploading..." : "আপলোড করা হচ্ছে..........",
- "File upload is in progress. Leaving the page now will cancel the upload." : "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।",
- "Actions" : "পদক্ষেপসমূহ",
- "Download" : "ডাউনলোড",
- "Rename" : "পূনঃনামকরণ",
- "Delete" : "মুছে",
- "Unshare" : "ভাগাভাগি বাতিল ",
- "Details" : "বিস্তারিত",
- "Pending" : "মুলতুবি",
- "Name" : "রাম",
- "Size" : "আকার",
- "Modified" : "পরিবর্তিত",
- "_Uploading %n file_::_Uploading %n files_" : ["%n ফাইল আপলোড হচ্ছে","%n ফাইল আপলোড হচ্ছে"],
- "New" : "নতুন",
- "\"{name}\" is an invalid file name." : "\"{name}\" টি একটি অননুমোদিত ফাইল নাম।",
- "File name cannot be empty." : "ফাইলের নামটি ফাঁকা রাখা যাবে না।",
- "Your storage is almost full ({usedSpacePercent}%)" : "আপনার সংরক্ষণাধার প্রায় পরিপূর্ণ ({usedSpacePercent}%) ",
- "Favorite" : "প্রিয়জন",
- "Folder" : "ফোল্ডার",
- "New folder" : "নব ফােলডার",
- "Upload" : "আপলোড",
- "A new file or folder has been <strong>created</strong>" : "একটি ফাইল বা ফোলডার <strong>তৈরি</strong> করা হয়েছে",
- "A file or folder has been <strong>changed</strong>" : "একটি ফাইল বা ফোলডার <strong>পরিবরতন</strong> করা হয়েছে",
- "A file or folder has been <strong>deleted</strong>" : "একটি ফাইল বা ফোলডার <strong>মোছা</strong> হয়েছে",
- "You created %1$s" : "আপনি তৈরি করেছেন %1$s",
- "%2$s created %1$s" : "%2$s তৈরি হয়েছে %1$s",
- "%1$s was created in a public folder" : "একটি পাবলিক ফোল্ডারে %1$s তৈরী করা হয়েছে",
- "You changed %1$s" : "আপনি পরিবরতন করেছেন %1$s",
- "%2$s changed %1$s" : "%2$s পরিবরতন করেছে %1$s",
- "You deleted %1$s" : "আপনি ডিলিট করেছেন %1$s",
- "%2$s deleted %1$s" : "%2$s ডিলিট করেছে %1$s",
- "File handling" : "ফাইল হ্যার্ডলিং",
- "Maximum upload size" : "আপলোডের সর্বোচ্চ আকার",
- "max. possible: " : "অনুমোদিত সর্বোচ্চ আকার",
- "Save" : "সংরক্ষণ",
- "Settings" : "নিয়ামকসমূহ",
- "WebDAV" : "WebDAV",
- "Upload too large" : "আপলোডের আকারটি অনেক বড়",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "আপনি এই সার্ভারে আপলোড করার জন্য অনুমোদিত ফাইলের সর্বোচ্চ আকারের চেয়ে বৃহদাকার ফাইল আপলোড করার চেষ্টা করছেন ",
- "Text file" : "টেক্সট ফাইল"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/br.js b/apps/files/l10n/br.js
deleted file mode 100644
index 2c4da9b0b72..00000000000
--- a/apps/files/l10n/br.js
+++ /dev/null
@@ -1,187 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "N'eo ket bet kavet ar restr",
- "Move or copy" : "Dilec'hiañ pe eilañ",
- "Download" : "Pellgargañ",
- "Delete" : "Lemel",
- "Tags" : "Klavioù",
- "Home" : "Degemer",
- "Close" : "Serriñ",
- "Could not create folder \"{dir}\"" : "Dibosupl eo krouiñ an teuliad \"{dir}\"",
- "This will stop your current uploads." : "Paouez a raio ho kasadennoù.",
- "Upload cancelled." : "Kasadenn nullet.",
- "Processing files …" : "Graet e vez war dro ar restroù ...",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Dibosupl eo kas {filename} evel emañ un teuliad pe ez eus 0 bytes anezhañ",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "N'eus ket trawalc'h a blas: o klask kas {size1} emaoc'h met n'eus nemet {size2} dieub",
- "Target folder \"{dir}\" does not exist any more" : "An teuliad \"{dir}\" n'eus ket anezhañ ken",
- "Not enough free space" : "N'eus ket trawalc'h a blas",
- "An unknown error has occurred" : "Ur fazi dizanv a zo bet",
- "Uploading …" : "O pellgas ...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} diwar {totalSize} ({bitrate})",
- "Uploading that item is not supported" : "N'haller ket pellgas seurt restroù",
- "Target folder does not exist any more" : "An teuliad n'eus ket anezhañ ken",
- "Error when assembling chunks, status code {status}" : "Ur fazi zo bet en ur dolpañ ar blokoù, kod stad {status}",
- "Actions" : "Oberoù",
- "Rename" : "Adenvel",
- "Move" : "Diplasañ",
- "Copy" : "Eilañ",
- "Choose target folder" : "Dibab an teuliad moned",
- "Open" : "Digeriñ",
- "Delete file" : "Diverkañ ar restr",
- "Delete folder" : "Diverkañ an teuliad",
- "Disconnect storage" : "Digevreañ ar skor stokañ-mañ",
- "Could not load info for file \"{file}\"" : "Dibosupl eo kargañ titouroù ar restr \"{file}\"",
- "Files" : "Restroù",
- "Details" : "Munudoù",
- "Pending" : "O c'hortoz",
- "Unable to determine date" : "Dibosupl eo resisaat an deiziat",
- "This operation is forbidden" : "Difennet eo an ober-mañ",
- "This directory is unavailable, please check the logs or contact the administrator" : "N'eus ket tu da dizhout an teuliad-mañ, lennit al logoù pe kit e darempred gant ar merour",
- "Storage is temporarily not available" : "N'haller ket tizhout ar skor roadennoù evit ar poent",
- "Could not move \"{file}\", target exists" : "Dibosupl eo diblasañ \"{file}\", ar bukenn zo anezhi",
- "Could not move \"{file}\"" : "Dibosupl eo diblasañ \"{file}\"",
- "copy" : "eilañ",
- "Could not copy \"{file}\", target exists" : "Dibosupl eo eilañ \"{file}\", ar bukenn zo anezhi",
- "Could not copy \"{file}\"" : "Dibosupl eo eilañ \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} eilet e-barzh {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ha {nbfiles} restr all eilet e-barzh {destination}",
- "{newName} already exists" : "{newName} zo anezhañ dija",
- "Could not rename \"{fileName}\", it does not exist any more" : "Dibosupl eo adenvel \"{fileName}\", n'eus ket anezhan ken",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "An anv \"{targetName}\" a zo implijet en teuliad \\\"{dir}\\\". Trugarez da zibab un anv all.",
- "Could not rename \"{fileName}\"" : "Dibosupl eo adenvel \"{fileName}\"",
- "Could not create file \"{file}\"" : "Dibosupl eo krouiñ ar restr \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "Dibosupl eo krouiñ ar restr \"{file}\" peogwir ez eus anezhañ c'hoazh",
- "Could not create folder \"{dir}\" because it already exists" : "Dibosupl eo krouiñ an teuliad \"{dir}\" peogwir ez eus anezhañ c'hoazh",
- "Could not fetch file details \"{file}\"" : "Dibosupl eo adtapout munudoù ar restr \"{file}\"",
- "Error deleting file \"{fileName}\"." : "Ur fazi zo bet en ur ziverkañ ar restr \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "Disoc'h ebet e teuliadoù all evit {tag}{filter}{endtag}",
- "Enter more than two characters to search in other folders" : "Lakait muioc'h eget daou arouez evit klask e teuliadoù all",
- "Name" : "Anv",
- "Size" : "Ment",
- "Modified" : "Cheñchet",
- "_%n folder_::_%n folders_" : ["%nteuliad","%n deuliad","teuliadoù zo","an darn vrasañ eus an teuliadoù","%n teuliad"],
- "_%n file_::_%n files_" : ["%n restr","%n restr","restroù zo","an darn vrasañ eus ar restroù","%n restr"],
- "{dirs} and {files}" : "{dirs} ha {files}",
- "_including %n hidden_::_including %n hidden_" : [" %n koachet en o zouez","%n goachet en o zouez","koachet en o zouez","koachet en o zouez","koachet en o zouez %n"],
- "_Uploading %n file_::_Uploading %n files_" : ["%n restr o vezañ karget","%n restr o vezañ karget","restroù zo o vezañ karget","an darn vrasañ eus ar restroù o vezañ karget","%n restr o vezañ karget"],
- "New" : "Nevez",
- "Select file range" : "Dibab un tachad restroù",
- "{used} of {quota} used" : "{used} diwar {quota} implijet",
- "{used} used" : "{used} implijet",
- "\"{name}\" is an invalid file name." : "N'eo ket \"{name}\" un anv restr aotreet.",
- "File name cannot be empty." : "N'hall ket anv ur restr bezañ goullo.",
- "\"/\" is not allowed inside a file name." : "N'eo ket aotreet \"/\" e anv ur restr.",
- "\"{name}\" is not an allowed filetype" : "N'eo ket \"{name}\" un doare restr aotreet",
- "Storage of {owner} is almost full ({usedSpacePercent}%)." : "Lec'h renkañ {owner} a zo kaji leun ({usedSpacePercent}%).",
- "Your storage is almost full ({usedSpacePercent}%)." : "Ho lec'h renkañ a zo kaji leun ({usedSpacePercent}%).",
- "View in folder" : "Diskwel en teuliad",
- "Path" : "Hent",
- "_%n byte_::_%n bytes_" : ["okted","okted","okted","okted","%n okted"],
- "Favorited" : "Lakaet evel pennroll",
- "Favorite" : "Pennrollañ",
- "New folder" : "Teuliad nevez",
- "Create new folder" : "Krouiñ un teuliad nevez",
- "Upload file" : "Pellgas ur restr",
- "Recent" : "Nevez",
- "Not favorited" : "N'eo ket bet pennrollet",
- "Remove from favorites" : "Diverkañañ eus ar pennrolloù",
- "Add to favorites" : "Ouzhpennañ er pennrolloù",
- "An error occurred while trying to update the tags" : "Ur fazi a zo bet en ur neveziñ ar c'hlavoù",
- "Added to favorites" : "Ouzhpennet er pennrolloù",
- "Removed from favorites" : "Diverket eus ar pennrolloù",
- "You added {file} to your favorites" : "Ouzhpennet ho peus {file} en ho pennrolloù",
- "You removed {file} from your favorites" : "Diverket ho peus {file} eus ho pennrolloù",
- "Favorites" : "Pennrolloù",
- "File changes" : "Cheñch ar restroù",
- "Created by {user}" : "Krouet gant {user}",
- "Changed by {user}" : "Cheñchet gant {user}",
- "Deleted by {user}" : "Dilemet gant {user}",
- "Restored by {user}" : "Adsavet gant {user}",
- "Renamed by {user}" : "Adanvet gant {user}",
- "Moved by {user}" : "Dilec'hiet gant {user}",
- "You created {file}" : "Krouet ho peus {file}",
- "You created an encrypted file in {file}" : "Ur restr sifret ho peus krouet e {file}",
- "{user} created {file}" : "{user} en.he deus krouet {file}",
- "{user} created an encrypted file in {file}" : " {file} a zo bet sifret gant {user}",
- "{file} was created in a public folder" : "{file} a zo bet krouet en un teuliad foran",
- "You changed {file}" : "Cheñchet ho peus {file}",
- "You changed an encrypted file in {file}" : "Ur restr sifret ho peus cheñchet e {file}",
- "{user} changed {file}" : "{file} a zo bet cheñchet gant {user}",
- "{user} changed an encrypted file in {file}" : "{file} a zo bet cheñchet gant {user}",
- "You deleted {file}" : "Dilemet ho peus {file}",
- "You deleted an encrypted file in {file}" : "Ur rest sufret e {file} ho peus dilemet.",
- "{user} deleted {file}" : "{user} en.he deus diverket {file}",
- "{user} deleted an encrypted file in {file}" : "Ur restr sifret e {file} a zo bet dilemet gant {user}",
- "You restored {file}" : "Adsavet ho peus {file}",
- "{user} restored {file}" : "{file} a zo bet adsavet gant {user}",
- "You renamed {oldfile} to {newfile}" : "Adanvet ho peus {oldfile} e {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{oldfile} a zo bet adanvet gant {user} e {newfile}",
- "You moved {oldfile} to {newfile}" : "Dilec'hiet ho peus {oldfile} e {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{oldfile} a zo bet dilec'hiet gant {user} e {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Ur restr a zo bet ouzhpennet pe ziverket en ho <strong>pennrolloù</strong>",
- "A file or folder has been <strong>changed</strong>" : "Ur restr pe un teuliad a zo bet <strong>cheñchet</strong>",
- "A favorite file or folder has been <strong>changed</strong>" : "Unan eus ho restr pe teuliad karetañ a zo bet <strong>cheñchet</strong>",
- "Upload (max. %s)" : "Pellgas (max. %s)",
- "Accept" : "Asantiñ",
- "Reject" : "Nac'hañ",
- "Incoming ownership transfer from {user}" : "Treuzkas perc'henniezh a-berzh {user}",
- "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Asantiña rit {path} ?\n\nN. B. : Gallout a ra oberiadur an treuzkas padout betek 1 eur.",
- "Ownership transfer failed" : "C'hwitet eo bet an treuzkas perc'henniezh",
- "Your ownership transfer of {path} to {user} failed." : "Ho treuzkas perc'henniezh eus {path} da {user} en deus c'hwitet.",
- "The ownership transfer of {path} from {user} failed." : "An treuzkas perc'henniezh eus {path} da {user} en deus c'hwitet.",
- "Ownership transfer done" : "Treuzkas perc'hienniezh echu",
- "Your ownership transfer of {path} to {user} has completed." : "Ho treuzkas perc'henniezh eus {path} da {user} a zo echu.",
- "The ownership transfer of {path} from {user} has completed." : "An treuzkas perc'henniezh eus {path} da {user} a zo echu.",
- "in %s" : "e %s",
- "File Management" : "Meradur ar restr",
- "You don’t have permission to upload or create files here" : "N'och ket aotreet kas pe krouiñ restroù amañ",
- "Folder name" : "Anv teuliad",
- "Your storage is full, files can not be updated or synced anymore!" : "Leun eo ho skor stokañ. Ne c'hall ket ar restroù bezañ na nevezet na kempredet ken !",
- "Create" : "Krouiñ",
- "Transfer ownership of a file or folder" : "Treuzkas perc'henniezh ur restr pe un teuliad",
- "Choose file or folder to transfer" : "Dibabit ur restr pe un teuliad da dreuzkas",
- "Change" : "Cheñch",
- "New owner" : "Perc'henn nevez",
- "Choose a file or folder to transfer" : "Dibabit ur restr pe un teuliad da dreuzkas",
- "Transfer" : "Treuzkas",
- "Transfer {path} to {userid}" : "Treuzkas {path} da {userid}",
- "Invalid path selected" : "An hent dibabet n'eus ket anezhañ",
- "Unknown error" : "Fazi dizanv",
- "Ownership transfer request sent" : "Kaset eo bet ar goulenn treuzkas perc'henniezh",
- "No files in here" : "Restr ebet amañ",
- "Upload some content or sync with your devices!" : "Pellgas endalc'hoù pe gempredañ ho mekanikoù!",
- "Shared by link" : "Rannet dre liamm",
- "Shared" : "Rannet",
- "Show hidden files" : "Diskouez ar restroù koachet",
- "Additional settings" : "Stummoù ouzhpenn",
- "WebDAV" : "WebDAV",
- "Use this address to access your Files via WebDAV" : "Implijit ar chomlec'h-mañ evit tizhout ho restroù dre WebDAV",
- "Unable to change the favourite state of the file" : "Dibosupl eo cheñch stad pennroll ar restr",
- "Error while loading the file data" : "Ur fazi zo bet en ur gargañ roadennoùar restr",
- "Delete permanently" : "Lamet da viken",
- "Cancel" : "Arrest",
- "Filename" : "Anv restr",
- "Some files could not be moved" : "Ne oa ket posupl diblasañ ar restroù",
- "No favorites yet" : "Pennroll ebet evit ar poent",
- "Files and folders you mark as favorite will show up here" : "Ar restroù ha teuliadoù ouzhpennet en ho pennrolloù a vo diskwelet amañ",
- "All files" : "An holl restroù",
- "No entries found in this folder" : "Disoc'h ebet en teuliad-mañ",
- "Select all" : "Dibab pep tra",
- "Upload too large" : "Re bonner eo ar gasadenn",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Ar restroù a glaskit pellgas a ya dreist d'ar vent vrasañ aotreet gant ar servijer mañ.",
- "Text file" : "Restr testenn",
- "New text file.txt" : "Restr testenn nevez rest.txt",
- "Copy direct link (only works for users who have access to this file/folder)" : "Eilañ al liamm eeun (nemet evit an implijourien aotreet da dizhout ar restr-mañ pe an teuliad-mañ)",
- "You can only favorite a single file or folder at a time" : "Ne c'hallit ouzhpennañ nemet ur pennroll teuliad pe restr en un taol.",
- "\"remote user\"" : "\"pell-implijer\"",
- "Choose" : "Dibab",
- "Toggle grid view" : "Gweredekat/Diweredekat an diskwel roued",
- "Shares" : "Rannañ",
- "Shared with others" : "Rannet gant tud all",
- "Shared with you" : "Rannet ganeoc'h",
- "Deleted shares" : "Rannañ dilemet",
- "Pending shares" : "Rannañ o c'hortoz"
-},
-"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);");
diff --git a/apps/files/l10n/br.json b/apps/files/l10n/br.json
deleted file mode 100644
index 6fe2466493a..00000000000
--- a/apps/files/l10n/br.json
+++ /dev/null
@@ -1,185 +0,0 @@
-{ "translations": {
- "File could not be found" : "N'eo ket bet kavet ar restr",
- "Move or copy" : "Dilec'hiañ pe eilañ",
- "Download" : "Pellgargañ",
- "Delete" : "Lemel",
- "Tags" : "Klavioù",
- "Home" : "Degemer",
- "Close" : "Serriñ",
- "Could not create folder \"{dir}\"" : "Dibosupl eo krouiñ an teuliad \"{dir}\"",
- "This will stop your current uploads." : "Paouez a raio ho kasadennoù.",
- "Upload cancelled." : "Kasadenn nullet.",
- "Processing files …" : "Graet e vez war dro ar restroù ...",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Dibosupl eo kas {filename} evel emañ un teuliad pe ez eus 0 bytes anezhañ",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "N'eus ket trawalc'h a blas: o klask kas {size1} emaoc'h met n'eus nemet {size2} dieub",
- "Target folder \"{dir}\" does not exist any more" : "An teuliad \"{dir}\" n'eus ket anezhañ ken",
- "Not enough free space" : "N'eus ket trawalc'h a blas",
- "An unknown error has occurred" : "Ur fazi dizanv a zo bet",
- "Uploading …" : "O pellgas ...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} diwar {totalSize} ({bitrate})",
- "Uploading that item is not supported" : "N'haller ket pellgas seurt restroù",
- "Target folder does not exist any more" : "An teuliad n'eus ket anezhañ ken",
- "Error when assembling chunks, status code {status}" : "Ur fazi zo bet en ur dolpañ ar blokoù, kod stad {status}",
- "Actions" : "Oberoù",
- "Rename" : "Adenvel",
- "Move" : "Diplasañ",
- "Copy" : "Eilañ",
- "Choose target folder" : "Dibab an teuliad moned",
- "Open" : "Digeriñ",
- "Delete file" : "Diverkañ ar restr",
- "Delete folder" : "Diverkañ an teuliad",
- "Disconnect storage" : "Digevreañ ar skor stokañ-mañ",
- "Could not load info for file \"{file}\"" : "Dibosupl eo kargañ titouroù ar restr \"{file}\"",
- "Files" : "Restroù",
- "Details" : "Munudoù",
- "Pending" : "O c'hortoz",
- "Unable to determine date" : "Dibosupl eo resisaat an deiziat",
- "This operation is forbidden" : "Difennet eo an ober-mañ",
- "This directory is unavailable, please check the logs or contact the administrator" : "N'eus ket tu da dizhout an teuliad-mañ, lennit al logoù pe kit e darempred gant ar merour",
- "Storage is temporarily not available" : "N'haller ket tizhout ar skor roadennoù evit ar poent",
- "Could not move \"{file}\", target exists" : "Dibosupl eo diblasañ \"{file}\", ar bukenn zo anezhi",
- "Could not move \"{file}\"" : "Dibosupl eo diblasañ \"{file}\"",
- "copy" : "eilañ",
- "Could not copy \"{file}\", target exists" : "Dibosupl eo eilañ \"{file}\", ar bukenn zo anezhi",
- "Could not copy \"{file}\"" : "Dibosupl eo eilañ \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} eilet e-barzh {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ha {nbfiles} restr all eilet e-barzh {destination}",
- "{newName} already exists" : "{newName} zo anezhañ dija",
- "Could not rename \"{fileName}\", it does not exist any more" : "Dibosupl eo adenvel \"{fileName}\", n'eus ket anezhan ken",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "An anv \"{targetName}\" a zo implijet en teuliad \\\"{dir}\\\". Trugarez da zibab un anv all.",
- "Could not rename \"{fileName}\"" : "Dibosupl eo adenvel \"{fileName}\"",
- "Could not create file \"{file}\"" : "Dibosupl eo krouiñ ar restr \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "Dibosupl eo krouiñ ar restr \"{file}\" peogwir ez eus anezhañ c'hoazh",
- "Could not create folder \"{dir}\" because it already exists" : "Dibosupl eo krouiñ an teuliad \"{dir}\" peogwir ez eus anezhañ c'hoazh",
- "Could not fetch file details \"{file}\"" : "Dibosupl eo adtapout munudoù ar restr \"{file}\"",
- "Error deleting file \"{fileName}\"." : "Ur fazi zo bet en ur ziverkañ ar restr \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "Disoc'h ebet e teuliadoù all evit {tag}{filter}{endtag}",
- "Enter more than two characters to search in other folders" : "Lakait muioc'h eget daou arouez evit klask e teuliadoù all",
- "Name" : "Anv",
- "Size" : "Ment",
- "Modified" : "Cheñchet",
- "_%n folder_::_%n folders_" : ["%nteuliad","%n deuliad","teuliadoù zo","an darn vrasañ eus an teuliadoù","%n teuliad"],
- "_%n file_::_%n files_" : ["%n restr","%n restr","restroù zo","an darn vrasañ eus ar restroù","%n restr"],
- "{dirs} and {files}" : "{dirs} ha {files}",
- "_including %n hidden_::_including %n hidden_" : [" %n koachet en o zouez","%n goachet en o zouez","koachet en o zouez","koachet en o zouez","koachet en o zouez %n"],
- "_Uploading %n file_::_Uploading %n files_" : ["%n restr o vezañ karget","%n restr o vezañ karget","restroù zo o vezañ karget","an darn vrasañ eus ar restroù o vezañ karget","%n restr o vezañ karget"],
- "New" : "Nevez",
- "Select file range" : "Dibab un tachad restroù",
- "{used} of {quota} used" : "{used} diwar {quota} implijet",
- "{used} used" : "{used} implijet",
- "\"{name}\" is an invalid file name." : "N'eo ket \"{name}\" un anv restr aotreet.",
- "File name cannot be empty." : "N'hall ket anv ur restr bezañ goullo.",
- "\"/\" is not allowed inside a file name." : "N'eo ket aotreet \"/\" e anv ur restr.",
- "\"{name}\" is not an allowed filetype" : "N'eo ket \"{name}\" un doare restr aotreet",
- "Storage of {owner} is almost full ({usedSpacePercent}%)." : "Lec'h renkañ {owner} a zo kaji leun ({usedSpacePercent}%).",
- "Your storage is almost full ({usedSpacePercent}%)." : "Ho lec'h renkañ a zo kaji leun ({usedSpacePercent}%).",
- "View in folder" : "Diskwel en teuliad",
- "Path" : "Hent",
- "_%n byte_::_%n bytes_" : ["okted","okted","okted","okted","%n okted"],
- "Favorited" : "Lakaet evel pennroll",
- "Favorite" : "Pennrollañ",
- "New folder" : "Teuliad nevez",
- "Create new folder" : "Krouiñ un teuliad nevez",
- "Upload file" : "Pellgas ur restr",
- "Recent" : "Nevez",
- "Not favorited" : "N'eo ket bet pennrollet",
- "Remove from favorites" : "Diverkañañ eus ar pennrolloù",
- "Add to favorites" : "Ouzhpennañ er pennrolloù",
- "An error occurred while trying to update the tags" : "Ur fazi a zo bet en ur neveziñ ar c'hlavoù",
- "Added to favorites" : "Ouzhpennet er pennrolloù",
- "Removed from favorites" : "Diverket eus ar pennrolloù",
- "You added {file} to your favorites" : "Ouzhpennet ho peus {file} en ho pennrolloù",
- "You removed {file} from your favorites" : "Diverket ho peus {file} eus ho pennrolloù",
- "Favorites" : "Pennrolloù",
- "File changes" : "Cheñch ar restroù",
- "Created by {user}" : "Krouet gant {user}",
- "Changed by {user}" : "Cheñchet gant {user}",
- "Deleted by {user}" : "Dilemet gant {user}",
- "Restored by {user}" : "Adsavet gant {user}",
- "Renamed by {user}" : "Adanvet gant {user}",
- "Moved by {user}" : "Dilec'hiet gant {user}",
- "You created {file}" : "Krouet ho peus {file}",
- "You created an encrypted file in {file}" : "Ur restr sifret ho peus krouet e {file}",
- "{user} created {file}" : "{user} en.he deus krouet {file}",
- "{user} created an encrypted file in {file}" : " {file} a zo bet sifret gant {user}",
- "{file} was created in a public folder" : "{file} a zo bet krouet en un teuliad foran",
- "You changed {file}" : "Cheñchet ho peus {file}",
- "You changed an encrypted file in {file}" : "Ur restr sifret ho peus cheñchet e {file}",
- "{user} changed {file}" : "{file} a zo bet cheñchet gant {user}",
- "{user} changed an encrypted file in {file}" : "{file} a zo bet cheñchet gant {user}",
- "You deleted {file}" : "Dilemet ho peus {file}",
- "You deleted an encrypted file in {file}" : "Ur rest sufret e {file} ho peus dilemet.",
- "{user} deleted {file}" : "{user} en.he deus diverket {file}",
- "{user} deleted an encrypted file in {file}" : "Ur restr sifret e {file} a zo bet dilemet gant {user}",
- "You restored {file}" : "Adsavet ho peus {file}",
- "{user} restored {file}" : "{file} a zo bet adsavet gant {user}",
- "You renamed {oldfile} to {newfile}" : "Adanvet ho peus {oldfile} e {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{oldfile} a zo bet adanvet gant {user} e {newfile}",
- "You moved {oldfile} to {newfile}" : "Dilec'hiet ho peus {oldfile} e {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{oldfile} a zo bet dilec'hiet gant {user} e {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Ur restr a zo bet ouzhpennet pe ziverket en ho <strong>pennrolloù</strong>",
- "A file or folder has been <strong>changed</strong>" : "Ur restr pe un teuliad a zo bet <strong>cheñchet</strong>",
- "A favorite file or folder has been <strong>changed</strong>" : "Unan eus ho restr pe teuliad karetañ a zo bet <strong>cheñchet</strong>",
- "Upload (max. %s)" : "Pellgas (max. %s)",
- "Accept" : "Asantiñ",
- "Reject" : "Nac'hañ",
- "Incoming ownership transfer from {user}" : "Treuzkas perc'henniezh a-berzh {user}",
- "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Asantiña rit {path} ?\n\nN. B. : Gallout a ra oberiadur an treuzkas padout betek 1 eur.",
- "Ownership transfer failed" : "C'hwitet eo bet an treuzkas perc'henniezh",
- "Your ownership transfer of {path} to {user} failed." : "Ho treuzkas perc'henniezh eus {path} da {user} en deus c'hwitet.",
- "The ownership transfer of {path} from {user} failed." : "An treuzkas perc'henniezh eus {path} da {user} en deus c'hwitet.",
- "Ownership transfer done" : "Treuzkas perc'hienniezh echu",
- "Your ownership transfer of {path} to {user} has completed." : "Ho treuzkas perc'henniezh eus {path} da {user} a zo echu.",
- "The ownership transfer of {path} from {user} has completed." : "An treuzkas perc'henniezh eus {path} da {user} a zo echu.",
- "in %s" : "e %s",
- "File Management" : "Meradur ar restr",
- "You don’t have permission to upload or create files here" : "N'och ket aotreet kas pe krouiñ restroù amañ",
- "Folder name" : "Anv teuliad",
- "Your storage is full, files can not be updated or synced anymore!" : "Leun eo ho skor stokañ. Ne c'hall ket ar restroù bezañ na nevezet na kempredet ken !",
- "Create" : "Krouiñ",
- "Transfer ownership of a file or folder" : "Treuzkas perc'henniezh ur restr pe un teuliad",
- "Choose file or folder to transfer" : "Dibabit ur restr pe un teuliad da dreuzkas",
- "Change" : "Cheñch",
- "New owner" : "Perc'henn nevez",
- "Choose a file or folder to transfer" : "Dibabit ur restr pe un teuliad da dreuzkas",
- "Transfer" : "Treuzkas",
- "Transfer {path} to {userid}" : "Treuzkas {path} da {userid}",
- "Invalid path selected" : "An hent dibabet n'eus ket anezhañ",
- "Unknown error" : "Fazi dizanv",
- "Ownership transfer request sent" : "Kaset eo bet ar goulenn treuzkas perc'henniezh",
- "No files in here" : "Restr ebet amañ",
- "Upload some content or sync with your devices!" : "Pellgas endalc'hoù pe gempredañ ho mekanikoù!",
- "Shared by link" : "Rannet dre liamm",
- "Shared" : "Rannet",
- "Show hidden files" : "Diskouez ar restroù koachet",
- "Additional settings" : "Stummoù ouzhpenn",
- "WebDAV" : "WebDAV",
- "Use this address to access your Files via WebDAV" : "Implijit ar chomlec'h-mañ evit tizhout ho restroù dre WebDAV",
- "Unable to change the favourite state of the file" : "Dibosupl eo cheñch stad pennroll ar restr",
- "Error while loading the file data" : "Ur fazi zo bet en ur gargañ roadennoùar restr",
- "Delete permanently" : "Lamet da viken",
- "Cancel" : "Arrest",
- "Filename" : "Anv restr",
- "Some files could not be moved" : "Ne oa ket posupl diblasañ ar restroù",
- "No favorites yet" : "Pennroll ebet evit ar poent",
- "Files and folders you mark as favorite will show up here" : "Ar restroù ha teuliadoù ouzhpennet en ho pennrolloù a vo diskwelet amañ",
- "All files" : "An holl restroù",
- "No entries found in this folder" : "Disoc'h ebet en teuliad-mañ",
- "Select all" : "Dibab pep tra",
- "Upload too large" : "Re bonner eo ar gasadenn",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Ar restroù a glaskit pellgas a ya dreist d'ar vent vrasañ aotreet gant ar servijer mañ.",
- "Text file" : "Restr testenn",
- "New text file.txt" : "Restr testenn nevez rest.txt",
- "Copy direct link (only works for users who have access to this file/folder)" : "Eilañ al liamm eeun (nemet evit an implijourien aotreet da dizhout ar restr-mañ pe an teuliad-mañ)",
- "You can only favorite a single file or folder at a time" : "Ne c'hallit ouzhpennañ nemet ur pennroll teuliad pe restr en un taol.",
- "\"remote user\"" : "\"pell-implijer\"",
- "Choose" : "Dibab",
- "Toggle grid view" : "Gweredekat/Diweredekat an diskwel roued",
- "Shares" : "Rannañ",
- "Shared with others" : "Rannet gant tud all",
- "Shared with you" : "Rannet ganeoc'h",
- "Deleted shares" : "Rannañ dilemet",
- "Pending shares" : "Rannañ o c'hortoz"
-},"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/bs.js b/apps/files/l10n/bs.js
deleted file mode 100644
index 30adf5d7b06..00000000000
--- a/apps/files/l10n/bs.js
+++ /dev/null
@@ -1,75 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "Storage not available" : "Pohrana je nedostupna",
- "Storage invalid" : "Pohrana je neispravna",
- "Unknown error" : "Nepoznata greška",
- "Unable to set upload directory." : "Odredba direktorija učitavanja nije moguća.",
- "Invalid Token" : "Neispravan Znak",
- "No file was uploaded. Unknown error" : "Nijedna datoteka nije učitana. Nepoznata greška.",
- "There is no error, the file uploaded with success" : "Nema greške, datoteka je uspješno učitana.",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Učitana datoteka prelazi maksimalnu dopuštenu veličinu datoteke upload_max_filesize navedenu u php. ini: ",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Učitana datoteka premašuje maksimalnu dopuštenu veličinu datoteke MAX_FILE_SIZE navedenu u HTML formi",
- "The uploaded file was only partially uploaded" : "Učitana datoteka je samo djelomično učitana",
- "No file was uploaded" : "Nijedna datoteka nije učitana.",
- "Missing a temporary folder" : "Nedostaje privremeni direktorij.",
- "Failed to write to disk" : "Zapisivanje na disk nije uspjelo.",
- "Not enough storage available" : "Prostor za pohranu je nedovoljan",
- "The target folder has been moved or deleted." : "Ciljni direktorij je premješten ili izbrisan.",
- "Upload failed. Could not find uploaded file" : "Neuspješno učitavanje. Nije pronađena učitana dataoteka",
- "Upload failed. Could not get file info." : "Neuspješno učitavanje. Nedostupne informacije o datoteci.",
- "Invalid directory." : "Neispravan direktorij.",
- "Files" : "Datoteke",
- "All files" : "Sve datoteke",
- "Home" : "Kuća",
- "Close" : "Zatvori",
- "Favorites" : "Favoriti",
- "Upload cancelled." : "Učitavanje je prekinuto.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nemoguće učitati {filename} jer je ili direktorij ili ima 0 bajta",
- "Total file size {size1} exceeds upload limit {size2}" : "Ukupna veličina datoteke {size1} prelazi ograničenje unosa {size2}",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nedovoljno slobodnog prostora, vi učitavate {size1} a samo je {size2} preostalo",
- "Could not get result from server." : "Nemoguće dobiti rezultat od servera.",
- "File upload is in progress. Leaving the page now will cancel the upload." : "Učitavanje datoteke je u toku. Napuštanje stranice prekinut će učitavanje.",
- "Actions" : "Radnje",
- "Download" : "Preuzmi",
- "Rename" : "Preimenuj",
- "Delete" : "Izbriši",
- "Disconnect storage" : "Diskonektuj pohranu",
- "Unshare" : "Prestani dijeliti",
- "Select" : "Izaberi",
- "Pending" : "Na čekanju",
- "Unable to determine date" : "Nemoguće odrediti datum",
- "Name" : "Ime",
- "Size" : "Veličina",
- "Modified" : "Izmijenjeno",
- "_%n folder_::_%n folders_" : ["direktorij","direktoriji","direktoriji"],
- "_%n file_::_%n files_" : ["%n datoteka","%n datoteke","%n datoteke"],
- "{dirs} and {files}" : "{dirs} i {files}",
- "You don’t have permission to upload or create files here" : "Ovdje niste ovlašteni učitavati ili kreirati datoteke",
- "_Uploading %n file_::_Uploading %n files_" : ["Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteke"],
- "New" : "Novo",
- "\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.",
- "File name cannot be empty." : "Naziv datoteke ne može biti prazan",
- "Your storage is full, files can not be updated or synced anymore!" : "Vaša pohrana je puna, datoteke više nije moguće ažurirati niti sinhronizirati!",
- "Your storage is almost full ({usedSpacePercent}%)" : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)",
- "Favorited" : "Favorizovano",
- "Favorite" : "Favorit",
- "Folder" : "Direktorij",
- "New folder" : "Novi direktorij",
- "Upload" : "Učitaj",
- "Upload (max. %s)" : "Učitaj (max. %s)",
- "File handling" : "Obrada datoteke",
- "Maximum upload size" : "Maksimalna veličina učitavanja",
- "max. possible: " : "max. moguće: ",
- "Save" : "Spasi",
- "Settings" : "Postavke",
- "WebDAV" : "WebDAV",
- "Upload some content or sync with your devices!" : "Učitaj neki sadržaj ili sinhronizuj sa tvojim uređajima!",
- "Select all" : "Označi sve",
- "Upload too large" : "Učitavanje je preveliko",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Datoteke koje pokušavate učitati prelaze maksimalnu veličinu za učitavanje datoteka na ovom serveru.",
- "No favorites" : "Nema favorita",
- "Files and folders you mark as favorite will show up here" : "Datoteke i direktorij koje ste označili kao favorite će biti prikazane ovdje",
- "Text file" : "Tekstualna datoteka"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files/l10n/bs.json b/apps/files/l10n/bs.json
deleted file mode 100644
index 1d06dca2da8..00000000000
--- a/apps/files/l10n/bs.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{ "translations": {
- "Storage not available" : "Pohrana je nedostupna",
- "Storage invalid" : "Pohrana je neispravna",
- "Unknown error" : "Nepoznata greška",
- "Unable to set upload directory." : "Odredba direktorija učitavanja nije moguća.",
- "Invalid Token" : "Neispravan Znak",
- "No file was uploaded. Unknown error" : "Nijedna datoteka nije učitana. Nepoznata greška.",
- "There is no error, the file uploaded with success" : "Nema greške, datoteka je uspješno učitana.",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Učitana datoteka prelazi maksimalnu dopuštenu veličinu datoteke upload_max_filesize navedenu u php. ini: ",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Učitana datoteka premašuje maksimalnu dopuštenu veličinu datoteke MAX_FILE_SIZE navedenu u HTML formi",
- "The uploaded file was only partially uploaded" : "Učitana datoteka je samo djelomično učitana",
- "No file was uploaded" : "Nijedna datoteka nije učitana.",
- "Missing a temporary folder" : "Nedostaje privremeni direktorij.",
- "Failed to write to disk" : "Zapisivanje na disk nije uspjelo.",
- "Not enough storage available" : "Prostor za pohranu je nedovoljan",
- "The target folder has been moved or deleted." : "Ciljni direktorij je premješten ili izbrisan.",
- "Upload failed. Could not find uploaded file" : "Neuspješno učitavanje. Nije pronađena učitana dataoteka",
- "Upload failed. Could not get file info." : "Neuspješno učitavanje. Nedostupne informacije o datoteci.",
- "Invalid directory." : "Neispravan direktorij.",
- "Files" : "Datoteke",
- "All files" : "Sve datoteke",
- "Home" : "Kuća",
- "Close" : "Zatvori",
- "Favorites" : "Favoriti",
- "Upload cancelled." : "Učitavanje je prekinuto.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nemoguće učitati {filename} jer je ili direktorij ili ima 0 bajta",
- "Total file size {size1} exceeds upload limit {size2}" : "Ukupna veličina datoteke {size1} prelazi ograničenje unosa {size2}",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nedovoljno slobodnog prostora, vi učitavate {size1} a samo je {size2} preostalo",
- "Could not get result from server." : "Nemoguće dobiti rezultat od servera.",
- "File upload is in progress. Leaving the page now will cancel the upload." : "Učitavanje datoteke je u toku. Napuštanje stranice prekinut će učitavanje.",
- "Actions" : "Radnje",
- "Download" : "Preuzmi",
- "Rename" : "Preimenuj",
- "Delete" : "Izbriši",
- "Disconnect storage" : "Diskonektuj pohranu",
- "Unshare" : "Prestani dijeliti",
- "Select" : "Izaberi",
- "Pending" : "Na čekanju",
- "Unable to determine date" : "Nemoguće odrediti datum",
- "Name" : "Ime",
- "Size" : "Veličina",
- "Modified" : "Izmijenjeno",
- "_%n folder_::_%n folders_" : ["direktorij","direktoriji","direktoriji"],
- "_%n file_::_%n files_" : ["%n datoteka","%n datoteke","%n datoteke"],
- "{dirs} and {files}" : "{dirs} i {files}",
- "You don’t have permission to upload or create files here" : "Ovdje niste ovlašteni učitavati ili kreirati datoteke",
- "_Uploading %n file_::_Uploading %n files_" : ["Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteke"],
- "New" : "Novo",
- "\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.",
- "File name cannot be empty." : "Naziv datoteke ne može biti prazan",
- "Your storage is full, files can not be updated or synced anymore!" : "Vaša pohrana je puna, datoteke više nije moguće ažurirati niti sinhronizirati!",
- "Your storage is almost full ({usedSpacePercent}%)" : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)",
- "Favorited" : "Favorizovano",
- "Favorite" : "Favorit",
- "Folder" : "Direktorij",
- "New folder" : "Novi direktorij",
- "Upload" : "Učitaj",
- "Upload (max. %s)" : "Učitaj (max. %s)",
- "File handling" : "Obrada datoteke",
- "Maximum upload size" : "Maksimalna veličina učitavanja",
- "max. possible: " : "max. moguće: ",
- "Save" : "Spasi",
- "Settings" : "Postavke",
- "WebDAV" : "WebDAV",
- "Upload some content or sync with your devices!" : "Učitaj neki sadržaj ili sinhronizuj sa tvojim uređajima!",
- "Select all" : "Označi sve",
- "Upload too large" : "Učitavanje je preveliko",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Datoteke koje pokušavate učitati prelaze maksimalnu veličinu za učitavanje datoteka na ovom serveru.",
- "No favorites" : "Nema favorita",
- "Files and folders you mark as favorite will show up here" : "Datoteke i direktorij koje ste označili kao favorite će biti prikazane ovdje",
- "Text file" : "Tekstualna datoteka"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js
index ab84c93e361..c087434a9d2 100644
--- a/apps/files/l10n/ca.js
+++ b/apps/files/l10n/ca.js
@@ -218,6 +218,7 @@ OC.L10N.register(
"Show those shortcuts" : "Mostra aquestes dreceres",
"You" : "Vós",
"Shared multiple times with different people" : "S'ha compartit diverses vegades amb persones diferents",
+ "Unable to change the favorite state of the file" : "No es pot canviar l'estat preferit del fitxer",
"Error while loading the file data" : "S'ha produït un error en carregar la informació del fitxer",
"Owner" : "Propietat",
"Remove from favorites" : "Suprimeix dels preferits",
@@ -258,8 +259,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Esteu a punt de suprimir {count} element","Esteu a punt de suprimir {count} elements"],
"Confirm deletion" : "Confirma la supressió",
"Cancel" : "Cancel·la",
+ "Download" : "Baixa",
"Moving \"{source}\" to \"{destination}\" …" : "S'està movent \"{source}\" a \"{destination}”…",
"Copying \"{source}\" to \"{destination}\" …" : "S'està copiant \"{source}\" a \"{destination}” …",
+ "Destination is not a folder" : "La destinació no és una carpeta",
+ "This file/folder is already in that directory" : "Aquest fitxer o carpeta ja existeix en aquesta carpeta",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "No podeu moure un fitxer o carpeta a la mateixa carpeta o a una subcarpeta de la mateixa carpeta",
"(copy)" : "(còpia)",
"(copy %n)" : "(còpia %n)",
@@ -321,6 +325,9 @@ OC.L10N.register(
"Files moved successfully" : "Els fitxers s'han mogut correctament",
"Conflicts resolution skipped" : "S'ha omès la resolució de conflictes",
"Upload cancelled" : "S'ha cancel·lat la pujada",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No s'ha pogut canviar el nom de «{oldName}», ja no existeix",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nom «{newName}» ja està en ús en la carpeta «{dir}». Trieu un nom diferent.",
+ "Could not rename \"{oldName}\"" : "No s'ha pogut canviar el nom de «{oldName}»",
"This operation is forbidden" : "Aquesta operació no està permesa",
"This directory is unavailable, please check the logs or contact the administrator" : "Aquesta carpeta no està disponible. Consulteu els registres o contacteu amb l'administrador",
"Storage is temporarily not available" : "L'emmagatzematge no està disponible temporalment",
@@ -351,7 +358,6 @@ OC.L10N.register(
"Upload too large" : "La pujada és massa gran",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Els fitxers que intenteu pujar superen la mida màxima de pujada de fitxers del servidor.",
"File could not be found" : "No s'ha pogut trobar el fitxer",
- "Download" : "Baixa",
"Show list view" : "Mostra la visualització de llista",
"Show grid view" : "Mostra la visualització de graella",
"Close" : "Tanca",
@@ -390,9 +396,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "S'ha copiat {origin} a {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "S'han copiat {origin} i {nbfiles} fitxers més a {destination}",
"{newName} already exists" : "{newName} ja existeix",
- "Could not rename \"{oldName}\", it does not exist any more" : "No s'ha pogut canviar el nom de «{oldName}», ja no existeix",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nom «{newName}» ja està en ús en la carpeta «{dir}». Trieu un nom diferent.",
- "Could not rename \"{oldName}\"" : "No s'ha pogut canviar el nom de «{oldName}»",
"Could not create file \"{file}\"" : "No s'ha pogut crear el fitxer «{file}»",
"Could not create file \"{file}\" because it already exists" : "No s'ha pogut crear el fitxer «{file}» perquè ja existeix",
"Could not create folder \"{dir}\" because it already exists" : "No s'ha pogut crear la carpeta «{dir}» perquè ja existeix",
@@ -441,8 +444,6 @@ OC.L10N.register(
"{fileCount} files and {folderCount} folders" : "{fileCount} fitxers i {folderCount} carpetes",
"Personal Files" : "FItxers personals",
"Text file" : "Fitxer de text",
- "New text file.txt" : "Fitxer de text nou.txt",
- "{count} files could not be converted" : "No s'han pogut convertir {count} fitxers",
- "{count} files successfully converted" : "{count} fitxers convertits correctament"
+ "New text file.txt" : "Fitxer de text nou.txt"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json
index 9708530484e..1990d885d0b 100644
--- a/apps/files/l10n/ca.json
+++ b/apps/files/l10n/ca.json
@@ -216,6 +216,7 @@
"Show those shortcuts" : "Mostra aquestes dreceres",
"You" : "Vós",
"Shared multiple times with different people" : "S'ha compartit diverses vegades amb persones diferents",
+ "Unable to change the favorite state of the file" : "No es pot canviar l'estat preferit del fitxer",
"Error while loading the file data" : "S'ha produït un error en carregar la informació del fitxer",
"Owner" : "Propietat",
"Remove from favorites" : "Suprimeix dels preferits",
@@ -256,8 +257,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Esteu a punt de suprimir {count} element","Esteu a punt de suprimir {count} elements"],
"Confirm deletion" : "Confirma la supressió",
"Cancel" : "Cancel·la",
+ "Download" : "Baixa",
"Moving \"{source}\" to \"{destination}\" …" : "S'està movent \"{source}\" a \"{destination}”…",
"Copying \"{source}\" to \"{destination}\" …" : "S'està copiant \"{source}\" a \"{destination}” …",
+ "Destination is not a folder" : "La destinació no és una carpeta",
+ "This file/folder is already in that directory" : "Aquest fitxer o carpeta ja existeix en aquesta carpeta",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "No podeu moure un fitxer o carpeta a la mateixa carpeta o a una subcarpeta de la mateixa carpeta",
"(copy)" : "(còpia)",
"(copy %n)" : "(còpia %n)",
@@ -319,6 +323,9 @@
"Files moved successfully" : "Els fitxers s'han mogut correctament",
"Conflicts resolution skipped" : "S'ha omès la resolució de conflictes",
"Upload cancelled" : "S'ha cancel·lat la pujada",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No s'ha pogut canviar el nom de «{oldName}», ja no existeix",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nom «{newName}» ja està en ús en la carpeta «{dir}». Trieu un nom diferent.",
+ "Could not rename \"{oldName}\"" : "No s'ha pogut canviar el nom de «{oldName}»",
"This operation is forbidden" : "Aquesta operació no està permesa",
"This directory is unavailable, please check the logs or contact the administrator" : "Aquesta carpeta no està disponible. Consulteu els registres o contacteu amb l'administrador",
"Storage is temporarily not available" : "L'emmagatzematge no està disponible temporalment",
@@ -349,7 +356,6 @@
"Upload too large" : "La pujada és massa gran",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Els fitxers que intenteu pujar superen la mida màxima de pujada de fitxers del servidor.",
"File could not be found" : "No s'ha pogut trobar el fitxer",
- "Download" : "Baixa",
"Show list view" : "Mostra la visualització de llista",
"Show grid view" : "Mostra la visualització de graella",
"Close" : "Tanca",
@@ -388,9 +394,6 @@
"Copied {origin} inside {destination}" : "S'ha copiat {origin} a {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "S'han copiat {origin} i {nbfiles} fitxers més a {destination}",
"{newName} already exists" : "{newName} ja existeix",
- "Could not rename \"{oldName}\", it does not exist any more" : "No s'ha pogut canviar el nom de «{oldName}», ja no existeix",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nom «{newName}» ja està en ús en la carpeta «{dir}». Trieu un nom diferent.",
- "Could not rename \"{oldName}\"" : "No s'ha pogut canviar el nom de «{oldName}»",
"Could not create file \"{file}\"" : "No s'ha pogut crear el fitxer «{file}»",
"Could not create file \"{file}\" because it already exists" : "No s'ha pogut crear el fitxer «{file}» perquè ja existeix",
"Could not create folder \"{dir}\" because it already exists" : "No s'ha pogut crear la carpeta «{dir}» perquè ja existeix",
@@ -439,8 +442,6 @@
"{fileCount} files and {folderCount} folders" : "{fileCount} fitxers i {folderCount} carpetes",
"Personal Files" : "FItxers personals",
"Text file" : "Fitxer de text",
- "New text file.txt" : "Fitxer de text nou.txt",
- "{count} files could not be converted" : "No s'han pogut convertir {count} fitxers",
- "{count} files successfully converted" : "{count} fitxers convertits correctament"
+ "New text file.txt" : "Fitxer de text nou.txt"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/cs.js b/apps/files/l10n/cs.js
index a9c2ff8201a..43010512ed6 100644
--- a/apps/files/l10n/cs.js
+++ b/apps/files/l10n/cs.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "Zobrazit tyto zkratky",
"You" : "Vy",
"Shared multiple times with different people" : "Nasdílet několikrát různým lidem",
+ "Unable to change the favorite state of the file" : "Nebylo možné změnit stav zařazení mezi oblíbené souboru",
"Error while loading the file data" : "Chyba při načítání dat souboru",
"Owner" : "Vlastník",
"Remove from favorites" : "Odebrat z oblíbených",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Chystáte se smazat {count} položku","Chystáte se smazat {count} položky","Chystáte se smazat {count} položek","Chystáte se smazat {count} položky"],
"Confirm deletion" : "Potvrdit smazání",
"Cancel" : "Storno",
+ "Download" : "Stáhnout",
"Moving \"{source}\" to \"{destination}\" …" : "Přesouvání „{source}“ do „{destination}“ …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopírování „{source}“ do „{destination}“ …",
+ "Destination is not a folder" : "Cíl není složka",
+ "This file/folder is already in that directory" : "V oné složce se už daný soubor/složka nachází",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Není možné přesunout soubor/složku do sebe samé nebo do své vlastní podložky",
"(copy)" : "(zkopírovat)",
"(copy %n)" : "(zkopírovat %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "Soubory úspěšně přesunuty",
"Conflicts resolution skipped" : "Řešení kolizí přeskočeno",
"Upload cancelled" : "Nahrávání zrušeno",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Není možné přejmenovat „{oldName}“ – už neexistuje",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Název „{newName}“ je už použitý ve složce „{dir}“. Zvolte jiný název.",
+ "Could not rename \"{oldName}\"" : "„{oldName}“ se nepodařilo přejmenovat",
"This operation is forbidden" : "Tato operace je zakázána",
"This directory is unavailable, please check the logs or contact the administrator" : "Tento adresář není dostupný, zkontrolujte záznamy událostí nebo se obraťte na správce",
"Storage is temporarily not available" : "Úložiště je dočasně nedostupné",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "Nahrávaná data jsou příliš objemná",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Soubory, které se snažíte nahrát, překračují limit velikosti nahrávání na tomto serveru.",
"File could not be found" : "Soubor se nedaří nalézt",
- "Download" : "Stáhnout",
"Show list view" : "Zobrazit v seznamu",
"Show grid view" : "Zobrazit v mřížce",
"Close" : "Zavřít",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} zkopírován do {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} a {nbfiles} dalších souborů zkopírováno do {destination}",
"{newName} already exists" : "{newName} už existuje",
- "Could not rename \"{oldName}\", it does not exist any more" : "Není možné přejmenovat „{oldName}“ – už neexistuje",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Název „{newName}“ je už použitý ve složce „{dir}“. Zvolte jiný název.",
- "Could not rename \"{oldName}\"" : "„{oldName}“ se nepodařilo přejmenovat",
"Could not create file \"{file}\"" : "Soubor „{file}“ nelze vytvořit",
"Could not create file \"{file}\" because it already exists" : "Soubor „{file}“ nelze vytvořit, protože zde už existuje",
"Could not create folder \"{dir}\" because it already exists" : "Složku „{dir}“ nelze vytvořit, protože už existuje",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "Nový textový soubor.txt",
"%1$s (renamed)" : "%1$s (přejmenované)",
"renamed file" : "přejmenovaný soubor",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Po povolení názvů souborů, kompatibilních s Windows, stávající soubory už nebude možné změnit, ale je možné je přejmenovat na platné nové názvy jejich vlastníkem.",
- "{count} files could not be converted" : "{count} souborů nebylo možné převést",
- "{count} files successfully converted" : "{count} souborů úspěšně převedeno"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Po povolení názvů souborů, kompatibilních s Windows, stávající soubory už nebude možné změnit, ale je možné je přejmenovat na platné nové názvy jejich vlastníkem."
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
diff --git a/apps/files/l10n/cs.json b/apps/files/l10n/cs.json
index af1a6a9114a..20cfeaa25a0 100644
--- a/apps/files/l10n/cs.json
+++ b/apps/files/l10n/cs.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "Zobrazit tyto zkratky",
"You" : "Vy",
"Shared multiple times with different people" : "Nasdílet několikrát různým lidem",
+ "Unable to change the favorite state of the file" : "Nebylo možné změnit stav zařazení mezi oblíbené souboru",
"Error while loading the file data" : "Chyba při načítání dat souboru",
"Owner" : "Vlastník",
"Remove from favorites" : "Odebrat z oblíbených",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Chystáte se smazat {count} položku","Chystáte se smazat {count} položky","Chystáte se smazat {count} položek","Chystáte se smazat {count} položky"],
"Confirm deletion" : "Potvrdit smazání",
"Cancel" : "Storno",
+ "Download" : "Stáhnout",
"Moving \"{source}\" to \"{destination}\" …" : "Přesouvání „{source}“ do „{destination}“ …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopírování „{source}“ do „{destination}“ …",
+ "Destination is not a folder" : "Cíl není složka",
+ "This file/folder is already in that directory" : "V oné složce se už daný soubor/složka nachází",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Není možné přesunout soubor/složku do sebe samé nebo do své vlastní podložky",
"(copy)" : "(zkopírovat)",
"(copy %n)" : "(zkopírovat %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "Soubory úspěšně přesunuty",
"Conflicts resolution skipped" : "Řešení kolizí přeskočeno",
"Upload cancelled" : "Nahrávání zrušeno",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Není možné přejmenovat „{oldName}“ – už neexistuje",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Název „{newName}“ je už použitý ve složce „{dir}“. Zvolte jiný název.",
+ "Could not rename \"{oldName}\"" : "„{oldName}“ se nepodařilo přejmenovat",
"This operation is forbidden" : "Tato operace je zakázána",
"This directory is unavailable, please check the logs or contact the administrator" : "Tento adresář není dostupný, zkontrolujte záznamy událostí nebo se obraťte na správce",
"Storage is temporarily not available" : "Úložiště je dočasně nedostupné",
@@ -360,7 +367,6 @@
"Upload too large" : "Nahrávaná data jsou příliš objemná",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Soubory, které se snažíte nahrát, překračují limit velikosti nahrávání na tomto serveru.",
"File could not be found" : "Soubor se nedaří nalézt",
- "Download" : "Stáhnout",
"Show list view" : "Zobrazit v seznamu",
"Show grid view" : "Zobrazit v mřížce",
"Close" : "Zavřít",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "{origin} zkopírován do {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} a {nbfiles} dalších souborů zkopírováno do {destination}",
"{newName} already exists" : "{newName} už existuje",
- "Could not rename \"{oldName}\", it does not exist any more" : "Není možné přejmenovat „{oldName}“ – už neexistuje",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Název „{newName}“ je už použitý ve složce „{dir}“. Zvolte jiný název.",
- "Could not rename \"{oldName}\"" : "„{oldName}“ se nepodařilo přejmenovat",
"Could not create file \"{file}\"" : "Soubor „{file}“ nelze vytvořit",
"Could not create file \"{file}\" because it already exists" : "Soubor „{file}“ nelze vytvořit, protože zde už existuje",
"Could not create folder \"{dir}\" because it already exists" : "Složku „{dir}“ nelze vytvořit, protože už existuje",
@@ -453,8 +456,6 @@
"New text file.txt" : "Nový textový soubor.txt",
"%1$s (renamed)" : "%1$s (přejmenované)",
"renamed file" : "přejmenovaný soubor",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Po povolení názvů souborů, kompatibilních s Windows, stávající soubory už nebude možné změnit, ale je možné je přejmenovat na platné nové názvy jejich vlastníkem.",
- "{count} files could not be converted" : "{count} souborů nebylo možné převést",
- "{count} files successfully converted" : "{count} souborů úspěšně převedeno"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Po povolení názvů souborů, kompatibilních s Windows, stávající soubory už nebude možné změnit, ale je možné je přejmenovat na platné nové názvy jejich vlastníkem."
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
} \ No newline at end of file
diff --git a/apps/files/l10n/cy_GB.js b/apps/files/l10n/cy_GB.js
deleted file mode 100644
index 075164ddee4..00000000000
--- a/apps/files/l10n/cy_GB.js
+++ /dev/null
@@ -1,45 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "No file was uploaded. Unknown error" : "Ni lwythwyd ffeil i fyny. Gwall anhysbys.",
- "There is no error, the file uploaded with success" : "Does dim gwall, llwythodd y ffeil i fyny'n llwyddiannus",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Mae'r ffeil lwythwyd i fyny'n fwy na chyfarwyddeb upload_max_filesize yn php.ini:",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Mae'r ffeil lwythwyd i fyny'n fwy na chyfarwyddeb MAX_FILE_SIZE bennwyd yn y ffurflen HTML",
- "The uploaded file was only partially uploaded" : "Dim ond yn rhannol y llwythwyd y ffeil i fyny",
- "No file was uploaded" : "Ni lwythwyd ffeil i fyny",
- "Missing a temporary folder" : "Plygell dros dro yn eisiau",
- "Failed to write to disk" : "Methwyd ysgrifennu i'r ddisg",
- "Not enough storage available" : "Dim digon o le storio ar gael",
- "Invalid directory." : "Cyfeiriadur annilys.",
- "Files" : "Ffeiliau",
- "Home" : "Cartref",
- "Close" : "Cau",
- "Upload cancelled." : "Diddymwyd llwytho i fyny.",
- "Uploading..." : "Yn llwytho i fyny...",
- "File upload is in progress. Leaving the page now will cancel the upload." : "Mae ffeiliau'n cael eu llwytho i fyny. Bydd gadael y dudalen hon nawr yn diddymu'r broses.",
- "Actions" : "Gweithredoedd",
- "Download" : "Llwytho i lawr",
- "Rename" : "Ailenwi",
- "Delete" : "Dileu",
- "Unshare" : "Dad-rannu",
- "Details" : "Manylion",
- "Pending" : "I ddod",
- "Name" : "Enw",
- "Size" : "Maint",
- "Modified" : "Addaswyd",
- "New" : "Newydd",
- "File name cannot be empty." : "Does dim hawl cael enw ffeil gwag.",
- "Your storage is full, files can not be updated or synced anymore!" : "Mae eich storfa'n llawn, ni ellir diweddaru a chydweddu ffeiliau mwyach!",
- "Your storage is almost full ({usedSpacePercent}%)" : "Mae eich storfa bron a bod yn llawn ({usedSpacePercent}%)",
- "Folder" : "Plygell",
- "Upload" : "Llwytho i fyny",
- "File handling" : "Trafod ffeiliau",
- "Maximum upload size" : "Maint mwyaf llwytho i fyny",
- "max. possible: " : "mwyaf. posib:",
- "Save" : "Cadw",
- "Settings" : "Gosodiadau",
- "Upload too large" : "Maint llwytho i fyny'n rhy fawr",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Mae'r ffeiliau rydych yn ceisio llwytho i fyny'n fwy na maint mwyaf llwytho ffeiliau i fyny ar y gweinydd hwn.",
- "Text file" : "Ffeil destun"
-},
-"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;");
diff --git a/apps/files/l10n/cy_GB.json b/apps/files/l10n/cy_GB.json
deleted file mode 100644
index 698a79a2d9a..00000000000
--- a/apps/files/l10n/cy_GB.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{ "translations": {
- "No file was uploaded. Unknown error" : "Ni lwythwyd ffeil i fyny. Gwall anhysbys.",
- "There is no error, the file uploaded with success" : "Does dim gwall, llwythodd y ffeil i fyny'n llwyddiannus",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Mae'r ffeil lwythwyd i fyny'n fwy na chyfarwyddeb upload_max_filesize yn php.ini:",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Mae'r ffeil lwythwyd i fyny'n fwy na chyfarwyddeb MAX_FILE_SIZE bennwyd yn y ffurflen HTML",
- "The uploaded file was only partially uploaded" : "Dim ond yn rhannol y llwythwyd y ffeil i fyny",
- "No file was uploaded" : "Ni lwythwyd ffeil i fyny",
- "Missing a temporary folder" : "Plygell dros dro yn eisiau",
- "Failed to write to disk" : "Methwyd ysgrifennu i'r ddisg",
- "Not enough storage available" : "Dim digon o le storio ar gael",
- "Invalid directory." : "Cyfeiriadur annilys.",
- "Files" : "Ffeiliau",
- "Home" : "Cartref",
- "Close" : "Cau",
- "Upload cancelled." : "Diddymwyd llwytho i fyny.",
- "Uploading..." : "Yn llwytho i fyny...",
- "File upload is in progress. Leaving the page now will cancel the upload." : "Mae ffeiliau'n cael eu llwytho i fyny. Bydd gadael y dudalen hon nawr yn diddymu'r broses.",
- "Actions" : "Gweithredoedd",
- "Download" : "Llwytho i lawr",
- "Rename" : "Ailenwi",
- "Delete" : "Dileu",
- "Unshare" : "Dad-rannu",
- "Details" : "Manylion",
- "Pending" : "I ddod",
- "Name" : "Enw",
- "Size" : "Maint",
- "Modified" : "Addaswyd",
- "New" : "Newydd",
- "File name cannot be empty." : "Does dim hawl cael enw ffeil gwag.",
- "Your storage is full, files can not be updated or synced anymore!" : "Mae eich storfa'n llawn, ni ellir diweddaru a chydweddu ffeiliau mwyach!",
- "Your storage is almost full ({usedSpacePercent}%)" : "Mae eich storfa bron a bod yn llawn ({usedSpacePercent}%)",
- "Folder" : "Plygell",
- "Upload" : "Llwytho i fyny",
- "File handling" : "Trafod ffeiliau",
- "Maximum upload size" : "Maint mwyaf llwytho i fyny",
- "max. possible: " : "mwyaf. posib:",
- "Save" : "Cadw",
- "Settings" : "Gosodiadau",
- "Upload too large" : "Maint llwytho i fyny'n rhy fawr",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Mae'r ffeiliau rydych yn ceisio llwytho i fyny'n fwy na maint mwyaf llwytho ffeiliau i fyny ar y gweinydd hwn.",
- "Text file" : "Ffeil destun"
-},"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/files/l10n/da.js b/apps/files/l10n/da.js
index 100d0dfdd7e..4a538d91e3f 100644
--- a/apps/files/l10n/da.js
+++ b/apps/files/l10n/da.js
@@ -218,6 +218,7 @@ OC.L10N.register(
"Show those shortcuts" : "Vis disse genveje",
"You" : "Dig",
"Shared multiple times with different people" : "Delt flere gange med forskellige mennesker",
+ "Unable to change the favorite state of the file" : "Kan ikke ændre favoritstatus for filen",
"Error while loading the file data" : "Fejl under indlæsning af fildata",
"Owner" : "Ejer",
"Remove from favorites" : "Fjern fra favoritter",
@@ -258,8 +259,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Du er ved at slette {count} element","Du er ved at slette {count} elementer"],
"Confirm deletion" : "Bekræft sletning",
"Cancel" : "annuller",
+ "Download" : "Download",
"Moving \"{source}\" to \"{destination}\" …" : "Flytter \"{source}\" til \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopierer \"{source}\" til \"{destination}\" …",
+ "Destination is not a folder" : "Destinationen er ikke en mappe",
+ "This file/folder is already in that directory" : "Filen/mappen er allerede i denne mappe",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Du kan ikke flytte en fil/mappe ind i sig selv, eller til en mappe inden i sig selv",
"(copy)" : "(kopier)",
"(copy %n)" : "(kopier %n)",
@@ -321,6 +325,9 @@ OC.L10N.register(
"Files moved successfully" : "Filer flyttet succesfuldt",
"Conflicts resolution skipped" : "Konfliktløsning sprunget over",
"Upload cancelled" : "Upload annulleret",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kunne ikke omdøbe \"{oldName}\", da den findes ikke længere",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{newName}\" bruges allerede i mappen \"{dir}\". Vælg et andet navn.",
+ "Could not rename \"{oldName}\"" : "Kunne ikke omdøbe \"{oldName}\"",
"This operation is forbidden" : "Denne operation er forbudt",
"This directory is unavailable, please check the logs or contact the administrator" : "Denne mappe er utilgængelig, tjek venligst loggene eller kontakt administratoren",
"Storage is temporarily not available" : "Lagerplads er midlertidigt ikke tilgængeligt",
@@ -351,7 +358,6 @@ OC.L10N.register(
"Upload too large" : "Upload er for stor",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filerne, du prøver at uploade, er større end den maksimale størrelse for fil-upload på denne server.",
"File could not be found" : "Filen kunne ikke findes",
- "Download" : "Download",
"Show list view" : "Vis som liste",
"Show grid view" : "Vis som gitter",
"Close" : "Luk",
@@ -390,9 +396,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Kopirede {origin} ind i {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "kopierede {origin} og {nbfiles} andre filer ind i {destination}",
"{newName} already exists" : "{newName} eksisterer allerede",
- "Could not rename \"{oldName}\", it does not exist any more" : "Kunne ikke omdøbe \"{oldName}\", da den findes ikke længere",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{newName}\" bruges allerede i mappen \"{dir}\". Vælg et andet navn.",
- "Could not rename \"{oldName}\"" : "Kunne ikke omdøbe \"{oldName}\"",
"Could not create file \"{file}\"" : "Kunne ikke oprette filen \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Kunne ikke oprette filen \"{file}\", da den allerede findes",
"Could not create folder \"{dir}\" because it already exists" : "Kunne ikke oprette mappen \"{dir}\", da den allerede findes",
@@ -441,8 +444,6 @@ OC.L10N.register(
"{fileCount} files and {folderCount} folders" : "{fileCount} filer og {folderCount} mapper",
"Personal Files" : "Personlige filer",
"Text file" : "Tekstfil",
- "New text file.txt" : "Ny tekstfil.txt",
- "{count} files could not be converted" : "{count} filer kunne ikke konverteres",
- "{count} files successfully converted" : "{count} filer konverteret"
+ "New text file.txt" : "Ny tekstfil.txt"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json
index 55db3bf1cb8..95cd920e0a0 100644
--- a/apps/files/l10n/da.json
+++ b/apps/files/l10n/da.json
@@ -216,6 +216,7 @@
"Show those shortcuts" : "Vis disse genveje",
"You" : "Dig",
"Shared multiple times with different people" : "Delt flere gange med forskellige mennesker",
+ "Unable to change the favorite state of the file" : "Kan ikke ændre favoritstatus for filen",
"Error while loading the file data" : "Fejl under indlæsning af fildata",
"Owner" : "Ejer",
"Remove from favorites" : "Fjern fra favoritter",
@@ -256,8 +257,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Du er ved at slette {count} element","Du er ved at slette {count} elementer"],
"Confirm deletion" : "Bekræft sletning",
"Cancel" : "annuller",
+ "Download" : "Download",
"Moving \"{source}\" to \"{destination}\" …" : "Flytter \"{source}\" til \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopierer \"{source}\" til \"{destination}\" …",
+ "Destination is not a folder" : "Destinationen er ikke en mappe",
+ "This file/folder is already in that directory" : "Filen/mappen er allerede i denne mappe",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Du kan ikke flytte en fil/mappe ind i sig selv, eller til en mappe inden i sig selv",
"(copy)" : "(kopier)",
"(copy %n)" : "(kopier %n)",
@@ -319,6 +323,9 @@
"Files moved successfully" : "Filer flyttet succesfuldt",
"Conflicts resolution skipped" : "Konfliktløsning sprunget over",
"Upload cancelled" : "Upload annulleret",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kunne ikke omdøbe \"{oldName}\", da den findes ikke længere",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{newName}\" bruges allerede i mappen \"{dir}\". Vælg et andet navn.",
+ "Could not rename \"{oldName}\"" : "Kunne ikke omdøbe \"{oldName}\"",
"This operation is forbidden" : "Denne operation er forbudt",
"This directory is unavailable, please check the logs or contact the administrator" : "Denne mappe er utilgængelig, tjek venligst loggene eller kontakt administratoren",
"Storage is temporarily not available" : "Lagerplads er midlertidigt ikke tilgængeligt",
@@ -349,7 +356,6 @@
"Upload too large" : "Upload er for stor",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filerne, du prøver at uploade, er større end den maksimale størrelse for fil-upload på denne server.",
"File could not be found" : "Filen kunne ikke findes",
- "Download" : "Download",
"Show list view" : "Vis som liste",
"Show grid view" : "Vis som gitter",
"Close" : "Luk",
@@ -388,9 +394,6 @@
"Copied {origin} inside {destination}" : "Kopirede {origin} ind i {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "kopierede {origin} og {nbfiles} andre filer ind i {destination}",
"{newName} already exists" : "{newName} eksisterer allerede",
- "Could not rename \"{oldName}\", it does not exist any more" : "Kunne ikke omdøbe \"{oldName}\", da den findes ikke længere",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{newName}\" bruges allerede i mappen \"{dir}\". Vælg et andet navn.",
- "Could not rename \"{oldName}\"" : "Kunne ikke omdøbe \"{oldName}\"",
"Could not create file \"{file}\"" : "Kunne ikke oprette filen \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Kunne ikke oprette filen \"{file}\", da den allerede findes",
"Could not create folder \"{dir}\" because it already exists" : "Kunne ikke oprette mappen \"{dir}\", da den allerede findes",
@@ -439,8 +442,6 @@
"{fileCount} files and {folderCount} folders" : "{fileCount} filer og {folderCount} mapper",
"Personal Files" : "Personlige filer",
"Text file" : "Tekstfil",
- "New text file.txt" : "Ny tekstfil.txt",
- "{count} files could not be converted" : "{count} filer kunne ikke konverteres",
- "{count} files successfully converted" : "{count} filer konverteret"
+ "New text file.txt" : "Ny tekstfil.txt"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js
index 70bef0c5b8a..80d45307fee 100644
--- a/apps/files/l10n/de.js
+++ b/apps/files/l10n/de.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "Diese Tastaturkürzel anzeigen",
"You" : "Du",
"Shared multiple times with different people" : "Mehrmals mit verschiedenen Personen geteilt",
+ "Unable to change the favorite state of the file" : "Der Favoriten-Status der Datei kann nicht geändert werden",
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
"Owner" : "Besitzer",
"Remove from favorites" : "Aus Favoriten entfernen",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Sie sind dabei, {count} Element zu löschen","Du bist dabei, {count} Elemente zu löschen."],
"Confirm deletion" : "Löschen bestätigen",
"Cancel" : "Abbrechen",
+ "Download" : "Herunterladen",
"Moving \"{source}\" to \"{destination}\" …" : "Verschiebe \"{source}\" nach \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopiere \"{source}\" nach \"{destination}\" …",
+ "Destination is not a folder" : "Ziel ist kein Ordner",
+ "This file/folder is already in that directory" : "Diese Datei oder Ordner ist bereits in diesem Verzeichnis vorhanden",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Eine Datei oder ein Ordner kann nicht auf sich selbst oder in einen Unterordner von sich selbst verschoben werden.",
"(copy)" : "(Kopie)",
"(copy %n)" : "(Kopie %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "Dateien verschoben",
"Conflicts resolution skipped" : "Konfliktlösung übersprungen",
"Upload cancelled" : "Hochladen abgebrochen",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" konnte nicht umbenannt werden, da es nicht mehr existiert.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{newName}“ wird bereits im Ordner \"{dir}“ verwendet. Bitte wähle einen anderen Namen.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" konnte nicht umbenannt werden.",
"This operation is forbidden" : "Diese Operation ist nicht erlaubt",
"This directory is unavailable, please check the logs or contact the administrator" : "Dieses Verzeichnis ist nicht verfügbar, bitte die Logdateien überprüfen oder die Administration kontaktieren.",
"Storage is temporarily not available" : "Speicher ist vorübergehend nicht verfügbar",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "Der Upload ist zu groß",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server.",
"File could not be found" : "Datei konnte nicht gefunden werden",
- "Download" : "Herunterladen",
"Show list view" : "Listenansicht anzeigen",
"Show grid view" : "Kachelansicht anzeigen",
"Close" : "Schließen",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} wurde nach {destination} kopiert",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} und {nbfiles} weitere Dateien wurden nach {destination} kopiert",
"{newName} already exists" : "{newName} existiert bereits",
- "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" konnte nicht umbenannt werden, da es nicht mehr existiert.",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{newName}“ wird bereits im Ordner \"{dir}“ verwendet. Bitte wähle einen anderen Namen.",
- "Could not rename \"{oldName}\"" : "\"{oldName}\" konnte nicht umbenannt werden.",
"Could not create file \"{file}\"" : "Die Datei konnte nicht erstellt werden \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Die Datei \"{file}\" konnte nicht erstellt werden, da diese bereits existiert.",
"Could not create folder \"{dir}\" because it already exists" : "Der Ordner \"{dir}\" konnte nicht erstellt werden, da dieser bereits existiert",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "Neue Textdatei file.txt",
"%1$s (renamed)" : "%1$s (umbenannt)",
"renamed file" : "Umbenannte Datei",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Nach Aktivierung der Windows-kompatiblen Dateinamen können vorhandene Dateien nicht mehr geändert, aber von ihrem Besitzer in gültige neue Namen umbenannt werden.",
- "{count} files could not be converted" : "{count} Dateien konnten nicht konvertiert werden",
- "{count} files successfully converted" : "{count} Dateien konvertiert"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Nach Aktivierung der Windows-kompatiblen Dateinamen können vorhandene Dateien nicht mehr geändert, aber von ihrem Besitzer in gültige neue Namen umbenannt werden."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json
index c1b1a897a9d..571b3a02f62 100644
--- a/apps/files/l10n/de.json
+++ b/apps/files/l10n/de.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "Diese Tastaturkürzel anzeigen",
"You" : "Du",
"Shared multiple times with different people" : "Mehrmals mit verschiedenen Personen geteilt",
+ "Unable to change the favorite state of the file" : "Der Favoriten-Status der Datei kann nicht geändert werden",
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
"Owner" : "Besitzer",
"Remove from favorites" : "Aus Favoriten entfernen",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Sie sind dabei, {count} Element zu löschen","Du bist dabei, {count} Elemente zu löschen."],
"Confirm deletion" : "Löschen bestätigen",
"Cancel" : "Abbrechen",
+ "Download" : "Herunterladen",
"Moving \"{source}\" to \"{destination}\" …" : "Verschiebe \"{source}\" nach \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopiere \"{source}\" nach \"{destination}\" …",
+ "Destination is not a folder" : "Ziel ist kein Ordner",
+ "This file/folder is already in that directory" : "Diese Datei oder Ordner ist bereits in diesem Verzeichnis vorhanden",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Eine Datei oder ein Ordner kann nicht auf sich selbst oder in einen Unterordner von sich selbst verschoben werden.",
"(copy)" : "(Kopie)",
"(copy %n)" : "(Kopie %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "Dateien verschoben",
"Conflicts resolution skipped" : "Konfliktlösung übersprungen",
"Upload cancelled" : "Hochladen abgebrochen",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" konnte nicht umbenannt werden, da es nicht mehr existiert.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{newName}“ wird bereits im Ordner \"{dir}“ verwendet. Bitte wähle einen anderen Namen.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" konnte nicht umbenannt werden.",
"This operation is forbidden" : "Diese Operation ist nicht erlaubt",
"This directory is unavailable, please check the logs or contact the administrator" : "Dieses Verzeichnis ist nicht verfügbar, bitte die Logdateien überprüfen oder die Administration kontaktieren.",
"Storage is temporarily not available" : "Speicher ist vorübergehend nicht verfügbar",
@@ -360,7 +367,6 @@
"Upload too large" : "Der Upload ist zu groß",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server.",
"File could not be found" : "Datei konnte nicht gefunden werden",
- "Download" : "Herunterladen",
"Show list view" : "Listenansicht anzeigen",
"Show grid view" : "Kachelansicht anzeigen",
"Close" : "Schließen",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "{origin} wurde nach {destination} kopiert",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} und {nbfiles} weitere Dateien wurden nach {destination} kopiert",
"{newName} already exists" : "{newName} existiert bereits",
- "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" konnte nicht umbenannt werden, da es nicht mehr existiert.",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{newName}“ wird bereits im Ordner \"{dir}“ verwendet. Bitte wähle einen anderen Namen.",
- "Could not rename \"{oldName}\"" : "\"{oldName}\" konnte nicht umbenannt werden.",
"Could not create file \"{file}\"" : "Die Datei konnte nicht erstellt werden \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Die Datei \"{file}\" konnte nicht erstellt werden, da diese bereits existiert.",
"Could not create folder \"{dir}\" because it already exists" : "Der Ordner \"{dir}\" konnte nicht erstellt werden, da dieser bereits existiert",
@@ -453,8 +456,6 @@
"New text file.txt" : "Neue Textdatei file.txt",
"%1$s (renamed)" : "%1$s (umbenannt)",
"renamed file" : "Umbenannte Datei",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Nach Aktivierung der Windows-kompatiblen Dateinamen können vorhandene Dateien nicht mehr geändert, aber von ihrem Besitzer in gültige neue Namen umbenannt werden.",
- "{count} files could not be converted" : "{count} Dateien konnten nicht konvertiert werden",
- "{count} files successfully converted" : "{count} Dateien konvertiert"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Nach Aktivierung der Windows-kompatiblen Dateinamen können vorhandene Dateien nicht mehr geändert, aber von ihrem Besitzer in gültige neue Namen umbenannt werden."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js
index b6007fee5b9..2528fa26903 100644
--- a/apps/files/l10n/de_DE.js
+++ b/apps/files/l10n/de_DE.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "Diese Tastaturkürzel anzeigen",
"You" : "Sie",
"Shared multiple times with different people" : "Mehrmals mit verschiedenen Personen geteilt",
+ "Unable to change the favorite state of the file" : "Der Favoriten-Status der Datei kann nicht geändert werden",
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
"Owner" : "Besitzer",
"Remove from favorites" : "Von Favoriten entfernen",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Sie sind dabei, {count} Element zu löschen","Sie sind dabei, {count} Elemente zu löschen"],
"Confirm deletion" : "Löschen bestätigen",
"Cancel" : "Abbrechen",
+ "Download" : "Herunterladen",
"Moving \"{source}\" to \"{destination}\" …" : "Verschiebe \"{source}\" nach \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopiere \"{source}\" nach \"{destination}\" …",
+ "Destination is not a folder" : "Ziel ist kein Ordner",
+ "This file/folder is already in that directory" : "Diese Datei oder Ordner ist bereits in diesem Verzeichnis vorhanden",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Eine Datei oder ein Ordner kann nicht auf sich selbst oder in einen Unterordner von sich selbst verschoben werden",
"(copy)" : "(Kopie)",
"(copy %n)" : "(Kopie %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "Dateien verschoben",
"Conflicts resolution skipped" : "Konfliktelösung übersprungen",
"Upload cancelled" : "Hochladen abgebrochen",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" konnte nicht umbenannt werden, da es nicht mehr existiert",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{newName}“ wird bereits im Ordner \"{dir}“ verwendet. Bitte einen anderen Namen wählen.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" konnte nicht umbenannt werden",
"This operation is forbidden" : "Diese Operation ist nicht erlaubt",
"This directory is unavailable, please check the logs or contact the administrator" : "Dieses Verzeichnis ist nicht verfügbar, bitte überprüfen Sie die Protokolldateien oder kontaktieren Sie die Administration",
"Storage is temporarily not available" : "Speicher ist vorübergehend nicht verfügbar",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "Der Upload ist zu groß",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server.",
"File could not be found" : "Datei konnte nicht gefunden werden",
- "Download" : "Herunterladen",
"Show list view" : "Listenansicht anzeigen",
"Show grid view" : "Kachelansicht anzeigen",
"Close" : "Schließen",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} wurde nach {destination} kopiert",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} und {nbfiles} weitere Dateien wurden nach {destination} kopiert",
"{newName} already exists" : "{newName} existiert bereits",
- "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" konnte nicht umbenannt werden, da es nicht mehr existiert",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{newName}“ wird bereits im Ordner \"{dir}“ verwendet. Bitte einen anderen Namen wählen.",
- "Could not rename \"{oldName}\"" : "\"{oldName}\" konnte nicht umbenannt werden",
"Could not create file \"{file}\"" : "Die Datei konnte nicht erstellt werden \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Die Datei \"{file}\" konnte nicht erstellt werden, da diese bereits existiert",
"Could not create folder \"{dir}\" because it already exists" : "Der Ordner \"{dir}\" konnte nicht erstellt werden, da dieser bereits existiert",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "Neue Textdatei file.txt",
"%1$s (renamed)" : "%1$s (umbenannt)",
"renamed file" : "Umbenannte Datei",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Nach Aktivierung der Windows-kompatiblen Dateinamen können vorhandene Dateien nicht mehr geändert, aber von ihrem Besitzer in gültige neue Namen umbenannt werden.",
- "{count} files could not be converted" : "{count} Dateien konnten nicht konvertiert werden",
- "{count} files successfully converted" : "{count} Dateien konvertiert"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Nach Aktivierung der Windows-kompatiblen Dateinamen können vorhandene Dateien nicht mehr geändert, aber von ihrem Besitzer in gültige neue Namen umbenannt werden."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json
index 17a94d92f9b..2a661823839 100644
--- a/apps/files/l10n/de_DE.json
+++ b/apps/files/l10n/de_DE.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "Diese Tastaturkürzel anzeigen",
"You" : "Sie",
"Shared multiple times with different people" : "Mehrmals mit verschiedenen Personen geteilt",
+ "Unable to change the favorite state of the file" : "Der Favoriten-Status der Datei kann nicht geändert werden",
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
"Owner" : "Besitzer",
"Remove from favorites" : "Von Favoriten entfernen",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Sie sind dabei, {count} Element zu löschen","Sie sind dabei, {count} Elemente zu löschen"],
"Confirm deletion" : "Löschen bestätigen",
"Cancel" : "Abbrechen",
+ "Download" : "Herunterladen",
"Moving \"{source}\" to \"{destination}\" …" : "Verschiebe \"{source}\" nach \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopiere \"{source}\" nach \"{destination}\" …",
+ "Destination is not a folder" : "Ziel ist kein Ordner",
+ "This file/folder is already in that directory" : "Diese Datei oder Ordner ist bereits in diesem Verzeichnis vorhanden",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Eine Datei oder ein Ordner kann nicht auf sich selbst oder in einen Unterordner von sich selbst verschoben werden",
"(copy)" : "(Kopie)",
"(copy %n)" : "(Kopie %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "Dateien verschoben",
"Conflicts resolution skipped" : "Konfliktelösung übersprungen",
"Upload cancelled" : "Hochladen abgebrochen",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" konnte nicht umbenannt werden, da es nicht mehr existiert",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{newName}“ wird bereits im Ordner \"{dir}“ verwendet. Bitte einen anderen Namen wählen.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" konnte nicht umbenannt werden",
"This operation is forbidden" : "Diese Operation ist nicht erlaubt",
"This directory is unavailable, please check the logs or contact the administrator" : "Dieses Verzeichnis ist nicht verfügbar, bitte überprüfen Sie die Protokolldateien oder kontaktieren Sie die Administration",
"Storage is temporarily not available" : "Speicher ist vorübergehend nicht verfügbar",
@@ -360,7 +367,6 @@
"Upload too large" : "Der Upload ist zu groß",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server.",
"File could not be found" : "Datei konnte nicht gefunden werden",
- "Download" : "Herunterladen",
"Show list view" : "Listenansicht anzeigen",
"Show grid view" : "Kachelansicht anzeigen",
"Close" : "Schließen",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "{origin} wurde nach {destination} kopiert",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} und {nbfiles} weitere Dateien wurden nach {destination} kopiert",
"{newName} already exists" : "{newName} existiert bereits",
- "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" konnte nicht umbenannt werden, da es nicht mehr existiert",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{newName}“ wird bereits im Ordner \"{dir}“ verwendet. Bitte einen anderen Namen wählen.",
- "Could not rename \"{oldName}\"" : "\"{oldName}\" konnte nicht umbenannt werden",
"Could not create file \"{file}\"" : "Die Datei konnte nicht erstellt werden \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Die Datei \"{file}\" konnte nicht erstellt werden, da diese bereits existiert",
"Could not create folder \"{dir}\" because it already exists" : "Der Ordner \"{dir}\" konnte nicht erstellt werden, da dieser bereits existiert",
@@ -453,8 +456,6 @@
"New text file.txt" : "Neue Textdatei file.txt",
"%1$s (renamed)" : "%1$s (umbenannt)",
"renamed file" : "Umbenannte Datei",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Nach Aktivierung der Windows-kompatiblen Dateinamen können vorhandene Dateien nicht mehr geändert, aber von ihrem Besitzer in gültige neue Namen umbenannt werden.",
- "{count} files could not be converted" : "{count} Dateien konnten nicht konvertiert werden",
- "{count} files successfully converted" : "{count} Dateien konvertiert"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Nach Aktivierung der Windows-kompatiblen Dateinamen können vorhandene Dateien nicht mehr geändert, aber von ihrem Besitzer in gültige neue Namen umbenannt werden."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js
index ab960043c89..bbd987f01d2 100644
--- a/apps/files/l10n/el.js
+++ b/apps/files/l10n/el.js
@@ -183,6 +183,9 @@ OC.L10N.register(
"Delete" : "Διαγραφή",
"Confirm deletion" : "Επιβεβαίωση διαγραφής",
"Cancel" : "Ακύρωση",
+ "Download" : "Λήψη",
+ "Destination is not a folder" : "Ο προορισμός δεν είναι φάκελος",
+ "This file/folder is already in that directory" : "Αυτό το αρχείο/φάκελος βρίσκεται ήδη σε αυτόν τον κατάλογο",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Δεν μπορείτε να μετακινήσετε ένα αρχείο/φάκελο στον εαυτό του ή σε έναν υποφάκελο του ίδιου του φακέλου.",
"(copy)" : "(αντιγραφή)",
"(copy %n)" : "(αντιγραφή %n)",
@@ -228,6 +231,9 @@ OC.L10N.register(
"Files copied successfully" : "Τα αρχεία αντιγράφηκαν επιτυχώς",
"Files moved successfully" : "Τα αρχεία μετακινήθηκαν επιτυχώς",
"Upload cancelled" : "Η μεταφόρτωση ακυρώθηκε",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Δεν ήταν δυνατή η μετονομασία του \"{oldName}\", δεν υπάρχει πλέον",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Το όνομα \"{newName}\" χρησιμοποιείται ήδη στον φάκελο \"{dir}\". Παρακαλώ επιλέξτε ένα διαφορετικό όνομα.",
+ "Could not rename \"{oldName}\"" : "Δεν ήταν δυνατή η μετονομασία του \"{oldName}\"",
"This operation is forbidden" : "Αυτή η λειτουργία απαγορεύεται",
"This directory is unavailable, please check the logs or contact the administrator" : "Ο κατάλογος δεν είναι διαθέσιμος, παρακαλούμε ελέγξτε τα αρχεία καταγραφής ή επικοινωνήστε με το διαχειριστή",
"Storage is temporarily not available" : "Μη διαθέσιμος χώρος αποθήκευσης προσωρινά",
@@ -255,7 +261,6 @@ OC.L10N.register(
"Upload too large" : "Πολύ μεγάλο αρχείο προς μεταφόρτωση",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Τα αρχεία που προσπαθείτε να μεταφορτώσετε υπερβαίνουν το μέγιστο μέγεθος μεταφόρτωσης αρχείων σε αυτόν τον διακομιστή.",
"File could not be found" : "Δεν μπορεί να βρεθεί το αρχείο",
- "Download" : "Λήψη",
"Show list view" : "Προβολή λίστας",
"Show grid view" : "Προβολή πλέγματος",
"Close" : "Κλείσιμο",
@@ -294,9 +299,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Αντιγράφτηκε το {origin} στο {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Αντιγράφτηκε το {origin} και {nbfiles} άλλα αρχεία στο {destination}",
"{newName} already exists" : "Το {newName} υπάρχει ήδη",
- "Could not rename \"{oldName}\", it does not exist any more" : "Δεν ήταν δυνατή η μετονομασία του \"{oldName}\", δεν υπάρχει πλέον",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Το όνομα \"{newName}\" χρησιμοποιείται ήδη στον φάκελο \"{dir}\". Παρακαλώ επιλέξτε ένα διαφορετικό όνομα.",
- "Could not rename \"{oldName}\"" : "Δεν ήταν δυνατή η μετονομασία του \"{oldName}\"",
"Could not create file \"{file}\"" : "Αδυναμία δημιουργίας του αρχείου \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Αδυναμία δημιουργίας του αρχείου \"{file}\" επειδή υπάρχει ήδη",
"Could not create folder \"{dir}\" because it already exists" : "Αδυναμία δημιουργίας του φακέλου \"{dir}\" επειδή υπάρχει ήδη",
diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json
index 50ae6d9e865..22fa14b31d6 100644
--- a/apps/files/l10n/el.json
+++ b/apps/files/l10n/el.json
@@ -181,6 +181,9 @@
"Delete" : "Διαγραφή",
"Confirm deletion" : "Επιβεβαίωση διαγραφής",
"Cancel" : "Ακύρωση",
+ "Download" : "Λήψη",
+ "Destination is not a folder" : "Ο προορισμός δεν είναι φάκελος",
+ "This file/folder is already in that directory" : "Αυτό το αρχείο/φάκελος βρίσκεται ήδη σε αυτόν τον κατάλογο",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Δεν μπορείτε να μετακινήσετε ένα αρχείο/φάκελο στον εαυτό του ή σε έναν υποφάκελο του ίδιου του φακέλου.",
"(copy)" : "(αντιγραφή)",
"(copy %n)" : "(αντιγραφή %n)",
@@ -226,6 +229,9 @@
"Files copied successfully" : "Τα αρχεία αντιγράφηκαν επιτυχώς",
"Files moved successfully" : "Τα αρχεία μετακινήθηκαν επιτυχώς",
"Upload cancelled" : "Η μεταφόρτωση ακυρώθηκε",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Δεν ήταν δυνατή η μετονομασία του \"{oldName}\", δεν υπάρχει πλέον",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Το όνομα \"{newName}\" χρησιμοποιείται ήδη στον φάκελο \"{dir}\". Παρακαλώ επιλέξτε ένα διαφορετικό όνομα.",
+ "Could not rename \"{oldName}\"" : "Δεν ήταν δυνατή η μετονομασία του \"{oldName}\"",
"This operation is forbidden" : "Αυτή η λειτουργία απαγορεύεται",
"This directory is unavailable, please check the logs or contact the administrator" : "Ο κατάλογος δεν είναι διαθέσιμος, παρακαλούμε ελέγξτε τα αρχεία καταγραφής ή επικοινωνήστε με το διαχειριστή",
"Storage is temporarily not available" : "Μη διαθέσιμος χώρος αποθήκευσης προσωρινά",
@@ -253,7 +259,6 @@
"Upload too large" : "Πολύ μεγάλο αρχείο προς μεταφόρτωση",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Τα αρχεία που προσπαθείτε να μεταφορτώσετε υπερβαίνουν το μέγιστο μέγεθος μεταφόρτωσης αρχείων σε αυτόν τον διακομιστή.",
"File could not be found" : "Δεν μπορεί να βρεθεί το αρχείο",
- "Download" : "Λήψη",
"Show list view" : "Προβολή λίστας",
"Show grid view" : "Προβολή πλέγματος",
"Close" : "Κλείσιμο",
@@ -292,9 +297,6 @@
"Copied {origin} inside {destination}" : "Αντιγράφτηκε το {origin} στο {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Αντιγράφτηκε το {origin} και {nbfiles} άλλα αρχεία στο {destination}",
"{newName} already exists" : "Το {newName} υπάρχει ήδη",
- "Could not rename \"{oldName}\", it does not exist any more" : "Δεν ήταν δυνατή η μετονομασία του \"{oldName}\", δεν υπάρχει πλέον",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Το όνομα \"{newName}\" χρησιμοποιείται ήδη στον φάκελο \"{dir}\". Παρακαλώ επιλέξτε ένα διαφορετικό όνομα.",
- "Could not rename \"{oldName}\"" : "Δεν ήταν δυνατή η μετονομασία του \"{oldName}\"",
"Could not create file \"{file}\"" : "Αδυναμία δημιουργίας του αρχείου \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Αδυναμία δημιουργίας του αρχείου \"{file}\" επειδή υπάρχει ήδη",
"Could not create folder \"{dir}\" because it already exists" : "Αδυναμία δημιουργίας του φακέλου \"{dir}\" επειδή υπάρχει ήδη",
diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js
index cfb37470566..651479c0ba3 100644
--- a/apps/files/l10n/en_GB.js
+++ b/apps/files/l10n/en_GB.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "Show those shortcuts",
"You" : "You",
"Shared multiple times with different people" : "Shared multiple times with different people",
+ "Unable to change the favorite state of the file" : "Unable to change the favorite state of the file",
"Error while loading the file data" : "Error while loading the file data",
"Owner" : "Owner",
"Remove from favorites" : "Remove from favourites",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["You are about to delete {count} item","You are about to delete {count} items"],
"Confirm deletion" : "Confirm deletion",
"Cancel" : "Cancel",
+ "Download" : "Download",
"Moving \"{source}\" to \"{destination}\" …" : "Moving \"{source}\" to \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Copying \"{source}\" to \"{destination}\" …",
+ "Destination is not a folder" : "Destination is not a folder",
+ "This file/folder is already in that directory" : "This file/folder is already in that directory",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "You cannot move a file/folder onto itself or into a subfolder of itself",
"(copy)" : "(copy)",
"(copy %n)" : "(copy %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "Files moved successfully",
"Conflicts resolution skipped" : "Conflicts resolution skipped",
"Upload cancelled" : "Upload cancelled",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Could not rename \"{oldName}\", it does not exist any more",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name.",
+ "Could not rename \"{oldName}\"" : "Could not rename \"{oldName}\"",
"This operation is forbidden" : "This operation is forbidden",
"This directory is unavailable, please check the logs or contact the administrator" : "This directory is unavailable, please check the logs or contact the administrator",
"Storage is temporarily not available" : "Storage is temporarily not available",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "Upload too large",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "The files you are trying to upload exceed the maximum size for file uploads on this server.",
"File could not be found" : "File could not be found",
- "Download" : "Download",
"Show list view" : "Show list view",
"Show grid view" : "Show grid view",
"Close" : "Close",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Copied {origin} inside {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copied {origin} and {nbfiles} other files inside {destination}",
"{newName} already exists" : "{newName} already exists",
- "Could not rename \"{oldName}\", it does not exist any more" : "Could not rename \"{oldName}\", it does not exist any more",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name.",
- "Could not rename \"{oldName}\"" : "Could not rename \"{oldName}\"",
"Could not create file \"{file}\"" : "Could not create file \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Could not create file \"{file}\" because it already exists",
"Could not create folder \"{dir}\" because it already exists" : "Could not create folder \"{dir}\" because it already exists",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "New text file.txt",
"%1$s (renamed)" : "%1$s (renamed)",
"renamed file" : "renamed file",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner.",
- "{count} files could not be converted" : "{count} files could not be converted",
- "{count} files successfully converted" : "{count} files successfully converted"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json
index 992ca1b27e7..c0be990b162 100644
--- a/apps/files/l10n/en_GB.json
+++ b/apps/files/l10n/en_GB.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "Show those shortcuts",
"You" : "You",
"Shared multiple times with different people" : "Shared multiple times with different people",
+ "Unable to change the favorite state of the file" : "Unable to change the favorite state of the file",
"Error while loading the file data" : "Error while loading the file data",
"Owner" : "Owner",
"Remove from favorites" : "Remove from favourites",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["You are about to delete {count} item","You are about to delete {count} items"],
"Confirm deletion" : "Confirm deletion",
"Cancel" : "Cancel",
+ "Download" : "Download",
"Moving \"{source}\" to \"{destination}\" …" : "Moving \"{source}\" to \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Copying \"{source}\" to \"{destination}\" …",
+ "Destination is not a folder" : "Destination is not a folder",
+ "This file/folder is already in that directory" : "This file/folder is already in that directory",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "You cannot move a file/folder onto itself or into a subfolder of itself",
"(copy)" : "(copy)",
"(copy %n)" : "(copy %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "Files moved successfully",
"Conflicts resolution skipped" : "Conflicts resolution skipped",
"Upload cancelled" : "Upload cancelled",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Could not rename \"{oldName}\", it does not exist any more",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name.",
+ "Could not rename \"{oldName}\"" : "Could not rename \"{oldName}\"",
"This operation is forbidden" : "This operation is forbidden",
"This directory is unavailable, please check the logs or contact the administrator" : "This directory is unavailable, please check the logs or contact the administrator",
"Storage is temporarily not available" : "Storage is temporarily not available",
@@ -360,7 +367,6 @@
"Upload too large" : "Upload too large",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "The files you are trying to upload exceed the maximum size for file uploads on this server.",
"File could not be found" : "File could not be found",
- "Download" : "Download",
"Show list view" : "Show list view",
"Show grid view" : "Show grid view",
"Close" : "Close",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "Copied {origin} inside {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copied {origin} and {nbfiles} other files inside {destination}",
"{newName} already exists" : "{newName} already exists",
- "Could not rename \"{oldName}\", it does not exist any more" : "Could not rename \"{oldName}\", it does not exist any more",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name.",
- "Could not rename \"{oldName}\"" : "Could not rename \"{oldName}\"",
"Could not create file \"{file}\"" : "Could not create file \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Could not create file \"{file}\" because it already exists",
"Could not create folder \"{dir}\" because it already exists" : "Could not create folder \"{dir}\" because it already exists",
@@ -453,8 +456,6 @@
"New text file.txt" : "New text file.txt",
"%1$s (renamed)" : "%1$s (renamed)",
"renamed file" : "renamed file",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner.",
- "{count} files could not be converted" : "{count} files could not be converted",
- "{count} files successfully converted" : "{count} files successfully converted"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/eo.js b/apps/files/l10n/eo.js
deleted file mode 100644
index b46abaef335..00000000000
--- a/apps/files/l10n/eo.js
+++ /dev/null
@@ -1,178 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "Dosiero ne troveblas",
- "Move or copy" : "Movi aŭ kopii",
- "Download" : "Elŝuti",
- "Delete" : "Forigi",
- "Tags" : "Etikedoj",
- "Show list view" : "Montri listan vidon",
- "Show grid view" : "Montri kradan vidon",
- "Home" : "Hejmo",
- "Close" : "Fermi",
- "Could not create folder \"{dir}\"" : "Ne eblas krei dosierujon „{dir}“",
- "This will stop your current uploads." : "Tio haltigos viajn nunajn alŝutojn.",
- "Upload cancelled." : "La alŝuto nuliĝis.",
- "Processing files …" : "Traktado de dosieroj…",
- "…" : "… ",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ne povis alŝuti {filename} ĉar ĝi estas dosierujo aŭ ĝi havas 0 bajtoj",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ne sufiĉas libera spaco: vi alŝutas {size1} sed nur {size2} restas",
- "Target folder \"{dir}\" does not exist any more" : "Cela dosierujo \"{dir}\" ne plu ekzistas",
- "Not enough free space" : "Ne sufiĉe libera spaco",
- "An unknown error has occurred" : "Nekonata eraro okazis",
- "Uploading …" : "Alŝutado…",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} el {totalSize} ({bitrate})",
- "Uploading that item is not supported" : "Alŝuto de tiu elemento ne estas subtenata",
- "Target folder does not exist any more" : "La cela dosierujo ne plu ekzistas",
- "Error when assembling chunks, status code {status}" : "Eraro dum kunigo de pecoj, stata kodo {status}",
- "Actions" : "Agoj",
- "Rename" : "Alinomi",
- "Move" : "Movi",
- "Copy" : "Kopii",
- "Choose target folder" : "Elekti celan dosierujon",
- "Edit locally" : "Redakti loke",
- "Open" : "Malfermi",
- "Could not load info for file \"{file}\"" : "Informo pri dosiero „{file}“ ne legeblis",
- "Files" : "Dosieroj",
- "Details" : "Detaloj",
- "Pending" : "Pritraktotaj",
- "Unable to determine date" : "Ne eblas determini daton",
- "This operation is forbidden" : "Ĉi tiu operacio malpermesatas",
- "This directory is unavailable, please check the logs or contact the administrator" : "Ĉi tiu dosierujo maldisponeblas, bonvolu kontroli la protokolojn aŭ kontakti la administranton",
- "Storage is temporarily not available" : "Konservejo dumtempe ne disponeblas",
- "Could not move \"{file}\", target exists" : "Ne eblas movi la dosieron „{file}“, celo jam ekzistas",
- "Could not move \"{file}\"" : "Ne eblas movi la dosieron „{file}“",
- "copy" : "kopio",
- "Could not copy \"{file}\", target exists" : "Ne eblas kopii la dosieron „{file}“, celo jam ekzistas",
- "Could not copy \"{file}\"" : "Ne eblas kopii la dosieron „{file}“",
- "Copied {origin} inside {destination}" : "{origin} kopiita ene de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} kaj {nbfiles} aliaj dosieroj kopiitaj ene de {destination}",
- "{newName} already exists" : "{newName} jam ekzistas",
- "Could not rename \"{fileName}\", it does not exist any more" : "Ne eblis alinomi „{fileName}“, ĝi ne plu ekzistas",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "La nomo „{targetName}“ jam uzatas en la dosierujo „{dir}“. Bonvolu elekti alian nomon.",
- "Could not rename \"{fileName}\"" : "Ne eblis alinomi „{fileName}“",
- "Could not create file \"{file}\"" : "Ne eblas krei dosieron „{file}“",
- "Could not create file \"{file}\" because it already exists" : "Ne eblis krei dosieron „{file}“ ĉar ĝi jam ekzistas",
- "Could not create folder \"{dir}\" because it already exists" : "Ne eblas krei dosierujon „{dir}“ ĉar ĝi jam ekzistas",
- "Error deleting file \"{fileName}\"." : "Eraro dum forigo de dosiero „{fileName}“.",
- "No search results in other folders for {tag}{filter}{endtag}" : "Neniu serĉorezulto en aliaj dosierujoj pri {tag}{filter}{endtag}",
- "Name" : "Nomo",
- "Size" : "Grando",
- "Modified" : "Modifita",
- "_%n folder_::_%n folders_" : ["%n dosierujo","%n dosierujoj"],
- "_%n file_::_%n files_" : ["%n dosiero","%n dosieroj"],
- "{dirs} and {files}" : "{dirs} kaj {files}",
- "_including %n hidden_::_including %n hidden_" : ["inkluzive %n kaŝita","inkluzive %n kaŝita(j)"],
- "_Uploading %n file_::_Uploading %n files_" : ["Alŝutatas %n dosiero","Alŝutatas %n dosieroj"],
- "New" : "Nova",
- "Select file range" : "Elekti dosierintervalon",
- "{used}%" : "{used}%",
- "{used} of {quota} used" : "{used} uzataj el {quota}",
- "{used} used" : "{used} uzataj",
- "\"{name}\" is an invalid file name." : "„{name}“ estas nevalida dosiernomo.",
- "File name cannot be empty." : "Dosiernomo devas ne malpleni.",
- "\"/\" is not allowed inside a file name." : "Ne eblas uziĝi „/“ en dosiernomo.",
- "\"{name}\" is not an allowed filetype" : "„{name}“ ne estas permesita dosiertipo.",
- "View in folder" : "Vidi en dosierujo",
- "Path" : "Vojo",
- "_%n byte_::_%n bytes_" : ["%n bajto","%n bajtoj"],
- "Favorited" : "Pliŝatitaj",
- "Favorite" : "Pliŝatata",
- "New folder" : "Nova dosierujo",
- "Create new folder" : "Krei novan dosierujon",
- "Upload file" : "Alŝuti dosieron",
- "Recent" : "Lastaj ŝanĝoj",
- "Not favorited" : "Ne pliŝatitaj",
- "Remove from favorites" : "Malpliŝatigi",
- "Add to favorites" : "Pliŝatigi",
- "An error occurred while trying to update the tags" : "Okazis eraro dum provo ĝisdatigi la etikedojn",
- "Added to favorites" : "Aldonita al pliŝatataĵoj",
- "Removed from favorites" : "Forigita el pliŝataĵoj",
- "You added {file} to your favorites" : "Vi aldonis {file} al viaj pliŝataĵoj",
- "You removed {file} from your favorites" : "Vi forigis {file} el viaj pliŝataĵoj",
- "Favorites" : "Pliŝatataj",
- "File changes" : "Dosierŝanĝoj",
- "Created by {user}" : "Kreita de {user}",
- "Changed by {user}" : "Ŝanĝita de {user}",
- "Deleted by {user}" : "Forigita de {user}",
- "Restored by {user}" : "Restaŭrita de {user}",
- "Renamed by {user}" : "Alinomita de {user}",
- "Moved by {user}" : "Movita de {user}",
- "You created {file}" : "Vi kreis „{file}“",
- "You created an encrypted file in {file}" : "Vi kreis ĉifritan dosieron en {file}",
- "{user} created {file}" : "{user} kreis {file}",
- "{user} created an encrypted file in {file}" : "{user} kreis ĉifritan dosieron en {file}",
- "{file} was created in a public folder" : "{file} kreiĝis en publika dosierujo",
- "You changed {file}" : "Vi ŝanĝis {file}",
- "You changed an encrypted file in {file}" : "Vi ŝanĝis ĉifritan dosieron en {file}",
- "{user} changed {file}" : "{user} ŝanĝis {file}",
- "{user} changed an encrypted file in {file}" : "{user} ŝanĝis ĉifritan dosieron en {file}",
- "You deleted {file}" : "Vi forigis {file}",
- "You deleted an encrypted file in {file}" : "Vi forigis ĉifritan dosieron en {file}",
- "{user} deleted {file}" : "{user} forigis {file}",
- "{user} deleted an encrypted file in {file}" : "{user} forigis ĉifritan dosieron en {file}",
- "You restored {file}" : "Vi restaŭris {file}",
- "{user} restored {file}" : "{user} restaŭris {file}",
- "You renamed {oldfile} to {newfile}" : "Vi alinomis {oldfile} al {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} alinomis {oldfile} al {newfile}",
- "You moved {oldfile} to {newfile}" : "Vi movis {oldfile} al {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movis {oldfile} al {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Dosiero aldoniĝis aŭ foriĝis el viaj <strong>pliŝataĵoj</strong>",
- "A file or folder has been <strong>changed</strong>" : "Dosiero aŭ dosierujo <strong>ŝanĝiĝis</strong>",
- "Upload (max. %s)" : "Alŝuti (maks. %s)",
- "Accept" : "Akcepti",
- "Reject" : "Rifuzi",
- "in %s" : "en %s",
- "File Management" : "Dosieradministrado",
- "You don’t have permission to upload or create files here" : "Vi ne permesatas alŝuti aŭ krei dosierojn ĉi tie",
- "File name" : "Dosiernomo",
- "Folder name" : "Dosierujnomo",
- "Name cannot be empty" : "Nomo ne povas mapleni",
- "File not found" : "Netrovita dosiero",
- "Your storage is full, files can not be updated or synced anymore!" : "Via konservejo plenas, ne plu eblas ĝisdatigi aŭ sinkronigi dosierojn!",
- "Create" : "Krei",
- "Change" : "Ŝanĝi",
- "New owner" : "Nova posedanto",
- "Unknown error" : "Nekonata eraro",
- "Choose {file}" : "Elekti {file}",
- "No files in here" : "Neniu dosiero ĉi tie",
- "Upload some content or sync with your devices!" : "Alŝutu iom da enhavo aŭ sinkronigu kun viaj aparatoj!",
- "Go back" : "Reveni",
- "Shared by link" : "Kunhavata per ligilo",
- "Shared" : "Kunhavigita",
- "Show hidden files" : "Montri kaŝitajn dosierojn",
- "Additional settings" : "Plia agordo",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Kopii tondejen",
- "Unable to change the favourite state of the file" : "Ne eblas ŝanĝi la staton pri pliŝatataĵo de la dosiero",
- "Error while loading the file data" : "Eraro dum ŝargo de la dosierdatumoj",
- "Creating file" : "Kreante dosieron",
- "Delete permanently" : "Forigi por ĉiam",
- "Cancel" : "Nuligi",
- "Copy to {target}" : "Kopii al {target}",
- "Move to {target}" : "Movi al {target}",
- "Open details" : "Montri detalojn",
- "Filename" : "Dosiernomo",
- "Templates" : "Ŝablonoj",
- "No favorites yet" : "Ankoraŭ neniu pliŝataĵo",
- "Files and folders you mark as favorite will show up here" : "Dosieroj kaj dosierujoj, kiujn vi markas kiel pliŝataĵoj, aperos ĉi tie",
- "All files" : "Ĉiuj dosieroj",
- "No entries found in this folder" : "Neniu enigo troviĝis en ĉi tiu dosierujo",
- "Select all" : "Elekti ĉion",
- "Upload too large" : "Alŝuto tro granda",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "La dosieroj, kiujn vi provas alŝuti, transpasas la maksimuman grandon por dosieralŝutoj en ĉi tiu servilo.",
- "Text file" : "Tekstodosiero",
- "New text file.txt" : "Nova tekstodosiero.txt",
- "Copy direct link (only works for users who have access to this file/folder)" : "Kopii senperan ligilon (nur validas por uzantoj, kiuj povas aliri al tiu dosiero aŭ dosierujo)",
- "You can only favorite a single file or folder at a time" : "Vi povas samtempe pliŝatigi nur unu dosieron aŭ dosierujon",
- "\"remote user\"" : "„fora uzanto“",
- "Search users" : "Serĉi uzantojn",
- "Toggle grid view" : "Baskuligi kradan vidon",
- "Deleted files" : "Forigitaj dosieroj",
- "Shares" : "Kunhavigoj",
- "Shared with others" : "Kunhavata kun aliaj",
- "Shared with you" : "Kunhavata kun vi",
- "Deleted shares" : "Forigitaj kunhavigoj",
- "Choose" : "Elekti"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/eo.json b/apps/files/l10n/eo.json
deleted file mode 100644
index fb6e68ff451..00000000000
--- a/apps/files/l10n/eo.json
+++ /dev/null
@@ -1,176 +0,0 @@
-{ "translations": {
- "File could not be found" : "Dosiero ne troveblas",
- "Move or copy" : "Movi aŭ kopii",
- "Download" : "Elŝuti",
- "Delete" : "Forigi",
- "Tags" : "Etikedoj",
- "Show list view" : "Montri listan vidon",
- "Show grid view" : "Montri kradan vidon",
- "Home" : "Hejmo",
- "Close" : "Fermi",
- "Could not create folder \"{dir}\"" : "Ne eblas krei dosierujon „{dir}“",
- "This will stop your current uploads." : "Tio haltigos viajn nunajn alŝutojn.",
- "Upload cancelled." : "La alŝuto nuliĝis.",
- "Processing files …" : "Traktado de dosieroj…",
- "…" : "… ",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ne povis alŝuti {filename} ĉar ĝi estas dosierujo aŭ ĝi havas 0 bajtoj",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ne sufiĉas libera spaco: vi alŝutas {size1} sed nur {size2} restas",
- "Target folder \"{dir}\" does not exist any more" : "Cela dosierujo \"{dir}\" ne plu ekzistas",
- "Not enough free space" : "Ne sufiĉe libera spaco",
- "An unknown error has occurred" : "Nekonata eraro okazis",
- "Uploading …" : "Alŝutado…",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} el {totalSize} ({bitrate})",
- "Uploading that item is not supported" : "Alŝuto de tiu elemento ne estas subtenata",
- "Target folder does not exist any more" : "La cela dosierujo ne plu ekzistas",
- "Error when assembling chunks, status code {status}" : "Eraro dum kunigo de pecoj, stata kodo {status}",
- "Actions" : "Agoj",
- "Rename" : "Alinomi",
- "Move" : "Movi",
- "Copy" : "Kopii",
- "Choose target folder" : "Elekti celan dosierujon",
- "Edit locally" : "Redakti loke",
- "Open" : "Malfermi",
- "Could not load info for file \"{file}\"" : "Informo pri dosiero „{file}“ ne legeblis",
- "Files" : "Dosieroj",
- "Details" : "Detaloj",
- "Pending" : "Pritraktotaj",
- "Unable to determine date" : "Ne eblas determini daton",
- "This operation is forbidden" : "Ĉi tiu operacio malpermesatas",
- "This directory is unavailable, please check the logs or contact the administrator" : "Ĉi tiu dosierujo maldisponeblas, bonvolu kontroli la protokolojn aŭ kontakti la administranton",
- "Storage is temporarily not available" : "Konservejo dumtempe ne disponeblas",
- "Could not move \"{file}\", target exists" : "Ne eblas movi la dosieron „{file}“, celo jam ekzistas",
- "Could not move \"{file}\"" : "Ne eblas movi la dosieron „{file}“",
- "copy" : "kopio",
- "Could not copy \"{file}\", target exists" : "Ne eblas kopii la dosieron „{file}“, celo jam ekzistas",
- "Could not copy \"{file}\"" : "Ne eblas kopii la dosieron „{file}“",
- "Copied {origin} inside {destination}" : "{origin} kopiita ene de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} kaj {nbfiles} aliaj dosieroj kopiitaj ene de {destination}",
- "{newName} already exists" : "{newName} jam ekzistas",
- "Could not rename \"{fileName}\", it does not exist any more" : "Ne eblis alinomi „{fileName}“, ĝi ne plu ekzistas",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "La nomo „{targetName}“ jam uzatas en la dosierujo „{dir}“. Bonvolu elekti alian nomon.",
- "Could not rename \"{fileName}\"" : "Ne eblis alinomi „{fileName}“",
- "Could not create file \"{file}\"" : "Ne eblas krei dosieron „{file}“",
- "Could not create file \"{file}\" because it already exists" : "Ne eblis krei dosieron „{file}“ ĉar ĝi jam ekzistas",
- "Could not create folder \"{dir}\" because it already exists" : "Ne eblas krei dosierujon „{dir}“ ĉar ĝi jam ekzistas",
- "Error deleting file \"{fileName}\"." : "Eraro dum forigo de dosiero „{fileName}“.",
- "No search results in other folders for {tag}{filter}{endtag}" : "Neniu serĉorezulto en aliaj dosierujoj pri {tag}{filter}{endtag}",
- "Name" : "Nomo",
- "Size" : "Grando",
- "Modified" : "Modifita",
- "_%n folder_::_%n folders_" : ["%n dosierujo","%n dosierujoj"],
- "_%n file_::_%n files_" : ["%n dosiero","%n dosieroj"],
- "{dirs} and {files}" : "{dirs} kaj {files}",
- "_including %n hidden_::_including %n hidden_" : ["inkluzive %n kaŝita","inkluzive %n kaŝita(j)"],
- "_Uploading %n file_::_Uploading %n files_" : ["Alŝutatas %n dosiero","Alŝutatas %n dosieroj"],
- "New" : "Nova",
- "Select file range" : "Elekti dosierintervalon",
- "{used}%" : "{used}%",
- "{used} of {quota} used" : "{used} uzataj el {quota}",
- "{used} used" : "{used} uzataj",
- "\"{name}\" is an invalid file name." : "„{name}“ estas nevalida dosiernomo.",
- "File name cannot be empty." : "Dosiernomo devas ne malpleni.",
- "\"/\" is not allowed inside a file name." : "Ne eblas uziĝi „/“ en dosiernomo.",
- "\"{name}\" is not an allowed filetype" : "„{name}“ ne estas permesita dosiertipo.",
- "View in folder" : "Vidi en dosierujo",
- "Path" : "Vojo",
- "_%n byte_::_%n bytes_" : ["%n bajto","%n bajtoj"],
- "Favorited" : "Pliŝatitaj",
- "Favorite" : "Pliŝatata",
- "New folder" : "Nova dosierujo",
- "Create new folder" : "Krei novan dosierujon",
- "Upload file" : "Alŝuti dosieron",
- "Recent" : "Lastaj ŝanĝoj",
- "Not favorited" : "Ne pliŝatitaj",
- "Remove from favorites" : "Malpliŝatigi",
- "Add to favorites" : "Pliŝatigi",
- "An error occurred while trying to update the tags" : "Okazis eraro dum provo ĝisdatigi la etikedojn",
- "Added to favorites" : "Aldonita al pliŝatataĵoj",
- "Removed from favorites" : "Forigita el pliŝataĵoj",
- "You added {file} to your favorites" : "Vi aldonis {file} al viaj pliŝataĵoj",
- "You removed {file} from your favorites" : "Vi forigis {file} el viaj pliŝataĵoj",
- "Favorites" : "Pliŝatataj",
- "File changes" : "Dosierŝanĝoj",
- "Created by {user}" : "Kreita de {user}",
- "Changed by {user}" : "Ŝanĝita de {user}",
- "Deleted by {user}" : "Forigita de {user}",
- "Restored by {user}" : "Restaŭrita de {user}",
- "Renamed by {user}" : "Alinomita de {user}",
- "Moved by {user}" : "Movita de {user}",
- "You created {file}" : "Vi kreis „{file}“",
- "You created an encrypted file in {file}" : "Vi kreis ĉifritan dosieron en {file}",
- "{user} created {file}" : "{user} kreis {file}",
- "{user} created an encrypted file in {file}" : "{user} kreis ĉifritan dosieron en {file}",
- "{file} was created in a public folder" : "{file} kreiĝis en publika dosierujo",
- "You changed {file}" : "Vi ŝanĝis {file}",
- "You changed an encrypted file in {file}" : "Vi ŝanĝis ĉifritan dosieron en {file}",
- "{user} changed {file}" : "{user} ŝanĝis {file}",
- "{user} changed an encrypted file in {file}" : "{user} ŝanĝis ĉifritan dosieron en {file}",
- "You deleted {file}" : "Vi forigis {file}",
- "You deleted an encrypted file in {file}" : "Vi forigis ĉifritan dosieron en {file}",
- "{user} deleted {file}" : "{user} forigis {file}",
- "{user} deleted an encrypted file in {file}" : "{user} forigis ĉifritan dosieron en {file}",
- "You restored {file}" : "Vi restaŭris {file}",
- "{user} restored {file}" : "{user} restaŭris {file}",
- "You renamed {oldfile} to {newfile}" : "Vi alinomis {oldfile} al {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} alinomis {oldfile} al {newfile}",
- "You moved {oldfile} to {newfile}" : "Vi movis {oldfile} al {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movis {oldfile} al {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Dosiero aldoniĝis aŭ foriĝis el viaj <strong>pliŝataĵoj</strong>",
- "A file or folder has been <strong>changed</strong>" : "Dosiero aŭ dosierujo <strong>ŝanĝiĝis</strong>",
- "Upload (max. %s)" : "Alŝuti (maks. %s)",
- "Accept" : "Akcepti",
- "Reject" : "Rifuzi",
- "in %s" : "en %s",
- "File Management" : "Dosieradministrado",
- "You don’t have permission to upload or create files here" : "Vi ne permesatas alŝuti aŭ krei dosierojn ĉi tie",
- "File name" : "Dosiernomo",
- "Folder name" : "Dosierujnomo",
- "Name cannot be empty" : "Nomo ne povas mapleni",
- "File not found" : "Netrovita dosiero",
- "Your storage is full, files can not be updated or synced anymore!" : "Via konservejo plenas, ne plu eblas ĝisdatigi aŭ sinkronigi dosierojn!",
- "Create" : "Krei",
- "Change" : "Ŝanĝi",
- "New owner" : "Nova posedanto",
- "Unknown error" : "Nekonata eraro",
- "Choose {file}" : "Elekti {file}",
- "No files in here" : "Neniu dosiero ĉi tie",
- "Upload some content or sync with your devices!" : "Alŝutu iom da enhavo aŭ sinkronigu kun viaj aparatoj!",
- "Go back" : "Reveni",
- "Shared by link" : "Kunhavata per ligilo",
- "Shared" : "Kunhavigita",
- "Show hidden files" : "Montri kaŝitajn dosierojn",
- "Additional settings" : "Plia agordo",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Kopii tondejen",
- "Unable to change the favourite state of the file" : "Ne eblas ŝanĝi la staton pri pliŝatataĵo de la dosiero",
- "Error while loading the file data" : "Eraro dum ŝargo de la dosierdatumoj",
- "Creating file" : "Kreante dosieron",
- "Delete permanently" : "Forigi por ĉiam",
- "Cancel" : "Nuligi",
- "Copy to {target}" : "Kopii al {target}",
- "Move to {target}" : "Movi al {target}",
- "Open details" : "Montri detalojn",
- "Filename" : "Dosiernomo",
- "Templates" : "Ŝablonoj",
- "No favorites yet" : "Ankoraŭ neniu pliŝataĵo",
- "Files and folders you mark as favorite will show up here" : "Dosieroj kaj dosierujoj, kiujn vi markas kiel pliŝataĵoj, aperos ĉi tie",
- "All files" : "Ĉiuj dosieroj",
- "No entries found in this folder" : "Neniu enigo troviĝis en ĉi tiu dosierujo",
- "Select all" : "Elekti ĉion",
- "Upload too large" : "Alŝuto tro granda",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "La dosieroj, kiujn vi provas alŝuti, transpasas la maksimuman grandon por dosieralŝutoj en ĉi tiu servilo.",
- "Text file" : "Tekstodosiero",
- "New text file.txt" : "Nova tekstodosiero.txt",
- "Copy direct link (only works for users who have access to this file/folder)" : "Kopii senperan ligilon (nur validas por uzantoj, kiuj povas aliri al tiu dosiero aŭ dosierujo)",
- "You can only favorite a single file or folder at a time" : "Vi povas samtempe pliŝatigi nur unu dosieron aŭ dosierujon",
- "\"remote user\"" : "„fora uzanto“",
- "Search users" : "Serĉi uzantojn",
- "Toggle grid view" : "Baskuligi kradan vidon",
- "Deleted files" : "Forigitaj dosieroj",
- "Shares" : "Kunhavigoj",
- "Shared with others" : "Kunhavata kun aliaj",
- "Shared with you" : "Kunhavata kun vi",
- "Deleted shares" : "Forigitaj kunhavigoj",
- "Choose" : "Elekti"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js
index 7ef832b7f4f..f719cf94b8f 100644
--- a/apps/files/l10n/es.js
+++ b/apps/files/l10n/es.js
@@ -220,6 +220,7 @@ OC.L10N.register(
"Show those shortcuts" : "Mostrar estos atajos de teclado",
"You" : "Usted",
"Shared multiple times with different people" : "Compartido múltiples veces con diferentes personas",
+ "Unable to change the favorite state of the file" : "Deshacer los cambios del estado de favorito del archivo",
"Error while loading the file data" : "Error al cargar los datos del archivo",
"Owner" : "Dueño",
"Remove from favorites" : "Quitar de favoritos",
@@ -260,8 +261,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Está a punto de eliminar {count} elemento","Está a punto de eliminar {count} elementos","Está a punto de eliminar {count} elementos"],
"Confirm deletion" : "Confirmar eliminación",
"Cancel" : "Cancelar",
+ "Download" : "Descargar",
"Moving \"{source}\" to \"{destination}\" …" : "Moviendo \"{source}\" a \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Copiando \"{source}\" a \"{destination}\" …",
+ "Destination is not a folder" : "El destino no es una carpeta",
+ "This file/folder is already in that directory" : "Este archivo/carpeta ya está en ese directorio",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "No puede mover un archivo/carpeta a sí mismo o a una sub-carpeta de sí mismo",
"(copy)" : "(copiar)",
"(copy %n)" : "(copiar %n)",
@@ -323,6 +327,9 @@ OC.L10N.register(
"Files moved successfully" : "Archivos movidos exitosamente",
"Conflicts resolution skipped" : "Resolución de conflictos omitida",
"Upload cancelled" : "Subida cancelada.",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No se ha podido renombrar \"{oldName}\", ya no existe",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor, escoja un nombre diferente.",
+ "Could not rename \"{oldName}\"" : "No se ha podido renombrar \"{oldName}\"",
"This operation is forbidden" : "Esta operación está prohibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verifique los registros o contacte con el administrador",
"Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente",
@@ -354,7 +361,6 @@ OC.L10N.register(
"Upload too large" : "Subida demasido grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que está intentando subir sobrepasan el tamaño máximo permitido en este servidor.",
"File could not be found" : "El archivo no se ha encontrado",
- "Download" : "Descargar",
"Show list view" : "Mostrar vista de lista",
"Show grid view" : "Mostrar vista de cuadrícula",
"Close" : "Cerrar",
@@ -393,9 +399,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Se ha copiado {origin} dentro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Se han copiado {origin} y {nbfiles} otros archivos dentro de {destination}",
"{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{oldName}\", it does not exist any more" : "No se ha podido renombrar \"{oldName}\", ya no existe",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor, escoja un nombre diferente.",
- "Could not rename \"{oldName}\"" : "No se ha podido renombrar \"{oldName}\"",
"Could not create file \"{file}\"" : "No se pudo crear archivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No se pudo crear archivo \"{file}\" porque ya existe",
"Could not create folder \"{dir}\" because it already exists" : "No se ha podido crear la carpeta \"{dir}\" porque ya existe",
@@ -447,8 +450,6 @@ OC.L10N.register(
"New text file.txt" : "Nuevo archivo.txt",
"%1$s (renamed)" : "%1$s (renombrado)",
"renamed file" : "archivo renombrado",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Luego de habilitar los nombres de archivo compatibles con windows, los archivos existentes no podrán ser modificados, pero, podrán ser renombrados a nuevos nombres válidos por su respectivo propietario.",
- "{count} files could not be converted" : "{count} archivos no han podido ser convertidos",
- "{count} files successfully converted" : "{count} archivos convertidos correctamente"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Luego de habilitar los nombres de archivo compatibles con windows, los archivos existentes no podrán ser modificados, pero, podrán ser renombrados a nuevos nombres válidos por su respectivo propietario."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json
index 314dd0eddfe..3d6910f16fd 100644
--- a/apps/files/l10n/es.json
+++ b/apps/files/l10n/es.json
@@ -218,6 +218,7 @@
"Show those shortcuts" : "Mostrar estos atajos de teclado",
"You" : "Usted",
"Shared multiple times with different people" : "Compartido múltiples veces con diferentes personas",
+ "Unable to change the favorite state of the file" : "Deshacer los cambios del estado de favorito del archivo",
"Error while loading the file data" : "Error al cargar los datos del archivo",
"Owner" : "Dueño",
"Remove from favorites" : "Quitar de favoritos",
@@ -258,8 +259,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Está a punto de eliminar {count} elemento","Está a punto de eliminar {count} elementos","Está a punto de eliminar {count} elementos"],
"Confirm deletion" : "Confirmar eliminación",
"Cancel" : "Cancelar",
+ "Download" : "Descargar",
"Moving \"{source}\" to \"{destination}\" …" : "Moviendo \"{source}\" a \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Copiando \"{source}\" a \"{destination}\" …",
+ "Destination is not a folder" : "El destino no es una carpeta",
+ "This file/folder is already in that directory" : "Este archivo/carpeta ya está en ese directorio",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "No puede mover un archivo/carpeta a sí mismo o a una sub-carpeta de sí mismo",
"(copy)" : "(copiar)",
"(copy %n)" : "(copiar %n)",
@@ -321,6 +325,9 @@
"Files moved successfully" : "Archivos movidos exitosamente",
"Conflicts resolution skipped" : "Resolución de conflictos omitida",
"Upload cancelled" : "Subida cancelada.",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No se ha podido renombrar \"{oldName}\", ya no existe",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor, escoja un nombre diferente.",
+ "Could not rename \"{oldName}\"" : "No se ha podido renombrar \"{oldName}\"",
"This operation is forbidden" : "Esta operación está prohibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verifique los registros o contacte con el administrador",
"Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente",
@@ -352,7 +359,6 @@
"Upload too large" : "Subida demasido grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que está intentando subir sobrepasan el tamaño máximo permitido en este servidor.",
"File could not be found" : "El archivo no se ha encontrado",
- "Download" : "Descargar",
"Show list view" : "Mostrar vista de lista",
"Show grid view" : "Mostrar vista de cuadrícula",
"Close" : "Cerrar",
@@ -391,9 +397,6 @@
"Copied {origin} inside {destination}" : "Se ha copiado {origin} dentro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Se han copiado {origin} y {nbfiles} otros archivos dentro de {destination}",
"{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{oldName}\", it does not exist any more" : "No se ha podido renombrar \"{oldName}\", ya no existe",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor, escoja un nombre diferente.",
- "Could not rename \"{oldName}\"" : "No se ha podido renombrar \"{oldName}\"",
"Could not create file \"{file}\"" : "No se pudo crear archivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No se pudo crear archivo \"{file}\" porque ya existe",
"Could not create folder \"{dir}\" because it already exists" : "No se ha podido crear la carpeta \"{dir}\" porque ya existe",
@@ -445,8 +448,6 @@
"New text file.txt" : "Nuevo archivo.txt",
"%1$s (renamed)" : "%1$s (renombrado)",
"renamed file" : "archivo renombrado",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Luego de habilitar los nombres de archivo compatibles con windows, los archivos existentes no podrán ser modificados, pero, podrán ser renombrados a nuevos nombres válidos por su respectivo propietario.",
- "{count} files could not be converted" : "{count} archivos no han podido ser convertidos",
- "{count} files successfully converted" : "{count} archivos convertidos correctamente"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Luego de habilitar los nombres de archivo compatibles con windows, los archivos existentes no podrán ser modificados, pero, podrán ser renombrados a nuevos nombres válidos por su respectivo propietario."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files/l10n/es_419.js b/apps/files/l10n/es_419.js
deleted file mode 100644
index 4b5af2ffea0..00000000000
--- a/apps/files/l10n/es_419.js
+++ /dev/null
@@ -1,137 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Favorites" : "Favoritos",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "All files" : "Todos los archivos",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Go back" : "Regresar",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Shared by link" : "Compartido por liga",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Archivos borrados"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_419.json b/apps/files/l10n/es_419.json
deleted file mode 100644
index faab5900cc2..00000000000
--- a/apps/files/l10n/es_419.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Favorites" : "Favoritos",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "All files" : "Todos los archivos",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Go back" : "Regresar",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Shared by link" : "Compartido por liga",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Archivos borrados"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es_AR.js b/apps/files/l10n/es_AR.js
deleted file mode 100644
index 825a8c97033..00000000000
--- a/apps/files/l10n/es_AR.js
+++ /dev/null
@@ -1,149 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o Copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "Processing files …" : "Procesando archivos...",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No cuenta con suficiente espacio disponible, usted se encuentra cargando {size1} pero sólo cuenta con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuenta con suficiente espacio disponible",
- "An unknown error has occurred" : "Se presentó un error desconocido",
- "Uploading …" : "Actualizando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Choose target folder" : "Elegir carpeta destino",
- "Open" : "Abrir",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, favor de verficiar las bitácoras o contacte al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "copy" : "copiar",
- "Could not copy \"{file}\"" : "No es posible copiar \"{file}\"",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Favor de elegir un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar link directo (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Create new folder" : "Crear nueva carpeta",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es favorito",
- "Remove from favorites" : "Eliminado de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Usted agregó {file} a sus favoritos",
- "You removed {file} from your favorites" : "Usted eliminó {file} de sus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Usted creó {file}",
- "You created an encrypted file in {file}" : "Se creó el archivo encriptado {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{user} created an encrypted file in {file}" : "{user} creó el archivo encriptado {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Usted cambió {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Usted borró {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Usted restauró {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Usted renombró  {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Usted movió {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de sus strong>favoritos</strong>",
- "A file or folder has been <strong>changed</strong>" : "Un archivo o carpeta ha sido <strong>modificado</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "File Management" : "Administración de Archivos",
- "Folder name" : "Nombre de la carpeta",
- "Select all" : "Seleccionar todo",
- "File not found" : "Archivo no encontrado",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Cargue algún contenido o sincronice con sus dispositivos!",
- "Go back" : "Regresar",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "New Folder" : "Carpeta Nueva",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marque como favortios se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que está intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Toggle grid view" : "Vista de cuadrícula",
- "Deleted files" : "Archivos borrados",
- "Shares" : "Shares",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Shared by link" : "Compartido por link",
- "Choose" : "Elige"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_AR.json b/apps/files/l10n/es_AR.json
deleted file mode 100644
index d156326d0af..00000000000
--- a/apps/files/l10n/es_AR.json
+++ /dev/null
@@ -1,147 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o Copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "Processing files …" : "Procesando archivos...",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No cuenta con suficiente espacio disponible, usted se encuentra cargando {size1} pero sólo cuenta con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuenta con suficiente espacio disponible",
- "An unknown error has occurred" : "Se presentó un error desconocido",
- "Uploading …" : "Actualizando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Choose target folder" : "Elegir carpeta destino",
- "Open" : "Abrir",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, favor de verficiar las bitácoras o contacte al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "copy" : "copiar",
- "Could not copy \"{file}\"" : "No es posible copiar \"{file}\"",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Favor de elegir un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar link directo (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Create new folder" : "Crear nueva carpeta",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es favorito",
- "Remove from favorites" : "Eliminado de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Usted agregó {file} a sus favoritos",
- "You removed {file} from your favorites" : "Usted eliminó {file} de sus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Usted creó {file}",
- "You created an encrypted file in {file}" : "Se creó el archivo encriptado {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{user} created an encrypted file in {file}" : "{user} creó el archivo encriptado {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Usted cambió {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Usted borró {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Usted restauró {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Usted renombró  {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Usted movió {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de sus strong>favoritos</strong>",
- "A file or folder has been <strong>changed</strong>" : "Un archivo o carpeta ha sido <strong>modificado</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "File Management" : "Administración de Archivos",
- "Folder name" : "Nombre de la carpeta",
- "Select all" : "Seleccionar todo",
- "File not found" : "Archivo no encontrado",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Cargue algún contenido o sincronice con sus dispositivos!",
- "Go back" : "Regresar",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "New Folder" : "Carpeta Nueva",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marque como favortios se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que está intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Toggle grid view" : "Vista de cuadrícula",
- "Deleted files" : "Archivos borrados",
- "Shares" : "Shares",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Shared by link" : "Compartido por link",
- "Choose" : "Elige"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es_CL.js b/apps/files/l10n/es_CL.js
deleted file mode 100644
index eb83182a60a..00000000000
--- a/apps/files/l10n/es_CL.js
+++ /dev/null
@@ -1,154 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "{used} of {quota} used" : "{used} de {quota} usados",
- "{used} used" : "{used} usados",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "No se permite el uso del caracter \"/\" en el nombre del archivo.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Create new folder" : "Crear nueva carpeta",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "You created an encrypted file in {file}" : "Creaste un archivo encriptado en {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{user} created an encrypted file in {file}" : "{user} creó un archivo encriptado en {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "You changed an encrypted file in {file}" : "Cambiaste un archivo encriptado en {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "{user} changed an encrypted file in {file}" : "{user} cambió un archivo encriptado en {file}",
- "You deleted {file}" : "Borraste {file}",
- "You deleted an encrypted file in {file}" : "Borraste un archivo encriptado en {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "{user} deleted an encrypted file in {file}" : "{user} borró un archivo encriptado en {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "A file or folder has been <strong>changed</strong>" : "Un archivo o carpeta ha sido <strong>cambiado</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Folder name" : "Nombre de la carpeta",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Select all" : "Seleccionar todo",
- "File not found" : "Archivo no encontrado",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Papelera",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_CL.json b/apps/files/l10n/es_CL.json
deleted file mode 100644
index 2c34fdcb4dc..00000000000
--- a/apps/files/l10n/es_CL.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "{used} of {quota} used" : "{used} de {quota} usados",
- "{used} used" : "{used} usados",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "No se permite el uso del caracter \"/\" en el nombre del archivo.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Create new folder" : "Crear nueva carpeta",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "You created an encrypted file in {file}" : "Creaste un archivo encriptado en {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{user} created an encrypted file in {file}" : "{user} creó un archivo encriptado en {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "You changed an encrypted file in {file}" : "Cambiaste un archivo encriptado en {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "{user} changed an encrypted file in {file}" : "{user} cambió un archivo encriptado en {file}",
- "You deleted {file}" : "Borraste {file}",
- "You deleted an encrypted file in {file}" : "Borraste un archivo encriptado en {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "{user} deleted an encrypted file in {file}" : "{user} borró un archivo encriptado en {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "A file or folder has been <strong>changed</strong>" : "Un archivo o carpeta ha sido <strong>cambiado</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Folder name" : "Nombre de la carpeta",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Select all" : "Seleccionar todo",
- "File not found" : "Archivo no encontrado",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Papelera",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es_CO.js b/apps/files/l10n/es_CO.js
deleted file mode 100644
index 3287df27983..00000000000
--- a/apps/files/l10n/es_CO.js
+++ /dev/null
@@ -1,154 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "copy" : "Copiar",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "{used} of {quota} used" : "{used} de {quota} usados",
- "{used} used" : "{used} usados",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "No se permite el uso del caracter \"/\" en el nombre del archivo.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Create new folder" : "Crear nueva carpeta",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "You created an encrypted file in {file}" : "Creaste un archivo encriptado en {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{user} created an encrypted file in {file}" : "{user} creó un archivo encriptado en {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "You changed an encrypted file in {file}" : "Cambiaste un archivo encriptado en {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "{user} changed an encrypted file in {file}" : "{user} cambió un archivo encriptado en {file}",
- "You deleted {file}" : "Borraste {file}",
- "You deleted an encrypted file in {file}" : "Borraste un archivo encriptado en {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "{user} deleted an encrypted file in {file}" : "{user} borró un archivo encriptado en {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Folder name" : "Nombre de la carpeta",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Select all" : "Seleccionar todo",
- "File not found" : "Archivo no encontrado",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Papelera",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_CO.json b/apps/files/l10n/es_CO.json
deleted file mode 100644
index 47d6420fbed..00000000000
--- a/apps/files/l10n/es_CO.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "copy" : "Copiar",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "{used} of {quota} used" : "{used} de {quota} usados",
- "{used} used" : "{used} usados",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "No se permite el uso del caracter \"/\" en el nombre del archivo.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Create new folder" : "Crear nueva carpeta",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "You created an encrypted file in {file}" : "Creaste un archivo encriptado en {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{user} created an encrypted file in {file}" : "{user} creó un archivo encriptado en {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "You changed an encrypted file in {file}" : "Cambiaste un archivo encriptado en {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "{user} changed an encrypted file in {file}" : "{user} cambió un archivo encriptado en {file}",
- "You deleted {file}" : "Borraste {file}",
- "You deleted an encrypted file in {file}" : "Borraste un archivo encriptado en {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "{user} deleted an encrypted file in {file}" : "{user} borró un archivo encriptado en {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Folder name" : "Nombre de la carpeta",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Select all" : "Seleccionar todo",
- "File not found" : "Archivo no encontrado",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Papelera",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es_CR.js b/apps/files/l10n/es_CR.js
deleted file mode 100644
index c4548e2b0d2..00000000000
--- a/apps/files/l10n/es_CR.js
+++ /dev/null
@@ -1,152 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "{used} of {quota} used" : "{used} de {quota} usados",
- "{used} used" : "{used} usados",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "No se permite el uso del caracter \"/\" en el nombre del archivo.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Create new folder" : "Crear nueva carpeta",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "You created an encrypted file in {file}" : "Creaste un archivo encriptado en {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{user} created an encrypted file in {file}" : "{user} creó un archivo encriptado en {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "You changed an encrypted file in {file}" : "Cambiaste un archivo encriptado en {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "{user} changed an encrypted file in {file}" : "{user} cambió un archivo encriptado en {file}",
- "You deleted {file}" : "Borraste {file}",
- "You deleted an encrypted file in {file}" : "Borraste un archivo encriptado en {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "{user} deleted an encrypted file in {file}" : "{user} borró un archivo encriptado en {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Folder name" : "Nombre de la carpeta",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Papelera",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_CR.json b/apps/files/l10n/es_CR.json
deleted file mode 100644
index 84b04ec739f..00000000000
--- a/apps/files/l10n/es_CR.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "{used} of {quota} used" : "{used} de {quota} usados",
- "{used} used" : "{used} usados",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "No se permite el uso del caracter \"/\" en el nombre del archivo.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Create new folder" : "Crear nueva carpeta",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "You created an encrypted file in {file}" : "Creaste un archivo encriptado en {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{user} created an encrypted file in {file}" : "{user} creó un archivo encriptado en {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "You changed an encrypted file in {file}" : "Cambiaste un archivo encriptado en {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "{user} changed an encrypted file in {file}" : "{user} cambió un archivo encriptado en {file}",
- "You deleted {file}" : "Borraste {file}",
- "You deleted an encrypted file in {file}" : "Borraste un archivo encriptado en {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "{user} deleted an encrypted file in {file}" : "{user} borró un archivo encriptado en {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Folder name" : "Nombre de la carpeta",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Papelera",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es_DO.js b/apps/files/l10n/es_DO.js
deleted file mode 100644
index 14144c28f96..00000000000
--- a/apps/files/l10n/es_DO.js
+++ /dev/null
@@ -1,153 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "{used} of {quota} used" : "{used} de {quota} usados",
- "{used} used" : "{used} usados",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "No se permite el uso del caracter \"/\" en el nombre del archivo.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Create new folder" : "Crear nueva carpeta",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "You created an encrypted file in {file}" : "Creaste un archivo encriptado en {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{user} created an encrypted file in {file}" : "{user} creó un archivo encriptado en {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "You changed an encrypted file in {file}" : "Cambiaste un archivo encriptado en {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "{user} changed an encrypted file in {file}" : "{user} cambió un archivo encriptado en {file}",
- "You deleted {file}" : "Borraste {file}",
- "You deleted an encrypted file in {file}" : "Borraste un archivo encriptado en {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "{user} deleted an encrypted file in {file}" : "{user} borró un archivo encriptado en {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Folder name" : "Nombre de la carpeta",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Select all" : "Seleccionar todo",
- "File not found" : "Archivo no encontrado",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Papelera",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_DO.json b/apps/files/l10n/es_DO.json
deleted file mode 100644
index 638b1a208ca..00000000000
--- a/apps/files/l10n/es_DO.json
+++ /dev/null
@@ -1,151 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "{used} of {quota} used" : "{used} de {quota} usados",
- "{used} used" : "{used} usados",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "No se permite el uso del caracter \"/\" en el nombre del archivo.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Create new folder" : "Crear nueva carpeta",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "You created an encrypted file in {file}" : "Creaste un archivo encriptado en {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{user} created an encrypted file in {file}" : "{user} creó un archivo encriptado en {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "You changed an encrypted file in {file}" : "Cambiaste un archivo encriptado en {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "{user} changed an encrypted file in {file}" : "{user} cambió un archivo encriptado en {file}",
- "You deleted {file}" : "Borraste {file}",
- "You deleted an encrypted file in {file}" : "Borraste un archivo encriptado en {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "{user} deleted an encrypted file in {file}" : "{user} borró un archivo encriptado en {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Folder name" : "Nombre de la carpeta",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Select all" : "Seleccionar todo",
- "File not found" : "Archivo no encontrado",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Papelera",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es_EC.js b/apps/files/l10n/es_EC.js
index 54e4b3808cb..2f039379b4f 100644
--- a/apps/files/l10n/es_EC.js
+++ b/apps/files/l10n/es_EC.js
@@ -146,6 +146,7 @@ OC.L10N.register(
"Delete files" : "Eliminar archivos",
"Delete" : "Borrar",
"Cancel" : "Cancelar",
+ "Download" : "Descargar",
"Copy" : "Copiar",
"Move" : "Mover",
"Move or copy" : "Mover o copiar",
@@ -163,6 +164,9 @@ OC.L10N.register(
"Unable to initialize the templates directory" : "No se pudo inicializar el directorio de plantillas.",
"Templates" : "Plantillas",
"Some files could not be moved" : "Algunos archivos no se pudieron mover",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No se pudo cambiar el nombre de \"{oldName}\", ya no existe.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
+ "Could not rename \"{oldName}\"" : "No se pudo cambiar el nombre de \"{oldName}\".",
"This operation is forbidden" : "Esta operación está prohibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
"Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
@@ -177,7 +181,6 @@ OC.L10N.register(
"Upload too large" : "La carga es demasido grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
"File could not be found" : "No fue posible encontrar el archivo",
- "Download" : "Descargar",
"Show list view" : "Mostrar vista de lista",
"Show grid view" : "Mostrar vista de cuadrícula",
"Close" : "Cerrar",
@@ -213,9 +216,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
"{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{oldName}\", it does not exist any more" : "No se pudo cambiar el nombre de \"{oldName}\", ya no existe.",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{oldName}\"" : "No se pudo cambiar el nombre de \"{oldName}\".",
"Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
"Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
diff --git a/apps/files/l10n/es_EC.json b/apps/files/l10n/es_EC.json
index 37087b249db..7d3d713a7db 100644
--- a/apps/files/l10n/es_EC.json
+++ b/apps/files/l10n/es_EC.json
@@ -144,6 +144,7 @@
"Delete files" : "Eliminar archivos",
"Delete" : "Borrar",
"Cancel" : "Cancelar",
+ "Download" : "Descargar",
"Copy" : "Copiar",
"Move" : "Mover",
"Move or copy" : "Mover o copiar",
@@ -161,6 +162,9 @@
"Unable to initialize the templates directory" : "No se pudo inicializar el directorio de plantillas.",
"Templates" : "Plantillas",
"Some files could not be moved" : "Algunos archivos no se pudieron mover",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No se pudo cambiar el nombre de \"{oldName}\", ya no existe.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
+ "Could not rename \"{oldName}\"" : "No se pudo cambiar el nombre de \"{oldName}\".",
"This operation is forbidden" : "Esta operación está prohibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
"Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
@@ -175,7 +179,6 @@
"Upload too large" : "La carga es demasido grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
"File could not be found" : "No fue posible encontrar el archivo",
- "Download" : "Descargar",
"Show list view" : "Mostrar vista de lista",
"Show grid view" : "Mostrar vista de cuadrícula",
"Close" : "Cerrar",
@@ -211,9 +214,6 @@
"Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
"{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{oldName}\", it does not exist any more" : "No se pudo cambiar el nombre de \"{oldName}\", ya no existe.",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{oldName}\"" : "No se pudo cambiar el nombre de \"{oldName}\".",
"Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
"Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
diff --git a/apps/files/l10n/es_GT.js b/apps/files/l10n/es_GT.js
deleted file mode 100644
index c4548e2b0d2..00000000000
--- a/apps/files/l10n/es_GT.js
+++ /dev/null
@@ -1,152 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "{used} of {quota} used" : "{used} de {quota} usados",
- "{used} used" : "{used} usados",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "No se permite el uso del caracter \"/\" en el nombre del archivo.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Create new folder" : "Crear nueva carpeta",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "You created an encrypted file in {file}" : "Creaste un archivo encriptado en {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{user} created an encrypted file in {file}" : "{user} creó un archivo encriptado en {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "You changed an encrypted file in {file}" : "Cambiaste un archivo encriptado en {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "{user} changed an encrypted file in {file}" : "{user} cambió un archivo encriptado en {file}",
- "You deleted {file}" : "Borraste {file}",
- "You deleted an encrypted file in {file}" : "Borraste un archivo encriptado en {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "{user} deleted an encrypted file in {file}" : "{user} borró un archivo encriptado en {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Folder name" : "Nombre de la carpeta",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Papelera",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_GT.json b/apps/files/l10n/es_GT.json
deleted file mode 100644
index 84b04ec739f..00000000000
--- a/apps/files/l10n/es_GT.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "{used} of {quota} used" : "{used} de {quota} usados",
- "{used} used" : "{used} usados",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "No se permite el uso del caracter \"/\" en el nombre del archivo.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Create new folder" : "Crear nueva carpeta",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "You created an encrypted file in {file}" : "Creaste un archivo encriptado en {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{user} created an encrypted file in {file}" : "{user} creó un archivo encriptado en {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "You changed an encrypted file in {file}" : "Cambiaste un archivo encriptado en {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "{user} changed an encrypted file in {file}" : "{user} cambió un archivo encriptado en {file}",
- "You deleted {file}" : "Borraste {file}",
- "You deleted an encrypted file in {file}" : "Borraste un archivo encriptado en {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "{user} deleted an encrypted file in {file}" : "{user} borró un archivo encriptado en {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Folder name" : "Nombre de la carpeta",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Papelera",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es_HN.js b/apps/files/l10n/es_HN.js
deleted file mode 100644
index 4b5af2ffea0..00000000000
--- a/apps/files/l10n/es_HN.js
+++ /dev/null
@@ -1,137 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Favorites" : "Favoritos",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "All files" : "Todos los archivos",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Go back" : "Regresar",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Shared by link" : "Compartido por liga",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Archivos borrados"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_HN.json b/apps/files/l10n/es_HN.json
deleted file mode 100644
index faab5900cc2..00000000000
--- a/apps/files/l10n/es_HN.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Favorites" : "Favoritos",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "All files" : "Todos los archivos",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Go back" : "Regresar",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Shared by link" : "Compartido por liga",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Archivos borrados"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es_MX.js b/apps/files/l10n/es_MX.js
index 5fc63ca05e7..69567a664bd 100644
--- a/apps/files/l10n/es_MX.js
+++ b/apps/files/l10n/es_MX.js
@@ -206,8 +206,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Está a punto de eliminar {count} elemento.","Está a punto de eliminar {count} elementos.","Está a punto de eliminar {count} elementos."],
"Confirm deletion" : "Confirmar eliminación",
"Cancel" : "Cancelar",
+ "Download" : "Descargar",
"Moving \"{source}\" to \"{destination}\" …" : "Moviendo \"{source}\" a \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Copiando \"{source}\" a \"{destination}\" …",
+ "Destination is not a folder" : "El destino no es una carpeta",
+ "This file/folder is already in that directory" : "Este archivo/carpeta ya está en ese directorio",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "No puede mover un archivo/carpeta a sí mismo o a una subcarpeta de sí mismo",
"(copy)" : "(copiar)",
"(copy %n)" : "(copiar %n)",
@@ -266,6 +269,9 @@ OC.L10N.register(
"Files moved successfully" : "Archivos movidos exitosamente",
"Conflicts resolution skipped" : "Resolución de conflictos omitida",
"Upload cancelled" : "Subida cancelada",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No se pudo renombrar \"{oldName}\", ya no existe.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor, elija un nombre diferente.",
+ "Could not rename \"{oldName}\"" : "No se pudo renombrar \"{oldName}\"",
"This operation is forbidden" : "Esta operación está prohibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
"Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
@@ -296,7 +302,6 @@ OC.L10N.register(
"Upload too large" : "La carga es demasido grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
"File could not be found" : "No fue posible encontrar el archivo",
- "Download" : "Descargar",
"Show list view" : "Mostrar vista de lista",
"Show grid view" : "Mostrar vista de cuadrícula",
"Close" : "Cerrar",
@@ -335,9 +340,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
"{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{oldName}\", it does not exist any more" : "No se pudo renombrar \"{oldName}\", ya no existe.",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor, elija un nombre diferente.",
- "Could not rename \"{oldName}\"" : "No se pudo renombrar \"{oldName}\"",
"Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
"Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json
index 3e773543331..7e960a74ba7 100644
--- a/apps/files/l10n/es_MX.json
+++ b/apps/files/l10n/es_MX.json
@@ -204,8 +204,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Está a punto de eliminar {count} elemento.","Está a punto de eliminar {count} elementos.","Está a punto de eliminar {count} elementos."],
"Confirm deletion" : "Confirmar eliminación",
"Cancel" : "Cancelar",
+ "Download" : "Descargar",
"Moving \"{source}\" to \"{destination}\" …" : "Moviendo \"{source}\" a \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Copiando \"{source}\" a \"{destination}\" …",
+ "Destination is not a folder" : "El destino no es una carpeta",
+ "This file/folder is already in that directory" : "Este archivo/carpeta ya está en ese directorio",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "No puede mover un archivo/carpeta a sí mismo o a una subcarpeta de sí mismo",
"(copy)" : "(copiar)",
"(copy %n)" : "(copiar %n)",
@@ -264,6 +267,9 @@
"Files moved successfully" : "Archivos movidos exitosamente",
"Conflicts resolution skipped" : "Resolución de conflictos omitida",
"Upload cancelled" : "Subida cancelada",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No se pudo renombrar \"{oldName}\", ya no existe.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor, elija un nombre diferente.",
+ "Could not rename \"{oldName}\"" : "No se pudo renombrar \"{oldName}\"",
"This operation is forbidden" : "Esta operación está prohibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
"Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
@@ -294,7 +300,6 @@
"Upload too large" : "La carga es demasido grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
"File could not be found" : "No fue posible encontrar el archivo",
- "Download" : "Descargar",
"Show list view" : "Mostrar vista de lista",
"Show grid view" : "Mostrar vista de cuadrícula",
"Close" : "Cerrar",
@@ -333,9 +338,6 @@
"Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
"{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{oldName}\", it does not exist any more" : "No se pudo renombrar \"{oldName}\", ya no existe.",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor, elija un nombre diferente.",
- "Could not rename \"{oldName}\"" : "No se pudo renombrar \"{oldName}\"",
"Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
"Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
diff --git a/apps/files/l10n/es_NI.js b/apps/files/l10n/es_NI.js
deleted file mode 100644
index 4b5af2ffea0..00000000000
--- a/apps/files/l10n/es_NI.js
+++ /dev/null
@@ -1,137 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Favorites" : "Favoritos",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "All files" : "Todos los archivos",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Go back" : "Regresar",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Shared by link" : "Compartido por liga",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Archivos borrados"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_NI.json b/apps/files/l10n/es_NI.json
deleted file mode 100644
index faab5900cc2..00000000000
--- a/apps/files/l10n/es_NI.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Favorites" : "Favoritos",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "All files" : "Todos los archivos",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Go back" : "Regresar",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Shared by link" : "Compartido por liga",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Archivos borrados"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es_PA.js b/apps/files/l10n/es_PA.js
deleted file mode 100644
index 4b5af2ffea0..00000000000
--- a/apps/files/l10n/es_PA.js
+++ /dev/null
@@ -1,137 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Favorites" : "Favoritos",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "All files" : "Todos los archivos",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Go back" : "Regresar",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Shared by link" : "Compartido por liga",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Archivos borrados"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_PA.json b/apps/files/l10n/es_PA.json
deleted file mode 100644
index faab5900cc2..00000000000
--- a/apps/files/l10n/es_PA.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Favorites" : "Favoritos",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "All files" : "Todos los archivos",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Go back" : "Regresar",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Shared by link" : "Compartido por liga",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Archivos borrados"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es_PE.js b/apps/files/l10n/es_PE.js
deleted file mode 100644
index c0e22fe68cf..00000000000
--- a/apps/files/l10n/es_PE.js
+++ /dev/null
@@ -1,166 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Show list view" : "Mostrar vista de lista",
- "Show grid view" : "Mostrar lista en grilla",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "This will stop your current uploads." : "Se detendrán las cargas en curso",
- "Upload cancelled." : "Carga cancelada.",
- "Processing files …" : "Procesando archivos ...",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "An unknown error has occurred" : "Ocurrió un error desconicido ",
- "File could not be uploaded" : "No pudo cargarse el archivo",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Uploading that item is not supported" : "Carga de este archvio no soportado",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Operation is blocked by access control" : "Operación bloqueada por el control de acceso",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Choose target folder" : "Seleccione carpeta destino",
- "Open" : "Abrir",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Leave this share" : "Salir de este compartido",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Please select tag(s) to add to the selection" : "Favor seleccione etiqueta(s) para agregar a selección",
- "Apply tag(s) to selection" : "Aplicar etiqueta(s) a selección",
- "Select directory \"{dirName}\"" : "Seleccione carpeta \"{dirName}\"",
- "Select file \"{fileName}\"" : "Seleccione archivo \"{fileName}\"",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "copy" : "copiar",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferente. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Could not fetch file details \"{file}\"" : "No se pudo recuperar detalles de archivo \"{file}\"",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Enter more than two characters to search in other folders" : "Ingrese al menos dos caracteres para buscar en otras carpetas",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You do not have permission to upload or create files here" : "No tiene permiso para crear o cargar archivos aquí",
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "Select file range" : "Seleccione rango de archivos",
- "{used}%" : "{used}%",
- "{used} of {quota} used" : "{used} de {quota} usado",
- "{used} used" : "{used} usado",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "\"/\" no permitido dentro de nombre",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
- "Folder name" : "Nombre de la carpeta",
- "Select all" : "Seleccionar todo",
- "File not found" : "Archivo no encontrado",
- "Your storage is full, files can not be updated or synced anymore!" : "Tu espacio está lleno. ¡Los archivos ya no se pueden actualizar o sincronizar!",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "Add" : "Guardar",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Unshare" : "Dejar de compartir",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Cancel" : "Cancelar",
- "Deleted files" : "Archivos borrados",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_PE.json b/apps/files/l10n/es_PE.json
deleted file mode 100644
index b02c5b432de..00000000000
--- a/apps/files/l10n/es_PE.json
+++ /dev/null
@@ -1,164 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Show list view" : "Mostrar vista de lista",
- "Show grid view" : "Mostrar lista en grilla",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "This will stop your current uploads." : "Se detendrán las cargas en curso",
- "Upload cancelled." : "Carga cancelada.",
- "Processing files …" : "Procesando archivos ...",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "An unknown error has occurred" : "Ocurrió un error desconicido ",
- "File could not be uploaded" : "No pudo cargarse el archivo",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Uploading that item is not supported" : "Carga de este archvio no soportado",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Operation is blocked by access control" : "Operación bloqueada por el control de acceso",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Choose target folder" : "Seleccione carpeta destino",
- "Open" : "Abrir",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Leave this share" : "Salir de este compartido",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Please select tag(s) to add to the selection" : "Favor seleccione etiqueta(s) para agregar a selección",
- "Apply tag(s) to selection" : "Aplicar etiqueta(s) a selección",
- "Select directory \"{dirName}\"" : "Seleccione carpeta \"{dirName}\"",
- "Select file \"{fileName}\"" : "Seleccione archivo \"{fileName}\"",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "copy" : "copiar",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferente. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Could not fetch file details \"{file}\"" : "No se pudo recuperar detalles de archivo \"{file}\"",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Enter more than two characters to search in other folders" : "Ingrese al menos dos caracteres para buscar en otras carpetas",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You do not have permission to upload or create files here" : "No tiene permiso para crear o cargar archivos aquí",
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "Select file range" : "Seleccione rango de archivos",
- "{used}%" : "{used}%",
- "{used} of {quota} used" : "{used} de {quota} usado",
- "{used} used" : "{used} usado",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "\"/\" no permitido dentro de nombre",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
- "Folder name" : "Nombre de la carpeta",
- "Select all" : "Seleccionar todo",
- "File not found" : "Archivo no encontrado",
- "Your storage is full, files can not be updated or synced anymore!" : "Tu espacio está lleno. ¡Los archivos ya no se pueden actualizar o sincronizar!",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "Add" : "Guardar",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Unshare" : "Dejar de compartir",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Cancel" : "Cancelar",
- "Deleted files" : "Archivos borrados",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es_PR.js b/apps/files/l10n/es_PR.js
deleted file mode 100644
index 4b5af2ffea0..00000000000
--- a/apps/files/l10n/es_PR.js
+++ /dev/null
@@ -1,137 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Favorites" : "Favoritos",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "All files" : "Todos los archivos",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Go back" : "Regresar",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Shared by link" : "Compartido por liga",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Archivos borrados"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_PR.json b/apps/files/l10n/es_PR.json
deleted file mode 100644
index faab5900cc2..00000000000
--- a/apps/files/l10n/es_PR.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Favorites" : "Favoritos",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "All files" : "Todos los archivos",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Go back" : "Regresar",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Shared by link" : "Compartido por liga",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Archivos borrados"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es_PY.js b/apps/files/l10n/es_PY.js
deleted file mode 100644
index a8bc92e54c9..00000000000
--- a/apps/files/l10n/es_PY.js
+++ /dev/null
@@ -1,156 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "This will stop your current uploads." : "Esto detendrá tus cargas actuales.",
- "Upload cancelled." : "Carga cancelada.",
- "Processing files …" : "Procesando archivos ...",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "An unknown error has occurred" : "Se presentó un error desconocido",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Operation is blocked by access control" : "La operación es bloqueada por control de acceso",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Choose target folder" : "Seleccionar carpeta destino",
- "Open" : "Abrir",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Leave this share" : "Dejar este recurso compartido",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "copy" : "copiar",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Could not fetch file details \"{file}\"" : "No fue posible obtener detalles del archivo \"{file}\"",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Enter more than two characters to search in other folders" : "Ingrese más de dos carácteres para buscar en otras carpetas",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "{used} of {quota} used" : "{used} de {quota} usado",
- "{used} used" : "{used} usado",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "\"/\" no es permitido dentro del nombre de un archivo.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "Storage of {owner} is almost full ({usedSpacePercent}%)." : "El espacio de {owner} está casi lleno ({usedSpacePercent}%).",
- "Your storage is almost full ({usedSpacePercent}%)." : "Tu espacio está casi lleno ({usedSpacePercent}%).",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Folder name" : "Nombre de la carpeta",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Archivos borrados",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_PY.json b/apps/files/l10n/es_PY.json
deleted file mode 100644
index 0f4468086f3..00000000000
--- a/apps/files/l10n/es_PY.json
+++ /dev/null
@@ -1,154 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "This will stop your current uploads." : "Esto detendrá tus cargas actuales.",
- "Upload cancelled." : "Carga cancelada.",
- "Processing files …" : "Procesando archivos ...",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "An unknown error has occurred" : "Se presentó un error desconocido",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Operation is blocked by access control" : "La operación es bloqueada por control de acceso",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Choose target folder" : "Seleccionar carpeta destino",
- "Open" : "Abrir",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Leave this share" : "Dejar este recurso compartido",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "copy" : "copiar",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Could not fetch file details \"{file}\"" : "No fue posible obtener detalles del archivo \"{file}\"",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Enter more than two characters to search in other folders" : "Ingrese más de dos carácteres para buscar en otras carpetas",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "{used} of {quota} used" : "{used} de {quota} usado",
- "{used} used" : "{used} usado",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "\"/\" no es permitido dentro del nombre de un archivo.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "Storage of {owner} is almost full ({usedSpacePercent}%)." : "El espacio de {owner} está casi lleno ({usedSpacePercent}%).",
- "Your storage is almost full ({usedSpacePercent}%)." : "Tu espacio está casi lleno ({usedSpacePercent}%).",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Folder name" : "Nombre de la carpeta",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Archivos borrados",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es_SV.js b/apps/files/l10n/es_SV.js
deleted file mode 100644
index 14144c28f96..00000000000
--- a/apps/files/l10n/es_SV.js
+++ /dev/null
@@ -1,153 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "{used} of {quota} used" : "{used} de {quota} usados",
- "{used} used" : "{used} usados",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "No se permite el uso del caracter \"/\" en el nombre del archivo.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Create new folder" : "Crear nueva carpeta",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "You created an encrypted file in {file}" : "Creaste un archivo encriptado en {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{user} created an encrypted file in {file}" : "{user} creó un archivo encriptado en {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "You changed an encrypted file in {file}" : "Cambiaste un archivo encriptado en {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "{user} changed an encrypted file in {file}" : "{user} cambió un archivo encriptado en {file}",
- "You deleted {file}" : "Borraste {file}",
- "You deleted an encrypted file in {file}" : "Borraste un archivo encriptado en {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "{user} deleted an encrypted file in {file}" : "{user} borró un archivo encriptado en {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Folder name" : "Nombre de la carpeta",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Select all" : "Seleccionar todo",
- "File not found" : "Archivo no encontrado",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Papelera",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_SV.json b/apps/files/l10n/es_SV.json
deleted file mode 100644
index 638b1a208ca..00000000000
--- a/apps/files/l10n/es_SV.json
+++ /dev/null
@@ -1,151 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
- "{used} of {quota} used" : "{used} de {quota} usados",
- "{used} used" : "{used} usados",
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"/\" is not allowed inside a file name." : "No se permite el uso del caracter \"/\" en el nombre del archivo.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Create new folder" : "Crear nueva carpeta",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "Favorites" : "Favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "You created an encrypted file in {file}" : "Creaste un archivo encriptado en {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{user} created an encrypted file in {file}" : "{user} creó un archivo encriptado en {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "You changed an encrypted file in {file}" : "Cambiaste un archivo encriptado en {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "{user} changed an encrypted file in {file}" : "{user} cambió un archivo encriptado en {file}",
- "You deleted {file}" : "Borraste {file}",
- "You deleted an encrypted file in {file}" : "Borraste un archivo encriptado en {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "{user} deleted an encrypted file in {file}" : "{user} borró un archivo encriptado en {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Folder name" : "Nombre de la carpeta",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Select all" : "Seleccionar todo",
- "File not found" : "Archivo no encontrado",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "Go back" : "Regresar",
- "Shared by link" : "Compartido por liga",
- "Shared" : "Compartido",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "All files" : "Todos los archivos",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Papelera",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Choose" : "Seleccionar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/es_UY.js b/apps/files/l10n/es_UY.js
deleted file mode 100644
index 4b5af2ffea0..00000000000
--- a/apps/files/l10n/es_UY.js
+++ /dev/null
@@ -1,137 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Favorites" : "Favoritos",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "All files" : "Todos los archivos",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Go back" : "Regresar",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Shared by link" : "Compartido por liga",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Archivos borrados"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_UY.json b/apps/files/l10n/es_UY.json
deleted file mode 100644
index faab5900cc2..00000000000
--- a/apps/files/l10n/es_UY.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{ "translations": {
- "File could not be found" : "No fue posible encontrar el archivo",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "Tags" : "Etiquetas",
- "Home" : "Inicio",
- "Close" : "Cerrar",
- "Favorites" : "Favoritos",
- "Could not create folder \"{dir}\"" : "No fue posible crear la carpeta \"{dir}\"",
- "Upload cancelled." : "Carga cancelada.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "No fue posible cargar {filename} ya que es una carpeta o tiene un tamaño de 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "No tienes suficiente espacio disponible, Estás cargando {size1} pero sólo cuentas con {size2} disponible",
- "Target folder \"{dir}\" does not exist any more" : "La carpeta destino \"{dir}\" ya no existe",
- "Not enough free space" : "No cuentas con suficiente espacio libre",
- "Uploading …" : "Cargando...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Target folder does not exist any more" : "La carpeta destino ya no existe",
- "Error when assembling chunks, status code {status}" : "Se presentó un error al ensamblar los bloques, código de estatus {status}",
- "Actions" : "Acciones",
- "Rename" : "Renombrar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete file" : "Borrar archivo",
- "Delete folder" : "Borrar carpeta",
- "Disconnect storage" : "Desconectar almacenamiento",
- "Could not load info for file \"{file}\"" : "No fue posible cargar información para el archivo \"{file}\"",
- "Files" : "Archivos",
- "Details" : "Detalles",
- "Pending" : "Pendiente",
- "Unable to determine date" : "No fue posible determinar la fecha",
- "This operation is forbidden" : "Esta operación está prohibida",
- "This directory is unavailable, please check the logs or contact the administrator" : "Esta carpeta no está disponible, por favor verfica las bitácoras o contacta al administrador",
- "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente ",
- "Could not move \"{file}\", target exists" : "No fue posible mover \"{file}\", el destino ya existe",
- "Could not move \"{file}\"" : "No fue posible mover \"{file}\"",
- "Could not copy \"{file}\", target exists" : "No se pudo copiar \"{file}\", el destino ya existe",
- "Could not copy \"{file}\"" : "No se pudo copiar \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
- "{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
- "Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
- "Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
- "Error deleting file \"{fileName}\"." : "Se presentó un error al borrar el archivo \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "No se encontraron resultados en otras carpetas para {tag}{filter}{endtag}",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado",
- "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"],
- "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
- "{dirs} and {files}" : "{dirs} y {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
- "File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
- "View in folder" : "Ver en la carpeta",
- "Path" : "Ruta",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Favorited" : "Marcado como favorito",
- "Favorite" : "Favorito",
- "Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "New folder" : "Carpeta nueva",
- "Upload file" : "Cargar archivo",
- "Recent" : "Reciente",
- "Not favorited" : "No es un favorito",
- "Remove from favorites" : "Eliminar de favoritos",
- "Add to favorites" : "Agregar a favoritos",
- "An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
- "Added to favorites" : "Agregado a los favoritos",
- "Removed from favorites" : "Eliminado de los favoritos",
- "You added {file} to your favorites" : "Agregaste {file} a tus favoritos",
- "You removed {file} from your favorites" : "Eliminaste {file} de tus favoritos",
- "File changes" : "Cambios al archivo",
- "Created by {user}" : "Creado por {user}",
- "Changed by {user}" : "Cambiado por {user}",
- "Deleted by {user}" : "Borrado por {user}",
- "Restored by {user}" : "Restaurado por {user}",
- "Renamed by {user}" : "Renombrado por {user}",
- "Moved by {user}" : "Movido por {user}",
- "\"remote user\"" : "\"usuario remoto\"",
- "You created {file}" : "Creaste {file}",
- "{user} created {file}" : "{user} creó {file}",
- "{file} was created in a public folder" : "{file} fue creado en una carpeta pública",
- "You changed {file}" : "Cambiaste {file}",
- "{user} changed {file}" : "{user} cambió {file}",
- "You deleted {file}" : "Borraste {file}",
- "{user} deleted {file}" : "{user} borró {file}",
- "You restored {file}" : "Restauraste {file}",
- "{user} restored {file}" : "{user} restauró {file}",
- "You renamed {oldfile} to {newfile}" : "Renombraste {oldfile} como {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renombró {oldfile} como {newfile}",
- "You moved {oldfile} to {newfile}" : "Moviste {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} movió {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo ha sido agregado o eliminado de tus <strong>favoritos</strong>",
- "All files" : "Todos los archivos",
- "Upload (max. %s)" : "Cargar (max. %s)",
- "Accept" : "Aceptar",
- "in %s" : "en %s",
- "Select all" : "Seleccionar todo",
- "Change" : "Cambiar",
- "Unknown error" : "Se presentó un error desconocido",
- "No files in here" : "No hay archivos aquí",
- "Go back" : "Regresar",
- "Show hidden files" : "Mostrar archivos ocultos",
- "Additional settings" : "Configuraciones adicionales",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Create" : "Crear",
- "Delete permanently" : "Borrar permanentemente",
- "Upload some content or sync with your devices!" : "¡Carga algún contenido o sincroniza con tus dispositivos!",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Upload too large" : "La carga es demasido grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando cargar sobrepasan el tamaño máximo permitido para la carga de archivos en este servidor.",
- "No favorites yet" : "Aún no hay favoritos",
- "Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
- "Shares" : "Elementos compartidos",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Shared by link" : "Compartido por liga",
- "Text file" : "Archivo de texto",
- "New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Storage invalid" : "El almacenamiento es inválido",
- "Unlimited" : "Ilimitado",
- "Cancel" : "Cancelar",
- "%s used" : "%s usado",
- "%1$s of %2$s used" : "%1$s de %2$s usados",
- "Deleted files" : "Archivos borrados"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js
index 4c224791ed2..801501c12d3 100644
--- a/apps/files/l10n/et_EE.js
+++ b/apps/files/l10n/et_EE.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "Näita neid otseteid",
"You" : "Sina",
"Shared multiple times with different people" : "Jagatud mitu korda eri kasutajate poolt",
+ "Unable to change the favorite state of the file" : "Faili olekut lemmikuna ei õnnestu muuta",
"Error while loading the file data" : "Viga faili andmete laadimisel",
"Owner" : "Omanik",
"Remove from favorites" : "Eemalda lemmikutest",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Sa oled kustutamas {count} objekti","Sa oled kustutamas {count} objekti"],
"Confirm deletion" : "Kinnita kustutamine",
"Cancel" : "Loobu",
+ "Download" : "Laadi alla",
"Moving \"{source}\" to \"{destination}\" …" : "Teisaldan „{source}“ → „{destination}“…",
"Copying \"{source}\" to \"{destination}\" …" : "Kopeerin „{source}“ → „{destination}“…",
+ "Destination is not a folder" : "Sihtasukoht pole kaust",
+ "This file/folder is already in that directory" : "See fail või kaust juba asub selles kaustas",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Sa ei saa faili või kausta iseendaks teisaldada ega teisaldada kausta iseenda alamkausta",
"(copy)" : "(koopia)",
"(copy %n)" : "(%n koopia)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "Failide teisaldamine õnnestus",
"Conflicts resolution skipped" : "Andmekonfilkti lahendamine jäi vahele",
"Upload cancelled" : "Üleslaadimine on katkestatud",
+ "Could not rename \"{oldName}\", it does not exist any more" : "„{oldName}“ faili nime muutmine ei õnnestunud, seda pole enam olemas",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "„{newName}“ nimi on juba „{dir}“ kaustas kasutusel. Palun vali teine nimi.",
+ "Could not rename \"{oldName}\"" : "„{oldName}“ faili nime muutmine ei õnnestunud",
"This operation is forbidden" : "See toiming on keelatud",
"This directory is unavailable, please check the logs or contact the administrator" : "See kaust pole saadaval, palun kontrolli logifaile või võta ühendust administraatoriga",
"Storage is temporarily not available" : "Salvestusruum pole ajutiselt kättesaadav",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "Üleslaadimine on liiga suur",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Failid, mida sa proovid üles laadida, ületavad serveri poolt üleslaaditavatele failidele määratud maksimaalse suuruse.",
"File could not be found" : "Faili ei leitud",
- "Download" : "Laadi alla",
"Show list view" : "Näita loendivaadet",
"Show grid view" : "Näita ruudustikuvaadet",
"Close" : "Sulge",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} kopeeritud kausta {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ja {nbfiles} teist faili kopeeritud kausta {destination}",
"{newName} already exists" : "{newName} on juba olemas",
- "Could not rename \"{oldName}\", it does not exist any more" : "„{oldName}“ faili nime muutmine ei õnnestunud, seda pole enam olemas",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "„{newName}“ nimi on juba „{dir}“ kaustas kasutusel. Palun vali teine nimi.",
- "Could not rename \"{oldName}\"" : "„{oldName}“ faili nime muutmine ei õnnestunud",
"Could not create file \"{file}\"" : "Faili \"{file}\" loomine ebaõnnestus",
"Could not create file \"{file}\" because it already exists" : "Faili \"{file}\" loomine ebaõnnestus, sest see on juba olemas",
"Could not create folder \"{dir}\" because it already exists" : "Kausta \"{dir}\" loomine ebaõnnestus, sest see on juba olemas",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "Uus tekstifail.txt",
"%1$s (renamed)" : "%1$s (nimi on muudetud)",
"renamed file" : "muudetud nimega fail",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Kui võtad kasutusele Windowsiga ühilduvad failinimed, siis olemasolevad mitteühilduvaid faile ei saa enam muuta, aga faili omanik saab failinime muuta ühilduvaks.",
- "{count} files could not be converted" : "{count} faili ei õnnestunud teisendada",
- "{count} files successfully converted" : "{count} faili teisendamine õnnestus"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Kui võtad kasutusele Windowsiga ühilduvad failinimed, siis olemasolevad mitteühilduvaid faile ei saa enam muuta, aga faili omanik saab failinime muuta ühilduvaks."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json
index 135892c0ff2..16ec2e6a3fd 100644
--- a/apps/files/l10n/et_EE.json
+++ b/apps/files/l10n/et_EE.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "Näita neid otseteid",
"You" : "Sina",
"Shared multiple times with different people" : "Jagatud mitu korda eri kasutajate poolt",
+ "Unable to change the favorite state of the file" : "Faili olekut lemmikuna ei õnnestu muuta",
"Error while loading the file data" : "Viga faili andmete laadimisel",
"Owner" : "Omanik",
"Remove from favorites" : "Eemalda lemmikutest",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Sa oled kustutamas {count} objekti","Sa oled kustutamas {count} objekti"],
"Confirm deletion" : "Kinnita kustutamine",
"Cancel" : "Loobu",
+ "Download" : "Laadi alla",
"Moving \"{source}\" to \"{destination}\" …" : "Teisaldan „{source}“ → „{destination}“…",
"Copying \"{source}\" to \"{destination}\" …" : "Kopeerin „{source}“ → „{destination}“…",
+ "Destination is not a folder" : "Sihtasukoht pole kaust",
+ "This file/folder is already in that directory" : "See fail või kaust juba asub selles kaustas",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Sa ei saa faili või kausta iseendaks teisaldada ega teisaldada kausta iseenda alamkausta",
"(copy)" : "(koopia)",
"(copy %n)" : "(%n koopia)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "Failide teisaldamine õnnestus",
"Conflicts resolution skipped" : "Andmekonfilkti lahendamine jäi vahele",
"Upload cancelled" : "Üleslaadimine on katkestatud",
+ "Could not rename \"{oldName}\", it does not exist any more" : "„{oldName}“ faili nime muutmine ei õnnestunud, seda pole enam olemas",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "„{newName}“ nimi on juba „{dir}“ kaustas kasutusel. Palun vali teine nimi.",
+ "Could not rename \"{oldName}\"" : "„{oldName}“ faili nime muutmine ei õnnestunud",
"This operation is forbidden" : "See toiming on keelatud",
"This directory is unavailable, please check the logs or contact the administrator" : "See kaust pole saadaval, palun kontrolli logifaile või võta ühendust administraatoriga",
"Storage is temporarily not available" : "Salvestusruum pole ajutiselt kättesaadav",
@@ -360,7 +367,6 @@
"Upload too large" : "Üleslaadimine on liiga suur",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Failid, mida sa proovid üles laadida, ületavad serveri poolt üleslaaditavatele failidele määratud maksimaalse suuruse.",
"File could not be found" : "Faili ei leitud",
- "Download" : "Laadi alla",
"Show list view" : "Näita loendivaadet",
"Show grid view" : "Näita ruudustikuvaadet",
"Close" : "Sulge",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "{origin} kopeeritud kausta {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ja {nbfiles} teist faili kopeeritud kausta {destination}",
"{newName} already exists" : "{newName} on juba olemas",
- "Could not rename \"{oldName}\", it does not exist any more" : "„{oldName}“ faili nime muutmine ei õnnestunud, seda pole enam olemas",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "„{newName}“ nimi on juba „{dir}“ kaustas kasutusel. Palun vali teine nimi.",
- "Could not rename \"{oldName}\"" : "„{oldName}“ faili nime muutmine ei õnnestunud",
"Could not create file \"{file}\"" : "Faili \"{file}\" loomine ebaõnnestus",
"Could not create file \"{file}\" because it already exists" : "Faili \"{file}\" loomine ebaõnnestus, sest see on juba olemas",
"Could not create folder \"{dir}\" because it already exists" : "Kausta \"{dir}\" loomine ebaõnnestus, sest see on juba olemas",
@@ -453,8 +456,6 @@
"New text file.txt" : "Uus tekstifail.txt",
"%1$s (renamed)" : "%1$s (nimi on muudetud)",
"renamed file" : "muudetud nimega fail",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Kui võtad kasutusele Windowsiga ühilduvad failinimed, siis olemasolevad mitteühilduvaid faile ei saa enam muuta, aga faili omanik saab failinime muuta ühilduvaks.",
- "{count} files could not be converted" : "{count} faili ei õnnestunud teisendada",
- "{count} files successfully converted" : "{count} faili teisendamine õnnestus"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Kui võtad kasutusele Windowsiga ühilduvad failinimed, siis olemasolevad mitteühilduvaid faile ei saa enam muuta, aga faili omanik saab failinime muuta ühilduvaks."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js
index 1f41da123e5..c556069b0b4 100644
--- a/apps/files/l10n/eu.js
+++ b/apps/files/l10n/eu.js
@@ -231,8 +231,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Elementu {count} ezabatzera zoaz"," {count} elementu ezabatzera zoaz"],
"Confirm deletion" : "Berretsi ezabaketa",
"Cancel" : "Utzi",
+ "Download" : "Deskargatu",
"Moving \"{source}\" to \"{destination}\" …" : "«{source}» «{destination}»(e)ra mugitzen",
"Copying \"{source}\" to \"{destination}\" …" : "«{source}» «{destination}»(e)ra mugitzen",
+ "Destination is not a folder" : "Helburua ez da karpeta bat",
+ "This file/folder is already in that directory" : "Fitxategi/karpeta hau dagoeneko karpeta horretan dago",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Ezin duzu fitxategi/karpeta bat berera edo bere azpikarpeta batera mugitu",
"(copy)" : "(kopiatu)",
"(copy %n)" : "(kopiatu %n)",
@@ -293,6 +296,9 @@ OC.L10N.register(
"Files moved successfully" : "Fitxategiak behar bezala mugitu dira",
"Conflicts resolution skipped" : "Gatazkak konpontzea saihestu da",
"Upload cancelled" : "Igotzea bertan behera utzi da",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Ezin izan da \"{oldName}\" berrizendatu, ez da existitzen dagoeneko",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" izena \"{dir}\" karpetan dagoeneko erabiltzen da. Mesedez aukeratu beste izen bat.",
+ "Could not rename \"{oldName}\"" : "Ezin izan da \"{oldName}\" berrizendatu ",
"This operation is forbidden" : "Eragiketa hau debekatuta dago",
"This directory is unavailable, please check the logs or contact the administrator" : "Direktorio hau ez dago erabilgarri, egiaztatu egunkariak edo jarri administratzailearekin harremanetan",
"Storage is temporarily not available" : "Biltegia ez dago erabilgarri aldi baterako",
@@ -323,7 +329,6 @@ OC.L10N.register(
"Upload too large" : "Igotzekoa handiegia da",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Igotzen saiatzen ari zaren fitxategiek zerbitzari honek onartzen duen gehienezko tamaina gainditzen dute.",
"File could not be found" : "Ezin izan da fitxategia aurkitu",
- "Download" : "Deskargatu",
"Show list view" : "Erakutsi zerrenda ikuspegia",
"Show grid view" : "Erakutsi sareta ikuspegia",
"Close" : "Itxi",
@@ -362,9 +367,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} kopiatu da {destination} barruan",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} eta beste {nbfiles} fitxategi {destination} barruan kopiatu dira",
"{newName} already exists" : "{newName} existitzen da dagoeneko",
- "Could not rename \"{oldName}\", it does not exist any more" : "Ezin izan da \"{oldName}\" berrizendatu, ez da existitzen dagoeneko",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" izena \"{dir}\" karpetan dagoeneko erabiltzen da. Mesedez aukeratu beste izen bat.",
- "Could not rename \"{oldName}\"" : "Ezin izan da \"{oldName}\" berrizendatu ",
"Could not create file \"{file}\"" : "Ezin izan da \"{file}\" fitxategia sortu",
"Could not create file \"{file}\" because it already exists" : "Ezin izan da \"{file}\" fitxategia sortu, dagoeneko existitzen delako",
"Could not create folder \"{dir}\" because it already exists" : "Ezin izan da \"{dir}\" karpeta sortu, dagoeneko existitzen delako",
diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json
index b19b27d1543..736ee6bedfe 100644
--- a/apps/files/l10n/eu.json
+++ b/apps/files/l10n/eu.json
@@ -229,8 +229,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Elementu {count} ezabatzera zoaz"," {count} elementu ezabatzera zoaz"],
"Confirm deletion" : "Berretsi ezabaketa",
"Cancel" : "Utzi",
+ "Download" : "Deskargatu",
"Moving \"{source}\" to \"{destination}\" …" : "«{source}» «{destination}»(e)ra mugitzen",
"Copying \"{source}\" to \"{destination}\" …" : "«{source}» «{destination}»(e)ra mugitzen",
+ "Destination is not a folder" : "Helburua ez da karpeta bat",
+ "This file/folder is already in that directory" : "Fitxategi/karpeta hau dagoeneko karpeta horretan dago",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Ezin duzu fitxategi/karpeta bat berera edo bere azpikarpeta batera mugitu",
"(copy)" : "(kopiatu)",
"(copy %n)" : "(kopiatu %n)",
@@ -291,6 +294,9 @@
"Files moved successfully" : "Fitxategiak behar bezala mugitu dira",
"Conflicts resolution skipped" : "Gatazkak konpontzea saihestu da",
"Upload cancelled" : "Igotzea bertan behera utzi da",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Ezin izan da \"{oldName}\" berrizendatu, ez da existitzen dagoeneko",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" izena \"{dir}\" karpetan dagoeneko erabiltzen da. Mesedez aukeratu beste izen bat.",
+ "Could not rename \"{oldName}\"" : "Ezin izan da \"{oldName}\" berrizendatu ",
"This operation is forbidden" : "Eragiketa hau debekatuta dago",
"This directory is unavailable, please check the logs or contact the administrator" : "Direktorio hau ez dago erabilgarri, egiaztatu egunkariak edo jarri administratzailearekin harremanetan",
"Storage is temporarily not available" : "Biltegia ez dago erabilgarri aldi baterako",
@@ -321,7 +327,6 @@
"Upload too large" : "Igotzekoa handiegia da",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Igotzen saiatzen ari zaren fitxategiek zerbitzari honek onartzen duen gehienezko tamaina gainditzen dute.",
"File could not be found" : "Ezin izan da fitxategia aurkitu",
- "Download" : "Deskargatu",
"Show list view" : "Erakutsi zerrenda ikuspegia",
"Show grid view" : "Erakutsi sareta ikuspegia",
"Close" : "Itxi",
@@ -360,9 +365,6 @@
"Copied {origin} inside {destination}" : "{origin} kopiatu da {destination} barruan",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} eta beste {nbfiles} fitxategi {destination} barruan kopiatu dira",
"{newName} already exists" : "{newName} existitzen da dagoeneko",
- "Could not rename \"{oldName}\", it does not exist any more" : "Ezin izan da \"{oldName}\" berrizendatu, ez da existitzen dagoeneko",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" izena \"{dir}\" karpetan dagoeneko erabiltzen da. Mesedez aukeratu beste izen bat.",
- "Could not rename \"{oldName}\"" : "Ezin izan da \"{oldName}\" berrizendatu ",
"Could not create file \"{file}\"" : "Ezin izan da \"{file}\" fitxategia sortu",
"Could not create file \"{file}\" because it already exists" : "Ezin izan da \"{file}\" fitxategia sortu, dagoeneko existitzen delako",
"Could not create folder \"{dir}\" because it already exists" : "Ezin izan da \"{dir}\" karpeta sortu, dagoeneko existitzen delako",
diff --git a/apps/files/l10n/fa.js b/apps/files/l10n/fa.js
index 91a994211dd..e5d5606f2c2 100644
--- a/apps/files/l10n/fa.js
+++ b/apps/files/l10n/fa.js
@@ -267,6 +267,7 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["You are about to delete {count} item","You are about to delete {count} items"],
"Confirm deletion" : "Confirm deletion",
"Cancel" : "لغو",
+ "Download" : "دانلود",
"Moving \"{source}\" to \"{destination}\" …" : "Moving \"{source}\" to \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Copying \"{source}\" to \"{destination}\" …",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "You cannot move a file/folder onto itself or into a subfolder of itself",
@@ -330,6 +331,9 @@ OC.L10N.register(
"Files moved successfully" : "Files moved successfully",
"Conflicts resolution skipped" : "Conflicts resolution skipped",
"Upload cancelled" : "Upload cancelled",
+ "Could not rename \"{oldName}\", it does not exist any more" : "نمی‌توان نام «{oldName}» را تغییر داد، دیگر وجود ندارد",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "نام \"{newName}\" در پوشه \"{dir}\" به کار رفته است.\nلطفا نام دیگری برگزینید.",
+ "Could not rename \"{oldName}\"" : "تغییر نام \"{oldName}\" ممکن نیست",
"This operation is forbidden" : "این عملیات غیرمجاز است",
"This directory is unavailable, please check the logs or contact the administrator" : "پوشه‌ در دسترس نیست، لطفا لاگ‌ها را بررسی کنید یا به مدیر سیستم اطلاع دهید",
"Storage is temporarily not available" : "ذخیره سازی به طور موقت در دسترس نیست",
@@ -361,7 +365,6 @@ OC.L10N.register(
"Upload too large" : "سایز فایل برای آپلود زیاد است(م.تنظیمات در php.ini)",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "فایلها بیش از حد تعیین شده در این سرور هستند\nمترجم:با تغییر فایل php,ini میتوان این محدودیت را برطرف کرد",
"File could not be found" : "پرونده پیدا نشد",
- "Download" : "دانلود",
"Show list view" : "نمایش فهرستی",
"Show grid view" : "نمایش شبکه‌ای",
"Close" : "بستن",
@@ -400,9 +403,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Copied {origin} inside {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "رونوشت شده از {origin} و {nbfiles} پرونده‌های دیگر در {destination}",
"{newName} already exists" : "{newName} قبلاً موجود است",
- "Could not rename \"{oldName}\", it does not exist any more" : "نمی‌توان نام «{oldName}» را تغییر داد، دیگر وجود ندارد",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "نام \"{newName}\" در پوشه \"{dir}\" به کار رفته است.\nلطفا نام دیگری برگزینید.",
- "Could not rename \"{oldName}\"" : "تغییر نام \"{oldName}\" ممکن نیست",
"Could not create file \"{file}\"" : "پروندهٔ \"{file}\" ساخته نشد",
"Could not create file \"{file}\" because it already exists" : "نمی توان پرونده \"{file}\" ایجاد کرد زیرا در حال حاضر وجود دارد",
"Could not create folder \"{dir}\" because it already exists" : "شاخه \"{dir}\" به علت موجود بودن ساخته نشد",
@@ -454,8 +454,6 @@ OC.L10N.register(
"New text file.txt" : "پروندهٔ متنی جدید با پسوند txt",
"%1$s (renamed)" : "%1$s (renamed)",
"renamed file" : "renamed file",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner.",
- "{count} files could not be converted" : "{count} files could not be converted",
- "{count} files successfully converted" : "{count} files successfully converted"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner."
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files/l10n/fa.json b/apps/files/l10n/fa.json
index 713db5fffcb..018fea26ac3 100644
--- a/apps/files/l10n/fa.json
+++ b/apps/files/l10n/fa.json
@@ -265,6 +265,7 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["You are about to delete {count} item","You are about to delete {count} items"],
"Confirm deletion" : "Confirm deletion",
"Cancel" : "لغو",
+ "Download" : "دانلود",
"Moving \"{source}\" to \"{destination}\" …" : "Moving \"{source}\" to \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Copying \"{source}\" to \"{destination}\" …",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "You cannot move a file/folder onto itself or into a subfolder of itself",
@@ -328,6 +329,9 @@
"Files moved successfully" : "Files moved successfully",
"Conflicts resolution skipped" : "Conflicts resolution skipped",
"Upload cancelled" : "Upload cancelled",
+ "Could not rename \"{oldName}\", it does not exist any more" : "نمی‌توان نام «{oldName}» را تغییر داد، دیگر وجود ندارد",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "نام \"{newName}\" در پوشه \"{dir}\" به کار رفته است.\nلطفا نام دیگری برگزینید.",
+ "Could not rename \"{oldName}\"" : "تغییر نام \"{oldName}\" ممکن نیست",
"This operation is forbidden" : "این عملیات غیرمجاز است",
"This directory is unavailable, please check the logs or contact the administrator" : "پوشه‌ در دسترس نیست، لطفا لاگ‌ها را بررسی کنید یا به مدیر سیستم اطلاع دهید",
"Storage is temporarily not available" : "ذخیره سازی به طور موقت در دسترس نیست",
@@ -359,7 +363,6 @@
"Upload too large" : "سایز فایل برای آپلود زیاد است(م.تنظیمات در php.ini)",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "فایلها بیش از حد تعیین شده در این سرور هستند\nمترجم:با تغییر فایل php,ini میتوان این محدودیت را برطرف کرد",
"File could not be found" : "پرونده پیدا نشد",
- "Download" : "دانلود",
"Show list view" : "نمایش فهرستی",
"Show grid view" : "نمایش شبکه‌ای",
"Close" : "بستن",
@@ -398,9 +401,6 @@
"Copied {origin} inside {destination}" : "Copied {origin} inside {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "رونوشت شده از {origin} و {nbfiles} پرونده‌های دیگر در {destination}",
"{newName} already exists" : "{newName} قبلاً موجود است",
- "Could not rename \"{oldName}\", it does not exist any more" : "نمی‌توان نام «{oldName}» را تغییر داد، دیگر وجود ندارد",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "نام \"{newName}\" در پوشه \"{dir}\" به کار رفته است.\nلطفا نام دیگری برگزینید.",
- "Could not rename \"{oldName}\"" : "تغییر نام \"{oldName}\" ممکن نیست",
"Could not create file \"{file}\"" : "پروندهٔ \"{file}\" ساخته نشد",
"Could not create file \"{file}\" because it already exists" : "نمی توان پرونده \"{file}\" ایجاد کرد زیرا در حال حاضر وجود دارد",
"Could not create folder \"{dir}\" because it already exists" : "شاخه \"{dir}\" به علت موجود بودن ساخته نشد",
@@ -452,8 +452,6 @@
"New text file.txt" : "پروندهٔ متنی جدید با پسوند txt",
"%1$s (renamed)" : "%1$s (renamed)",
"renamed file" : "renamed file",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner.",
- "{count} files could not be converted" : "{count} files could not be converted",
- "{count} files successfully converted" : "{count} files successfully converted"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/fi.js b/apps/files/l10n/fi.js
index 2c371c47f6c..99c5fc7ce39 100644
--- a/apps/files/l10n/fi.js
+++ b/apps/files/l10n/fi.js
@@ -233,8 +233,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Olet poistamassa {count} kohteen","Olet poistamassa {count} kohdetta"],
"Confirm deletion" : "Vahvista poistaminen",
"Cancel" : "Peruuta",
+ "Download" : "Lataa",
"Moving \"{source}\" to \"{destination}\" …" : "Siirretään \"{source}\" kohteeseen \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopioidaan \"{source}\" kohteeseen \"{destination}\" …",
+ "Destination is not a folder" : "Kohde ei ole kansio",
+ "This file/folder is already in that directory" : "Tämä tiedosto/kansio on jo kyseisessä kansiossa",
"(copy)" : "(kopioi)",
"Move cancelled" : "Siirtäminen peruttu",
"A file or folder with that name already exists in this folder" : "Tiedosto tai kansio tällä nimellä on jo olemassa tässä kansiossa",
@@ -290,6 +293,9 @@ OC.L10N.register(
"Files copied successfully" : "Tiedostot kopioitu onnistuneesti",
"Files moved successfully" : "Tiedostot siirretty onnistuneesti",
"Upload cancelled" : "Lataus peruutettu",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kohdetta \"{oldName}\" ei voitu nimetä uudelleen, koska sitä ei ole enää olemassa",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{newName}\" on jo käytössä kansiossa \"{dir}\". Valitse toinen nimi.",
+ "Could not rename \"{oldName}\"" : "Ei voitu nimetä uudelleen \"{oldName}\"",
"This operation is forbidden" : "Tämä toiminto on kielletty",
"This directory is unavailable, please check the logs or contact the administrator" : "Hakemisto ei ole käytettävissä. Tarkista lokit tai ole yhteydessä ylläpitoon.",
"Storage is temporarily not available" : "Tallennustila on tilapäisesti pois käytöstä",
@@ -320,7 +326,6 @@ OC.L10N.register(
"Upload too large" : "Lähetettävä tiedosto on liian suuri",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Lähetettäväksi valitsemasi tiedostot ylittävät palvelimen salliman tiedostokoon rajan.",
"File could not be found" : "Tiedostoa ei löytynyt",
- "Download" : "Lataa",
"Show list view" : "Näytä listanäkymä",
"Show grid view" : "Näytä ruudukkonäkymä",
"Close" : "Sulje",
@@ -359,9 +364,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Kopioitu {origin} kohteeseen {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopioitu {origin} ja {nbfiles} muuta tiedostoa kohteeseen {destination}",
"{newName} already exists" : "{newName} on jo olemassa",
- "Could not rename \"{oldName}\", it does not exist any more" : "Kohdetta \"{oldName}\" ei voitu nimetä uudelleen, koska sitä ei ole enää olemassa",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{newName}\" on jo käytössä kansiossa \"{dir}\". Valitse toinen nimi.",
- "Could not rename \"{oldName}\"" : "Ei voitu nimetä uudelleen \"{oldName}\"",
"Could not create file \"{file}\"" : "Tiedostoa \"{file}\" ei voitu luoda",
"Could not create file \"{file}\" because it already exists" : "Tiedostoa \"{file}\" ei voitu luoda, koska se on jo olemassa",
"Could not create folder \"{dir}\" because it already exists" : "Kansiota \"{dir}\" ei voitu luoda, koska se on jo olemassa",
@@ -408,8 +410,6 @@ OC.L10N.register(
"Personal Files" : "Henkilökohtaiset tiedostot",
"Text file" : "Tekstitiedosto",
"New text file.txt" : "Uusi tekstitiedosto.txt",
- "%1$s (renamed)" : "%1$s (nimetty uudelleen)",
- "{count} files could not be converted" : "{count} tiedostoa ei voitu muuntaa",
- "{count} files successfully converted" : "{count} tiedostoa muunnettu onnistuneesti"
+ "%1$s (renamed)" : "%1$s (nimetty uudelleen)"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/fi.json b/apps/files/l10n/fi.json
index 24a69e19316..d8f8ee3866b 100644
--- a/apps/files/l10n/fi.json
+++ b/apps/files/l10n/fi.json
@@ -231,8 +231,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Olet poistamassa {count} kohteen","Olet poistamassa {count} kohdetta"],
"Confirm deletion" : "Vahvista poistaminen",
"Cancel" : "Peruuta",
+ "Download" : "Lataa",
"Moving \"{source}\" to \"{destination}\" …" : "Siirretään \"{source}\" kohteeseen \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopioidaan \"{source}\" kohteeseen \"{destination}\" …",
+ "Destination is not a folder" : "Kohde ei ole kansio",
+ "This file/folder is already in that directory" : "Tämä tiedosto/kansio on jo kyseisessä kansiossa",
"(copy)" : "(kopioi)",
"Move cancelled" : "Siirtäminen peruttu",
"A file or folder with that name already exists in this folder" : "Tiedosto tai kansio tällä nimellä on jo olemassa tässä kansiossa",
@@ -288,6 +291,9 @@
"Files copied successfully" : "Tiedostot kopioitu onnistuneesti",
"Files moved successfully" : "Tiedostot siirretty onnistuneesti",
"Upload cancelled" : "Lataus peruutettu",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kohdetta \"{oldName}\" ei voitu nimetä uudelleen, koska sitä ei ole enää olemassa",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{newName}\" on jo käytössä kansiossa \"{dir}\". Valitse toinen nimi.",
+ "Could not rename \"{oldName}\"" : "Ei voitu nimetä uudelleen \"{oldName}\"",
"This operation is forbidden" : "Tämä toiminto on kielletty",
"This directory is unavailable, please check the logs or contact the administrator" : "Hakemisto ei ole käytettävissä. Tarkista lokit tai ole yhteydessä ylläpitoon.",
"Storage is temporarily not available" : "Tallennustila on tilapäisesti pois käytöstä",
@@ -318,7 +324,6 @@
"Upload too large" : "Lähetettävä tiedosto on liian suuri",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Lähetettäväksi valitsemasi tiedostot ylittävät palvelimen salliman tiedostokoon rajan.",
"File could not be found" : "Tiedostoa ei löytynyt",
- "Download" : "Lataa",
"Show list view" : "Näytä listanäkymä",
"Show grid view" : "Näytä ruudukkonäkymä",
"Close" : "Sulje",
@@ -357,9 +362,6 @@
"Copied {origin} inside {destination}" : "Kopioitu {origin} kohteeseen {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopioitu {origin} ja {nbfiles} muuta tiedostoa kohteeseen {destination}",
"{newName} already exists" : "{newName} on jo olemassa",
- "Could not rename \"{oldName}\", it does not exist any more" : "Kohdetta \"{oldName}\" ei voitu nimetä uudelleen, koska sitä ei ole enää olemassa",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{newName}\" on jo käytössä kansiossa \"{dir}\". Valitse toinen nimi.",
- "Could not rename \"{oldName}\"" : "Ei voitu nimetä uudelleen \"{oldName}\"",
"Could not create file \"{file}\"" : "Tiedostoa \"{file}\" ei voitu luoda",
"Could not create file \"{file}\" because it already exists" : "Tiedostoa \"{file}\" ei voitu luoda, koska se on jo olemassa",
"Could not create folder \"{dir}\" because it already exists" : "Kansiota \"{dir}\" ei voitu luoda, koska se on jo olemassa",
@@ -406,8 +408,6 @@
"Personal Files" : "Henkilökohtaiset tiedostot",
"Text file" : "Tekstitiedosto",
"New text file.txt" : "Uusi tekstitiedosto.txt",
- "%1$s (renamed)" : "%1$s (nimetty uudelleen)",
- "{count} files could not be converted" : "{count} tiedostoa ei voitu muuntaa",
- "{count} files successfully converted" : "{count} tiedostoa muunnettu onnistuneesti"
+ "%1$s (renamed)" : "%1$s (nimetty uudelleen)"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js
index 12ba6567a16..aa856f2e618 100644
--- a/apps/files/l10n/fr.js
+++ b/apps/files/l10n/fr.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "Montrer ces raccourcis",
"You" : "Vous",
"Shared multiple times with different people" : "Partagé plusieurs fois avec plusieurs personnes",
+ "Unable to change the favorite state of the file" : "Impossible de modifier l'état favori du fichier",
"Error while loading the file data" : "Erreur lors du chargement du fichier de données",
"Owner" : "Propriétaire",
"Remove from favorites" : "Retirer des favoris",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Vous êtes sur le point de supprimer {count} élément","Vous êtes sur le point de supprimer {count} éléments","Vous êtes sur le point de supprimer {count} éléments"],
"Confirm deletion" : "Confirmer la suppression",
"Cancel" : "Annuler",
+ "Download" : "Télécharger",
"Moving \"{source}\" to \"{destination}\" …" : "Déplacement de \"{source}\" vers \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Copie de \"{source}\" vers \"{destination}\" …",
+ "Destination is not a folder" : "La destination n'est pas un dossier",
+ "This file/folder is already in that directory" : "Ce fichier/dossier se trouve déjà dans ce dossier",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Vous ne pouvez pas déplacer un fichier/dossier sur lui-même ou dans un sous-dossier de celui-ci",
"(copy)" : "(copie)",
"(copy %n)" : "(copier %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "Fichiers déplacés avec succès",
"Conflicts resolution skipped" : "Résolution des conflits ignorée",
"Upload cancelled" : "Téléversement annulé",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Impossible de renommer \"{oldName}\", il n'existe plus.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Le nom \"{newName}\" est déjà utilisé dans le dossier \"{dir}\". Veuillez choisir un autre nom.",
+ "Could not rename \"{oldName}\"" : "Impossible de renommer \"{oldName}\"",
"This operation is forbidden" : "Cette opération est interdite",
"This directory is unavailable, please check the logs or contact the administrator" : "Ce répertoire est indisponible, merci de consulter les journaux ou de contacter votre administrateur",
"Storage is temporarily not available" : "Le support de stockage est temporairement indisponible",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "Données envoyées trop volumineuses",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Les fichiers que vous essayez d’envoyer dépassent la taille maximale d’envoi permise par ce serveur.",
"File could not be found" : "Fichier introuvable",
- "Download" : "Télécharger",
"Show list view" : "Afficher la vue en liste",
"Show grid view" : "Afficher la vue en grille",
"Close" : "Fermer",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} copié dans {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} et {nbfiles} autres fichiers copiés dans {destination}",
"{newName} already exists" : "{newName} existe déjà",
- "Could not rename \"{oldName}\", it does not exist any more" : "Impossible de renommer \"{oldName}\", il n'existe plus.",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Le nom \"{newName}\" est déjà utilisé dans le dossier \"{dir}\". Veuillez choisir un autre nom.",
- "Could not rename \"{oldName}\"" : "Impossible de renommer \"{oldName}\"",
"Could not create file \"{file}\"" : "Impossible de créer le fichier « {file} »",
"Could not create file \"{file}\" because it already exists" : "Impossible de créer le fichier « {file} » car il existe déjà",
"Could not create folder \"{dir}\" because it already exists" : "Impossible de créer le dossier \"{dir}\" car il existe déjà",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "Nouveau fichier texte.txt",
"%1$s (renamed)" : "%1$s (renommé)",
"renamed file" : "fichier renommé",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Après avoir activé les noms de fichiers compatibles Windows, les fichiers existants ne peuvent plus être modifiés, mais peuvent être renommés avec des noms valides par leur propriétaire.",
- "{count} files could not be converted" : "{count}fichier n'a pas pu être converti",
- "{count} files successfully converted" : "{count}fichier converti avec succès"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Après avoir activé les noms de fichiers compatibles Windows, les fichiers existants ne peuvent plus être modifiés, mais peuvent être renommés avec des noms valides par leur propriétaire."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json
index 5f342d12a89..73ecb0659bb 100644
--- a/apps/files/l10n/fr.json
+++ b/apps/files/l10n/fr.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "Montrer ces raccourcis",
"You" : "Vous",
"Shared multiple times with different people" : "Partagé plusieurs fois avec plusieurs personnes",
+ "Unable to change the favorite state of the file" : "Impossible de modifier l'état favori du fichier",
"Error while loading the file data" : "Erreur lors du chargement du fichier de données",
"Owner" : "Propriétaire",
"Remove from favorites" : "Retirer des favoris",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Vous êtes sur le point de supprimer {count} élément","Vous êtes sur le point de supprimer {count} éléments","Vous êtes sur le point de supprimer {count} éléments"],
"Confirm deletion" : "Confirmer la suppression",
"Cancel" : "Annuler",
+ "Download" : "Télécharger",
"Moving \"{source}\" to \"{destination}\" …" : "Déplacement de \"{source}\" vers \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Copie de \"{source}\" vers \"{destination}\" …",
+ "Destination is not a folder" : "La destination n'est pas un dossier",
+ "This file/folder is already in that directory" : "Ce fichier/dossier se trouve déjà dans ce dossier",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Vous ne pouvez pas déplacer un fichier/dossier sur lui-même ou dans un sous-dossier de celui-ci",
"(copy)" : "(copie)",
"(copy %n)" : "(copier %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "Fichiers déplacés avec succès",
"Conflicts resolution skipped" : "Résolution des conflits ignorée",
"Upload cancelled" : "Téléversement annulé",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Impossible de renommer \"{oldName}\", il n'existe plus.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Le nom \"{newName}\" est déjà utilisé dans le dossier \"{dir}\". Veuillez choisir un autre nom.",
+ "Could not rename \"{oldName}\"" : "Impossible de renommer \"{oldName}\"",
"This operation is forbidden" : "Cette opération est interdite",
"This directory is unavailable, please check the logs or contact the administrator" : "Ce répertoire est indisponible, merci de consulter les journaux ou de contacter votre administrateur",
"Storage is temporarily not available" : "Le support de stockage est temporairement indisponible",
@@ -360,7 +367,6 @@
"Upload too large" : "Données envoyées trop volumineuses",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Les fichiers que vous essayez d’envoyer dépassent la taille maximale d’envoi permise par ce serveur.",
"File could not be found" : "Fichier introuvable",
- "Download" : "Télécharger",
"Show list view" : "Afficher la vue en liste",
"Show grid view" : "Afficher la vue en grille",
"Close" : "Fermer",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "{origin} copié dans {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} et {nbfiles} autres fichiers copiés dans {destination}",
"{newName} already exists" : "{newName} existe déjà",
- "Could not rename \"{oldName}\", it does not exist any more" : "Impossible de renommer \"{oldName}\", il n'existe plus.",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Le nom \"{newName}\" est déjà utilisé dans le dossier \"{dir}\". Veuillez choisir un autre nom.",
- "Could not rename \"{oldName}\"" : "Impossible de renommer \"{oldName}\"",
"Could not create file \"{file}\"" : "Impossible de créer le fichier « {file} »",
"Could not create file \"{file}\" because it already exists" : "Impossible de créer le fichier « {file} » car il existe déjà",
"Could not create folder \"{dir}\" because it already exists" : "Impossible de créer le dossier \"{dir}\" car il existe déjà",
@@ -453,8 +456,6 @@
"New text file.txt" : "Nouveau fichier texte.txt",
"%1$s (renamed)" : "%1$s (renommé)",
"renamed file" : "fichier renommé",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Après avoir activé les noms de fichiers compatibles Windows, les fichiers existants ne peuvent plus être modifiés, mais peuvent être renommés avec des noms valides par leur propriétaire.",
- "{count} files could not be converted" : "{count}fichier n'a pas pu être converti",
- "{count} files successfully converted" : "{count}fichier converti avec succès"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Après avoir activé les noms de fichiers compatibles Windows, les fichiers existants ne peuvent plus être modifiés, mais peuvent être renommés avec des noms valides par leur propriétaire."
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files/l10n/fy_NL.js b/apps/files/l10n/fy_NL.js
deleted file mode 100644
index 7988332fa91..00000000000
--- a/apps/files/l10n/fy_NL.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/fy_NL.json b/apps/files/l10n/fy_NL.json
deleted file mode 100644
index ef5fc586755..00000000000
--- a/apps/files/l10n/fy_NL.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/ga.js b/apps/files/l10n/ga.js
index 4743d30e0b1..cc7185656dd 100644
--- a/apps/files/l10n/ga.js
+++ b/apps/files/l10n/ga.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "Taispeáin na haicearraí sin",
"You" : "tú",
"Shared multiple times with different people" : "Roinnte go minic le daoine éagsúla",
+ "Unable to change the favorite state of the file" : "Ní féidir staid an chomhaid is fearr leat a athrú",
"Error while loading the file data" : "Earráid agus sonraí an chomhaid á lódáil",
"Owner" : "Úinéir",
"Remove from favorites" : "Bain ó cheanáin",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Tá tú ar tí {count} mír a scriosadh","Tá tú ar tí {count} mír a scriosadh","Tá tú ar tí {count} mír a scriosadh","Tá tú ar tí {count} mír a scriosadh","Tá tú ar tí {count} mír a scriosadh"],
"Confirm deletion" : "Deimhnigh scriosadh",
"Cancel" : "Cealaigh",
+ "Download" : "Íoslódáil",
"Moving \"{source}\" to \"{destination}\" …" : "Ag bogadh \"{source}\" go \"{destination}\" ...",
"Copying \"{source}\" to \"{destination}\" …" : "“{source}” á chóipeáil go “{destination}”…",
+ "Destination is not a folder" : "Ní fillteán é ceann scríbe",
+ "This file/folder is already in that directory" : "Tá an comhad/fillteán seo san eolaire sin cheana féin",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Ní féidir leat comhad/fillteán a bhogadh isteach ann féin nó isteach i bhfofhillteán de féin",
"(copy)" : "(cóip)",
"(copy %n)" : "(cóip %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "Bogadh na comhaid go rathúil",
"Conflicts resolution skipped" : "Léiríodh réiteach coinbhleachta",
"Upload cancelled" : "Cuireadh an t-uaslódáil ar ceal",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Níorbh fhéidir \"{oldName}\" a athainmniú, níl sé ann a thuilleadh",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tá an t-ainm \"{newName}\" in úsáid cheana féin san fhillteán \"{dir}\". Roghnaigh ainm eile le do thoil.",
+ "Could not rename \"{oldName}\"" : "Níorbh fhéidir \"{oldName}\" a athainmniú",
"This operation is forbidden" : "Tá an oibríocht seo toirmiscthe",
"This directory is unavailable, please check the logs or contact the administrator" : "Níl an t-eolaire seo ar fáil, seiceáil na logaí nó déan teagmháil leis an riarthóir le do thoil",
"Storage is temporarily not available" : "Níl stóráil ar fáil go sealadach",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "Íoslódáil ró-mhór",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Sáraíonn na comhaid atá tú ag iarraidh a uaslódáil an t-uasmhéid le haghaidh uaslódáil comhad ar an bhfreastalaí seo.",
"File could not be found" : "Níorbh fhéidir an comhad a aimsiú",
- "Download" : "Íoslódáil",
"Show list view" : "Taispeáin amharc liosta",
"Show grid view" : "Taispeáin radharc greille",
"Close" : "Dún",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Cóipeáladh {origin} taobh istigh de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Cóipeáladh {origin} agus {nbfiles} comhaid eile laistigh de {destination}",
"{newName} already exists" : "Tá {newName} ann cheana",
- "Could not rename \"{oldName}\", it does not exist any more" : "Níorbh fhéidir \"{oldName}\" a athainmniú, níl sé ann a thuilleadh",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tá an t-ainm \"{newName}\" in úsáid cheana féin san fhillteán \"{dir}\". Roghnaigh ainm eile le do thoil.",
- "Could not rename \"{oldName}\"" : "Níorbh fhéidir \"{oldName}\" a athainmniú",
"Could not create file \"{file}\"" : "Níorbh fhéidir comhad \"{file}\" a chruthú",
"Could not create file \"{file}\" because it already exists" : "Níorbh fhéidir an comhad \"{file}\" a chruthú toisc go bhfuil sé ann cheana",
"Could not create folder \"{dir}\" because it already exists" : "Níorbh fhéidir fillteán \"{dir}\" a chruthú toisc go bhfuil sé ann cheana",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "Comhad téacs nua.txt",
"%1$s (renamed)" : "%1$s (athainmnithe)",
"renamed file" : "comhad athainmnithe",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Tar éis na hainmneacha comhad atá comhoiriúnach le Windows a chumasú, ní féidir comhaid atá ann cheana a mhodhnú a thuilleadh ach is féidir lena n-úinéir iad a athainmniú go hainmneacha nua bailí.",
- "{count} files could not be converted" : "{count} níorbh fhéidir comhaid a thiontú",
- "{count} files successfully converted" : "{count} comhaid a thiontú go rathúil"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Tar éis na hainmneacha comhad atá comhoiriúnach le Windows a chumasú, ní féidir comhaid atá ann cheana a mhodhnú a thuilleadh ach is féidir lena n-úinéir iad a athainmniú go hainmneacha nua bailí."
},
"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);");
diff --git a/apps/files/l10n/ga.json b/apps/files/l10n/ga.json
index 73807274140..b68edfb56c7 100644
--- a/apps/files/l10n/ga.json
+++ b/apps/files/l10n/ga.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "Taispeáin na haicearraí sin",
"You" : "tú",
"Shared multiple times with different people" : "Roinnte go minic le daoine éagsúla",
+ "Unable to change the favorite state of the file" : "Ní féidir staid an chomhaid is fearr leat a athrú",
"Error while loading the file data" : "Earráid agus sonraí an chomhaid á lódáil",
"Owner" : "Úinéir",
"Remove from favorites" : "Bain ó cheanáin",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Tá tú ar tí {count} mír a scriosadh","Tá tú ar tí {count} mír a scriosadh","Tá tú ar tí {count} mír a scriosadh","Tá tú ar tí {count} mír a scriosadh","Tá tú ar tí {count} mír a scriosadh"],
"Confirm deletion" : "Deimhnigh scriosadh",
"Cancel" : "Cealaigh",
+ "Download" : "Íoslódáil",
"Moving \"{source}\" to \"{destination}\" …" : "Ag bogadh \"{source}\" go \"{destination}\" ...",
"Copying \"{source}\" to \"{destination}\" …" : "“{source}” á chóipeáil go “{destination}”…",
+ "Destination is not a folder" : "Ní fillteán é ceann scríbe",
+ "This file/folder is already in that directory" : "Tá an comhad/fillteán seo san eolaire sin cheana féin",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Ní féidir leat comhad/fillteán a bhogadh isteach ann féin nó isteach i bhfofhillteán de féin",
"(copy)" : "(cóip)",
"(copy %n)" : "(cóip %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "Bogadh na comhaid go rathúil",
"Conflicts resolution skipped" : "Léiríodh réiteach coinbhleachta",
"Upload cancelled" : "Cuireadh an t-uaslódáil ar ceal",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Níorbh fhéidir \"{oldName}\" a athainmniú, níl sé ann a thuilleadh",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tá an t-ainm \"{newName}\" in úsáid cheana féin san fhillteán \"{dir}\". Roghnaigh ainm eile le do thoil.",
+ "Could not rename \"{oldName}\"" : "Níorbh fhéidir \"{oldName}\" a athainmniú",
"This operation is forbidden" : "Tá an oibríocht seo toirmiscthe",
"This directory is unavailable, please check the logs or contact the administrator" : "Níl an t-eolaire seo ar fáil, seiceáil na logaí nó déan teagmháil leis an riarthóir le do thoil",
"Storage is temporarily not available" : "Níl stóráil ar fáil go sealadach",
@@ -360,7 +367,6 @@
"Upload too large" : "Íoslódáil ró-mhór",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Sáraíonn na comhaid atá tú ag iarraidh a uaslódáil an t-uasmhéid le haghaidh uaslódáil comhad ar an bhfreastalaí seo.",
"File could not be found" : "Níorbh fhéidir an comhad a aimsiú",
- "Download" : "Íoslódáil",
"Show list view" : "Taispeáin amharc liosta",
"Show grid view" : "Taispeáin radharc greille",
"Close" : "Dún",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "Cóipeáladh {origin} taobh istigh de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Cóipeáladh {origin} agus {nbfiles} comhaid eile laistigh de {destination}",
"{newName} already exists" : "Tá {newName} ann cheana",
- "Could not rename \"{oldName}\", it does not exist any more" : "Níorbh fhéidir \"{oldName}\" a athainmniú, níl sé ann a thuilleadh",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tá an t-ainm \"{newName}\" in úsáid cheana féin san fhillteán \"{dir}\". Roghnaigh ainm eile le do thoil.",
- "Could not rename \"{oldName}\"" : "Níorbh fhéidir \"{oldName}\" a athainmniú",
"Could not create file \"{file}\"" : "Níorbh fhéidir comhad \"{file}\" a chruthú",
"Could not create file \"{file}\" because it already exists" : "Níorbh fhéidir an comhad \"{file}\" a chruthú toisc go bhfuil sé ann cheana",
"Could not create folder \"{dir}\" because it already exists" : "Níorbh fhéidir fillteán \"{dir}\" a chruthú toisc go bhfuil sé ann cheana",
@@ -453,8 +456,6 @@
"New text file.txt" : "Comhad téacs nua.txt",
"%1$s (renamed)" : "%1$s (athainmnithe)",
"renamed file" : "comhad athainmnithe",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Tar éis na hainmneacha comhad atá comhoiriúnach le Windows a chumasú, ní féidir comhaid atá ann cheana a mhodhnú a thuilleadh ach is féidir lena n-úinéir iad a athainmniú go hainmneacha nua bailí.",
- "{count} files could not be converted" : "{count} níorbh fhéidir comhaid a thiontú",
- "{count} files successfully converted" : "{count} comhaid a thiontú go rathúil"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Tar éis na hainmneacha comhad atá comhoiriúnach le Windows a chumasú, ní féidir comhaid atá ann cheana a mhodhnú a thuilleadh ach is féidir lena n-úinéir iad a athainmniú go hainmneacha nua bailí."
},"pluralForm" :"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);"
} \ No newline at end of file
diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js
index 3fff168be3b..b27f426d550 100644
--- a/apps/files/l10n/gl.js
+++ b/apps/files/l10n/gl.js
@@ -219,6 +219,7 @@ OC.L10N.register(
"Show those shortcuts" : "Amosar eses atallos",
"You" : "Vde.",
"Shared multiple times with different people" : "Compartido varias veces con diferentes persoas",
+ "Unable to change the favorite state of the file" : "Non é posíbel cambiar o estado de favorito do ficheiro",
"Error while loading the file data" : "Produciuse un erro ao cargar os datos do ficheiro",
"Owner" : "Propietario",
"Remove from favorites" : "Retirar de favoritos",
@@ -257,8 +258,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Está a piques de eliminar {count} elemento","Está a piques de eliminar {count} elementos"],
"Confirm deletion" : "Confirmar a eliminación",
"Cancel" : "Cancelar",
+ "Download" : "Descargar",
"Moving \"{source}\" to \"{destination}\" …" : "Movendo «{source}» a «{destination}»…",
"Copying \"{source}\" to \"{destination}\" …" : "Copiando «{source}» en «{destination}»…",
+ "Destination is not a folder" : "O destino non é un cartafol",
+ "This file/folder is already in that directory" : "Este ficheiro/cartafol xa está nese directorio",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Non é posíbel mover un ficheiro/cartafol sobre si mesmo ou a un subcartafol de si mesmo",
"(copy)" : "(copiar)",
"(copy %n)" : "(copiar %n)",
@@ -320,6 +324,9 @@ OC.L10N.register(
"Files moved successfully" : "Ficheiros movidos correctamente",
"Conflicts resolution skipped" : "Omitiuse a resolución dos conflitos",
"Upload cancelled" : "Envío cancelado",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Non foi posíbel cambiarlle o nome a «{oldName}», xa non existe",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome «{newName}» xa se utiliza no cartafol «{dir}». Escolla un nome diferente.",
+ "Could not rename \"{oldName}\"" : "Non foi posíbel cambiarlle o nome a «{oldName}»",
"This operation is forbidden" : "Esta operación está prohibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Este directorio non está dispoñíbel, consulte os ficheiros de rexistro ou póñase en contacto coa administración desta instancia.",
"Storage is temporarily not available" : "O almacenamento non está dispoñíbel temporalmente",
@@ -350,7 +357,6 @@ OC.L10N.register(
"Upload too large" : "Envío grande de máis",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Os ficheiros que tenta enviar exceden do tamaño máximo permitido neste servidor",
"File could not be found" : "Non foi posíbel atopar o ficheiro",
- "Download" : "Descargar",
"Show list view" : "Amosar a vista de lista",
"Show grid view" : "Amosar a vista de grade",
"Close" : "Pechar",
@@ -389,9 +395,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Copiado {origin} en {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiado {origin} e outros {nbfiles} ficheiros en {destination} ",
"{newName} already exists" : "Xa existe {newName}",
- "Could not rename \"{oldName}\", it does not exist any more" : "Non foi posíbel cambiarlle o nome a «{oldName}», xa non existe",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome «{newName}» xa se utiliza no cartafol «{dir}». Escolla un nome diferente.",
- "Could not rename \"{oldName}\"" : "Non foi posíbel cambiarlle o nome a «{oldName}»",
"Could not create file \"{file}\"" : "Non foi posíbel crear o ficheiro «{file}»",
"Could not create file \"{file}\" because it already exists" : "Non foi posíbel crear o ficheiro «{file}» por mor de que xa existe",
"Could not create folder \"{dir}\" because it already exists" : "Non foi posíbel crear o cartafol «{dir}» por mor de que xa existe",
@@ -440,8 +443,6 @@ OC.L10N.register(
"{fileCount} files and {folderCount} folders" : "{fileCount} ficheiros e {folderCount} cartafoles",
"Personal Files" : "Ficheiros persoais",
"Text file" : "Ficheiro de texto",
- "New text file.txt" : "Novo ficheiro de texto.txt",
- "{count} files could not be converted" : "Non foi posíbel converter {count} ficheiros",
- "{count} files successfully converted" : "{count} ficheiros foron convertidos correctamente"
+ "New text file.txt" : "Novo ficheiro de texto.txt"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json
index ad0a0738148..ff492c979ff 100644
--- a/apps/files/l10n/gl.json
+++ b/apps/files/l10n/gl.json
@@ -217,6 +217,7 @@
"Show those shortcuts" : "Amosar eses atallos",
"You" : "Vde.",
"Shared multiple times with different people" : "Compartido varias veces con diferentes persoas",
+ "Unable to change the favorite state of the file" : "Non é posíbel cambiar o estado de favorito do ficheiro",
"Error while loading the file data" : "Produciuse un erro ao cargar os datos do ficheiro",
"Owner" : "Propietario",
"Remove from favorites" : "Retirar de favoritos",
@@ -255,8 +256,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Está a piques de eliminar {count} elemento","Está a piques de eliminar {count} elementos"],
"Confirm deletion" : "Confirmar a eliminación",
"Cancel" : "Cancelar",
+ "Download" : "Descargar",
"Moving \"{source}\" to \"{destination}\" …" : "Movendo «{source}» a «{destination}»…",
"Copying \"{source}\" to \"{destination}\" …" : "Copiando «{source}» en «{destination}»…",
+ "Destination is not a folder" : "O destino non é un cartafol",
+ "This file/folder is already in that directory" : "Este ficheiro/cartafol xa está nese directorio",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Non é posíbel mover un ficheiro/cartafol sobre si mesmo ou a un subcartafol de si mesmo",
"(copy)" : "(copiar)",
"(copy %n)" : "(copiar %n)",
@@ -318,6 +322,9 @@
"Files moved successfully" : "Ficheiros movidos correctamente",
"Conflicts resolution skipped" : "Omitiuse a resolución dos conflitos",
"Upload cancelled" : "Envío cancelado",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Non foi posíbel cambiarlle o nome a «{oldName}», xa non existe",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome «{newName}» xa se utiliza no cartafol «{dir}». Escolla un nome diferente.",
+ "Could not rename \"{oldName}\"" : "Non foi posíbel cambiarlle o nome a «{oldName}»",
"This operation is forbidden" : "Esta operación está prohibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Este directorio non está dispoñíbel, consulte os ficheiros de rexistro ou póñase en contacto coa administración desta instancia.",
"Storage is temporarily not available" : "O almacenamento non está dispoñíbel temporalmente",
@@ -348,7 +355,6 @@
"Upload too large" : "Envío grande de máis",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Os ficheiros que tenta enviar exceden do tamaño máximo permitido neste servidor",
"File could not be found" : "Non foi posíbel atopar o ficheiro",
- "Download" : "Descargar",
"Show list view" : "Amosar a vista de lista",
"Show grid view" : "Amosar a vista de grade",
"Close" : "Pechar",
@@ -387,9 +393,6 @@
"Copied {origin} inside {destination}" : "Copiado {origin} en {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiado {origin} e outros {nbfiles} ficheiros en {destination} ",
"{newName} already exists" : "Xa existe {newName}",
- "Could not rename \"{oldName}\", it does not exist any more" : "Non foi posíbel cambiarlle o nome a «{oldName}», xa non existe",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome «{newName}» xa se utiliza no cartafol «{dir}». Escolla un nome diferente.",
- "Could not rename \"{oldName}\"" : "Non foi posíbel cambiarlle o nome a «{oldName}»",
"Could not create file \"{file}\"" : "Non foi posíbel crear o ficheiro «{file}»",
"Could not create file \"{file}\" because it already exists" : "Non foi posíbel crear o ficheiro «{file}» por mor de que xa existe",
"Could not create folder \"{dir}\" because it already exists" : "Non foi posíbel crear o cartafol «{dir}» por mor de que xa existe",
@@ -438,8 +441,6 @@
"{fileCount} files and {folderCount} folders" : "{fileCount} ficheiros e {folderCount} cartafoles",
"Personal Files" : "Ficheiros persoais",
"Text file" : "Ficheiro de texto",
- "New text file.txt" : "Novo ficheiro de texto.txt",
- "{count} files could not be converted" : "Non foi posíbel converter {count} ficheiros",
- "{count} files successfully converted" : "{count} ficheiros foron convertidos correctamente"
+ "New text file.txt" : "Novo ficheiro de texto.txt"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/gu.js b/apps/files/l10n/gu.js
deleted file mode 100644
index 7988332fa91..00000000000
--- a/apps/files/l10n/gu.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/gu.json b/apps/files/l10n/gu.json
deleted file mode 100644
index ef5fc586755..00000000000
--- a/apps/files/l10n/gu.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/he.js b/apps/files/l10n/he.js
deleted file mode 100644
index df92fadeec1..00000000000
--- a/apps/files/l10n/he.js
+++ /dev/null
@@ -1,200 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "הקובץ לא ניתן לאיתור",
- "Move or copy" : "העברה או העתקה",
- "Download" : "הורדה",
- "Delete" : "מחיקה",
- "Tags" : "תגיות",
- "Home" : "בית",
- "Close" : "סגירה",
- "Could not create folder \"{dir}\"" : "לא ניתן ליצור את התיקייה \"{dir}\"",
- "This will stop your current uploads." : "פעולה זו תעצור את השליחות הנוכחיות שלך.",
- "Upload cancelled." : "ההעלאה בוטלה.",
- "Processing files …" : "הקבצים עוברים עיבוד…",
- "…" : "…",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "לא ניתן להעלות {filename} כיוון שמדובר בתיקייה או שגודלו 0 בייט",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "לא קיים מספיק מקום פנוי, הקובץ המיועד להעלאה {size1} אבל נשאר {size2} בלבד",
- "Target folder \"{dir}\" does not exist any more" : "תיקיית היעד „{dir}” לא קיים עוד",
- "Not enough free space" : "אין מספיק מקום פנוי",
- "An unknown error has occurred" : "אירעה שגיאה בלתי ידועה",
- "Uploading …" : "מתבצעת העלאה…",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} מתוך {totalSize} ({bitrate})",
- "Uploading that item is not supported" : "העלאת הפריט הזה אינה נתמכת",
- "Target folder does not exist any more" : "תיקיית היעד אינה קיימת עוד",
- "Operation is blocked by access control" : "הפעולה נחסמה על ידי בקרת גישה",
- "Error when assembling chunks, status code {status}" : "שגיאה באיסוף הנתחים, קוד המצב {status}",
- "Actions" : "פעולות",
- "Rename" : "שינוי שם",
- "Move" : "העברה",
- "Copy" : "העתקה",
- "Choose target folder" : "נא לבחור תיקיית יעד",
- "Edit locally" : "עריכה בשולחן העבודה",
- "Open" : "פתיחה",
- "Delete file" : "מחיקת קובץ",
- "Delete folder" : "מחק תיקייה",
- "Disconnect storage" : "ניתוק אחסון",
- "Could not load info for file \"{file}\"" : "לא ניתן לטעון מידע על הקובץ „{file}”",
- "Files" : "קבצים",
- "Details" : "פרטים",
- "Pending" : "ממתין",
- "Unable to determine date" : "לא ניתן לקבוע תאריך",
- "This operation is forbidden" : "פעולה זו אסורה",
- "This directory is unavailable, please check the logs or contact the administrator" : "תיקייה זו לא קיימת, יש לבדוק את הלוגים או ליצור קשר עם המנהל",
- "Storage is temporarily not available" : "האחסון אינו זמין באופן זמני",
- "Could not move \"{file}\", target exists" : "לא ניתן להעביר \"{file}\", קובץ מטרה קיים",
- "Could not move \"{file}\"" : "לא ניתן להעביר \"{file}\"",
- "copy" : "עותק",
- "Could not copy \"{file}\", target exists" : "לא ניתן להעתיק את „{file}”, היעד קיים",
- "Could not copy \"{file}\"" : "לא ניתן להעתיק את „{file}”",
- "Copied {origin} inside {destination}" : "{origin} הועתק לתוך {destination} ",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "הועתקו {origin} ו־{nbfiles} קבצים אחרים לתוך {destination}",
- "{newName} already exists" : "{newName} כבר קיים",
- "Could not rename \"{fileName}\", it does not exist any more" : "לא ניתן לשנות שם \"{fileName}\", הוא כבר לא קיים יותר",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "השם \"{targetName}\" כבר קיים בתיקייה \"{dir}\". יש לבחור שם אחר.",
- "Could not rename \"{fileName}\"" : "לא ניתן לשנות את השם \"{fileName}\"",
- "Could not create file \"{file}\"" : "לא ניתן ליצור את הקובץ \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "לא ניתן ליצור את הקובץ \"{file}\" כיוון שהוא כבר קיים",
- "Could not create folder \"{dir}\" because it already exists" : "לא ניתן ליצור את התיקייה \"{dir}\" כיוון שהיא כבר קיימת",
- "Could not fetch file details \"{file}\"" : "לא ניתן לקבל את פרטי הקובץ „{file}”",
- "Error deleting file \"{fileName}\"." : "שגיאה בזמן מחיקת קובץ \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "אין תוצאות חיפוש בתיקיות אחרות עבור {tag}{filter}{endtag}",
- "Enter more than two characters to search in other folders" : "יש להקליד למעלה משני תווים כדי לחפש בתיקיות אחרות",
- "Name" : "שם",
- "Size" : "גודל",
- "Modified" : "זמן שינוי",
- "_%n folder_::_%n folders_" : ["%n תיקייה","%n תיקיות","%n תיקיות","%n תיקיות"],
- "_%n file_::_%n files_" : ["%n קובץ","%n קבצים","%n קבצים","%n קבצים"],
- "{dirs} and {files}" : "{dirs} וכן {files}",
- "_including %n hidden_::_including %n hidden_" : ["לרבות %n מוסתר","לרבות %n מוסתרים","לרבות %n מוסתרים"],
- "_Uploading %n file_::_Uploading %n files_" : ["מעלה %n קובץ","מעלה %n קבצים","מעלה %n קבצים"],
- "New" : "חדש",
- "Select file range" : "בחירת טווח קבצים",
- "{used} of {quota} used" : "{used} מתוך {quota} בשימוש",
- "{used} used" : "{used} בשימוש",
- "\"{name}\" is an invalid file name." : "\"{name}\" הנו שם קובץ לא חוקי.",
- "File name cannot be empty." : "שם קובץ אינו יכול להיות ריק",
- "\"/\" is not allowed inside a file name." : "אסור להשתמש ב־„/” בתוך שם קובץ.",
- "\"{name}\" is not an allowed filetype" : "סוד הקובץ „{name}” אינו מורשה",
- "Storage of {owner} is almost full ({usedSpacePercent}%)." : "האחסון של {owner} כמעט מלא ({usedSpacePercent}%).",
- "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "התיקיה הקבוצתית \"{mountPoint}\" כמעט מלאה ({usedSpacePercent}%).",
- "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "האחסון החיצוני \"{mountPoint}\" כמעט מלא ({usedSpacePercent}%).",
- "Your storage is almost full ({usedSpacePercent}%)." : "האחסון שלך כמעט מלא ({usedSpacePercent}%).",
- "View in folder" : "הצג בתיקייה",
- "Path" : "נתיב",
- "_%n byte_::_%n bytes_" : ["%n בייט","%n בייטים","%n בייטים"],
- "Favorited" : "מועדף",
- "Favorite" : "מועדף",
- "New folder" : "תיקייה חדשה",
- "Create new folder" : "יצירת תיקייה חדשה",
- "Upload file" : "העלאת קובץ",
- "Recent" : "אחרונים",
- "Not favorited" : "לא במועדפים",
- "Remove from favorites" : "הסרה מהמועדפים",
- "Add to favorites" : "הוספה למועדפים",
- "An error occurred while trying to update the tags" : "שגיאה אירעה בזמן עדכון התגיות",
- "Added to favorites" : "נוסף למועדפים",
- "Removed from favorites" : "הוסר מהמועדפים",
- "You added {file} to your favorites" : "הוספת את {file} למועדפים שלך",
- "You removed {file} from your favorites" : "הסרת את {file} מהמועדפים שלך",
- "Favorites" : "מועדפים",
- "File changes" : "שינויים בקובץ",
- "Created by {user}" : "נוצר על ידי {user}",
- "Changed by {user}" : "נערך על ידי {user}",
- "Deleted by {user}" : "נמחק על ידי {user}",
- "Restored by {user}" : "שוחזר על ידי {user}",
- "Renamed by {user}" : "השם השתנה על ידי {user}",
- "Moved by {user}" : "הועבר על ידי {user}",
- "You created {file}" : "יצרת את {file}",
- "You created an encrypted file in {file}" : "יצרת קובץ מוצפן בתוך {file}",
- "{user} created {file}" : " {file} נוצר על ידי {user}",
- "{user} created an encrypted file in {file}" : "נוצר קובץ מוצפן בתוך {file} על ידי {user}",
- "{file} was created in a public folder" : "{file} נוצר בתוך תיקייה ציבורית",
- "You changed {file}" : "שינית את {file}",
- "You changed an encrypted file in {file}" : "שינית קובץ מוצפן בתוך {file}",
- "{user} changed {file}" : "{file} נערך על ידי {user}",
- "{user} changed an encrypted file in {file}" : "קובץ מוצפן בתוך {file} נערך על ידי {user}",
- "You deleted {file}" : "מחקת את {file}",
- "You deleted an encrypted file in {file}" : "מחקת קובץ מוצפן תחת {file}",
- "{user} deleted {file}" : "{file} נמחק על ידי {user}",
- "{user} deleted an encrypted file in {file}" : "קובץ מוצפן בתוך {file} נמחק על ידי {user}",
- "You restored {file}" : "שחזרת את {file}",
- "{user} restored {file}" : "{file} שוחזר על ידי {user}",
- "You renamed {oldfile} to {newfile}" : "שינית את השם של {oldfile} לשם {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "השם של {oldfile} השתנה אל {newfile} על ידי {user}",
- "You moved {oldfile} to {newfile}" : "העברת את {oldfile} אל {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{oldfile} הועבר אל {newfile} על ידי {user}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "קובץ נוסף או הוסר מה<strong>מועדפים</strong> שלך",
- "A file or folder has been <strong>changed</strong>" : "קובץ או תיקייה <strong>שונו<strong/>",
- "A favorite file or folder has been <strong>changed</strong>" : "קובץ או תיקייה מהמועדפים <strong>נערכו</strong>",
- "Upload (max. %s)" : "העלאה (מקסימום %s)",
- "Accept" : "קבלה",
- "Reject" : "דחייה",
- "Incoming ownership transfer from {user}" : "העברת בעלות נכנסת מאת {user}",
- "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "לקבל את {path}?\n\nלתשומת לך: תהליך ההעברה לאחר האישור עשוי לארוך עד כשעה.",
- "Ownership transfer failed" : "העברת הבעלות נכשלה",
- "Your ownership transfer of {path} to {user} failed." : "העברת הבעלות על {path} לידי {user} ממך נכשלה.",
- "The ownership transfer of {path} from {user} failed." : "העברת הבעלות על {path} לידי {user} נכשלה.",
- "Ownership transfer done" : "העברת הבעלות הושלמה",
- "Your ownership transfer of {path} to {user} has completed." : "העברת הבעלות על {path} לידי {user} ממך הושלמה.",
- "The ownership transfer of {path} from {user} has completed." : "העברת הבעלות על {path} לידי {user} הושלמה.",
- "in %s" : "ב־%s",
- "File Management" : "ניהול קבצים",
- "You don’t have permission to upload or create files here" : "אין לך הרשאות להעלות או ליצור קבצים כאן",
- "Filename" : "שם קובץ",
- "Folder name" : "שם התיקייה",
- "Clear filter" : "מחיקת מסנן",
- "Type" : "סוג",
- "File not found" : "קובץ לא נמצא",
- "Your storage is full, files can not be updated or synced anymore!" : "האחסון שלך מלא, כבר לא ניתן לעדכן ולסנכרן קבצים!",
- "Create" : "יצירה",
- "Submit" : "שליחה",
- "Transfer ownership of a file or folder" : "העברת בעלות על קובץ או תיקייה",
- "Choose file or folder to transfer" : "נא לבחור קובץ או תיקייה להעברה",
- "Change" : "שינוי",
- "New owner" : "בעלים חדשים",
- "Choose a file or folder to transfer" : "נא לבחור קובץ או תיקייה להעברה",
- "Transfer" : "העברה",
- "Transfer {path} to {userid}" : "העברת {path} לידי {userid}",
- "Invalid path selected" : "הנתיב שנבחר שגוי",
- "Unknown error" : "שגיאה בלתי ידועה",
- "Ownership transfer request sent" : "נשלחה בקשת העברת בעלות",
- "No files in here" : "אין כאן קבצים",
- "Upload some content or sync with your devices!" : "יש להעלות קצת תוכן או לסנכרן עם ההתקנים שלך!",
- "Go back" : "חזרה",
- "Share" : "שתף",
- "Shared by link" : "משותף על ידי קישור",
- "Shared" : "משותף",
- "Views" : "תצוגות",
- "Files settings" : "הגדרות לקבצים",
- "Show hidden files" : "הצגת קבצים נסתרים",
- "Crop image previews" : "חיתוך תצוגות מקדימות של תמונות",
- "Additional settings" : "הגדרות נוספות",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "העתקה ללוח הגזירים",
- "Use this address to access your Files via WebDAV" : "יש להשתמש בכתובת הזאת כדי לגשת לקבצים שלך דרך WebDAV",
- "Unable to change the favourite state of the file" : "לא ניתן לשנות את מצב ההעדפה של הקובץ",
- "Error while loading the file data" : "שגיאה בטעינת נתוני הקובץ",
- "Delete permanently" : "מחיקה לצמיתות",
- "Cancel" : "ביטול",
- "Open details" : "פתיחת פרטים",
- "Today" : "היום",
- "Documents" : "מסמכים",
- "Audio" : "קובץ שמע",
- "Videos" : "סרטונים",
- "Some files could not be moved" : "חלק מהקבצים לא הועברו",
- "No favorites yet" : "אין מועדפים עדיין",
- "Files and folders you mark as favorite will show up here" : "קבצים ותיקיות שסומנו על ידך כמועדפים יוצגו כאן",
- "All files" : "כל הקבצים",
- "All folders" : "כל התיקיות",
- "No entries found in this folder" : "לא נמצאו כניסות לתיקייה זו",
- "Select all" : "לבחור הכול",
- "Upload too large" : "העלאה גדולה מידי",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "הקבצים שניסית להעלות חרגו מהגודל המקסימלי להעלאת קבצים על שרת זה.",
- "Text file" : "קובץ טקסט",
- "New text file.txt" : "קובץ טקסט חדש.txt",
- "Copy direct link (only works for users who have access to this file/folder)" : "העתקת קישור ישיר (עובד רק עבור משתמשים שיש להם גישה לקובץ/תיקייה זו)",
- "\"remote user\"" : "„משתמש מרוחק”",
- "Name cannot be empty" : "השם לא יכול להישאר ריק"
-},
-"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;");
diff --git a/apps/files/l10n/he.json b/apps/files/l10n/he.json
deleted file mode 100644
index 6950da6e87a..00000000000
--- a/apps/files/l10n/he.json
+++ /dev/null
@@ -1,198 +0,0 @@
-{ "translations": {
- "File could not be found" : "הקובץ לא ניתן לאיתור",
- "Move or copy" : "העברה או העתקה",
- "Download" : "הורדה",
- "Delete" : "מחיקה",
- "Tags" : "תגיות",
- "Home" : "בית",
- "Close" : "סגירה",
- "Could not create folder \"{dir}\"" : "לא ניתן ליצור את התיקייה \"{dir}\"",
- "This will stop your current uploads." : "פעולה זו תעצור את השליחות הנוכחיות שלך.",
- "Upload cancelled." : "ההעלאה בוטלה.",
- "Processing files …" : "הקבצים עוברים עיבוד…",
- "…" : "…",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "לא ניתן להעלות {filename} כיוון שמדובר בתיקייה או שגודלו 0 בייט",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "לא קיים מספיק מקום פנוי, הקובץ המיועד להעלאה {size1} אבל נשאר {size2} בלבד",
- "Target folder \"{dir}\" does not exist any more" : "תיקיית היעד „{dir}” לא קיים עוד",
- "Not enough free space" : "אין מספיק מקום פנוי",
- "An unknown error has occurred" : "אירעה שגיאה בלתי ידועה",
- "Uploading …" : "מתבצעת העלאה…",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} מתוך {totalSize} ({bitrate})",
- "Uploading that item is not supported" : "העלאת הפריט הזה אינה נתמכת",
- "Target folder does not exist any more" : "תיקיית היעד אינה קיימת עוד",
- "Operation is blocked by access control" : "הפעולה נחסמה על ידי בקרת גישה",
- "Error when assembling chunks, status code {status}" : "שגיאה באיסוף הנתחים, קוד המצב {status}",
- "Actions" : "פעולות",
- "Rename" : "שינוי שם",
- "Move" : "העברה",
- "Copy" : "העתקה",
- "Choose target folder" : "נא לבחור תיקיית יעד",
- "Edit locally" : "עריכה בשולחן העבודה",
- "Open" : "פתיחה",
- "Delete file" : "מחיקת קובץ",
- "Delete folder" : "מחק תיקייה",
- "Disconnect storage" : "ניתוק אחסון",
- "Could not load info for file \"{file}\"" : "לא ניתן לטעון מידע על הקובץ „{file}”",
- "Files" : "קבצים",
- "Details" : "פרטים",
- "Pending" : "ממתין",
- "Unable to determine date" : "לא ניתן לקבוע תאריך",
- "This operation is forbidden" : "פעולה זו אסורה",
- "This directory is unavailable, please check the logs or contact the administrator" : "תיקייה זו לא קיימת, יש לבדוק את הלוגים או ליצור קשר עם המנהל",
- "Storage is temporarily not available" : "האחסון אינו זמין באופן זמני",
- "Could not move \"{file}\", target exists" : "לא ניתן להעביר \"{file}\", קובץ מטרה קיים",
- "Could not move \"{file}\"" : "לא ניתן להעביר \"{file}\"",
- "copy" : "עותק",
- "Could not copy \"{file}\", target exists" : "לא ניתן להעתיק את „{file}”, היעד קיים",
- "Could not copy \"{file}\"" : "לא ניתן להעתיק את „{file}”",
- "Copied {origin} inside {destination}" : "{origin} הועתק לתוך {destination} ",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "הועתקו {origin} ו־{nbfiles} קבצים אחרים לתוך {destination}",
- "{newName} already exists" : "{newName} כבר קיים",
- "Could not rename \"{fileName}\", it does not exist any more" : "לא ניתן לשנות שם \"{fileName}\", הוא כבר לא קיים יותר",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "השם \"{targetName}\" כבר קיים בתיקייה \"{dir}\". יש לבחור שם אחר.",
- "Could not rename \"{fileName}\"" : "לא ניתן לשנות את השם \"{fileName}\"",
- "Could not create file \"{file}\"" : "לא ניתן ליצור את הקובץ \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "לא ניתן ליצור את הקובץ \"{file}\" כיוון שהוא כבר קיים",
- "Could not create folder \"{dir}\" because it already exists" : "לא ניתן ליצור את התיקייה \"{dir}\" כיוון שהיא כבר קיימת",
- "Could not fetch file details \"{file}\"" : "לא ניתן לקבל את פרטי הקובץ „{file}”",
- "Error deleting file \"{fileName}\"." : "שגיאה בזמן מחיקת קובץ \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "אין תוצאות חיפוש בתיקיות אחרות עבור {tag}{filter}{endtag}",
- "Enter more than two characters to search in other folders" : "יש להקליד למעלה משני תווים כדי לחפש בתיקיות אחרות",
- "Name" : "שם",
- "Size" : "גודל",
- "Modified" : "זמן שינוי",
- "_%n folder_::_%n folders_" : ["%n תיקייה","%n תיקיות","%n תיקיות","%n תיקיות"],
- "_%n file_::_%n files_" : ["%n קובץ","%n קבצים","%n קבצים","%n קבצים"],
- "{dirs} and {files}" : "{dirs} וכן {files}",
- "_including %n hidden_::_including %n hidden_" : ["לרבות %n מוסתר","לרבות %n מוסתרים","לרבות %n מוסתרים"],
- "_Uploading %n file_::_Uploading %n files_" : ["מעלה %n קובץ","מעלה %n קבצים","מעלה %n קבצים"],
- "New" : "חדש",
- "Select file range" : "בחירת טווח קבצים",
- "{used} of {quota} used" : "{used} מתוך {quota} בשימוש",
- "{used} used" : "{used} בשימוש",
- "\"{name}\" is an invalid file name." : "\"{name}\" הנו שם קובץ לא חוקי.",
- "File name cannot be empty." : "שם קובץ אינו יכול להיות ריק",
- "\"/\" is not allowed inside a file name." : "אסור להשתמש ב־„/” בתוך שם קובץ.",
- "\"{name}\" is not an allowed filetype" : "סוד הקובץ „{name}” אינו מורשה",
- "Storage of {owner} is almost full ({usedSpacePercent}%)." : "האחסון של {owner} כמעט מלא ({usedSpacePercent}%).",
- "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "התיקיה הקבוצתית \"{mountPoint}\" כמעט מלאה ({usedSpacePercent}%).",
- "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "האחסון החיצוני \"{mountPoint}\" כמעט מלא ({usedSpacePercent}%).",
- "Your storage is almost full ({usedSpacePercent}%)." : "האחסון שלך כמעט מלא ({usedSpacePercent}%).",
- "View in folder" : "הצג בתיקייה",
- "Path" : "נתיב",
- "_%n byte_::_%n bytes_" : ["%n בייט","%n בייטים","%n בייטים"],
- "Favorited" : "מועדף",
- "Favorite" : "מועדף",
- "New folder" : "תיקייה חדשה",
- "Create new folder" : "יצירת תיקייה חדשה",
- "Upload file" : "העלאת קובץ",
- "Recent" : "אחרונים",
- "Not favorited" : "לא במועדפים",
- "Remove from favorites" : "הסרה מהמועדפים",
- "Add to favorites" : "הוספה למועדפים",
- "An error occurred while trying to update the tags" : "שגיאה אירעה בזמן עדכון התגיות",
- "Added to favorites" : "נוסף למועדפים",
- "Removed from favorites" : "הוסר מהמועדפים",
- "You added {file} to your favorites" : "הוספת את {file} למועדפים שלך",
- "You removed {file} from your favorites" : "הסרת את {file} מהמועדפים שלך",
- "Favorites" : "מועדפים",
- "File changes" : "שינויים בקובץ",
- "Created by {user}" : "נוצר על ידי {user}",
- "Changed by {user}" : "נערך על ידי {user}",
- "Deleted by {user}" : "נמחק על ידי {user}",
- "Restored by {user}" : "שוחזר על ידי {user}",
- "Renamed by {user}" : "השם השתנה על ידי {user}",
- "Moved by {user}" : "הועבר על ידי {user}",
- "You created {file}" : "יצרת את {file}",
- "You created an encrypted file in {file}" : "יצרת קובץ מוצפן בתוך {file}",
- "{user} created {file}" : " {file} נוצר על ידי {user}",
- "{user} created an encrypted file in {file}" : "נוצר קובץ מוצפן בתוך {file} על ידי {user}",
- "{file} was created in a public folder" : "{file} נוצר בתוך תיקייה ציבורית",
- "You changed {file}" : "שינית את {file}",
- "You changed an encrypted file in {file}" : "שינית קובץ מוצפן בתוך {file}",
- "{user} changed {file}" : "{file} נערך על ידי {user}",
- "{user} changed an encrypted file in {file}" : "קובץ מוצפן בתוך {file} נערך על ידי {user}",
- "You deleted {file}" : "מחקת את {file}",
- "You deleted an encrypted file in {file}" : "מחקת קובץ מוצפן תחת {file}",
- "{user} deleted {file}" : "{file} נמחק על ידי {user}",
- "{user} deleted an encrypted file in {file}" : "קובץ מוצפן בתוך {file} נמחק על ידי {user}",
- "You restored {file}" : "שחזרת את {file}",
- "{user} restored {file}" : "{file} שוחזר על ידי {user}",
- "You renamed {oldfile} to {newfile}" : "שינית את השם של {oldfile} לשם {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "השם של {oldfile} השתנה אל {newfile} על ידי {user}",
- "You moved {oldfile} to {newfile}" : "העברת את {oldfile} אל {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{oldfile} הועבר אל {newfile} על ידי {user}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "קובץ נוסף או הוסר מה<strong>מועדפים</strong> שלך",
- "A file or folder has been <strong>changed</strong>" : "קובץ או תיקייה <strong>שונו<strong/>",
- "A favorite file or folder has been <strong>changed</strong>" : "קובץ או תיקייה מהמועדפים <strong>נערכו</strong>",
- "Upload (max. %s)" : "העלאה (מקסימום %s)",
- "Accept" : "קבלה",
- "Reject" : "דחייה",
- "Incoming ownership transfer from {user}" : "העברת בעלות נכנסת מאת {user}",
- "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "לקבל את {path}?\n\nלתשומת לך: תהליך ההעברה לאחר האישור עשוי לארוך עד כשעה.",
- "Ownership transfer failed" : "העברת הבעלות נכשלה",
- "Your ownership transfer of {path} to {user} failed." : "העברת הבעלות על {path} לידי {user} ממך נכשלה.",
- "The ownership transfer of {path} from {user} failed." : "העברת הבעלות על {path} לידי {user} נכשלה.",
- "Ownership transfer done" : "העברת הבעלות הושלמה",
- "Your ownership transfer of {path} to {user} has completed." : "העברת הבעלות על {path} לידי {user} ממך הושלמה.",
- "The ownership transfer of {path} from {user} has completed." : "העברת הבעלות על {path} לידי {user} הושלמה.",
- "in %s" : "ב־%s",
- "File Management" : "ניהול קבצים",
- "You don’t have permission to upload or create files here" : "אין לך הרשאות להעלות או ליצור קבצים כאן",
- "Filename" : "שם קובץ",
- "Folder name" : "שם התיקייה",
- "Clear filter" : "מחיקת מסנן",
- "Type" : "סוג",
- "File not found" : "קובץ לא נמצא",
- "Your storage is full, files can not be updated or synced anymore!" : "האחסון שלך מלא, כבר לא ניתן לעדכן ולסנכרן קבצים!",
- "Create" : "יצירה",
- "Submit" : "שליחה",
- "Transfer ownership of a file or folder" : "העברת בעלות על קובץ או תיקייה",
- "Choose file or folder to transfer" : "נא לבחור קובץ או תיקייה להעברה",
- "Change" : "שינוי",
- "New owner" : "בעלים חדשים",
- "Choose a file or folder to transfer" : "נא לבחור קובץ או תיקייה להעברה",
- "Transfer" : "העברה",
- "Transfer {path} to {userid}" : "העברת {path} לידי {userid}",
- "Invalid path selected" : "הנתיב שנבחר שגוי",
- "Unknown error" : "שגיאה בלתי ידועה",
- "Ownership transfer request sent" : "נשלחה בקשת העברת בעלות",
- "No files in here" : "אין כאן קבצים",
- "Upload some content or sync with your devices!" : "יש להעלות קצת תוכן או לסנכרן עם ההתקנים שלך!",
- "Go back" : "חזרה",
- "Share" : "שתף",
- "Shared by link" : "משותף על ידי קישור",
- "Shared" : "משותף",
- "Views" : "תצוגות",
- "Files settings" : "הגדרות לקבצים",
- "Show hidden files" : "הצגת קבצים נסתרים",
- "Crop image previews" : "חיתוך תצוגות מקדימות של תמונות",
- "Additional settings" : "הגדרות נוספות",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "העתקה ללוח הגזירים",
- "Use this address to access your Files via WebDAV" : "יש להשתמש בכתובת הזאת כדי לגשת לקבצים שלך דרך WebDAV",
- "Unable to change the favourite state of the file" : "לא ניתן לשנות את מצב ההעדפה של הקובץ",
- "Error while loading the file data" : "שגיאה בטעינת נתוני הקובץ",
- "Delete permanently" : "מחיקה לצמיתות",
- "Cancel" : "ביטול",
- "Open details" : "פתיחת פרטים",
- "Today" : "היום",
- "Documents" : "מסמכים",
- "Audio" : "קובץ שמע",
- "Videos" : "סרטונים",
- "Some files could not be moved" : "חלק מהקבצים לא הועברו",
- "No favorites yet" : "אין מועדפים עדיין",
- "Files and folders you mark as favorite will show up here" : "קבצים ותיקיות שסומנו על ידך כמועדפים יוצגו כאן",
- "All files" : "כל הקבצים",
- "All folders" : "כל התיקיות",
- "No entries found in this folder" : "לא נמצאו כניסות לתיקייה זו",
- "Select all" : "לבחור הכול",
- "Upload too large" : "העלאה גדולה מידי",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "הקבצים שניסית להעלות חרגו מהגודל המקסימלי להעלאת קבצים על שרת זה.",
- "Text file" : "קובץ טקסט",
- "New text file.txt" : "קובץ טקסט חדש.txt",
- "Copy direct link (only works for users who have access to this file/folder)" : "העתקת קישור ישיר (עובד רק עבור משתמשים שיש להם גישה לקובץ/תיקייה זו)",
- "\"remote user\"" : "„משתמש מרוחק”",
- "Name cannot be empty" : "השם לא יכול להישאר ריק"
-},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/hr.js b/apps/files/l10n/hr.js
deleted file mode 100644
index e7f87bc6455..00000000000
--- a/apps/files/l10n/hr.js
+++ /dev/null
@@ -1,216 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "Added to favorites" : "Dodano u favorite",
- "Removed from favorites" : "Uklonjeno iz favorita",
- "You added {file} to your favorites" : "Dodali ste {file} u svoje favorite",
- "You removed {file} from your favorites" : "Uklonili ste {file} iz svojih favorita",
- "Favorites" : "Favoriti",
- "File changes" : "Promjene datoteka",
- "Created by {user}" : "Stvorio {user}",
- "Changed by {user}" : "Izmijenio {user}",
- "Deleted by {user}" : "Izbrisao {user}",
- "Restored by {user}" : "Vratio {user}",
- "Renamed by {user}" : "Preimenovao {user}",
- "Moved by {user}" : "Premjestio {user}",
- "You created {file}" : "Stvorili ste {file}",
- "You created an encrypted file in {file}" : "Stvorili ste šifriranu datoteku u {file}",
- "{user} created {file}" : "{user} je stvorio {file}",
- "{user} created an encrypted file in {file}" : "{user} je stvorio šifriranu datoteku u {file}",
- "{file} was created in a public folder" : "{file} je stvorena u javnoj mapi",
- "You changed {file}" : "Promijenili ste {file}",
- "You changed an encrypted file in {file}" : "Promijenili ste šifriranu datoteku u {file}",
- "{user} changed {file}" : "{user} je promijenio {file}",
- "{user} changed an encrypted file in {file}" : "{user} je promijenio šifriranu datoteku u {file}",
- "You deleted {file}" : "Izbrisali ste {file}",
- "You deleted an encrypted file in {file}" : "Izbrisali ste šifriranu datoteku u {file}",
- "{user} deleted {file}" : "{user} je izbrisao {file}",
- "{user} deleted an encrypted file in {file}" : "{user} je izbrisao šifriranu datoteku u {file}",
- "You restored {file}" : "Vratili ste {file}",
- "{user} restored {file}" : "{user} je vratio {file}",
- "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Preimenovali ste {oldfile} (skriveno) u {newfile} (skriveno)",
- "You renamed {oldfile} (hidden) to {newfile}" : "Preimenovali ste {oldfile} (skriveno) u {newfile}",
- "You renamed {oldfile} to {newfile} (hidden)" : "Preimenovali ste {oldfile} u {newfile} (skriveno)",
- "You renamed {oldfile} to {newfile}" : "Preimenovali ste {oldfile} u {newfile}",
- "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} je preimenovao {oldfile} (skriveno) u {newfile} (skriveno)",
- "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} je preimenovao {oldfile} (skriveno) u {newfile}",
- "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} je preimenovao {oldfile} u {newfile} (skriveno)",
- "{user} renamed {oldfile} to {newfile}" : "{user} je preimenovao {oldfile} u {newfile}",
- "You moved {oldfile} to {newfile}" : "Premjestili ste {oldfile} u {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} je premjestio {oldfile} u {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Datoteka je dodana ili uklonjena iz vaših <strong>favorita</strong>",
- "Files" : "Datoteke",
- "A file or folder has been <strong>changed</strong>" : "Datoteka ili mapa su <strong>promijenjeni</strong>",
- "A favorite file or folder has been <strong>changed</strong>" : "Omiljena datoteka ili mapa je <strong>promijenjena</strong>",
- "Upload (max. %s)" : "Otprema (maks. %s)",
- "Accept" : "Prihvati",
- "Reject" : "Odbij",
- "Incoming ownership transfer from {user}" : "Dolazni prijenos vlasništva od {user}",
- "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Želite li prihvatiti {path}?\n\nNapomena: nakon prihvaćanja prijenos može potrajati do sat vremena.",
- "Ownership transfer failed" : "Prijenos vlasništva nije uspio",
- "Your ownership transfer of {path} to {user} failed." : "Nije uspio vaš prijenos vlasništva {path} na {user}.",
- "The ownership transfer of {path} from {user} failed." : "Nije uspio prijenos vlasništva {path} od {user}.",
- "Ownership transfer done" : "Prijenos vlasništva je završen",
- "Your ownership transfer of {path} to {user} has completed." : "Vaš prijenos vlasništva {path} na {user} je završen.",
- "The ownership transfer of {path} from {user} has completed." : "Prijenos vlasništva {path} od {user} je završen.",
- "in %s" : "za %s",
- "File Management" : "Upravljanje datotekama",
- "Home" : "Početna",
- "Target folder does not exist any more" : "Ciljna mapa više ne postoji",
- "You don’t have permission to upload or create files here" : "Ovdje ne smijete otpremati ili stvarati datoteke",
- "Favorite" : "Favorit",
- "Filename" : "Naziv datoteke",
- "Folder name" : "Naziv mape",
- "Pending" : "Na čekanju",
- "Clear filter" : "Ukloni filtar",
- "Modified" : "Promijenjeno",
- "Type" : "Vrsta",
- "Name" : "Naziv",
- "Size" : "Veličina",
- "Actions" : "Radnje",
- "File not found" : "Datoteka nije pronađena",
- "{used} of {quota} used" : "Iskorišteno {used} od {quota}",
- "Your storage is full, files can not be updated or synced anymore!" : "Vaša je pohrana puna, datoteke više nije moguće ažurirati ni sinkronizirati!",
- "Create" : "Stvori",
- "New folder" : "Nova mapa",
- "Create new folder" : "Stvori novu mapu",
- "Submit" : "Šalji",
- "Transfer ownership of a file or folder" : "Prenesi vlasništvo nad datotekom ili mapom",
- "Choose file or folder to transfer" : "Odaberite datoteku ili mapu za prijenos",
- "Change" : "Promijeni",
- "New owner" : "Novi vlasnik",
- "Choose a file or folder to transfer" : "Odaberite datoteku ili mapu za prijenos",
- "Transfer" : "Prijenos",
- "Transfer {path} to {userid}" : "Prijenos {path} na {userid}",
- "Invalid path selected" : "Odabran nevažeći put",
- "Unknown error" : "Nepoznata pogreška",
- "Ownership transfer request sent" : "Zahtjev za prijenos vlasništva je poslan",
- "No files in here" : "Nema datoteka",
- "Upload some content or sync with your devices!" : "Otpremite neki sadržaj ili sinkronizirajte sa svojim uređajima!",
- "Go back" : "Natrag",
- "Share" : "Dijeli",
- "Shared by link" : "Podijeljeno putem poveznice",
- "Shared" : "Dijeljeno",
- "Switch to list view" : "Prebacite na prikaz popisa",
- "Not enough free space" : "Nema dovoljno slobodnog prostora",
- "Operation is blocked by access control" : "Radnju je blokirala kontrola pristupa",
- "Views" : "Prikazi",
- "Show hidden files" : "Prikaz skrivenih datoteka",
- "Crop image previews" : "Obreži pretpreglede slika",
- "Additional settings" : "Dodatne postavke",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Kopiraj u međuspremnik",
- "Use this address to access your Files via WebDAV" : "Upotrijebite ovu adresu za pristupanje svojim datotekama putem WebDAVa",
- "Remove from favorites" : "Ukloni iz favorita",
- "Add to favorites" : "Dodaj u favorite",
- "Tags" : "Oznake",
- "Unable to change the favourite state of the file" : "Nije moguće promijeniti status favorita datoteke",
- "Error while loading the file data" : "Pogreška pri učitavanju podataka iz datoteke",
- "Pick a template for {name}" : "Odaberite predložak za {name}",
- "Create a new file with the selected template" : "Stvorite novu datoteku s odabranim predloškom",
- "Creating file" : "Stvaranje datoteke",
- "Blank" : "Prazno",
- "Unable to create new file from template" : "Nije moguće stvoriti novu datoteku iz predloška",
- "Disconnect storage" : "Odspoji pohranu",
- "Delete permanently" : "Trajno izbrišite",
- "Delete file" : "Izbrisati datoteku",
- "Delete folder" : "Izbriši mapu",
- "Delete" : "Izbriši",
- "Cancel" : "Odustani",
- "Copy" : "Kopiraj",
- "Move" : "Premjesti",
- "Move or copy" : "Premjesti ili kopiraj",
- "Rename" : "Preimenuj",
- "Open details" : "Otvori pojedinosti",
- "View in folder" : "Prikaži u mapi",
- "Documents" : "Dokumenti",
- "Audio" : "Audio",
- "Videos" : "Videozapisi",
- "Unable to initialize the templates directory" : "Nije moguće inicijalizirati direktorij predložaka",
- "Templates" : "Predlošci",
- "Some files could not be moved" : "Neke datoteke nije moguće premjestiti",
- "This operation is forbidden" : "Ova radnja je zabranjena",
- "This directory is unavailable, please check the logs or contact the administrator" : "Ovaj direktorij je nedostupan, provjerite zapise ili se obratite administratoru",
- "Storage is temporarily not available" : "Pohrana privremeno nije dostupna",
- "No favorites yet" : "Još nema favorita",
- "Files and folders you mark as favorite will show up here" : "Ovdje će se prikazati datoteke i mape koje označite kao favorite",
- "All files" : "Sve datoteke",
- "Recent" : "Nedavni",
- "No entries found in this folder" : "U ovoj mapi nisu pronađeni nikakvi zapisi",
- "Select all" : "Odaberi sve",
- "Upload too large" : "Otprema je prevelika",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Datoteke koje pokušavate otpremiti premašuju maksimalnu veličinu za otpremu datoteka na ovom poslužitelju.",
- "File could not be found" : "Datoteka nije pronađena",
- "Download" : "Preuzmi",
- "Close" : "Zatvori",
- "Could not create folder \"{dir}\"" : "Nije moguće stvoriti mapu „{dir}”",
- "This will stop your current uploads." : "Ovo će zaustaviti vaše trenutačne otpreme.",
- "Upload cancelled." : "Otpremanje je prekinuto.",
- "Processing files …" : "Obrada datoteka...",
- "…" : "…",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nije moguće otpremiti {filename} jer je direktorij ili ima 0 bajta",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nedovoljno slobodnog prostora, otpremate {size1} a preostalo je samo {size2}",
- "Target folder \"{dir}\" does not exist any more" : "Ciljna mapa „{dir}” više ne postoji",
- "An unknown error has occurred" : "Došlo je do nepoznate pogreške",
- "Uploading …" : "Otpremanje...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} od {totalSize} ({bitrate})",
- "Uploading that item is not supported" : "Nije podržano otpremanje ove stavke",
- "Error when assembling chunks, status code {status}" : "Pogreška prilikom sastavljanja komada, šifra statusa {status}",
- "Choose target folder" : "Odaberi ciljnu mapu",
- "Open" : "Otvori",
- "Could not load info for file \"{file}\"" : "Nije moguće učitati podatke za datoteku „{file}”",
- "Details" : "Pojedinosti",
- "Unable to determine date" : "Nije moguće odrediti datum",
- "Could not move \"{file}\", target exists" : "Neuspješno premještanje „{file}”, ciljna datoteka postoji",
- "Could not move \"{file}\"" : "Neuspješno premještanje „{file}”",
- "copy" : "kopiraj",
- "Could not copy \"{file}\", target exists" : "Neuspješno kopiranje „{file}”, ciljna datoteka postoji",
- "Could not copy \"{file}\"" : "Neuspješno kopiranje „{file}”",
- "Copied {origin} inside {destination}" : "Kopirano {origin} unutar {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "Kopirano {origin} i {nbfiles} ostalih datoteka unutar {destination}",
- "{newName} already exists" : "{newName} već postoji",
- "Could not rename \"{fileName}\", it does not exist any more" : "Neuspješno preimenovanje „{fileName}”, datoteka više ne postoji",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Naziv „{targetName}” upotrebljava se u mapi „{dir}”. Odaberite drugi naziv.",
- "Could not rename \"{fileName}\"" : "Neuspješno preimenovanje „{fileName}”",
- "Could not create file \"{file}\"" : "Nije moguće stvoriti datoteku „{file}”",
- "Could not create file \"{file}\" because it already exists" : "Nije moguće stvoriti datoteku „{file}” jer već postoji",
- "Could not create folder \"{dir}\" because it already exists" : "Nije moguće stvoriti mapu „{dir}” jer već postoji",
- "Could not fetch file details \"{file}\"" : "Neuspješno dohvaćanje pojedinosti o datoteci „{file}“",
- "Error deleting file \"{fileName}\"." : "Pogreška pri brisanju datoteke „{fileName}”.",
- "No search results in other folders for {tag}{filter}{endtag}" : "Nema rezultata pretraživanja u drugim mapama za {tag}{filter}{endtag}",
- "Enter more than two characters to search in other folders" : "Unesite više od dva znaka za pretraživanje u drugim mapama",
- "_%n folder_::_%n folders_" : ["%n mapa","%n mapa","%n mapa"],
- "_%n file_::_%n files_" : ["%n datoteka","%n datoteka","%n datoteka"],
- "{dirs} and {files}" : "{dirs} i {files}",
- "_including %n hidden_::_including %n hidden_" : ["uključujući %n skrivenih","uključujući %n skrivenih","uključujući %n skrivenih"],
- "_Uploading %n file_::_Uploading %n files_" : ["Otpremanje %n datoteku","Prenosim %n datoteka","Prenosim %n datoteka"],
- "New" : "Novo",
- "Select file range" : "Odaberi raspon datoteka",
- "{used} used" : "Iskorišteno {used}",
- "\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.",
- "File name cannot be empty." : "Naziv datoteke ne može biti prazan.",
- "\"/\" is not allowed inside a file name." : "„/” nije dopušteno unutar naziva datoteke.",
- "\"{name}\" is not an allowed filetype" : "„{name}” nije dopuštena vrsta datoteke",
- "Storage of {owner} is full, files cannot be updated or synced anymore!" : "Pohrana {owner} je puna, datoteke više nije moguće ažurirati niti sinkronizirati!",
- "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Mapa grupe „{mountPoint}“ je puna, datoteke više nije moguće ažurirati ni sinkronizirati!",
- "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Vanjsko spremište za pohranu „{mountPoint}“ je puno, datoteke više nije moguće ažurirati ni sinkronizirati!",
- "Your storage is full, files cannot be updated or synced anymore!" : "Vaša je pohrana puna, datoteke više nije moguće ažurirati ni sinkronizirati!",
- "Storage of {owner} is almost full ({usedSpacePercent}%)." : "Pohrana {owner} je skoro puna ({usedSpacePercent} %).",
- "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Mapa grupe „{mountPoint}“ je skoro puna ({usedSpacePercent} %).",
- "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Vanjsko spremište za pohranu „{mountPoint}“ je skoro puno ({usedSpacePercent} %).",
- "Your storage is almost full ({usedSpacePercent}%)." : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent} %).",
- "_matches \"{filter}\"_::_match \"{filter}\"_" : ["odgovara „{filter}“","podudaranje „{filter}“","podudaranje „{filter}“"],
- "Path" : "Put",
- "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtova","%n bajtova"],
- "Favorited" : "Favorit",
- "Copy direct link (only works for users who have access to this file/folder)" : "Kopiraj izravnu poveznicu (samo za korisnike koji smiju pristupiti ovoj datoteci/mapi)",
- "Upload file" : "Otpremi datoteku",
- "Not favorited" : "Nije označeno kao favorit",
- "An error occurred while trying to update the tags" : "Došlo je do pogreške prilikom ažuriranja oznaka",
- "\"remote user\"" : "„udaljeni korisnik”",
- "Name cannot be empty" : "Naziv ne može biti prazan",
- "Toggle %1$s sublist" : "Uključivanje/isključivanje potpopisa %1$s",
- "Text file" : "Tekstna datoteka",
- "New text file.txt" : "Nova tekstna datoteka.txt"
-},
-"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/files/l10n/hr.json b/apps/files/l10n/hr.json
deleted file mode 100644
index d1971b2a72f..00000000000
--- a/apps/files/l10n/hr.json
+++ /dev/null
@@ -1,214 +0,0 @@
-{ "translations": {
- "Added to favorites" : "Dodano u favorite",
- "Removed from favorites" : "Uklonjeno iz favorita",
- "You added {file} to your favorites" : "Dodali ste {file} u svoje favorite",
- "You removed {file} from your favorites" : "Uklonili ste {file} iz svojih favorita",
- "Favorites" : "Favoriti",
- "File changes" : "Promjene datoteka",
- "Created by {user}" : "Stvorio {user}",
- "Changed by {user}" : "Izmijenio {user}",
- "Deleted by {user}" : "Izbrisao {user}",
- "Restored by {user}" : "Vratio {user}",
- "Renamed by {user}" : "Preimenovao {user}",
- "Moved by {user}" : "Premjestio {user}",
- "You created {file}" : "Stvorili ste {file}",
- "You created an encrypted file in {file}" : "Stvorili ste šifriranu datoteku u {file}",
- "{user} created {file}" : "{user} je stvorio {file}",
- "{user} created an encrypted file in {file}" : "{user} je stvorio šifriranu datoteku u {file}",
- "{file} was created in a public folder" : "{file} je stvorena u javnoj mapi",
- "You changed {file}" : "Promijenili ste {file}",
- "You changed an encrypted file in {file}" : "Promijenili ste šifriranu datoteku u {file}",
- "{user} changed {file}" : "{user} je promijenio {file}",
- "{user} changed an encrypted file in {file}" : "{user} je promijenio šifriranu datoteku u {file}",
- "You deleted {file}" : "Izbrisali ste {file}",
- "You deleted an encrypted file in {file}" : "Izbrisali ste šifriranu datoteku u {file}",
- "{user} deleted {file}" : "{user} je izbrisao {file}",
- "{user} deleted an encrypted file in {file}" : "{user} je izbrisao šifriranu datoteku u {file}",
- "You restored {file}" : "Vratili ste {file}",
- "{user} restored {file}" : "{user} je vratio {file}",
- "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Preimenovali ste {oldfile} (skriveno) u {newfile} (skriveno)",
- "You renamed {oldfile} (hidden) to {newfile}" : "Preimenovali ste {oldfile} (skriveno) u {newfile}",
- "You renamed {oldfile} to {newfile} (hidden)" : "Preimenovali ste {oldfile} u {newfile} (skriveno)",
- "You renamed {oldfile} to {newfile}" : "Preimenovali ste {oldfile} u {newfile}",
- "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} je preimenovao {oldfile} (skriveno) u {newfile} (skriveno)",
- "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} je preimenovao {oldfile} (skriveno) u {newfile}",
- "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} je preimenovao {oldfile} u {newfile} (skriveno)",
- "{user} renamed {oldfile} to {newfile}" : "{user} je preimenovao {oldfile} u {newfile}",
- "You moved {oldfile} to {newfile}" : "Premjestili ste {oldfile} u {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} je premjestio {oldfile} u {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Datoteka je dodana ili uklonjena iz vaših <strong>favorita</strong>",
- "Files" : "Datoteke",
- "A file or folder has been <strong>changed</strong>" : "Datoteka ili mapa su <strong>promijenjeni</strong>",
- "A favorite file or folder has been <strong>changed</strong>" : "Omiljena datoteka ili mapa je <strong>promijenjena</strong>",
- "Upload (max. %s)" : "Otprema (maks. %s)",
- "Accept" : "Prihvati",
- "Reject" : "Odbij",
- "Incoming ownership transfer from {user}" : "Dolazni prijenos vlasništva od {user}",
- "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Želite li prihvatiti {path}?\n\nNapomena: nakon prihvaćanja prijenos može potrajati do sat vremena.",
- "Ownership transfer failed" : "Prijenos vlasništva nije uspio",
- "Your ownership transfer of {path} to {user} failed." : "Nije uspio vaš prijenos vlasništva {path} na {user}.",
- "The ownership transfer of {path} from {user} failed." : "Nije uspio prijenos vlasništva {path} od {user}.",
- "Ownership transfer done" : "Prijenos vlasništva je završen",
- "Your ownership transfer of {path} to {user} has completed." : "Vaš prijenos vlasništva {path} na {user} je završen.",
- "The ownership transfer of {path} from {user} has completed." : "Prijenos vlasništva {path} od {user} je završen.",
- "in %s" : "za %s",
- "File Management" : "Upravljanje datotekama",
- "Home" : "Početna",
- "Target folder does not exist any more" : "Ciljna mapa više ne postoji",
- "You don’t have permission to upload or create files here" : "Ovdje ne smijete otpremati ili stvarati datoteke",
- "Favorite" : "Favorit",
- "Filename" : "Naziv datoteke",
- "Folder name" : "Naziv mape",
- "Pending" : "Na čekanju",
- "Clear filter" : "Ukloni filtar",
- "Modified" : "Promijenjeno",
- "Type" : "Vrsta",
- "Name" : "Naziv",
- "Size" : "Veličina",
- "Actions" : "Radnje",
- "File not found" : "Datoteka nije pronađena",
- "{used} of {quota} used" : "Iskorišteno {used} od {quota}",
- "Your storage is full, files can not be updated or synced anymore!" : "Vaša je pohrana puna, datoteke više nije moguće ažurirati ni sinkronizirati!",
- "Create" : "Stvori",
- "New folder" : "Nova mapa",
- "Create new folder" : "Stvori novu mapu",
- "Submit" : "Šalji",
- "Transfer ownership of a file or folder" : "Prenesi vlasništvo nad datotekom ili mapom",
- "Choose file or folder to transfer" : "Odaberite datoteku ili mapu za prijenos",
- "Change" : "Promijeni",
- "New owner" : "Novi vlasnik",
- "Choose a file or folder to transfer" : "Odaberite datoteku ili mapu za prijenos",
- "Transfer" : "Prijenos",
- "Transfer {path} to {userid}" : "Prijenos {path} na {userid}",
- "Invalid path selected" : "Odabran nevažeći put",
- "Unknown error" : "Nepoznata pogreška",
- "Ownership transfer request sent" : "Zahtjev za prijenos vlasništva je poslan",
- "No files in here" : "Nema datoteka",
- "Upload some content or sync with your devices!" : "Otpremite neki sadržaj ili sinkronizirajte sa svojim uređajima!",
- "Go back" : "Natrag",
- "Share" : "Dijeli",
- "Shared by link" : "Podijeljeno putem poveznice",
- "Shared" : "Dijeljeno",
- "Switch to list view" : "Prebacite na prikaz popisa",
- "Not enough free space" : "Nema dovoljno slobodnog prostora",
- "Operation is blocked by access control" : "Radnju je blokirala kontrola pristupa",
- "Views" : "Prikazi",
- "Show hidden files" : "Prikaz skrivenih datoteka",
- "Crop image previews" : "Obreži pretpreglede slika",
- "Additional settings" : "Dodatne postavke",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Kopiraj u međuspremnik",
- "Use this address to access your Files via WebDAV" : "Upotrijebite ovu adresu za pristupanje svojim datotekama putem WebDAVa",
- "Remove from favorites" : "Ukloni iz favorita",
- "Add to favorites" : "Dodaj u favorite",
- "Tags" : "Oznake",
- "Unable to change the favourite state of the file" : "Nije moguće promijeniti status favorita datoteke",
- "Error while loading the file data" : "Pogreška pri učitavanju podataka iz datoteke",
- "Pick a template for {name}" : "Odaberite predložak za {name}",
- "Create a new file with the selected template" : "Stvorite novu datoteku s odabranim predloškom",
- "Creating file" : "Stvaranje datoteke",
- "Blank" : "Prazno",
- "Unable to create new file from template" : "Nije moguće stvoriti novu datoteku iz predloška",
- "Disconnect storage" : "Odspoji pohranu",
- "Delete permanently" : "Trajno izbrišite",
- "Delete file" : "Izbrisati datoteku",
- "Delete folder" : "Izbriši mapu",
- "Delete" : "Izbriši",
- "Cancel" : "Odustani",
- "Copy" : "Kopiraj",
- "Move" : "Premjesti",
- "Move or copy" : "Premjesti ili kopiraj",
- "Rename" : "Preimenuj",
- "Open details" : "Otvori pojedinosti",
- "View in folder" : "Prikaži u mapi",
- "Documents" : "Dokumenti",
- "Audio" : "Audio",
- "Videos" : "Videozapisi",
- "Unable to initialize the templates directory" : "Nije moguće inicijalizirati direktorij predložaka",
- "Templates" : "Predlošci",
- "Some files could not be moved" : "Neke datoteke nije moguće premjestiti",
- "This operation is forbidden" : "Ova radnja je zabranjena",
- "This directory is unavailable, please check the logs or contact the administrator" : "Ovaj direktorij je nedostupan, provjerite zapise ili se obratite administratoru",
- "Storage is temporarily not available" : "Pohrana privremeno nije dostupna",
- "No favorites yet" : "Još nema favorita",
- "Files and folders you mark as favorite will show up here" : "Ovdje će se prikazati datoteke i mape koje označite kao favorite",
- "All files" : "Sve datoteke",
- "Recent" : "Nedavni",
- "No entries found in this folder" : "U ovoj mapi nisu pronađeni nikakvi zapisi",
- "Select all" : "Odaberi sve",
- "Upload too large" : "Otprema je prevelika",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Datoteke koje pokušavate otpremiti premašuju maksimalnu veličinu za otpremu datoteka na ovom poslužitelju.",
- "File could not be found" : "Datoteka nije pronađena",
- "Download" : "Preuzmi",
- "Close" : "Zatvori",
- "Could not create folder \"{dir}\"" : "Nije moguće stvoriti mapu „{dir}”",
- "This will stop your current uploads." : "Ovo će zaustaviti vaše trenutačne otpreme.",
- "Upload cancelled." : "Otpremanje je prekinuto.",
- "Processing files …" : "Obrada datoteka...",
- "…" : "…",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nije moguće otpremiti {filename} jer je direktorij ili ima 0 bajta",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nedovoljno slobodnog prostora, otpremate {size1} a preostalo je samo {size2}",
- "Target folder \"{dir}\" does not exist any more" : "Ciljna mapa „{dir}” više ne postoji",
- "An unknown error has occurred" : "Došlo je do nepoznate pogreške",
- "Uploading …" : "Otpremanje...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} od {totalSize} ({bitrate})",
- "Uploading that item is not supported" : "Nije podržano otpremanje ove stavke",
- "Error when assembling chunks, status code {status}" : "Pogreška prilikom sastavljanja komada, šifra statusa {status}",
- "Choose target folder" : "Odaberi ciljnu mapu",
- "Open" : "Otvori",
- "Could not load info for file \"{file}\"" : "Nije moguće učitati podatke za datoteku „{file}”",
- "Details" : "Pojedinosti",
- "Unable to determine date" : "Nije moguće odrediti datum",
- "Could not move \"{file}\", target exists" : "Neuspješno premještanje „{file}”, ciljna datoteka postoji",
- "Could not move \"{file}\"" : "Neuspješno premještanje „{file}”",
- "copy" : "kopiraj",
- "Could not copy \"{file}\", target exists" : "Neuspješno kopiranje „{file}”, ciljna datoteka postoji",
- "Could not copy \"{file}\"" : "Neuspješno kopiranje „{file}”",
- "Copied {origin} inside {destination}" : "Kopirano {origin} unutar {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "Kopirano {origin} i {nbfiles} ostalih datoteka unutar {destination}",
- "{newName} already exists" : "{newName} već postoji",
- "Could not rename \"{fileName}\", it does not exist any more" : "Neuspješno preimenovanje „{fileName}”, datoteka više ne postoji",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Naziv „{targetName}” upotrebljava se u mapi „{dir}”. Odaberite drugi naziv.",
- "Could not rename \"{fileName}\"" : "Neuspješno preimenovanje „{fileName}”",
- "Could not create file \"{file}\"" : "Nije moguće stvoriti datoteku „{file}”",
- "Could not create file \"{file}\" because it already exists" : "Nije moguće stvoriti datoteku „{file}” jer već postoji",
- "Could not create folder \"{dir}\" because it already exists" : "Nije moguće stvoriti mapu „{dir}” jer već postoji",
- "Could not fetch file details \"{file}\"" : "Neuspješno dohvaćanje pojedinosti o datoteci „{file}“",
- "Error deleting file \"{fileName}\"." : "Pogreška pri brisanju datoteke „{fileName}”.",
- "No search results in other folders for {tag}{filter}{endtag}" : "Nema rezultata pretraživanja u drugim mapama za {tag}{filter}{endtag}",
- "Enter more than two characters to search in other folders" : "Unesite više od dva znaka za pretraživanje u drugim mapama",
- "_%n folder_::_%n folders_" : ["%n mapa","%n mapa","%n mapa"],
- "_%n file_::_%n files_" : ["%n datoteka","%n datoteka","%n datoteka"],
- "{dirs} and {files}" : "{dirs} i {files}",
- "_including %n hidden_::_including %n hidden_" : ["uključujući %n skrivenih","uključujući %n skrivenih","uključujući %n skrivenih"],
- "_Uploading %n file_::_Uploading %n files_" : ["Otpremanje %n datoteku","Prenosim %n datoteka","Prenosim %n datoteka"],
- "New" : "Novo",
- "Select file range" : "Odaberi raspon datoteka",
- "{used} used" : "Iskorišteno {used}",
- "\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.",
- "File name cannot be empty." : "Naziv datoteke ne može biti prazan.",
- "\"/\" is not allowed inside a file name." : "„/” nije dopušteno unutar naziva datoteke.",
- "\"{name}\" is not an allowed filetype" : "„{name}” nije dopuštena vrsta datoteke",
- "Storage of {owner} is full, files cannot be updated or synced anymore!" : "Pohrana {owner} je puna, datoteke više nije moguće ažurirati niti sinkronizirati!",
- "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Mapa grupe „{mountPoint}“ je puna, datoteke više nije moguće ažurirati ni sinkronizirati!",
- "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Vanjsko spremište za pohranu „{mountPoint}“ je puno, datoteke više nije moguće ažurirati ni sinkronizirati!",
- "Your storage is full, files cannot be updated or synced anymore!" : "Vaša je pohrana puna, datoteke više nije moguće ažurirati ni sinkronizirati!",
- "Storage of {owner} is almost full ({usedSpacePercent}%)." : "Pohrana {owner} je skoro puna ({usedSpacePercent} %).",
- "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Mapa grupe „{mountPoint}“ je skoro puna ({usedSpacePercent} %).",
- "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Vanjsko spremište za pohranu „{mountPoint}“ je skoro puno ({usedSpacePercent} %).",
- "Your storage is almost full ({usedSpacePercent}%)." : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent} %).",
- "_matches \"{filter}\"_::_match \"{filter}\"_" : ["odgovara „{filter}“","podudaranje „{filter}“","podudaranje „{filter}“"],
- "Path" : "Put",
- "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtova","%n bajtova"],
- "Favorited" : "Favorit",
- "Copy direct link (only works for users who have access to this file/folder)" : "Kopiraj izravnu poveznicu (samo za korisnike koji smiju pristupiti ovoj datoteci/mapi)",
- "Upload file" : "Otpremi datoteku",
- "Not favorited" : "Nije označeno kao favorit",
- "An error occurred while trying to update the tags" : "Došlo je do pogreške prilikom ažuriranja oznaka",
- "\"remote user\"" : "„udaljeni korisnik”",
- "Name cannot be empty" : "Naziv ne može biti prazan",
- "Toggle %1$s sublist" : "Uključivanje/isključivanje potpopisa %1$s",
- "Text file" : "Tekstna datoteka",
- "New text file.txt" : "Nova tekstna datoteka.txt"
-},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/hu.js b/apps/files/l10n/hu.js
index b6c27f0b669..24e9c70a523 100644
--- a/apps/files/l10n/hu.js
+++ b/apps/files/l10n/hu.js
@@ -49,8 +49,8 @@ OC.L10N.register(
"The file cannot be found" : "A fájl nem található",
"The destination path does not exist: %1$s" : "Az elérési útvonal nem létezik: %1$s",
"You do not have permission to create a file at the specified location" : "Nincs jogosultsága fájl létrehozására a megadott helyen",
- "The file could not be converted." : "A fájl nem konvertálható",
- "Could not get relative path to converted file" : "Nem sikerült lekérni a konvertált fájl relatív elérési útját",
+ "The file could not be converted." : "A fájl nem alakítható át.",
+ "Could not get relative path to converted file" : "Nem sikerült lekérni az átalakított fájl relatív elérési útját",
"Favorite files" : "Kedvenc fájlok",
"No favorites" : "Nincsenek kedvencek",
"More favorites" : "További kedvencek",
@@ -70,8 +70,10 @@ OC.L10N.register(
"Transferred from %1$s on %2$s" : "Átadva tőle: %1$s, ekkor %2$s",
"Files compatibility" : "Fájlok kompatibilitása",
"Allow to restrict filenames to ensure files can be synced with all clients. By default all filenames valid on POSIX (e.g. Linux or macOS) are allowed." : "Fájlnevek korlátozásának engedélyezése, amely biztosítja, hogy a fájlok szinkronizálhatók legyenek az összes klienssel. Alapállapotban az összes fájlnév engedélyezett, amely a POSIX (mint a Linux vagy a macOS) rendszereken érvényes.",
- "Enforce Windows compatibility" : "Windows kompatibilitás kényszerítése",
- "This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity." : "Ez megakadályozza a Windows rendszereken érvénytelen fájlneveket, mint például foglalt neveket vagy speciális karaktereket. De ez nem fogja érvényesíteni a kisbetű és nagybetű kompatibilitást.",
+ "After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "A Windows-kompatibilis fájlnevek engedélyezése után a meglévő fájlok már nem módosíthatóak, de a tulajdonosaik átnevezhetik őket érvényes új fájlnevekre.",
+ "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Továbbá lehetséges a fájlok automatikus átköltöztetése is a beállítás engedélyezése után, kövesse az occ parancs dokumentációját.",
+ "Enforce Windows compatibility" : "Windows-kompatibilitás kényszerítése",
+ "This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity." : "Ez megakadályozza a Windows rendszereken érvénytelen fájlneveket, mint például a foglalt neveket vagy a speciális karaktereket. De ez nem fogja érvényesíteni a kis- és nagybetűk egyezőnek tekintését.",
"File Management" : "Fájlkezelés",
"Home" : "Saját mappa",
"Target folder does not exist any more" : "A célmappa már nem létezik",
@@ -79,6 +81,7 @@ OC.L10N.register(
"Go to the \"{dir}\" directory" : "Ugrás a(z) „{dir}” könyvtárhoz",
"Current directory path" : "Jelenlegi könyvtár útvonala",
"Your have used your space quota and cannot upload files anymore" : "Már felhasználta a tárhelykvótáját, így már nem tölthet fel fájlokat",
+ "You do not have permission to upload or create files here." : "Nincs jogosultsága, hogy fájlokat töltsön fel és hozzon létre itt.",
"Drag and drop files here to upload" : "Húzza ide a fájlokat a feltöltéshez",
"Favorite" : "Kedvenc",
"Back" : "Vissza",
@@ -94,6 +97,11 @@ OC.L10N.register(
"Renamed \"{oldName}\" to \"{newName}\"" : "A(z) „{oldName}” átnevezve erre: „{newName}”",
"Rename file" : "Fájl átnevezése",
"Folder" : "Mappa",
+ "Unknown file type" : "Ismeretlen fájltípus",
+ "{ext} image" : "{ext}-kép",
+ "{ext} video" : "{ext}-videó",
+ "{ext} audio" : "{ext}-hang",
+ "{ext} text" : "{ext}-szöveg",
"Pending" : "Függőben",
"Unknown date" : "Ismeretlen dátum",
"Clear filter" : "Szűrő törlése",
@@ -104,7 +112,9 @@ OC.L10N.register(
"Total rows summary" : "Összes sor összegzése",
"Toggle selection for all files and folders" : "Minden fájl és mappa kijelölésének átváltása",
"Name" : "Név",
+ "File type" : "Fájltípus",
"Size" : "Méret",
+ "\"{displayName}\" failed on some elements" : "A(z) „{displayName}” egyes elemeken nem sikerült",
"\"{displayName}\" batch action executed successfully" : "A(z) „{displayName}” tömeges művelet sikeresen végrehajtva",
"\"{displayName}\" action failed" : "A(z) „{displayName}” művelet sikertelen",
"Actions" : "Műveletek",
@@ -114,6 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "A gombot tartalmazó oszlopfejlécek rendezhetők.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Ez a lista teljesítménybeli okokból nincs teljes egészében megjelenítve. A fájlok a listában navigálás során jelennek meg.",
"File not found" : "A fájl nem található",
+ "_{count} selected_::_{count} selected_" : ["{count} kijelölve","{count} kijelölve"],
"{usedQuotaByte} used" : "{usedQuotaByte} felhasználva",
"{used} of {quota} used" : "{used} / {quota} felhasználva",
"{relative}% used" : "{relative}% felhasználva",
@@ -126,6 +137,7 @@ OC.L10N.register(
"This name is already in use." : "Ez a név már foglalt.",
"Create" : "Létrehozás",
"Fill template fields" : "Töltse ki a sablon mezőit",
+ "Submitting fields …" : "Mezők beküldése…",
"Submit" : "Beküldés",
"Choose a file or folder to transfer" : "Válassz egy átruházandó fájlt vagy mappát",
"Transfer" : "Átruházás",
@@ -139,11 +151,14 @@ OC.L10N.register(
"Change" : "Módosítás",
"New owner" : "Új tulajdonos",
"Keep {old}" : "{old} megtartása",
+ "Keep without extension" : "Megtartás kiterjesztés nélkül",
+ "Use {new}" : "{new} használata",
"Remove extension" : "Kiterjesztés eltávolítása",
"Change file extension" : "Kiterjesztés módosítása",
- "Changing the file extension from \"{old}\" to \"{new}\" may render the file unreadable." : "Ha a file kiterjesztését megváltoztatod erről: \"{old}\" erre: \"{new}\", akkor előfordulhat, hogy aztán nem lehet majd megnyitni.",
- "Removing the file extension \"{old}\" may render the file unreadable." : "Ha leveszed a file kiterjesztését: \"{old}\", akkor előfordulhat, hogy aztán nem lehet majd megnyitni.",
- "Adding the file extension \"{new}\" may render the file unreadable." : "Ha hozzáadod ezt a kiterjesztést: \"{new}\", akkor előfordulhat, hogy aztán nem lehet majd megnyitni.",
+ "Changing the file extension from \"{old}\" to \"{new}\" may render the file unreadable." : "A fájl „{old}” kiterjesztésről „{new}” kiterjesztésre változtatása olvashatatlanná teheti azt.",
+ "Removing the file extension \"{old}\" may render the file unreadable." : "A fájl „{old}” kiterjesztésének eltávolítása olvashatatlanná teheti azt.",
+ "Adding the file extension \"{new}\" may render the file unreadable." : "A fájl „{new}” kiterjesztésének hozzáadása olvashatatlanná teheti azt.",
+ "Do not show this dialog again." : "Ne jelenítse meg újra ezt a párbeszédablakot.",
"Select file or folder to link to" : "Válassza ki a hivatkozandó fájlt vagy mappát",
"Choose {file}" : "{file} kiválasztása",
"Share" : "Megosztás",
@@ -151,6 +166,7 @@ OC.L10N.register(
"Shared" : "Megosztva",
"Switch to list view" : "Váltás listanézetre",
"Switch to grid view" : "Váltás rácsnézetre",
+ "The file could not be found" : "A fájl nem található",
"Upload was cancelled by user" : "Feltöltés megszakítva a felhasználó által",
"Not enough free space" : "Nincs elég szabad hely",
"Operation is blocked by access control" : "A hozzáférés-vezérlés letiltotta a műveletet",
@@ -163,6 +179,7 @@ OC.L10N.register(
"No files in here" : "Itt nincsenek fájlok",
"Upload some content or sync with your devices!" : "Töltsön fel néhány tartalmat, vagy szinkronizáljon az eszközeivel.",
"Go back" : "Visszalépés",
+ "Filter file names …" : "Fájlnevek szűrése…",
"Views" : "Nézetek",
"Files settings" : "Fájlok beállításai",
"Your files" : "Saját fájlok",
@@ -174,6 +191,7 @@ OC.L10N.register(
"Sort favorites first" : "Kedvencek előre rendezése",
"Sort folders before files" : "Mappák fájlok elé rendezése",
"Show hidden files" : "Rejtett fájlok megjelenítése",
+ "Show file type column" : "Fájltípus oszlop megjelenítése",
"Crop image previews" : "Kép előnézetek vágása",
"Enable the grid view" : "Rácsnézet engedélyezése",
"Enable folder tree" : "Mappafa engedélyezése",
@@ -183,8 +201,11 @@ OC.L10N.register(
"Copy to clipboard" : "Másolás a vágólapra",
"Use this address to access your Files via WebDAV" : "Ezzel a címmel férhet hozzá a Fájlokhoz a WebDAV-on keresztül",
"If you have enabled 2FA, you must create and use a new app password by clicking here." : "Ha engedélyezte a kétfaktoros hitelesítést, akkor kattintson ide, hogy létrehozzon egy új alkalmazásjelszót, és azt használja.",
+ "Warnings" : "Figyelmeztetések",
+ "Prevent warning dialogs from open or reenable them." : "Figyelmeztető párbeszédablakok megnyitásának megakadályozása vagy engedélyezése.",
+ "Show a warning dialog when changing a file extension." : "Figyelmeztető párbeszédablakok megnyitása a fájlkiterjesztés módosításakor.",
"Keyboard shortcuts" : "Gyorsbillentyűk",
- "Speed up your Files experience with these quick shortcuts." : "Gyorsítsa fel a Fájlböngészést ezekkel a billentyűparancsokkal.",
+ "Speed up your Files experience with these quick shortcuts." : "Gyorsítsa fel a fájlböngészést ezekkel a billentyűparancsokkal.",
"Open the actions menu for a file" : "Nyissa meg a fájl műveletek menüjét",
"Rename a file" : "Fájl átnevezése",
"Delete a file" : "Fájl törlése",
@@ -207,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "Gyorsbillentyűk megjelenítése",
"You" : "Ön",
"Shared multiple times with different people" : "Többször megosztva különböző személyekkel",
+ "Unable to change the favorite state of the file" : "Nem lehet megváltoztatni a fájl kedvenc állapotát",
"Error while loading the file data" : "Hiba történt a fájladatok betöltése közben",
"Owner" : "Tulajdonos",
"Remove from favorites" : "Eltávolítás a kedvencekből",
@@ -219,14 +241,18 @@ OC.L10N.register(
"Creating file" : "Fájl létrehozása",
"Save as {displayName}" : "Mentés mint {displayName}",
"Save as …" : "Mentés másként…",
- "Failed to convert files: {message}" : "A fájlok konvertálása sikertelen: {message}",
- "All files failed to be converted" : "Az összes fájl konvertálása sikertelen",
- "One file could not be converted: {message}" : "Egy fájl nem konvertálható: {message}",
- "Files successfully converted" : "Fájlok sikeresen konvertálva",
- "Failed to convert files" : "A fájlok konvertálása sikertelen",
- "File successfully converted" : "Fájl sikeresen konvertálva",
- "Failed to convert file: {message}" : "A fájl konvertálása sikertelen: {message}",
- "Failed to convert file" : "A fájl konvertálása sikertelen",
+ "Converting files …" : "Fájlok átalakítása…",
+ "Failed to convert files: {message}" : "A fájlok átalakítása sikertelen: {message}",
+ "All files failed to be converted" : "Az összes fájl átalakítása sikertelen",
+ "One file could not be converted: {message}" : "Egy fájl nem alakítható át: {message}",
+ "_One file could not be converted_::_%n files could not be converted_" : ["Egy fájl nem alakítható át","%n fájl nem alakítható át"],
+ "_One file successfully converted_::_%n files successfully converted_" : ["Egy fájl sikeresen átalakítva","%n fájl sikeresen átalakítva"],
+ "Files successfully converted" : "Fájlok sikeresen átalakítva",
+ "Failed to convert files" : "A fájlok átalakítása sikertelen",
+ "Converting file …" : "Fájl átalakítása…",
+ "File successfully converted" : "Fájl sikeresen átalakítva",
+ "Failed to convert file: {message}" : "A fájl átalakítása sikertelen: {message}",
+ "Failed to convert file" : "A fájl átalakítása sikertelen",
"Deletion cancelled" : "Törlés megszakítva",
"Leave this share" : "Megosztás elhagyása",
"Leave these shares" : "Megosztások elhagyása",
@@ -243,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["{count} elem törlésére készül","{count} elem törlésére készül"],
"Confirm deletion" : "Törlés megerősítése",
"Cancel" : "Mégse",
+ "Download" : "Letöltés",
"Moving \"{source}\" to \"{destination}\" …" : "„{source}” áthelyezése ide: „{destination}” …",
"Copying \"{source}\" to \"{destination}\" …" : "„{source}” másolása ide: „{destination}” …",
+ "Destination is not a folder" : "A cél nem mappa",
+ "This file/folder is already in that directory" : "Ez a fájl/mappa már létezik a mappában",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "A fájl/mappa önmagába, vagy saját almappájába áthelyezése nem lehetséges",
"(copy)" : "(másolat)",
"(copy %n)" : "(%n. másolat)",
@@ -268,6 +297,7 @@ OC.L10N.register(
"Open file locally" : "A fájl megnyitása helyben",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "A fájlnak most már meg kellene nyílni az eszközén. Ha mégsem, ellenőrizze, hogy telepítve van-e az asztali alkalmazás.",
"Retry and close" : "Újrapróbálás és bezárás",
+ "Open online" : "Megnyitás online",
"Rename" : "Átnevezés",
"Open details" : "Részletek megnyitása",
"View in folder" : "Megtekintés mappában",
@@ -293,24 +323,28 @@ OC.L10N.register(
"In folder" : "Könyvtárban",
"Search in folder: {folder}" : "Keresés a mappában: {folder}",
"One of the dropped files could not be processed" : "Egy vagy több idehúzott fájl nem dolgozható fel",
- "Your browser does not support the Filesystem API. Directories will not be uploaded" : "Az Ön böngészője nem támogatja a fájlrendszer API-t. Könyvtárak nem lesznek feltöltve.",
+ "Your browser does not support the Filesystem API. Directories will not be uploaded" : "A böngészője nem támogatja a fájlrendszer API-t. Könyvtárak nem lesznek feltöltve.",
"No files to upload" : "Nincsenek feltöltendő fájlok",
"Unable to create the directory {directory}" : "Nem hozható létre a(z) {directory} könyvtár",
"Some files could not be uploaded" : "Néhány fájlt nem lehet feltölteni",
"Files uploaded successfully" : "Fájlok sikeresen feltöltve",
- "No files to process" : "Nincsenek feldolgozandó fájlok ",
+ "No files to process" : "Nincsenek feldolgozandó fájlok",
"Some files could not be copied" : "Néhány fájlt nem lehetett másolni",
"Some files could not be moved" : "Néhány fájlt nem lehetett áthelyezni",
"Files copied successfully" : "A fájlok másolása sikeres",
"Files moved successfully" : "A fájlok áthelyezése sikeres",
"Conflicts resolution skipped" : "Konfliktusfeloldás kihagyva",
"Upload cancelled" : "Feltöltés megszakítva",
+ "Could not rename \"{oldName}\", it does not exist any more" : "A(z) „{oldName}” nem nevezhető át, mert már nem létezik",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "A(z) „{newName}” név már használatban van a(z) „{dir}” mappában. Válasszon másik nevet.",
+ "Could not rename \"{oldName}\"" : "A(z) „{oldName}” nem nevezhető át",
"This operation is forbidden" : "Ez a művelet tiltott",
"This directory is unavailable, please check the logs or contact the administrator" : "Ez a könyvtár nem érhető el, nézze meg a naplófájlokat vagy lépjen kapcsolatba az adminisztrátorral",
"Storage is temporarily not available" : "A tároló átmenetileg nem érhető el",
"Unexpected error: {error}" : "Váratlan hiba: {error}",
"_%n file_::_%n files_" : ["%n fájl","%n fájl"],
"_%n folder_::_%n folders_" : ["%n mappa","%n mappa"],
+ "_%n hidden_::_%n hidden_" : ["%n rejtett","%n rejtett"],
"Filename must not be empty." : "A fájlnév nem lehet üres.",
"\"{char}\" is not allowed inside a filename." : "„{char}” nem szerepelhet a fájlnévben.",
"\"{segment}\" is a reserved name and not allowed for filenames." : "A(z) „{segment}” egy fenntartott név és fájlnevek esetén nem engedélyezett.",
@@ -335,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "A feltöltés túl nagy",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "A feltölteni próbált fájlok mérete meghaladja a kiszolgálón megengedett legnagyobb méretet.",
"File could not be found" : "A fájl nem található",
- "Download" : "Letöltés",
"Show list view" : "Listanézet megjelenítése",
"Show grid view" : "Rácsnézet megjelenítése",
"Close" : "Bezárás",
@@ -374,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "A(z) {origin} átmásolva ide: {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "A(z) {origin} és {nbfiles} egyéb fájl átmásolva ide: {destination}",
"{newName} already exists" : "A(z) {newName} már létezik",
- "Could not rename \"{oldName}\", it does not exist any more" : "A(z) „{oldName}” nem nevezhető át, mert már nem létezik",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "A(z) „{newName}” név már használatban van a(z) „{dir}” mappában. Válasszon másik nevet.",
- "Could not rename \"{oldName}\"" : "A(z) „{oldName}” nem nevezhető át",
"Could not create file \"{file}\"" : "A(z) „{file}” nem hozható létre",
"Could not create file \"{file}\" because it already exists" : "A(z) „{file}” fájl nem hozható létre, mert már létezik",
"Could not create folder \"{dir}\" because it already exists" : "A(z) „{dir}” mappa nem hozható létre, mert már létezik",
@@ -397,7 +427,7 @@ OC.L10N.register(
"File name cannot be empty." : "A fájlnév nem lehet üres.",
"\"/\" is not allowed inside a file name." : "„/” nem szerepelhet fájlnévben.",
"\"{name}\" is not an allowed filetype" : "A(z) „{name}” nem engedélyezett fájltípus",
- "Storage of {owner} is full, files cannot be updated or synced anymore!" : "{owner} tárolója megtelt, a fájlok többé nem frissíthetők és szinkronizálhatók.q",
+ "Storage of {owner} is full, files cannot be updated or synced anymore!" : "{owner} tárolója megtelt, a fájlok többé nem frissíthetők és szinkronizálhatók.",
"Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "A(z) „{mountPoint}” csoportmappa megtelt, a fájlok többé nem frissíthetők vagy szinkronizálhatók.",
"External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "A(z) „{mountPoint}” külső tároló megtelt, a fájlok többé nem frissíthetők vagy szinkronizálhatók.",
"Your storage is full, files cannot be updated or synced anymore!" : "A tárhelye megtelt, a fájlok többé nem frissíthetők vagy szinkronizálhatók.",
@@ -426,7 +456,8 @@ OC.L10N.register(
"Personal Files" : "Személyes fájlok",
"Text file" : "Szövegfájl",
"New text file.txt" : "Új szövegfájl.txt",
- "{count} files could not be converted" : "{count} fájl nem konvertálható",
- "{count} files successfully converted" : "{count} fájl sikeresen konvertálva"
+ "%1$s (renamed)" : "%1$s (átnevezve)",
+ "renamed file" : "átnevezett fájl",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "A Windows-kompatibilis fájlnevek engedélyezése után a meglévő fájlok már nem módosíthatóak, de a tulajdonosaik átnevezhetik őket érvényes új nevekre."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/hu.json b/apps/files/l10n/hu.json
index 85f8cb27626..e291c309b34 100644
--- a/apps/files/l10n/hu.json
+++ b/apps/files/l10n/hu.json
@@ -47,8 +47,8 @@
"The file cannot be found" : "A fájl nem található",
"The destination path does not exist: %1$s" : "Az elérési útvonal nem létezik: %1$s",
"You do not have permission to create a file at the specified location" : "Nincs jogosultsága fájl létrehozására a megadott helyen",
- "The file could not be converted." : "A fájl nem konvertálható",
- "Could not get relative path to converted file" : "Nem sikerült lekérni a konvertált fájl relatív elérési útját",
+ "The file could not be converted." : "A fájl nem alakítható át.",
+ "Could not get relative path to converted file" : "Nem sikerült lekérni az átalakított fájl relatív elérési útját",
"Favorite files" : "Kedvenc fájlok",
"No favorites" : "Nincsenek kedvencek",
"More favorites" : "További kedvencek",
@@ -68,8 +68,10 @@
"Transferred from %1$s on %2$s" : "Átadva tőle: %1$s, ekkor %2$s",
"Files compatibility" : "Fájlok kompatibilitása",
"Allow to restrict filenames to ensure files can be synced with all clients. By default all filenames valid on POSIX (e.g. Linux or macOS) are allowed." : "Fájlnevek korlátozásának engedélyezése, amely biztosítja, hogy a fájlok szinkronizálhatók legyenek az összes klienssel. Alapállapotban az összes fájlnév engedélyezett, amely a POSIX (mint a Linux vagy a macOS) rendszereken érvényes.",
- "Enforce Windows compatibility" : "Windows kompatibilitás kényszerítése",
- "This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity." : "Ez megakadályozza a Windows rendszereken érvénytelen fájlneveket, mint például foglalt neveket vagy speciális karaktereket. De ez nem fogja érvényesíteni a kisbetű és nagybetű kompatibilitást.",
+ "After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "A Windows-kompatibilis fájlnevek engedélyezése után a meglévő fájlok már nem módosíthatóak, de a tulajdonosaik átnevezhetik őket érvényes új fájlnevekre.",
+ "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Továbbá lehetséges a fájlok automatikus átköltöztetése is a beállítás engedélyezése után, kövesse az occ parancs dokumentációját.",
+ "Enforce Windows compatibility" : "Windows-kompatibilitás kényszerítése",
+ "This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity." : "Ez megakadályozza a Windows rendszereken érvénytelen fájlneveket, mint például a foglalt neveket vagy a speciális karaktereket. De ez nem fogja érvényesíteni a kis- és nagybetűk egyezőnek tekintését.",
"File Management" : "Fájlkezelés",
"Home" : "Saját mappa",
"Target folder does not exist any more" : "A célmappa már nem létezik",
@@ -77,6 +79,7 @@
"Go to the \"{dir}\" directory" : "Ugrás a(z) „{dir}” könyvtárhoz",
"Current directory path" : "Jelenlegi könyvtár útvonala",
"Your have used your space quota and cannot upload files anymore" : "Már felhasználta a tárhelykvótáját, így már nem tölthet fel fájlokat",
+ "You do not have permission to upload or create files here." : "Nincs jogosultsága, hogy fájlokat töltsön fel és hozzon létre itt.",
"Drag and drop files here to upload" : "Húzza ide a fájlokat a feltöltéshez",
"Favorite" : "Kedvenc",
"Back" : "Vissza",
@@ -92,6 +95,11 @@
"Renamed \"{oldName}\" to \"{newName}\"" : "A(z) „{oldName}” átnevezve erre: „{newName}”",
"Rename file" : "Fájl átnevezése",
"Folder" : "Mappa",
+ "Unknown file type" : "Ismeretlen fájltípus",
+ "{ext} image" : "{ext}-kép",
+ "{ext} video" : "{ext}-videó",
+ "{ext} audio" : "{ext}-hang",
+ "{ext} text" : "{ext}-szöveg",
"Pending" : "Függőben",
"Unknown date" : "Ismeretlen dátum",
"Clear filter" : "Szűrő törlése",
@@ -102,7 +110,9 @@
"Total rows summary" : "Összes sor összegzése",
"Toggle selection for all files and folders" : "Minden fájl és mappa kijelölésének átváltása",
"Name" : "Név",
+ "File type" : "Fájltípus",
"Size" : "Méret",
+ "\"{displayName}\" failed on some elements" : "A(z) „{displayName}” egyes elemeken nem sikerült",
"\"{displayName}\" batch action executed successfully" : "A(z) „{displayName}” tömeges művelet sikeresen végrehajtva",
"\"{displayName}\" action failed" : "A(z) „{displayName}” művelet sikertelen",
"Actions" : "Műveletek",
@@ -112,6 +122,7 @@
"Column headers with buttons are sortable." : "A gombot tartalmazó oszlopfejlécek rendezhetők.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Ez a lista teljesítménybeli okokból nincs teljes egészében megjelenítve. A fájlok a listában navigálás során jelennek meg.",
"File not found" : "A fájl nem található",
+ "_{count} selected_::_{count} selected_" : ["{count} kijelölve","{count} kijelölve"],
"{usedQuotaByte} used" : "{usedQuotaByte} felhasználva",
"{used} of {quota} used" : "{used} / {quota} felhasználva",
"{relative}% used" : "{relative}% felhasználva",
@@ -124,6 +135,7 @@
"This name is already in use." : "Ez a név már foglalt.",
"Create" : "Létrehozás",
"Fill template fields" : "Töltse ki a sablon mezőit",
+ "Submitting fields …" : "Mezők beküldése…",
"Submit" : "Beküldés",
"Choose a file or folder to transfer" : "Válassz egy átruházandó fájlt vagy mappát",
"Transfer" : "Átruházás",
@@ -137,11 +149,14 @@
"Change" : "Módosítás",
"New owner" : "Új tulajdonos",
"Keep {old}" : "{old} megtartása",
+ "Keep without extension" : "Megtartás kiterjesztés nélkül",
+ "Use {new}" : "{new} használata",
"Remove extension" : "Kiterjesztés eltávolítása",
"Change file extension" : "Kiterjesztés módosítása",
- "Changing the file extension from \"{old}\" to \"{new}\" may render the file unreadable." : "Ha a file kiterjesztését megváltoztatod erről: \"{old}\" erre: \"{new}\", akkor előfordulhat, hogy aztán nem lehet majd megnyitni.",
- "Removing the file extension \"{old}\" may render the file unreadable." : "Ha leveszed a file kiterjesztését: \"{old}\", akkor előfordulhat, hogy aztán nem lehet majd megnyitni.",
- "Adding the file extension \"{new}\" may render the file unreadable." : "Ha hozzáadod ezt a kiterjesztést: \"{new}\", akkor előfordulhat, hogy aztán nem lehet majd megnyitni.",
+ "Changing the file extension from \"{old}\" to \"{new}\" may render the file unreadable." : "A fájl „{old}” kiterjesztésről „{new}” kiterjesztésre változtatása olvashatatlanná teheti azt.",
+ "Removing the file extension \"{old}\" may render the file unreadable." : "A fájl „{old}” kiterjesztésének eltávolítása olvashatatlanná teheti azt.",
+ "Adding the file extension \"{new}\" may render the file unreadable." : "A fájl „{new}” kiterjesztésének hozzáadása olvashatatlanná teheti azt.",
+ "Do not show this dialog again." : "Ne jelenítse meg újra ezt a párbeszédablakot.",
"Select file or folder to link to" : "Válassza ki a hivatkozandó fájlt vagy mappát",
"Choose {file}" : "{file} kiválasztása",
"Share" : "Megosztás",
@@ -149,6 +164,7 @@
"Shared" : "Megosztva",
"Switch to list view" : "Váltás listanézetre",
"Switch to grid view" : "Váltás rácsnézetre",
+ "The file could not be found" : "A fájl nem található",
"Upload was cancelled by user" : "Feltöltés megszakítva a felhasználó által",
"Not enough free space" : "Nincs elég szabad hely",
"Operation is blocked by access control" : "A hozzáférés-vezérlés letiltotta a műveletet",
@@ -161,6 +177,7 @@
"No files in here" : "Itt nincsenek fájlok",
"Upload some content or sync with your devices!" : "Töltsön fel néhány tartalmat, vagy szinkronizáljon az eszközeivel.",
"Go back" : "Visszalépés",
+ "Filter file names …" : "Fájlnevek szűrése…",
"Views" : "Nézetek",
"Files settings" : "Fájlok beállításai",
"Your files" : "Saját fájlok",
@@ -172,6 +189,7 @@
"Sort favorites first" : "Kedvencek előre rendezése",
"Sort folders before files" : "Mappák fájlok elé rendezése",
"Show hidden files" : "Rejtett fájlok megjelenítése",
+ "Show file type column" : "Fájltípus oszlop megjelenítése",
"Crop image previews" : "Kép előnézetek vágása",
"Enable the grid view" : "Rácsnézet engedélyezése",
"Enable folder tree" : "Mappafa engedélyezése",
@@ -181,8 +199,11 @@
"Copy to clipboard" : "Másolás a vágólapra",
"Use this address to access your Files via WebDAV" : "Ezzel a címmel férhet hozzá a Fájlokhoz a WebDAV-on keresztül",
"If you have enabled 2FA, you must create and use a new app password by clicking here." : "Ha engedélyezte a kétfaktoros hitelesítést, akkor kattintson ide, hogy létrehozzon egy új alkalmazásjelszót, és azt használja.",
+ "Warnings" : "Figyelmeztetések",
+ "Prevent warning dialogs from open or reenable them." : "Figyelmeztető párbeszédablakok megnyitásának megakadályozása vagy engedélyezése.",
+ "Show a warning dialog when changing a file extension." : "Figyelmeztető párbeszédablakok megnyitása a fájlkiterjesztés módosításakor.",
"Keyboard shortcuts" : "Gyorsbillentyűk",
- "Speed up your Files experience with these quick shortcuts." : "Gyorsítsa fel a Fájlböngészést ezekkel a billentyűparancsokkal.",
+ "Speed up your Files experience with these quick shortcuts." : "Gyorsítsa fel a fájlböngészést ezekkel a billentyűparancsokkal.",
"Open the actions menu for a file" : "Nyissa meg a fájl műveletek menüjét",
"Rename a file" : "Fájl átnevezése",
"Delete a file" : "Fájl törlése",
@@ -205,6 +226,7 @@
"Show those shortcuts" : "Gyorsbillentyűk megjelenítése",
"You" : "Ön",
"Shared multiple times with different people" : "Többször megosztva különböző személyekkel",
+ "Unable to change the favorite state of the file" : "Nem lehet megváltoztatni a fájl kedvenc állapotát",
"Error while loading the file data" : "Hiba történt a fájladatok betöltése közben",
"Owner" : "Tulajdonos",
"Remove from favorites" : "Eltávolítás a kedvencekből",
@@ -217,14 +239,18 @@
"Creating file" : "Fájl létrehozása",
"Save as {displayName}" : "Mentés mint {displayName}",
"Save as …" : "Mentés másként…",
- "Failed to convert files: {message}" : "A fájlok konvertálása sikertelen: {message}",
- "All files failed to be converted" : "Az összes fájl konvertálása sikertelen",
- "One file could not be converted: {message}" : "Egy fájl nem konvertálható: {message}",
- "Files successfully converted" : "Fájlok sikeresen konvertálva",
- "Failed to convert files" : "A fájlok konvertálása sikertelen",
- "File successfully converted" : "Fájl sikeresen konvertálva",
- "Failed to convert file: {message}" : "A fájl konvertálása sikertelen: {message}",
- "Failed to convert file" : "A fájl konvertálása sikertelen",
+ "Converting files …" : "Fájlok átalakítása…",
+ "Failed to convert files: {message}" : "A fájlok átalakítása sikertelen: {message}",
+ "All files failed to be converted" : "Az összes fájl átalakítása sikertelen",
+ "One file could not be converted: {message}" : "Egy fájl nem alakítható át: {message}",
+ "_One file could not be converted_::_%n files could not be converted_" : ["Egy fájl nem alakítható át","%n fájl nem alakítható át"],
+ "_One file successfully converted_::_%n files successfully converted_" : ["Egy fájl sikeresen átalakítva","%n fájl sikeresen átalakítva"],
+ "Files successfully converted" : "Fájlok sikeresen átalakítva",
+ "Failed to convert files" : "A fájlok átalakítása sikertelen",
+ "Converting file …" : "Fájl átalakítása…",
+ "File successfully converted" : "Fájl sikeresen átalakítva",
+ "Failed to convert file: {message}" : "A fájl átalakítása sikertelen: {message}",
+ "Failed to convert file" : "A fájl átalakítása sikertelen",
"Deletion cancelled" : "Törlés megszakítva",
"Leave this share" : "Megosztás elhagyása",
"Leave these shares" : "Megosztások elhagyása",
@@ -241,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["{count} elem törlésére készül","{count} elem törlésére készül"],
"Confirm deletion" : "Törlés megerősítése",
"Cancel" : "Mégse",
+ "Download" : "Letöltés",
"Moving \"{source}\" to \"{destination}\" …" : "„{source}” áthelyezése ide: „{destination}” …",
"Copying \"{source}\" to \"{destination}\" …" : "„{source}” másolása ide: „{destination}” …",
+ "Destination is not a folder" : "A cél nem mappa",
+ "This file/folder is already in that directory" : "Ez a fájl/mappa már létezik a mappában",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "A fájl/mappa önmagába, vagy saját almappájába áthelyezése nem lehetséges",
"(copy)" : "(másolat)",
"(copy %n)" : "(%n. másolat)",
@@ -266,6 +295,7 @@
"Open file locally" : "A fájl megnyitása helyben",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "A fájlnak most már meg kellene nyílni az eszközén. Ha mégsem, ellenőrizze, hogy telepítve van-e az asztali alkalmazás.",
"Retry and close" : "Újrapróbálás és bezárás",
+ "Open online" : "Megnyitás online",
"Rename" : "Átnevezés",
"Open details" : "Részletek megnyitása",
"View in folder" : "Megtekintés mappában",
@@ -291,24 +321,28 @@
"In folder" : "Könyvtárban",
"Search in folder: {folder}" : "Keresés a mappában: {folder}",
"One of the dropped files could not be processed" : "Egy vagy több idehúzott fájl nem dolgozható fel",
- "Your browser does not support the Filesystem API. Directories will not be uploaded" : "Az Ön böngészője nem támogatja a fájlrendszer API-t. Könyvtárak nem lesznek feltöltve.",
+ "Your browser does not support the Filesystem API. Directories will not be uploaded" : "A böngészője nem támogatja a fájlrendszer API-t. Könyvtárak nem lesznek feltöltve.",
"No files to upload" : "Nincsenek feltöltendő fájlok",
"Unable to create the directory {directory}" : "Nem hozható létre a(z) {directory} könyvtár",
"Some files could not be uploaded" : "Néhány fájlt nem lehet feltölteni",
"Files uploaded successfully" : "Fájlok sikeresen feltöltve",
- "No files to process" : "Nincsenek feldolgozandó fájlok ",
+ "No files to process" : "Nincsenek feldolgozandó fájlok",
"Some files could not be copied" : "Néhány fájlt nem lehetett másolni",
"Some files could not be moved" : "Néhány fájlt nem lehetett áthelyezni",
"Files copied successfully" : "A fájlok másolása sikeres",
"Files moved successfully" : "A fájlok áthelyezése sikeres",
"Conflicts resolution skipped" : "Konfliktusfeloldás kihagyva",
"Upload cancelled" : "Feltöltés megszakítva",
+ "Could not rename \"{oldName}\", it does not exist any more" : "A(z) „{oldName}” nem nevezhető át, mert már nem létezik",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "A(z) „{newName}” név már használatban van a(z) „{dir}” mappában. Válasszon másik nevet.",
+ "Could not rename \"{oldName}\"" : "A(z) „{oldName}” nem nevezhető át",
"This operation is forbidden" : "Ez a művelet tiltott",
"This directory is unavailable, please check the logs or contact the administrator" : "Ez a könyvtár nem érhető el, nézze meg a naplófájlokat vagy lépjen kapcsolatba az adminisztrátorral",
"Storage is temporarily not available" : "A tároló átmenetileg nem érhető el",
"Unexpected error: {error}" : "Váratlan hiba: {error}",
"_%n file_::_%n files_" : ["%n fájl","%n fájl"],
"_%n folder_::_%n folders_" : ["%n mappa","%n mappa"],
+ "_%n hidden_::_%n hidden_" : ["%n rejtett","%n rejtett"],
"Filename must not be empty." : "A fájlnév nem lehet üres.",
"\"{char}\" is not allowed inside a filename." : "„{char}” nem szerepelhet a fájlnévben.",
"\"{segment}\" is a reserved name and not allowed for filenames." : "A(z) „{segment}” egy fenntartott név és fájlnevek esetén nem engedélyezett.",
@@ -333,7 +367,6 @@
"Upload too large" : "A feltöltés túl nagy",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "A feltölteni próbált fájlok mérete meghaladja a kiszolgálón megengedett legnagyobb méretet.",
"File could not be found" : "A fájl nem található",
- "Download" : "Letöltés",
"Show list view" : "Listanézet megjelenítése",
"Show grid view" : "Rácsnézet megjelenítése",
"Close" : "Bezárás",
@@ -372,9 +405,6 @@
"Copied {origin} inside {destination}" : "A(z) {origin} átmásolva ide: {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "A(z) {origin} és {nbfiles} egyéb fájl átmásolva ide: {destination}",
"{newName} already exists" : "A(z) {newName} már létezik",
- "Could not rename \"{oldName}\", it does not exist any more" : "A(z) „{oldName}” nem nevezhető át, mert már nem létezik",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "A(z) „{newName}” név már használatban van a(z) „{dir}” mappában. Válasszon másik nevet.",
- "Could not rename \"{oldName}\"" : "A(z) „{oldName}” nem nevezhető át",
"Could not create file \"{file}\"" : "A(z) „{file}” nem hozható létre",
"Could not create file \"{file}\" because it already exists" : "A(z) „{file}” fájl nem hozható létre, mert már létezik",
"Could not create folder \"{dir}\" because it already exists" : "A(z) „{dir}” mappa nem hozható létre, mert már létezik",
@@ -395,7 +425,7 @@
"File name cannot be empty." : "A fájlnév nem lehet üres.",
"\"/\" is not allowed inside a file name." : "„/” nem szerepelhet fájlnévben.",
"\"{name}\" is not an allowed filetype" : "A(z) „{name}” nem engedélyezett fájltípus",
- "Storage of {owner} is full, files cannot be updated or synced anymore!" : "{owner} tárolója megtelt, a fájlok többé nem frissíthetők és szinkronizálhatók.q",
+ "Storage of {owner} is full, files cannot be updated or synced anymore!" : "{owner} tárolója megtelt, a fájlok többé nem frissíthetők és szinkronizálhatók.",
"Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "A(z) „{mountPoint}” csoportmappa megtelt, a fájlok többé nem frissíthetők vagy szinkronizálhatók.",
"External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "A(z) „{mountPoint}” külső tároló megtelt, a fájlok többé nem frissíthetők vagy szinkronizálhatók.",
"Your storage is full, files cannot be updated or synced anymore!" : "A tárhelye megtelt, a fájlok többé nem frissíthetők vagy szinkronizálhatók.",
@@ -424,7 +454,8 @@
"Personal Files" : "Személyes fájlok",
"Text file" : "Szövegfájl",
"New text file.txt" : "Új szövegfájl.txt",
- "{count} files could not be converted" : "{count} fájl nem konvertálható",
- "{count} files successfully converted" : "{count} fájl sikeresen konvertálva"
+ "%1$s (renamed)" : "%1$s (átnevezve)",
+ "renamed file" : "átnevezett fájl",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "A Windows-kompatibilis fájlnevek engedélyezése után a meglévő fájlok már nem módosíthatóak, de a tulajdonosaik átnevezhetik őket érvényes új nevekre."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/hy.js b/apps/files/l10n/hy.js
deleted file mode 100644
index c515b73db76..00000000000
--- a/apps/files/l10n/hy.js
+++ /dev/null
@@ -1,40 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "Files" : "Ֆայլեր",
- "All files" : "Բոլոր ֆայլերը",
- "Close" : "Փակել",
- "Download" : "Ներբեռնել",
- "Rename" : "Վերանվանել",
- "Delete" : "Ջնջել",
- "Select" : "Նշել",
- "Name" : "Անուն",
- "Size" : "Չափս",
- "Modified" : "Փոփոխված",
- "_%n folder_::_%n folders_" : ["%n պանակ","%n պանակ"],
- "_%n file_::_%n files_" : ["%n ֆայլ","%n ֆայլ"],
- "{dirs} and {files}" : "{dirs} և {files}",
- "New" : "Նոր",
- "_%n byte_::_%n bytes_" : ["%n բայտ","%n բայտ"],
- "Folder" : "Պանակ",
- "New folder" : "Նոր պանակ",
- "{newname} already exists" : "{newname} գոյություն ունի",
- "Upload" : "Բեռնել",
- "You created %1$s" : "Դու ստեղծեցիր %1$s",
- "%2$s created %1$s" : "%2$s ստեղծեց %1$s",
- "You changed %1$s" : "Դու փոխեցիր %1$s",
- "%2$s changed %1$s" : "%2$s փոխեց %1$s",
- "You deleted %1$s" : "Դու ջնջեցիր %1$s",
- "%2$s deleted %1$s" : "%2$s ջնջեց %1$s",
- "You restored %1$s" : "Դու վերականգնեցիր %1$s",
- "%2$s restored %1$s" : "%2$s վերականգնեց %1$s",
- "Changed by %2$s" : "Փոխվել է %2$sի կողմից",
- "Deleted by %2$s" : "Ջնջվել է %2$sի կողմից",
- "Restored by %2$s" : "Վերականգնվել է %2$sի կողմից",
- "Save" : "Պահպանել",
- "No files in here" : "Ֆայլեր չկան այստեղ",
- "Select all" : "Նշել բոլորը",
- "Text file" : "Տեքստ ֆայլ",
- "New text file.txt" : "Նոր տեքստ ֆայլ.txt"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/hy.json b/apps/files/l10n/hy.json
deleted file mode 100644
index 4376072e4b6..00000000000
--- a/apps/files/l10n/hy.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{ "translations": {
- "Files" : "Ֆայլեր",
- "All files" : "Բոլոր ֆայլերը",
- "Close" : "Փակել",
- "Download" : "Ներբեռնել",
- "Rename" : "Վերանվանել",
- "Delete" : "Ջնջել",
- "Select" : "Նշել",
- "Name" : "Անուն",
- "Size" : "Չափս",
- "Modified" : "Փոփոխված",
- "_%n folder_::_%n folders_" : ["%n պանակ","%n պանակ"],
- "_%n file_::_%n files_" : ["%n ֆայլ","%n ֆայլ"],
- "{dirs} and {files}" : "{dirs} և {files}",
- "New" : "Նոր",
- "_%n byte_::_%n bytes_" : ["%n բայտ","%n բայտ"],
- "Folder" : "Պանակ",
- "New folder" : "Նոր պանակ",
- "{newname} already exists" : "{newname} գոյություն ունի",
- "Upload" : "Բեռնել",
- "You created %1$s" : "Դու ստեղծեցիր %1$s",
- "%2$s created %1$s" : "%2$s ստեղծեց %1$s",
- "You changed %1$s" : "Դու փոխեցիր %1$s",
- "%2$s changed %1$s" : "%2$s փոխեց %1$s",
- "You deleted %1$s" : "Դու ջնջեցիր %1$s",
- "%2$s deleted %1$s" : "%2$s ջնջեց %1$s",
- "You restored %1$s" : "Դու վերականգնեցիր %1$s",
- "%2$s restored %1$s" : "%2$s վերականգնեց %1$s",
- "Changed by %2$s" : "Փոխվել է %2$sի կողմից",
- "Deleted by %2$s" : "Ջնջվել է %2$sի կողմից",
- "Restored by %2$s" : "Վերականգնվել է %2$sի կողմից",
- "Save" : "Պահպանել",
- "No files in here" : "Ֆայլեր չկան այստեղ",
- "Select all" : "Նշել բոլորը",
- "Text file" : "Տեքստ ֆայլ",
- "New text file.txt" : "Նոր տեքստ ֆայլ.txt"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/ia.js b/apps/files/l10n/ia.js
deleted file mode 100644
index 7a3e9d6c22d..00000000000
--- a/apps/files/l10n/ia.js
+++ /dev/null
@@ -1,124 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "Impossibile trovar le file",
- "Download" : "Discargar",
- "Delete" : "Deler",
- "Tags" : "Etiquettas",
- "Home" : "Initio",
- "Close" : "Clauder",
- "Favorites" : "Favoritos",
- "Could not create folder \"{dir}\"" : "Impossibile crear dossier \"{dir}\"",
- "Upload cancelled." : "Incarga cancellate.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossibile incargar {filename} proque illo es un directorio o ha 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Il non ha satis de spatio libere, tu incarga {size1} ma il resta a pena {size2} in total",
- "Target folder \"{dir}\" does not exist any more" : "Le dossier de destination \"{dir}\" non existe plus",
- "Not enough free space" : "Il non ha satis de spatio libere",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Actions" : "Actiones",
- "Rename" : "Renominar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete folder" : "Deler dossier",
- "Disconnect storage" : "Immagazinage disconnectite ",
- "Could not load info for file \"{file}\"" : "Impossibile cargar informationes pro file \"{file}\"",
- "Files" : "Files",
- "Details" : "Detalios",
- "Pending" : "Pendente",
- "Unable to determine date" : "Impossibile determinar data",
- "This operation is forbidden" : "Iste operation es prohibite",
- "This directory is unavailable, please check the logs or contact the administrator" : "Iste directorio non es disponibile, per favor verifica le registros o contacta le administrator",
- "Storage is temporarily not available" : "Immagazinage es provisorimente non disponibile",
- "Could not move \"{file}\", target exists" : "Impossibile displaciar \"{file}\": le destination ja existe",
- "Could not move \"{file}\"" : "Impossibile displaciar \"{file}\"",
- "{newName} already exists" : "{newName} ja existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "Impossibile renominar \"{fileName}\": illo non existe plus",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Le nomine \"{targetName}\" es ja usate in le dossier \"{dir}\". Per favor, selectiona un nomine differente.",
- "Could not rename \"{fileName}\"" : "Impossibile renominar \"{fileName}\"",
- "Could not create file \"{file}\"" : "Impossibile crear file \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "Impossibile crear file \"{file}\" proque illo ja existe",
- "Could not create folder \"{dir}\" because it already exists" : "Impossibile crear dossier \"{dir}\" proque illo ja existe",
- "Error deleting file \"{fileName}\"." : "Error durante deletion del file \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "Nulle resultatos in altere dossiers pro le cerca {tag}{filter}{endtag}",
- "Name" : "Nomine",
- "Size" : "Dimension",
- "Modified" : "Modificate",
- "_%n folder_::_%n folders_" : ["%n dossier","%n dossiers"],
- "_%n file_::_%n files_" : ["%n file","%n files"],
- "{dirs} and {files}" : "{dirs} e {files}",
- "_including %n hidden_::_including %n hidden_" : ["includente %n occultate","includente %n occultates"],
- "_Uploading %n file_::_Uploading %n files_" : ["Incargante %n file","Incargante %n files"],
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nomine de file non valide.",
- "File name cannot be empty." : "Le nomine de file non pote esser vacue.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" non es un typo de file valide ",
- "View in folder" : "Vider in dossier",
- "Path" : "Sentiero",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
- "Favorited" : "Favorite",
- "Favorite" : "Favorite",
- "New folder" : "Nove dossier",
- "Upload file" : "Upload file",
- "Recent" : "Recente",
- "Remove from favorites" : "Remove from favorites",
- "Add to favorites" : "Add to favorites",
- "An error occurred while trying to update the tags" : "Un error occurreva durante le actualisation del etiquettas",
- "Added to favorites" : "Addite al favoritos",
- "Removed from favorites" : "Removite del favoritos",
- "You added {file} to your favorites" : "Tu addeva {file} a tu favoritos",
- "You removed {file} from your favorites" : "Tu removeva {file} de tu favortos",
- "File changes" : "Modificationes del file",
- "Created by {user}" : "Create per {user}",
- "Changed by {user}" : "Modificate per {user}",
- "Deleted by {user}" : "Delite per {user}",
- "Restored by {user}" : "Restaurate per {user}",
- "Renamed by {user}" : "Renominate per {user}",
- "Moved by {user}" : "Displaciate per {user}",
- "\"remote user\"" : "\"usator remote\"",
- "You created {file}" : "Tu creava {file}",
- "{user} created {file}" : "{user} creava {file}",
- "{file} was created in a public folder" : "{file} esseva create in un dossier public",
- "You changed {file}" : "Tu modificava {file}",
- "{user} changed {file}" : "{user} modificava {file}",
- "You deleted {file}" : "Tu deleva {file}",
- "{user} deleted {file}" : "{user} deleva {file}",
- "You restored {file}" : "Tu restaurava {file}",
- "{user} restored {file}" : "{user} restaurava {file}",
- "You renamed {oldfile} to {newfile}" : "Tu renominava {oldfile} a {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renominava {oldfile} a {newfile}",
- "You moved {oldfile} to {newfile}" : "Tu displaciava {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} displaciava {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un file esseva addite a o removite de tu <strong>favoritos</strong>",
- "A file or folder has been <strong>changed</strong>" : "Un file o dossier ha essite <strong>modificate</strong>",
- "All files" : "Tote files",
- "Upload (max. %s)" : "Incarga (maxime %s)",
- "Accept" : "Acceptar",
- "in %s" : "in %s",
- "Unknown error" : "Error incognite",
- "Show hidden files" : "Monstrar files occultate",
- "WebDAV" : "WebDAV",
- "Cancel" : "Cancellar",
- "Create" : "Crear",
- "No files in here" : "Nulle files ci",
- "Upload some content or sync with your devices!" : "Incarga alcun contento o synchronisa con tu apparatos!",
- "No entries found in this folder" : "Nulle entratas trovate in iste dossier",
- "Select all" : "Selectionar toto",
- "Upload too large" : "Incarga troppo grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Le files que tu tenta incargar excede le dimension maxime pro incarga de files in iste servitor.",
- "Files and folders you mark as favorite will show up here" : "Files e dossiers que tu marca como favorito essera monstrate ci",
- "Deleted files" : "Files delite",
- "Shares" : "Compartimentos",
- "Shared with others" : "Compartite con alteres",
- "Shared with you" : "Compartite con te",
- "Shared by link" : "Compartite per ligamine",
- "Text file" : "File de texto",
- "New text file.txt" : "Nove texto file.txt",
- "Storage invalid" : "Immagazinage non valide",
- "Select" : "Selectionar",
- "You don’t have permission to upload or create files here" : "Tu non ha permission pro incargar o crear files ci.",
- "New" : "Nove",
- "Copied!" : "Copiate!",
- "Unlimited" : "Ilimitate",
- "%1$s of %2$s used" : "%1$s de %2$s usate",
- "Settings" : "Configurationes"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ia.json b/apps/files/l10n/ia.json
deleted file mode 100644
index ced94ad21da..00000000000
--- a/apps/files/l10n/ia.json
+++ /dev/null
@@ -1,122 +0,0 @@
-{ "translations": {
- "File could not be found" : "Impossibile trovar le file",
- "Download" : "Discargar",
- "Delete" : "Deler",
- "Tags" : "Etiquettas",
- "Home" : "Initio",
- "Close" : "Clauder",
- "Favorites" : "Favoritos",
- "Could not create folder \"{dir}\"" : "Impossibile crear dossier \"{dir}\"",
- "Upload cancelled." : "Incarga cancellate.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossibile incargar {filename} proque illo es un directorio o ha 0 bytes",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Il non ha satis de spatio libere, tu incarga {size1} ma il resta a pena {size2} in total",
- "Target folder \"{dir}\" does not exist any more" : "Le dossier de destination \"{dir}\" non existe plus",
- "Not enough free space" : "Il non ha satis de spatio libere",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
- "Actions" : "Actiones",
- "Rename" : "Renominar",
- "Move" : "Mover",
- "Copy" : "Copiar",
- "Delete folder" : "Deler dossier",
- "Disconnect storage" : "Immagazinage disconnectite ",
- "Could not load info for file \"{file}\"" : "Impossibile cargar informationes pro file \"{file}\"",
- "Files" : "Files",
- "Details" : "Detalios",
- "Pending" : "Pendente",
- "Unable to determine date" : "Impossibile determinar data",
- "This operation is forbidden" : "Iste operation es prohibite",
- "This directory is unavailable, please check the logs or contact the administrator" : "Iste directorio non es disponibile, per favor verifica le registros o contacta le administrator",
- "Storage is temporarily not available" : "Immagazinage es provisorimente non disponibile",
- "Could not move \"{file}\", target exists" : "Impossibile displaciar \"{file}\": le destination ja existe",
- "Could not move \"{file}\"" : "Impossibile displaciar \"{file}\"",
- "{newName} already exists" : "{newName} ja existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "Impossibile renominar \"{fileName}\": illo non existe plus",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Le nomine \"{targetName}\" es ja usate in le dossier \"{dir}\". Per favor, selectiona un nomine differente.",
- "Could not rename \"{fileName}\"" : "Impossibile renominar \"{fileName}\"",
- "Could not create file \"{file}\"" : "Impossibile crear file \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "Impossibile crear file \"{file}\" proque illo ja existe",
- "Could not create folder \"{dir}\" because it already exists" : "Impossibile crear dossier \"{dir}\" proque illo ja existe",
- "Error deleting file \"{fileName}\"." : "Error durante deletion del file \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "Nulle resultatos in altere dossiers pro le cerca {tag}{filter}{endtag}",
- "Name" : "Nomine",
- "Size" : "Dimension",
- "Modified" : "Modificate",
- "_%n folder_::_%n folders_" : ["%n dossier","%n dossiers"],
- "_%n file_::_%n files_" : ["%n file","%n files"],
- "{dirs} and {files}" : "{dirs} e {files}",
- "_including %n hidden_::_including %n hidden_" : ["includente %n occultate","includente %n occultates"],
- "_Uploading %n file_::_Uploading %n files_" : ["Incargante %n file","Incargante %n files"],
- "\"{name}\" is an invalid file name." : "\"{name}\" es un nomine de file non valide.",
- "File name cannot be empty." : "Le nomine de file non pote esser vacue.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" non es un typo de file valide ",
- "View in folder" : "Vider in dossier",
- "Path" : "Sentiero",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
- "Favorited" : "Favorite",
- "Favorite" : "Favorite",
- "New folder" : "Nove dossier",
- "Upload file" : "Upload file",
- "Recent" : "Recente",
- "Remove from favorites" : "Remove from favorites",
- "Add to favorites" : "Add to favorites",
- "An error occurred while trying to update the tags" : "Un error occurreva durante le actualisation del etiquettas",
- "Added to favorites" : "Addite al favoritos",
- "Removed from favorites" : "Removite del favoritos",
- "You added {file} to your favorites" : "Tu addeva {file} a tu favoritos",
- "You removed {file} from your favorites" : "Tu removeva {file} de tu favortos",
- "File changes" : "Modificationes del file",
- "Created by {user}" : "Create per {user}",
- "Changed by {user}" : "Modificate per {user}",
- "Deleted by {user}" : "Delite per {user}",
- "Restored by {user}" : "Restaurate per {user}",
- "Renamed by {user}" : "Renominate per {user}",
- "Moved by {user}" : "Displaciate per {user}",
- "\"remote user\"" : "\"usator remote\"",
- "You created {file}" : "Tu creava {file}",
- "{user} created {file}" : "{user} creava {file}",
- "{file} was created in a public folder" : "{file} esseva create in un dossier public",
- "You changed {file}" : "Tu modificava {file}",
- "{user} changed {file}" : "{user} modificava {file}",
- "You deleted {file}" : "Tu deleva {file}",
- "{user} deleted {file}" : "{user} deleva {file}",
- "You restored {file}" : "Tu restaurava {file}",
- "{user} restored {file}" : "{user} restaurava {file}",
- "You renamed {oldfile} to {newfile}" : "Tu renominava {oldfile} a {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} renominava {oldfile} a {newfile}",
- "You moved {oldfile} to {newfile}" : "Tu displaciava {oldfile} a {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} displaciava {oldfile} a {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Un file esseva addite a o removite de tu <strong>favoritos</strong>",
- "A file or folder has been <strong>changed</strong>" : "Un file o dossier ha essite <strong>modificate</strong>",
- "All files" : "Tote files",
- "Upload (max. %s)" : "Incarga (maxime %s)",
- "Accept" : "Acceptar",
- "in %s" : "in %s",
- "Unknown error" : "Error incognite",
- "Show hidden files" : "Monstrar files occultate",
- "WebDAV" : "WebDAV",
- "Cancel" : "Cancellar",
- "Create" : "Crear",
- "No files in here" : "Nulle files ci",
- "Upload some content or sync with your devices!" : "Incarga alcun contento o synchronisa con tu apparatos!",
- "No entries found in this folder" : "Nulle entratas trovate in iste dossier",
- "Select all" : "Selectionar toto",
- "Upload too large" : "Incarga troppo grande",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Le files que tu tenta incargar excede le dimension maxime pro incarga de files in iste servitor.",
- "Files and folders you mark as favorite will show up here" : "Files e dossiers que tu marca como favorito essera monstrate ci",
- "Deleted files" : "Files delite",
- "Shares" : "Compartimentos",
- "Shared with others" : "Compartite con alteres",
- "Shared with you" : "Compartite con te",
- "Shared by link" : "Compartite per ligamine",
- "Text file" : "File de texto",
- "New text file.txt" : "Nove texto file.txt",
- "Storage invalid" : "Immagazinage non valide",
- "Select" : "Selectionar",
- "You don’t have permission to upload or create files here" : "Tu non ha permission pro incargar o crear files ci.",
- "New" : "Nove",
- "Copied!" : "Copiate!",
- "Unlimited" : "Ilimitate",
- "%1$s of %2$s used" : "%1$s de %2$s usate",
- "Settings" : "Configurationes"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/id.js b/apps/files/l10n/id.js
index b2b67e42843..8b7a96705d8 100644
--- a/apps/files/l10n/id.js
+++ b/apps/files/l10n/id.js
@@ -127,6 +127,7 @@ OC.L10N.register(
"Delete permanently" : "Hapus secara permanen",
"Delete" : "Hapus",
"Cancel" : "Membatalkan",
+ "Download" : "Unduh",
"Copy" : "Salin",
"Move" : "Pindah",
"Move or copy" : "Pindah atau salin",
@@ -141,6 +142,9 @@ OC.L10N.register(
"Unable to initialize the templates directory" : "Tidak dapat membuat direktori templat",
"Templates" : "Templat",
"Some files could not be moved" : "Beberapa berkas tidak dapat dipindahkan",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Tidak dapat mengganti \"{oldName}\", tidak ada lagi",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nama \"{newName}\" sudah digunakan di folder \"{dir}\". Gunakan nama yang lain.",
+ "Could not rename \"{oldName}\"" : "Tidak dapat mengganti \"{oldName}\"",
"This operation is forbidden" : "Operasi ini dilarang",
"This directory is unavailable, please check the logs or contact the administrator" : "Direktori ini tidak tersedia, silakan periksa log atau hubungi kontak",
"Storage is temporarily not available" : "Penyimpanan sementara tidak tersedia",
@@ -156,7 +160,6 @@ OC.L10N.register(
"Upload too large" : "Yang diunggah terlalu besar",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Berkas yang dicoba untuk diunggah melebihi ukuran maksimum pengunggahan berkas di server ini.",
"File could not be found" : "Berkas tidak ditemukan",
- "Download" : "Unduh",
"Show list view" : "Tampilkan sebagai daftar",
"Show grid view" : "Tampilkan sebagai kisi",
"Close" : "Tutup",
@@ -192,9 +195,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} tersalin ke {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} dan {nbfiles} berkas lainnya tersalin ke {destination}",
"{newName} already exists" : "{newName} sudah ada",
- "Could not rename \"{oldName}\", it does not exist any more" : "Tidak dapat mengganti \"{oldName}\", tidak ada lagi",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nama \"{newName}\" sudah digunakan di folder \"{dir}\". Gunakan nama yang lain.",
- "Could not rename \"{oldName}\"" : "Tidak dapat mengganti \"{oldName}\"",
"Could not create file \"{file}\"" : "Tidak dapat membuat berkas \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Tidak dapat membuat berkas \"{file}\" karena sudah ada",
"Could not create folder \"{dir}\" because it already exists" : "Tidak dapat membuat folder \"{dir}\" karena sudah ada",
diff --git a/apps/files/l10n/id.json b/apps/files/l10n/id.json
index cc2bc204413..6d56ea3f765 100644
--- a/apps/files/l10n/id.json
+++ b/apps/files/l10n/id.json
@@ -125,6 +125,7 @@
"Delete permanently" : "Hapus secara permanen",
"Delete" : "Hapus",
"Cancel" : "Membatalkan",
+ "Download" : "Unduh",
"Copy" : "Salin",
"Move" : "Pindah",
"Move or copy" : "Pindah atau salin",
@@ -139,6 +140,9 @@
"Unable to initialize the templates directory" : "Tidak dapat membuat direktori templat",
"Templates" : "Templat",
"Some files could not be moved" : "Beberapa berkas tidak dapat dipindahkan",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Tidak dapat mengganti \"{oldName}\", tidak ada lagi",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nama \"{newName}\" sudah digunakan di folder \"{dir}\". Gunakan nama yang lain.",
+ "Could not rename \"{oldName}\"" : "Tidak dapat mengganti \"{oldName}\"",
"This operation is forbidden" : "Operasi ini dilarang",
"This directory is unavailable, please check the logs or contact the administrator" : "Direktori ini tidak tersedia, silakan periksa log atau hubungi kontak",
"Storage is temporarily not available" : "Penyimpanan sementara tidak tersedia",
@@ -154,7 +158,6 @@
"Upload too large" : "Yang diunggah terlalu besar",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Berkas yang dicoba untuk diunggah melebihi ukuran maksimum pengunggahan berkas di server ini.",
"File could not be found" : "Berkas tidak ditemukan",
- "Download" : "Unduh",
"Show list view" : "Tampilkan sebagai daftar",
"Show grid view" : "Tampilkan sebagai kisi",
"Close" : "Tutup",
@@ -190,9 +193,6 @@
"Copied {origin} inside {destination}" : "{origin} tersalin ke {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} dan {nbfiles} berkas lainnya tersalin ke {destination}",
"{newName} already exists" : "{newName} sudah ada",
- "Could not rename \"{oldName}\", it does not exist any more" : "Tidak dapat mengganti \"{oldName}\", tidak ada lagi",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nama \"{newName}\" sudah digunakan di folder \"{dir}\". Gunakan nama yang lain.",
- "Could not rename \"{oldName}\"" : "Tidak dapat mengganti \"{oldName}\"",
"Could not create file \"{file}\"" : "Tidak dapat membuat berkas \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Tidak dapat membuat berkas \"{file}\" karena sudah ada",
"Could not create folder \"{dir}\" because it already exists" : "Tidak dapat membuat folder \"{dir}\" karena sudah ada",
diff --git a/apps/files/l10n/io.js b/apps/files/l10n/io.js
deleted file mode 100644
index 7988332fa91..00000000000
--- a/apps/files/l10n/io.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/io.json b/apps/files/l10n/io.json
deleted file mode 100644
index ef5fc586755..00000000000
--- a/apps/files/l10n/io.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js
index 5845d1fabaa..744a4332569 100644
--- a/apps/files/l10n/is.js
+++ b/apps/files/l10n/is.js
@@ -206,6 +206,7 @@ OC.L10N.register(
"Show those shortcuts" : "Sýna þessa flýtilykla",
"You" : "Þú",
"Shared multiple times with different people" : "Deilt mörgum sinnum með mismunandi fólki",
+ "Unable to change the favorite state of the file" : "Get ekki breytt stöðu sem eftirlæti á skránni",
"Error while loading the file data" : "Villa við að hlaða inn skráagögnum",
"Owner" : "Eigandi",
"Remove from favorites" : "Fjarlægja úr eftirlætum",
@@ -242,8 +243,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Þú ert við það að eyða {count} atriði","Þú ert við það að eyða {count} atriðum"],
"Confirm deletion" : "Staðfesta eyðingu",
"Cancel" : "Hætta við",
+ "Download" : "Niðurhal",
"Moving \"{source}\" to \"{destination}\" …" : "Færi \"{source}\" í \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Afrita \"{source}\" í \"{destination}\" …",
+ "Destination is not a folder" : "Áfangastaðurinn er ekki mappa",
+ "This file/folder is already in that directory" : "Þessi skrá/mappa er þegar í þessari möppu",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Þú getur ekki flutt skrá/möppu inn í sjálfa sig eða inni í undirmöppu af sjálfri sér",
"(copy)" : "(afrita)",
"(copy %n)" : "(afrita %n)",
@@ -302,6 +306,9 @@ OC.L10N.register(
"Files moved successfully" : "Tókst að færa skrár",
"Conflicts resolution skipped" : "Sleppti lausn árekstra",
"Upload cancelled" : "Hætt við innsendingu",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Gat ekki endurnefnt \"{oldName}\", það er ekki lengur til staðar",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Heitið \"{newName}\" er nú þegar notað í \"{dir}\" möppunni. Veldu eitthvað annað nafn.",
+ "Could not rename \"{oldName}\"" : "Tókst ekki að endurnefna \"{oldName}\"",
"This operation is forbidden" : "Þessi aðgerð er bönnuð",
"This directory is unavailable, please check the logs or contact the administrator" : "Þessi mappa er ekki tiltæk, athugaðu atvikaskrár eða hafðu samband við kerfissjóra",
"Storage is temporarily not available" : "Gagnageymsla ekki tiltæk í augnablikinu",
@@ -332,7 +339,6 @@ OC.L10N.register(
"Upload too large" : "Innsend skrá er of stór",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Skrárnar sem þú ert að senda inn eru stærri en hámarks innsendingarstærð á þessum netþjóni.",
"File could not be found" : "Skrá finnst ekki",
- "Download" : "Niðurhal",
"Show list view" : "Birta listasýn",
"Show grid view" : "Birta reitasýn",
"Close" : "Loka",
@@ -371,9 +377,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Afritaði {origin} inn í {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Afritaði {origin} og {nbfiles} aðrar skrár inn í {destination}",
"{newName} already exists" : "{newName} er þegar til",
- "Could not rename \"{oldName}\", it does not exist any more" : "Gat ekki endurnefnt \"{oldName}\", það er ekki lengur til staðar",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Heitið \"{newName}\" er nú þegar notað í \"{dir}\" möppunni. Veldu eitthvað annað nafn.",
- "Could not rename \"{oldName}\"" : "Tókst ekki að endurnefna \"{oldName}\"",
"Could not create file \"{file}\"" : "Gat ekki búið til skrána \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Gat ekki búið til skrána \"{file}\" vegna þess að hún er þegar til",
"Could not create folder \"{dir}\" because it already exists" : "Gat ekki búið til möppuna \"{dir}\" vegna þess að hún er þegar til",
@@ -422,8 +425,6 @@ OC.L10N.register(
"{fileCount} files and {folderCount} folders" : "{fileCount} skrár og {folderCount} möppur",
"Personal Files" : "Einkaskrár",
"Text file" : "Textaskrá",
- "New text file.txt" : "Ný textaskrá.txt",
- "{count} files could not be converted" : "Ekki var hægt að umbreyta {count} skrám",
- "{count} files successfully converted" : "Tókst að umbreyta {count} skrám"
+ "New text file.txt" : "Ný textaskrá.txt"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json
index a80b1bc7f2b..4a2722125c6 100644
--- a/apps/files/l10n/is.json
+++ b/apps/files/l10n/is.json
@@ -204,6 +204,7 @@
"Show those shortcuts" : "Sýna þessa flýtilykla",
"You" : "Þú",
"Shared multiple times with different people" : "Deilt mörgum sinnum með mismunandi fólki",
+ "Unable to change the favorite state of the file" : "Get ekki breytt stöðu sem eftirlæti á skránni",
"Error while loading the file data" : "Villa við að hlaða inn skráagögnum",
"Owner" : "Eigandi",
"Remove from favorites" : "Fjarlægja úr eftirlætum",
@@ -240,8 +241,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Þú ert við það að eyða {count} atriði","Þú ert við það að eyða {count} atriðum"],
"Confirm deletion" : "Staðfesta eyðingu",
"Cancel" : "Hætta við",
+ "Download" : "Niðurhal",
"Moving \"{source}\" to \"{destination}\" …" : "Færi \"{source}\" í \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Afrita \"{source}\" í \"{destination}\" …",
+ "Destination is not a folder" : "Áfangastaðurinn er ekki mappa",
+ "This file/folder is already in that directory" : "Þessi skrá/mappa er þegar í þessari möppu",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Þú getur ekki flutt skrá/möppu inn í sjálfa sig eða inni í undirmöppu af sjálfri sér",
"(copy)" : "(afrita)",
"(copy %n)" : "(afrita %n)",
@@ -300,6 +304,9 @@
"Files moved successfully" : "Tókst að færa skrár",
"Conflicts resolution skipped" : "Sleppti lausn árekstra",
"Upload cancelled" : "Hætt við innsendingu",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Gat ekki endurnefnt \"{oldName}\", það er ekki lengur til staðar",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Heitið \"{newName}\" er nú þegar notað í \"{dir}\" möppunni. Veldu eitthvað annað nafn.",
+ "Could not rename \"{oldName}\"" : "Tókst ekki að endurnefna \"{oldName}\"",
"This operation is forbidden" : "Þessi aðgerð er bönnuð",
"This directory is unavailable, please check the logs or contact the administrator" : "Þessi mappa er ekki tiltæk, athugaðu atvikaskrár eða hafðu samband við kerfissjóra",
"Storage is temporarily not available" : "Gagnageymsla ekki tiltæk í augnablikinu",
@@ -330,7 +337,6 @@
"Upload too large" : "Innsend skrá er of stór",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Skrárnar sem þú ert að senda inn eru stærri en hámarks innsendingarstærð á þessum netþjóni.",
"File could not be found" : "Skrá finnst ekki",
- "Download" : "Niðurhal",
"Show list view" : "Birta listasýn",
"Show grid view" : "Birta reitasýn",
"Close" : "Loka",
@@ -369,9 +375,6 @@
"Copied {origin} inside {destination}" : "Afritaði {origin} inn í {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Afritaði {origin} og {nbfiles} aðrar skrár inn í {destination}",
"{newName} already exists" : "{newName} er þegar til",
- "Could not rename \"{oldName}\", it does not exist any more" : "Gat ekki endurnefnt \"{oldName}\", það er ekki lengur til staðar",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Heitið \"{newName}\" er nú þegar notað í \"{dir}\" möppunni. Veldu eitthvað annað nafn.",
- "Could not rename \"{oldName}\"" : "Tókst ekki að endurnefna \"{oldName}\"",
"Could not create file \"{file}\"" : "Gat ekki búið til skrána \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Gat ekki búið til skrána \"{file}\" vegna þess að hún er þegar til",
"Could not create folder \"{dir}\" because it already exists" : "Gat ekki búið til möppuna \"{dir}\" vegna þess að hún er þegar til",
@@ -420,8 +423,6 @@
"{fileCount} files and {folderCount} folders" : "{fileCount} skrár og {folderCount} möppur",
"Personal Files" : "Einkaskrár",
"Text file" : "Textaskrá",
- "New text file.txt" : "Ný textaskrá.txt",
- "{count} files could not be converted" : "Ekki var hægt að umbreyta {count} skrám",
- "{count} files successfully converted" : "Tókst að umbreyta {count} skrám"
+ "New text file.txt" : "Ný textaskrá.txt"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js
index be469631a80..614a38dfee8 100644
--- a/apps/files/l10n/it.js
+++ b/apps/files/l10n/it.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "Mostra quelle scorciatoie",
"You" : "Tu",
"Shared multiple times with different people" : "Condiviso più volte con diverse persone",
+ "Unable to change the favorite state of the file" : "Impossibile modificare lo stato preferito del file",
"Error while loading the file data" : "Errore durante il caricamento del file di dati",
"Owner" : "Proprietario",
"Remove from favorites" : "Rimuovi dai preferiti",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Stai per eliminare {count} elemento","Stai per eliminare {count} elementi","Stai per eliminare {count} elementi"],
"Confirm deletion" : "Conferma l'eliminazione",
"Cancel" : "Annulla",
+ "Download" : "Scarica",
"Moving \"{source}\" to \"{destination}\" …" : "Sposta \"{source}\" in \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Copia \"{source}\" in \"{destination}\" …",
+ "Destination is not a folder" : "La destinazione non è una cartella",
+ "This file/folder is already in that directory" : "Questo file/cartella è già in quella cartella",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Non puoi spostare un file/cartella in se stesso o in una sottocartella di se stesso",
"(copy)" : "(copia)",
"(copy %n)" : "(copia %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "File spostati correttamente",
"Conflicts resolution skipped" : "Risoluzione dei conflitti saltata",
"Upload cancelled" : "Caricamento annullato",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Impossibile rinominare \"{oldName}\", non esiste più",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Il nome \"{newName}\" è attualmente in uso nella cartella \"{dir}\". Scegli un nome diverso.",
+ "Could not rename \"{oldName}\"" : "Impossibile rinominare \"{oldName}\"",
"This operation is forbidden" : "Questa operazione è vietata",
"This directory is unavailable, please check the logs or contact the administrator" : "Questa cartella non è disponibile, controlla i log o contatta l'amministratore",
"Storage is temporarily not available" : "L'archiviazione è temporaneamente non disponibile",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "Caricamento troppo grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "I file che stai provando a caricare superano la dimensione massima consentita su questo server.",
"File could not be found" : "Il file non può essere trovato",
- "Download" : "Scarica",
"Show list view" : "Mostra la vista elenco",
"Show grid view" : "Mostra la visualizzazione griglia",
"Close" : "Chiudi",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Copiato {origin} in {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiati {origin} e {nbfiles} altri file in {destination}",
"{newName} already exists" : "{newName} esiste già",
- "Could not rename \"{oldName}\", it does not exist any more" : "Impossibile rinominare \"{oldName}\", non esiste più",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Il nome \"{newName}\" è attualmente in uso nella cartella \"{dir}\". Scegli un nome diverso.",
- "Could not rename \"{oldName}\"" : "Impossibile rinominare \"{oldName}\"",
"Could not create file \"{file}\"" : "Impossibile creare il file \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Impossibile creare il file \"{file}\" poiché esiste già",
"Could not create folder \"{dir}\" because it already exists" : "Impossibile creare la cartella \"{dir}\" poiché esiste già",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "Nuovo file di testo.txt",
"%1$s (renamed)" : "%1$s (rinominato)",
"renamed file" : "file rinominato",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Dopo aver abilitato i nomi file compatibili con Windows, i file esistenti non potranno più essere modificati, ma potranno essere rinominati con nuovi nomi validi dal rispettivo proprietario.",
- "{count} files could not be converted" : "{count} file non possono essere convertiti",
- "{count} files successfully converted" : "{count} file convertiti con successo"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Dopo aver abilitato i nomi file compatibili con Windows, i file esistenti non potranno più essere modificati, ma potranno essere rinominati con nuovi nomi validi dal rispettivo proprietario."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json
index 25d702e4ec5..46c1ad54125 100644
--- a/apps/files/l10n/it.json
+++ b/apps/files/l10n/it.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "Mostra quelle scorciatoie",
"You" : "Tu",
"Shared multiple times with different people" : "Condiviso più volte con diverse persone",
+ "Unable to change the favorite state of the file" : "Impossibile modificare lo stato preferito del file",
"Error while loading the file data" : "Errore durante il caricamento del file di dati",
"Owner" : "Proprietario",
"Remove from favorites" : "Rimuovi dai preferiti",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Stai per eliminare {count} elemento","Stai per eliminare {count} elementi","Stai per eliminare {count} elementi"],
"Confirm deletion" : "Conferma l'eliminazione",
"Cancel" : "Annulla",
+ "Download" : "Scarica",
"Moving \"{source}\" to \"{destination}\" …" : "Sposta \"{source}\" in \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Copia \"{source}\" in \"{destination}\" …",
+ "Destination is not a folder" : "La destinazione non è una cartella",
+ "This file/folder is already in that directory" : "Questo file/cartella è già in quella cartella",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Non puoi spostare un file/cartella in se stesso o in una sottocartella di se stesso",
"(copy)" : "(copia)",
"(copy %n)" : "(copia %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "File spostati correttamente",
"Conflicts resolution skipped" : "Risoluzione dei conflitti saltata",
"Upload cancelled" : "Caricamento annullato",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Impossibile rinominare \"{oldName}\", non esiste più",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Il nome \"{newName}\" è attualmente in uso nella cartella \"{dir}\". Scegli un nome diverso.",
+ "Could not rename \"{oldName}\"" : "Impossibile rinominare \"{oldName}\"",
"This operation is forbidden" : "Questa operazione è vietata",
"This directory is unavailable, please check the logs or contact the administrator" : "Questa cartella non è disponibile, controlla i log o contatta l'amministratore",
"Storage is temporarily not available" : "L'archiviazione è temporaneamente non disponibile",
@@ -360,7 +367,6 @@
"Upload too large" : "Caricamento troppo grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "I file che stai provando a caricare superano la dimensione massima consentita su questo server.",
"File could not be found" : "Il file non può essere trovato",
- "Download" : "Scarica",
"Show list view" : "Mostra la vista elenco",
"Show grid view" : "Mostra la visualizzazione griglia",
"Close" : "Chiudi",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "Copiato {origin} in {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiati {origin} e {nbfiles} altri file in {destination}",
"{newName} already exists" : "{newName} esiste già",
- "Could not rename \"{oldName}\", it does not exist any more" : "Impossibile rinominare \"{oldName}\", non esiste più",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Il nome \"{newName}\" è attualmente in uso nella cartella \"{dir}\". Scegli un nome diverso.",
- "Could not rename \"{oldName}\"" : "Impossibile rinominare \"{oldName}\"",
"Could not create file \"{file}\"" : "Impossibile creare il file \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Impossibile creare il file \"{file}\" poiché esiste già",
"Could not create folder \"{dir}\" because it already exists" : "Impossibile creare la cartella \"{dir}\" poiché esiste già",
@@ -453,8 +456,6 @@
"New text file.txt" : "Nuovo file di testo.txt",
"%1$s (renamed)" : "%1$s (rinominato)",
"renamed file" : "file rinominato",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Dopo aver abilitato i nomi file compatibili con Windows, i file esistenti non potranno più essere modificati, ma potranno essere rinominati con nuovi nomi validi dal rispettivo proprietario.",
- "{count} files could not be converted" : "{count} file non possono essere convertiti",
- "{count} files successfully converted" : "{count} file convertiti con successo"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Dopo aver abilitato i nomi file compatibili con Windows, i file esistenti non potranno più essere modificati, ma potranno essere rinominati con nuovi nomi validi dal rispettivo proprietario."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js
index c25a6fcf5fc..2ba264d20ea 100644
--- a/apps/files/l10n/ja.js
+++ b/apps/files/l10n/ja.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "これらのショートカットを表示する",
"You" : "自分",
"Shared multiple times with different people" : "異なる人と複数回共有",
+ "Unable to change the favorite state of the file" : "ファイルのお気に入りの状態を変更できません",
"Error while loading the file data" : "ファイルデータの読み込み中にエラーが発生しました",
"Owner" : "作成者",
"Remove from favorites" : "お気に入りから削除",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["あなたは {count} 個のアイテムを削除しようとしています"],
"Confirm deletion" : "削除の確認",
"Cancel" : "キャンセル",
+ "Download" : "ダウンロード",
"Moving \"{source}\" to \"{destination}\" …" : "\"{source}\" を \"{destination}\"に移動",
"Copying \"{source}\" to \"{destination}\" …" : "\"{source}\" を \"{destination}\"にコピー",
+ "Destination is not a folder" : "宛先がフォルダではありません",
+ "This file/folder is already in that directory" : "このファイル/フォルダはすでにそのディレクトリにあります",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "ファイル/フォルダをそれ自身の上に移動したり、それ自身のサブフォルダに移動したりすることはできません。",
"(copy)" : "(copy)",
"(copy %n)" : "(copy %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "ファイルの移動に成功しました",
"Conflicts resolution skipped" : "コンフリクトの解決はスキップされました",
"Upload cancelled" : "アップロードはキャンセルされました",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" の名前を変更できませんでした、それは既に存在しません。",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" という名前は \"{dir}\" フォルダですでに使用されています。別の名前を選択してください。",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" の名前を変更できませんでした。",
"This operation is forbidden" : "この操作は禁止されています",
"This directory is unavailable, please check the logs or contact the administrator" : "このディレクトリは利用できません。ログを確認するか管理者に問い合わせてください。",
"Storage is temporarily not available" : "ストレージは一時的に利用できません",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "アップロードには大きすぎます。",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "アップロードしようとしているファイルは、このサーバーのファイルアップロード時の最大サイズを超えています。",
"File could not be found" : "ファイルを見つけられませんでした",
- "Download" : "ダウンロード",
"Show list view" : "リストビューで表示",
"Show grid view" : "グリッドビューで表示",
"Close" : "閉じる",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "コピー先{origin} {destination}内",
"Copied {origin} and {nbfiles} other files inside {destination}" : "コピー先{origin}と{nbfiles}他のファイル{destination}",
"{newName} already exists" : "{newName} はすでに存在します",
- "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" の名前を変更できませんでした、それは既に存在しません。",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" という名前は \"{dir}\" フォルダですでに使用されています。別の名前を選択してください。",
- "Could not rename \"{oldName}\"" : "\"{oldName}\" の名前を変更できませんでした。",
"Could not create file \"{file}\"" : "ファイル \"{file}\" を作成できませんでした",
"Could not create file \"{file}\" because it already exists" : "ファイル \"{file}\"はすでに存在するため作成できません",
"Could not create folder \"{dir}\" because it already exists" : "フォルダー \"{dir}\" はすでに存在するため作成できません",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "新規のテキストファイル作成",
"%1$s (renamed)" : "%1$s (リネーム済み)",
"renamed file" : "リネーム済みファイル",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Windows 互換のファイル名を有効にすると、既存のファイルは変更できなくなりますが、所有者が有効な新しいファイル名に変更できるようになります。",
- "{count} files could not be converted" : "{count}個のファイルが変換できませんでした",
- "{count} files successfully converted" : "{count}個のファイルの変換に成功しました"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Windows 互換のファイル名を有効にすると、既存のファイルは変更できなくなりますが、所有者が有効な新しいファイル名に変更できるようになります。"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json
index e0b8797674d..ccdec912f64 100644
--- a/apps/files/l10n/ja.json
+++ b/apps/files/l10n/ja.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "これらのショートカットを表示する",
"You" : "自分",
"Shared multiple times with different people" : "異なる人と複数回共有",
+ "Unable to change the favorite state of the file" : "ファイルのお気に入りの状態を変更できません",
"Error while loading the file data" : "ファイルデータの読み込み中にエラーが発生しました",
"Owner" : "作成者",
"Remove from favorites" : "お気に入りから削除",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["あなたは {count} 個のアイテムを削除しようとしています"],
"Confirm deletion" : "削除の確認",
"Cancel" : "キャンセル",
+ "Download" : "ダウンロード",
"Moving \"{source}\" to \"{destination}\" …" : "\"{source}\" を \"{destination}\"に移動",
"Copying \"{source}\" to \"{destination}\" …" : "\"{source}\" を \"{destination}\"にコピー",
+ "Destination is not a folder" : "宛先がフォルダではありません",
+ "This file/folder is already in that directory" : "このファイル/フォルダはすでにそのディレクトリにあります",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "ファイル/フォルダをそれ自身の上に移動したり、それ自身のサブフォルダに移動したりすることはできません。",
"(copy)" : "(copy)",
"(copy %n)" : "(copy %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "ファイルの移動に成功しました",
"Conflicts resolution skipped" : "コンフリクトの解決はスキップされました",
"Upload cancelled" : "アップロードはキャンセルされました",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" の名前を変更できませんでした、それは既に存在しません。",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" という名前は \"{dir}\" フォルダですでに使用されています。別の名前を選択してください。",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" の名前を変更できませんでした。",
"This operation is forbidden" : "この操作は禁止されています",
"This directory is unavailable, please check the logs or contact the administrator" : "このディレクトリは利用できません。ログを確認するか管理者に問い合わせてください。",
"Storage is temporarily not available" : "ストレージは一時的に利用できません",
@@ -360,7 +367,6 @@
"Upload too large" : "アップロードには大きすぎます。",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "アップロードしようとしているファイルは、このサーバーのファイルアップロード時の最大サイズを超えています。",
"File could not be found" : "ファイルを見つけられませんでした",
- "Download" : "ダウンロード",
"Show list view" : "リストビューで表示",
"Show grid view" : "グリッドビューで表示",
"Close" : "閉じる",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "コピー先{origin} {destination}内",
"Copied {origin} and {nbfiles} other files inside {destination}" : "コピー先{origin}と{nbfiles}他のファイル{destination}",
"{newName} already exists" : "{newName} はすでに存在します",
- "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" の名前を変更できませんでした、それは既に存在しません。",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" という名前は \"{dir}\" フォルダですでに使用されています。別の名前を選択してください。",
- "Could not rename \"{oldName}\"" : "\"{oldName}\" の名前を変更できませんでした。",
"Could not create file \"{file}\"" : "ファイル \"{file}\" を作成できませんでした",
"Could not create file \"{file}\" because it already exists" : "ファイル \"{file}\"はすでに存在するため作成できません",
"Could not create folder \"{dir}\" because it already exists" : "フォルダー \"{dir}\" はすでに存在するため作成できません",
@@ -453,8 +456,6 @@
"New text file.txt" : "新規のテキストファイル作成",
"%1$s (renamed)" : "%1$s (リネーム済み)",
"renamed file" : "リネーム済みファイル",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Windows 互換のファイル名を有効にすると、既存のファイルは変更できなくなりますが、所有者が有効な新しいファイル名に変更できるようになります。",
- "{count} files could not be converted" : "{count}個のファイルが変換できませんでした",
- "{count} files successfully converted" : "{count}個のファイルの変換に成功しました"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Windows 互換のファイル名を有効にすると、既存のファイルは変更できなくなりますが、所有者が有効な新しいファイル名に変更できるようになります。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/ka.js b/apps/files/l10n/ka.js
index fdf50548a02..92fa303b945 100644
--- a/apps/files/l10n/ka.js
+++ b/apps/files/l10n/ka.js
@@ -159,6 +159,9 @@ OC.L10N.register(
"Delete folder" : "Delete folder",
"Delete" : "Delete",
"Cancel" : "Cancel",
+ "Download" : "Download",
+ "Destination is not a folder" : "Destination is not a folder",
+ "This file/folder is already in that directory" : "This file/folder is already in that directory",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "You cannot move a file/folder onto itself or into a subfolder of itself",
"A file or folder with that name already exists in this folder" : "A file or folder with that name already exists in this folder",
"The file does not exist anymore" : "The file does not exist anymore",
@@ -188,6 +191,9 @@ OC.L10N.register(
"Templates" : "Templates",
"One of the dropped files could not be processed" : "One of the dropped files could not be processed",
"Some files could not be moved" : "Some files could not be moved",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Could not rename \"{oldName}\", it does not exist any more",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name.",
+ "Could not rename \"{oldName}\"" : "Could not rename \"{oldName}\"",
"This operation is forbidden" : "This operation is forbidden",
"This directory is unavailable, please check the logs or contact the administrator" : "This directory is unavailable, please check the logs or contact the administrator",
"Storage is temporarily not available" : "Storage is temporarily not available",
@@ -206,7 +212,6 @@ OC.L10N.register(
"Upload too large" : "Upload too large",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "The files you are trying to upload exceed the maximum size for file uploads on this server.",
"File could not be found" : "File could not be found",
- "Download" : "Download",
"Show list view" : "Show list view",
"Show grid view" : "Show grid view",
"Close" : "Close",
@@ -245,9 +250,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Copied {origin} inside {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copied {origin} and {nbfiles} other files inside {destination}",
"{newName} already exists" : "{newName} already exists",
- "Could not rename \"{oldName}\", it does not exist any more" : "Could not rename \"{oldName}\", it does not exist any more",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name.",
- "Could not rename \"{oldName}\"" : "Could not rename \"{oldName}\"",
"Could not create file \"{file}\"" : "Could not create file \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Could not create file \"{file}\" because it already exists",
"Could not create folder \"{dir}\" because it already exists" : "Could not create folder \"{dir}\" because it already exists",
diff --git a/apps/files/l10n/ka.json b/apps/files/l10n/ka.json
index 51f54c0b425..e9b1175a47f 100644
--- a/apps/files/l10n/ka.json
+++ b/apps/files/l10n/ka.json
@@ -157,6 +157,9 @@
"Delete folder" : "Delete folder",
"Delete" : "Delete",
"Cancel" : "Cancel",
+ "Download" : "Download",
+ "Destination is not a folder" : "Destination is not a folder",
+ "This file/folder is already in that directory" : "This file/folder is already in that directory",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "You cannot move a file/folder onto itself or into a subfolder of itself",
"A file or folder with that name already exists in this folder" : "A file or folder with that name already exists in this folder",
"The file does not exist anymore" : "The file does not exist anymore",
@@ -186,6 +189,9 @@
"Templates" : "Templates",
"One of the dropped files could not be processed" : "One of the dropped files could not be processed",
"Some files could not be moved" : "Some files could not be moved",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Could not rename \"{oldName}\", it does not exist any more",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name.",
+ "Could not rename \"{oldName}\"" : "Could not rename \"{oldName}\"",
"This operation is forbidden" : "This operation is forbidden",
"This directory is unavailable, please check the logs or contact the administrator" : "This directory is unavailable, please check the logs or contact the administrator",
"Storage is temporarily not available" : "Storage is temporarily not available",
@@ -204,7 +210,6 @@
"Upload too large" : "Upload too large",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "The files you are trying to upload exceed the maximum size for file uploads on this server.",
"File could not be found" : "File could not be found",
- "Download" : "Download",
"Show list view" : "Show list view",
"Show grid view" : "Show grid view",
"Close" : "Close",
@@ -243,9 +248,6 @@
"Copied {origin} inside {destination}" : "Copied {origin} inside {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copied {origin} and {nbfiles} other files inside {destination}",
"{newName} already exists" : "{newName} already exists",
- "Could not rename \"{oldName}\", it does not exist any more" : "Could not rename \"{oldName}\", it does not exist any more",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name.",
- "Could not rename \"{oldName}\"" : "Could not rename \"{oldName}\"",
"Could not create file \"{file}\"" : "Could not create file \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Could not create file \"{file}\" because it already exists",
"Could not create folder \"{dir}\" because it already exists" : "Could not create folder \"{dir}\" because it already exists",
diff --git a/apps/files/l10n/ka_GE.js b/apps/files/l10n/ka_GE.js
deleted file mode 100644
index e5a0cc9664c..00000000000
--- a/apps/files/l10n/ka_GE.js
+++ /dev/null
@@ -1,152 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "ფაილი ვერ იქნა ნაპოვნი",
- "Move or copy" : "გადაიტანეთ ან დააკოპირეთ",
- "Download" : "ჩამოტვირთვა",
- "Delete" : "წაშლა",
- "Tags" : "ტეგები",
- "Home" : "სახლი",
- "Close" : "დახურვა",
- "Could not create folder \"{dir}\"" : "დირექტორია \"{dir}\" ვერ შეიქმნა",
- "Upload cancelled." : "ატვირთვა შეჩერებულ იქნა.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "შეუძლებელია {filename}-ის ატვირთვა, რადგანაც ის დირექტორიაა ან გააჩნია 0 ბაიტი",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "არასაკმარისი თავისუფალი სივრცე, თქვენ ტვირთავთ {size1}-ს, მაგრამ მხოლოდ {size2}-ია დარჩენილი",
- "Target folder \"{dir}\" does not exist any more" : "დანიშნულების დირექტორია \"{dir}\" აღარ არსებობს",
- "Not enough free space" : "არასაკმარისი თავისუფალი სივრცე",
- "Uploading …" : "იტვირთება ...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} სულ {totalSize}-დან ({bitrate})",
- "Target folder does not exist any more" : "დანიშნულების დირექტორია აღარ არსებობს",
- "Error when assembling chunks, status code {status}" : "ნაჭრების შეგროვებისას წარმოიშვა შეცდომა, სტატუსის კოდი {status}",
- "Actions" : "მოქმედებები",
- "Rename" : "გადარქმევა",
- "Move" : "გადატანა",
- "Copy" : "კოპირება",
- "Delete file" : "გაუქმდეს ფაილი",
- "Delete folder" : "დირექტორიის გაუქმება",
- "Disconnect storage" : "საცავის გათიშვა",
- "Could not load info for file \"{file}\"" : "ფაილზე \"{file}\" ინფორმაცია ვერ ჩაიტვირთა",
- "Files" : "ფაილები",
- "Details" : "დეტალები",
- "Pending" : "მოცდის რეჟიმში",
- "Unable to determine date" : "თარიღის დადგენა შეუძლებელია",
- "This operation is forbidden" : "ეს ოპერაცია აკრძალულია",
- "This directory is unavailable, please check the logs or contact the administrator" : "დირექტორია ხელმიუწვდომელია, გთოხვთ შეამოწმოთ ლოგები ან დაუკავშირდეთ ადმინისტრატორს",
- "Storage is temporarily not available" : "საცავი დროებით ხელმიუწვდომელია",
- "Could not move \"{file}\", target exists" : "\"{file}\"-ის გადატანა ვერ მოხერხდა, დანიშნულება არსებობს",
- "Could not move \"{file}\"" : "\"{file}\"-ის გადატანა ვერ მოხერხდა",
- "Could not copy \"{file}\", target exists" : "\"{file}\"-ის კოპირება ვერ მოხერხდა, დანიშნულება არსებობს",
- "Could not copy \"{file}\"" : "\"{file}\"-ის კოპირება ვერ მოხერხდა",
- "Copied {origin} inside {destination}" : "დაკოპირდა {origin} {destionation}-ში",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "დაკოპირდა {origin} და {nbfiles} სხვა ფაილი {destionation}-ში",
- "{newName} already exists" : "{newName} უკვე არსებობს",
- "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" სახელი ვერ შეეცვალა, ის აღარ არსებობს",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "სახელი \"{targetName}\" დირექტორია \"{dir}\"-ში უკვე გამოყენებულია. გთხოვთ აირჩიოთ სხვა სახელი.",
- "Could not rename \"{fileName}\"" : "ფაილს \"{fileName}\" სახელი ვერ შეეცვალა",
- "Could not create file \"{file}\"" : "ფაილი \"{file}\" ვერ შეიქმნა",
- "Could not create file \"{file}\" because it already exists" : "ფაილი \"{file}\" ვერ შეიქმნა, ის უკვე არსებობს",
- "Could not create folder \"{dir}\" because it already exists" : "დირექტორია \"{dir}\" ვერ შეიქმნა, ის უკვე არსებობს",
- "Error deleting file \"{fileName}\"." : "ფიალის \"{fileName}\" წაშლისას წარმოიქმნა შეცდომა.",
- "No search results in other folders for {tag}{filter}{endtag}" : "ძიების შედეგები სხვა დირექტორიებში {tag}{filter}{endtag} არაა",
- "Name" : "სახელი",
- "Size" : "ზომა",
- "Modified" : "შეცვლილია",
- "_%n folder_::_%n folders_" : ["%n დირექტორია","%n დირექტორია"],
- "_%n file_::_%n files_" : ["%n ფაილი","%n ფაილი"],
- "{dirs} and {files}" : "{dirs} და {files}",
- "_including %n hidden_::_including %n hidden_" : ["%n დამალულის ჩათვლით","%n დამალულის ჩათვლით"],
- "_Uploading %n file_::_Uploading %n files_" : ["ვტვირთავთ %n ფაილს","ვტვირთავთ %n ფაილს"],
- "New" : "ახალი",
- "{used} of {quota} used" : "გამოყენებულია {used} სულ {quota}-დან",
- "{used} used" : "გამოყენებულია {used}",
- "\"{name}\" is an invalid file name." : "\"{name}\" არასწორი ფაილის სახელია.",
- "File name cannot be empty." : "ფაილის სახელი არ შეიძლება იყოს ცარიელი.",
- "\"/\" is not allowed inside a file name." : "\"/\" ფაილის სახელში არაა ნებადართული.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" არაა დაშვებული ფაილის ტიპი",
- "View in folder" : "ჩვენება დირექტორიაში",
- "Path" : "მისამართი",
- "_%n byte_::_%n bytes_" : ["%n ბაიტი","%n ბაიტი"],
- "Favorited" : "დამატებულია რჩეულებში",
- "Favorite" : "რჩეული",
- "Copy direct link (only works for users who have access to this file/folder)" : "დააკოპირეთ პირდაპირი ბმული (მუშაობს მომხმარებლებისთვის, რომელთაც გააჩნიათ წვდომა ამ ფაილის/დირექტორიის მიმართ)",
- "New folder" : "ახალი დირექტორია",
- "Upload file" : "ფაილის ატვირთვა",
- "Recent" : "ახალი",
- "Not favorited" : "არაა დამატებული რჩეულებში",
- "Remove from favorites" : "რჩეულებიდან მოშორება",
- "Add to favorites" : "რჩეულებში დამატება",
- "An error occurred while trying to update the tags" : "ტეგების განახლების მცდელობისას წარმოიშვა შეცდომა",
- "Added to favorites" : "დაემატა რჩეულებში",
- "Removed from favorites" : "ამოიშალა რჩეულებიდან",
- "You added {file} to your favorites" : "თქვენ დაამატეთ {file}-ი რჩეულებში",
- "You removed {file} from your favorites" : "თქვენ ამოშალეთ {file}-ი თქვენი რჩეული ფაილებიდან",
- "Favorites" : "რჩეულები",
- "File changes" : "ფაილის ცვლილებები",
- "Created by {user}" : "შექმნა მომხმარებელმა {user}",
- "Changed by {user}" : "შეცვალა მომხმარებელმა {user}",
- "Deleted by {user}" : "წაშალა მომხმარებელმა {user}",
- "Restored by {user}" : "აღადგინა მომხმარებელმა {user}",
- "Renamed by {user}" : "სახელი გადაარქვა მომხმარებელმა {user}",
- "Moved by {user}" : "გადაიტანა მომხმარებელმა {user}",
- "\"remote user\"" : "\"დისტანციური მომხმარებელი\"",
- "You created {file}" : "თქვენ შექმენით {file}",
- "You created an encrypted file in {file}" : "შექმენით დაშიფრული ფაილი {file}-ში",
- "{user} created {file}" : "{user} მომხმარებელმა შექმნა {file}",
- "{user} created an encrypted file in {file}" : "{user} მომხმარებელმა შექმნა დაშიფრული ფაილი {file}-ში",
- "{file} was created in a public folder" : "{file} შეიქმნა საზოგადო დირექტორიაში",
- "You changed {file}" : "თქვენ შეცვალეთ {file}",
- "You changed an encrypted file in {file}" : "შეცვალეთ დაშიფრული ფაილი {file}-ში",
- "{user} changed {file}" : "{user} მომხმარებელმა შეცვალა {file}",
- "{user} changed an encrypted file in {file}" : "{user} მომხმარებელმა შეცვალა დაშიფრული ფაილი {file}-ში",
- "You deleted {file}" : "თქვენ წაშალეთ {file}",
- "You deleted an encrypted file in {file}" : "გააუქმეთ დაშიფრული ფაილი {file}-ში",
- "{user} deleted {file}" : "{user} მომხმარებელმა წაშალა {file}",
- "{user} deleted an encrypted file in {file}" : "{user} მომხმარებელმა გააუქმა დაშიფრული ფაილი {file}-ში",
- "You restored {file}" : "თქვენ აღადგინეთ {file}",
- "{user} restored {file}" : "{user} მომხმარებელმა განაახლა {file}",
- "You renamed {oldfile} to {newfile}" : "თქვენ გადაარქვით სახელი {oldfile}-ს {newfile}-ზე",
- "{user} renamed {oldfile} to {newfile}" : "{user}-მა გადაარქვა სახელი {oldfile}-ს {newfile}-ზე",
- "You moved {oldfile} to {newfile}" : "თქვენ გადაიტანეთ {oldfile} {newfile}-ად",
- "{user} moved {oldfile} to {newfile}" : "{user}-მა გადაიტანა {oldfile} {newfile}-ად",
- "A file has been added to or removed from your <strong>favorites</strong>" : "ყველა ფაილი დაემატა ან ამოიშალა<strong>რჩეულებიდან</strong>",
- "Upload (max. %s)" : "ატვირთვა (მაქს. %s)",
- "Accept" : "მიღება",
- "in %s" : "%s-ში",
- "Folder name" : "დირექტორიის სახელი",
- "Name cannot be empty" : "სახელი ვერ იქნება ცარიელი",
- "Select all" : "ყველას არჩევა",
- "File not found" : "ფაილი ვერ იქნა ნაპოვნი",
- "Change" : "შეცვლა",
- "Unknown error" : "უცნობი შეცდომა",
- "No files in here" : "აქ ფაილები არაა",
- "Upload some content or sync with your devices!" : "ატვირთეთ რამე ან მოახდინეთ სინქრონიზაცია თქვენს მოწყობილობებთან!",
- "Go back" : "უკან დაბრუნება",
- "Shared by link" : "გაზიარდა ბმულით",
- "Shared" : "გაზიარებული",
- "Show hidden files" : "დამალული ფაილების ჩვენება",
- "Additional settings" : "დამატებითი პარამეტრები",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "კოპირება ბუფერში",
- "Create" : "შექმნა",
- "Delete permanently" : "სამუდამოდ წაშლა",
- "No favorites yet" : "ჯერ რჩეულები არაა",
- "Files and folders you mark as favorite will show up here" : "აქ გამოჩნდებიან ფაილები და დირექტორიები, რომლებსაც მონიშნავთ რჩეულებად",
- "All files" : "ყველა ფაილი",
- "No entries found in this folder" : "ამ დირექტორიაში შენატანები ვერ იქნა ნაპოვნი",
- "Upload too large" : "ასატვირთი ფაილი ძალიან დიდია",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "ფაილის ზომა რომლის ატვირთვასაც აპირებთ, აჭარბებს სერვერზე დაშვებულ მაქსიმუმს.",
- "Text file" : "ტექსტური ფაილი",
- "New text file.txt" : "ახალი ტექსტი file.txt",
- "Storage invalid" : "საცავი არასწორია",
- "Unlimited" : "ულიმიტო",
- "Cancel" : "უარყოფა",
- "%s used" : "%s მოხმარებულია",
- "%1$s of %2$s used" : "გამოყენებულია %1$s სულ %2$s-იდან ",
- "Deleted files" : "გაუქმებული ფაილები",
- "Shares" : "გაზიარებები",
- "Shared with others" : "გაზიარდა სხვებთან",
- "Shared with you" : "გაზიარდა თქვენთან",
- "Choose" : "აირჩიეთ"
-},
-"nplurals=2; plural=(n!=1);");
diff --git a/apps/files/l10n/ka_GE.json b/apps/files/l10n/ka_GE.json
deleted file mode 100644
index 641d3b90b1b..00000000000
--- a/apps/files/l10n/ka_GE.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{ "translations": {
- "File could not be found" : "ფაილი ვერ იქნა ნაპოვნი",
- "Move or copy" : "გადაიტანეთ ან დააკოპირეთ",
- "Download" : "ჩამოტვირთვა",
- "Delete" : "წაშლა",
- "Tags" : "ტეგები",
- "Home" : "სახლი",
- "Close" : "დახურვა",
- "Could not create folder \"{dir}\"" : "დირექტორია \"{dir}\" ვერ შეიქმნა",
- "Upload cancelled." : "ატვირთვა შეჩერებულ იქნა.",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "შეუძლებელია {filename}-ის ატვირთვა, რადგანაც ის დირექტორიაა ან გააჩნია 0 ბაიტი",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "არასაკმარისი თავისუფალი სივრცე, თქვენ ტვირთავთ {size1}-ს, მაგრამ მხოლოდ {size2}-ია დარჩენილი",
- "Target folder \"{dir}\" does not exist any more" : "დანიშნულების დირექტორია \"{dir}\" აღარ არსებობს",
- "Not enough free space" : "არასაკმარისი თავისუფალი სივრცე",
- "Uploading …" : "იტვირთება ...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} სულ {totalSize}-დან ({bitrate})",
- "Target folder does not exist any more" : "დანიშნულების დირექტორია აღარ არსებობს",
- "Error when assembling chunks, status code {status}" : "ნაჭრების შეგროვებისას წარმოიშვა შეცდომა, სტატუსის კოდი {status}",
- "Actions" : "მოქმედებები",
- "Rename" : "გადარქმევა",
- "Move" : "გადატანა",
- "Copy" : "კოპირება",
- "Delete file" : "გაუქმდეს ფაილი",
- "Delete folder" : "დირექტორიის გაუქმება",
- "Disconnect storage" : "საცავის გათიშვა",
- "Could not load info for file \"{file}\"" : "ფაილზე \"{file}\" ინფორმაცია ვერ ჩაიტვირთა",
- "Files" : "ფაილები",
- "Details" : "დეტალები",
- "Pending" : "მოცდის რეჟიმში",
- "Unable to determine date" : "თარიღის დადგენა შეუძლებელია",
- "This operation is forbidden" : "ეს ოპერაცია აკრძალულია",
- "This directory is unavailable, please check the logs or contact the administrator" : "დირექტორია ხელმიუწვდომელია, გთოხვთ შეამოწმოთ ლოგები ან დაუკავშირდეთ ადმინისტრატორს",
- "Storage is temporarily not available" : "საცავი დროებით ხელმიუწვდომელია",
- "Could not move \"{file}\", target exists" : "\"{file}\"-ის გადატანა ვერ მოხერხდა, დანიშნულება არსებობს",
- "Could not move \"{file}\"" : "\"{file}\"-ის გადატანა ვერ მოხერხდა",
- "Could not copy \"{file}\", target exists" : "\"{file}\"-ის კოპირება ვერ მოხერხდა, დანიშნულება არსებობს",
- "Could not copy \"{file}\"" : "\"{file}\"-ის კოპირება ვერ მოხერხდა",
- "Copied {origin} inside {destination}" : "დაკოპირდა {origin} {destionation}-ში",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "დაკოპირდა {origin} და {nbfiles} სხვა ფაილი {destionation}-ში",
- "{newName} already exists" : "{newName} უკვე არსებობს",
- "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" სახელი ვერ შეეცვალა, ის აღარ არსებობს",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "სახელი \"{targetName}\" დირექტორია \"{dir}\"-ში უკვე გამოყენებულია. გთხოვთ აირჩიოთ სხვა სახელი.",
- "Could not rename \"{fileName}\"" : "ფაილს \"{fileName}\" სახელი ვერ შეეცვალა",
- "Could not create file \"{file}\"" : "ფაილი \"{file}\" ვერ შეიქმნა",
- "Could not create file \"{file}\" because it already exists" : "ფაილი \"{file}\" ვერ შეიქმნა, ის უკვე არსებობს",
- "Could not create folder \"{dir}\" because it already exists" : "დირექტორია \"{dir}\" ვერ შეიქმნა, ის უკვე არსებობს",
- "Error deleting file \"{fileName}\"." : "ფიალის \"{fileName}\" წაშლისას წარმოიქმნა შეცდომა.",
- "No search results in other folders for {tag}{filter}{endtag}" : "ძიების შედეგები სხვა დირექტორიებში {tag}{filter}{endtag} არაა",
- "Name" : "სახელი",
- "Size" : "ზომა",
- "Modified" : "შეცვლილია",
- "_%n folder_::_%n folders_" : ["%n დირექტორია","%n დირექტორია"],
- "_%n file_::_%n files_" : ["%n ფაილი","%n ფაილი"],
- "{dirs} and {files}" : "{dirs} და {files}",
- "_including %n hidden_::_including %n hidden_" : ["%n დამალულის ჩათვლით","%n დამალულის ჩათვლით"],
- "_Uploading %n file_::_Uploading %n files_" : ["ვტვირთავთ %n ფაილს","ვტვირთავთ %n ფაილს"],
- "New" : "ახალი",
- "{used} of {quota} used" : "გამოყენებულია {used} სულ {quota}-დან",
- "{used} used" : "გამოყენებულია {used}",
- "\"{name}\" is an invalid file name." : "\"{name}\" არასწორი ფაილის სახელია.",
- "File name cannot be empty." : "ფაილის სახელი არ შეიძლება იყოს ცარიელი.",
- "\"/\" is not allowed inside a file name." : "\"/\" ფაილის სახელში არაა ნებადართული.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" არაა დაშვებული ფაილის ტიპი",
- "View in folder" : "ჩვენება დირექტორიაში",
- "Path" : "მისამართი",
- "_%n byte_::_%n bytes_" : ["%n ბაიტი","%n ბაიტი"],
- "Favorited" : "დამატებულია რჩეულებში",
- "Favorite" : "რჩეული",
- "Copy direct link (only works for users who have access to this file/folder)" : "დააკოპირეთ პირდაპირი ბმული (მუშაობს მომხმარებლებისთვის, რომელთაც გააჩნიათ წვდომა ამ ფაილის/დირექტორიის მიმართ)",
- "New folder" : "ახალი დირექტორია",
- "Upload file" : "ფაილის ატვირთვა",
- "Recent" : "ახალი",
- "Not favorited" : "არაა დამატებული რჩეულებში",
- "Remove from favorites" : "რჩეულებიდან მოშორება",
- "Add to favorites" : "რჩეულებში დამატება",
- "An error occurred while trying to update the tags" : "ტეგების განახლების მცდელობისას წარმოიშვა შეცდომა",
- "Added to favorites" : "დაემატა რჩეულებში",
- "Removed from favorites" : "ამოიშალა რჩეულებიდან",
- "You added {file} to your favorites" : "თქვენ დაამატეთ {file}-ი რჩეულებში",
- "You removed {file} from your favorites" : "თქვენ ამოშალეთ {file}-ი თქვენი რჩეული ფაილებიდან",
- "Favorites" : "რჩეულები",
- "File changes" : "ფაილის ცვლილებები",
- "Created by {user}" : "შექმნა მომხმარებელმა {user}",
- "Changed by {user}" : "შეცვალა მომხმარებელმა {user}",
- "Deleted by {user}" : "წაშალა მომხმარებელმა {user}",
- "Restored by {user}" : "აღადგინა მომხმარებელმა {user}",
- "Renamed by {user}" : "სახელი გადაარქვა მომხმარებელმა {user}",
- "Moved by {user}" : "გადაიტანა მომხმარებელმა {user}",
- "\"remote user\"" : "\"დისტანციური მომხმარებელი\"",
- "You created {file}" : "თქვენ შექმენით {file}",
- "You created an encrypted file in {file}" : "შექმენით დაშიფრული ფაილი {file}-ში",
- "{user} created {file}" : "{user} მომხმარებელმა შექმნა {file}",
- "{user} created an encrypted file in {file}" : "{user} მომხმარებელმა შექმნა დაშიფრული ფაილი {file}-ში",
- "{file} was created in a public folder" : "{file} შეიქმნა საზოგადო დირექტორიაში",
- "You changed {file}" : "თქვენ შეცვალეთ {file}",
- "You changed an encrypted file in {file}" : "შეცვალეთ დაშიფრული ფაილი {file}-ში",
- "{user} changed {file}" : "{user} მომხმარებელმა შეცვალა {file}",
- "{user} changed an encrypted file in {file}" : "{user} მომხმარებელმა შეცვალა დაშიფრული ფაილი {file}-ში",
- "You deleted {file}" : "თქვენ წაშალეთ {file}",
- "You deleted an encrypted file in {file}" : "გააუქმეთ დაშიფრული ფაილი {file}-ში",
- "{user} deleted {file}" : "{user} მომხმარებელმა წაშალა {file}",
- "{user} deleted an encrypted file in {file}" : "{user} მომხმარებელმა გააუქმა დაშიფრული ფაილი {file}-ში",
- "You restored {file}" : "თქვენ აღადგინეთ {file}",
- "{user} restored {file}" : "{user} მომხმარებელმა განაახლა {file}",
- "You renamed {oldfile} to {newfile}" : "თქვენ გადაარქვით სახელი {oldfile}-ს {newfile}-ზე",
- "{user} renamed {oldfile} to {newfile}" : "{user}-მა გადაარქვა სახელი {oldfile}-ს {newfile}-ზე",
- "You moved {oldfile} to {newfile}" : "თქვენ გადაიტანეთ {oldfile} {newfile}-ად",
- "{user} moved {oldfile} to {newfile}" : "{user}-მა გადაიტანა {oldfile} {newfile}-ად",
- "A file has been added to or removed from your <strong>favorites</strong>" : "ყველა ფაილი დაემატა ან ამოიშალა<strong>რჩეულებიდან</strong>",
- "Upload (max. %s)" : "ატვირთვა (მაქს. %s)",
- "Accept" : "მიღება",
- "in %s" : "%s-ში",
- "Folder name" : "დირექტორიის სახელი",
- "Name cannot be empty" : "სახელი ვერ იქნება ცარიელი",
- "Select all" : "ყველას არჩევა",
- "File not found" : "ფაილი ვერ იქნა ნაპოვნი",
- "Change" : "შეცვლა",
- "Unknown error" : "უცნობი შეცდომა",
- "No files in here" : "აქ ფაილები არაა",
- "Upload some content or sync with your devices!" : "ატვირთეთ რამე ან მოახდინეთ სინქრონიზაცია თქვენს მოწყობილობებთან!",
- "Go back" : "უკან დაბრუნება",
- "Shared by link" : "გაზიარდა ბმულით",
- "Shared" : "გაზიარებული",
- "Show hidden files" : "დამალული ფაილების ჩვენება",
- "Additional settings" : "დამატებითი პარამეტრები",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "კოპირება ბუფერში",
- "Create" : "შექმნა",
- "Delete permanently" : "სამუდამოდ წაშლა",
- "No favorites yet" : "ჯერ რჩეულები არაა",
- "Files and folders you mark as favorite will show up here" : "აქ გამოჩნდებიან ფაილები და დირექტორიები, რომლებსაც მონიშნავთ რჩეულებად",
- "All files" : "ყველა ფაილი",
- "No entries found in this folder" : "ამ დირექტორიაში შენატანები ვერ იქნა ნაპოვნი",
- "Upload too large" : "ასატვირთი ფაილი ძალიან დიდია",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "ფაილის ზომა რომლის ატვირთვასაც აპირებთ, აჭარბებს სერვერზე დაშვებულ მაქსიმუმს.",
- "Text file" : "ტექსტური ფაილი",
- "New text file.txt" : "ახალი ტექსტი file.txt",
- "Storage invalid" : "საცავი არასწორია",
- "Unlimited" : "ულიმიტო",
- "Cancel" : "უარყოფა",
- "%s used" : "%s მოხმარებულია",
- "%1$s of %2$s used" : "გამოყენებულია %1$s სულ %2$s-იდან ",
- "Deleted files" : "გაუქმებული ფაილები",
- "Shares" : "გაზიარებები",
- "Shared with others" : "გაზიარდა სხვებთან",
- "Shared with you" : "გაზიარდა თქვენთან",
- "Choose" : "აირჩიეთ"
-},"pluralForm" :"nplurals=2; plural=(n!=1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/km.js b/apps/files/l10n/km.js
deleted file mode 100644
index 0202944bc42..00000000000
--- a/apps/files/l10n/km.js
+++ /dev/null
@@ -1,38 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "Unknown error" : "មិន​ស្គាល់​កំហុស",
- "No file was uploaded. Unknown error" : "មិន​មាន​ឯកសារ​ដែល​បាន​ផ្ទុក​ឡើង។ មិន​ស្គាល់​កំហុស",
- "There is no error, the file uploaded with success" : "មិន​មាន​កំហុស​អ្វី​ទេ ហើយ​ឯកសារ​ត្រូវ​បាន​ផ្ទុកឡើង​ដោយ​ជោគជ័យ",
- "Files" : "ឯកសារ",
- "Close" : "បិទ",
- "Upload cancelled." : "បាន​បោះបង់​ការ​ផ្ទុក​ឡើង។",
- "Uploading..." : "កំពុងដាក់បញ្ចូល...",
- "Download" : "ទាញយក",
- "Rename" : "ប្ដូរ​ឈ្មោះ",
- "Delete" : "លុប",
- "Unshare" : "លែង​ចែក​រំលែក",
- "Details" : "ព័ត៌មាន​លម្អិត",
- "Pending" : "កំពុង​រង់ចាំ",
- "Name" : "ឈ្មោះ",
- "Size" : "ទំហំ",
- "Modified" : "បាន​កែ​ប្រែ",
- "New" : "ថ្មី",
- "File name cannot be empty." : "ឈ្មោះ​ឯកសារ​មិន​អាច​នៅ​ទទេ​បាន​ឡើយ។",
- "Folder" : "ថត",
- "New folder" : "ថត​ថ្មី",
- "Upload" : "ផ្ទុក​ឡើង",
- "You created %1$s" : "អ្នក​បាន​បង្កើត %1$s",
- "%2$s created %1$s" : "%2$s បាន​បង្កើត %1$s",
- "You changed %1$s" : "អ្នក​បាន​ផ្លាស់​ប្ដូរ %1$s",
- "%2$s changed %1$s" : "%2$s បាន​ផ្លាស់​ប្ដូរ %1$s",
- "You deleted %1$s" : "អ្នក​បាន​លុប %1$s",
- "%2$s deleted %1$s" : "%2$s បាន​លុប %1$s",
- "Maximum upload size" : "ទំហំ​ផ្ទុកឡើង​ជា​អតិបរមា",
- "Save" : "រក្សាទុក",
- "Settings" : "ការកំណត់",
- "WebDAV" : "WebDAV",
- "Upload too large" : "ផ្ទុក​ឡើង​ធំ​ពេក",
- "Text file" : "ឯកសារ​អក្សរ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/km.json b/apps/files/l10n/km.json
deleted file mode 100644
index 8f4b54f10bc..00000000000
--- a/apps/files/l10n/km.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{ "translations": {
- "Unknown error" : "មិន​ស្គាល់​កំហុស",
- "No file was uploaded. Unknown error" : "មិន​មាន​ឯកសារ​ដែល​បាន​ផ្ទុក​ឡើង។ មិន​ស្គាល់​កំហុស",
- "There is no error, the file uploaded with success" : "មិន​មាន​កំហុស​អ្វី​ទេ ហើយ​ឯកសារ​ត្រូវ​បាន​ផ្ទុកឡើង​ដោយ​ជោគជ័យ",
- "Files" : "ឯកសារ",
- "Close" : "បិទ",
- "Upload cancelled." : "បាន​បោះបង់​ការ​ផ្ទុក​ឡើង។",
- "Uploading..." : "កំពុងដាក់បញ្ចូល...",
- "Download" : "ទាញយក",
- "Rename" : "ប្ដូរ​ឈ្មោះ",
- "Delete" : "លុប",
- "Unshare" : "លែង​ចែក​រំលែក",
- "Details" : "ព័ត៌មាន​លម្អិត",
- "Pending" : "កំពុង​រង់ចាំ",
- "Name" : "ឈ្មោះ",
- "Size" : "ទំហំ",
- "Modified" : "បាន​កែ​ប្រែ",
- "New" : "ថ្មី",
- "File name cannot be empty." : "ឈ្មោះ​ឯកសារ​មិន​អាច​នៅ​ទទេ​បាន​ឡើយ។",
- "Folder" : "ថត",
- "New folder" : "ថត​ថ្មី",
- "Upload" : "ផ្ទុក​ឡើង",
- "You created %1$s" : "អ្នក​បាន​បង្កើត %1$s",
- "%2$s created %1$s" : "%2$s បាន​បង្កើត %1$s",
- "You changed %1$s" : "អ្នក​បាន​ផ្លាស់​ប្ដូរ %1$s",
- "%2$s changed %1$s" : "%2$s បាន​ផ្លាស់​ប្ដូរ %1$s",
- "You deleted %1$s" : "អ្នក​បាន​លុប %1$s",
- "%2$s deleted %1$s" : "%2$s បាន​លុប %1$s",
- "Maximum upload size" : "ទំហំ​ផ្ទុកឡើង​ជា​អតិបរមា",
- "Save" : "រក្សាទុក",
- "Settings" : "ការកំណត់",
- "WebDAV" : "WebDAV",
- "Upload too large" : "ផ្ទុក​ឡើង​ធំ​ពេក",
- "Text file" : "ឯកសារ​អក្សរ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/kn.js b/apps/files/l10n/kn.js
deleted file mode 100644
index 6ad65bf9806..00000000000
--- a/apps/files/l10n/kn.js
+++ /dev/null
@@ -1,61 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "Storage not available" : "ಲಭ್ಯವಿಲ್ಲ ಸಂಗ್ರಹ",
- "Storage invalid" : "ಸಂಗ್ರಹ ಅಮಾನ್ಯವಾಗಿದೆ",
- "Unknown error" : "ಗೊತ್ತಿಲ್ಲದ ದೋಷ",
- "Unable to set upload directory." : "ಪೇರಿಸವ ಕೋಶವನ್ನು ಹೊಂದಿಸಲಾಗಲಿಲ್ಲ.",
- "Invalid Token" : "ಅಮಾನ್ಯ ಸಾಂಕೇತಿಕ",
- "No file was uploaded. Unknown error" : "ಕಡತ ವರ್ಗಾವಣೆ ಅಜ್ಞಾತ ದೋಷದಿಂದ ವಿಪುಲವಾಗಿದೆ",
- "There is no error, the file uploaded with success" : "ವರ್ಗಾವಣೆ ಯಾವುದೇ ದೋಷ ಕಂಡುಬರದೆ ಯಶಸ್ವಿಯಾಗಿದೆ",
- "The uploaded file was only partially uploaded" : "ವರ್ಗಾವಣೆ ಮಾಡಲಾಗುತ್ತಿದ್ದ ಕಡತವನ್ನು ಭಾಗಶಃ ಮಾತ್ರ ಪೇರಿಸಲು ಸಾದ್ಯವಾಗಿದೆ",
- "No file was uploaded" : "ವರ್ಗಾವಣೆಗೆ ಯಾವುದೇ ಕಡತಗಳು ಕಂಡುಬಂದಿಲ್ಲ",
- "Missing a temporary folder" : "ತಾತ್ಕಾಲಿಕ ಕಡತಕೋಶ ದೊರೆಕುತ್ತಿಲ್ಲ",
- "Failed to write to disk" : "ಸ್ಮರಣೆ ಸಾಧನಕ್ಕೇಬರೆಯಲು ವಿಫಲವಾಗಿದೆ",
- "Not enough storage available" : "ಲಭ್ಯವಿರುವ ಸಂಗ್ರಹ ಸಾಕಾಗುವುದಿಲ್ಲ",
- "The target folder has been moved or deleted." : "ಕೋಶದ ಉದ್ದೇಶಿತ ಸ್ಥಳ ಬದಲಾವಣೆ ಮಾಡಲಾಗಿದೆ ಅಥವಾ ಅಳಿಸಲಾಗಿದೆ.",
- "Invalid directory." : "ಅಮಾನ್ಯ ಕಡತಕೋಶ.",
- "Files" : "ಕಡತಗಳು",
- "All files" : "ಎಲ್ಲಾ ಕಡತಗಳು",
- "Home" : "ಮುಖಪುಟ",
- "Close" : "ಮುಚ್ಚು",
- "Favorites" : "ಅಚ್ಚುಮೆಚ್ಚಿನ",
- "Upload cancelled." : "ವರ್ಗಾವಣೆಯನ್ನು ರದ್ದು ಮಾಡಲಾಯಿತು.",
- "Could not get result from server." : "ಪರಿಚಾರಕ ಕಣಕದಿಂದ ಫಲಿತಾಂಶವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ.",
- "Download" : "ಪ್ರತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳಿ",
- "Rename" : "ಮರುಹೆಸರಿಸು",
- "Delete" : "ಅಳಿಸಿ",
- "Disconnect storage" : "ಸಂಗ್ರಹ ಸಾಧನವನ್ನು ತೆಗೆದುಹಾಕಿ",
- "Unshare" : "ಹಂಚಿಕೆಯನ್ನು ಹಿಂತೆಗೆ",
- "Select" : "ಆಯ್ಕೆ ಮಾಡಿ",
- "Pending" : "ಬಾಕಿ ಇದೆ",
- "Unable to determine date" : "ಮುಕ್ತಾಯ ದಿನಾಂಕ ನಿರ್ಧರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ",
- "Name" : "ಹೆಸರು",
- "Size" : " ಪ್ರಮಾಣ",
- "Modified" : "ಬದಲಾಯಿಸಿದ",
- "_%n folder_::_%n folders_" : ["%n ಕೋಶ(ಗಳು)"],
- "_%n file_::_%n files_" : ["%n ಕಡತ"],
- "You don’t have permission to upload or create files here" : "ನಿಮಗೆ ಇಲ್ಲಿ ಅಪ್ಲೋಡ್ ಅಥವಾ ಕಡತಗಳನ್ನು ರಚಿಸವ ಅನುಮತಿ ಇಲ್ಲ",
- "_Uploading %n file_::_Uploading %n files_" : ["%n 'ನೆ ಕಡತವನ್ನು ವರ್ಗಾಯಿಸಲಾಗುತ್ತಿದೆ"],
- "New" : "ಹೊಸ",
- "File name cannot be empty." : "ಕಡತ ಹೆಸರು ಖಾಲಿ ಇರುವಂತಿಲ್ಲ.",
- "Favorited" : "ಅಚ್ಚುಮೆಚ್ಚಿನವು",
- "Favorite" : "ಅಚ್ಚುಮೆಚ್ಚಿನ",
- "Folder" : "ಕಡತಕೋಶ",
- "New folder" : "ಹೊಸ ಕಡತಕೋಶ",
- "Upload" : "ವರ್ಗಾಯಿಸಿ",
- "Upload (max. %s)" : "ವರ್ಗಾವಣೆ (ಗರಿಷ್ಠ %s)",
- "File handling" : "ಕಡತ ನಿರ್ವಹಣೆ",
- "Maximum upload size" : "ಗರಿಷ್ಠ ವರ್ಗಾವಣೆ ಗಾತ್ರ",
- "max. possible: " : "ಗರಿಷ್ಠ. ಸಾಧ್ಯ:",
- "Save" : "ಉಳಿಸಿ",
- "Settings" : "ಆಯ್ಕೆ",
- "WebDAV" : "WebDAV",
- "Select all" : "ಎಲ್ಲಾ ಆಯ್ಕೆ ಮಾಡಿ",
- "Upload too large" : "ದೊಡ್ಡ ಪ್ರಮಾಣದ ಪ್ರತಿಗಳನ್ನು ವರ್ಗಾವಣೆ ಮಾಡಲು ಸಾದ್ಯವಿಲ್ಲ",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "ನೀವು ವರ್ಗಾಯಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವ ಕಡತಗಳ ಗಾತ್ರ, ಈ ಗಣಕ ಕೋಶದ ಗರಿಷ್ಠ ಕಡತ ಮೀತಿಯಾನ್ನು ಮೀರುವಂತಿಲ್ಲ.",
- "No favorites" : "ಯಾವ ಅಚ್ಚುಮೆಚ್ಚಿನವುಗಳು ಇಲ್ಲ",
- "Files and folders you mark as favorite will show up here" : "ನೀವು ಗುರುತು ಮಾಡಿರುವ ನೆಚ್ಚಿನ ಕಡತ ಮತ್ತು ಕಡತಕೋಶಗಳನ್ನು ಇಲ್ಲಿ ತೋರಿಸಲಾಗುತ್ತಿದೆ",
- "Text file" : "ಸರಳಾಕ್ಷರದ ಕಡತ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/kn.json b/apps/files/l10n/kn.json
deleted file mode 100644
index 5fda4e75989..00000000000
--- a/apps/files/l10n/kn.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{ "translations": {
- "Storage not available" : "ಲಭ್ಯವಿಲ್ಲ ಸಂಗ್ರಹ",
- "Storage invalid" : "ಸಂಗ್ರಹ ಅಮಾನ್ಯವಾಗಿದೆ",
- "Unknown error" : "ಗೊತ್ತಿಲ್ಲದ ದೋಷ",
- "Unable to set upload directory." : "ಪೇರಿಸವ ಕೋಶವನ್ನು ಹೊಂದಿಸಲಾಗಲಿಲ್ಲ.",
- "Invalid Token" : "ಅಮಾನ್ಯ ಸಾಂಕೇತಿಕ",
- "No file was uploaded. Unknown error" : "ಕಡತ ವರ್ಗಾವಣೆ ಅಜ್ಞಾತ ದೋಷದಿಂದ ವಿಪುಲವಾಗಿದೆ",
- "There is no error, the file uploaded with success" : "ವರ್ಗಾವಣೆ ಯಾವುದೇ ದೋಷ ಕಂಡುಬರದೆ ಯಶಸ್ವಿಯಾಗಿದೆ",
- "The uploaded file was only partially uploaded" : "ವರ್ಗಾವಣೆ ಮಾಡಲಾಗುತ್ತಿದ್ದ ಕಡತವನ್ನು ಭಾಗಶಃ ಮಾತ್ರ ಪೇರಿಸಲು ಸಾದ್ಯವಾಗಿದೆ",
- "No file was uploaded" : "ವರ್ಗಾವಣೆಗೆ ಯಾವುದೇ ಕಡತಗಳು ಕಂಡುಬಂದಿಲ್ಲ",
- "Missing a temporary folder" : "ತಾತ್ಕಾಲಿಕ ಕಡತಕೋಶ ದೊರೆಕುತ್ತಿಲ್ಲ",
- "Failed to write to disk" : "ಸ್ಮರಣೆ ಸಾಧನಕ್ಕೇಬರೆಯಲು ವಿಫಲವಾಗಿದೆ",
- "Not enough storage available" : "ಲಭ್ಯವಿರುವ ಸಂಗ್ರಹ ಸಾಕಾಗುವುದಿಲ್ಲ",
- "The target folder has been moved or deleted." : "ಕೋಶದ ಉದ್ದೇಶಿತ ಸ್ಥಳ ಬದಲಾವಣೆ ಮಾಡಲಾಗಿದೆ ಅಥವಾ ಅಳಿಸಲಾಗಿದೆ.",
- "Invalid directory." : "ಅಮಾನ್ಯ ಕಡತಕೋಶ.",
- "Files" : "ಕಡತಗಳು",
- "All files" : "ಎಲ್ಲಾ ಕಡತಗಳು",
- "Home" : "ಮುಖಪುಟ",
- "Close" : "ಮುಚ್ಚು",
- "Favorites" : "ಅಚ್ಚುಮೆಚ್ಚಿನ",
- "Upload cancelled." : "ವರ್ಗಾವಣೆಯನ್ನು ರದ್ದು ಮಾಡಲಾಯಿತು.",
- "Could not get result from server." : "ಪರಿಚಾರಕ ಕಣಕದಿಂದ ಫಲಿತಾಂಶವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ.",
- "Download" : "ಪ್ರತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳಿ",
- "Rename" : "ಮರುಹೆಸರಿಸು",
- "Delete" : "ಅಳಿಸಿ",
- "Disconnect storage" : "ಸಂಗ್ರಹ ಸಾಧನವನ್ನು ತೆಗೆದುಹಾಕಿ",
- "Unshare" : "ಹಂಚಿಕೆಯನ್ನು ಹಿಂತೆಗೆ",
- "Select" : "ಆಯ್ಕೆ ಮಾಡಿ",
- "Pending" : "ಬಾಕಿ ಇದೆ",
- "Unable to determine date" : "ಮುಕ್ತಾಯ ದಿನಾಂಕ ನಿರ್ಧರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ",
- "Name" : "ಹೆಸರು",
- "Size" : " ಪ್ರಮಾಣ",
- "Modified" : "ಬದಲಾಯಿಸಿದ",
- "_%n folder_::_%n folders_" : ["%n ಕೋಶ(ಗಳು)"],
- "_%n file_::_%n files_" : ["%n ಕಡತ"],
- "You don’t have permission to upload or create files here" : "ನಿಮಗೆ ಇಲ್ಲಿ ಅಪ್ಲೋಡ್ ಅಥವಾ ಕಡತಗಳನ್ನು ರಚಿಸವ ಅನುಮತಿ ಇಲ್ಲ",
- "_Uploading %n file_::_Uploading %n files_" : ["%n 'ನೆ ಕಡತವನ್ನು ವರ್ಗಾಯಿಸಲಾಗುತ್ತಿದೆ"],
- "New" : "ಹೊಸ",
- "File name cannot be empty." : "ಕಡತ ಹೆಸರು ಖಾಲಿ ಇರುವಂತಿಲ್ಲ.",
- "Favorited" : "ಅಚ್ಚುಮೆಚ್ಚಿನವು",
- "Favorite" : "ಅಚ್ಚುಮೆಚ್ಚಿನ",
- "Folder" : "ಕಡತಕೋಶ",
- "New folder" : "ಹೊಸ ಕಡತಕೋಶ",
- "Upload" : "ವರ್ಗಾಯಿಸಿ",
- "Upload (max. %s)" : "ವರ್ಗಾವಣೆ (ಗರಿಷ್ಠ %s)",
- "File handling" : "ಕಡತ ನಿರ್ವಹಣೆ",
- "Maximum upload size" : "ಗರಿಷ್ಠ ವರ್ಗಾವಣೆ ಗಾತ್ರ",
- "max. possible: " : "ಗರಿಷ್ಠ. ಸಾಧ್ಯ:",
- "Save" : "ಉಳಿಸಿ",
- "Settings" : "ಆಯ್ಕೆ",
- "WebDAV" : "WebDAV",
- "Select all" : "ಎಲ್ಲಾ ಆಯ್ಕೆ ಮಾಡಿ",
- "Upload too large" : "ದೊಡ್ಡ ಪ್ರಮಾಣದ ಪ್ರತಿಗಳನ್ನು ವರ್ಗಾವಣೆ ಮಾಡಲು ಸಾದ್ಯವಿಲ್ಲ",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "ನೀವು ವರ್ಗಾಯಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವ ಕಡತಗಳ ಗಾತ್ರ, ಈ ಗಣಕ ಕೋಶದ ಗರಿಷ್ಠ ಕಡತ ಮೀತಿಯಾನ್ನು ಮೀರುವಂತಿಲ್ಲ.",
- "No favorites" : "ಯಾವ ಅಚ್ಚುಮೆಚ್ಚಿನವುಗಳು ಇಲ್ಲ",
- "Files and folders you mark as favorite will show up here" : "ನೀವು ಗುರುತು ಮಾಡಿರುವ ನೆಚ್ಚಿನ ಕಡತ ಮತ್ತು ಕಡತಕೋಶಗಳನ್ನು ಇಲ್ಲಿ ತೋರಿಸಲಾಗುತ್ತಿದೆ",
- "Text file" : "ಸರಳಾಕ್ಷರದ ಕಡತ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js
index 4ccb57e4ac8..94966faa4b9 100644
--- a/apps/files/l10n/ko.js
+++ b/apps/files/l10n/ko.js
@@ -246,8 +246,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["{count}개 항목을 삭제하려 합니다."],
"Confirm deletion" : "삭제 확인",
"Cancel" : "취소",
+ "Download" : "다운로드",
"Moving \"{source}\" to \"{destination}\" …" : "\"{source}\"을(를) \"{destination}\"(으)로 이동...",
"Copying \"{source}\" to \"{destination}\" …" : "\"{source}\"을(를) \"{destination}\"(으)로 복사...",
+ "Destination is not a folder" : "대상이 폴더가 아닙니다.",
+ "This file/folder is already in that directory" : "이 파일/폴더가 이미 그 경로에 있습니다.",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "파일/폴더를 그 안이나 그 안의 폴더로 이동할 수 없습니다.",
"(copy)" : "(복사)",
"(copy %n)" : "(%n 복사)",
@@ -308,6 +311,9 @@ OC.L10N.register(
"Files moved successfully" : "파일을 성공적으로 이동함",
"Conflicts resolution skipped" : "충돌 해결 건너뜀",
"Upload cancelled" : "업로드가 취소됨",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\"(이)가 더이상 존재하지 않아 이름을 바꿀 수 없습니다.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" 이름이 \"{dir}\" 폴더에서 이미 사용 중입니다. 다른 이름을 고르세요.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\"의 이름을 바꿀 수 없음",
"This operation is forbidden" : "이 작업이 금지됨",
"This directory is unavailable, please check the logs or contact the administrator" : "디렉터리를 사용할 수 없습니다. 로그를 확인하거나 관리자에게 연락하십시오",
"Storage is temporarily not available" : "저장소를 일시적으로 사용할 수 없음",
@@ -338,7 +344,6 @@ OC.L10N.register(
"Upload too large" : "업로드한 파일이 너무 큼",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "이 파일이 서버에서 허용하는 최대 업로드 가능 용량보다 큽니다.",
"File could not be found" : "파일을 찾을 수 없음",
- "Download" : "다운로드",
"Show list view" : "리스트 보기",
"Show grid view" : "바둑판식 보기",
"Close" : "닫기",
@@ -377,9 +382,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin}을(를) {destination}(으)로 복사함",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} 및 다른 파일 {nbfiles}개를 {destination}(으)로 복사함",
"{newName} already exists" : "{newName}이(가) 이미 존재함",
- "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\"(이)가 더이상 존재하지 않아 이름을 바꿀 수 없습니다.",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" 이름이 \"{dir}\" 폴더에서 이미 사용 중입니다. 다른 이름을 고르세요.",
- "Could not rename \"{oldName}\"" : "\"{oldName}\"의 이름을 바꿀 수 없음",
"Could not create file \"{file}\"" : "\"{file}\"을(를) 만들 수 없음",
"Could not create file \"{file}\" because it already exists" : "파일이 이미 존재하므로 \"{file}\"을(를) 만들 수 없음",
"Could not create folder \"{dir}\" because it already exists" : "폴더가 이미 존재하므로 폴더 \"{dir}\"을(를) 만들 수 없음",
diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json
index 754e2626065..cd4214510c4 100644
--- a/apps/files/l10n/ko.json
+++ b/apps/files/l10n/ko.json
@@ -244,8 +244,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["{count}개 항목을 삭제하려 합니다."],
"Confirm deletion" : "삭제 확인",
"Cancel" : "취소",
+ "Download" : "다운로드",
"Moving \"{source}\" to \"{destination}\" …" : "\"{source}\"을(를) \"{destination}\"(으)로 이동...",
"Copying \"{source}\" to \"{destination}\" …" : "\"{source}\"을(를) \"{destination}\"(으)로 복사...",
+ "Destination is not a folder" : "대상이 폴더가 아닙니다.",
+ "This file/folder is already in that directory" : "이 파일/폴더가 이미 그 경로에 있습니다.",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "파일/폴더를 그 안이나 그 안의 폴더로 이동할 수 없습니다.",
"(copy)" : "(복사)",
"(copy %n)" : "(%n 복사)",
@@ -306,6 +309,9 @@
"Files moved successfully" : "파일을 성공적으로 이동함",
"Conflicts resolution skipped" : "충돌 해결 건너뜀",
"Upload cancelled" : "업로드가 취소됨",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\"(이)가 더이상 존재하지 않아 이름을 바꿀 수 없습니다.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" 이름이 \"{dir}\" 폴더에서 이미 사용 중입니다. 다른 이름을 고르세요.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\"의 이름을 바꿀 수 없음",
"This operation is forbidden" : "이 작업이 금지됨",
"This directory is unavailable, please check the logs or contact the administrator" : "디렉터리를 사용할 수 없습니다. 로그를 확인하거나 관리자에게 연락하십시오",
"Storage is temporarily not available" : "저장소를 일시적으로 사용할 수 없음",
@@ -336,7 +342,6 @@
"Upload too large" : "업로드한 파일이 너무 큼",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "이 파일이 서버에서 허용하는 최대 업로드 가능 용량보다 큽니다.",
"File could not be found" : "파일을 찾을 수 없음",
- "Download" : "다운로드",
"Show list view" : "리스트 보기",
"Show grid view" : "바둑판식 보기",
"Close" : "닫기",
@@ -375,9 +380,6 @@
"Copied {origin} inside {destination}" : "{origin}을(를) {destination}(으)로 복사함",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} 및 다른 파일 {nbfiles}개를 {destination}(으)로 복사함",
"{newName} already exists" : "{newName}이(가) 이미 존재함",
- "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\"(이)가 더이상 존재하지 않아 이름을 바꿀 수 없습니다.",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" 이름이 \"{dir}\" 폴더에서 이미 사용 중입니다. 다른 이름을 고르세요.",
- "Could not rename \"{oldName}\"" : "\"{oldName}\"의 이름을 바꿀 수 없음",
"Could not create file \"{file}\"" : "\"{file}\"을(를) 만들 수 없음",
"Could not create file \"{file}\" because it already exists" : "파일이 이미 존재하므로 \"{file}\"을(를) 만들 수 없음",
"Could not create folder \"{dir}\" because it already exists" : "폴더가 이미 존재하므로 폴더 \"{dir}\"을(를) 만들 수 없음",
diff --git a/apps/files/l10n/lb.js b/apps/files/l10n/lb.js
deleted file mode 100644
index f3d4e90b881..00000000000
--- a/apps/files/l10n/lb.js
+++ /dev/null
@@ -1,118 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "Storage is temporarily not available" : "Späicherplaatz temporär net erreeschbar",
- "Storage invalid" : "Späicherplatz net gülteg",
- "Unknown error" : "Et ass en onbekannte Fehler opgetrueden",
- "File could not be found" : "Datei konnt net fonnt ginn",
- "Download" : "Download",
- "Delete" : "Läschen",
- "Tags" : "Tags",
- "Home" : "Doheem",
- "Close" : "Zoumaachen",
- "Favorites" : "Favoriten",
- "Could not create folder \"{dir}\"" : "Dossier \"{dir}\" konnt net erstallt ginn",
- "Upload cancelled." : "Upload ofgebrach.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "{filename} konnt eropgelueden ginn, well et een Dossier ass oder d'Datei 0 Bytes huet",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Net genuch Späicher, du probéiers {size1} eropzelueden, et ass awer nëmmen méi {size2} fräi",
- "Target folder \"{dir}\" does not exist any more" : "Den Dossier \"{dir}\" existéiert net méi",
- "Not enough free space" : "Nët genuch Späicherplaatz",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} vun {totalSize} ({bitrate})",
- "Actions" : "Aktiounen",
- "Rename" : "Ëmbenennen",
- "Move" : "Verschieben",
- "Delete folder" : "Dossier läschen",
- "Disconnect storage" : "Net connectéierten Späicher",
- "Could not load info for file \"{file}\"" : "Et konnten keng Informatiounen zu {file} gelueden ginn",
- "Files" : "Dateien",
- "Details" : "Detailer",
- "Pending" : "Ausstoend",
- "Unable to determine date" : "Datum kann net festgestallt ginn",
- "This operation is forbidden" : "Dës Operatioun ass verbueden.",
- "This directory is unavailable, please check the logs or contact the administrator" : "Dësen Dossier ass net disponibel, w.e.g. kontrolléiert d'Logs oder kontaktéiert den Administrateur",
- "Could not move \"{file}\", target exists" : "\"{file}\" konnt beweegt ginn. Et existéiert do schonn.",
- "Could not move \"{file}\"" : "\"{file}\" konnt verreckelt ginn",
- "{newName} already exists" : "{newName} gett et schon",
- "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" konnt embenannt ginn, well et net méi existéiert",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" konnt net gesat ginn, well dësen schon am Dossier \"{dir}\" existéiert. Wiel weg. een aaneren",
- "Could not rename \"{fileName}\"" : "\"{fileName}\" konnt net embenannt ginn",
- "Could not create file \"{file}\"" : "\"{file}\" konnt net erstallt ginn",
- "Could not create file \"{file}\" because it already exists" : "\"{file}\" konnt net erstallt ginn, well des schon existéiert",
- "Could not create folder \"{dir}\" because it already exists" : "Den Dossier \"{dir}\" konnt net erstallt ginn, well desen schon existéiert",
- "Error deleting file \"{fileName}\"." : "Fehler beim läschen vun \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "Keng Resultater an aneren Dossieren fir {tag}{filter}{endtag} fonnt",
- "Name" : "Numm",
- "Size" : "Gréisst",
- "Modified" : "Geännert",
- "_%n folder_::_%n folders_" : ["¦%n Dossier","¦%n Dossieren"],
- "_%n file_::_%n files_" : ["¦%n Datei","¦%n Dateien"],
- "{dirs} and {files}" : "{dirs} an {files}",
- "_including %n hidden_::_including %n hidden_" : ["Beinhaltet ¦%n verstoppte Saach","Beinhaltet ¦%n verstoppte Saachen"],
- "_Uploading %n file_::_Uploading %n files_" : ["Am Gaangen ¦%n Datei eropzelueden","Am Gaangen ¦%n Dateien eropzelueden"],
- "\"{name}\" is an invalid file name." : "\"{name}\" ass een ongültegen Numm",
- "File name cannot be empty." : "D'Datei kann net eidel sinn",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" ass een ongültegen Typ vun Datei",
- "View in folder" : "Kuk am Dossier ",
- "Path" : "Pad",
- "_%n byte_::_%n bytes_" : ["¦%n Byte","¦%n Byte"],
- "Favorited" : "Favoriséiert",
- "Favorite" : "Favorit",
- "New folder" : "Neien Dossier",
- "Upload file" : "Upload file",
- "Recent" : "Rezent",
- "Remove from favorites" : "Remove from favorites",
- "Add to favorites" : "Add to favorites",
- "An error occurred while trying to update the tags" : "Beim Updaten vun den Tags ass e Fehler entstaanen",
- "Added to favorites" : "Zu den Favoriten dobaigesat",
- "Removed from favorites" : "Vun den Favoriten eweggeholl",
- "You added {file} to your favorites" : "Du hues {file} zu denger Favortiten dobäigesat",
- "You removed {file} from your favorites" : "Du hues {file} aus dengen Favortiten geläscht",
- "File changes" : "Datei Ännerungen",
- "Created by {user}" : "Erstallt vum {user}",
- "Changed by {user}" : "Geännert vum {user}",
- "Deleted by {user}" : "Geläscht vum {user}",
- "Restored by {user}" : "Erem hier gestallt vum {user}",
- "Renamed by {user}" : "Embenannt vum {user}",
- "Moved by {user}" : "Beweegt vum {user}",
- "\"remote user\"" : "\"Remote-Benotzer\"",
- "You created {file}" : "Du hues {file} erstallt",
- "{user} created {file}" : "Den {user} huet {file} erstallt",
- "{file} was created in a public folder" : "{file} ass an engem ëffentlechen Dossier erstallt ginn",
- "You changed {file}" : "Du hues {file} verännert",
- "{user} changed {file}" : "Den {user} huet {file} verännert",
- "You deleted {file}" : "Du hues {file} geläscht",
- "{user} deleted {file}" : "Den {user} huet {file} geläscht",
- "You restored {file}" : "Du hues {file} erem hier gestallt",
- "{user} restored {file}" : "Den {user} huet {file} erem hier gestallt",
- "You renamed {oldfile} to {newfile}" : "Du hues {oldfile} zu {newfile} embenannt",
- "{user} renamed {oldfile} to {newfile}" : "Den {user} huet {oldfile} zu {newfile} embenannt",
- "You moved {oldfile} to {newfile}" : "Du hues {oldfile} zu {newfile} verreckelt",
- "{user} moved {oldfile} to {newfile}" : "Den {user} huet {oldfile} zu {newfile} verreckelt",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Eng Datei gouf zu dengen Favoriten <strong> dobäigesat </strong> oder aus dengen Favortien <strong> geläscht </strong>",
- "All files" : "All d'Fichieren",
- "Upload (max. %s)" : "Upload (maximal ¦%s)",
- "in %s" : "an %s",
- "Cancel" : "Ofbriechen",
- "Create" : "Erstellen",
- "Show hidden files" : "Weis déi verstoppten Dateien",
- "WebDAV" : "WebDAV",
- "No files in here" : "Keng Dokumenter hei",
- "Upload some content or sync with your devices!" : "Lued Dateien erop oder synchroniséier se mat dengen Appartaten",
- "No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt",
- "Select all" : "All auswielen",
- "Upload too large" : "Upload ze grouss",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Déi Dateien déi Dir probéiert erop ze lueden sinn méi grouss wei déi Maximal Gréisst déi op dësem Server erlaabt ass.",
- "Files and folders you mark as favorite will show up here" : "Hei gesais du deng Favoriten",
- "Deleted files" : "Geläschten Dateien",
- "Shared with others" : "Mat aaneren gedeelt",
- "Shared with you" : "Mat dir gedeelt",
- "Shared by link" : "Mat engem Link gedeelt",
- "Text file" : "Text Fichier",
- "New text file.txt" : "Neien Text file.txt",
- "Select" : "Auswielen",
- "You don’t have permission to upload or create files here" : "Du hues net genuch Rechter hei Dokumenter eropzelueden oder ze erstellen",
- "New" : "Nei",
- "Copied!" : "Kopéiert!",
- "Settings" : "Astellungen"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/lb.json b/apps/files/l10n/lb.json
deleted file mode 100644
index 875e22ab1f1..00000000000
--- a/apps/files/l10n/lb.json
+++ /dev/null
@@ -1,116 +0,0 @@
-{ "translations": {
- "Storage is temporarily not available" : "Späicherplaatz temporär net erreeschbar",
- "Storage invalid" : "Späicherplatz net gülteg",
- "Unknown error" : "Et ass en onbekannte Fehler opgetrueden",
- "File could not be found" : "Datei konnt net fonnt ginn",
- "Download" : "Download",
- "Delete" : "Läschen",
- "Tags" : "Tags",
- "Home" : "Doheem",
- "Close" : "Zoumaachen",
- "Favorites" : "Favoriten",
- "Could not create folder \"{dir}\"" : "Dossier \"{dir}\" konnt net erstallt ginn",
- "Upload cancelled." : "Upload ofgebrach.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "{filename} konnt eropgelueden ginn, well et een Dossier ass oder d'Datei 0 Bytes huet",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Net genuch Späicher, du probéiers {size1} eropzelueden, et ass awer nëmmen méi {size2} fräi",
- "Target folder \"{dir}\" does not exist any more" : "Den Dossier \"{dir}\" existéiert net méi",
- "Not enough free space" : "Nët genuch Späicherplaatz",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} vun {totalSize} ({bitrate})",
- "Actions" : "Aktiounen",
- "Rename" : "Ëmbenennen",
- "Move" : "Verschieben",
- "Delete folder" : "Dossier läschen",
- "Disconnect storage" : "Net connectéierten Späicher",
- "Could not load info for file \"{file}\"" : "Et konnten keng Informatiounen zu {file} gelueden ginn",
- "Files" : "Dateien",
- "Details" : "Detailer",
- "Pending" : "Ausstoend",
- "Unable to determine date" : "Datum kann net festgestallt ginn",
- "This operation is forbidden" : "Dës Operatioun ass verbueden.",
- "This directory is unavailable, please check the logs or contact the administrator" : "Dësen Dossier ass net disponibel, w.e.g. kontrolléiert d'Logs oder kontaktéiert den Administrateur",
- "Could not move \"{file}\", target exists" : "\"{file}\" konnt beweegt ginn. Et existéiert do schonn.",
- "Could not move \"{file}\"" : "\"{file}\" konnt verreckelt ginn",
- "{newName} already exists" : "{newName} gett et schon",
- "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" konnt embenannt ginn, well et net méi existéiert",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" konnt net gesat ginn, well dësen schon am Dossier \"{dir}\" existéiert. Wiel weg. een aaneren",
- "Could not rename \"{fileName}\"" : "\"{fileName}\" konnt net embenannt ginn",
- "Could not create file \"{file}\"" : "\"{file}\" konnt net erstallt ginn",
- "Could not create file \"{file}\" because it already exists" : "\"{file}\" konnt net erstallt ginn, well des schon existéiert",
- "Could not create folder \"{dir}\" because it already exists" : "Den Dossier \"{dir}\" konnt net erstallt ginn, well desen schon existéiert",
- "Error deleting file \"{fileName}\"." : "Fehler beim läschen vun \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "Keng Resultater an aneren Dossieren fir {tag}{filter}{endtag} fonnt",
- "Name" : "Numm",
- "Size" : "Gréisst",
- "Modified" : "Geännert",
- "_%n folder_::_%n folders_" : ["¦%n Dossier","¦%n Dossieren"],
- "_%n file_::_%n files_" : ["¦%n Datei","¦%n Dateien"],
- "{dirs} and {files}" : "{dirs} an {files}",
- "_including %n hidden_::_including %n hidden_" : ["Beinhaltet ¦%n verstoppte Saach","Beinhaltet ¦%n verstoppte Saachen"],
- "_Uploading %n file_::_Uploading %n files_" : ["Am Gaangen ¦%n Datei eropzelueden","Am Gaangen ¦%n Dateien eropzelueden"],
- "\"{name}\" is an invalid file name." : "\"{name}\" ass een ongültegen Numm",
- "File name cannot be empty." : "D'Datei kann net eidel sinn",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" ass een ongültegen Typ vun Datei",
- "View in folder" : "Kuk am Dossier ",
- "Path" : "Pad",
- "_%n byte_::_%n bytes_" : ["¦%n Byte","¦%n Byte"],
- "Favorited" : "Favoriséiert",
- "Favorite" : "Favorit",
- "New folder" : "Neien Dossier",
- "Upload file" : "Upload file",
- "Recent" : "Rezent",
- "Remove from favorites" : "Remove from favorites",
- "Add to favorites" : "Add to favorites",
- "An error occurred while trying to update the tags" : "Beim Updaten vun den Tags ass e Fehler entstaanen",
- "Added to favorites" : "Zu den Favoriten dobaigesat",
- "Removed from favorites" : "Vun den Favoriten eweggeholl",
- "You added {file} to your favorites" : "Du hues {file} zu denger Favortiten dobäigesat",
- "You removed {file} from your favorites" : "Du hues {file} aus dengen Favortiten geläscht",
- "File changes" : "Datei Ännerungen",
- "Created by {user}" : "Erstallt vum {user}",
- "Changed by {user}" : "Geännert vum {user}",
- "Deleted by {user}" : "Geläscht vum {user}",
- "Restored by {user}" : "Erem hier gestallt vum {user}",
- "Renamed by {user}" : "Embenannt vum {user}",
- "Moved by {user}" : "Beweegt vum {user}",
- "\"remote user\"" : "\"Remote-Benotzer\"",
- "You created {file}" : "Du hues {file} erstallt",
- "{user} created {file}" : "Den {user} huet {file} erstallt",
- "{file} was created in a public folder" : "{file} ass an engem ëffentlechen Dossier erstallt ginn",
- "You changed {file}" : "Du hues {file} verännert",
- "{user} changed {file}" : "Den {user} huet {file} verännert",
- "You deleted {file}" : "Du hues {file} geläscht",
- "{user} deleted {file}" : "Den {user} huet {file} geläscht",
- "You restored {file}" : "Du hues {file} erem hier gestallt",
- "{user} restored {file}" : "Den {user} huet {file} erem hier gestallt",
- "You renamed {oldfile} to {newfile}" : "Du hues {oldfile} zu {newfile} embenannt",
- "{user} renamed {oldfile} to {newfile}" : "Den {user} huet {oldfile} zu {newfile} embenannt",
- "You moved {oldfile} to {newfile}" : "Du hues {oldfile} zu {newfile} verreckelt",
- "{user} moved {oldfile} to {newfile}" : "Den {user} huet {oldfile} zu {newfile} verreckelt",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Eng Datei gouf zu dengen Favoriten <strong> dobäigesat </strong> oder aus dengen Favortien <strong> geläscht </strong>",
- "All files" : "All d'Fichieren",
- "Upload (max. %s)" : "Upload (maximal ¦%s)",
- "in %s" : "an %s",
- "Cancel" : "Ofbriechen",
- "Create" : "Erstellen",
- "Show hidden files" : "Weis déi verstoppten Dateien",
- "WebDAV" : "WebDAV",
- "No files in here" : "Keng Dokumenter hei",
- "Upload some content or sync with your devices!" : "Lued Dateien erop oder synchroniséier se mat dengen Appartaten",
- "No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt",
- "Select all" : "All auswielen",
- "Upload too large" : "Upload ze grouss",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Déi Dateien déi Dir probéiert erop ze lueden sinn méi grouss wei déi Maximal Gréisst déi op dësem Server erlaabt ass.",
- "Files and folders you mark as favorite will show up here" : "Hei gesais du deng Favoriten",
- "Deleted files" : "Geläschten Dateien",
- "Shared with others" : "Mat aaneren gedeelt",
- "Shared with you" : "Mat dir gedeelt",
- "Shared by link" : "Mat engem Link gedeelt",
- "Text file" : "Text Fichier",
- "New text file.txt" : "Neien Text file.txt",
- "Select" : "Auswielen",
- "You don’t have permission to upload or create files here" : "Du hues net genuch Rechter hei Dokumenter eropzelueden oder ze erstellen",
- "New" : "Nei",
- "Copied!" : "Kopéiert!",
- "Settings" : "Astellungen"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/lo.js b/apps/files/l10n/lo.js
deleted file mode 100644
index 2d01379b83d..00000000000
--- a/apps/files/l10n/lo.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "Storage not available" : "ບໍ່ມີພື້ນທີ່ເກັບຂໍ້ມູນ",
- "Storage invalid" : "ພື້ນທີ່ເກັບຂໍ້ມູນບໍ່ຖືກຕ້ອງ",
- "Unknown error" : "ຂໍ້ຜິດພາດທີ່ບໍ່ຮູ້ສາເຫດ",
- "The target folder has been moved or deleted." : "ໂຟນເດີທີ່ທ່ານເລືອກໄດ້ຖືກຍ້າຍ ຫຼື ລຶບອອກແລ້ວ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/lo.json b/apps/files/l10n/lo.json
deleted file mode 100644
index 12eea86a936..00000000000
--- a/apps/files/l10n/lo.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Storage not available" : "ບໍ່ມີພື້ນທີ່ເກັບຂໍ້ມູນ",
- "Storage invalid" : "ພື້ນທີ່ເກັບຂໍ້ມູນບໍ່ຖືກຕ້ອງ",
- "Unknown error" : "ຂໍ້ຜິດພາດທີ່ບໍ່ຮູ້ສາເຫດ",
- "The target folder has been moved or deleted." : "ໂຟນເດີທີ່ທ່ານເລືອກໄດ້ຖືກຍ້າຍ ຫຼື ລຶບອອກແລ້ວ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js
index 30a359ea697..4ccbe0c3198 100644
--- a/apps/files/l10n/lt_LT.js
+++ b/apps/files/l10n/lt_LT.js
@@ -171,6 +171,7 @@ OC.L10N.register(
"Delete" : "Ištrinti",
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Jūs ketinate ištrinti {count} elementą","Jūs ketinate ištrinti {count} elementus","Jūs ketinate ištrinti {count} elementų","Jūs ketinate ištrinti {count} elementą"],
"Cancel" : "Atsisakyti",
+ "Download" : "Atsisiųsti",
"Moving \"{source}\" to \"{destination}\" …" : "Perkeliama „{source}“ į „{destination}“…",
"Copying \"{source}\" to \"{destination}\" …" : "Kopijuojama „{source}“ į „{destination}“…",
"(copy)" : "(kopija)",
@@ -211,6 +212,9 @@ OC.L10N.register(
"Some files could not be moved" : "Kai kurių failų nepavyko perkelti",
"Files copied successfully" : "Failai sėkmingai nukopijuoti",
"Files moved successfully" : "Failai sėkmingai perkelti",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nepavyko pervadinti failo „{oldName}“, jo daugiau nebėra",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Pavadinimas „{newName}“ jau naudojamas aplanke „{dir}“. Pasirinkite kitokį pavadinimą.",
+ "Could not rename \"{oldName}\"" : "Nepavyko pervadinti „{oldName}“",
"This operation is forbidden" : "Ši operacija yra uždrausta",
"This directory is unavailable, please check the logs or contact the administrator" : "Šis katalogas neprieinamas, peržiūrėkite žurnalo įrašus arba susisiekite su administratoriumi",
"Storage is temporarily not available" : "Saugykla yra laikinai neprieinama",
@@ -235,7 +239,6 @@ OC.L10N.register(
"Upload too large" : "Įkėlimui failas per didelis",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Bandomų įkelti failų dydis viršija maksimalų, šiame serveryje leidžiamų įkelti failų dydį.",
"File could not be found" : "Nepavyko rasti failo",
- "Download" : "Atsisiųsti",
"Show list view" : "Rodyti sąrašo rodinį",
"Show grid view" : "Rodyti tinklelio rodinį",
"Close" : "Užverti",
@@ -273,9 +276,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Nukopijuota {origin} aplanke {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Nukopijuota {origin} ir dar {nbfiles} failus aplanke {destination}",
"{newName} already exists" : "{newName} jau yra",
- "Could not rename \"{oldName}\", it does not exist any more" : "Nepavyko pervadinti failo „{oldName}“, jo daugiau nebėra",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Pavadinimas „{newName}“ jau naudojamas aplanke „{dir}“. Pasirinkite kitokį pavadinimą.",
- "Could not rename \"{oldName}\"" : "Nepavyko pervadinti „{oldName}“",
"Could not create file \"{file}\"" : "Nepavyko sukurti failo „{file}“",
"Could not create file \"{file}\" because it already exists" : "Nepavyko sukurti failo „{file}“, nes jis jau yra",
"Could not create folder \"{dir}\" because it already exists" : "Nepavyko sukurti aplanko „{dir}“, nes jis jau yra",
diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json
index 8fda427c49e..02237ec309f 100644
--- a/apps/files/l10n/lt_LT.json
+++ b/apps/files/l10n/lt_LT.json
@@ -169,6 +169,7 @@
"Delete" : "Ištrinti",
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Jūs ketinate ištrinti {count} elementą","Jūs ketinate ištrinti {count} elementus","Jūs ketinate ištrinti {count} elementų","Jūs ketinate ištrinti {count} elementą"],
"Cancel" : "Atsisakyti",
+ "Download" : "Atsisiųsti",
"Moving \"{source}\" to \"{destination}\" …" : "Perkeliama „{source}“ į „{destination}“…",
"Copying \"{source}\" to \"{destination}\" …" : "Kopijuojama „{source}“ į „{destination}“…",
"(copy)" : "(kopija)",
@@ -209,6 +210,9 @@
"Some files could not be moved" : "Kai kurių failų nepavyko perkelti",
"Files copied successfully" : "Failai sėkmingai nukopijuoti",
"Files moved successfully" : "Failai sėkmingai perkelti",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nepavyko pervadinti failo „{oldName}“, jo daugiau nebėra",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Pavadinimas „{newName}“ jau naudojamas aplanke „{dir}“. Pasirinkite kitokį pavadinimą.",
+ "Could not rename \"{oldName}\"" : "Nepavyko pervadinti „{oldName}“",
"This operation is forbidden" : "Ši operacija yra uždrausta",
"This directory is unavailable, please check the logs or contact the administrator" : "Šis katalogas neprieinamas, peržiūrėkite žurnalo įrašus arba susisiekite su administratoriumi",
"Storage is temporarily not available" : "Saugykla yra laikinai neprieinama",
@@ -233,7 +237,6 @@
"Upload too large" : "Įkėlimui failas per didelis",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Bandomų įkelti failų dydis viršija maksimalų, šiame serveryje leidžiamų įkelti failų dydį.",
"File could not be found" : "Nepavyko rasti failo",
- "Download" : "Atsisiųsti",
"Show list view" : "Rodyti sąrašo rodinį",
"Show grid view" : "Rodyti tinklelio rodinį",
"Close" : "Užverti",
@@ -271,9 +274,6 @@
"Copied {origin} inside {destination}" : "Nukopijuota {origin} aplanke {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Nukopijuota {origin} ir dar {nbfiles} failus aplanke {destination}",
"{newName} already exists" : "{newName} jau yra",
- "Could not rename \"{oldName}\", it does not exist any more" : "Nepavyko pervadinti failo „{oldName}“, jo daugiau nebėra",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Pavadinimas „{newName}“ jau naudojamas aplanke „{dir}“. Pasirinkite kitokį pavadinimą.",
- "Could not rename \"{oldName}\"" : "Nepavyko pervadinti „{oldName}“",
"Could not create file \"{file}\"" : "Nepavyko sukurti failo „{file}“",
"Could not create file \"{file}\" because it already exists" : "Nepavyko sukurti failo „{file}“, nes jis jau yra",
"Could not create folder \"{dir}\" because it already exists" : "Nepavyko sukurti aplanko „{dir}“, nes jis jau yra",
diff --git a/apps/files/l10n/lv.js b/apps/files/l10n/lv.js
deleted file mode 100644
index 91e029da7b8..00000000000
--- a/apps/files/l10n/lv.js
+++ /dev/null
@@ -1,152 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "Datni nevar atrast",
- "Move or copy" : "Pārvietot vai kopēt",
- "Download" : "Lejupielādēt",
- "Delete" : "Dzēst",
- "Tags" : "Birkas",
- "Show list view" : "Rādīt saraksta skatu",
- "Show grid view" : "Rādīt režģa skatu",
- "Home" : "Mājas",
- "Close" : "Aizvērt",
- "Could not create folder \"{dir}\"" : "Nevarēja izveidot mapi \"{dir}\"",
- "This will stop your current uploads." : "Tādējādi tiks pārtraukta jūsu pašreizējā augšupielāde.",
- "Upload cancelled." : "Augšupielāde ir atcelta.",
- "Processing files …" : "Notiek datņu apstrāde …",
- "…" : "…",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Neizdodas augšupielādēt {filename}, jo tā ir vai nu mape vai 0 baitu saturoša datne.",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nav pietiekami daudz brīvas vietas. Tiek augšupielādēti {size1}, bet pieejami tikai {size2}",
- "Target folder \"{dir}\" does not exist any more" : "Mape \"{dir}\" vairs neeksistē",
- "Not enough free space" : "Nav pietiekami daudz brīvas vietas",
- "An unknown error has occurred" : "Radusies nezināma kļūda",
- "Uploading …" : "Augšupielādē…",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} no {totalSize} ({bitrate})",
- "Actions" : "Darbības",
- "Rename" : "Pārsaukt",
- "Move" : "Pārvietot",
- "Copy" : "Kopēt",
- "Open" : "Atvērt",
- "Delete file" : "Dzēst datni",
- "Delete folder" : "Dzēst mapi",
- "Disconnect storage" : "Atvienot glabātuvi",
- "Could not load info for file \"{file}\"" : "Nevar ielādēt informāciju par datni \"{file}\"",
- "Files" : "Datnes",
- "Details" : "Detaļas",
- "Pending" : "Gaida savu kārtu",
- "Unable to determine date" : "Neizdevās noteikt datumu",
- "This operation is forbidden" : "Šī darbība ir aizliegta",
- "This directory is unavailable, please check the logs or contact the administrator" : "Šis direktorijs nav pieejams, lūdzu pārbaudiet žurnālus vai sazinieties ar administratoru",
- "Storage is temporarily not available" : "Glabātuve īslaicīgi nav pieejama",
- "Could not move \"{file}\", target exists" : "Nevarēja pārvietot \"{file}\", mērķis eksistē",
- "Could not move \"{file}\"" : "Nevarēja pārvietot \"{file}\"",
- "copy" : "kopēt",
- "{newName} already exists" : "{newName} jau eksistē",
- "Could not rename \"{fileName}\", it does not exist any more" : "Nevarēja pārsaukt \"{fileName}\", tā vairs neeksistē",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nosaukums \"{targetName}\" jau tiek izmantots mapē \"{dir}\". Lūdzu izvēlies citu nosaukumu.",
- "Could not rename \"{fileName}\"" : "Nevarēja pārsaukt \"{fileName}\"",
- "Could not create file \"{file}\"" : "Nevarēja izveidot datni \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "Nevarēja izveidot datni \"{file}\", jo tā jau eksistē",
- "Could not create folder \"{dir}\" because it already exists" : "Nevarēja izveidot mapi \"{dir}\", jo tā jau eksistē",
- "Error deleting file \"{fileName}\"." : "Kļūda dzēšot datni \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "Nav nekas atrasts citā mapēs {tag}{filter}{endtag}",
- "Name" : "Nosaukums",
- "Size" : "Izmērs",
- "Modified" : "Mainīts",
- "_%n folder_::_%n folders_" : ["%n mapes","%n mape","%n mapes"],
- "_%n file_::_%n files_" : ["%n datnes","%n datne","%n datnes"],
- "{dirs} and {files}" : "{dirs} un {files}",
- "_including %n hidden_::_including %n hidden_" : ["ieskaitot %n paslēptos","ieskaitot %n paslēptos","ieskaitot %n paslēptos"],
- "_Uploading %n file_::_Uploading %n files_" : ["%n","Augšupielāde %n failu","Augšupielādē %n datnes"],
- "New" : "Jauns",
- "\"{name}\" is an invalid file name." : "\"{name}\" ir nepareizs datnes nosaukums.",
- "File name cannot be empty." : "Datnes nosaukums nevar būt tukšs.",
- "\"/\" is not allowed inside a file name." : "\"/\" nav atļauts faila nosaukumā.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" nav atļauts faila tips",
- "View in folder" : "Skatīt mapē",
- "Path" : "Ceļš",
- "_%n byte_::_%n bytes_" : ["%n baiti","%n baits","%n baiti"],
- "Favorited" : "Favorīti",
- "Favorite" : "Iecienītais",
- "New folder" : "Jauna mape",
- "Create new folder" : "Izveidot jaunu mapi",
- "Upload file" : "Augšupielādēt datni",
- "Recent" : "Nesenās",
- "Remove from favorites" : "Noņemt no favorītiem",
- "Add to favorites" : "Pievienot izlasei",
- "An error occurred while trying to update the tags" : "Notika kļūda mēģinot atjaunot birkas",
- "Added to favorites" : "Pievienot favorītiem",
- "Removed from favorites" : "Noņemt no favorītiem",
- "You added {file} to your favorites" : "Pievienoji {file} saviem favorītiem",
- "You removed {file} from your favorites" : "Noņēmi {file} no saviem favorītiem",
- "Favorites" : "Iecienītie",
- "File changes" : "Datnes izmaiņas",
- "Created by {user}" : "Izveidoja {user}",
- "Changed by {user}" : "Izmainīja {user}",
- "Deleted by {user}" : "Dzēsa {user}",
- "Restored by {user}" : "Atjaunoja {user}",
- "Renamed by {user}" : "Pārdēvēja {user}",
- "Moved by {user}" : "Pārvietoja {user}",
- "\"remote user\"" : "\"attālināts lietotājs\"",
- "You created {file}" : "Jūs izveidojāt {file}",
- "{user} created {file}" : "{user} izveidoja {file}",
- "{file} was created in a public folder" : "{file} tika izveidots publiskajā mapē",
- "You changed {file}" : "Jūs izmainījāt {file}",
- "{user} changed {file}" : "{user} mainīts {file}",
- "You deleted {file}" : "Jūs izdzēsāt {file}",
- "{user} deleted {file}" : "{user} izdzēsa {file}",
- "You restored {file}" : "Tu atjaunoji {file}",
- "{user} restored {file}" : "{user} atjaunoja {file}",
- "You renamed {oldfile} to {newfile}" : "Pārdēvēji {oldfile} uz {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} pārdēvēja {oldfile} uz {newfile}",
- "You moved {oldfile} to {newfile}" : "Pārvietoji {oldfile} uz {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} pārvietoja {oldfile} uz {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Datne ir pievienota vai noņemta no jūsu <strong>favorītiem</strong>",
- "A file or folder has been <strong>changed</strong>" : "<strong>Izmainīta</strong> datne vai mape",
- "Upload (max. %s)" : "Augšupielādēt (maks. %s)",
- "Accept" : "Akceptēt",
- "Reject" : "Noraidīt",
- "in %s" : "iekš %s",
- "Folder name" : "Mapes nosaukums",
- "Select all" : "Atzīmēt visu",
- "File not found" : "Datne nav atrasta",
- "Change" : "Mainīt",
- "Unknown error" : "Nezināma kļūda",
- "No files in here" : "Šeit nav datņu",
- "Upload some content or sync with your devices!" : "Augšupielādē kaut ko vai sinhronizē saturu ar savām ierīcēm!",
- "Go back" : "Atpakaļ",
- "Share" : "Dalīties",
- "Shared by link" : "Koplietots ar saiti",
- "Shared" : "Koplietots",
- "Files settings" : "Failu iestatījumi",
- "Show hidden files" : "Rādīt slēptās datnes",
- "Crop image previews" : "Apgriezt attēlu priekšskatījumus",
- "Additional settings" : "Papildu iestatījumi",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Kopēt starpliktuvē",
- "Use this address to access your Files via WebDAV" : "Izmantojiet šo adresi, lai piekļūtu savām datnēm, izmantojot WebDAV",
- "Create" : "Izveidot",
- "Delete permanently" : "Dzēst pavisam",
- "Open details" : "Atvērt detaļas",
- "Files and folders you mark as favorite will show up here" : "Datnes un mapes, ko atzīmēsiet kā favorītus, tiks rādīti šeit",
- "All files" : "Visas datnes",
- "No entries found in this folder" : "Šajā mapē nekas nav atrasts",
- "Upload too large" : "Datne ir par lielu, lai to augšupielādētu",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Augšupielādējamās datnes pārsniedz servera pieļaujamo datņu augšupielādes apjomu",
- "Text file" : "Teksta datne",
- "New text file.txt" : "Jauna teksta datne.txt",
- "Storage invalid" : "Nepareiza glabātuve",
- "Unlimited" : "Neierobežota",
- "Cancel" : "Atcelt",
- "%s used" : "%s izmantoti",
- "%1$s of %2$s used" : "%1$s no %2$s lietoti",
- "Toggle grid view" : "Pārslēgt režģa skatu",
- "Deleted files" : "Dzēstās datnes",
- "Shares" : "Koplietots",
- "Shared with others" : "Koplietots ar citiem",
- "Shared with you" : "Koplietots ar tevi",
- "Deleted shares" : "Dzēstās koplietotnes",
- "Pending shares" : "Gaidošie koplietojumi",
- "Choose" : "Izvēlies"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/files/l10n/lv.json b/apps/files/l10n/lv.json
deleted file mode 100644
index a67f816471b..00000000000
--- a/apps/files/l10n/lv.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{ "translations": {
- "File could not be found" : "Datni nevar atrast",
- "Move or copy" : "Pārvietot vai kopēt",
- "Download" : "Lejupielādēt",
- "Delete" : "Dzēst",
- "Tags" : "Birkas",
- "Show list view" : "Rādīt saraksta skatu",
- "Show grid view" : "Rādīt režģa skatu",
- "Home" : "Mājas",
- "Close" : "Aizvērt",
- "Could not create folder \"{dir}\"" : "Nevarēja izveidot mapi \"{dir}\"",
- "This will stop your current uploads." : "Tādējādi tiks pārtraukta jūsu pašreizējā augšupielāde.",
- "Upload cancelled." : "Augšupielāde ir atcelta.",
- "Processing files …" : "Notiek datņu apstrāde …",
- "…" : "…",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Neizdodas augšupielādēt {filename}, jo tā ir vai nu mape vai 0 baitu saturoša datne.",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nav pietiekami daudz brīvas vietas. Tiek augšupielādēti {size1}, bet pieejami tikai {size2}",
- "Target folder \"{dir}\" does not exist any more" : "Mape \"{dir}\" vairs neeksistē",
- "Not enough free space" : "Nav pietiekami daudz brīvas vietas",
- "An unknown error has occurred" : "Radusies nezināma kļūda",
- "Uploading …" : "Augšupielādē…",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} no {totalSize} ({bitrate})",
- "Actions" : "Darbības",
- "Rename" : "Pārsaukt",
- "Move" : "Pārvietot",
- "Copy" : "Kopēt",
- "Open" : "Atvērt",
- "Delete file" : "Dzēst datni",
- "Delete folder" : "Dzēst mapi",
- "Disconnect storage" : "Atvienot glabātuvi",
- "Could not load info for file \"{file}\"" : "Nevar ielādēt informāciju par datni \"{file}\"",
- "Files" : "Datnes",
- "Details" : "Detaļas",
- "Pending" : "Gaida savu kārtu",
- "Unable to determine date" : "Neizdevās noteikt datumu",
- "This operation is forbidden" : "Šī darbība ir aizliegta",
- "This directory is unavailable, please check the logs or contact the administrator" : "Šis direktorijs nav pieejams, lūdzu pārbaudiet žurnālus vai sazinieties ar administratoru",
- "Storage is temporarily not available" : "Glabātuve īslaicīgi nav pieejama",
- "Could not move \"{file}\", target exists" : "Nevarēja pārvietot \"{file}\", mērķis eksistē",
- "Could not move \"{file}\"" : "Nevarēja pārvietot \"{file}\"",
- "copy" : "kopēt",
- "{newName} already exists" : "{newName} jau eksistē",
- "Could not rename \"{fileName}\", it does not exist any more" : "Nevarēja pārsaukt \"{fileName}\", tā vairs neeksistē",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nosaukums \"{targetName}\" jau tiek izmantots mapē \"{dir}\". Lūdzu izvēlies citu nosaukumu.",
- "Could not rename \"{fileName}\"" : "Nevarēja pārsaukt \"{fileName}\"",
- "Could not create file \"{file}\"" : "Nevarēja izveidot datni \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "Nevarēja izveidot datni \"{file}\", jo tā jau eksistē",
- "Could not create folder \"{dir}\" because it already exists" : "Nevarēja izveidot mapi \"{dir}\", jo tā jau eksistē",
- "Error deleting file \"{fileName}\"." : "Kļūda dzēšot datni \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "Nav nekas atrasts citā mapēs {tag}{filter}{endtag}",
- "Name" : "Nosaukums",
- "Size" : "Izmērs",
- "Modified" : "Mainīts",
- "_%n folder_::_%n folders_" : ["%n mapes","%n mape","%n mapes"],
- "_%n file_::_%n files_" : ["%n datnes","%n datne","%n datnes"],
- "{dirs} and {files}" : "{dirs} un {files}",
- "_including %n hidden_::_including %n hidden_" : ["ieskaitot %n paslēptos","ieskaitot %n paslēptos","ieskaitot %n paslēptos"],
- "_Uploading %n file_::_Uploading %n files_" : ["%n","Augšupielāde %n failu","Augšupielādē %n datnes"],
- "New" : "Jauns",
- "\"{name}\" is an invalid file name." : "\"{name}\" ir nepareizs datnes nosaukums.",
- "File name cannot be empty." : "Datnes nosaukums nevar būt tukšs.",
- "\"/\" is not allowed inside a file name." : "\"/\" nav atļauts faila nosaukumā.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" nav atļauts faila tips",
- "View in folder" : "Skatīt mapē",
- "Path" : "Ceļš",
- "_%n byte_::_%n bytes_" : ["%n baiti","%n baits","%n baiti"],
- "Favorited" : "Favorīti",
- "Favorite" : "Iecienītais",
- "New folder" : "Jauna mape",
- "Create new folder" : "Izveidot jaunu mapi",
- "Upload file" : "Augšupielādēt datni",
- "Recent" : "Nesenās",
- "Remove from favorites" : "Noņemt no favorītiem",
- "Add to favorites" : "Pievienot izlasei",
- "An error occurred while trying to update the tags" : "Notika kļūda mēģinot atjaunot birkas",
- "Added to favorites" : "Pievienot favorītiem",
- "Removed from favorites" : "Noņemt no favorītiem",
- "You added {file} to your favorites" : "Pievienoji {file} saviem favorītiem",
- "You removed {file} from your favorites" : "Noņēmi {file} no saviem favorītiem",
- "Favorites" : "Iecienītie",
- "File changes" : "Datnes izmaiņas",
- "Created by {user}" : "Izveidoja {user}",
- "Changed by {user}" : "Izmainīja {user}",
- "Deleted by {user}" : "Dzēsa {user}",
- "Restored by {user}" : "Atjaunoja {user}",
- "Renamed by {user}" : "Pārdēvēja {user}",
- "Moved by {user}" : "Pārvietoja {user}",
- "\"remote user\"" : "\"attālināts lietotājs\"",
- "You created {file}" : "Jūs izveidojāt {file}",
- "{user} created {file}" : "{user} izveidoja {file}",
- "{file} was created in a public folder" : "{file} tika izveidots publiskajā mapē",
- "You changed {file}" : "Jūs izmainījāt {file}",
- "{user} changed {file}" : "{user} mainīts {file}",
- "You deleted {file}" : "Jūs izdzēsāt {file}",
- "{user} deleted {file}" : "{user} izdzēsa {file}",
- "You restored {file}" : "Tu atjaunoji {file}",
- "{user} restored {file}" : "{user} atjaunoja {file}",
- "You renamed {oldfile} to {newfile}" : "Pārdēvēji {oldfile} uz {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} pārdēvēja {oldfile} uz {newfile}",
- "You moved {oldfile} to {newfile}" : "Pārvietoji {oldfile} uz {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} pārvietoja {oldfile} uz {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Datne ir pievienota vai noņemta no jūsu <strong>favorītiem</strong>",
- "A file or folder has been <strong>changed</strong>" : "<strong>Izmainīta</strong> datne vai mape",
- "Upload (max. %s)" : "Augšupielādēt (maks. %s)",
- "Accept" : "Akceptēt",
- "Reject" : "Noraidīt",
- "in %s" : "iekš %s",
- "Folder name" : "Mapes nosaukums",
- "Select all" : "Atzīmēt visu",
- "File not found" : "Datne nav atrasta",
- "Change" : "Mainīt",
- "Unknown error" : "Nezināma kļūda",
- "No files in here" : "Šeit nav datņu",
- "Upload some content or sync with your devices!" : "Augšupielādē kaut ko vai sinhronizē saturu ar savām ierīcēm!",
- "Go back" : "Atpakaļ",
- "Share" : "Dalīties",
- "Shared by link" : "Koplietots ar saiti",
- "Shared" : "Koplietots",
- "Files settings" : "Failu iestatījumi",
- "Show hidden files" : "Rādīt slēptās datnes",
- "Crop image previews" : "Apgriezt attēlu priekšskatījumus",
- "Additional settings" : "Papildu iestatījumi",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Kopēt starpliktuvē",
- "Use this address to access your Files via WebDAV" : "Izmantojiet šo adresi, lai piekļūtu savām datnēm, izmantojot WebDAV",
- "Create" : "Izveidot",
- "Delete permanently" : "Dzēst pavisam",
- "Open details" : "Atvērt detaļas",
- "Files and folders you mark as favorite will show up here" : "Datnes un mapes, ko atzīmēsiet kā favorītus, tiks rādīti šeit",
- "All files" : "Visas datnes",
- "No entries found in this folder" : "Šajā mapē nekas nav atrasts",
- "Upload too large" : "Datne ir par lielu, lai to augšupielādētu",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Augšupielādējamās datnes pārsniedz servera pieļaujamo datņu augšupielādes apjomu",
- "Text file" : "Teksta datne",
- "New text file.txt" : "Jauna teksta datne.txt",
- "Storage invalid" : "Nepareiza glabātuve",
- "Unlimited" : "Neierobežota",
- "Cancel" : "Atcelt",
- "%s used" : "%s izmantoti",
- "%1$s of %2$s used" : "%1$s no %2$s lietoti",
- "Toggle grid view" : "Pārslēgt režģa skatu",
- "Deleted files" : "Dzēstās datnes",
- "Shares" : "Koplietots",
- "Shared with others" : "Koplietots ar citiem",
- "Shared with you" : "Koplietots ar tevi",
- "Deleted shares" : "Dzēstās koplietotnes",
- "Pending shares" : "Gaidošie koplietojumi",
- "Choose" : "Izvēlies"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/mg.js b/apps/files/l10n/mg.js
deleted file mode 100644
index c50be1aa479..00000000000
--- a/apps/files/l10n/mg.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/files/l10n/mg.json b/apps/files/l10n/mg.json
deleted file mode 100644
index 210ac153bab..00000000000
--- a/apps/files/l10n/mg.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js
index ec3cccd3830..d6d7a084958 100644
--- a/apps/files/l10n/mk.js
+++ b/apps/files/l10n/mk.js
@@ -185,6 +185,9 @@ OC.L10N.register(
"Delete" : "Избриши",
"Confirm deletion" : "Потврди бришење",
"Cancel" : "Откажи",
+ "Download" : "Преземи",
+ "Destination is not a folder" : "Дестинацијата не е папка",
+ "This file/folder is already in that directory" : "Оваа папка/датотека се наоѓа веќе во таа папка",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Неможете да преместите датотека/папка во себеси или во подпапка во себеси",
"(copy)" : "(копирај)",
"(copy %n)" : "(копирај %n)",
@@ -221,6 +224,9 @@ OC.L10N.register(
"Templates" : "Шаблони",
"One of the dropped files could not be processed" : "Една од испуштените датотеки неможе да се процесоира",
"Some files could not be moved" : "Некои датотеки не можат да се преместат",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Неможе да се преименува \"{oldName}\", не постои повеќе",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{newName}\" веќе се користи во папката \"{dir}\". Ве молиме изберете друго име.",
+ "Could not rename \"{oldName}\"" : "Неможе да се преименува \"{oldName}\"",
"This operation is forbidden" : "Операцијата не е дозволена",
"This directory is unavailable, please check the logs or contact the administrator" : "Овој директориум е недостапен, ве молиме проверете ги логовите или контактирајте со администраторот",
"Storage is temporarily not available" : "Складиштето моментално не е достапно",
@@ -243,7 +249,6 @@ OC.L10N.register(
"Upload too large" : "Фајлот кој се вчитува е преголем",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Датотеките кои се обидувате да ги подигнете ја надминуваат максималната големина за подигнување датотеки на овој сервер.",
"File could not be found" : "Неможе да се пронајде датотеката",
- "Download" : "Преземи",
"Show list view" : "Прикажи поглед во листа",
"Show grid view" : "Прикажи поглед во мрежа",
"Close" : "Затвори",
@@ -282,9 +287,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Копирана {origin} во {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Копирана {origin} и {nbfiles} други датотеки во {destination}",
"{newName} already exists" : "{newName} веќе постои",
- "Could not rename \"{oldName}\", it does not exist any more" : "Неможе да се преименува \"{oldName}\", не постои повеќе",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{newName}\" веќе се користи во папката \"{dir}\". Ве молиме изберете друго име.",
- "Could not rename \"{oldName}\"" : "Неможе да се преименува \"{oldName}\"",
"Could not create file \"{file}\"" : "Неможе да се креира датотека \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Неможе да се креира датотека \"{file}\" бидејќи веќе постои",
"Could not create folder \"{dir}\" because it already exists" : "Неможе да се креира папка \"{dir}\" бидејќи веќе постои",
diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json
index 69caf06a262..30e96f21335 100644
--- a/apps/files/l10n/mk.json
+++ b/apps/files/l10n/mk.json
@@ -183,6 +183,9 @@
"Delete" : "Избриши",
"Confirm deletion" : "Потврди бришење",
"Cancel" : "Откажи",
+ "Download" : "Преземи",
+ "Destination is not a folder" : "Дестинацијата не е папка",
+ "This file/folder is already in that directory" : "Оваа папка/датотека се наоѓа веќе во таа папка",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Неможете да преместите датотека/папка во себеси или во подпапка во себеси",
"(copy)" : "(копирај)",
"(copy %n)" : "(копирај %n)",
@@ -219,6 +222,9 @@
"Templates" : "Шаблони",
"One of the dropped files could not be processed" : "Една од испуштените датотеки неможе да се процесоира",
"Some files could not be moved" : "Некои датотеки не можат да се преместат",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Неможе да се преименува \"{oldName}\", не постои повеќе",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{newName}\" веќе се користи во папката \"{dir}\". Ве молиме изберете друго име.",
+ "Could not rename \"{oldName}\"" : "Неможе да се преименува \"{oldName}\"",
"This operation is forbidden" : "Операцијата не е дозволена",
"This directory is unavailable, please check the logs or contact the administrator" : "Овој директориум е недостапен, ве молиме проверете ги логовите или контактирајте со администраторот",
"Storage is temporarily not available" : "Складиштето моментално не е достапно",
@@ -241,7 +247,6 @@
"Upload too large" : "Фајлот кој се вчитува е преголем",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Датотеките кои се обидувате да ги подигнете ја надминуваат максималната големина за подигнување датотеки на овој сервер.",
"File could not be found" : "Неможе да се пронајде датотеката",
- "Download" : "Преземи",
"Show list view" : "Прикажи поглед во листа",
"Show grid view" : "Прикажи поглед во мрежа",
"Close" : "Затвори",
@@ -280,9 +285,6 @@
"Copied {origin} inside {destination}" : "Копирана {origin} во {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Копирана {origin} и {nbfiles} други датотеки во {destination}",
"{newName} already exists" : "{newName} веќе постои",
- "Could not rename \"{oldName}\", it does not exist any more" : "Неможе да се преименува \"{oldName}\", не постои повеќе",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{newName}\" веќе се користи во папката \"{dir}\". Ве молиме изберете друго име.",
- "Could not rename \"{oldName}\"" : "Неможе да се преименува \"{oldName}\"",
"Could not create file \"{file}\"" : "Неможе да се креира датотека \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Неможе да се креира датотека \"{file}\" бидејќи веќе постои",
"Could not create folder \"{dir}\" because it already exists" : "Неможе да се креира папка \"{dir}\" бидејќи веќе постои",
diff --git a/apps/files/l10n/ml.js b/apps/files/l10n/ml.js
deleted file mode 100644
index 7988332fa91..00000000000
--- a/apps/files/l10n/ml.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ml.json b/apps/files/l10n/ml.json
deleted file mode 100644
index ef5fc586755..00000000000
--- a/apps/files/l10n/ml.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/mn.js b/apps/files/l10n/mn.js
deleted file mode 100644
index 4ecce788958..00000000000
--- a/apps/files/l10n/mn.js
+++ /dev/null
@@ -1,141 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "Файл олдсонгүй",
- "Move or copy" : "Зөөх эсвэл хуулах",
- "Download" : "Татаж авах ",
- "Delete" : "Устгах",
- "Tags" : "Тэгүүд",
- "Show list view" : "Жагсаалтаар харуул",
- "Home" : "Нүүр хуудас",
- "Close" : "Хаах",
- "Could not create folder \"{dir}\"" : "\"{dir}\" ийм хавтас үүсгэж болохгүй байна",
- "This will stop your current uploads." : "Энэ үйлдэл нь одоо явагдаж буй байршуулах үйл явцыг зогсоох болно",
- "Upload cancelled." : "Байршуулалт цуцлагдсан. ",
- "Processing files …" : "Файлуудыг уншиж байна",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "{filename} нь 0kb хэмжээтэй эсвэл ижил нэр бүхий хавтас байгаа тул байршуулах боломжгүй",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "хангалттай зай үлдээгүй байна, та {size1} хэмжээтэй файл оруулж байна гэхдээ зөвхөн {size2} ийн хэмжээний сул зай үлдсэн байна",
- "Target folder \"{dir}\" does not exist any more" : "{dir} гэх байршуулах хавтас олдсонгүй",
- "Not enough free space" : "Сул зай хүрэлцэхгүй байна",
- "An unknown error has occurred" : "Үл мэдэгдэх алдаа гарлаа ",
- "File could not be uploaded" : "Файлыг байршуулах боломжгүй байна",
- "Uploading …" : "Байршуулж байна...",
- "Uploading that item is not supported" : "Энэ төрлийн файл байршуулах боломжгүй",
- "Target folder does not exist any more" : "Байршуулах хавтас олдсонгүй",
- "Operation is blocked by access control" : "Үйлдлийг \"access control\"-оос хориглосон байна",
- "Error when assembling chunks, status code {status}" : "Бүрдэл хэсгүүдийг нэгтгэхэд алдаа гарлаа. Төлвийн код {status}",
- "Actions" : "Үйл ажиллагаа",
- "Rename" : "Нэр өөрчлөх",
- "Move" : "Зөөх",
- "Copy" : "Хуулах",
- "Choose target folder" : "Зорилтот хавтасыг сонгох",
- "Open" : "Нээх",
- "Delete file" : "Файл устгах",
- "Delete folder" : "Хавтсыг устгах",
- "Disconnect storage" : "Хадгалах төхөөрөмж салгах",
- "Could not load info for file \"{file}\"" : "\"{file}\" файлын мэдээллийг уншиж чадсангүй",
- "Files" : "Файлууд",
- "Details" : "Дэлгэрэнгүй",
- "Select file \"{fileName}\"" : "\"{fileName}\" файлыг сонгох",
- "Pending" : "Хүлээгдэж байгаа",
- "Unable to determine date" : "Огноог тодорхойлох боломжгүй",
- "This operation is forbidden" : "Энэ үйлдэл хориотой",
- "This directory is unavailable, please check the logs or contact the administrator" : "Энэ хавтас байхгүй байна, үйлдлийн лог шалгах эсвэл админ хэрэглэгчтэй холбогдоно уу.",
- "Storage is temporarily not available" : "Хадгалах төхөөрөмж нь түр хугацаанд ашиглах боломжгүй байна",
- "Could not move \"{file}\", target exists" : "\"{file}\" -г зөөж чадсангүй, алдаа: target exists ",
- "Could not move \"{file}\"" : "Файлыг зөөж чадсангүй: \"{file}\"",
- "copy" : "Хуулах ",
- "Could not copy \"{file}\", target exists" : "\"{file}\"-г зөөж чадсангүй, файлын нэр давхцаж байна",
- "Could not copy \"{file}\"" : "\"{file}\"-г зөөж чадсангүй",
- "Copied {origin} inside {destination}" : "Хуулбар хийгдэж {destination} дотор {origin} байршлаа",
- "{newName} already exists" : "{newName} нэр давцаж байна",
- "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" файлын нэрийг солих боломжгүй, энэ файл устгагдсан байна",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{dir}\" хавтаст \"{targetName}\" гэх нэрийг ашигласан байна. Өөр нэр сонгоно уу.",
- "Could not rename \"{fileName}\"" : "Файлын нэрийг сольж чадсангүй: \"{fileName}\"",
- "Could not create file \"{file}\"" : "\"{file}\" файлыг үүсгэж чадсангүй",
- "Could not create file \"{file}\" because it already exists" : "Ийм нэртэй файл байгаа учир \"{file}\"-г үүсгэж чадахгүй",
- "Could not create folder \"{dir}\" because it already exists" : " \"{dir}\" хавтасыг үүсгэх боломжгүй, нэр нь давцаж байна",
- "Error deleting file \"{fileName}\"." : "\"{fileName}\" файлыг устгахад алдаа гарлаа.",
- "No search results in other folders for {tag}{filter}{endtag}" : "{tag}{filter}{endtag} хайлтад тохирох үр дүн бусад хавтасаас олсонгүй",
- "Enter more than two characters to search in other folders" : "Бусад хавтаснаас хайхын тулд хоёроос илүү тэмдэгт оруулна уу",
- "Name" : "Нэр",
- "Size" : "Хэмжээ",
- "Modified" : "Өөрчлөгдсөн",
- "_%n folder_::_%n folders_" : ["%n хавтас","%n хавтас"],
- "_%n file_::_%n files_" : ["%n файл","%n файл"],
- "{dirs} and {files}" : "{dirs} болон {files}",
- "_including %n hidden_::_including %n hidden_" : ["нуугдсан %n хамруулан","нуугдсан %n хамруулан"],
- "You do not have permission to upload or create files here" : "Та энд файл үүсгэх эсвэл байршуулах эрхгүй байна.",
- "_Uploading %n file_::_Uploading %n files_" : [" %n файл байршуулж байна","%n файл байршуулж байна"],
- "{used} of {quota} used" : "{quota} оноосноос {used} хэрэглэсэн",
- "{used} used" : "{user} хэрэглэсэн",
- "\"{name}\" is an invalid file name." : "\"{name}\" нь хүчин төгөлдөр бус файлын нэр",
- "File name cannot be empty." : "Файлын нэр хоосон байж болохгүй.",
- "\"/\" is not allowed inside a file name." : "файлын нэр \"/\" агуулж болохгүй",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" файлын төрөл буруу байна",
- "Storage of {owner} is almost full ({usedSpacePercent}%)." : "{owner}-ий багтаамж удахгүй дүүрэх гэж байна. ({usedSpacePercent}%)",
- "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Хамт-ийн фолдер \"{mountPoint}\" удахгүй дүйрэх гэж байна {usedSpacePercent}%)",
- "Your storage is almost full ({usedSpacePercent}%)." : "Таны багтаамж дүүрэх дөхөж байна! ({usedSpacePercent}%)",
- "View in folder" : "Хавтасыг нээх",
- "Path" : "Зам",
- "Favorited" : "Онцолсон",
- "Favorite" : "Дуртай",
- "New folder" : "Шинэ хавтас",
- "Upload file" : "Файл байршуулах",
- "Recent" : "Сүүлийн үеийн",
- "Not favorited" : "Онцлоогүй",
- "Remove from favorites" : "Remove from favorites",
- "Add to favorites" : "Add to favorites",
- "An error occurred while trying to update the tags" : "Tag шинэчлэхэд алдаа гарлаа",
- "Added to favorites" : "Дуртай файлаар сонгов",
- "Removed from favorites" : "Онцлох файлаас хасав",
- "You added {file} to your favorites" : "{file} дуртай файлаар сонгов",
- "You removed {file} from your favorites" : "Та дуртай файлын жагсаалтаас {file}-г хасав",
- "Favorites" : "Онцолсон",
- "File changes" : "Файлын өөрчлөлтүүд",
- "Created by {user}" : "{user} үүсгэсэн",
- "Changed by {user}" : "{user} өөрчилсөн",
- "Deleted by {user}" : "{user} устгасан",
- "Restored by {user}" : "{user} сэргээсэн",
- "Renamed by {user}" : "{user} нэр солисон",
- "Moved by {user}" : "{user} зөөсөн",
- "\"remote user\"" : "алсын хэрэглэгч",
- "You created {file}" : "{file} файлыг та үүсгэв",
- "{user} created {file}" : "{user} {file}-г үүсгэв",
- "{file} was created in a public folder" : "{file} нийтийн хавтсанд үүсгэгдсэн",
- "You changed {file}" : "Та {file} файлыг өөрчлөв",
- "{user} changed {file}" : "{user} хэрэглэгч {file}-г өөрчлөв",
- "You deleted {file}" : "Та {file} файлыг устгав",
- "{user} deleted {file}" : "{user} хэрэглэгч {file} файлыг устгав",
- "You restored {file}" : "Та {file} файлыг сэргээв",
- "{user} restored {file}" : "{user} хэрэглэгч {file} файлыг сэргээв",
- "You renamed {oldfile} to {newfile}" : "Та {oldfile} файлын нэрйиг {newfile} болгож өөрчлөв",
- "{user} renamed {oldfile} to {newfile}" : "{user} хэрэглэгч {oldfile} файлын нэрийг {newfile} болгож өөрчлөв",
- "You moved {oldfile} to {newfile}" : "Та {oldfile} файлыг {newfile} болгож зөөв",
- "{user} moved {oldfile} to {newfile}" : "{user} хэрэглэгч {oldfile} файлыг {newfile} болгож зөөв",
- "A file or folder has been <strong>changed</strong>" : "Файл эсвэл хавтас амжилттай <strong>солигдлоо</strong>",
- "All files" : "Бүх файлууд",
- "Accept" : "Хүлээн зөвшөөрөх",
- "File Management" : "Файлын удирдлага",
- "Select all" : "бүгдийг сонгох",
- "Unknown error" : "Үл мэдэгдэх алдаа",
- "No files in here" : "Энд файл байхгүй байна",
- "Go back" : "Буцах",
- "Show hidden files" : "Нууцлагдсан файлыг харах",
- "Create" : "Үүсгэх",
- "Delete permanently" : "бүр мөсөн устгах",
- "No entries found in this folder" : "энэ хавтсан олдсон ч ямарч мэдээлэл олдохгүй байна",
- "Upload too large" : "маш том байршуулалт",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Таны байршуулах гэж оролдсон файлууд нь энэ сервер дээр файл байршуулах дээд хэмжээнээс хэтэрч.",
- "Text file" : "текст файл",
- "New text file.txt" : "шинэ текст file.txt",
- "Storage invalid" : "Хадгалах төхөөрөмж буруу байна",
- "Cancel" : "болиулах",
- "%1$s of %2$s used" : "%1$s-с %2$s хэрэглэсэн",
- "Deleted files" : "Устгасан файлууд",
- "Shares" : "Түгээлтүүд",
- "Shared with others" : "Бусдад түгээсэн",
- "Shared with you" : "тантай хуваалцсан",
- "Shared by link" : "Холбоосоор түгээсэн"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/mn.json b/apps/files/l10n/mn.json
deleted file mode 100644
index 229fec7746d..00000000000
--- a/apps/files/l10n/mn.json
+++ /dev/null
@@ -1,139 +0,0 @@
-{ "translations": {
- "File could not be found" : "Файл олдсонгүй",
- "Move or copy" : "Зөөх эсвэл хуулах",
- "Download" : "Татаж авах ",
- "Delete" : "Устгах",
- "Tags" : "Тэгүүд",
- "Show list view" : "Жагсаалтаар харуул",
- "Home" : "Нүүр хуудас",
- "Close" : "Хаах",
- "Could not create folder \"{dir}\"" : "\"{dir}\" ийм хавтас үүсгэж болохгүй байна",
- "This will stop your current uploads." : "Энэ үйлдэл нь одоо явагдаж буй байршуулах үйл явцыг зогсоох болно",
- "Upload cancelled." : "Байршуулалт цуцлагдсан. ",
- "Processing files …" : "Файлуудыг уншиж байна",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "{filename} нь 0kb хэмжээтэй эсвэл ижил нэр бүхий хавтас байгаа тул байршуулах боломжгүй",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "хангалттай зай үлдээгүй байна, та {size1} хэмжээтэй файл оруулж байна гэхдээ зөвхөн {size2} ийн хэмжээний сул зай үлдсэн байна",
- "Target folder \"{dir}\" does not exist any more" : "{dir} гэх байршуулах хавтас олдсонгүй",
- "Not enough free space" : "Сул зай хүрэлцэхгүй байна",
- "An unknown error has occurred" : "Үл мэдэгдэх алдаа гарлаа ",
- "File could not be uploaded" : "Файлыг байршуулах боломжгүй байна",
- "Uploading …" : "Байршуулж байна...",
- "Uploading that item is not supported" : "Энэ төрлийн файл байршуулах боломжгүй",
- "Target folder does not exist any more" : "Байршуулах хавтас олдсонгүй",
- "Operation is blocked by access control" : "Үйлдлийг \"access control\"-оос хориглосон байна",
- "Error when assembling chunks, status code {status}" : "Бүрдэл хэсгүүдийг нэгтгэхэд алдаа гарлаа. Төлвийн код {status}",
- "Actions" : "Үйл ажиллагаа",
- "Rename" : "Нэр өөрчлөх",
- "Move" : "Зөөх",
- "Copy" : "Хуулах",
- "Choose target folder" : "Зорилтот хавтасыг сонгох",
- "Open" : "Нээх",
- "Delete file" : "Файл устгах",
- "Delete folder" : "Хавтсыг устгах",
- "Disconnect storage" : "Хадгалах төхөөрөмж салгах",
- "Could not load info for file \"{file}\"" : "\"{file}\" файлын мэдээллийг уншиж чадсангүй",
- "Files" : "Файлууд",
- "Details" : "Дэлгэрэнгүй",
- "Select file \"{fileName}\"" : "\"{fileName}\" файлыг сонгох",
- "Pending" : "Хүлээгдэж байгаа",
- "Unable to determine date" : "Огноог тодорхойлох боломжгүй",
- "This operation is forbidden" : "Энэ үйлдэл хориотой",
- "This directory is unavailable, please check the logs or contact the administrator" : "Энэ хавтас байхгүй байна, үйлдлийн лог шалгах эсвэл админ хэрэглэгчтэй холбогдоно уу.",
- "Storage is temporarily not available" : "Хадгалах төхөөрөмж нь түр хугацаанд ашиглах боломжгүй байна",
- "Could not move \"{file}\", target exists" : "\"{file}\" -г зөөж чадсангүй, алдаа: target exists ",
- "Could not move \"{file}\"" : "Файлыг зөөж чадсангүй: \"{file}\"",
- "copy" : "Хуулах ",
- "Could not copy \"{file}\", target exists" : "\"{file}\"-г зөөж чадсангүй, файлын нэр давхцаж байна",
- "Could not copy \"{file}\"" : "\"{file}\"-г зөөж чадсангүй",
- "Copied {origin} inside {destination}" : "Хуулбар хийгдэж {destination} дотор {origin} байршлаа",
- "{newName} already exists" : "{newName} нэр давцаж байна",
- "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" файлын нэрийг солих боломжгүй, энэ файл устгагдсан байна",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{dir}\" хавтаст \"{targetName}\" гэх нэрийг ашигласан байна. Өөр нэр сонгоно уу.",
- "Could not rename \"{fileName}\"" : "Файлын нэрийг сольж чадсангүй: \"{fileName}\"",
- "Could not create file \"{file}\"" : "\"{file}\" файлыг үүсгэж чадсангүй",
- "Could not create file \"{file}\" because it already exists" : "Ийм нэртэй файл байгаа учир \"{file}\"-г үүсгэж чадахгүй",
- "Could not create folder \"{dir}\" because it already exists" : " \"{dir}\" хавтасыг үүсгэх боломжгүй, нэр нь давцаж байна",
- "Error deleting file \"{fileName}\"." : "\"{fileName}\" файлыг устгахад алдаа гарлаа.",
- "No search results in other folders for {tag}{filter}{endtag}" : "{tag}{filter}{endtag} хайлтад тохирох үр дүн бусад хавтасаас олсонгүй",
- "Enter more than two characters to search in other folders" : "Бусад хавтаснаас хайхын тулд хоёроос илүү тэмдэгт оруулна уу",
- "Name" : "Нэр",
- "Size" : "Хэмжээ",
- "Modified" : "Өөрчлөгдсөн",
- "_%n folder_::_%n folders_" : ["%n хавтас","%n хавтас"],
- "_%n file_::_%n files_" : ["%n файл","%n файл"],
- "{dirs} and {files}" : "{dirs} болон {files}",
- "_including %n hidden_::_including %n hidden_" : ["нуугдсан %n хамруулан","нуугдсан %n хамруулан"],
- "You do not have permission to upload or create files here" : "Та энд файл үүсгэх эсвэл байршуулах эрхгүй байна.",
- "_Uploading %n file_::_Uploading %n files_" : [" %n файл байршуулж байна","%n файл байршуулж байна"],
- "{used} of {quota} used" : "{quota} оноосноос {used} хэрэглэсэн",
- "{used} used" : "{user} хэрэглэсэн",
- "\"{name}\" is an invalid file name." : "\"{name}\" нь хүчин төгөлдөр бус файлын нэр",
- "File name cannot be empty." : "Файлын нэр хоосон байж болохгүй.",
- "\"/\" is not allowed inside a file name." : "файлын нэр \"/\" агуулж болохгүй",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" файлын төрөл буруу байна",
- "Storage of {owner} is almost full ({usedSpacePercent}%)." : "{owner}-ий багтаамж удахгүй дүүрэх гэж байна. ({usedSpacePercent}%)",
- "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Хамт-ийн фолдер \"{mountPoint}\" удахгүй дүйрэх гэж байна {usedSpacePercent}%)",
- "Your storage is almost full ({usedSpacePercent}%)." : "Таны багтаамж дүүрэх дөхөж байна! ({usedSpacePercent}%)",
- "View in folder" : "Хавтасыг нээх",
- "Path" : "Зам",
- "Favorited" : "Онцолсон",
- "Favorite" : "Дуртай",
- "New folder" : "Шинэ хавтас",
- "Upload file" : "Файл байршуулах",
- "Recent" : "Сүүлийн үеийн",
- "Not favorited" : "Онцлоогүй",
- "Remove from favorites" : "Remove from favorites",
- "Add to favorites" : "Add to favorites",
- "An error occurred while trying to update the tags" : "Tag шинэчлэхэд алдаа гарлаа",
- "Added to favorites" : "Дуртай файлаар сонгов",
- "Removed from favorites" : "Онцлох файлаас хасав",
- "You added {file} to your favorites" : "{file} дуртай файлаар сонгов",
- "You removed {file} from your favorites" : "Та дуртай файлын жагсаалтаас {file}-г хасав",
- "Favorites" : "Онцолсон",
- "File changes" : "Файлын өөрчлөлтүүд",
- "Created by {user}" : "{user} үүсгэсэн",
- "Changed by {user}" : "{user} өөрчилсөн",
- "Deleted by {user}" : "{user} устгасан",
- "Restored by {user}" : "{user} сэргээсэн",
- "Renamed by {user}" : "{user} нэр солисон",
- "Moved by {user}" : "{user} зөөсөн",
- "\"remote user\"" : "алсын хэрэглэгч",
- "You created {file}" : "{file} файлыг та үүсгэв",
- "{user} created {file}" : "{user} {file}-г үүсгэв",
- "{file} was created in a public folder" : "{file} нийтийн хавтсанд үүсгэгдсэн",
- "You changed {file}" : "Та {file} файлыг өөрчлөв",
- "{user} changed {file}" : "{user} хэрэглэгч {file}-г өөрчлөв",
- "You deleted {file}" : "Та {file} файлыг устгав",
- "{user} deleted {file}" : "{user} хэрэглэгч {file} файлыг устгав",
- "You restored {file}" : "Та {file} файлыг сэргээв",
- "{user} restored {file}" : "{user} хэрэглэгч {file} файлыг сэргээв",
- "You renamed {oldfile} to {newfile}" : "Та {oldfile} файлын нэрйиг {newfile} болгож өөрчлөв",
- "{user} renamed {oldfile} to {newfile}" : "{user} хэрэглэгч {oldfile} файлын нэрийг {newfile} болгож өөрчлөв",
- "You moved {oldfile} to {newfile}" : "Та {oldfile} файлыг {newfile} болгож зөөв",
- "{user} moved {oldfile} to {newfile}" : "{user} хэрэглэгч {oldfile} файлыг {newfile} болгож зөөв",
- "A file or folder has been <strong>changed</strong>" : "Файл эсвэл хавтас амжилттай <strong>солигдлоо</strong>",
- "All files" : "Бүх файлууд",
- "Accept" : "Хүлээн зөвшөөрөх",
- "File Management" : "Файлын удирдлага",
- "Select all" : "бүгдийг сонгох",
- "Unknown error" : "Үл мэдэгдэх алдаа",
- "No files in here" : "Энд файл байхгүй байна",
- "Go back" : "Буцах",
- "Show hidden files" : "Нууцлагдсан файлыг харах",
- "Create" : "Үүсгэх",
- "Delete permanently" : "бүр мөсөн устгах",
- "No entries found in this folder" : "энэ хавтсан олдсон ч ямарч мэдээлэл олдохгүй байна",
- "Upload too large" : "маш том байршуулалт",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Таны байршуулах гэж оролдсон файлууд нь энэ сервер дээр файл байршуулах дээд хэмжээнээс хэтэрч.",
- "Text file" : "текст файл",
- "New text file.txt" : "шинэ текст file.txt",
- "Storage invalid" : "Хадгалах төхөөрөмж буруу байна",
- "Cancel" : "болиулах",
- "%1$s of %2$s used" : "%1$s-с %2$s хэрэглэсэн",
- "Deleted files" : "Устгасан файлууд",
- "Shares" : "Түгээлтүүд",
- "Shared with others" : "Бусдад түгээсэн",
- "Shared with you" : "тантай хуваалцсан",
- "Shared by link" : "Холбоосоор түгээсэн"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/mr.js b/apps/files/l10n/mr.js
deleted file mode 100644
index 7988332fa91..00000000000
--- a/apps/files/l10n/mr.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/mr.json b/apps/files/l10n/mr.json
deleted file mode 100644
index ef5fc586755..00000000000
--- a/apps/files/l10n/mr.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/ms_MY.js b/apps/files/l10n/ms_MY.js
deleted file mode 100644
index c29758cfba1..00000000000
--- a/apps/files/l10n/ms_MY.js
+++ /dev/null
@@ -1,37 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "No file was uploaded. Unknown error" : "Tiada fail dimuatnaik. Ralat tidak diketahui.",
- "There is no error, the file uploaded with success" : "Tiada ralat berlaku, fail berjaya dimuatnaik",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Saiz fail yang dimuatnaik melebihi MAX_FILE_SIZE yang ditetapkan dalam borang HTML",
- "The uploaded file was only partially uploaded" : "Fail yang dimuatnaik tidak lengkap",
- "No file was uploaded" : "Tiada fail dimuatnaik",
- "Missing a temporary folder" : "Direktori sementara hilang",
- "Failed to write to disk" : "Gagal untuk disimpan",
- "Files" : "Fail-fail",
- "Home" : "Rumah",
- "Close" : "Tutup",
- "Upload cancelled." : "Muatnaik dibatalkan.",
- "Download" : "Muat turun",
- "Rename" : "Namakan",
- "Delete" : "Padam",
- "Pending" : "Dalam proses",
- "Name" : "Nama",
- "Size" : "Saiz",
- "Modified" : "Dimodifikasi",
- "New" : "Baru",
- "Folder" : "Folder",
- "Upload" : "Muat naik",
- "You created %1$s" : "Anda telah membina %1$s",
- "%2$s created %1$s" : "%2$s membina %1$s",
- "You changed %1$s" : "Anda menukar %1$s",
- "File handling" : "Pengendalian fail",
- "Maximum upload size" : "Saiz maksimum muat naik",
- "max. possible: " : "maksimum:",
- "Save" : "Simpan",
- "Settings" : "Tetapan",
- "Upload too large" : "Muatnaik terlalu besar",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Fail yang cuba dimuat naik melebihi saiz maksimum fail upload server",
- "Text file" : "Fail teks"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/ms_MY.json b/apps/files/l10n/ms_MY.json
deleted file mode 100644
index c1202e3eb40..00000000000
--- a/apps/files/l10n/ms_MY.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{ "translations": {
- "No file was uploaded. Unknown error" : "Tiada fail dimuatnaik. Ralat tidak diketahui.",
- "There is no error, the file uploaded with success" : "Tiada ralat berlaku, fail berjaya dimuatnaik",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Saiz fail yang dimuatnaik melebihi MAX_FILE_SIZE yang ditetapkan dalam borang HTML",
- "The uploaded file was only partially uploaded" : "Fail yang dimuatnaik tidak lengkap",
- "No file was uploaded" : "Tiada fail dimuatnaik",
- "Missing a temporary folder" : "Direktori sementara hilang",
- "Failed to write to disk" : "Gagal untuk disimpan",
- "Files" : "Fail-fail",
- "Home" : "Rumah",
- "Close" : "Tutup",
- "Upload cancelled." : "Muatnaik dibatalkan.",
- "Download" : "Muat turun",
- "Rename" : "Namakan",
- "Delete" : "Padam",
- "Pending" : "Dalam proses",
- "Name" : "Nama",
- "Size" : "Saiz",
- "Modified" : "Dimodifikasi",
- "New" : "Baru",
- "Folder" : "Folder",
- "Upload" : "Muat naik",
- "You created %1$s" : "Anda telah membina %1$s",
- "%2$s created %1$s" : "%2$s membina %1$s",
- "You changed %1$s" : "Anda menukar %1$s",
- "File handling" : "Pengendalian fail",
- "Maximum upload size" : "Saiz maksimum muat naik",
- "max. possible: " : "maksimum:",
- "Save" : "Simpan",
- "Settings" : "Tetapan",
- "Upload too large" : "Muatnaik terlalu besar",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Fail yang cuba dimuat naik melebihi saiz maksimum fail upload server",
- "Text file" : "Fail teks"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/mt_MT.js b/apps/files/l10n/mt_MT.js
deleted file mode 100644
index 2cbab15890e..00000000000
--- a/apps/files/l10n/mt_MT.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["","","",""],
- "_%n file_::_%n files_" : ["","","",""],
- "_Uploading %n file_::_Uploading %n files_" : ["","","",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["","","",""]
-},
-"nplurals=4; plural=(n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3);");
diff --git a/apps/files/l10n/mt_MT.json b/apps/files/l10n/mt_MT.json
deleted file mode 100644
index f10f0a0408d..00000000000
--- a/apps/files/l10n/mt_MT.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["","","",""],
- "_%n file_::_%n files_" : ["","","",""],
- "_Uploading %n file_::_Uploading %n files_" : ["","","",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["","","",""]
-},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/nb.js b/apps/files/l10n/nb.js
index f59399e8af5..f200707b836 100644
--- a/apps/files/l10n/nb.js
+++ b/apps/files/l10n/nb.js
@@ -227,8 +227,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Du er i ferd med å slette {count} element","Du er i ferd med å slette {count} elementer"],
"Confirm deletion" : "Bekreft sletting",
"Cancel" : "Avbryt",
+ "Download" : "Last ned",
"Moving \"{source}\" to \"{destination}\" …" : "Flytter \"{source}\" til \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Flytter \"{source}\" til \"{destination}\" …",
+ "Destination is not a folder" : "Målplassering er ikke en mappe",
+ "This file/folder is already in that directory" : "Denne filen/mappen er allerede i den katalogen",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Du kan ikke flytte en fil/mappe til seg selv eller til en undermappe av seg selv",
"(copy)" : "(kopier)",
"(copy %n)" : "(kopier %n)",
@@ -289,6 +292,9 @@ OC.L10N.register(
"Files moved successfully" : "Filer ble flyttet",
"Conflicts resolution skipped" : "Konfliktløsning hoppet over",
"Upload cancelled" : "Opplasting avbrutt",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kunne ikke omdøpe \"{oldName}\", den finnes ikke lenger",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{newName}\" er allerede brukt i mappen \"{dir}\". Velg et annet navn.",
+ "Could not rename \"{oldName}\"" : "Kunne ikke omdøpe \"{oldName}\"",
"This operation is forbidden" : "Operasjonen er forbudt",
"This directory is unavailable, please check the logs or contact the administrator" : "Denne mappen er utilgjengelig. Sjekk loggene eller kontakt administrator",
"Storage is temporarily not available" : "Lagring er midlertidig utilgjengelig",
@@ -319,7 +325,6 @@ OC.L10N.register(
"Upload too large" : "Filen er for stor",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filene du prøver å laste opp er for store til å laste opp til denne serveren.",
"File could not be found" : "Filen ble ikke funnet",
- "Download" : "Last ned",
"Show list view" : "Vis listevisning",
"Show grid view" : "Vis rutenett-visning",
"Close" : "Lukk",
@@ -358,9 +363,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Kopierte {origin} i {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopierte {origin} og {nbfiles} andre filer i {destination}",
"{newName} already exists" : "{newName} finnes allerede",
- "Could not rename \"{oldName}\", it does not exist any more" : "Kunne ikke omdøpe \"{oldName}\", den finnes ikke lenger",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{newName}\" er allerede brukt i mappen \"{dir}\". Velg et annet navn.",
- "Could not rename \"{oldName}\"" : "Kunne ikke omdøpe \"{oldName}\"",
"Could not create file \"{file}\"" : "Klarte ikke å opprette fil \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Klarte ikke å opprette fil \"{file}\" fordi den finnes allerede",
"Could not create folder \"{dir}\" because it already exists" : "Kunne ikke å opprette mappe \"{dir}\" fordi den finnes allerede",
diff --git a/apps/files/l10n/nb.json b/apps/files/l10n/nb.json
index d17b6273657..5f16935a0d2 100644
--- a/apps/files/l10n/nb.json
+++ b/apps/files/l10n/nb.json
@@ -225,8 +225,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Du er i ferd med å slette {count} element","Du er i ferd med å slette {count} elementer"],
"Confirm deletion" : "Bekreft sletting",
"Cancel" : "Avbryt",
+ "Download" : "Last ned",
"Moving \"{source}\" to \"{destination}\" …" : "Flytter \"{source}\" til \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Flytter \"{source}\" til \"{destination}\" …",
+ "Destination is not a folder" : "Målplassering er ikke en mappe",
+ "This file/folder is already in that directory" : "Denne filen/mappen er allerede i den katalogen",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Du kan ikke flytte en fil/mappe til seg selv eller til en undermappe av seg selv",
"(copy)" : "(kopier)",
"(copy %n)" : "(kopier %n)",
@@ -287,6 +290,9 @@
"Files moved successfully" : "Filer ble flyttet",
"Conflicts resolution skipped" : "Konfliktløsning hoppet over",
"Upload cancelled" : "Opplasting avbrutt",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kunne ikke omdøpe \"{oldName}\", den finnes ikke lenger",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{newName}\" er allerede brukt i mappen \"{dir}\". Velg et annet navn.",
+ "Could not rename \"{oldName}\"" : "Kunne ikke omdøpe \"{oldName}\"",
"This operation is forbidden" : "Operasjonen er forbudt",
"This directory is unavailable, please check the logs or contact the administrator" : "Denne mappen er utilgjengelig. Sjekk loggene eller kontakt administrator",
"Storage is temporarily not available" : "Lagring er midlertidig utilgjengelig",
@@ -317,7 +323,6 @@
"Upload too large" : "Filen er for stor",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filene du prøver å laste opp er for store til å laste opp til denne serveren.",
"File could not be found" : "Filen ble ikke funnet",
- "Download" : "Last ned",
"Show list view" : "Vis listevisning",
"Show grid view" : "Vis rutenett-visning",
"Close" : "Lukk",
@@ -356,9 +361,6 @@
"Copied {origin} inside {destination}" : "Kopierte {origin} i {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopierte {origin} og {nbfiles} andre filer i {destination}",
"{newName} already exists" : "{newName} finnes allerede",
- "Could not rename \"{oldName}\", it does not exist any more" : "Kunne ikke omdøpe \"{oldName}\", den finnes ikke lenger",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{newName}\" er allerede brukt i mappen \"{dir}\". Velg et annet navn.",
- "Could not rename \"{oldName}\"" : "Kunne ikke omdøpe \"{oldName}\"",
"Could not create file \"{file}\"" : "Klarte ikke å opprette fil \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Klarte ikke å opprette fil \"{file}\" fordi den finnes allerede",
"Could not create folder \"{dir}\" because it already exists" : "Kunne ikke å opprette mappe \"{dir}\" fordi den finnes allerede",
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index ccd46a10268..71f75054622 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -268,6 +268,7 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Je staat op het punt om {count} item te verwijderen","Je staat op het punt om {count}items te verwijderen"],
"Confirm deletion" : "Bevestig verwijderen",
"Cancel" : "Annuleren",
+ "Download" : "Downloaden",
"Moving \"{source}\" to \"{destination}\" …" : "Verplaatsen \"{source}\" naar \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopiëren \"{source}\" naar \"{destination}\" …",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Je kan een bestand/map niet verplaatsen naar zichzelf of naar een subfolder van zichzelf.",
@@ -331,6 +332,9 @@ OC.L10N.register(
"Files moved successfully" : "Bestanden succesvol verplaatst",
"Conflicts resolution skipped" : "Conflictoplossing overgeslagen",
"Upload cancelled" : "Uploaden geannuleerd",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kon \"{oldName}\" niet hernoemen, het bestaat niet meer",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "De naam \"{newName}\" bestaat al in map \"{dir}\". Kies een andere naam.",
+ "Could not rename \"{oldName}\"" : "Kon \"{oldName}\" niet hernoemen",
"This operation is forbidden" : "Deze taak is verboden",
"This directory is unavailable, please check the logs or contact the administrator" : "Deze map is niet beschikbaar. Verifieer de logs of neem contact op met de beheerder",
"Storage is temporarily not available" : "Opslag is tijdelijk niet beschikbaar",
@@ -362,7 +366,6 @@ OC.L10N.register(
"Upload too large" : "Upload is te groot",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "De bestanden die je probeert te uploaden zijn groter dan de maximaal toegestane bestandsgrootte voor deze server.",
"File could not be found" : "Bestand kon niet worden gevonden",
- "Download" : "Downloaden",
"Show list view" : "Toon lijstweergave",
"Show grid view" : "Toon roosterweergave",
"Close" : "Sluiten",
@@ -401,9 +404,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Kopieerde {origin} binnen {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Heeft {origin} en {nbfiles} andere bestanden in {destination} gekopieerd",
"{newName} already exists" : "{newName} bestaat al",
- "Could not rename \"{oldName}\", it does not exist any more" : "Kon \"{oldName}\" niet hernoemen, het bestaat niet meer",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "De naam \"{newName}\" bestaat al in map \"{dir}\". Kies een andere naam.",
- "Could not rename \"{oldName}\"" : "Kon \"{oldName}\" niet hernoemen",
"Could not create file \"{file}\"" : "Kon \"{file}\" niet aanmaken",
"Could not create file \"{file}\" because it already exists" : "Kon \"{file}\" niet aanmaken, omdat het al bestaat",
"Could not create folder \"{dir}\" because it already exists" : "Kon map \"{dir}\" niet aanmaken, omdat die al bestaat",
@@ -455,8 +455,6 @@ OC.L10N.register(
"New text file.txt" : "Nieuw tekstbestand.txt",
"%1$s (renamed)" : "%1$s (hernoemd)",
"renamed file" : "bestand hernoemd",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Na inschakeling van Windows-compatibele bestandsnamen, kunnen bestaande bestanden niet meer worden gewijzigd, maar kunnen ze door de eigenaar worden hernoemd naar geldige nieuwe namen.",
- "{count} files could not be converted" : "{count} bestanden konden niet worden geconverteerd",
- "{count} files successfully converted" : "{count} bestanden succesvol geconverteerd"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Na inschakeling van Windows-compatibele bestandsnamen, kunnen bestaande bestanden niet meer worden gewijzigd, maar kunnen ze door de eigenaar worden hernoemd naar geldige nieuwe namen."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index 45dee4a4ebd..441311e058f 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -266,6 +266,7 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Je staat op het punt om {count} item te verwijderen","Je staat op het punt om {count}items te verwijderen"],
"Confirm deletion" : "Bevestig verwijderen",
"Cancel" : "Annuleren",
+ "Download" : "Downloaden",
"Moving \"{source}\" to \"{destination}\" …" : "Verplaatsen \"{source}\" naar \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopiëren \"{source}\" naar \"{destination}\" …",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Je kan een bestand/map niet verplaatsen naar zichzelf of naar een subfolder van zichzelf.",
@@ -329,6 +330,9 @@
"Files moved successfully" : "Bestanden succesvol verplaatst",
"Conflicts resolution skipped" : "Conflictoplossing overgeslagen",
"Upload cancelled" : "Uploaden geannuleerd",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kon \"{oldName}\" niet hernoemen, het bestaat niet meer",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "De naam \"{newName}\" bestaat al in map \"{dir}\". Kies een andere naam.",
+ "Could not rename \"{oldName}\"" : "Kon \"{oldName}\" niet hernoemen",
"This operation is forbidden" : "Deze taak is verboden",
"This directory is unavailable, please check the logs or contact the administrator" : "Deze map is niet beschikbaar. Verifieer de logs of neem contact op met de beheerder",
"Storage is temporarily not available" : "Opslag is tijdelijk niet beschikbaar",
@@ -360,7 +364,6 @@
"Upload too large" : "Upload is te groot",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "De bestanden die je probeert te uploaden zijn groter dan de maximaal toegestane bestandsgrootte voor deze server.",
"File could not be found" : "Bestand kon niet worden gevonden",
- "Download" : "Downloaden",
"Show list view" : "Toon lijstweergave",
"Show grid view" : "Toon roosterweergave",
"Close" : "Sluiten",
@@ -399,9 +402,6 @@
"Copied {origin} inside {destination}" : "Kopieerde {origin} binnen {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Heeft {origin} en {nbfiles} andere bestanden in {destination} gekopieerd",
"{newName} already exists" : "{newName} bestaat al",
- "Could not rename \"{oldName}\", it does not exist any more" : "Kon \"{oldName}\" niet hernoemen, het bestaat niet meer",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "De naam \"{newName}\" bestaat al in map \"{dir}\". Kies een andere naam.",
- "Could not rename \"{oldName}\"" : "Kon \"{oldName}\" niet hernoemen",
"Could not create file \"{file}\"" : "Kon \"{file}\" niet aanmaken",
"Could not create file \"{file}\" because it already exists" : "Kon \"{file}\" niet aanmaken, omdat het al bestaat",
"Could not create folder \"{dir}\" because it already exists" : "Kon map \"{dir}\" niet aanmaken, omdat die al bestaat",
@@ -453,8 +453,6 @@
"New text file.txt" : "Nieuw tekstbestand.txt",
"%1$s (renamed)" : "%1$s (hernoemd)",
"renamed file" : "bestand hernoemd",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Na inschakeling van Windows-compatibele bestandsnamen, kunnen bestaande bestanden niet meer worden gewijzigd, maar kunnen ze door de eigenaar worden hernoemd naar geldige nieuwe namen.",
- "{count} files could not be converted" : "{count} bestanden konden niet worden geconverteerd",
- "{count} files successfully converted" : "{count} bestanden succesvol geconverteerd"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Na inschakeling van Windows-compatibele bestandsnamen, kunnen bestaande bestanden niet meer worden gewijzigd, maar kunnen ze door de eigenaar worden hernoemd naar geldige nieuwe namen."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/nn_NO.js b/apps/files/l10n/nn_NO.js
deleted file mode 100644
index 73d01d0461f..00000000000
--- a/apps/files/l10n/nn_NO.js
+++ /dev/null
@@ -1,71 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "Unknown error" : "Ukjend feil",
- "Unable to set upload directory." : "Klarte ikkje å endra opplastingsmappa.",
- "Invalid Token" : "Ugyldig token",
- "No file was uploaded. Unknown error" : "Ingen filer lasta opp. Ukjend feil",
- "There is no error, the file uploaded with success" : "Ingen feil, fila vart lasta opp",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Fila du lasta opp er større enn det «upload_max_filesize» i php.ini tillater: ",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Den opplasta fila er større enn variabelen MAX_FILE_SIZE i HTML-skjemaet",
- "The uploaded file was only partially uploaded" : "Fila vart berre delvis lasta opp",
- "No file was uploaded" : "Ingen filer vart lasta opp",
- "Missing a temporary folder" : "Manglar ei mellombels mappe",
- "Failed to write to disk" : "Klarte ikkje skriva til disk",
- "Not enough storage available" : "Ikkje nok lagringsplass tilgjengeleg",
- "Upload failed. Could not find uploaded file" : "Feil ved opplasting. Klarte ikkje å finna opplasta fil.",
- "Upload failed. Could not get file info." : "Feil ved opplasting. Klarte ikkje å henta filinfo.",
- "Invalid directory." : "Ugyldig mappe.",
- "Files" : "Filer",
- "All files" : "Alle filer",
- "Home" : "Heime",
- "Close" : "Lukk",
- "Favorites" : "Favorittar",
- "Upload cancelled." : "Opplasting avbroten.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Klarte ikkje å lasta opp {filename} sidan det er ei mappe eller er 0 byte.",
- "Could not get result from server." : "Klarte ikkje å henta resultat frå tenaren.",
- "Uploading..." : "Lastar opp …",
- "File upload is in progress. Leaving the page now will cancel the upload." : "Fila lastar no opp. Viss du forlèt sida no vil opplastinga verta avbroten.",
- "Actions" : "Handlingar",
- "Download" : "Last ned",
- "Rename" : "Endra namn",
- "Delete" : "Slett",
- "Unshare" : "Udel",
- "Details" : "Detaljar",
- "Pending" : "Under vegs",
- "Name" : "Namn",
- "Size" : "Storleik",
- "Modified" : "Endra",
- "_%n folder_::_%n folders_" : ["%n mappe","%n mapper"],
- "_%n file_::_%n files_" : ["%n fil","%n filer"],
- "{dirs} and {files}" : "{dirs} og {files}",
- "_Uploading %n file_::_Uploading %n files_" : ["Lastar opp %n fil","Lastar opp %n filer"],
- "New" : "Ny",
- "File name cannot be empty." : "Filnamnet kan ikkje vera tomt.",
- "Your storage is full, files can not be updated or synced anymore!" : "Lagringa di er full, kan ikkje lenger oppdatera eller synkronisera!",
- "Your storage is almost full ({usedSpacePercent}%)" : "Lagringa di er nesten full ({usedSpacePercent} %)",
- "Favorite" : "Favoritt",
- "Folder" : "Mappe",
- "New folder" : "Ny mappe",
- "Upload" : "Last opp",
- "A new file or folder has been <strong>created</strong>" : "Ei ny fil eller mappe er <strong>oppretta</strong>",
- "A file or folder has been <strong>changed</strong>" : "Ei fil eller mappe er <strong>endra</strong>",
- "A file or folder has been <strong>deleted</strong>" : "Ei fil eller mappe er <strong>sletta</strong>",
- "You created %1$s" : "Du oppretta %1$s",
- "%2$s created %1$s" : "%2$s oppretta %1$s",
- "%1$s was created in a public folder" : "%1$s oppretta i ei offentleg mappe",
- "You changed %1$s" : "Du endra %1$s",
- "%2$s changed %1$s" : "%2$s endra %1$s",
- "You deleted %1$s" : "Du sletta %1$s",
- "%2$s deleted %1$s" : "%2$s sletta %1$s",
- "File handling" : "Filhandtering",
- "Maximum upload size" : "Maksimal opplastingsstorleik",
- "max. possible: " : "maks. moglege:",
- "Save" : "Lagre",
- "Settings" : "Innstillingar",
- "WebDAV" : "WebDAV",
- "Upload too large" : "For stor opplasting",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filene du prøver å lasta opp er større enn maksgrensa til denne tenaren.",
- "Text file" : "Tekst fil"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/nn_NO.json b/apps/files/l10n/nn_NO.json
deleted file mode 100644
index 199bb6aeb9a..00000000000
--- a/apps/files/l10n/nn_NO.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{ "translations": {
- "Unknown error" : "Ukjend feil",
- "Unable to set upload directory." : "Klarte ikkje å endra opplastingsmappa.",
- "Invalid Token" : "Ugyldig token",
- "No file was uploaded. Unknown error" : "Ingen filer lasta opp. Ukjend feil",
- "There is no error, the file uploaded with success" : "Ingen feil, fila vart lasta opp",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Fila du lasta opp er større enn det «upload_max_filesize» i php.ini tillater: ",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Den opplasta fila er større enn variabelen MAX_FILE_SIZE i HTML-skjemaet",
- "The uploaded file was only partially uploaded" : "Fila vart berre delvis lasta opp",
- "No file was uploaded" : "Ingen filer vart lasta opp",
- "Missing a temporary folder" : "Manglar ei mellombels mappe",
- "Failed to write to disk" : "Klarte ikkje skriva til disk",
- "Not enough storage available" : "Ikkje nok lagringsplass tilgjengeleg",
- "Upload failed. Could not find uploaded file" : "Feil ved opplasting. Klarte ikkje å finna opplasta fil.",
- "Upload failed. Could not get file info." : "Feil ved opplasting. Klarte ikkje å henta filinfo.",
- "Invalid directory." : "Ugyldig mappe.",
- "Files" : "Filer",
- "All files" : "Alle filer",
- "Home" : "Heime",
- "Close" : "Lukk",
- "Favorites" : "Favorittar",
- "Upload cancelled." : "Opplasting avbroten.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Klarte ikkje å lasta opp {filename} sidan det er ei mappe eller er 0 byte.",
- "Could not get result from server." : "Klarte ikkje å henta resultat frå tenaren.",
- "Uploading..." : "Lastar opp …",
- "File upload is in progress. Leaving the page now will cancel the upload." : "Fila lastar no opp. Viss du forlèt sida no vil opplastinga verta avbroten.",
- "Actions" : "Handlingar",
- "Download" : "Last ned",
- "Rename" : "Endra namn",
- "Delete" : "Slett",
- "Unshare" : "Udel",
- "Details" : "Detaljar",
- "Pending" : "Under vegs",
- "Name" : "Namn",
- "Size" : "Storleik",
- "Modified" : "Endra",
- "_%n folder_::_%n folders_" : ["%n mappe","%n mapper"],
- "_%n file_::_%n files_" : ["%n fil","%n filer"],
- "{dirs} and {files}" : "{dirs} og {files}",
- "_Uploading %n file_::_Uploading %n files_" : ["Lastar opp %n fil","Lastar opp %n filer"],
- "New" : "Ny",
- "File name cannot be empty." : "Filnamnet kan ikkje vera tomt.",
- "Your storage is full, files can not be updated or synced anymore!" : "Lagringa di er full, kan ikkje lenger oppdatera eller synkronisera!",
- "Your storage is almost full ({usedSpacePercent}%)" : "Lagringa di er nesten full ({usedSpacePercent} %)",
- "Favorite" : "Favoritt",
- "Folder" : "Mappe",
- "New folder" : "Ny mappe",
- "Upload" : "Last opp",
- "A new file or folder has been <strong>created</strong>" : "Ei ny fil eller mappe er <strong>oppretta</strong>",
- "A file or folder has been <strong>changed</strong>" : "Ei fil eller mappe er <strong>endra</strong>",
- "A file or folder has been <strong>deleted</strong>" : "Ei fil eller mappe er <strong>sletta</strong>",
- "You created %1$s" : "Du oppretta %1$s",
- "%2$s created %1$s" : "%2$s oppretta %1$s",
- "%1$s was created in a public folder" : "%1$s oppretta i ei offentleg mappe",
- "You changed %1$s" : "Du endra %1$s",
- "%2$s changed %1$s" : "%2$s endra %1$s",
- "You deleted %1$s" : "Du sletta %1$s",
- "%2$s deleted %1$s" : "%2$s sletta %1$s",
- "File handling" : "Filhandtering",
- "Maximum upload size" : "Maksimal opplastingsstorleik",
- "max. possible: " : "maks. moglege:",
- "Save" : "Lagre",
- "Settings" : "Innstillingar",
- "WebDAV" : "WebDAV",
- "Upload too large" : "For stor opplasting",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filene du prøver å lasta opp er større enn maksgrensa til denne tenaren.",
- "Text file" : "Tekst fil"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/nqo.js b/apps/files/l10n/nqo.js
deleted file mode 100644
index 91d52801985..00000000000
--- a/apps/files/l10n/nqo.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : [""],
- "_%n file_::_%n files_" : [""],
- "_Uploading %n file_::_Uploading %n files_" : [""],
- "_matches '{filter}'_::_match '{filter}'_" : [""]
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/nqo.json b/apps/files/l10n/nqo.json
deleted file mode 100644
index 82cca5a0661..00000000000
--- a/apps/files/l10n/nqo.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : [""],
- "_%n file_::_%n files_" : [""],
- "_Uploading %n file_::_Uploading %n files_" : [""],
- "_matches '{filter}'_::_match '{filter}'_" : [""]
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/oc.js b/apps/files/l10n/oc.js
deleted file mode 100644
index dbe093680b2..00000000000
--- a/apps/files/l10n/oc.js
+++ /dev/null
@@ -1,127 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "Impossible de trobar lo fichièr",
- "Move or copy" : "Desplaçar o copiar",
- "Download" : "Telecargar",
- "Delete" : "Suprimir",
- "Tags" : "Etiquetas",
- "Show list view" : "Afichar la vista en lista",
- "Show grid view" : "Afichar la vista en grasilha",
- "Home" : "Domicili",
- "Close" : "Tampar",
- "Favorites" : "Favorits",
- "Could not create folder \"{dir}\"" : "Creacion impossibla del dossièr « {dir} »",
- "This will stop your current uploads." : "Aquò arrestarà vòstres mandadisses actuals.",
- "Upload cancelled." : "Mesa a jorn anullada.",
- "Processing files …" : "Tractament dels fichèrs…",
- "…" : "…",
- "Not enough free space" : "Pas pro d’espaci liure",
- "An unknown error has occurred" : "Una error desconeguda s'es produsida",
- "Uploading …" : "Mandadís…",
- "Actions" : "Accions",
- "Rename" : "Renomenar",
- "Move" : "Desplaçar",
- "Copy" : "Copiar",
- "Open" : "Dobrir",
- "Delete file" : "Suprimir fichièr",
- "Delete folder" : "Suprimir lo repertòri",
- "Leave this share" : "Quitar aqueste partiment",
- "Files" : "Fichièrs",
- "Details" : "Detalhs",
- "Pending" : "En espèra",
- "Storage is temporarily not available" : "Emmagazinatge temporàriament indisponible",
- "Could not move \"{file}\", target exists" : "Impossible de desplaçar \"{file}\", la cibla existís",
- "Could not move \"{file}\"" : "Impossible de desplaçar \"{file}\"",
- "copy" : "copiar",
- "Could not copy \"{file}\"" : "Còpia impossibla « {file} »",
- "{newName} already exists" : "{newName} existís ja",
- "Could not create file \"{file}\"" : "Impossible de crear lo fichièr \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "Impossible de crear lo fichièr \"{file}\" perque existís ja",
- "No search results in other folders for {tag}{filter}{endtag}" : "Cap de resultat de recèrca dins d’autres dossièrs per {tag}{filter}{endtag}",
- "Name" : "Nom",
- "Size" : "Talha",
- "Modified" : "Modificat",
- "_%n folder_::_%n folders_" : ["%n dossièr","%n dossièrs"],
- "_%n file_::_%n files_" : ["%n fichièr","%n fichièrs"],
- "{dirs} and {files}" : "{dirs} e {files}",
- "_Uploading %n file_::_Uploading %n files_" : ["Mandadís de %n fichièr","Mandadís de %n fichièrs"],
- "{used}%" : "{used}%",
- "{used} of {quota} used" : "{used} de {quota} utilizat",
- "{used} used" : "{used} utilizat",
- "\"{name}\" is an invalid file name." : "\"{name}\" es pas un nom de fichièr valid.",
- "File name cannot be empty." : "Lo nom de fichièr pòt pas èsser void.",
- "\"/\" is not allowed inside a file name." : "« / » es pas permés dins un nom de fichièr.",
- "\"{name}\" is not an allowed filetype" : "« {name} » es pas un tipe de fichièr permés",
- "View in folder" : "Veire dins lo dossièr",
- "Path" : "Camin",
- "_%n byte_::_%n bytes_" : ["%n octet","%n octets"],
- "Favorited" : "Favorit",
- "Favorite" : "Favorit",
- "New folder" : "Novèl dorsièr",
- "Upload file" : "Upload file",
- "Recent" : "Recents",
- "Remove from favorites" : "Remove from favorites",
- "Add to favorites" : "Add to favorites",
- "Added to favorites" : "Apondut als favorits",
- "Removed from favorites" : "Tirat dels favorits",
- "File changes" : "Modificacions de fichièr",
- "Created by {user}" : "Creat per {user}",
- "Changed by {user}" : "Modificat per {user}",
- "Deleted by {user}" : "Suprimit per {user}",
- "Restored by {user}" : "Restaurat per {user}",
- "Renamed by {user}" : "Renomenat per {user}",
- "Moved by {user}" : "Desplaçat per {user}",
- "You created {file}" : "Avètz creat {file}",
- "{user} created {file}" : "{user} a creat {file}",
- "You changed {file}" : "Avètz cambiat {file}",
- "{user} changed {file}" : "{user} a cambiat {file}",
- "You deleted {file}" : "Avètz suprimit {file}",
- "{user} deleted {file}" : "{user} a suprimit {file}",
- "{user} restored {file}" : "{user} a restaurat {file}",
- "You moved {oldfile} to {newfile}" : "Avètz desplaçat {oldfile} dins {newfile}",
- "All files" : "Totes los fichièrs",
- "Upload (max. %s)" : "Mandadís (max. %s)",
- "Accept" : "Acceptar",
- "Reject" : "Regetar",
- "in %s" : "dins %s",
- "File Management" : "Gestionari de fichièrs",
- "Storage informations" : "Informacions d’emmagazinatge",
- "{usedQuotaByte} used" : "{usedQuotaByte} utilizat",
- "{relative}% used" : "{relative}% utilizat",
- "Change" : "Modificar",
- "New owner" : "Proprietari novèl",
- "Search users" : "Recercar d’utilizaires",
- "Invalid path selected" : "Camin seleccionat invalid",
- "Unknown error" : "Error desconeguda",
- "Files settings" : "Paramètres dels fichièrs",
- "Show hidden files" : "Afichar los fichièrs amagats",
- "Additional settings" : "Paramètres addicionals",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar dins lo quichapapièrs",
- "Cancel" : "Anullar",
- "Create" : "Crear",
- "Creating file" : "Creacion del fichièr",
- "Templates" : "Modèls",
- "No files in here" : "Cap de fichièr aicí",
- "No favorites yet" : "Cap de favorits pel moment",
- "Deleted files" : "Fichièrs suprimits",
- "Shares" : "Partatges",
- "Shared with others" : "Partejats amb d’autres",
- "Shared with you" : "Shared with you",
- "Shared by link" : "Partejat via ligam",
- "Deleted shares" : "Partiments suprimits",
- "Pending shares" : "Partiments pendents",
- "Text file" : "Fichièr tèxt",
- "New text file.txt" : "Novèl fichièr tèxte .txt",
- "Storage invalid" : "Emmagazinatge invalid",
- "Select" : "Select",
- "New" : "Novèl",
- "Copied!" : "Copiat !",
- "Unlimited" : "Illimitat",
- "%s used" : "%s utilizat",
- "%s%%" : "%s%%",
- "%1$s of %2$s used" : "%1$s de %2$s utilizat",
- "Settings" : "Paramètres"
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/files/l10n/oc.json b/apps/files/l10n/oc.json
deleted file mode 100644
index d9d7e910741..00000000000
--- a/apps/files/l10n/oc.json
+++ /dev/null
@@ -1,125 +0,0 @@
-{ "translations": {
- "File could not be found" : "Impossible de trobar lo fichièr",
- "Move or copy" : "Desplaçar o copiar",
- "Download" : "Telecargar",
- "Delete" : "Suprimir",
- "Tags" : "Etiquetas",
- "Show list view" : "Afichar la vista en lista",
- "Show grid view" : "Afichar la vista en grasilha",
- "Home" : "Domicili",
- "Close" : "Tampar",
- "Favorites" : "Favorits",
- "Could not create folder \"{dir}\"" : "Creacion impossibla del dossièr « {dir} »",
- "This will stop your current uploads." : "Aquò arrestarà vòstres mandadisses actuals.",
- "Upload cancelled." : "Mesa a jorn anullada.",
- "Processing files …" : "Tractament dels fichèrs…",
- "…" : "…",
- "Not enough free space" : "Pas pro d’espaci liure",
- "An unknown error has occurred" : "Una error desconeguda s'es produsida",
- "Uploading …" : "Mandadís…",
- "Actions" : "Accions",
- "Rename" : "Renomenar",
- "Move" : "Desplaçar",
- "Copy" : "Copiar",
- "Open" : "Dobrir",
- "Delete file" : "Suprimir fichièr",
- "Delete folder" : "Suprimir lo repertòri",
- "Leave this share" : "Quitar aqueste partiment",
- "Files" : "Fichièrs",
- "Details" : "Detalhs",
- "Pending" : "En espèra",
- "Storage is temporarily not available" : "Emmagazinatge temporàriament indisponible",
- "Could not move \"{file}\", target exists" : "Impossible de desplaçar \"{file}\", la cibla existís",
- "Could not move \"{file}\"" : "Impossible de desplaçar \"{file}\"",
- "copy" : "copiar",
- "Could not copy \"{file}\"" : "Còpia impossibla « {file} »",
- "{newName} already exists" : "{newName} existís ja",
- "Could not create file \"{file}\"" : "Impossible de crear lo fichièr \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "Impossible de crear lo fichièr \"{file}\" perque existís ja",
- "No search results in other folders for {tag}{filter}{endtag}" : "Cap de resultat de recèrca dins d’autres dossièrs per {tag}{filter}{endtag}",
- "Name" : "Nom",
- "Size" : "Talha",
- "Modified" : "Modificat",
- "_%n folder_::_%n folders_" : ["%n dossièr","%n dossièrs"],
- "_%n file_::_%n files_" : ["%n fichièr","%n fichièrs"],
- "{dirs} and {files}" : "{dirs} e {files}",
- "_Uploading %n file_::_Uploading %n files_" : ["Mandadís de %n fichièr","Mandadís de %n fichièrs"],
- "{used}%" : "{used}%",
- "{used} of {quota} used" : "{used} de {quota} utilizat",
- "{used} used" : "{used} utilizat",
- "\"{name}\" is an invalid file name." : "\"{name}\" es pas un nom de fichièr valid.",
- "File name cannot be empty." : "Lo nom de fichièr pòt pas èsser void.",
- "\"/\" is not allowed inside a file name." : "« / » es pas permés dins un nom de fichièr.",
- "\"{name}\" is not an allowed filetype" : "« {name} » es pas un tipe de fichièr permés",
- "View in folder" : "Veire dins lo dossièr",
- "Path" : "Camin",
- "_%n byte_::_%n bytes_" : ["%n octet","%n octets"],
- "Favorited" : "Favorit",
- "Favorite" : "Favorit",
- "New folder" : "Novèl dorsièr",
- "Upload file" : "Upload file",
- "Recent" : "Recents",
- "Remove from favorites" : "Remove from favorites",
- "Add to favorites" : "Add to favorites",
- "Added to favorites" : "Apondut als favorits",
- "Removed from favorites" : "Tirat dels favorits",
- "File changes" : "Modificacions de fichièr",
- "Created by {user}" : "Creat per {user}",
- "Changed by {user}" : "Modificat per {user}",
- "Deleted by {user}" : "Suprimit per {user}",
- "Restored by {user}" : "Restaurat per {user}",
- "Renamed by {user}" : "Renomenat per {user}",
- "Moved by {user}" : "Desplaçat per {user}",
- "You created {file}" : "Avètz creat {file}",
- "{user} created {file}" : "{user} a creat {file}",
- "You changed {file}" : "Avètz cambiat {file}",
- "{user} changed {file}" : "{user} a cambiat {file}",
- "You deleted {file}" : "Avètz suprimit {file}",
- "{user} deleted {file}" : "{user} a suprimit {file}",
- "{user} restored {file}" : "{user} a restaurat {file}",
- "You moved {oldfile} to {newfile}" : "Avètz desplaçat {oldfile} dins {newfile}",
- "All files" : "Totes los fichièrs",
- "Upload (max. %s)" : "Mandadís (max. %s)",
- "Accept" : "Acceptar",
- "Reject" : "Regetar",
- "in %s" : "dins %s",
- "File Management" : "Gestionari de fichièrs",
- "Storage informations" : "Informacions d’emmagazinatge",
- "{usedQuotaByte} used" : "{usedQuotaByte} utilizat",
- "{relative}% used" : "{relative}% utilizat",
- "Change" : "Modificar",
- "New owner" : "Proprietari novèl",
- "Search users" : "Recercar d’utilizaires",
- "Invalid path selected" : "Camin seleccionat invalid",
- "Unknown error" : "Error desconeguda",
- "Files settings" : "Paramètres dels fichièrs",
- "Show hidden files" : "Afichar los fichièrs amagats",
- "Additional settings" : "Paramètres addicionals",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Copiar dins lo quichapapièrs",
- "Cancel" : "Anullar",
- "Create" : "Crear",
- "Creating file" : "Creacion del fichièr",
- "Templates" : "Modèls",
- "No files in here" : "Cap de fichièr aicí",
- "No favorites yet" : "Cap de favorits pel moment",
- "Deleted files" : "Fichièrs suprimits",
- "Shares" : "Partatges",
- "Shared with others" : "Partejats amb d’autres",
- "Shared with you" : "Shared with you",
- "Shared by link" : "Partejat via ligam",
- "Deleted shares" : "Partiments suprimits",
- "Pending shares" : "Partiments pendents",
- "Text file" : "Fichièr tèxt",
- "New text file.txt" : "Novèl fichièr tèxte .txt",
- "Storage invalid" : "Emmagazinatge invalid",
- "Select" : "Select",
- "New" : "Novèl",
- "Copied!" : "Copiat !",
- "Unlimited" : "Illimitat",
- "%s used" : "%s utilizat",
- "%s%%" : "%s%%",
- "%1$s of %2$s used" : "%1$s de %2$s utilizat",
- "Settings" : "Paramètres"
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js
index 63bca5c485b..b10cdb2380f 100644
--- a/apps/files/l10n/pl.js
+++ b/apps/files/l10n/pl.js
@@ -227,6 +227,7 @@ OC.L10N.register(
"Show those shortcuts" : "Pokaż te skróty",
"You" : "Ty",
"Shared multiple times with different people" : "Udostępniony wiele razy różnym osobom",
+ "Unable to change the favorite state of the file" : "Nie można zmienić ulubionego stanu pliku",
"Error while loading the file data" : "Błąd podczas wczytywania danych pliku",
"Owner" : "Właściciel",
"Remove from favorites" : "Usuń z ulubionych",
@@ -267,8 +268,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Zamierzasz usunąć {count} element","Zamierzasz usunąć {count} elementy","Zamierzasz usunąć {count} elementów","Zamierzasz usunąć {count} elementów"],
"Confirm deletion" : "Potwierdź usunięcie",
"Cancel" : "Anuluj",
+ "Download" : "Pobierz",
"Moving \"{source}\" to \"{destination}\" …" : "Przenoszenie „{source}” do „{destination}”…",
"Copying \"{source}\" to \"{destination}\" …" : "Kopiowanie „{source}” do „{destination}”…",
+ "Destination is not a folder" : "Miejsce docelowe nie jest katalogiem",
+ "This file/folder is already in that directory" : "Ten plik/katalog znajduje się już w tym katalogu",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Nie można przenieść pliku/katalogu do tego samego katalogu lub do własnego podkatalogu",
"(copy)" : "(kopiuj)",
"(copy %n)" : "(kopiuj %n)",
@@ -330,6 +334,9 @@ OC.L10N.register(
"Files moved successfully" : "Pliki zostały przeniesione pomyślnie",
"Conflicts resolution skipped" : "Pominięto rozwiązywanie konfliktów",
"Upload cancelled" : "Anulowano przesyłanie",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nie można zmienić nazwy \"{oldName}\", już nie istnieje",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nazwa \"{newName}\" jest już używana w katalogu \"{dir}\". Wybierz inną nazwę.",
+ "Could not rename \"{oldName}\"" : "Nie można zmienić nazwy \"{oldName}\"",
"This operation is forbidden" : "Ta operacja jest niedozwolona",
"This directory is unavailable, please check the logs or contact the administrator" : "Ten katalog jest niedostępny, sprawdź logi lub skontaktuj się z administratorem",
"Storage is temporarily not available" : "Magazyn jest tymczasowo niedostępny",
@@ -361,7 +368,6 @@ OC.L10N.register(
"Upload too large" : "Wysyłany plik jest za duży",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Pliki, które próbujesz wysłać, przekraczają maksymalną dopuszczalną wielkość.",
"File could not be found" : "Nie można znaleźć pliku",
- "Download" : "Pobierz",
"Show list view" : "Pokaż widok listy",
"Show grid view" : "Pokaż widok siatki",
"Close" : "Zamknij",
@@ -400,9 +406,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Skopiowano {origin} wewnątrz {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Skopiowano {origin} oraz {nbfiles} innych plików wewnątrz {destination}",
"{newName} already exists" : "{newName} już istnieje",
- "Could not rename \"{oldName}\", it does not exist any more" : "Nie można zmienić nazwy \"{oldName}\", już nie istnieje",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nazwa \"{newName}\" jest już używana w katalogu \"{dir}\". Wybierz inną nazwę.",
- "Could not rename \"{oldName}\"" : "Nie można zmienić nazwy \"{oldName}\"",
"Could not create file \"{file}\"" : "Nie można utworzyć pliku \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nie można utworzyć pliku \"{file}\", ponieważ ten plik już istnieje.",
"Could not create folder \"{dir}\" because it already exists" : "Nie można utworzyć katalogu \"{dir}\", ponieważ już istnieje",
@@ -454,8 +457,6 @@ OC.L10N.register(
"New text file.txt" : "Nowy plik tekstowy.txt",
"%1$s (renamed)" : "%1$s (zmieniona nazwa)",
"renamed file" : "zmieniona nazwa pliku",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Po włączeniu nazw plików zgodnych z systemem Windows, istniejących plików nie można już modyfikować, ale ich właściciel może zmienić ich nazwy na nowe, prawidłowe.",
- "{count} files could not be converted" : "Nie można przekonwertować {count} plików",
- "{count} files successfully converted" : "Zostały pomyślnie przekonwertowane{count} plików"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Po włączeniu nazw plików zgodnych z systemem Windows, istniejących plików nie można już modyfikować, ale ich właściciel może zmienić ich nazwy na nowe, prawidłowe."
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json
index 2eea38487f8..f54507e7ff7 100644
--- a/apps/files/l10n/pl.json
+++ b/apps/files/l10n/pl.json
@@ -225,6 +225,7 @@
"Show those shortcuts" : "Pokaż te skróty",
"You" : "Ty",
"Shared multiple times with different people" : "Udostępniony wiele razy różnym osobom",
+ "Unable to change the favorite state of the file" : "Nie można zmienić ulubionego stanu pliku",
"Error while loading the file data" : "Błąd podczas wczytywania danych pliku",
"Owner" : "Właściciel",
"Remove from favorites" : "Usuń z ulubionych",
@@ -265,8 +266,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Zamierzasz usunąć {count} element","Zamierzasz usunąć {count} elementy","Zamierzasz usunąć {count} elementów","Zamierzasz usunąć {count} elementów"],
"Confirm deletion" : "Potwierdź usunięcie",
"Cancel" : "Anuluj",
+ "Download" : "Pobierz",
"Moving \"{source}\" to \"{destination}\" …" : "Przenoszenie „{source}” do „{destination}”…",
"Copying \"{source}\" to \"{destination}\" …" : "Kopiowanie „{source}” do „{destination}”…",
+ "Destination is not a folder" : "Miejsce docelowe nie jest katalogiem",
+ "This file/folder is already in that directory" : "Ten plik/katalog znajduje się już w tym katalogu",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Nie można przenieść pliku/katalogu do tego samego katalogu lub do własnego podkatalogu",
"(copy)" : "(kopiuj)",
"(copy %n)" : "(kopiuj %n)",
@@ -328,6 +332,9 @@
"Files moved successfully" : "Pliki zostały przeniesione pomyślnie",
"Conflicts resolution skipped" : "Pominięto rozwiązywanie konfliktów",
"Upload cancelled" : "Anulowano przesyłanie",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nie można zmienić nazwy \"{oldName}\", już nie istnieje",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nazwa \"{newName}\" jest już używana w katalogu \"{dir}\". Wybierz inną nazwę.",
+ "Could not rename \"{oldName}\"" : "Nie można zmienić nazwy \"{oldName}\"",
"This operation is forbidden" : "Ta operacja jest niedozwolona",
"This directory is unavailable, please check the logs or contact the administrator" : "Ten katalog jest niedostępny, sprawdź logi lub skontaktuj się z administratorem",
"Storage is temporarily not available" : "Magazyn jest tymczasowo niedostępny",
@@ -359,7 +366,6 @@
"Upload too large" : "Wysyłany plik jest za duży",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Pliki, które próbujesz wysłać, przekraczają maksymalną dopuszczalną wielkość.",
"File could not be found" : "Nie można znaleźć pliku",
- "Download" : "Pobierz",
"Show list view" : "Pokaż widok listy",
"Show grid view" : "Pokaż widok siatki",
"Close" : "Zamknij",
@@ -398,9 +404,6 @@
"Copied {origin} inside {destination}" : "Skopiowano {origin} wewnątrz {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Skopiowano {origin} oraz {nbfiles} innych plików wewnątrz {destination}",
"{newName} already exists" : "{newName} już istnieje",
- "Could not rename \"{oldName}\", it does not exist any more" : "Nie można zmienić nazwy \"{oldName}\", już nie istnieje",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nazwa \"{newName}\" jest już używana w katalogu \"{dir}\". Wybierz inną nazwę.",
- "Could not rename \"{oldName}\"" : "Nie można zmienić nazwy \"{oldName}\"",
"Could not create file \"{file}\"" : "Nie można utworzyć pliku \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nie można utworzyć pliku \"{file}\", ponieważ ten plik już istnieje.",
"Could not create folder \"{dir}\" because it already exists" : "Nie można utworzyć katalogu \"{dir}\", ponieważ już istnieje",
@@ -452,8 +455,6 @@
"New text file.txt" : "Nowy plik tekstowy.txt",
"%1$s (renamed)" : "%1$s (zmieniona nazwa)",
"renamed file" : "zmieniona nazwa pliku",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Po włączeniu nazw plików zgodnych z systemem Windows, istniejących plików nie można już modyfikować, ale ich właściciel może zmienić ich nazwy na nowe, prawidłowe.",
- "{count} files could not be converted" : "Nie można przekonwertować {count} plików",
- "{count} files successfully converted" : "Zostały pomyślnie przekonwertowane{count} plików"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Po włączeniu nazw plików zgodnych z systemem Windows, istniejących plików nie można już modyfikować, ale ich właściciel może zmienić ich nazwy na nowe, prawidłowe."
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/files/l10n/ps.js b/apps/files/l10n/ps.js
deleted file mode 100644
index 5dc63b90c17..00000000000
--- a/apps/files/l10n/ps.js
+++ /dev/null
@@ -1,135 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "فایل نشته",
- "Move or copy" : "انتقال یا کاپي کول",
- "Download" : "ښکته کول",
- "Delete" : "ړنګول",
- "Tags" : "نښکې",
- "Home" : "کور",
- "Close" : "بندول",
- "Favorites" : "په نښه شوي",
- "Could not create folder \"{dir}\"" : "\"{dir}\" فولډر نشي جوړېدای",
- "This will stop your current uploads." : "دا به اوسني فايلونه پورته کول بند کړي.",
- "Upload cancelled." : "فایل پورته کول بند شول.",
- "Processing files …" : "فایلونه د چمتووالي په حال کې دي ...",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "{filename} فایل نشي پورته کېدای ځکه چې تش دی. 0",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "تاسې {size1} پورته کوئ خو يوازې {size2} پاتې دی او ځای کم دی. ",
- "Target folder \"{dir}\" does not exist any more" : "\"{dir}\" فولډر نور شتون نلري",
- "Not enough free space" : "تش ځای نشته",
- "An unknown error has occurred" : "ستونزه وه.",
- "Uploading …" : "فايل د پورته کېدو په حال کې دی ...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} له {totalSize} ({bitrate})",
- "Uploading that item is not supported" : "دا ډول فایل نشئ پورته کولای",
- "Target folder does not exist any more" : "دغه فولډر نور شتون نلري",
- "Actions" : "کړنې",
- "Rename" : "نوم بدلول",
- "Move" : "انتقال",
- "Copy" : "کاپي کول",
- "Choose target folder" : "د ورانتقالېدو فولډر ټاکل",
- "Open" : "پرانيستل",
- "Could not load info for file \"{file}\"" : "د \"{file}\" فایل معلومات نشي پرانيستل کېدای",
- "Files" : "فایلونه",
- "Details" : "معلومات",
- "Pending" : "د انتظار په حال کې",
- "Unable to determine date" : "نېټه نه معلومېږي",
- "This operation is forbidden" : "دا کړنه نشي کېدای",
- "Storage is temporarily not available" : "ذخیره د لنډې مودې لپاره نشته",
- "Could not move \"{file}\", target exists" : "\"{file}\" فایل نشي انتقالېدای ځکه هلته له مخه شتون لري",
- "Could not move \"{file}\"" : "\"{file}\" فایل نشي انتقالېدای",
- "copy" : "کاپي",
- "Could not copy \"{file}\", target exists" : "\"{file}\" فایل نشي کاپي کېدای ځکه هلته له مخه شتون لري",
- "Could not copy \"{file}\"" : "\"{file}\" فایل نشي کاپي کېدای",
- "Copied {origin} inside {destination}" : "له {origin} څخه {destination} کاپي شو",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} او {nbfiles} نور فایلونه {destination} ته کاپي شول",
- "{newName} already exists" : "{newName} له پخوا شتون لري",
- "Could not rename \"{fileName}\"" : " \"{fileName}\" فایل نوم نشئ بدلولی",
- "Could not create file \"{file}\"" : "\"{file}\" فایل نشي جوړېدای",
- "Could not create file \"{file}\" because it already exists" : "\"{file}\" فایل موجود دی. بيا يې نشئ جوړولی.",
- "Could not create folder \"{dir}\" because it already exists" : "\"{dir}\" فولډر موجود دی. بيا يې نشئ جوړولی.",
- "Error deleting file \"{fileName}\"." : "\"{fileName}\" فايل پاکولو کې ستونزه ده",
- "No search results in other folders for {tag}{filter}{endtag}" : "په نورو فولډرونو کې د {tag}{filter}{endtag} لپاره پايلې نه وې",
- "Name" : "نوم",
- "Size" : "کچه",
- "Modified" : "د بدلون نېټه",
- "_%n folder_::_%n folders_" : ["%n فولډر","%n فولډرونه"],
- "_%n file_::_%n files_" : ["%n فایل","%n فایلونه"],
- "{dirs} and {files}" : "{dirs} او {files}",
- "_including %n hidden_::_including %n hidden_" : [" پټ سربېره","%n پټ سربېره"],
- "_Uploading %n file_::_Uploading %n files_" : ["%n فایل پورته کول","%n فایلونه پورته کول"],
- "Select file range" : "د فایلونو اندازه وټاکئ",
- "{used} of {quota} used" : "له {quota} څخه {used} کارول شوې",
- "{used} used" : "{used} کارول شوې",
- "\"{name}\" is an invalid file name." : "\"{name}\" د فایل لپاره سم نوم نه دی",
- "File name cannot be empty." : "فایل نوم تش نشي کېدای",
- "\"/\" is not allowed inside a file name." : "د فایل په نوم کې \"/\" نشئ کارولای",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" ډول فایلونو اجازه نشته",
- "View in folder" : "په فولډر کې کتل",
- "Path" : "درک",
- "_%n byte_::_%n bytes_" : ["%n بایټ","%n بايټونه"],
- "Favorited" : "په نښه شو",
- "Favorite" : "په نښه شوی",
- "Copy direct link (only works for users who have access to this file/folder)" : "نېغ لېنک کاپي کول",
- "You can only favorite a single file or folder at a time" : "په يو وخت یو فایل یا فولډر په نښه کېدای شي",
- "New folder" : "نوی فولډر",
- "Upload file" : "فایل پورته کول",
- "Recent" : "وروستي",
- "Not favorited" : "په نښه شوی نه دی",
- "Remove from favorites" : "له نښو ويستل",
- "Add to favorites" : "په نښه کول",
- "Added to favorites" : "په نښه شو",
- "Removed from favorites" : "له نښو لېرې شو",
- "You added {file} to your favorites" : "تاسې خپلو په نښه شويو فایلونو ته {file} ورډېر کړ",
- "You removed {file} from your favorites" : "تاسې له خپلو په نښه شويو فایلونو څخه {file} لرې کړ",
- "File changes" : "د فایل بدلونونه",
- "Created by {user}" : "{user} لخوا جوړ شوی",
- "Changed by {user}" : "{user} لخوا تغیر شوی",
- "Deleted by {user}" : "{user} لخوا ړنګ شوی",
- "Restored by {user}" : "{user} لخوا بېرته اصلي شوی",
- "Renamed by {user}" : "{user} لخوا بیا نومول شوی",
- "Moved by {user}" : "{user} لخوا انتقال شوی",
- "\"remote user\"" : "\"د بل ځای کارن\"",
- "You created {file}" : "تاسې {file} جوړ کړی",
- "{user} created {file}" : "{user} کارن {file} فایل جوړ کړ",
- "{file} was created in a public folder" : "{file} په یو عمومي فولډر کې جوړ شوی",
- "You changed {file}" : "تاسې په {file} کې تغیر راوستی",
- "You changed an encrypted file in {file}" : " تاسې په {file} کې يو خوندي فایل بدل کړ",
- "{user} changed {file}" : "{user} کارن {file} فایل کې تغیر رواستی",
- "{user} changed an encrypted file in {file}" : "{user} يو خوندي فايل په {file} کې بدل کړ",
- "You deleted {file}" : "تاسې {file} ړنګ کړی",
- "You deleted an encrypted file in {file}" : "تاسې په {file} کې يو خوندي فايل ړنګ کړ",
- "{user} deleted {file}" : "{user} کارن {file} فایل ړنګ کړ",
- "{user} deleted an encrypted file in {file}" : "{user} په {file} کې يو خوندي فايل ړنګ کړ",
- "You restored {file}" : "تاسې {file} اصلي حالت ته کړی",
- "{user} restored {file}" : "{user} کارن {file} فایل اصلي حالت ته کړی",
- "You renamed {oldfile} to {newfile}" : "تاسې {oldfile} فایل {newfile} نوم ته اړولی ",
- "{user} renamed {oldfile} to {newfile}" : "{user} {oldfile} فایل {newfile} نوم ته اړولی ",
- "All files" : "ټول فایلونه",
- "Upload (max. %s)" : "پورته کول (%s نهايي)",
- "File Management" : "فایلونه ترتیبول",
- "Select all" : "ټول ټاکل",
- "Unknown error" : "نامعلومه ستونزه",
- "No files in here" : "دلته فایلونه نشته",
- "Show hidden files" : "پټ فایلونه ليدل",
- "Toggle grid view" : "په جدولي شکل ليدل",
- "No entries found in this folder" : "په دې فولډر کې څه نشته",
- "Upload too large" : "د پورته کېدونکي فایل کچه لوړه ده",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "د دې سرور لپاره د پورته کېدونکي فایل کچه لوړه ده",
- "No favorites yet" : "تر اوسه نښې نشته",
- "Files and folders you mark as favorite will show up here" : "هغه فایلونه او فولډرې چې تاسې په نښه کړئ دلته به ښکاري",
- "Shares" : "شريک شوي",
- "Shared with others" : "نورو سره شريک شوي",
- "Shared with you" : "تاسې سره شريک شوي",
- "Shared by link" : "په لېنک شريک شوي",
- "Deleted shares" : "ړنګ شوي لېنکونه",
- "Text file" : "متن فایل",
- "New text file.txt" : "New text file.txt",
- "Storage invalid" : "ذخیره ناسمه ده",
- "Unlimited" : "نامحدود",
- "Cancel" : "پرېښول",
- "%s used" : "%sکارول شوې",
- "%1$s of %2$s used" : "د %2$sبرخې %1$sکارول شوې",
- "Deleted files" : "ړنګ شوي فایلونه"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ps.json b/apps/files/l10n/ps.json
deleted file mode 100644
index 7a7f4c16da1..00000000000
--- a/apps/files/l10n/ps.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{ "translations": {
- "File could not be found" : "فایل نشته",
- "Move or copy" : "انتقال یا کاپي کول",
- "Download" : "ښکته کول",
- "Delete" : "ړنګول",
- "Tags" : "نښکې",
- "Home" : "کور",
- "Close" : "بندول",
- "Favorites" : "په نښه شوي",
- "Could not create folder \"{dir}\"" : "\"{dir}\" فولډر نشي جوړېدای",
- "This will stop your current uploads." : "دا به اوسني فايلونه پورته کول بند کړي.",
- "Upload cancelled." : "فایل پورته کول بند شول.",
- "Processing files …" : "فایلونه د چمتووالي په حال کې دي ...",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "{filename} فایل نشي پورته کېدای ځکه چې تش دی. 0",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "تاسې {size1} پورته کوئ خو يوازې {size2} پاتې دی او ځای کم دی. ",
- "Target folder \"{dir}\" does not exist any more" : "\"{dir}\" فولډر نور شتون نلري",
- "Not enough free space" : "تش ځای نشته",
- "An unknown error has occurred" : "ستونزه وه.",
- "Uploading …" : "فايل د پورته کېدو په حال کې دی ...",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} له {totalSize} ({bitrate})",
- "Uploading that item is not supported" : "دا ډول فایل نشئ پورته کولای",
- "Target folder does not exist any more" : "دغه فولډر نور شتون نلري",
- "Actions" : "کړنې",
- "Rename" : "نوم بدلول",
- "Move" : "انتقال",
- "Copy" : "کاپي کول",
- "Choose target folder" : "د ورانتقالېدو فولډر ټاکل",
- "Open" : "پرانيستل",
- "Could not load info for file \"{file}\"" : "د \"{file}\" فایل معلومات نشي پرانيستل کېدای",
- "Files" : "فایلونه",
- "Details" : "معلومات",
- "Pending" : "د انتظار په حال کې",
- "Unable to determine date" : "نېټه نه معلومېږي",
- "This operation is forbidden" : "دا کړنه نشي کېدای",
- "Storage is temporarily not available" : "ذخیره د لنډې مودې لپاره نشته",
- "Could not move \"{file}\", target exists" : "\"{file}\" فایل نشي انتقالېدای ځکه هلته له مخه شتون لري",
- "Could not move \"{file}\"" : "\"{file}\" فایل نشي انتقالېدای",
- "copy" : "کاپي",
- "Could not copy \"{file}\", target exists" : "\"{file}\" فایل نشي کاپي کېدای ځکه هلته له مخه شتون لري",
- "Could not copy \"{file}\"" : "\"{file}\" فایل نشي کاپي کېدای",
- "Copied {origin} inside {destination}" : "له {origin} څخه {destination} کاپي شو",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} او {nbfiles} نور فایلونه {destination} ته کاپي شول",
- "{newName} already exists" : "{newName} له پخوا شتون لري",
- "Could not rename \"{fileName}\"" : " \"{fileName}\" فایل نوم نشئ بدلولی",
- "Could not create file \"{file}\"" : "\"{file}\" فایل نشي جوړېدای",
- "Could not create file \"{file}\" because it already exists" : "\"{file}\" فایل موجود دی. بيا يې نشئ جوړولی.",
- "Could not create folder \"{dir}\" because it already exists" : "\"{dir}\" فولډر موجود دی. بيا يې نشئ جوړولی.",
- "Error deleting file \"{fileName}\"." : "\"{fileName}\" فايل پاکولو کې ستونزه ده",
- "No search results in other folders for {tag}{filter}{endtag}" : "په نورو فولډرونو کې د {tag}{filter}{endtag} لپاره پايلې نه وې",
- "Name" : "نوم",
- "Size" : "کچه",
- "Modified" : "د بدلون نېټه",
- "_%n folder_::_%n folders_" : ["%n فولډر","%n فولډرونه"],
- "_%n file_::_%n files_" : ["%n فایل","%n فایلونه"],
- "{dirs} and {files}" : "{dirs} او {files}",
- "_including %n hidden_::_including %n hidden_" : [" پټ سربېره","%n پټ سربېره"],
- "_Uploading %n file_::_Uploading %n files_" : ["%n فایل پورته کول","%n فایلونه پورته کول"],
- "Select file range" : "د فایلونو اندازه وټاکئ",
- "{used} of {quota} used" : "له {quota} څخه {used} کارول شوې",
- "{used} used" : "{used} کارول شوې",
- "\"{name}\" is an invalid file name." : "\"{name}\" د فایل لپاره سم نوم نه دی",
- "File name cannot be empty." : "فایل نوم تش نشي کېدای",
- "\"/\" is not allowed inside a file name." : "د فایل په نوم کې \"/\" نشئ کارولای",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" ډول فایلونو اجازه نشته",
- "View in folder" : "په فولډر کې کتل",
- "Path" : "درک",
- "_%n byte_::_%n bytes_" : ["%n بایټ","%n بايټونه"],
- "Favorited" : "په نښه شو",
- "Favorite" : "په نښه شوی",
- "Copy direct link (only works for users who have access to this file/folder)" : "نېغ لېنک کاپي کول",
- "You can only favorite a single file or folder at a time" : "په يو وخت یو فایل یا فولډر په نښه کېدای شي",
- "New folder" : "نوی فولډر",
- "Upload file" : "فایل پورته کول",
- "Recent" : "وروستي",
- "Not favorited" : "په نښه شوی نه دی",
- "Remove from favorites" : "له نښو ويستل",
- "Add to favorites" : "په نښه کول",
- "Added to favorites" : "په نښه شو",
- "Removed from favorites" : "له نښو لېرې شو",
- "You added {file} to your favorites" : "تاسې خپلو په نښه شويو فایلونو ته {file} ورډېر کړ",
- "You removed {file} from your favorites" : "تاسې له خپلو په نښه شويو فایلونو څخه {file} لرې کړ",
- "File changes" : "د فایل بدلونونه",
- "Created by {user}" : "{user} لخوا جوړ شوی",
- "Changed by {user}" : "{user} لخوا تغیر شوی",
- "Deleted by {user}" : "{user} لخوا ړنګ شوی",
- "Restored by {user}" : "{user} لخوا بېرته اصلي شوی",
- "Renamed by {user}" : "{user} لخوا بیا نومول شوی",
- "Moved by {user}" : "{user} لخوا انتقال شوی",
- "\"remote user\"" : "\"د بل ځای کارن\"",
- "You created {file}" : "تاسې {file} جوړ کړی",
- "{user} created {file}" : "{user} کارن {file} فایل جوړ کړ",
- "{file} was created in a public folder" : "{file} په یو عمومي فولډر کې جوړ شوی",
- "You changed {file}" : "تاسې په {file} کې تغیر راوستی",
- "You changed an encrypted file in {file}" : " تاسې په {file} کې يو خوندي فایل بدل کړ",
- "{user} changed {file}" : "{user} کارن {file} فایل کې تغیر رواستی",
- "{user} changed an encrypted file in {file}" : "{user} يو خوندي فايل په {file} کې بدل کړ",
- "You deleted {file}" : "تاسې {file} ړنګ کړی",
- "You deleted an encrypted file in {file}" : "تاسې په {file} کې يو خوندي فايل ړنګ کړ",
- "{user} deleted {file}" : "{user} کارن {file} فایل ړنګ کړ",
- "{user} deleted an encrypted file in {file}" : "{user} په {file} کې يو خوندي فايل ړنګ کړ",
- "You restored {file}" : "تاسې {file} اصلي حالت ته کړی",
- "{user} restored {file}" : "{user} کارن {file} فایل اصلي حالت ته کړی",
- "You renamed {oldfile} to {newfile}" : "تاسې {oldfile} فایل {newfile} نوم ته اړولی ",
- "{user} renamed {oldfile} to {newfile}" : "{user} {oldfile} فایل {newfile} نوم ته اړولی ",
- "All files" : "ټول فایلونه",
- "Upload (max. %s)" : "پورته کول (%s نهايي)",
- "File Management" : "فایلونه ترتیبول",
- "Select all" : "ټول ټاکل",
- "Unknown error" : "نامعلومه ستونزه",
- "No files in here" : "دلته فایلونه نشته",
- "Show hidden files" : "پټ فایلونه ليدل",
- "Toggle grid view" : "په جدولي شکل ليدل",
- "No entries found in this folder" : "په دې فولډر کې څه نشته",
- "Upload too large" : "د پورته کېدونکي فایل کچه لوړه ده",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "د دې سرور لپاره د پورته کېدونکي فایل کچه لوړه ده",
- "No favorites yet" : "تر اوسه نښې نشته",
- "Files and folders you mark as favorite will show up here" : "هغه فایلونه او فولډرې چې تاسې په نښه کړئ دلته به ښکاري",
- "Shares" : "شريک شوي",
- "Shared with others" : "نورو سره شريک شوي",
- "Shared with you" : "تاسې سره شريک شوي",
- "Shared by link" : "په لېنک شريک شوي",
- "Deleted shares" : "ړنګ شوي لېنکونه",
- "Text file" : "متن فایل",
- "New text file.txt" : "New text file.txt",
- "Storage invalid" : "ذخیره ناسمه ده",
- "Unlimited" : "نامحدود",
- "Cancel" : "پرېښول",
- "%s used" : "%sکارول شوې",
- "%1$s of %2$s used" : "د %2$sبرخې %1$sکارول شوې",
- "Deleted files" : "ړنګ شوي فایلونه"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js
index 694c2561685..722c29d09bb 100644
--- a/apps/files/l10n/pt_BR.js
+++ b/apps/files/l10n/pt_BR.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "Mostrar esses atalhos",
"You" : "Você",
"Shared multiple times with different people" : "Compartilhado várias vezes com pessoas diferentes",
+ "Unable to change the favorite state of the file" : "Impossível mudar estado de favorito do arquivo",
"Error while loading the file data" : "Erro ao carregar os dados do arquivo",
"Owner" : "Proprietário",
"Remove from favorites" : "Excluir dos favoritos",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Você está prestes a excluir {count} item","Você está prestes a excluir {count} de itens","Você está prestes a excluir {count} itens"],
"Confirm deletion" : "Confirmar exclusão",
"Cancel" : "Cancelar",
+ "Download" : "Baixar",
"Moving \"{source}\" to \"{destination}\" …" : "Movendo \"{source}\" para \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Copiando \"{source}\" para \"{destination}\" …",
+ "Destination is not a folder" : "O destino não é uma pasta",
+ "This file/folder is already in that directory" : "Este arquivo/pasta já está nesse diretório",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Não é possível mover um arquivo/pasta para ele mesmo ou para uma subpasta dele mesmo",
"(copy)" : "(cópia)",
"(copy %n)" : "(cópia %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "Arquivos movidos com sucesso",
"Conflicts resolution skipped" : "Resolução de conflitos pulada",
"Upload cancelled" : "Upload cancelado",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Não foi possível renomear \"{oldName}\", ele não existe mais",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome \"{newName}\" já é utilizado na pasta \"{dir}\". Escolha um nome diferente.",
+ "Could not rename \"{oldName}\"" : "Não foi possível renomear \"{oldName}\"",
"This operation is forbidden" : "Esta operação é proibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Este diretório não está disponível, por favor verifique os logs ou contacte o administrador",
"Storage is temporarily not available" : "O armazenamento está temporariamente indisponível",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "Arquivo muito grande para fazer upload",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Os arquivos que você está tentando enviar excederam o tamanho máximo para arquivos no servidor.",
"File could not be found" : "O arquivo não foi encontrado",
- "Download" : "Baixar",
"Show list view" : "Mostrar visualização em lista",
"Show grid view" : "Mostrar visualização em grade",
"Close" : "Fechar",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} foi copiado para {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} e outros {nbfiles} arquivos foram copiados para {destination}",
"{newName} already exists" : "{newName} já existe",
- "Could not rename \"{oldName}\", it does not exist any more" : "Não foi possível renomear \"{oldName}\", ele não existe mais",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome \"{newName}\" já é utilizado na pasta \"{dir}\". Escolha um nome diferente.",
- "Could not rename \"{oldName}\"" : "Não foi possível renomear \"{oldName}\"",
"Could not create file \"{file}\"" : "Não foi possível criar o arquivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Não foi possível criar o arquivo \"{file}\" pois ele já existe",
"Could not create folder \"{dir}\" because it already exists" : "Não foi possível criar a pasta \"{dir}\" pois ela já existe",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "Novo arquivo de texto.txt",
"%1$s (renamed)" : "%1$s (renomeado)",
"renamed file" : "arquivo renomeado",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Depois de ativar os nomes de arquivos compatíveis com o Windows, os arquivos existentes não podem mais ser modificados, mas podem ser renomeados para novos nomes válidos pelo proprietário.",
- "{count} files could not be converted" : "{count} arquivos não puderam ser convertidos",
- "{count} files successfully converted" : "{count} arquivos convertidos com sucesso"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Depois de ativar os nomes de arquivos compatíveis com o Windows, os arquivos existentes não podem mais ser modificados, mas podem ser renomeados para novos nomes válidos pelo proprietário."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json
index 21666ff1c48..8f361e72cf8 100644
--- a/apps/files/l10n/pt_BR.json
+++ b/apps/files/l10n/pt_BR.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "Mostrar esses atalhos",
"You" : "Você",
"Shared multiple times with different people" : "Compartilhado várias vezes com pessoas diferentes",
+ "Unable to change the favorite state of the file" : "Impossível mudar estado de favorito do arquivo",
"Error while loading the file data" : "Erro ao carregar os dados do arquivo",
"Owner" : "Proprietário",
"Remove from favorites" : "Excluir dos favoritos",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Você está prestes a excluir {count} item","Você está prestes a excluir {count} de itens","Você está prestes a excluir {count} itens"],
"Confirm deletion" : "Confirmar exclusão",
"Cancel" : "Cancelar",
+ "Download" : "Baixar",
"Moving \"{source}\" to \"{destination}\" …" : "Movendo \"{source}\" para \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Copiando \"{source}\" para \"{destination}\" …",
+ "Destination is not a folder" : "O destino não é uma pasta",
+ "This file/folder is already in that directory" : "Este arquivo/pasta já está nesse diretório",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Não é possível mover um arquivo/pasta para ele mesmo ou para uma subpasta dele mesmo",
"(copy)" : "(cópia)",
"(copy %n)" : "(cópia %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "Arquivos movidos com sucesso",
"Conflicts resolution skipped" : "Resolução de conflitos pulada",
"Upload cancelled" : "Upload cancelado",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Não foi possível renomear \"{oldName}\", ele não existe mais",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome \"{newName}\" já é utilizado na pasta \"{dir}\". Escolha um nome diferente.",
+ "Could not rename \"{oldName}\"" : "Não foi possível renomear \"{oldName}\"",
"This operation is forbidden" : "Esta operação é proibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Este diretório não está disponível, por favor verifique os logs ou contacte o administrador",
"Storage is temporarily not available" : "O armazenamento está temporariamente indisponível",
@@ -360,7 +367,6 @@
"Upload too large" : "Arquivo muito grande para fazer upload",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Os arquivos que você está tentando enviar excederam o tamanho máximo para arquivos no servidor.",
"File could not be found" : "O arquivo não foi encontrado",
- "Download" : "Baixar",
"Show list view" : "Mostrar visualização em lista",
"Show grid view" : "Mostrar visualização em grade",
"Close" : "Fechar",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "{origin} foi copiado para {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} e outros {nbfiles} arquivos foram copiados para {destination}",
"{newName} already exists" : "{newName} já existe",
- "Could not rename \"{oldName}\", it does not exist any more" : "Não foi possível renomear \"{oldName}\", ele não existe mais",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome \"{newName}\" já é utilizado na pasta \"{dir}\". Escolha um nome diferente.",
- "Could not rename \"{oldName}\"" : "Não foi possível renomear \"{oldName}\"",
"Could not create file \"{file}\"" : "Não foi possível criar o arquivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Não foi possível criar o arquivo \"{file}\" pois ele já existe",
"Could not create folder \"{dir}\" because it already exists" : "Não foi possível criar a pasta \"{dir}\" pois ela já existe",
@@ -453,8 +456,6 @@
"New text file.txt" : "Novo arquivo de texto.txt",
"%1$s (renamed)" : "%1$s (renomeado)",
"renamed file" : "arquivo renomeado",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Depois de ativar os nomes de arquivos compatíveis com o Windows, os arquivos existentes não podem mais ser modificados, mas podem ser renomeados para novos nomes válidos pelo proprietário.",
- "{count} files could not be converted" : "{count} arquivos não puderam ser convertidos",
- "{count} files successfully converted" : "{count} arquivos convertidos com sucesso"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Depois de ativar os nomes de arquivos compatíveis com o Windows, os arquivos existentes não podem mais ser modificados, mas podem ser renomeados para novos nomes válidos pelo proprietário."
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files/l10n/pt_PT.js b/apps/files/l10n/pt_PT.js
index ed5337b58bc..f35c44a8ea2 100644
--- a/apps/files/l10n/pt_PT.js
+++ b/apps/files/l10n/pt_PT.js
@@ -163,6 +163,7 @@ OC.L10N.register(
"Delete folder" : "Apagar pasta",
"Delete" : "Apagar",
"Cancel" : "Cancelar",
+ "Download" : "Transferir",
"Copy to {target}" : "Copiar para {target}",
"Copy" : "Copiar",
"Move to {target}" : "Mover para {target}",
@@ -179,6 +180,9 @@ OC.L10N.register(
"Videos" : "Vídeos",
"Templates" : "Modelos",
"Some files could not be moved" : "Não foi possível mover alguns ficheiros",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Não foi possível renomear “{oldName}”, já não existe",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome “{newName}” já está a ser utilizado na pasta “{dir}”. Por favor, escolha um nome diferente.",
+ "Could not rename \"{oldName}\"" : "Não foi possível renomear \"{oldName}\"",
"This operation is forbidden" : "Esta operação é proibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Esta diretoria está indisponível, por favor, verifique os registos ou contacte o administrador",
"Storage is temporarily not available" : "Armazenamento temporariamente indisponível",
@@ -194,7 +198,6 @@ OC.L10N.register(
"Upload too large" : "Envio muito grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Os ficheiros que está a tentar enviar excedem o tamanho máximo para os envios de ficheiro neste servidor.",
"File could not be found" : "O ficheiro não foi encontrado",
- "Download" : "Transferir",
"Show list view" : "Mostrar visualização em lista",
"Show grid view" : "Mostrar visualização em grelha",
"Close" : "Fechar",
@@ -230,9 +233,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Copiado {origin} para {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiados {origin} e {nbfiles} outros ficheiros para dentro de {destination}",
"{newName} already exists" : "{newName} já existe",
- "Could not rename \"{oldName}\", it does not exist any more" : "Não foi possível renomear “{oldName}”, já não existe",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome “{newName}” já está a ser utilizado na pasta “{dir}”. Por favor, escolha um nome diferente.",
- "Could not rename \"{oldName}\"" : "Não foi possível renomear \"{oldName}\"",
"Could not create file \"{file}\"" : "Não foi possível criar o ficheiro \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Não foi possível criar o ficheiro \"{file}\", porque este já existe",
"Could not create folder \"{dir}\" because it already exists" : "Não foi possível criar a pasta \"{dir}\", porque esta já existe",
diff --git a/apps/files/l10n/pt_PT.json b/apps/files/l10n/pt_PT.json
index f007862ea2f..2a53bbf9bd9 100644
--- a/apps/files/l10n/pt_PT.json
+++ b/apps/files/l10n/pt_PT.json
@@ -161,6 +161,7 @@
"Delete folder" : "Apagar pasta",
"Delete" : "Apagar",
"Cancel" : "Cancelar",
+ "Download" : "Transferir",
"Copy to {target}" : "Copiar para {target}",
"Copy" : "Copiar",
"Move to {target}" : "Mover para {target}",
@@ -177,6 +178,9 @@
"Videos" : "Vídeos",
"Templates" : "Modelos",
"Some files could not be moved" : "Não foi possível mover alguns ficheiros",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Não foi possível renomear “{oldName}”, já não existe",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome “{newName}” já está a ser utilizado na pasta “{dir}”. Por favor, escolha um nome diferente.",
+ "Could not rename \"{oldName}\"" : "Não foi possível renomear \"{oldName}\"",
"This operation is forbidden" : "Esta operação é proibida",
"This directory is unavailable, please check the logs or contact the administrator" : "Esta diretoria está indisponível, por favor, verifique os registos ou contacte o administrador",
"Storage is temporarily not available" : "Armazenamento temporariamente indisponível",
@@ -192,7 +196,6 @@
"Upload too large" : "Envio muito grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Os ficheiros que está a tentar enviar excedem o tamanho máximo para os envios de ficheiro neste servidor.",
"File could not be found" : "O ficheiro não foi encontrado",
- "Download" : "Transferir",
"Show list view" : "Mostrar visualização em lista",
"Show grid view" : "Mostrar visualização em grelha",
"Close" : "Fechar",
@@ -228,9 +231,6 @@
"Copied {origin} inside {destination}" : "Copiado {origin} para {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiados {origin} e {nbfiles} outros ficheiros para dentro de {destination}",
"{newName} already exists" : "{newName} já existe",
- "Could not rename \"{oldName}\", it does not exist any more" : "Não foi possível renomear “{oldName}”, já não existe",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome “{newName}” já está a ser utilizado na pasta “{dir}”. Por favor, escolha um nome diferente.",
- "Could not rename \"{oldName}\"" : "Não foi possível renomear \"{oldName}\"",
"Could not create file \"{file}\"" : "Não foi possível criar o ficheiro \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Não foi possível criar o ficheiro \"{file}\", porque este já existe",
"Could not create folder \"{dir}\" because it already exists" : "Não foi possível criar a pasta \"{dir}\", porque esta já existe",
diff --git a/apps/files/l10n/ro.js b/apps/files/l10n/ro.js
index dd5127b2f30..f595f73d79e 100644
--- a/apps/files/l10n/ro.js
+++ b/apps/files/l10n/ro.js
@@ -150,6 +150,9 @@ OC.L10N.register(
"Delete permanently" : "Șterge permanent",
"Delete" : "Șterge",
"Cancel" : "Anulare",
+ "Download" : "Descarcă",
+ "Destination is not a folder" : "Destinația nu este un folder",
+ "This file/folder is already in that directory" : "Acest fișier/folder există în acel dosar",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Nu se poate muta/redenumi un fișier/folder în el însuși sau într-un subfolder al său",
"A file or folder with that name already exists in this folder" : "Un fișier sau folder cu acest nume există deja în acest folder",
"The file does not exist anymore" : "Fișierul nu mai există",
@@ -175,6 +178,9 @@ OC.L10N.register(
"Unable to initialize the templates directory" : "Nu s-a putut inițializa dosarul cu șabloane",
"Templates" : "Șabloane",
"Some files could not be moved" : "Unele fișiere nu au putut fi mutate",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" nu poate fi redenumit deoarece nu mai există",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Numele \"{newName}\" există în folderul \"{dir}\". Selectați, vă rog, alt nume.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" nu poate fi redenumit",
"This operation is forbidden" : "Operațiunea este interzisă",
"This directory is unavailable, please check the logs or contact the administrator" : "Acest director nu este disponibil, te rugăm verifică logurile sau contactează un administrator",
"Storage is temporarily not available" : "Spațiu de stocare este indisponibil temporar",
@@ -194,7 +200,6 @@ OC.L10N.register(
"Upload too large" : "Fișierul încărcat este prea mare",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Fișierele pe care încerci să le încarci depășesc limita de încărcare maximă admisă pe acest server.",
"File could not be found" : "Fișierul nu a fost găsit",
- "Download" : "Descarcă",
"Show list view" : "Afișează vizualizarea listă",
"Show grid view" : "Afișează vizualizarea grilă",
"Close" : "Închide",
@@ -232,9 +237,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "S-a copiat {origin} în {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "S-a copiat {origin} și {nbfiles} alte fișiere în {destination}",
"{newName} already exists" : "{newName} există deja",
- "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" nu poate fi redenumit deoarece nu mai există",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Numele \"{newName}\" există în folderul \"{dir}\". Selectați, vă rog, alt nume.",
- "Could not rename \"{oldName}\"" : "\"{oldName}\" nu poate fi redenumit",
"Could not create file \"{file}\"" : "Nu s-a putut crea fișierul \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nu s-a putut crea fișierul \"{file}\" deoarece există deja unul cu același nume",
"Could not create folder \"{dir}\" because it already exists" : "Nu s-a putut crea directorul \"{dir}\" deoarece există deja unul cu același nume",
diff --git a/apps/files/l10n/ro.json b/apps/files/l10n/ro.json
index 6c49f8aded9..482b8e64640 100644
--- a/apps/files/l10n/ro.json
+++ b/apps/files/l10n/ro.json
@@ -148,6 +148,9 @@
"Delete permanently" : "Șterge permanent",
"Delete" : "Șterge",
"Cancel" : "Anulare",
+ "Download" : "Descarcă",
+ "Destination is not a folder" : "Destinația nu este un folder",
+ "This file/folder is already in that directory" : "Acest fișier/folder există în acel dosar",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Nu se poate muta/redenumi un fișier/folder în el însuși sau într-un subfolder al său",
"A file or folder with that name already exists in this folder" : "Un fișier sau folder cu acest nume există deja în acest folder",
"The file does not exist anymore" : "Fișierul nu mai există",
@@ -173,6 +176,9 @@
"Unable to initialize the templates directory" : "Nu s-a putut inițializa dosarul cu șabloane",
"Templates" : "Șabloane",
"Some files could not be moved" : "Unele fișiere nu au putut fi mutate",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" nu poate fi redenumit deoarece nu mai există",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Numele \"{newName}\" există în folderul \"{dir}\". Selectați, vă rog, alt nume.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" nu poate fi redenumit",
"This operation is forbidden" : "Operațiunea este interzisă",
"This directory is unavailable, please check the logs or contact the administrator" : "Acest director nu este disponibil, te rugăm verifică logurile sau contactează un administrator",
"Storage is temporarily not available" : "Spațiu de stocare este indisponibil temporar",
@@ -192,7 +198,6 @@
"Upload too large" : "Fișierul încărcat este prea mare",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Fișierele pe care încerci să le încarci depășesc limita de încărcare maximă admisă pe acest server.",
"File could not be found" : "Fișierul nu a fost găsit",
- "Download" : "Descarcă",
"Show list view" : "Afișează vizualizarea listă",
"Show grid view" : "Afișează vizualizarea grilă",
"Close" : "Închide",
@@ -230,9 +235,6 @@
"Copied {origin} inside {destination}" : "S-a copiat {origin} în {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "S-a copiat {origin} și {nbfiles} alte fișiere în {destination}",
"{newName} already exists" : "{newName} există deja",
- "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" nu poate fi redenumit deoarece nu mai există",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Numele \"{newName}\" există în folderul \"{dir}\". Selectați, vă rog, alt nume.",
- "Could not rename \"{oldName}\"" : "\"{oldName}\" nu poate fi redenumit",
"Could not create file \"{file}\"" : "Nu s-a putut crea fișierul \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nu s-a putut crea fișierul \"{file}\" deoarece există deja unul cu același nume",
"Could not create folder \"{dir}\" because it already exists" : "Nu s-a putut crea directorul \"{dir}\" deoarece există deja unul cu același nume",
diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js
index ab93d838068..4f6cf29409b 100644
--- a/apps/files/l10n/ru.js
+++ b/apps/files/l10n/ru.js
@@ -227,6 +227,7 @@ OC.L10N.register(
"Show those shortcuts" : "Показать ярлыки",
"You" : "Вы",
"Shared multiple times with different people" : "Делиться несколько раз с разными людьми",
+ "Unable to change the favorite state of the file" : "Невозможно изменить избранное состояние файла",
"Error while loading the file data" : "Не удалось загрузить данные файла",
"Owner" : "Владелец",
"Remove from favorites" : "Удалить из избранных",
@@ -267,8 +268,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Подтвердите удаление {count} объекта.","Подтвердите удаление {count} объектов","Подтвердите удаление {count} объектов","Подтвердите удаление {count} объектов"],
"Confirm deletion" : "Подтвердить удаление",
"Cancel" : "Отменить",
+ "Download" : "Скачать",
"Moving \"{source}\" to \"{destination}\" …" : "Перемещение \"{source}\" в \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Копирование \"{source}\" в \"{destination}\" …",
+ "Destination is not a folder" : "Указанное назначение не является папкой",
+ "This file/folder is already in that directory" : "Файл или папка уже расположены в этой папке",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Папка или файл не могут быть перемещены во вложенную папку или в себя",
"(copy)" : "(копия)",
"(copy %n)" : "(копия %n)",
@@ -330,6 +334,9 @@ OC.L10N.register(
"Files moved successfully" : "Файлы успешно перемещены",
"Conflicts resolution skipped" : "Разрешение конфликтов пропущено",
"Upload cancelled" : "Передача на сервер отменена",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Не удалось переименовать \"{oldName}\", его больше не существует",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Имя \"{newName}\" уже используется в каталоге \"{dir}\". Выберите другое имя.",
+ "Could not rename \"{oldName}\"" : "Не удалось переименовать «{oldName}»",
"This operation is forbidden" : "Операция запрещена",
"This directory is unavailable, please check the logs or contact the administrator" : "Каталог недоступен. Проверьте журналы событий или свяжитесь с администратором",
"Storage is temporarily not available" : "Хранилище временно недоступно",
@@ -361,7 +368,6 @@ OC.L10N.register(
"Upload too large" : "Файл слишком велик",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файлы, которые вы пытаетесь передать, превышают лимит максимального размера на этом сервере.",
"File could not be found" : "Невозможно найти файл",
- "Download" : "Скачать",
"Show list view" : "Просмотр списком",
"Show grid view" : "Просмотр сеткой",
"Close" : "Закрыть",
@@ -400,9 +406,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} скопирован в {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} и {nbfiles} других файлов скопированы в {destination}",
"{newName} already exists" : "«{newName}» уже существует",
- "Could not rename \"{oldName}\", it does not exist any more" : "Не удалось переименовать \"{oldName}\", его больше не существует",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Имя \"{newName}\" уже используется в каталоге \"{dir}\". Выберите другое имя.",
- "Could not rename \"{oldName}\"" : "Не удалось переименовать «{oldName}»",
"Could not create file \"{file}\"" : "Невозможно создать файл «{file}»",
"Could not create file \"{file}\" because it already exists" : "Невозможно создать файл «{file}», он уже существует",
"Could not create folder \"{dir}\" because it already exists" : "Невозможно создать каталог «{dir}», он уже существует",
@@ -454,8 +457,6 @@ OC.L10N.register(
"New text file.txt" : "Новый текстовый файл.txt",
"%1$s (renamed)" : "%1$s (переименовано)",
"renamed file" : "переименованный файл",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "После включения совместимых с Windows названий файлов, существующие файлы нельзя будет изменить, но они могут быть переименованы их владельцем в допустимые новые имена.",
- "{count} files could not be converted" : "{count} файлы не могут быть преобразованы",
- "{count} files successfully converted" : "{count} файлы успешно преобразованы"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "После включения совместимых с Windows названий файлов, существующие файлы нельзя будет изменить, но они могут быть переименованы их владельцем в допустимые новые имена."
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json
index b263ee6c775..32c53285922 100644
--- a/apps/files/l10n/ru.json
+++ b/apps/files/l10n/ru.json
@@ -225,6 +225,7 @@
"Show those shortcuts" : "Показать ярлыки",
"You" : "Вы",
"Shared multiple times with different people" : "Делиться несколько раз с разными людьми",
+ "Unable to change the favorite state of the file" : "Невозможно изменить избранное состояние файла",
"Error while loading the file data" : "Не удалось загрузить данные файла",
"Owner" : "Владелец",
"Remove from favorites" : "Удалить из избранных",
@@ -265,8 +266,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Подтвердите удаление {count} объекта.","Подтвердите удаление {count} объектов","Подтвердите удаление {count} объектов","Подтвердите удаление {count} объектов"],
"Confirm deletion" : "Подтвердить удаление",
"Cancel" : "Отменить",
+ "Download" : "Скачать",
"Moving \"{source}\" to \"{destination}\" …" : "Перемещение \"{source}\" в \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Копирование \"{source}\" в \"{destination}\" …",
+ "Destination is not a folder" : "Указанное назначение не является папкой",
+ "This file/folder is already in that directory" : "Файл или папка уже расположены в этой папке",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Папка или файл не могут быть перемещены во вложенную папку или в себя",
"(copy)" : "(копия)",
"(copy %n)" : "(копия %n)",
@@ -328,6 +332,9 @@
"Files moved successfully" : "Файлы успешно перемещены",
"Conflicts resolution skipped" : "Разрешение конфликтов пропущено",
"Upload cancelled" : "Передача на сервер отменена",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Не удалось переименовать \"{oldName}\", его больше не существует",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Имя \"{newName}\" уже используется в каталоге \"{dir}\". Выберите другое имя.",
+ "Could not rename \"{oldName}\"" : "Не удалось переименовать «{oldName}»",
"This operation is forbidden" : "Операция запрещена",
"This directory is unavailable, please check the logs or contact the administrator" : "Каталог недоступен. Проверьте журналы событий или свяжитесь с администратором",
"Storage is temporarily not available" : "Хранилище временно недоступно",
@@ -359,7 +366,6 @@
"Upload too large" : "Файл слишком велик",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файлы, которые вы пытаетесь передать, превышают лимит максимального размера на этом сервере.",
"File could not be found" : "Невозможно найти файл",
- "Download" : "Скачать",
"Show list view" : "Просмотр списком",
"Show grid view" : "Просмотр сеткой",
"Close" : "Закрыть",
@@ -398,9 +404,6 @@
"Copied {origin} inside {destination}" : "{origin} скопирован в {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} и {nbfiles} других файлов скопированы в {destination}",
"{newName} already exists" : "«{newName}» уже существует",
- "Could not rename \"{oldName}\", it does not exist any more" : "Не удалось переименовать \"{oldName}\", его больше не существует",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Имя \"{newName}\" уже используется в каталоге \"{dir}\". Выберите другое имя.",
- "Could not rename \"{oldName}\"" : "Не удалось переименовать «{oldName}»",
"Could not create file \"{file}\"" : "Невозможно создать файл «{file}»",
"Could not create file \"{file}\" because it already exists" : "Невозможно создать файл «{file}», он уже существует",
"Could not create folder \"{dir}\" because it already exists" : "Невозможно создать каталог «{dir}», он уже существует",
@@ -452,8 +455,6 @@
"New text file.txt" : "Новый текстовый файл.txt",
"%1$s (renamed)" : "%1$s (переименовано)",
"renamed file" : "переименованный файл",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "После включения совместимых с Windows названий файлов, существующие файлы нельзя будет изменить, но они могут быть переименованы их владельцем в допустимые новые имена.",
- "{count} files could not be converted" : "{count} файлы не могут быть преобразованы",
- "{count} files successfully converted" : "{count} файлы успешно преобразованы"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "После включения совместимых с Windows названий файлов, существующие файлы нельзя будет изменить, но они могут быть переименованы их владельцем в допустимые новые имена."
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/files/l10n/sc.js b/apps/files/l10n/sc.js
index d073f91e7a1..755e1047412 100644
--- a/apps/files/l10n/sc.js
+++ b/apps/files/l10n/sc.js
@@ -147,6 +147,9 @@ OC.L10N.register(
"Delete folder" : "Cantzella sa cartella",
"Delete" : "Cantzella",
"Cancel" : "Annulla",
+ "Download" : "Iscàrriga",
+ "Destination is not a folder" : "Sa destinatzione no est una cartella",
+ "This file/folder is already in that directory" : "Custu archìviu o cartella est giai in cussu diretòriu",
"The file does not exist anymore" : "S'archìviu no esistit prus",
"Choose destination" : "Sèbera unu destinu",
"Copy to {target}" : "Còpia a {target}",
@@ -178,6 +181,9 @@ OC.L10N.register(
"Files uploaded successfully" : "Archìvios carrigados",
"Some files could not be moved" : "No at fatu a tramudare carchi archìviu",
"Upload cancelled" : "Carrigamentu annulladu",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Impossìbile torrare a numenare \"{oldName}\", dae chi no esistit prus",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Su nùmene \"{newName}\" est giai impreadu in sa cartella \"{dir}\". Sèbera unu nùmene diferente.",
+ "Could not rename \"{oldName}\"" : "Impossìbile torrare a numenare \"{oldName}\"",
"This operation is forbidden" : "Custa operatzione no est permìtida",
"This directory is unavailable, please check the logs or contact the administrator" : "Custa cartella no est a disponimentu, controlla is informes o cuntata s'amministratzione",
"Storage is temporarily not available" : "S'archiviatzione immoe no est a disponimentu",
@@ -199,7 +205,6 @@ OC.L10N.register(
"Upload too large" : "Carrigamentu tropu mannu",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Is archìvios chi boles carrigare passant sa mannària màssima de carrigamentu de archìvios in custu serbidore.",
"File could not be found" : "No at fatu a agatare s'archìviu",
- "Download" : "Iscàrriga",
"Show list view" : "Mustra sa visualizatzione de lista",
"Show grid view" : "Mustra sa visualizatzione de mosàicu",
"Close" : "Serra",
@@ -238,9 +243,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} copiadu a intro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiados {origin} e {nbfiles} àteros archìvios a intro de {destination}",
"{newName} already exists" : "{newName} esistit giai",
- "Could not rename \"{oldName}\", it does not exist any more" : "Impossìbile torrare a numenare \"{oldName}\", dae chi no esistit prus",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Su nùmene \"{newName}\" est giai impreadu in sa cartella \"{dir}\". Sèbera unu nùmene diferente.",
- "Could not rename \"{oldName}\"" : "Impossìbile torrare a numenare \"{oldName}\"",
"Could not create file \"{file}\"" : "No at fatu a creare s'archìviu \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No at fatu a creare s'archìviu \"{file}\" ca esitit giai",
"Could not create folder \"{dir}\" because it already exists" : "No at fatu a creare sa cartella \"{dir}\" ca esistit giai",
diff --git a/apps/files/l10n/sc.json b/apps/files/l10n/sc.json
index 5fcaa717ef2..155c639ed06 100644
--- a/apps/files/l10n/sc.json
+++ b/apps/files/l10n/sc.json
@@ -145,6 +145,9 @@
"Delete folder" : "Cantzella sa cartella",
"Delete" : "Cantzella",
"Cancel" : "Annulla",
+ "Download" : "Iscàrriga",
+ "Destination is not a folder" : "Sa destinatzione no est una cartella",
+ "This file/folder is already in that directory" : "Custu archìviu o cartella est giai in cussu diretòriu",
"The file does not exist anymore" : "S'archìviu no esistit prus",
"Choose destination" : "Sèbera unu destinu",
"Copy to {target}" : "Còpia a {target}",
@@ -176,6 +179,9 @@
"Files uploaded successfully" : "Archìvios carrigados",
"Some files could not be moved" : "No at fatu a tramudare carchi archìviu",
"Upload cancelled" : "Carrigamentu annulladu",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Impossìbile torrare a numenare \"{oldName}\", dae chi no esistit prus",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Su nùmene \"{newName}\" est giai impreadu in sa cartella \"{dir}\". Sèbera unu nùmene diferente.",
+ "Could not rename \"{oldName}\"" : "Impossìbile torrare a numenare \"{oldName}\"",
"This operation is forbidden" : "Custa operatzione no est permìtida",
"This directory is unavailable, please check the logs or contact the administrator" : "Custa cartella no est a disponimentu, controlla is informes o cuntata s'amministratzione",
"Storage is temporarily not available" : "S'archiviatzione immoe no est a disponimentu",
@@ -197,7 +203,6 @@
"Upload too large" : "Carrigamentu tropu mannu",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Is archìvios chi boles carrigare passant sa mannària màssima de carrigamentu de archìvios in custu serbidore.",
"File could not be found" : "No at fatu a agatare s'archìviu",
- "Download" : "Iscàrriga",
"Show list view" : "Mustra sa visualizatzione de lista",
"Show grid view" : "Mustra sa visualizatzione de mosàicu",
"Close" : "Serra",
@@ -236,9 +241,6 @@
"Copied {origin} inside {destination}" : "{origin} copiadu a intro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiados {origin} e {nbfiles} àteros archìvios a intro de {destination}",
"{newName} already exists" : "{newName} esistit giai",
- "Could not rename \"{oldName}\", it does not exist any more" : "Impossìbile torrare a numenare \"{oldName}\", dae chi no esistit prus",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Su nùmene \"{newName}\" est giai impreadu in sa cartella \"{dir}\". Sèbera unu nùmene diferente.",
- "Could not rename \"{oldName}\"" : "Impossìbile torrare a numenare \"{oldName}\"",
"Could not create file \"{file}\"" : "No at fatu a creare s'archìviu \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No at fatu a creare s'archìviu \"{file}\" ca esitit giai",
"Could not create folder \"{dir}\" because it already exists" : "No at fatu a creare sa cartella \"{dir}\" ca esistit giai",
diff --git a/apps/files/l10n/sk.js b/apps/files/l10n/sk.js
index a0c8c8970b5..bcb44beb3f3 100644
--- a/apps/files/l10n/sk.js
+++ b/apps/files/l10n/sk.js
@@ -219,6 +219,7 @@ OC.L10N.register(
"Show those shortcuts" : "Zobraziť klávesové skratky",
"You" : "Vy",
"Shared multiple times with different people" : "Zdieľané viackrát rôznymi ľuďmi",
+ "Unable to change the favorite state of the file" : "Nie je možné zmeniť stav „obľúbené“ súboru",
"Error while loading the file data" : "Chyba pri načítaní údajov súboru",
"Owner" : "Vlastník",
"Remove from favorites" : "Odstrániť z obľúbených",
@@ -259,8 +260,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Chystáte sa vymazať {count} položku","Chystáte sa vymazať {count} položky","Chystáte sa vymazať {count} položiek","Chystáte sa vymazať {count} položiek"],
"Confirm deletion" : "Potvrdiť vymazanie",
"Cancel" : "Zrušiť",
+ "Download" : "Stiahnuť",
"Moving \"{source}\" to \"{destination}\" …" : "Presúvanie \"{source}\" do \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopírovanie \"{source}\" do \"{destination}\" …",
+ "Destination is not a folder" : "Cieľ nie je priečinok",
+ "This file/folder is already in that directory" : "Tento súbor/priečinok sa už v danom adresári nachádza",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Nemôžete presunúť súbor/priečinok do seba alebo do jeho podpriečinka.",
"(copy)" : "(kopírovať)",
"(copy %n)" : "(kopírovať %n)",
@@ -322,6 +326,9 @@ OC.L10N.register(
"Files moved successfully" : "Súbory boli úspešne presunuté",
"Conflicts resolution skipped" : "Riešenie konfliktov bolo preskočené",
"Upload cancelled" : "Odosielanie bolo zrušené",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nebolo možné premenovať \"{oldName}\". Položka už neexistuje.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Názov \"{newName}\" sa už používa v priečinku \"{dir}\". Vyberte prosím iný názov.",
+ "Could not rename \"{oldName}\"" : "Nebolo možné premenovať \"{oldName}\"",
"This operation is forbidden" : "Táto operácia je zakázaná",
"This directory is unavailable, please check the logs or contact the administrator" : "Priečinok je nedostupný, skontrolujte prosím logy, alebo kontaktujte správcu",
"Storage is temporarily not available" : "Úložisko je dočasne nedostupné",
@@ -352,7 +359,6 @@ OC.L10N.register(
"Upload too large" : "Nahrávanie je príliš veľké",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Súbory, ktoré sa snažíte nahrať, presahujú maximálnu veľkosť pre nahratie súborov na tento server.",
"File could not be found" : "Súbor nie je možné nájsť",
- "Download" : "Stiahnuť",
"Show list view" : "Zobraziť ako zoznam",
"Show grid view" : "Zobraziť v mriežke",
"Close" : "Zavrieť",
@@ -391,9 +397,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Skopírované {origin} do {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Skopírované {origin} a {nbfiles} ostatných súborov do {destination}",
"{newName} already exists" : "{newName} už existuje",
- "Could not rename \"{oldName}\", it does not exist any more" : "Nebolo možné premenovať \"{oldName}\". Položka už neexistuje.",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Názov \"{newName}\" sa už používa v priečinku \"{dir}\". Vyberte prosím iný názov.",
- "Could not rename \"{oldName}\"" : "Nebolo možné premenovať \"{oldName}\"",
"Could not create file \"{file}\"" : "Nie je možné vytvoriť súbor \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nie je možné vytvoriť súbor \"{file}\" lebo už existuje",
"Could not create folder \"{dir}\" because it already exists" : "Nie je možné vytvoriť priečinok \"{dir}\" lebo už existuje",
@@ -442,8 +445,6 @@ OC.L10N.register(
"{fileCount} files and {folderCount} folders" : "{fileCount} súborov a {folderCount} priečinkov",
"Personal Files" : "Osobné Súbory",
"Text file" : "Textový súbor",
- "New text file.txt" : "Nový text file.txt",
- "{count} files could not be converted" : "{count} súborov sa nepodarilo skonvertovať",
- "{count} files successfully converted" : "{count} súborov bolo skonvertovaných"
+ "New text file.txt" : "Nový text file.txt"
},
"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/apps/files/l10n/sk.json b/apps/files/l10n/sk.json
index 82f66759f47..d9d2a6212d4 100644
--- a/apps/files/l10n/sk.json
+++ b/apps/files/l10n/sk.json
@@ -217,6 +217,7 @@
"Show those shortcuts" : "Zobraziť klávesové skratky",
"You" : "Vy",
"Shared multiple times with different people" : "Zdieľané viackrát rôznymi ľuďmi",
+ "Unable to change the favorite state of the file" : "Nie je možné zmeniť stav „obľúbené“ súboru",
"Error while loading the file data" : "Chyba pri načítaní údajov súboru",
"Owner" : "Vlastník",
"Remove from favorites" : "Odstrániť z obľúbených",
@@ -257,8 +258,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Chystáte sa vymazať {count} položku","Chystáte sa vymazať {count} položky","Chystáte sa vymazať {count} položiek","Chystáte sa vymazať {count} položiek"],
"Confirm deletion" : "Potvrdiť vymazanie",
"Cancel" : "Zrušiť",
+ "Download" : "Stiahnuť",
"Moving \"{source}\" to \"{destination}\" …" : "Presúvanie \"{source}\" do \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopírovanie \"{source}\" do \"{destination}\" …",
+ "Destination is not a folder" : "Cieľ nie je priečinok",
+ "This file/folder is already in that directory" : "Tento súbor/priečinok sa už v danom adresári nachádza",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Nemôžete presunúť súbor/priečinok do seba alebo do jeho podpriečinka.",
"(copy)" : "(kopírovať)",
"(copy %n)" : "(kopírovať %n)",
@@ -320,6 +324,9 @@
"Files moved successfully" : "Súbory boli úspešne presunuté",
"Conflicts resolution skipped" : "Riešenie konfliktov bolo preskočené",
"Upload cancelled" : "Odosielanie bolo zrušené",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nebolo možné premenovať \"{oldName}\". Položka už neexistuje.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Názov \"{newName}\" sa už používa v priečinku \"{dir}\". Vyberte prosím iný názov.",
+ "Could not rename \"{oldName}\"" : "Nebolo možné premenovať \"{oldName}\"",
"This operation is forbidden" : "Táto operácia je zakázaná",
"This directory is unavailable, please check the logs or contact the administrator" : "Priečinok je nedostupný, skontrolujte prosím logy, alebo kontaktujte správcu",
"Storage is temporarily not available" : "Úložisko je dočasne nedostupné",
@@ -350,7 +357,6 @@
"Upload too large" : "Nahrávanie je príliš veľké",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Súbory, ktoré sa snažíte nahrať, presahujú maximálnu veľkosť pre nahratie súborov na tento server.",
"File could not be found" : "Súbor nie je možné nájsť",
- "Download" : "Stiahnuť",
"Show list view" : "Zobraziť ako zoznam",
"Show grid view" : "Zobraziť v mriežke",
"Close" : "Zavrieť",
@@ -389,9 +395,6 @@
"Copied {origin} inside {destination}" : "Skopírované {origin} do {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Skopírované {origin} a {nbfiles} ostatných súborov do {destination}",
"{newName} already exists" : "{newName} už existuje",
- "Could not rename \"{oldName}\", it does not exist any more" : "Nebolo možné premenovať \"{oldName}\". Položka už neexistuje.",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Názov \"{newName}\" sa už používa v priečinku \"{dir}\". Vyberte prosím iný názov.",
- "Could not rename \"{oldName}\"" : "Nebolo možné premenovať \"{oldName}\"",
"Could not create file \"{file}\"" : "Nie je možné vytvoriť súbor \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nie je možné vytvoriť súbor \"{file}\" lebo už existuje",
"Could not create folder \"{dir}\" because it already exists" : "Nie je možné vytvoriť priečinok \"{dir}\" lebo už existuje",
@@ -440,8 +443,6 @@
"{fileCount} files and {folderCount} folders" : "{fileCount} súborov a {folderCount} priečinkov",
"Personal Files" : "Osobné Súbory",
"Text file" : "Textový súbor",
- "New text file.txt" : "Nový text file.txt",
- "{count} files could not be converted" : "{count} súborov sa nepodarilo skonvertovať",
- "{count} files successfully converted" : "{count} súborov bolo skonvertovaných"
+ "New text file.txt" : "Nový text file.txt"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js
index 033e4d62d22..f55638bef0a 100644
--- a/apps/files/l10n/sl.js
+++ b/apps/files/l10n/sl.js
@@ -260,8 +260,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Izbrisali boste {count} predmet","Izbrisali boste {count} predmeta","Izbrisali boste {count} predmete","Izbrisali boste {count} predmetov"],
"Confirm deletion" : "Potrdi brisanje",
"Cancel" : "Prekliči",
+ "Download" : "Prejmi",
"Moving \"{source}\" to \"{destination}\" …" : "Premik \"{source}\" v \"{destination}\"...",
"Copying \"{source}\" to \"{destination}\" …" : "Kopiranje \"{source}\" v \"{destination}\"...",
+ "Destination is not a folder" : "Ciljno mesto ni mapa",
+ "This file/folder is already in that directory" : "Ta datoteka oziroma mapa je že v določeni mapi",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Mape ali datoteke ni mogoče premakniti samo vase oziroma v podmapo same sebe",
"(copy)" : "(kopija)",
"(copy %n)" : "(kopija %n)",
@@ -323,6 +326,9 @@ OC.L10N.register(
"Files moved successfully" : "Datoteke so uspešno premaknjene",
"Conflicts resolution skipped" : "Razreševanje sporov je preklicano",
"Upload cancelled" : "Pošiljanje je bilo preklicano",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Datoteke »{oldName}« ni mogoče preimenovati, ker ne obstaja več.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ime »{newName}« je v mapi »{dir}« že v uporabi. Izbrati je treba drugačno ime.",
+ "Could not rename \"{oldName}\"" : "Datoteke »{oldName}« ni mogoče preimenovati",
"This operation is forbidden" : "To dejanje ni dovoljeno!",
"This directory is unavailable, please check the logs or contact the administrator" : "Mapa ni na voljo. Preverite dnevnik in stopite v stik s skrbnikom sistema.",
"Storage is temporarily not available" : "Shramba trenutno ni na voljo",
@@ -354,7 +360,6 @@ OC.L10N.register(
"Upload too large" : "Prekoračena je omejitev dovoljene velikosti",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Datoteke, ki jih želite poslati, presegajo največjo dovoljeno velikost na strežniku.",
"File could not be found" : "Datoteke ni mogoče najti",
- "Download" : "Prejmi",
"Show list view" : "Pokaži seznamski pogled",
"Show grid view" : "Pokaži mrežni pogled",
"Close" : "Zapri",
@@ -393,9 +398,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Kopirano {origin} v {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopirano {origin} in {nbfiles} ostale datoteke v {destination}",
"{newName} already exists" : "Ime {newName} že obstaja",
- "Could not rename \"{oldName}\", it does not exist any more" : "Datoteke »{oldName}« ni mogoče preimenovati, ker ne obstaja več.",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ime »{newName}« je v mapi »{dir}« že v uporabi. Izbrati je treba drugačno ime.",
- "Could not rename \"{oldName}\"" : "Datoteke »{oldName}« ni mogoče preimenovati",
"Could not create file \"{file}\"" : "Datoteke »{file}« ni mogoče ustvariti.",
"Could not create file \"{file}\" because it already exists" : "Datoteke »{file}« ni mogoče ustvariti, ker datoteka z istim imenom že obstaja.",
"Could not create folder \"{dir}\" because it already exists" : "Ni mogoče ustvariti mape »{dir}«, ker ta že obstaja",
@@ -442,8 +444,6 @@ OC.L10N.register(
"{fileCount} files and {folderCount} folders" : "{fileCount} datotek in {folderCount} map",
"Personal Files" : "Osebne datoteke",
"Text file" : "Besedilna datoteka",
- "New text file.txt" : "nova_datoteka.txt",
- "{count} files could not be converted" : "{count} datotek ni mogoče pretvoriti",
- "{count} files successfully converted" : "{count} datotek je uspešno pretvorjenih"
+ "New text file.txt" : "nova_datoteka.txt"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json
index ede3c7dbdb6..9a35e0ed38e 100644
--- a/apps/files/l10n/sl.json
+++ b/apps/files/l10n/sl.json
@@ -258,8 +258,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Izbrisali boste {count} predmet","Izbrisali boste {count} predmeta","Izbrisali boste {count} predmete","Izbrisali boste {count} predmetov"],
"Confirm deletion" : "Potrdi brisanje",
"Cancel" : "Prekliči",
+ "Download" : "Prejmi",
"Moving \"{source}\" to \"{destination}\" …" : "Premik \"{source}\" v \"{destination}\"...",
"Copying \"{source}\" to \"{destination}\" …" : "Kopiranje \"{source}\" v \"{destination}\"...",
+ "Destination is not a folder" : "Ciljno mesto ni mapa",
+ "This file/folder is already in that directory" : "Ta datoteka oziroma mapa je že v določeni mapi",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Mape ali datoteke ni mogoče premakniti samo vase oziroma v podmapo same sebe",
"(copy)" : "(kopija)",
"(copy %n)" : "(kopija %n)",
@@ -321,6 +324,9 @@
"Files moved successfully" : "Datoteke so uspešno premaknjene",
"Conflicts resolution skipped" : "Razreševanje sporov je preklicano",
"Upload cancelled" : "Pošiljanje je bilo preklicano",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Datoteke »{oldName}« ni mogoče preimenovati, ker ne obstaja več.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ime »{newName}« je v mapi »{dir}« že v uporabi. Izbrati je treba drugačno ime.",
+ "Could not rename \"{oldName}\"" : "Datoteke »{oldName}« ni mogoče preimenovati",
"This operation is forbidden" : "To dejanje ni dovoljeno!",
"This directory is unavailable, please check the logs or contact the administrator" : "Mapa ni na voljo. Preverite dnevnik in stopite v stik s skrbnikom sistema.",
"Storage is temporarily not available" : "Shramba trenutno ni na voljo",
@@ -352,7 +358,6 @@
"Upload too large" : "Prekoračena je omejitev dovoljene velikosti",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Datoteke, ki jih želite poslati, presegajo največjo dovoljeno velikost na strežniku.",
"File could not be found" : "Datoteke ni mogoče najti",
- "Download" : "Prejmi",
"Show list view" : "Pokaži seznamski pogled",
"Show grid view" : "Pokaži mrežni pogled",
"Close" : "Zapri",
@@ -391,9 +396,6 @@
"Copied {origin} inside {destination}" : "Kopirano {origin} v {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopirano {origin} in {nbfiles} ostale datoteke v {destination}",
"{newName} already exists" : "Ime {newName} že obstaja",
- "Could not rename \"{oldName}\", it does not exist any more" : "Datoteke »{oldName}« ni mogoče preimenovati, ker ne obstaja več.",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ime »{newName}« je v mapi »{dir}« že v uporabi. Izbrati je treba drugačno ime.",
- "Could not rename \"{oldName}\"" : "Datoteke »{oldName}« ni mogoče preimenovati",
"Could not create file \"{file}\"" : "Datoteke »{file}« ni mogoče ustvariti.",
"Could not create file \"{file}\" because it already exists" : "Datoteke »{file}« ni mogoče ustvariti, ker datoteka z istim imenom že obstaja.",
"Could not create folder \"{dir}\" because it already exists" : "Ni mogoče ustvariti mape »{dir}«, ker ta že obstaja",
@@ -440,8 +442,6 @@
"{fileCount} files and {folderCount} folders" : "{fileCount} datotek in {folderCount} map",
"Personal Files" : "Osebne datoteke",
"Text file" : "Besedilna datoteka",
- "New text file.txt" : "nova_datoteka.txt",
- "{count} files could not be converted" : "{count} datotek ni mogoče pretvoriti",
- "{count} files successfully converted" : "{count} datotek je uspešno pretvorjenih"
+ "New text file.txt" : "nova_datoteka.txt"
},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/files/l10n/sq.js b/apps/files/l10n/sq.js
deleted file mode 100644
index 978fa6e62b5..00000000000
--- a/apps/files/l10n/sq.js
+++ /dev/null
@@ -1,131 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "File could not be found" : "Skedari s’u gjet dot",
- "Download" : "Shkarkoje",
- "Delete" : "Fshije",
- "Tags" : "Etiketë",
- "Home" : "Kreu",
- "Close" : "Mbylle",
- "Favorites" : "Të parapëlqyera",
- "Could not create folder \"{dir}\"" : "S’u krijua dot dosja \"{dir}\"",
- "Upload cancelled." : "Ngarkimi u anulua.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "S’arrihet të ngarkohet {filename}, ngaqë është drejtori ose ka 0 bajte",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nuk ka hapësirë të mjaftueshme, po ngarkoni {size1}, por ka vetëm {size2} të lira",
- "Target folder \"{dir}\" does not exist any more" : "Dosja e synuar \"{dir}\" nuk ekziston më",
- "Not enough free space" : "Nuk ka hapsirë të mjaftueshme të lirë",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} nga {totalSize} ({bitrate})",
- "Actions" : "Veprime",
- "Rename" : "Riemërtojeni",
- "Move" : "Zhvendos",
- "Copy" : "Kopjo",
- "Delete file" : "Fshi skedarin",
- "Delete folder" : "Fshini dosjen",
- "Disconnect storage" : "Shkëpute depozitën",
- "Could not load info for file \"{file}\"" : "Nuk mund të ngarkohet informacioni për skedarin \"{file}\"",
- "Files" : "Skedar",
- "Details" : "Hollësi",
- "Pending" : "Në pritje",
- "Unable to determine date" : "S’arrihet të përcaktohet data",
- "This operation is forbidden" : "Ky veprim është i ndaluar",
- "This directory is unavailable, please check the logs or contact the administrator" : "Kjo drejtori nuk kapet, ju lutemi, kontrolloni regjistrat ose lidhuni me përgjegjësin",
- "Storage is temporarily not available" : "Depozita përkohësisht nuk është në dispozicion",
- "Could not move \"{file}\", target exists" : "S’u lëviz dot \"{file}\", objektivi ekziston",
- "Could not move \"{file}\"" : "S’u lëviz dot \"{file}\"",
- "copy" : "kopjo",
- "{newName} already exists" : "{newName} ekziston tashmë",
- "Could not rename \"{fileName}\", it does not exist any more" : "S’u riemërtua dot \"{fileName}\", s’ekziston më",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Emri \"{targetName}\" është tashmë i përdorur te dosja \"{dir}\". Ju lutemi, zgjidhni një emër tjetër.",
- "Could not rename \"{fileName}\"" : "S’u riemërtua dot \"{fileName}\"",
- "Could not create file \"{file}\"" : "S’u krijua dot kartela \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "S’u krijua dot kartela \"{file}\" ngaqë ka një të tillë",
- "Could not create folder \"{dir}\" because it already exists" : "S’u krijua dot dosja \"{dir}\" ngaqë ka një të tillë",
- "Error deleting file \"{fileName}\"." : "Gabim në fshirjen e kartelës \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "Asnjë rezultat i kërkimit në dosjet e tjera për {tag} {filter} {endtag}",
- "Name" : "Emër",
- "Size" : "Madhësi",
- "Modified" : "Ndryshuar më",
- "_%n folder_::_%n folders_" : ["%n dosje","%n dosje"],
- "_%n file_::_%n files_" : ["%n kartelë","%n skedar"],
- "{dirs} and {files}" : "{dirs} dhe {files}",
- "_including %n hidden_::_including %n hidden_" : ["Përfshirë %n të fshehura","Përfshirë %n të fshehura"],
- "_Uploading %n file_::_Uploading %n files_" : ["Po ngarkohet %n kartelë","Po ngarkohen %n skedar"],
- "\"{name}\" is an invalid file name." : "\"{name}\" është emër i pavlefshëm kartele.",
- "File name cannot be empty." : "Emri i kartelës s’mund të jetë i zbrazët.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" nuk është një lloj skedari i lejuar",
- "View in folder" : "Shikoje në dosje",
- "Path" : "Rrugë",
- "_%n byte_::_%n bytes_" : ["%n bajt","%n bajte"],
- "Favorited" : "U kalua e parapëlqyer",
- "Favorite" : "E parapëlqyer",
- "Copy direct link (only works for users who have access to this file/folder)" : "Kopjo lidhjen e drejtpërdrejtë (funksionon vetëm për përdoruesit që kanë qasje në këtë skedar/dosje)",
- "New folder" : "Dosje e re",
- "Create new folder" : "Krijo një dosje të re",
- "Upload file" : "Ngarko skedar",
- "Recent" : "Të fundit",
- "Remove from favorites" : "Remove from favorites",
- "Add to favorites" : "Shtoje tek të parapëlqyerat",
- "An error occurred while trying to update the tags" : "Ndodhi një gabim teksa provohej të përditësoheshin etiketat",
- "Added to favorites" : "U shtua te të parapëlqyerat",
- "Removed from favorites" : "U hoq nga të parapëlqyerat",
- "You added {file} to your favorites" : "Ju shtuat {file} te të parapëlqyerat",
- "You removed {file} from your favorites" : "Ju hoqët {file} nga të parapëlqyerat",
- "File changes" : "Ndryshimet në skedar",
- "Created by {user}" : "U krijua nga {user}",
- "Changed by {user}" : "U ndryshua nga {user}",
- "Deleted by {user}" : "U fshi nga {user}",
- "Restored by {user}" : "U rikthye nga {user}",
- "Renamed by {user}" : "U riemërua nga {user}",
- "Moved by {user}" : "U ndryshua nga {user}",
- "\"remote user\"" : "\"përdorues i largët\"",
- "You created {file}" : "Ju krijuat {file}",
- "{user} created {file}" : "{user} krijoj {file}",
- "{file} was created in a public folder" : "{file} u krijua në një folder publik",
- "You changed {file}" : "Ju ndryshuat {file}",
- "{user} changed {file}" : "{user} ndryshoj {file}",
- "You deleted {file}" : "Ju fshit {file}",
- "{user} deleted {file}" : "{user} fshiu {file}",
- "You restored {file}" : "Ju rikthyet {file}",
- "{user} restored {file}" : "{user} riktheu {file}",
- "You renamed {oldfile} to {newfile}" : "Ju riemëruat {oldfile} në {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} riemëruat {oldfile} në {newfile}",
- "You moved {oldfile} to {newfile}" : "Ju lëvizët {oldfile} në {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} lëvizi {oldfile} në {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Një skedar është shtuar ose është hequr nga <strong>të preferuarat</strong> tuaja",
- "A file or folder has been <strong>changed</strong>" : "<strong>U ndryshua</strong> një kartelë ose dosje",
- "All files" : "Të gjithë skedarët",
- "Upload (max. %s)" : "Ngarkim (max. %s)",
- "Accept" : "Prano",
- "in %s" : "në %s",
- "Select all" : "Përzgjidhe krejt",
- "Change" : "Ndrysho",
- "Unknown error" : "Gabim i panjohur",
- "No files in here" : "S’ka kartela këtu",
- "Go back" : "Shko prapa",
- "Show hidden files" : "Shfaq kartela të fshehura",
- "Additional settings" : "Konfigurime shtesë",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Kopjo në dërrasë ",
- "Create" : "Krijo",
- "Delete permanently" : "Fshije përgjithmonë",
- "Upload some content or sync with your devices!" : "Ngarkoni ca lëndë ose bëni njëkohësim me pajisjet tuaja!",
- "No entries found in this folder" : "Në këtë dosje s’u gjetën zëra",
- "Upload too large" : "Ngarkim shumë i madh",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Kartelat që po rrekeni të ngarkoni e tejkalojnë madhësinë maksimale për ngarkime kartelash në këtë shërbyes.",
- "No favorites yet" : "Asnjë preferencë akoma",
- "Files and folders you mark as favorite will show up here" : "Këtu do të duken kartelat dhe dosjet që i shënoni si të parapëlqyera",
- "Shares" : "Shpërndarjet",
- "Shared with others" : "E ndarë me të tjerët",
- "Shared with you" : "E ndarë me ju",
- "Shared by link" : "E ndarë me lidhje",
- "Deleted shares" : "Fshi shpërndarjet",
- "Text file" : "Kartelë tekst",
- "New text file.txt" : "Kartelë e re file.txt",
- "Storage invalid" : "Depozitë e pavlefshme",
- "Unlimited" : "E palimituar",
- "Cancel" : "Anullo",
- "%s used" : "%s të përdorura",
- "%1$s of %2$s used" : "%1$s e %2$s përdorur",
- "Deleted files" : "Skedar të fshirë"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/sq.json b/apps/files/l10n/sq.json
deleted file mode 100644
index e5104c64ad4..00000000000
--- a/apps/files/l10n/sq.json
+++ /dev/null
@@ -1,129 +0,0 @@
-{ "translations": {
- "File could not be found" : "Skedari s’u gjet dot",
- "Download" : "Shkarkoje",
- "Delete" : "Fshije",
- "Tags" : "Etiketë",
- "Home" : "Kreu",
- "Close" : "Mbylle",
- "Favorites" : "Të parapëlqyera",
- "Could not create folder \"{dir}\"" : "S’u krijua dot dosja \"{dir}\"",
- "Upload cancelled." : "Ngarkimi u anulua.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "S’arrihet të ngarkohet {filename}, ngaqë është drejtori ose ka 0 bajte",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nuk ka hapësirë të mjaftueshme, po ngarkoni {size1}, por ka vetëm {size2} të lira",
- "Target folder \"{dir}\" does not exist any more" : "Dosja e synuar \"{dir}\" nuk ekziston më",
- "Not enough free space" : "Nuk ka hapsirë të mjaftueshme të lirë",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} nga {totalSize} ({bitrate})",
- "Actions" : "Veprime",
- "Rename" : "Riemërtojeni",
- "Move" : "Zhvendos",
- "Copy" : "Kopjo",
- "Delete file" : "Fshi skedarin",
- "Delete folder" : "Fshini dosjen",
- "Disconnect storage" : "Shkëpute depozitën",
- "Could not load info for file \"{file}\"" : "Nuk mund të ngarkohet informacioni për skedarin \"{file}\"",
- "Files" : "Skedar",
- "Details" : "Hollësi",
- "Pending" : "Në pritje",
- "Unable to determine date" : "S’arrihet të përcaktohet data",
- "This operation is forbidden" : "Ky veprim është i ndaluar",
- "This directory is unavailable, please check the logs or contact the administrator" : "Kjo drejtori nuk kapet, ju lutemi, kontrolloni regjistrat ose lidhuni me përgjegjësin",
- "Storage is temporarily not available" : "Depozita përkohësisht nuk është në dispozicion",
- "Could not move \"{file}\", target exists" : "S’u lëviz dot \"{file}\", objektivi ekziston",
- "Could not move \"{file}\"" : "S’u lëviz dot \"{file}\"",
- "copy" : "kopjo",
- "{newName} already exists" : "{newName} ekziston tashmë",
- "Could not rename \"{fileName}\", it does not exist any more" : "S’u riemërtua dot \"{fileName}\", s’ekziston më",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Emri \"{targetName}\" është tashmë i përdorur te dosja \"{dir}\". Ju lutemi, zgjidhni një emër tjetër.",
- "Could not rename \"{fileName}\"" : "S’u riemërtua dot \"{fileName}\"",
- "Could not create file \"{file}\"" : "S’u krijua dot kartela \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "S’u krijua dot kartela \"{file}\" ngaqë ka një të tillë",
- "Could not create folder \"{dir}\" because it already exists" : "S’u krijua dot dosja \"{dir}\" ngaqë ka një të tillë",
- "Error deleting file \"{fileName}\"." : "Gabim në fshirjen e kartelës \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "Asnjë rezultat i kërkimit në dosjet e tjera për {tag} {filter} {endtag}",
- "Name" : "Emër",
- "Size" : "Madhësi",
- "Modified" : "Ndryshuar më",
- "_%n folder_::_%n folders_" : ["%n dosje","%n dosje"],
- "_%n file_::_%n files_" : ["%n kartelë","%n skedar"],
- "{dirs} and {files}" : "{dirs} dhe {files}",
- "_including %n hidden_::_including %n hidden_" : ["Përfshirë %n të fshehura","Përfshirë %n të fshehura"],
- "_Uploading %n file_::_Uploading %n files_" : ["Po ngarkohet %n kartelë","Po ngarkohen %n skedar"],
- "\"{name}\" is an invalid file name." : "\"{name}\" është emër i pavlefshëm kartele.",
- "File name cannot be empty." : "Emri i kartelës s’mund të jetë i zbrazët.",
- "\"{name}\" is not an allowed filetype" : "\"{name}\" nuk është një lloj skedari i lejuar",
- "View in folder" : "Shikoje në dosje",
- "Path" : "Rrugë",
- "_%n byte_::_%n bytes_" : ["%n bajt","%n bajte"],
- "Favorited" : "U kalua e parapëlqyer",
- "Favorite" : "E parapëlqyer",
- "Copy direct link (only works for users who have access to this file/folder)" : "Kopjo lidhjen e drejtpërdrejtë (funksionon vetëm për përdoruesit që kanë qasje në këtë skedar/dosje)",
- "New folder" : "Dosje e re",
- "Create new folder" : "Krijo një dosje të re",
- "Upload file" : "Ngarko skedar",
- "Recent" : "Të fundit",
- "Remove from favorites" : "Remove from favorites",
- "Add to favorites" : "Shtoje tek të parapëlqyerat",
- "An error occurred while trying to update the tags" : "Ndodhi një gabim teksa provohej të përditësoheshin etiketat",
- "Added to favorites" : "U shtua te të parapëlqyerat",
- "Removed from favorites" : "U hoq nga të parapëlqyerat",
- "You added {file} to your favorites" : "Ju shtuat {file} te të parapëlqyerat",
- "You removed {file} from your favorites" : "Ju hoqët {file} nga të parapëlqyerat",
- "File changes" : "Ndryshimet në skedar",
- "Created by {user}" : "U krijua nga {user}",
- "Changed by {user}" : "U ndryshua nga {user}",
- "Deleted by {user}" : "U fshi nga {user}",
- "Restored by {user}" : "U rikthye nga {user}",
- "Renamed by {user}" : "U riemërua nga {user}",
- "Moved by {user}" : "U ndryshua nga {user}",
- "\"remote user\"" : "\"përdorues i largët\"",
- "You created {file}" : "Ju krijuat {file}",
- "{user} created {file}" : "{user} krijoj {file}",
- "{file} was created in a public folder" : "{file} u krijua në një folder publik",
- "You changed {file}" : "Ju ndryshuat {file}",
- "{user} changed {file}" : "{user} ndryshoj {file}",
- "You deleted {file}" : "Ju fshit {file}",
- "{user} deleted {file}" : "{user} fshiu {file}",
- "You restored {file}" : "Ju rikthyet {file}",
- "{user} restored {file}" : "{user} riktheu {file}",
- "You renamed {oldfile} to {newfile}" : "Ju riemëruat {oldfile} në {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} riemëruat {oldfile} në {newfile}",
- "You moved {oldfile} to {newfile}" : "Ju lëvizët {oldfile} në {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} lëvizi {oldfile} në {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Një skedar është shtuar ose është hequr nga <strong>të preferuarat</strong> tuaja",
- "A file or folder has been <strong>changed</strong>" : "<strong>U ndryshua</strong> një kartelë ose dosje",
- "All files" : "Të gjithë skedarët",
- "Upload (max. %s)" : "Ngarkim (max. %s)",
- "Accept" : "Prano",
- "in %s" : "në %s",
- "Select all" : "Përzgjidhe krejt",
- "Change" : "Ndrysho",
- "Unknown error" : "Gabim i panjohur",
- "No files in here" : "S’ka kartela këtu",
- "Go back" : "Shko prapa",
- "Show hidden files" : "Shfaq kartela të fshehura",
- "Additional settings" : "Konfigurime shtesë",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Kopjo në dërrasë ",
- "Create" : "Krijo",
- "Delete permanently" : "Fshije përgjithmonë",
- "Upload some content or sync with your devices!" : "Ngarkoni ca lëndë ose bëni njëkohësim me pajisjet tuaja!",
- "No entries found in this folder" : "Në këtë dosje s’u gjetën zëra",
- "Upload too large" : "Ngarkim shumë i madh",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Kartelat që po rrekeni të ngarkoni e tejkalojnë madhësinë maksimale për ngarkime kartelash në këtë shërbyes.",
- "No favorites yet" : "Asnjë preferencë akoma",
- "Files and folders you mark as favorite will show up here" : "Këtu do të duken kartelat dhe dosjet që i shënoni si të parapëlqyera",
- "Shares" : "Shpërndarjet",
- "Shared with others" : "E ndarë me të tjerët",
- "Shared with you" : "E ndarë me ju",
- "Shared by link" : "E ndarë me lidhje",
- "Deleted shares" : "Fshi shpërndarjet",
- "Text file" : "Kartelë tekst",
- "New text file.txt" : "Kartelë e re file.txt",
- "Storage invalid" : "Depozitë e pavlefshme",
- "Unlimited" : "E palimituar",
- "Cancel" : "Anullo",
- "%s used" : "%s të përdorura",
- "%1$s of %2$s used" : "%1$s e %2$s përdorur",
- "Deleted files" : "Skedar të fshirë"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js
index ca611d7b763..7c26a7c95bd 100644
--- a/apps/files/l10n/sr.js
+++ b/apps/files/l10n/sr.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "Прикажи те пречице",
"You" : "Ви",
"Shared multiple times with different people" : "Дељено више пута са разним људима",
+ "Unable to change the favorite state of the file" : "Није успела измена стања омиљено за фајл",
"Error while loading the file data" : "Грешка при учитавању података фајла",
"Owner" : "Власник",
"Remove from favorites" : "Избаци из омиљених",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Управо ћете обрисати {count} ставку","Управо ћете обрисати {count} ставке","Управо ћете обрисати {count} ставки"],
"Confirm deletion" : "Потврди брисање",
"Cancel" : "Поништи",
+ "Download" : "Преузми",
"Moving \"{source}\" to \"{destination}\" …" : "„{source}” се премешта у „{destination}”…",
"Copying \"{source}\" to \"{destination}\" …" : "„{source}” се копира у „{destination}”…",
+ "Destination is not a folder" : "Одредиште није фолдер",
+ "This file/folder is already in that directory" : "Овај фајл/фолдер се већ налази у том директоријуму",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Фајл/фолдер не можете да преместите у самог себе или у његов подфолдер",
"(copy)" : "(копиран)",
"(copy %n)" : "(копирано %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "Фајлови су успешно премештени",
"Conflicts resolution skipped" : "Прексочено је разрешавање конфилката",
"Upload cancelled" : "Отпремање је отказано",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Не може да се промени име фајла „{oldName}” јер фајл више не постоји",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Назив „{newName}” се већ користи у директоријуму „{dir}”. Молимо вас да изаберете неко друго име.",
+ "Could not rename \"{oldName}\"" : "Не може да се промени име фајла „{oldName}”",
"This operation is forbidden" : "Ова радња је забрањена",
"This directory is unavailable, please check the logs or contact the administrator" : "Овај директоријум није доступан, проверите дневник или контактирајте администратора",
"Storage is temporarily not available" : "Складиште привремено није доступно",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "Отпремање је превелико",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Фајлови које желите да отпремите превазилазе ограничење отпремања на овом серверу.",
"File could not be found" : "Фајл није нађен",
- "Download" : "Преузми",
"Show list view" : "Prikaži prikaz liste",
"Show grid view" : "Prikaži prikaz mreže",
"Close" : "Затвори",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Копиран {origin} у {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Копиран{origin} и још {nbfiles} других фајлова у {destination}",
"{newName} already exists" : "{newName} већ постоји",
- "Could not rename \"{oldName}\", it does not exist any more" : "Не може да се промени име фајла „{oldName}” јер фајл више не постоји",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Назив „{newName}” се већ користи у директоријуму „{dir}”. Молимо вас да изаберете неко друго име.",
- "Could not rename \"{oldName}\"" : "Не може да се промени име фајла „{oldName}”",
"Could not create file \"{file}\"" : "Не могу да направим фајл „{file}“",
"Could not create file \"{file}\" because it already exists" : "Не могу да направим фајл „{file}“ јер већ постоји",
"Could not create folder \"{dir}\" because it already exists" : "Не могу да направим фасциклу „{dir}“ јер већ постоји",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "Нов текстуални фајл.txt",
"%1$s (renamed)" : "%1$s (преименован)",
"renamed file" : "преименован фајл",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Када се укључе windows компатибилна имена фајлова, постојећи фајлови се више неће моћи мењати, али њихов власник може да им промени име на исправно ново име.",
- "{count} files could not be converted" : "Није могло да се конвертује {count} фајлова",
- "{count} files successfully converted" : "Успешно је конвертовано {count} фајлова"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Када се укључе windows компатибилна имена фајлова, постојећи фајлови се више неће моћи мењати, али њихов власник може да им промени име на исправно ново име."
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json
index 600b677a873..c262023b8f3 100644
--- a/apps/files/l10n/sr.json
+++ b/apps/files/l10n/sr.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "Прикажи те пречице",
"You" : "Ви",
"Shared multiple times with different people" : "Дељено више пута са разним људима",
+ "Unable to change the favorite state of the file" : "Није успела измена стања омиљено за фајл",
"Error while loading the file data" : "Грешка при учитавању података фајла",
"Owner" : "Власник",
"Remove from favorites" : "Избаци из омиљених",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Управо ћете обрисати {count} ставку","Управо ћете обрисати {count} ставке","Управо ћете обрисати {count} ставки"],
"Confirm deletion" : "Потврди брисање",
"Cancel" : "Поништи",
+ "Download" : "Преузми",
"Moving \"{source}\" to \"{destination}\" …" : "„{source}” се премешта у „{destination}”…",
"Copying \"{source}\" to \"{destination}\" …" : "„{source}” се копира у „{destination}”…",
+ "Destination is not a folder" : "Одредиште није фолдер",
+ "This file/folder is already in that directory" : "Овај фајл/фолдер се већ налази у том директоријуму",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Фајл/фолдер не можете да преместите у самог себе или у његов подфолдер",
"(copy)" : "(копиран)",
"(copy %n)" : "(копирано %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "Фајлови су успешно премештени",
"Conflicts resolution skipped" : "Прексочено је разрешавање конфилката",
"Upload cancelled" : "Отпремање је отказано",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Не може да се промени име фајла „{oldName}” јер фајл више не постоји",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Назив „{newName}” се већ користи у директоријуму „{dir}”. Молимо вас да изаберете неко друго име.",
+ "Could not rename \"{oldName}\"" : "Не може да се промени име фајла „{oldName}”",
"This operation is forbidden" : "Ова радња је забрањена",
"This directory is unavailable, please check the logs or contact the administrator" : "Овај директоријум није доступан, проверите дневник или контактирајте администратора",
"Storage is temporarily not available" : "Складиште привремено није доступно",
@@ -360,7 +367,6 @@
"Upload too large" : "Отпремање је превелико",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Фајлови које желите да отпремите превазилазе ограничење отпремања на овом серверу.",
"File could not be found" : "Фајл није нађен",
- "Download" : "Преузми",
"Show list view" : "Prikaži prikaz liste",
"Show grid view" : "Prikaži prikaz mreže",
"Close" : "Затвори",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "Копиран {origin} у {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Копиран{origin} и још {nbfiles} других фајлова у {destination}",
"{newName} already exists" : "{newName} већ постоји",
- "Could not rename \"{oldName}\", it does not exist any more" : "Не може да се промени име фајла „{oldName}” јер фајл више не постоји",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Назив „{newName}” се већ користи у директоријуму „{dir}”. Молимо вас да изаберете неко друго име.",
- "Could not rename \"{oldName}\"" : "Не може да се промени име фајла „{oldName}”",
"Could not create file \"{file}\"" : "Не могу да направим фајл „{file}“",
"Could not create file \"{file}\" because it already exists" : "Не могу да направим фајл „{file}“ јер већ постоји",
"Could not create folder \"{dir}\" because it already exists" : "Не могу да направим фасциклу „{dir}“ јер већ постоји",
@@ -453,8 +456,6 @@
"New text file.txt" : "Нов текстуални фајл.txt",
"%1$s (renamed)" : "%1$s (преименован)",
"renamed file" : "преименован фајл",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Када се укључе windows компатибилна имена фајлова, постојећи фајлови се више неће моћи мењати, али њихов власник може да им промени име на исправно ново име.",
- "{count} files could not be converted" : "Није могло да се конвертује {count} фајлова",
- "{count} files successfully converted" : "Успешно је конвертовано {count} фајлова"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Када се укључе windows компатибилна имена фајлова, постојећи фајлови се више неће моћи мењати, али њихов власник може да им промени име на исправно ново име."
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/files/l10n/sr@latin.js b/apps/files/l10n/sr@latin.js
deleted file mode 100644
index 736e4a1cc81..00000000000
--- a/apps/files/l10n/sr@latin.js
+++ /dev/null
@@ -1,95 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "Storage not available" : "Skladište nije dostupno",
- "Storage invalid" : "Neispravno skladište",
- "Unknown error" : "Nepoznata greška",
- "Unable to set upload directory." : "Ne mogu da postavim direktorijum za otpremanje.",
- "Invalid Token" : "Neispravan token",
- "No file was uploaded. Unknown error" : "Nijedan fajl nije otpremljen. Nepoznata greška",
- "There is no error, the file uploaded with success" : "Nema greške, fajl je uspešno otpremljen",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Otpremani fajl prevazilazi smernicu upload_max_filesize u fajlu php.ini:",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Otpremani fajl prevazilazi smernicu MAX_FILE_SIZE koja je navedena u HTML obrascu",
- "The uploaded file was only partially uploaded" : "Otpremani fajl je samo delimično otpremljen",
- "No file was uploaded" : "Ništa nije otpremljeno",
- "Missing a temporary folder" : "Nedostaje privremena fascikla",
- "Failed to write to disk" : "Ne mogu da pišem na disk",
- "Not enough storage available" : "Nema dovoljno prostora",
- "The target folder has been moved or deleted." : "Odredišna fascikla je premeštena ili obrisana.",
- "Upload failed. Could not find uploaded file" : "Neuspešno otpremanje. Ne mogu da nađem otpremljeni fajl",
- "Upload failed. Could not get file info." : "Neuspešno otpremanje. Ne mogu da dobijem podatke o fajlu.",
- "Invalid directory." : "Neispravna fascikla.",
- "Files" : "Fajlovi",
- "All files" : "Svi fajlovi",
- "Home" : "Početna",
- "Close" : "Zatvori",
- "Favorites" : "Omiljeni",
- "Upload cancelled." : "Otpremanje je otkazano.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ne mogu da otpremim {filename} jer je to direktorijum ili ima 0 bajtova",
- "Total file size {size1} exceeds upload limit {size2}" : "Veličina {size1} prevazilazi ograničenje za otpremanje od {size2}",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nema prostora. Otpremate {size1} ali samo {size2} je preostalo",
- "Could not get result from server." : "Ne mogu da dobijem rezultat sa servera.",
- "Uploading..." : "Otpremam…",
- "File upload is in progress. Leaving the page now will cancel the upload." : "Otpremanje fajla je u toku. Ako sada napustite stranicu, otkazaćete otpremanje.",
- "Download" : "Preuzmi",
- "Rename" : "Preimenuj",
- "Delete" : "Obriši",
- "Disconnect storage" : "Isključi skladište",
- "Unshare" : "Ne deli",
- "Details" : "Detaljnije",
- "Select" : "Izaberi",
- "Pending" : "Na čekanju",
- "Unable to determine date" : "Ne mogu da odredim datum",
- "No entries in this folder match '{filter}'" : "U ovoj fascikli ništa se ne poklapa sa '{filter}'",
- "Name" : "Naziv",
- "Size" : "Veličina",
- "Modified" : "Izmenjen",
- "_%n folder_::_%n folders_" : ["%n fascikla","%n fascikle","%n fascikli"],
- "_%n file_::_%n files_" : ["%n fajl","%n fajla","%n fajlova"],
- "{dirs} and {files}" : "{dirs} i {files}",
- "You don’t have permission to upload or create files here" : "Nemate dozvole da ovde otpremate ili stvarate fajlove",
- "_Uploading %n file_::_Uploading %n files_" : ["Otpremam %n fajl","Otpremam %n fajla","Otpremam %n fajlova"],
- "New" : "Novo",
- "\"{name}\" is an invalid file name." : "\"{name}\" nije ispravan naziv fajla.",
- "File name cannot be empty." : "Naziv fajla ne može biti prazan.",
- "Your storage is full, files can not be updated or synced anymore!" : "Vaše skladište je puno. Fajlovi više ne mogu biti ažurirani ni sinhronizovani!",
- "Your storage is almost full ({usedSpacePercent}%)" : "Vaše skladište je skoro puno ({usedSpacePercent}%)",
- "_matches '{filter}'_::_match '{filter}'_" : ["se poklapa sa '{filter}'","se poklapaju sa '{filter}'","se poklapa sa '{filter}'"],
- "Favorited" : "Omiljeno",
- "Favorite" : "Omiljeni",
- "Folder" : "fascikla",
- "New folder" : "Nova fascikla",
- "Upload" : "Otpremi",
- "An error occurred while trying to update the tags" : "Došlo je do greške pri pokušaju ažuriranja oznaka",
- "A new file or folder has been <strong>created</strong>" : "Novi fajl ili fascikla su <strong>napravljeni</strong>",
- "A file or folder has been <strong>changed</strong>" : "Fajl ili fascikla su <strong>izmenjeni</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ograniči obaveštenja o stvaranju i izmenama na <strong>omiljene fajlove</strong> <em>(samo u zapisniku)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Fajl ili fascikla su <strong>obrisani</strong>",
- "A file or folder has been <strong>restored</strong>" : "Fajl ili fascikla su <strong>vraćeni</strong>",
- "You created %1$s" : "Napravili ste %1$s",
- "%2$s created %1$s" : "%2$s napravi %1$s",
- "%1$s was created in a public folder" : "%1$s je napravljen u javnoj fascikli",
- "You changed %1$s" : "Izmenili ste %1$s",
- "%2$s changed %1$s" : "%2$s izmeni %1$s",
- "You deleted %1$s" : "Obrisali ste %1$s",
- "%2$s deleted %1$s" : "%2$s obrisa %1$s",
- "You restored %1$s" : "Vratili ste %1$s",
- "%2$s restored %1$s" : "%2$s povrati %1$s",
- "Upload (max. %s)" : "Otpremanje (maks. %s)",
- "File handling" : "Rukovanje fajlovima",
- "Maximum upload size" : "Najveća veličina otpremanja",
- "max. possible: " : "najviše moguće:",
- "Save" : "Sačuvaj",
- "Settings" : "Postavke",
- "WebDAV" : "WebDAV",
- "No files in here" : "Ovde nema fajlova",
- "Upload some content or sync with your devices!" : "Otpremite neki sadržaj ili sinhronizujte sa vašim uređajima!",
- "No entries found in this folder" : "Nema ničega u ovoj fascikli",
- "Select all" : "Označi sve",
- "Upload too large" : "Otpremanje je preveliko",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Fajlovi koje želite da otpremite prevazilaze ograničenje otpremanja na ovom serveru.",
- "No favorites" : "Nema omiljenih",
- "Files and folders you mark as favorite will show up here" : "Fajlovi i fascikle koje obeležite kao omiljene pojaviće se ovde",
- "Text file" : "tekstualni fajl"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files/l10n/sr@latin.json b/apps/files/l10n/sr@latin.json
deleted file mode 100644
index 0710435eb69..00000000000
--- a/apps/files/l10n/sr@latin.json
+++ /dev/null
@@ -1,93 +0,0 @@
-{ "translations": {
- "Storage not available" : "Skladište nije dostupno",
- "Storage invalid" : "Neispravno skladište",
- "Unknown error" : "Nepoznata greška",
- "Unable to set upload directory." : "Ne mogu da postavim direktorijum za otpremanje.",
- "Invalid Token" : "Neispravan token",
- "No file was uploaded. Unknown error" : "Nijedan fajl nije otpremljen. Nepoznata greška",
- "There is no error, the file uploaded with success" : "Nema greške, fajl je uspešno otpremljen",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Otpremani fajl prevazilazi smernicu upload_max_filesize u fajlu php.ini:",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Otpremani fajl prevazilazi smernicu MAX_FILE_SIZE koja je navedena u HTML obrascu",
- "The uploaded file was only partially uploaded" : "Otpremani fajl je samo delimično otpremljen",
- "No file was uploaded" : "Ništa nije otpremljeno",
- "Missing a temporary folder" : "Nedostaje privremena fascikla",
- "Failed to write to disk" : "Ne mogu da pišem na disk",
- "Not enough storage available" : "Nema dovoljno prostora",
- "The target folder has been moved or deleted." : "Odredišna fascikla je premeštena ili obrisana.",
- "Upload failed. Could not find uploaded file" : "Neuspešno otpremanje. Ne mogu da nađem otpremljeni fajl",
- "Upload failed. Could not get file info." : "Neuspešno otpremanje. Ne mogu da dobijem podatke o fajlu.",
- "Invalid directory." : "Neispravna fascikla.",
- "Files" : "Fajlovi",
- "All files" : "Svi fajlovi",
- "Home" : "Početna",
- "Close" : "Zatvori",
- "Favorites" : "Omiljeni",
- "Upload cancelled." : "Otpremanje je otkazano.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ne mogu da otpremim {filename} jer je to direktorijum ili ima 0 bajtova",
- "Total file size {size1} exceeds upload limit {size2}" : "Veličina {size1} prevazilazi ograničenje za otpremanje od {size2}",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nema prostora. Otpremate {size1} ali samo {size2} je preostalo",
- "Could not get result from server." : "Ne mogu da dobijem rezultat sa servera.",
- "Uploading..." : "Otpremam…",
- "File upload is in progress. Leaving the page now will cancel the upload." : "Otpremanje fajla je u toku. Ako sada napustite stranicu, otkazaćete otpremanje.",
- "Download" : "Preuzmi",
- "Rename" : "Preimenuj",
- "Delete" : "Obriši",
- "Disconnect storage" : "Isključi skladište",
- "Unshare" : "Ne deli",
- "Details" : "Detaljnije",
- "Select" : "Izaberi",
- "Pending" : "Na čekanju",
- "Unable to determine date" : "Ne mogu da odredim datum",
- "No entries in this folder match '{filter}'" : "U ovoj fascikli ništa se ne poklapa sa '{filter}'",
- "Name" : "Naziv",
- "Size" : "Veličina",
- "Modified" : "Izmenjen",
- "_%n folder_::_%n folders_" : ["%n fascikla","%n fascikle","%n fascikli"],
- "_%n file_::_%n files_" : ["%n fajl","%n fajla","%n fajlova"],
- "{dirs} and {files}" : "{dirs} i {files}",
- "You don’t have permission to upload or create files here" : "Nemate dozvole da ovde otpremate ili stvarate fajlove",
- "_Uploading %n file_::_Uploading %n files_" : ["Otpremam %n fajl","Otpremam %n fajla","Otpremam %n fajlova"],
- "New" : "Novo",
- "\"{name}\" is an invalid file name." : "\"{name}\" nije ispravan naziv fajla.",
- "File name cannot be empty." : "Naziv fajla ne može biti prazan.",
- "Your storage is full, files can not be updated or synced anymore!" : "Vaše skladište je puno. Fajlovi više ne mogu biti ažurirani ni sinhronizovani!",
- "Your storage is almost full ({usedSpacePercent}%)" : "Vaše skladište je skoro puno ({usedSpacePercent}%)",
- "_matches '{filter}'_::_match '{filter}'_" : ["se poklapa sa '{filter}'","se poklapaju sa '{filter}'","se poklapa sa '{filter}'"],
- "Favorited" : "Omiljeno",
- "Favorite" : "Omiljeni",
- "Folder" : "fascikla",
- "New folder" : "Nova fascikla",
- "Upload" : "Otpremi",
- "An error occurred while trying to update the tags" : "Došlo je do greške pri pokušaju ažuriranja oznaka",
- "A new file or folder has been <strong>created</strong>" : "Novi fajl ili fascikla su <strong>napravljeni</strong>",
- "A file or folder has been <strong>changed</strong>" : "Fajl ili fascikla su <strong>izmenjeni</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ograniči obaveštenja o stvaranju i izmenama na <strong>omiljene fajlove</strong> <em>(samo u zapisniku)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Fajl ili fascikla su <strong>obrisani</strong>",
- "A file or folder has been <strong>restored</strong>" : "Fajl ili fascikla su <strong>vraćeni</strong>",
- "You created %1$s" : "Napravili ste %1$s",
- "%2$s created %1$s" : "%2$s napravi %1$s",
- "%1$s was created in a public folder" : "%1$s je napravljen u javnoj fascikli",
- "You changed %1$s" : "Izmenili ste %1$s",
- "%2$s changed %1$s" : "%2$s izmeni %1$s",
- "You deleted %1$s" : "Obrisali ste %1$s",
- "%2$s deleted %1$s" : "%2$s obrisa %1$s",
- "You restored %1$s" : "Vratili ste %1$s",
- "%2$s restored %1$s" : "%2$s povrati %1$s",
- "Upload (max. %s)" : "Otpremanje (maks. %s)",
- "File handling" : "Rukovanje fajlovima",
- "Maximum upload size" : "Najveća veličina otpremanja",
- "max. possible: " : "najviše moguće:",
- "Save" : "Sačuvaj",
- "Settings" : "Postavke",
- "WebDAV" : "WebDAV",
- "No files in here" : "Ovde nema fajlova",
- "Upload some content or sync with your devices!" : "Otpremite neki sadržaj ili sinhronizujte sa vašim uređajima!",
- "No entries found in this folder" : "Nema ničega u ovoj fascikli",
- "Select all" : "Označi sve",
- "Upload too large" : "Otpremanje je preveliko",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Fajlovi koje želite da otpremite prevazilaze ograničenje otpremanja na ovom serveru.",
- "No favorites" : "Nema omiljenih",
- "Files and folders you mark as favorite will show up here" : "Fajlovi i fascikle koje obeležite kao omiljene pojaviće se ovde",
- "Text file" : "tekstualni fajl"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/su.js b/apps/files/l10n/su.js
deleted file mode 100644
index 91d52801985..00000000000
--- a/apps/files/l10n/su.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : [""],
- "_%n file_::_%n files_" : [""],
- "_Uploading %n file_::_Uploading %n files_" : [""],
- "_matches '{filter}'_::_match '{filter}'_" : [""]
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/su.json b/apps/files/l10n/su.json
deleted file mode 100644
index 82cca5a0661..00000000000
--- a/apps/files/l10n/su.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : [""],
- "_%n file_::_%n files_" : [""],
- "_Uploading %n file_::_Uploading %n files_" : [""],
- "_matches '{filter}'_::_match '{filter}'_" : [""]
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js
index 689614d845d..27d6814448f 100644
--- a/apps/files/l10n/sv.js
+++ b/apps/files/l10n/sv.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "Visa dessa genvägar",
"You" : "Du",
"Shared multiple times with different people" : "Delad flera gånger med olika personer",
+ "Unable to change the favorite state of the file" : "Kan inte ändra filens favoritstatus",
"Error while loading the file data" : "Fel vid inläsning av fildata",
"Owner" : "Ägare",
"Remove from favorites" : "Ta bort från favoriter",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Du är på väg att ta bort {count} objekt","Du är på väg att ta bort {count} objekt"],
"Confirm deletion" : "Bekräfta radering",
"Cancel" : "Avbryt",
+ "Download" : "Hämta",
"Moving \"{source}\" to \"{destination}\" …" : "Flyttar \"{source}\" till \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopierar \"{source}\" till \"{destination}\" …",
+ "Destination is not a folder" : "Destinationen är inte en mapp",
+ "This file/folder is already in that directory" : "Den här filen/mappen finns redan i den katalogen",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Du kan inte flytta en fil/mapp till sig själv eller till en undermapp till sig själv",
"(copy)" : "(kopia)",
"(copy %n)" : "(kopia %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "Filerna flyttade",
"Conflicts resolution skipped" : "Konfliktlösning hoppades över",
"Upload cancelled" : "Uppladdning avbruten",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kunde inte byta namn på \"{oldName}\", den finns inte längre",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Namnet \"{newName}\" används redan i mappen \"{dir}\". Välj ett annat namn.",
+ "Could not rename \"{oldName}\"" : "Kunde inte byta namn på \"{oldName}\"",
"This operation is forbidden" : "Denna operation är förbjuden",
"This directory is unavailable, please check the logs or contact the administrator" : "Denna katalog är inte tillgänglig, kontrollera loggarna eller kontakta administratören",
"Storage is temporarily not available" : "Lagring är tillfälligt inte tillgänglig",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "För stor uppladdning",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filerna du försöker ladda upp överstiger den maximala storleken för filöverföringar på servern.",
"File could not be found" : "Fil kunde inte hittas",
- "Download" : "Hämta",
"Show list view" : "Visa listvy",
"Show grid view" : "Visa rutnätsvy",
"Close" : "Stäng",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Kopierade {origin} till {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopierade {origin} och {nbfiles} andra filer i {destination}",
"{newName} already exists" : "{newName} existerar redan",
- "Could not rename \"{oldName}\", it does not exist any more" : "Kunde inte byta namn på \"{oldName}\", den finns inte längre",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Namnet \"{newName}\" används redan i mappen \"{dir}\". Välj ett annat namn.",
- "Could not rename \"{oldName}\"" : "Kunde inte byta namn på \"{oldName}\"",
"Could not create file \"{file}\"" : "Kunde inte skapa fil \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Kunde inte skapa fil \"{file}\" därför att den redan existerar",
"Could not create folder \"{dir}\" because it already exists" : "Kunde inte skapa \"{dir}\" därför att den redan existerar",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "Ny textfil.txt",
"%1$s (renamed)" : "%1$s (omdöpt)",
"renamed file" : "omdöpt fil",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "När Windows-kompatibla filnamn har aktiverats kan befintliga filer inte längre ändras, men de kan byta namn till giltiga nya namn av sin ägare.",
- "{count} files could not be converted" : "{count} filer kunde inte konverteras",
- "{count} files successfully converted" : "{count} filer har konverterats"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "När Windows-kompatibla filnamn har aktiverats kan befintliga filer inte längre ändras, men de kan byta namn till giltiga nya namn av sin ägare."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json
index 46e1ee89f52..3944641dad5 100644
--- a/apps/files/l10n/sv.json
+++ b/apps/files/l10n/sv.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "Visa dessa genvägar",
"You" : "Du",
"Shared multiple times with different people" : "Delad flera gånger med olika personer",
+ "Unable to change the favorite state of the file" : "Kan inte ändra filens favoritstatus",
"Error while loading the file data" : "Fel vid inläsning av fildata",
"Owner" : "Ägare",
"Remove from favorites" : "Ta bort från favoriter",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Du är på väg att ta bort {count} objekt","Du är på väg att ta bort {count} objekt"],
"Confirm deletion" : "Bekräfta radering",
"Cancel" : "Avbryt",
+ "Download" : "Hämta",
"Moving \"{source}\" to \"{destination}\" …" : "Flyttar \"{source}\" till \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Kopierar \"{source}\" till \"{destination}\" …",
+ "Destination is not a folder" : "Destinationen är inte en mapp",
+ "This file/folder is already in that directory" : "Den här filen/mappen finns redan i den katalogen",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Du kan inte flytta en fil/mapp till sig själv eller till en undermapp till sig själv",
"(copy)" : "(kopia)",
"(copy %n)" : "(kopia %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "Filerna flyttade",
"Conflicts resolution skipped" : "Konfliktlösning hoppades över",
"Upload cancelled" : "Uppladdning avbruten",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kunde inte byta namn på \"{oldName}\", den finns inte längre",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Namnet \"{newName}\" används redan i mappen \"{dir}\". Välj ett annat namn.",
+ "Could not rename \"{oldName}\"" : "Kunde inte byta namn på \"{oldName}\"",
"This operation is forbidden" : "Denna operation är förbjuden",
"This directory is unavailable, please check the logs or contact the administrator" : "Denna katalog är inte tillgänglig, kontrollera loggarna eller kontakta administratören",
"Storage is temporarily not available" : "Lagring är tillfälligt inte tillgänglig",
@@ -360,7 +367,6 @@
"Upload too large" : "För stor uppladdning",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filerna du försöker ladda upp överstiger den maximala storleken för filöverföringar på servern.",
"File could not be found" : "Fil kunde inte hittas",
- "Download" : "Hämta",
"Show list view" : "Visa listvy",
"Show grid view" : "Visa rutnätsvy",
"Close" : "Stäng",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "Kopierade {origin} till {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopierade {origin} och {nbfiles} andra filer i {destination}",
"{newName} already exists" : "{newName} existerar redan",
- "Could not rename \"{oldName}\", it does not exist any more" : "Kunde inte byta namn på \"{oldName}\", den finns inte längre",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Namnet \"{newName}\" används redan i mappen \"{dir}\". Välj ett annat namn.",
- "Could not rename \"{oldName}\"" : "Kunde inte byta namn på \"{oldName}\"",
"Could not create file \"{file}\"" : "Kunde inte skapa fil \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Kunde inte skapa fil \"{file}\" därför att den redan existerar",
"Could not create folder \"{dir}\" because it already exists" : "Kunde inte skapa \"{dir}\" därför att den redan existerar",
@@ -453,8 +456,6 @@
"New text file.txt" : "Ny textfil.txt",
"%1$s (renamed)" : "%1$s (omdöpt)",
"renamed file" : "omdöpt fil",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "När Windows-kompatibla filnamn har aktiverats kan befintliga filer inte längre ändras, men de kan byta namn till giltiga nya namn av sin ägare.",
- "{count} files could not be converted" : "{count} filer kunde inte konverteras",
- "{count} files successfully converted" : "{count} filer har konverterats"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "När Windows-kompatibla filnamn har aktiverats kan befintliga filer inte längre ändras, men de kan byta namn till giltiga nya namn av sin ägare."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/sw.js b/apps/files/l10n/sw.js
index 9d9dabb0b47..35a699ffb61 100644
--- a/apps/files/l10n/sw.js
+++ b/apps/files/l10n/sw.js
@@ -268,6 +268,7 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["You are about to delete {count} item","Unakaribia kufuta vipengee{count}"],
"Confirm deletion" : "Thibitisha ufutaji",
"Cancel" : "Sitisha",
+ "Download" : "Pakua",
"Moving \"{source}\" to \"{destination}\" …" : "Sogeza \"{source}\" mpaka \"{destination}\"",
"Copying \"{source}\" to \"{destination}\" …" : "Inanakili \"{source}\" hadi \"{destination}\" ...",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Huwezi kuhamisha faili/folda kwenye yenyewe au kwenye folda yenyewe",
@@ -331,6 +332,9 @@ OC.L10N.register(
"Files moved successfully" : "Faili limeondolewa kikamilifu",
"Conflicts resolution skipped" : "Utatuzi wa migogoro ulirukwa",
"Upload cancelled" : "Upakiaji umesitishwa",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Haikuweza kuita jina jipya \"{oldName}\", halipo tena",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Jina \"{newName}\" tayari linatumika katika kisanduku \"{dir}\". Tafadhali chagua jina tofauti",
+ "Could not rename \"{oldName}\"" : "Haikuweza kuita jina jipya \"{oldName}\"",
"This operation is forbidden" : "Opereshini hii imezuiwa",
"This directory is unavailable, please check the logs or contact the administrator" : "Orodha haipatikani, tafadhali angalia uingiaji au wasiliana na msimamizi",
"Storage is temporarily not available" : "Uhifadhi haupo kwa muda",
@@ -362,7 +366,6 @@ OC.L10N.register(
"Upload too large" : "Upakiaji mkubwa mno",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Faili unazojaribu kupakia zinazidi ukubwa wa juu zaidi wa upakiaji wa faili kwenye seva hii.",
"File could not be found" : "Faili isingeweza kupatikana",
- "Download" : "Pakua",
"Show list view" : "Onesha mwonekeno wa orodha",
"Show grid view" : "Onesha mwonekano wa mstariramani",
"Close" : "Funga",
@@ -401,9 +404,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Imenakili {origin} ndani ya {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Imenakili {origin} na {nbfiles} faili zingine ndani ya {destination}",
"{newName} already exists" : "{newName} lipo tayari",
- "Could not rename \"{oldName}\", it does not exist any more" : "Haikuweza kuita jina jipya \"{oldName}\", halipo tena",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Jina \"{newName}\" tayari linatumika katika kisanduku \"{dir}\". Tafadhali chagua jina tofauti",
- "Could not rename \"{oldName}\"" : "Haikuweza kuita jina jipya \"{oldName}\"",
"Could not create file \"{file}\"" : "Haikuweza kutengeneza faili \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Haikuweza kuteengeneza faili \"{file}\" kwa sababu lipo tayari",
"Could not create folder \"{dir}\" because it already exists" : "Haikuweza kutengeneza kisanduku \"{dir}\" kwa sababu kipo tayari",
@@ -455,8 +455,6 @@ OC.L10N.register(
"New text file.txt" : "Faili mpya ya maandishi.txt",
"%1$s (renamed)" : "%1$s (iliyopew jina jipya)",
"renamed file" : "Faili iliyopewa jina jipya",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Baada ya kuwezesha majina ya windows ya faili yanayooana, faili zilizopo haziwezi kurekebishwa tena lakini zinaweza kubadilishwa kuwa majina mapya halali na mmiliki wao.",
- "{count} files could not be converted" : "{count} files could not be converted",
- "{count} files successfully converted" : "{count} files successfully converted"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Baada ya kuwezesha majina ya windows ya faili yanayooana, faili zilizopo haziwezi kurekebishwa tena lakini zinaweza kubadilishwa kuwa majina mapya halali na mmiliki wao."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/sw.json b/apps/files/l10n/sw.json
index 2b4221001d7..25b74f3019f 100644
--- a/apps/files/l10n/sw.json
+++ b/apps/files/l10n/sw.json
@@ -266,6 +266,7 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["You are about to delete {count} item","Unakaribia kufuta vipengee{count}"],
"Confirm deletion" : "Thibitisha ufutaji",
"Cancel" : "Sitisha",
+ "Download" : "Pakua",
"Moving \"{source}\" to \"{destination}\" …" : "Sogeza \"{source}\" mpaka \"{destination}\"",
"Copying \"{source}\" to \"{destination}\" …" : "Inanakili \"{source}\" hadi \"{destination}\" ...",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Huwezi kuhamisha faili/folda kwenye yenyewe au kwenye folda yenyewe",
@@ -329,6 +330,9 @@
"Files moved successfully" : "Faili limeondolewa kikamilifu",
"Conflicts resolution skipped" : "Utatuzi wa migogoro ulirukwa",
"Upload cancelled" : "Upakiaji umesitishwa",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Haikuweza kuita jina jipya \"{oldName}\", halipo tena",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Jina \"{newName}\" tayari linatumika katika kisanduku \"{dir}\". Tafadhali chagua jina tofauti",
+ "Could not rename \"{oldName}\"" : "Haikuweza kuita jina jipya \"{oldName}\"",
"This operation is forbidden" : "Opereshini hii imezuiwa",
"This directory is unavailable, please check the logs or contact the administrator" : "Orodha haipatikani, tafadhali angalia uingiaji au wasiliana na msimamizi",
"Storage is temporarily not available" : "Uhifadhi haupo kwa muda",
@@ -360,7 +364,6 @@
"Upload too large" : "Upakiaji mkubwa mno",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Faili unazojaribu kupakia zinazidi ukubwa wa juu zaidi wa upakiaji wa faili kwenye seva hii.",
"File could not be found" : "Faili isingeweza kupatikana",
- "Download" : "Pakua",
"Show list view" : "Onesha mwonekeno wa orodha",
"Show grid view" : "Onesha mwonekano wa mstariramani",
"Close" : "Funga",
@@ -399,9 +402,6 @@
"Copied {origin} inside {destination}" : "Imenakili {origin} ndani ya {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Imenakili {origin} na {nbfiles} faili zingine ndani ya {destination}",
"{newName} already exists" : "{newName} lipo tayari",
- "Could not rename \"{oldName}\", it does not exist any more" : "Haikuweza kuita jina jipya \"{oldName}\", halipo tena",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Jina \"{newName}\" tayari linatumika katika kisanduku \"{dir}\". Tafadhali chagua jina tofauti",
- "Could not rename \"{oldName}\"" : "Haikuweza kuita jina jipya \"{oldName}\"",
"Could not create file \"{file}\"" : "Haikuweza kutengeneza faili \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Haikuweza kuteengeneza faili \"{file}\" kwa sababu lipo tayari",
"Could not create folder \"{dir}\" because it already exists" : "Haikuweza kutengeneza kisanduku \"{dir}\" kwa sababu kipo tayari",
@@ -453,8 +453,6 @@
"New text file.txt" : "Faili mpya ya maandishi.txt",
"%1$s (renamed)" : "%1$s (iliyopew jina jipya)",
"renamed file" : "Faili iliyopewa jina jipya",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Baada ya kuwezesha majina ya windows ya faili yanayooana, faili zilizopo haziwezi kurekebishwa tena lakini zinaweza kubadilishwa kuwa majina mapya halali na mmiliki wao.",
- "{count} files could not be converted" : "{count} files could not be converted",
- "{count} files successfully converted" : "{count} files successfully converted"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Baada ya kuwezesha majina ya windows ya faili yanayooana, faili zilizopo haziwezi kurekebishwa tena lakini zinaweza kubadilishwa kuwa majina mapya halali na mmiliki wao."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/sw_KE.js b/apps/files/l10n/sw_KE.js
deleted file mode 100644
index 7988332fa91..00000000000
--- a/apps/files/l10n/sw_KE.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/sw_KE.json b/apps/files/l10n/sw_KE.json
deleted file mode 100644
index ef5fc586755..00000000000
--- a/apps/files/l10n/sw_KE.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/tg_TJ.js b/apps/files/l10n/tg_TJ.js
deleted file mode 100644
index 7988332fa91..00000000000
--- a/apps/files/l10n/tg_TJ.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/tg_TJ.json b/apps/files/l10n/tg_TJ.json
deleted file mode 100644
index ef5fc586755..00000000000
--- a/apps/files/l10n/tg_TJ.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/th.js b/apps/files/l10n/th.js
index c4d6be70165..320ce095c41 100644
--- a/apps/files/l10n/th.js
+++ b/apps/files/l10n/th.js
@@ -128,6 +128,7 @@ OC.L10N.register(
"Delete folders" : "ลบโฟลเดอร์",
"Delete" : "ลบ",
"Cancel" : "ยกเลิก",
+ "Download" : "ดาวน์โหลด",
"Copy to {target}" : "คัดลอกไปยัง {target}",
"Copy" : "คัดลอก",
"Move to {target}" : "ย้ายไปยัง {target}",
@@ -145,6 +146,9 @@ OC.L10N.register(
"Unable to initialize the templates directory" : "ไม่สามารถเตรียมไดเรกทอรีเทมเพลต",
"Templates" : "เทมเพลต",
"Some files could not be moved" : "ไม่สามารถย้ายบางไฟล์",
+ "Could not rename \"{oldName}\", it does not exist any more" : "ไม่สามารถเปลี่ยนชื่อไฟล์ \"{oldName}\" ไฟล์นั้นไม่มีอยู่",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "ชื่อ \"{newName}\" มีอยู่แล้วในโฟลเดอร์ \"{dir}\" กรุณาเปลี่ยนชื่อใหม่",
+ "Could not rename \"{oldName}\"" : "ไม่สามารถเปลี่ยนชื่อไฟล์ \"{oldName}\"",
"This operation is forbidden" : "การดำเนินการนี้ถูกห้าม",
"This directory is unavailable, please check the logs or contact the administrator" : "ไม่สามารถใช้งานไดเรกทอรีนี้ โปรดตรวจสอบบันทึกหรือติดต่อผู้ดูแลระบบ",
"Storage is temporarily not available" : "พื้นที่จัดเก็บข้อมูลไม่สามารถใช้งานได้ชั่วคราว",
@@ -160,7 +164,6 @@ OC.L10N.register(
"Upload too large" : "ไฟล์ที่อัปโหลดมีขนาดใหญ่เกินไป",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "ไฟล์ที่คุณพยายามที่จะอัปโหลดมีขนาดเกินกว่าขนาดสูงสุดที่อัปโหลดได้สำหรับเซิร์ฟเวอร์นี้",
"File could not be found" : "ไม่พบไฟล์",
- "Download" : "ดาวน์โหลด",
"Show list view" : "แสดงมุมมองรายการ",
"Show grid view" : "แสดงมุมมองตาราง",
"Close" : "ปิด",
@@ -198,9 +201,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "คัดลอก {origin} ไว้ใน {destination} แล้ว",
"Copied {origin} and {nbfiles} other files inside {destination}" : "คัดลอก {origin} และ {nbfiles} ไฟล์อื่น ๆ ไว้ใน {destination} แล้ว",
"{newName} already exists" : "{newName} มีอยู่แล้ว",
- "Could not rename \"{oldName}\", it does not exist any more" : "ไม่สามารถเปลี่ยนชื่อไฟล์ \"{oldName}\" ไฟล์นั้นไม่มีอยู่",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "ชื่อ \"{newName}\" มีอยู่แล้วในโฟลเดอร์ \"{dir}\" กรุณาเปลี่ยนชื่อใหม่",
- "Could not rename \"{oldName}\"" : "ไม่สามารถเปลี่ยนชื่อไฟล์ \"{oldName}\"",
"Could not create file \"{file}\"" : "ไม่สามารถสร้างไฟล์ \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "ไม่สามารถสร้างไฟล์ \"{file}\" เพราะมันมีอยู่แล้ว",
"Could not create folder \"{dir}\" because it already exists" : "ไม่สามารถสร้างโฟลเดอร์ \"{dir}\" เพราะมันมีอยู่แล้ว",
diff --git a/apps/files/l10n/th.json b/apps/files/l10n/th.json
index a087b73a312..f62e46e0e6e 100644
--- a/apps/files/l10n/th.json
+++ b/apps/files/l10n/th.json
@@ -126,6 +126,7 @@
"Delete folders" : "ลบโฟลเดอร์",
"Delete" : "ลบ",
"Cancel" : "ยกเลิก",
+ "Download" : "ดาวน์โหลด",
"Copy to {target}" : "คัดลอกไปยัง {target}",
"Copy" : "คัดลอก",
"Move to {target}" : "ย้ายไปยัง {target}",
@@ -143,6 +144,9 @@
"Unable to initialize the templates directory" : "ไม่สามารถเตรียมไดเรกทอรีเทมเพลต",
"Templates" : "เทมเพลต",
"Some files could not be moved" : "ไม่สามารถย้ายบางไฟล์",
+ "Could not rename \"{oldName}\", it does not exist any more" : "ไม่สามารถเปลี่ยนชื่อไฟล์ \"{oldName}\" ไฟล์นั้นไม่มีอยู่",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "ชื่อ \"{newName}\" มีอยู่แล้วในโฟลเดอร์ \"{dir}\" กรุณาเปลี่ยนชื่อใหม่",
+ "Could not rename \"{oldName}\"" : "ไม่สามารถเปลี่ยนชื่อไฟล์ \"{oldName}\"",
"This operation is forbidden" : "การดำเนินการนี้ถูกห้าม",
"This directory is unavailable, please check the logs or contact the administrator" : "ไม่สามารถใช้งานไดเรกทอรีนี้ โปรดตรวจสอบบันทึกหรือติดต่อผู้ดูแลระบบ",
"Storage is temporarily not available" : "พื้นที่จัดเก็บข้อมูลไม่สามารถใช้งานได้ชั่วคราว",
@@ -158,7 +162,6 @@
"Upload too large" : "ไฟล์ที่อัปโหลดมีขนาดใหญ่เกินไป",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "ไฟล์ที่คุณพยายามที่จะอัปโหลดมีขนาดเกินกว่าขนาดสูงสุดที่อัปโหลดได้สำหรับเซิร์ฟเวอร์นี้",
"File could not be found" : "ไม่พบไฟล์",
- "Download" : "ดาวน์โหลด",
"Show list view" : "แสดงมุมมองรายการ",
"Show grid view" : "แสดงมุมมองตาราง",
"Close" : "ปิด",
@@ -196,9 +199,6 @@
"Copied {origin} inside {destination}" : "คัดลอก {origin} ไว้ใน {destination} แล้ว",
"Copied {origin} and {nbfiles} other files inside {destination}" : "คัดลอก {origin} และ {nbfiles} ไฟล์อื่น ๆ ไว้ใน {destination} แล้ว",
"{newName} already exists" : "{newName} มีอยู่แล้ว",
- "Could not rename \"{oldName}\", it does not exist any more" : "ไม่สามารถเปลี่ยนชื่อไฟล์ \"{oldName}\" ไฟล์นั้นไม่มีอยู่",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "ชื่อ \"{newName}\" มีอยู่แล้วในโฟลเดอร์ \"{dir}\" กรุณาเปลี่ยนชื่อใหม่",
- "Could not rename \"{oldName}\"" : "ไม่สามารถเปลี่ยนชื่อไฟล์ \"{oldName}\"",
"Could not create file \"{file}\"" : "ไม่สามารถสร้างไฟล์ \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "ไม่สามารถสร้างไฟล์ \"{file}\" เพราะมันมีอยู่แล้ว",
"Could not create folder \"{dir}\" because it already exists" : "ไม่สามารถสร้างโฟลเดอร์ \"{dir}\" เพราะมันมีอยู่แล้ว",
diff --git a/apps/files/l10n/tl_PH.js b/apps/files/l10n/tl_PH.js
deleted file mode 100644
index c50be1aa479..00000000000
--- a/apps/files/l10n/tl_PH.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/files/l10n/tl_PH.json b/apps/files/l10n/tl_PH.json
deleted file mode 100644
index 210ac153bab..00000000000
--- a/apps/files/l10n/tl_PH.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js
index 651d1b5316f..829f9438f3b 100644
--- a/apps/files/l10n/tr.js
+++ b/apps/files/l10n/tr.js
@@ -70,7 +70,9 @@ OC.L10N.register(
"Transferred from %1$s on %2$s" : "%1$s üzerinden %2$s zamanında aktarıldı",
"Files compatibility" : "Dosyalar uygulaması uyumluluğu",
"Allow to restrict filenames to ensure files can be synced with all clients. By default all filenames valid on POSIX (e.g. Linux or macOS) are allowed." : "Dosyaların tüm istemcilerle eşitlenebilmesi için dosya adlarının kısıtlanmasını sağlar. Varsayılan olarak POSIX içinde geçerli olan tüm dosya adlarına (Linux veya macOS) izin verilir.",
- "Enforce Windows compatibility" : "Windows uyumluluğu dayatılsın",
+ "After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Windows uyumlu dosya adları açıldıktan sonra, var olan dosyalar artık değiştirilemez. Ancak sahipleri tarafından geçerli yeni adlarla yeniden adlandırılabilir.",
+ "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Bu ayarı açtıktan sonra dosyaları otomatik olarak da aktarılabilir. Lütfen occ komutuyla ilgili belgelere bakın.",
+ "Enforce Windows compatibility" : "Windows uyumluluğu zorunlu kılınsın",
"This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity." : "Ayrılmış adlar veya özel karakterler kullanmak gibi Windows sistemlerinde geçerli olmayan dosya adlarını engeller. Ancak büyük/küçük harf duyarlılığı uyumluluğunu zorunlu kılmaz.",
"File Management" : "Dosya yönetimi",
"Home" : "Giriş",
@@ -95,6 +97,11 @@ OC.L10N.register(
"Renamed \"{oldName}\" to \"{newName}\"" : "\"{oldName}\" adı \"{newName}\" olarak değiştirildi",
"Rename file" : "Dosyayı yeniden adlandır",
"Folder" : "Klasör",
+ "Unknown file type" : "Dosya türü bilinmiyor",
+ "{ext} image" : "{ext} görsel",
+ "{ext} video" : "{ext} görüntü",
+ "{ext} audio" : "{ext} ses",
+ "{ext} text" : "{ext} metin",
"Pending" : "Bekliyor",
"Unknown date" : "Tarih bilinmiyor",
"Clear filter" : "Süzgeci temizle",
@@ -105,6 +112,7 @@ OC.L10N.register(
"Total rows summary" : "Toplam satır özeti",
"Toggle selection for all files and folders" : "Tüm dosyaları ve klasörleri seç/bırak",
"Name" : "Ad",
+ "File type" : "Dosya türü",
"Size" : "Boyut",
"\"{displayName}\" failed on some elements" : "\"{displayName}\" bazı bileşenlerde tamamlanamadı",
"\"{displayName}\" batch action executed successfully" : "\"{displayName}\" toplu işlemi tamamlandı",
@@ -183,6 +191,7 @@ OC.L10N.register(
"Sort favorites first" : "Sık kullanılanlar üstte sıralansın",
"Sort folders before files" : "Klasörler dosyaların üzerinde sıralansın",
"Show hidden files" : "Gizli dosyaları görüntüle",
+ "Show file type column" : "Dosya türü sütunu görüntülensin",
"Crop image previews" : "Görsel ön izlemeleri kırpılsın",
"Enable the grid view" : "Tablo görünümü kullanılsın",
"Enable folder tree" : "Klasör ağacını aç",
@@ -191,7 +200,7 @@ OC.L10N.register(
"WebDAV URL" : "WebDAV adresi",
"Copy to clipboard" : "Panoya kopyala",
"Use this address to access your Files via WebDAV" : "Dosyalarınıza WebDAV üzerinden erişmek için bu adresi kullanın",
- "If you have enabled 2FA, you must create and use a new app password by clicking here." : "İki adımlı doğrulamayı etkinleştirdiyseniz buraya tıklayarak yeni bir uygulama parolası oluşturmalısınız.",
+ "If you have enabled 2FA, you must create and use a new app password by clicking here." : "İki adımlı doğrulamayı açtıysanız buraya tıklayarak yeni bir uygulama parolası oluşturmalısınız.",
"Warnings" : "Uyarılar",
"Prevent warning dialogs from open or reenable them." : "Uyarı pencerelerinin görüntülenmesini açın ya da kapatın.",
"Show a warning dialog when changing a file extension." : "Dosya uzantısı değiştirilirken uyarı penceresi görüntülensin.",
@@ -219,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "Bu kısayolları görüntüler",
"You" : "Siz",
"Shared multiple times with different people" : "Farklı kişilerle birkaç kez paylaşılmış",
+ "Unable to change the favorite state of the file" : "Dosyanın sık kullanılan durumu değiştirilemedi",
"Error while loading the file data" : "Dosya verileri yüklenirken sorun çıktı",
"Owner" : "Sahibi",
"Remove from favorites" : "Sık kullanılanlardan kaldır",
@@ -259,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["{count} ögeyi silmek üzeresiniz","{count} ögeyi silmek üzeresiniz"],
"Confirm deletion" : "Silmeyi onaylayın",
"Cancel" : "İptal",
+ "Download" : "İndir",
"Moving \"{source}\" to \"{destination}\" …" : "\"{source}\", \"{destination}\" hedefine taşınıyor…",
"Copying \"{source}\" to \"{destination}\" …" : "\"{source}\", \"{destination}\" hedefine kopyalanıyor…",
+ "Destination is not a folder" : "Hedef bir klasör değil",
+ "This file/folder is already in that directory" : "Dosya ya da klasör bu klasörde zaten var",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Bir dosyayı ya da klasörü kendi üzerine veya kendisinin alt klasörüne taşıyamazsınız",
"(copy)" : "(kopya)",
"(copy %n)" : "(%n kopyası)",
@@ -282,7 +295,7 @@ OC.L10N.register(
"Open locally" : "Yerel olarak aç",
"Failed to redirect to client" : "İstemciye yönlendirilemedi",
"Open file locally" : "Dosyayı yerel olarak aç",
- "The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Dosya artık aygıtınızda açılmalıdır. Açılmazsa lütfen masaüstü uygulamasının kurulu olduğundan emin olun.",
+ "The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Dosya artık aygıtınızda açılmalıdır. Açılmazsa lütfen bilgisayar uygulamasının kurulu olduğundan emin olun.",
"Retry and close" : "Yeniden deneyip kapat",
"Open online" : "Çevrim içi aç",
"Rename" : "Yeniden adlandır",
@@ -322,12 +335,16 @@ OC.L10N.register(
"Files moved successfully" : "Dosyalar taşındı",
"Conflicts resolution skipped" : "Çakışma çözümleme atlandı",
"Upload cancelled" : "Yükleme iptal edildi",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" adı artık olmadığından değiştirilemedi. ",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" adı \"{dir}\" klasöründe zaten kullanılmış. Lütfen başka bir ad seçin.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" adı değiştirilemedi",
"This operation is forbidden" : "Bu işleme izin verilmiyor",
"This directory is unavailable, please check the logs or contact the administrator" : "Bu klasör yazılabilir değil. Lütfen günlük kayıtlarına bakın ya da BT yöneticiniz ile görüşün",
"Storage is temporarily not available" : "Depolama geçici olarak kullanılamıyor",
"Unexpected error: {error}" : "Beklenmeyen bir sorun çıktı: {error}",
"_%n file_::_%n files_" : ["%n dosya","%n dosya"],
"_%n folder_::_%n folders_" : ["%n klasör","%n klasör"],
+ "_%n hidden_::_%n hidden_" : ["%n gizli","%n gizli"],
"Filename must not be empty." : "Dosya adı boş olamaz.",
"\"{char}\" is not allowed inside a filename." : "Dosya adlarında \"{char}\" kullanılamaz.",
"\"{segment}\" is a reserved name and not allowed for filenames." : "\"{segment}\" ayrılmış bir ad olduğundan dosya adlarında kullanılamaz.",
@@ -352,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "Yükleme boyutu çok büyük",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Yüklemeye çalıştığınız dosyalar bu sunucuya yüklenmesine izin verilen en büyük dosya boyutunu aşıyor.",
"File could not be found" : "Dosya bulunamadı",
- "Download" : "İndir",
"Show list view" : "Liste görünümüne geç",
"Show grid view" : "Tablo görünümüne geç",
"Close" : "Kapat",
@@ -391,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} dosyası, {destination} içine kopyalandı",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ve diğer {nbfiles} dosya, {destination} içine kopyalandı",
"{newName} already exists" : "{newName} zaten var",
- "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" adı artık olmadığından değiştirilemedi. ",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" adı \"{dir}\" klasöründe zaten kullanılmış. Lütfen başka bir ad seçin.",
- "Could not rename \"{oldName}\"" : "\"{oldName}\" adı değiştirilemedi",
"Could not create file \"{file}\"" : "\"{file}\" dosyası oluşturulamadı",
"Could not create file \"{file}\" because it already exists" : "\"{file}\" dosyası zaten var olduğundan oluşturulamadı",
"Could not create folder \"{dir}\" because it already exists" : "\"{dir}\" klasörü zaten var olduğundan oluşturulamadı",
@@ -443,7 +456,8 @@ OC.L10N.register(
"Personal Files" : "Kişisel dosyalar",
"Text file" : "Metin dosyası",
"New text file.txt" : "Yeni metin dosyası.txt",
- "{count} files could not be converted" : "{count} dosya dönüştürülemedi",
- "{count} files successfully converted" : "{count} dosya dönüştürüldü"
+ "%1$s (renamed)" : "%1$s (yeniden adlandırıldı)",
+ "renamed file" : "dosyayı yeniden adlandırdı",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Windows uyumlu dosya adları açıldıktan sonra, var olan dosyalar artık değiştirilemez. Ancak sahipleri tarafından geçerli yeni adlarla yeniden adlandırılabilir."
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json
index 2f11c0b4c5b..a83f1db0285 100644
--- a/apps/files/l10n/tr.json
+++ b/apps/files/l10n/tr.json
@@ -68,7 +68,9 @@
"Transferred from %1$s on %2$s" : "%1$s üzerinden %2$s zamanında aktarıldı",
"Files compatibility" : "Dosyalar uygulaması uyumluluğu",
"Allow to restrict filenames to ensure files can be synced with all clients. By default all filenames valid on POSIX (e.g. Linux or macOS) are allowed." : "Dosyaların tüm istemcilerle eşitlenebilmesi için dosya adlarının kısıtlanmasını sağlar. Varsayılan olarak POSIX içinde geçerli olan tüm dosya adlarına (Linux veya macOS) izin verilir.",
- "Enforce Windows compatibility" : "Windows uyumluluğu dayatılsın",
+ "After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Windows uyumlu dosya adları açıldıktan sonra, var olan dosyalar artık değiştirilemez. Ancak sahipleri tarafından geçerli yeni adlarla yeniden adlandırılabilir.",
+ "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Bu ayarı açtıktan sonra dosyaları otomatik olarak da aktarılabilir. Lütfen occ komutuyla ilgili belgelere bakın.",
+ "Enforce Windows compatibility" : "Windows uyumluluğu zorunlu kılınsın",
"This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity." : "Ayrılmış adlar veya özel karakterler kullanmak gibi Windows sistemlerinde geçerli olmayan dosya adlarını engeller. Ancak büyük/küçük harf duyarlılığı uyumluluğunu zorunlu kılmaz.",
"File Management" : "Dosya yönetimi",
"Home" : "Giriş",
@@ -93,6 +95,11 @@
"Renamed \"{oldName}\" to \"{newName}\"" : "\"{oldName}\" adı \"{newName}\" olarak değiştirildi",
"Rename file" : "Dosyayı yeniden adlandır",
"Folder" : "Klasör",
+ "Unknown file type" : "Dosya türü bilinmiyor",
+ "{ext} image" : "{ext} görsel",
+ "{ext} video" : "{ext} görüntü",
+ "{ext} audio" : "{ext} ses",
+ "{ext} text" : "{ext} metin",
"Pending" : "Bekliyor",
"Unknown date" : "Tarih bilinmiyor",
"Clear filter" : "Süzgeci temizle",
@@ -103,6 +110,7 @@
"Total rows summary" : "Toplam satır özeti",
"Toggle selection for all files and folders" : "Tüm dosyaları ve klasörleri seç/bırak",
"Name" : "Ad",
+ "File type" : "Dosya türü",
"Size" : "Boyut",
"\"{displayName}\" failed on some elements" : "\"{displayName}\" bazı bileşenlerde tamamlanamadı",
"\"{displayName}\" batch action executed successfully" : "\"{displayName}\" toplu işlemi tamamlandı",
@@ -181,6 +189,7 @@
"Sort favorites first" : "Sık kullanılanlar üstte sıralansın",
"Sort folders before files" : "Klasörler dosyaların üzerinde sıralansın",
"Show hidden files" : "Gizli dosyaları görüntüle",
+ "Show file type column" : "Dosya türü sütunu görüntülensin",
"Crop image previews" : "Görsel ön izlemeleri kırpılsın",
"Enable the grid view" : "Tablo görünümü kullanılsın",
"Enable folder tree" : "Klasör ağacını aç",
@@ -189,7 +198,7 @@
"WebDAV URL" : "WebDAV adresi",
"Copy to clipboard" : "Panoya kopyala",
"Use this address to access your Files via WebDAV" : "Dosyalarınıza WebDAV üzerinden erişmek için bu adresi kullanın",
- "If you have enabled 2FA, you must create and use a new app password by clicking here." : "İki adımlı doğrulamayı etkinleştirdiyseniz buraya tıklayarak yeni bir uygulama parolası oluşturmalısınız.",
+ "If you have enabled 2FA, you must create and use a new app password by clicking here." : "İki adımlı doğrulamayı açtıysanız buraya tıklayarak yeni bir uygulama parolası oluşturmalısınız.",
"Warnings" : "Uyarılar",
"Prevent warning dialogs from open or reenable them." : "Uyarı pencerelerinin görüntülenmesini açın ya da kapatın.",
"Show a warning dialog when changing a file extension." : "Dosya uzantısı değiştirilirken uyarı penceresi görüntülensin.",
@@ -217,6 +226,7 @@
"Show those shortcuts" : "Bu kısayolları görüntüler",
"You" : "Siz",
"Shared multiple times with different people" : "Farklı kişilerle birkaç kez paylaşılmış",
+ "Unable to change the favorite state of the file" : "Dosyanın sık kullanılan durumu değiştirilemedi",
"Error while loading the file data" : "Dosya verileri yüklenirken sorun çıktı",
"Owner" : "Sahibi",
"Remove from favorites" : "Sık kullanılanlardan kaldır",
@@ -257,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["{count} ögeyi silmek üzeresiniz","{count} ögeyi silmek üzeresiniz"],
"Confirm deletion" : "Silmeyi onaylayın",
"Cancel" : "İptal",
+ "Download" : "İndir",
"Moving \"{source}\" to \"{destination}\" …" : "\"{source}\", \"{destination}\" hedefine taşınıyor…",
"Copying \"{source}\" to \"{destination}\" …" : "\"{source}\", \"{destination}\" hedefine kopyalanıyor…",
+ "Destination is not a folder" : "Hedef bir klasör değil",
+ "This file/folder is already in that directory" : "Dosya ya da klasör bu klasörde zaten var",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Bir dosyayı ya da klasörü kendi üzerine veya kendisinin alt klasörüne taşıyamazsınız",
"(copy)" : "(kopya)",
"(copy %n)" : "(%n kopyası)",
@@ -280,7 +293,7 @@
"Open locally" : "Yerel olarak aç",
"Failed to redirect to client" : "İstemciye yönlendirilemedi",
"Open file locally" : "Dosyayı yerel olarak aç",
- "The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Dosya artık aygıtınızda açılmalıdır. Açılmazsa lütfen masaüstü uygulamasının kurulu olduğundan emin olun.",
+ "The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Dosya artık aygıtınızda açılmalıdır. Açılmazsa lütfen bilgisayar uygulamasının kurulu olduğundan emin olun.",
"Retry and close" : "Yeniden deneyip kapat",
"Open online" : "Çevrim içi aç",
"Rename" : "Yeniden adlandır",
@@ -320,12 +333,16 @@
"Files moved successfully" : "Dosyalar taşındı",
"Conflicts resolution skipped" : "Çakışma çözümleme atlandı",
"Upload cancelled" : "Yükleme iptal edildi",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" adı artık olmadığından değiştirilemedi. ",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" adı \"{dir}\" klasöründe zaten kullanılmış. Lütfen başka bir ad seçin.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" adı değiştirilemedi",
"This operation is forbidden" : "Bu işleme izin verilmiyor",
"This directory is unavailable, please check the logs or contact the administrator" : "Bu klasör yazılabilir değil. Lütfen günlük kayıtlarına bakın ya da BT yöneticiniz ile görüşün",
"Storage is temporarily not available" : "Depolama geçici olarak kullanılamıyor",
"Unexpected error: {error}" : "Beklenmeyen bir sorun çıktı: {error}",
"_%n file_::_%n files_" : ["%n dosya","%n dosya"],
"_%n folder_::_%n folders_" : ["%n klasör","%n klasör"],
+ "_%n hidden_::_%n hidden_" : ["%n gizli","%n gizli"],
"Filename must not be empty." : "Dosya adı boş olamaz.",
"\"{char}\" is not allowed inside a filename." : "Dosya adlarında \"{char}\" kullanılamaz.",
"\"{segment}\" is a reserved name and not allowed for filenames." : "\"{segment}\" ayrılmış bir ad olduğundan dosya adlarında kullanılamaz.",
@@ -350,7 +367,6 @@
"Upload too large" : "Yükleme boyutu çok büyük",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Yüklemeye çalıştığınız dosyalar bu sunucuya yüklenmesine izin verilen en büyük dosya boyutunu aşıyor.",
"File could not be found" : "Dosya bulunamadı",
- "Download" : "İndir",
"Show list view" : "Liste görünümüne geç",
"Show grid view" : "Tablo görünümüne geç",
"Close" : "Kapat",
@@ -389,9 +405,6 @@
"Copied {origin} inside {destination}" : "{origin} dosyası, {destination} içine kopyalandı",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ve diğer {nbfiles} dosya, {destination} içine kopyalandı",
"{newName} already exists" : "{newName} zaten var",
- "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" adı artık olmadığından değiştirilemedi. ",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" adı \"{dir}\" klasöründe zaten kullanılmış. Lütfen başka bir ad seçin.",
- "Could not rename \"{oldName}\"" : "\"{oldName}\" adı değiştirilemedi",
"Could not create file \"{file}\"" : "\"{file}\" dosyası oluşturulamadı",
"Could not create file \"{file}\" because it already exists" : "\"{file}\" dosyası zaten var olduğundan oluşturulamadı",
"Could not create folder \"{dir}\" because it already exists" : "\"{dir}\" klasörü zaten var olduğundan oluşturulamadı",
@@ -441,7 +454,8 @@
"Personal Files" : "Kişisel dosyalar",
"Text file" : "Metin dosyası",
"New text file.txt" : "Yeni metin dosyası.txt",
- "{count} files could not be converted" : "{count} dosya dönüştürülemedi",
- "{count} files successfully converted" : "{count} dosya dönüştürüldü"
+ "%1$s (renamed)" : "%1$s (yeniden adlandırıldı)",
+ "renamed file" : "dosyayı yeniden adlandırdı",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Windows uyumlu dosya adları açıldıktan sonra, var olan dosyalar artık değiştirilemez. Ancak sahipleri tarafından geçerli yeni adlarla yeniden adlandırılabilir."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/tzm.js b/apps/files/l10n/tzm.js
deleted file mode 100644
index f5528cd729c..00000000000
--- a/apps/files/l10n/tzm.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},
-"nplurals=2; plural=(n == 0 || n == 1 || (n > 10 && n < 100) ? 0 : 1;");
diff --git a/apps/files/l10n/tzm.json b/apps/files/l10n/tzm.json
deleted file mode 100644
index 2fe6b60516a..00000000000
--- a/apps/files/l10n/tzm.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "_%n folder_::_%n folders_" : ["",""],
- "_%n file_::_%n files_" : ["",""],
- "_Uploading %n file_::_Uploading %n files_" : ["",""],
- "_matches '{filter}'_::_match '{filter}'_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n == 0 || n == 1 || (n > 10 && n < 100) ? 0 : 1;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/ug.js b/apps/files/l10n/ug.js
index 9955cccff4c..fe1c8faea3a 100644
--- a/apps/files/l10n/ug.js
+++ b/apps/files/l10n/ug.js
@@ -197,6 +197,7 @@ OC.L10N.register(
"Delete" : "ئۆچۈر",
"Confirm deletion" : "ئۆچۈرۈشنى جەزملەشتۈرۈڭ",
"Cancel" : "ۋاز كەچ",
+ "Download" : "چۈشۈر",
"Moving \"{source}\" to \"{destination}\" …" : "\"{source}\" نى \"{destination}\" غا يۆتكەش…",
"Copying \"{source}\" to \"{destination}\" …" : "\"{source}\" نى \"{destination}\" غا كۆچۈرۈش…",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "ھۆججەت ياكى ھۆججەت قىسقۇچنى ئۆزىڭىزگە ياكى تارماق قىسقۇچقا يۆتكىيەلمەيسىز",
@@ -257,6 +258,9 @@ OC.L10N.register(
"Files moved successfully" : "ھۆججەتلەر مۇۋەپپەقىيەتلىك يۆتكەلدى",
"Conflicts resolution skipped" : "زىددىيەتنىڭ ھەل قىلىنىشى ئاتلاپ كەتتى",
"Upload cancelled" : "يۈكلەش ئەمەلدىن قالدۇرۇلدى",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" نىڭ نامىنى ئۆزگەرتەلمىدى ، ئۇ ئەمدى مەۋجۇت ئەمەس",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{dir}\" ھۆججەت قىسقۇچىدا \"{newName}\" ئىسمى ئاللىبۇرۇن ئىشلىتىلگەن. باشقا ئىسىمنى تاللاڭ.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" نىڭ نامىنى ئۆزگەرتەلمىدى",
"This operation is forbidden" : "بۇ مەشغۇلات مەنئى قىلىنىدۇ",
"This directory is unavailable, please check the logs or contact the administrator" : "بۇ مۇندەرىجىنى ئىشلەتكىلى بولمايدۇ ، خاتىرىلەرنى تەكشۈرۈپ بېقىڭ ياكى باشقۇرغۇچى بىلەن ئالاقىلىشىڭ",
"Storage is temporarily not available" : "ساقلاش ۋاقتىنى ۋاقىتلىق ئىشلەتكىلى بولمايدۇ",
@@ -285,7 +289,6 @@ OC.L10N.register(
"Upload too large" : "يۈكلەندىغىنى بەك چوڭ",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "سىز يۈكلىمەكچى بولغان ھۆججەتلەر بۇ مۇلازىمېتىردا ھۆججەت يوللاشنىڭ ئەڭ چوڭ چوڭلۇقىدىن ئېشىپ كەتتى.",
"File could not be found" : "ھۆججەت تېپىلمىدى",
- "Download" : "چۈشۈر",
"Show list view" : "تىزىملىك كۆرۈنۈشىنى كۆرسىتىش",
"Show grid view" : "كاتەكچە كۆرۈنۈشنى كۆرسىتىش",
"Close" : "ياپ",
@@ -324,9 +327,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "كۆچۈرۈلگەن {origin} ئىچىدىكى {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ئىچىدىكى {destination} ۋە {nbfiles} باشقا ھۆججەتلەر كۆچۈرۈلگەن",
"{newName} already exists" : "{newName} مەۋجۇت",
- "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" نىڭ نامىنى ئۆزگەرتەلمىدى ، ئۇ ئەمدى مەۋجۇت ئەمەس",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{dir}\" ھۆججەت قىسقۇچىدا \"{newName}\" ئىسمى ئاللىبۇرۇن ئىشلىتىلگەن. باشقا ئىسىمنى تاللاڭ.",
- "Could not rename \"{oldName}\"" : "\"{oldName}\" نىڭ نامىنى ئۆزگەرتەلمىدى",
"Could not create file \"{file}\"" : "\"{file}\" ھۆججىتىنى قۇرالمىدى",
"Could not create file \"{file}\" because it already exists" : "«{file}» ھۆججىتىنى قۇرالمىدى ، چۈنكى ئۇ مەۋجۇت",
"Could not create folder \"{dir}\" because it already exists" : "«{dir}» ھۆججەت قىسقۇچى قۇرالمىدى ، چۈنكى ئۇ مەۋجۇت",
diff --git a/apps/files/l10n/ug.json b/apps/files/l10n/ug.json
index 81e789e872c..7d5baaee516 100644
--- a/apps/files/l10n/ug.json
+++ b/apps/files/l10n/ug.json
@@ -195,6 +195,7 @@
"Delete" : "ئۆچۈر",
"Confirm deletion" : "ئۆچۈرۈشنى جەزملەشتۈرۈڭ",
"Cancel" : "ۋاز كەچ",
+ "Download" : "چۈشۈر",
"Moving \"{source}\" to \"{destination}\" …" : "\"{source}\" نى \"{destination}\" غا يۆتكەش…",
"Copying \"{source}\" to \"{destination}\" …" : "\"{source}\" نى \"{destination}\" غا كۆچۈرۈش…",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "ھۆججەت ياكى ھۆججەت قىسقۇچنى ئۆزىڭىزگە ياكى تارماق قىسقۇچقا يۆتكىيەلمەيسىز",
@@ -255,6 +256,9 @@
"Files moved successfully" : "ھۆججەتلەر مۇۋەپپەقىيەتلىك يۆتكەلدى",
"Conflicts resolution skipped" : "زىددىيەتنىڭ ھەل قىلىنىشى ئاتلاپ كەتتى",
"Upload cancelled" : "يۈكلەش ئەمەلدىن قالدۇرۇلدى",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" نىڭ نامىنى ئۆزگەرتەلمىدى ، ئۇ ئەمدى مەۋجۇت ئەمەس",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{dir}\" ھۆججەت قىسقۇچىدا \"{newName}\" ئىسمى ئاللىبۇرۇن ئىشلىتىلگەن. باشقا ئىسىمنى تاللاڭ.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" نىڭ نامىنى ئۆزگەرتەلمىدى",
"This operation is forbidden" : "بۇ مەشغۇلات مەنئى قىلىنىدۇ",
"This directory is unavailable, please check the logs or contact the administrator" : "بۇ مۇندەرىجىنى ئىشلەتكىلى بولمايدۇ ، خاتىرىلەرنى تەكشۈرۈپ بېقىڭ ياكى باشقۇرغۇچى بىلەن ئالاقىلىشىڭ",
"Storage is temporarily not available" : "ساقلاش ۋاقتىنى ۋاقىتلىق ئىشلەتكىلى بولمايدۇ",
@@ -283,7 +287,6 @@
"Upload too large" : "يۈكلەندىغىنى بەك چوڭ",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "سىز يۈكلىمەكچى بولغان ھۆججەتلەر بۇ مۇلازىمېتىردا ھۆججەت يوللاشنىڭ ئەڭ چوڭ چوڭلۇقىدىن ئېشىپ كەتتى.",
"File could not be found" : "ھۆججەت تېپىلمىدى",
- "Download" : "چۈشۈر",
"Show list view" : "تىزىملىك كۆرۈنۈشىنى كۆرسىتىش",
"Show grid view" : "كاتەكچە كۆرۈنۈشنى كۆرسىتىش",
"Close" : "ياپ",
@@ -322,9 +325,6 @@
"Copied {origin} inside {destination}" : "كۆچۈرۈلگەن {origin} ئىچىدىكى {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ئىچىدىكى {destination} ۋە {nbfiles} باشقا ھۆججەتلەر كۆچۈرۈلگەن",
"{newName} already exists" : "{newName} مەۋجۇت",
- "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" نىڭ نامىنى ئۆزگەرتەلمىدى ، ئۇ ئەمدى مەۋجۇت ئەمەس",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{dir}\" ھۆججەت قىسقۇچىدا \"{newName}\" ئىسمى ئاللىبۇرۇن ئىشلىتىلگەن. باشقا ئىسىمنى تاللاڭ.",
- "Could not rename \"{oldName}\"" : "\"{oldName}\" نىڭ نامىنى ئۆزگەرتەلمىدى",
"Could not create file \"{file}\"" : "\"{file}\" ھۆججىتىنى قۇرالمىدى",
"Could not create file \"{file}\" because it already exists" : "«{file}» ھۆججىتىنى قۇرالمىدى ، چۈنكى ئۇ مەۋجۇت",
"Could not create folder \"{dir}\" because it already exists" : "«{dir}» ھۆججەت قىسقۇچى قۇرالمىدى ، چۈنكى ئۇ مەۋجۇت",
diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js
index 9d3ca0d1c2e..e1059df3ed0 100644
--- a/apps/files/l10n/uk.js
+++ b/apps/files/l10n/uk.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "Показувати ці скорочення",
"You" : "Ви",
"Shared multiple times with different people" : "Поділилися кілька разів з різними людьми",
+ "Unable to change the favorite state of the file" : "Неможливо змінити статус вподобаного файлу",
"Error while loading the file data" : "Помилка під час отримання даних щодо файлу",
"Owner" : "Власник",
"Remove from favorites" : "Прибрати зірочку",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Ви намагаєтеся вилучити {count} ресурс","Ви намагаєтеся вилучити {count} ресурси","Ви намагаєтеся вилучити {count} ресурсів","Ви намагаєтеся вилучити {count} ресурсів"],
"Confirm deletion" : "Підтвердіть вилучення",
"Cancel" : "Скасувати",
+ "Download" : "Звантажити",
"Moving \"{source}\" to \"{destination}\" …" : "Переміщення \"{source}\" до \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Копіювання \"{source}\" до \"{destination}\" …",
+ "Destination is not a folder" : "Місце призначення не є каталогом",
+ "This file/folder is already in that directory" : "Такий файл чи каталог вже присутні в цьому каталозі",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Неможливо перемістити файл чи каталог до самого себе або у цей саме підкаталог",
"(copy)" : "(копія)",
"(copy %n)" : "(копія %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "Файли успішно переміщено",
"Conflicts resolution skipped" : "Пропущено розв'язання конфліктів",
"Upload cancelled" : "Завантаження скасовано",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Не вдалося перейментувати \"{oldName}\", оскільки він вже відсутній",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ім'я \"{newName}\" вже використовується у каталозі \"{dir}\". Виберіть інше ім'я.",
+ "Could not rename \"{oldName}\"" : "Не вдалося перейменувати \"{oldName}\"",
"This operation is forbidden" : "Операцію заборонено",
"This directory is unavailable, please check the logs or contact the administrator" : "Каталог недоступний, будь ласка, перевірте файл журналу або зверніться до адміністратора ",
"Storage is temporarily not available" : "Сховище тимчасово недоступне",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "Файл занадто великий",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файли, які ви намагаєтеся завантажити, перевищують максимально дозволений розмір завантаження файлів на сервер.",
"File could not be found" : "Неможливо знайти файл",
- "Download" : "Звантажити",
"Show list view" : "Подання списком",
"Show grid view" : "Подання сіткою",
"Close" : "Закрити",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Скопійовано {origin} до {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} та {nbfiles} інших файлів скопійовано до {destination}",
"{newName} already exists" : "{newName} вже існує",
- "Could not rename \"{oldName}\", it does not exist any more" : "Не вдалося перейментувати \"{oldName}\", оскільки він вже відсутній",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ім'я \"{newName}\" вже використовується у каталозі \"{dir}\". Виберіть інше ім'я.",
- "Could not rename \"{oldName}\"" : "Не вдалося перейменувати \"{oldName}\"",
"Could not create file \"{file}\"" : "Неможливо створити файл \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Неможливо створити файл \"{file}\", оскільки файл з таким ім'ям вже присутній.",
"Could not create folder \"{dir}\" because it already exists" : "Неможливо створити каталог \"{dir}\", оскільки каталог з таким ім'ям він вже присутній.",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "Новий текстовий файл.txt",
"%1$s (renamed)" : "%1$s (перейменовано)",
"renamed file" : "перейменовано файл",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Після увімкнення сумісности імен файлів з системою Windows наявні файли неможливо буде змінити, але власники зможуть перейменувати ці файли на нові з дійсними іменами.",
- "{count} files could not be converted" : "Неможливо конвертувати {count} файлів",
- "{count} files successfully converted" : "Успішно конвертовано {count} файлів"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Після увімкнення сумісности імен файлів з системою Windows наявні файли неможливо буде змінити, але власники зможуть перейменувати ці файли на нові з дійсними іменами."
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");
diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json
index 1f659b51e10..a0ce459f192 100644
--- a/apps/files/l10n/uk.json
+++ b/apps/files/l10n/uk.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "Показувати ці скорочення",
"You" : "Ви",
"Shared multiple times with different people" : "Поділилися кілька разів з різними людьми",
+ "Unable to change the favorite state of the file" : "Неможливо змінити статус вподобаного файлу",
"Error while loading the file data" : "Помилка під час отримання даних щодо файлу",
"Owner" : "Власник",
"Remove from favorites" : "Прибрати зірочку",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Ви намагаєтеся вилучити {count} ресурс","Ви намагаєтеся вилучити {count} ресурси","Ви намагаєтеся вилучити {count} ресурсів","Ви намагаєтеся вилучити {count} ресурсів"],
"Confirm deletion" : "Підтвердіть вилучення",
"Cancel" : "Скасувати",
+ "Download" : "Звантажити",
"Moving \"{source}\" to \"{destination}\" …" : "Переміщення \"{source}\" до \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Копіювання \"{source}\" до \"{destination}\" …",
+ "Destination is not a folder" : "Місце призначення не є каталогом",
+ "This file/folder is already in that directory" : "Такий файл чи каталог вже присутні в цьому каталозі",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Неможливо перемістити файл чи каталог до самого себе або у цей саме підкаталог",
"(copy)" : "(копія)",
"(copy %n)" : "(копія %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "Файли успішно переміщено",
"Conflicts resolution skipped" : "Пропущено розв'язання конфліктів",
"Upload cancelled" : "Завантаження скасовано",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Не вдалося перейментувати \"{oldName}\", оскільки він вже відсутній",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ім'я \"{newName}\" вже використовується у каталозі \"{dir}\". Виберіть інше ім'я.",
+ "Could not rename \"{oldName}\"" : "Не вдалося перейменувати \"{oldName}\"",
"This operation is forbidden" : "Операцію заборонено",
"This directory is unavailable, please check the logs or contact the administrator" : "Каталог недоступний, будь ласка, перевірте файл журналу або зверніться до адміністратора ",
"Storage is temporarily not available" : "Сховище тимчасово недоступне",
@@ -360,7 +367,6 @@
"Upload too large" : "Файл занадто великий",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файли, які ви намагаєтеся завантажити, перевищують максимально дозволений розмір завантаження файлів на сервер.",
"File could not be found" : "Неможливо знайти файл",
- "Download" : "Звантажити",
"Show list view" : "Подання списком",
"Show grid view" : "Подання сіткою",
"Close" : "Закрити",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "Скопійовано {origin} до {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} та {nbfiles} інших файлів скопійовано до {destination}",
"{newName} already exists" : "{newName} вже існує",
- "Could not rename \"{oldName}\", it does not exist any more" : "Не вдалося перейментувати \"{oldName}\", оскільки він вже відсутній",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ім'я \"{newName}\" вже використовується у каталозі \"{dir}\". Виберіть інше ім'я.",
- "Could not rename \"{oldName}\"" : "Не вдалося перейменувати \"{oldName}\"",
"Could not create file \"{file}\"" : "Неможливо створити файл \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Неможливо створити файл \"{file}\", оскільки файл з таким ім'ям вже присутній.",
"Could not create folder \"{dir}\" because it already exists" : "Неможливо створити каталог \"{dir}\", оскільки каталог з таким ім'ям він вже присутній.",
@@ -453,8 +456,6 @@
"New text file.txt" : "Новий текстовий файл.txt",
"%1$s (renamed)" : "%1$s (перейменовано)",
"renamed file" : "перейменовано файл",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Після увімкнення сумісности імен файлів з системою Windows наявні файли неможливо буде змінити, але власники зможуть перейменувати ці файли на нові з дійсними іменами.",
- "{count} files could not be converted" : "Неможливо конвертувати {count} файлів",
- "{count} files successfully converted" : "Успішно конвертовано {count} файлів"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Після увімкнення сумісности імен файлів з системою Windows наявні файли неможливо буде змінити, але власники зможуть перейменувати ці файли на нові з дійсними іменами."
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/files/l10n/ur_PK.js b/apps/files/l10n/ur_PK.js
deleted file mode 100644
index 094511db425..00000000000
--- a/apps/files/l10n/ur_PK.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "Unknown error" : "غیر معروف خرابی",
- "Close" : "بند ",
- "Download" : "ڈاؤن لوڈ،",
- "Delete" : "حذف کریں",
- "Unshare" : "شئیرنگ ختم کریں",
- "Name" : "اسم",
- "Save" : "حفظ",
- "Settings" : "ترتیبات"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ur_PK.json b/apps/files/l10n/ur_PK.json
deleted file mode 100644
index 3c859bb452d..00000000000
--- a/apps/files/l10n/ur_PK.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "Unknown error" : "غیر معروف خرابی",
- "Close" : "بند ",
- "Download" : "ڈاؤن لوڈ،",
- "Delete" : "حذف کریں",
- "Unshare" : "شئیرنگ ختم کریں",
- "Name" : "اسم",
- "Save" : "حفظ",
- "Settings" : "ترتیبات"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files/l10n/vi.js b/apps/files/l10n/vi.js
index 914df0323bd..bcdf60036d6 100644
--- a/apps/files/l10n/vi.js
+++ b/apps/files/l10n/vi.js
@@ -198,8 +198,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Bạn sắp xoá {count} mục"],
"Confirm deletion" : "Xác nhận xoá",
"Cancel" : "Hủy bỏ",
+ "Download" : "Tải về",
"Moving \"{source}\" to \"{destination}\" …" : "Di chuyển \"{source}\" đến \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Sao chéo \"{source}\" đến \"{destination}\" …",
+ "Destination is not a folder" : "Đích đến không phải là một thư mục",
+ "This file/folder is already in that directory" : "Tệp/thư mục này đã có trong thư mục đó",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Bạn không thể di chuyển một tập tin/thư mục vào chính nó hoặc vào một thư mục con của chính nó",
"(copy)" : "(sao chép)",
"(copy %n)" : "(sao chép %n)",
@@ -253,6 +256,9 @@ OC.L10N.register(
"Files moved successfully" : "Tệp tin được di chuyển thành công",
"Conflicts resolution skipped" : "Đã bỏ qua giải quyết xung đột",
"Upload cancelled" : "Hủy tải lên",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Không thể đổi tên \"{oldName}\", tệp tin không còn tồn tại",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tên \"{newName}\" đã được sử dụng trong thư mục \"{dir}\". Vui lòng chọn một tên khác.",
+ "Could not rename \"{oldName}\"" : "Không thể đổi tên \"{oldName}\"",
"This operation is forbidden" : "Thao tác bị cấm",
"This directory is unavailable, please check the logs or contact the administrator" : "Thư mục này không sẵn có, hãy kiểm tra log hoặc liên hệ người quản lý",
"Storage is temporarily not available" : "Kho lưu trữ tạm thời không khả dụng",
@@ -281,7 +287,6 @@ OC.L10N.register(
"Upload too large" : "Tập tin tải lên quá lớn",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Các tập tin bạn đang tải lên vượt quá kích thước tối đa cho phép trên máy chủ .",
"File could not be found" : "Tệp tin không tồn tại",
- "Download" : "Tải về",
"Show list view" : "Hiển thị chế độ xem danh sách",
"Show grid view" : "Hiển thị chế độ xem lưới",
"Close" : "Đóng",
@@ -319,9 +324,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Được sao chép {origin} vào trong {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Đã sao chép {origin} và {nbfiles} các file vào trong {destination}",
"{newName} already exists" : "{newName} đã có",
- "Could not rename \"{oldName}\", it does not exist any more" : "Không thể đổi tên \"{oldName}\", tệp tin không còn tồn tại",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tên \"{newName}\" đã được sử dụng trong thư mục \"{dir}\". Vui lòng chọn một tên khác.",
- "Could not rename \"{oldName}\"" : "Không thể đổi tên \"{oldName}\"",
"Could not create file \"{file}\"" : "Không thể tạo tập tin \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Không thể tạo tập tin \"{file}\" vì đã có ",
"Could not create folder \"{dir}\" because it already exists" : "Không thể tạo thư mục “{dir}” vì đã có",
diff --git a/apps/files/l10n/vi.json b/apps/files/l10n/vi.json
index 6be08caf830..b54892c9301 100644
--- a/apps/files/l10n/vi.json
+++ b/apps/files/l10n/vi.json
@@ -196,8 +196,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Bạn sắp xoá {count} mục"],
"Confirm deletion" : "Xác nhận xoá",
"Cancel" : "Hủy bỏ",
+ "Download" : "Tải về",
"Moving \"{source}\" to \"{destination}\" …" : "Di chuyển \"{source}\" đến \"{destination}\" …",
"Copying \"{source}\" to \"{destination}\" …" : "Sao chéo \"{source}\" đến \"{destination}\" …",
+ "Destination is not a folder" : "Đích đến không phải là một thư mục",
+ "This file/folder is already in that directory" : "Tệp/thư mục này đã có trong thư mục đó",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Bạn không thể di chuyển một tập tin/thư mục vào chính nó hoặc vào một thư mục con của chính nó",
"(copy)" : "(sao chép)",
"(copy %n)" : "(sao chép %n)",
@@ -251,6 +254,9 @@
"Files moved successfully" : "Tệp tin được di chuyển thành công",
"Conflicts resolution skipped" : "Đã bỏ qua giải quyết xung đột",
"Upload cancelled" : "Hủy tải lên",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Không thể đổi tên \"{oldName}\", tệp tin không còn tồn tại",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tên \"{newName}\" đã được sử dụng trong thư mục \"{dir}\". Vui lòng chọn một tên khác.",
+ "Could not rename \"{oldName}\"" : "Không thể đổi tên \"{oldName}\"",
"This operation is forbidden" : "Thao tác bị cấm",
"This directory is unavailable, please check the logs or contact the administrator" : "Thư mục này không sẵn có, hãy kiểm tra log hoặc liên hệ người quản lý",
"Storage is temporarily not available" : "Kho lưu trữ tạm thời không khả dụng",
@@ -279,7 +285,6 @@
"Upload too large" : "Tập tin tải lên quá lớn",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Các tập tin bạn đang tải lên vượt quá kích thước tối đa cho phép trên máy chủ .",
"File could not be found" : "Tệp tin không tồn tại",
- "Download" : "Tải về",
"Show list view" : "Hiển thị chế độ xem danh sách",
"Show grid view" : "Hiển thị chế độ xem lưới",
"Close" : "Đóng",
@@ -317,9 +322,6 @@
"Copied {origin} inside {destination}" : "Được sao chép {origin} vào trong {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Đã sao chép {origin} và {nbfiles} các file vào trong {destination}",
"{newName} already exists" : "{newName} đã có",
- "Could not rename \"{oldName}\", it does not exist any more" : "Không thể đổi tên \"{oldName}\", tệp tin không còn tồn tại",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tên \"{newName}\" đã được sử dụng trong thư mục \"{dir}\". Vui lòng chọn một tên khác.",
- "Could not rename \"{oldName}\"" : "Không thể đổi tên \"{oldName}\"",
"Could not create file \"{file}\"" : "Không thể tạo tập tin \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Không thể tạo tập tin \"{file}\" vì đã có ",
"Could not create folder \"{dir}\" because it already exists" : "Không thể tạo thư mục “{dir}” vì đã có",
diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js
index ec3a558fd85..1309bf4379f 100644
--- a/apps/files/l10n/zh_CN.js
+++ b/apps/files/l10n/zh_CN.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "显示快捷键",
"You" : "您",
"Shared multiple times with different people" : "与不同的用户多次分享",
+ "Unable to change the favorite state of the file" : "无法更改文件的收藏状态",
"Error while loading the file data" : "加载文件数据时出错",
"Owner" : "拥有者",
"Remove from favorites" : "从收藏中移除",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["您正要删除 {count} 个项目"],
"Confirm deletion" : "确认删除",
"Cancel" : "取消",
+ "Download" : "下载",
"Moving \"{source}\" to \"{destination}\" …" : "正在移动 “{source}” 至 “{destination}” ...",
"Copying \"{source}\" to \"{destination}\" …" : "正在复制 “{source}” 至 “{destination}” ...",
+ "Destination is not a folder" : "目标不是一个文件夹",
+ "This file/folder is already in that directory" : "该文件/文件夹已经存在与该目录中",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "你无法将文件/文件夹移动至其自身或子文件夹中",
"(copy)" : "(复制)",
"(copy %n)" : "(复制 %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "移动文件成功",
"Conflicts resolution skipped" : "已跳过冲突解决",
"Upload cancelled" : "已取消上传",
+ "Could not rename \"{oldName}\", it does not exist any more" : "无法重命名“{oldName}”,此文件已经不存在",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名称“{newName}”在这个文件夹“{dir}”已经被使用。请选择其他名称。",
+ "Could not rename \"{oldName}\"" : "无法重命名“{oldName}”",
"This operation is forbidden" : "该操作被禁止",
"This directory is unavailable, please check the logs or contact the administrator" : "此目录不可用,请检查日志或联系管理员",
"Storage is temporarily not available" : "存储空间暂时不可用",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "上传文件过大",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "您尝试上传的文件大小超过了服务器的限制。",
"File could not be found" : "文件未找到",
- "Download" : "下载",
"Show list view" : "显示列表视图",
"Show grid view" : "显示网格视图",
"Close" : "关闭",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "在 {destination} 内复制 {origin}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "在 {destination} 内复制了 {origin} 和 {nbfiles} 个其他文件",
"{newName} already exists" : "{newName} 已经存在",
- "Could not rename \"{oldName}\", it does not exist any more" : "无法重命名“{oldName}”,此文件已经不存在",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名称“{newName}”在这个文件夹“{dir}”已经被使用。请选择其他名称。",
- "Could not rename \"{oldName}\"" : "无法重命名“{oldName}”",
"Could not create file \"{file}\"" : "无法创建文件“{file}”",
"Could not create file \"{file}\" because it already exists" : "无法创建文件“{file}”,因为它已经存在",
"Could not create folder \"{dir}\" because it already exists" : "无法创建文件夹“{dir}”,因为它已经存在",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "新建文本文件.txt",
"%1$s (renamed)" : "%1$s(已重命名)",
"renamed file" : "已重命名文件",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "启用与 Windows 兼容的文件名后,无法再修改现有文件,但可以由其所有者重命名为有效的新名称。",
- "{count} files could not be converted" : "{count} 个文件无法转换",
- "{count} files successfully converted" : "{count} 个文件已成功转换"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "启用与 Windows 兼容的文件名后,无法再修改现有文件,但可以由其所有者重命名为有效的新名称。"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json
index 01b30fd2a1c..aca369c6619 100644
--- a/apps/files/l10n/zh_CN.json
+++ b/apps/files/l10n/zh_CN.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "显示快捷键",
"You" : "您",
"Shared multiple times with different people" : "与不同的用户多次分享",
+ "Unable to change the favorite state of the file" : "无法更改文件的收藏状态",
"Error while loading the file data" : "加载文件数据时出错",
"Owner" : "拥有者",
"Remove from favorites" : "从收藏中移除",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["您正要删除 {count} 个项目"],
"Confirm deletion" : "确认删除",
"Cancel" : "取消",
+ "Download" : "下载",
"Moving \"{source}\" to \"{destination}\" …" : "正在移动 “{source}” 至 “{destination}” ...",
"Copying \"{source}\" to \"{destination}\" …" : "正在复制 “{source}” 至 “{destination}” ...",
+ "Destination is not a folder" : "目标不是一个文件夹",
+ "This file/folder is already in that directory" : "该文件/文件夹已经存在与该目录中",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "你无法将文件/文件夹移动至其自身或子文件夹中",
"(copy)" : "(复制)",
"(copy %n)" : "(复制 %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "移动文件成功",
"Conflicts resolution skipped" : "已跳过冲突解决",
"Upload cancelled" : "已取消上传",
+ "Could not rename \"{oldName}\", it does not exist any more" : "无法重命名“{oldName}”,此文件已经不存在",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名称“{newName}”在这个文件夹“{dir}”已经被使用。请选择其他名称。",
+ "Could not rename \"{oldName}\"" : "无法重命名“{oldName}”",
"This operation is forbidden" : "该操作被禁止",
"This directory is unavailable, please check the logs or contact the administrator" : "此目录不可用,请检查日志或联系管理员",
"Storage is temporarily not available" : "存储空间暂时不可用",
@@ -360,7 +367,6 @@
"Upload too large" : "上传文件过大",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "您尝试上传的文件大小超过了服务器的限制。",
"File could not be found" : "文件未找到",
- "Download" : "下载",
"Show list view" : "显示列表视图",
"Show grid view" : "显示网格视图",
"Close" : "关闭",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "在 {destination} 内复制 {origin}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "在 {destination} 内复制了 {origin} 和 {nbfiles} 个其他文件",
"{newName} already exists" : "{newName} 已经存在",
- "Could not rename \"{oldName}\", it does not exist any more" : "无法重命名“{oldName}”,此文件已经不存在",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名称“{newName}”在这个文件夹“{dir}”已经被使用。请选择其他名称。",
- "Could not rename \"{oldName}\"" : "无法重命名“{oldName}”",
"Could not create file \"{file}\"" : "无法创建文件“{file}”",
"Could not create file \"{file}\" because it already exists" : "无法创建文件“{file}”,因为它已经存在",
"Could not create folder \"{dir}\" because it already exists" : "无法创建文件夹“{dir}”,因为它已经存在",
@@ -453,8 +456,6 @@
"New text file.txt" : "新建文本文件.txt",
"%1$s (renamed)" : "%1$s(已重命名)",
"renamed file" : "已重命名文件",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "启用与 Windows 兼容的文件名后,无法再修改现有文件,但可以由其所有者重命名为有效的新名称。",
- "{count} files could not be converted" : "{count} 个文件无法转换",
- "{count} files successfully converted" : "{count} 个文件已成功转换"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "启用与 Windows 兼容的文件名后,无法再修改现有文件,但可以由其所有者重命名为有效的新名称。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/zh_HK.js b/apps/files/l10n/zh_HK.js
index b77fce8284a..12e62becfe7 100644
--- a/apps/files/l10n/zh_HK.js
+++ b/apps/files/l10n/zh_HK.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "顯示這些快捷鍵",
"You" : "您",
"Shared multiple times with different people" : "與不同的人多次分享",
+ "Unable to change the favorite state of the file" : "無法更改檔案的最愛狀態",
"Error while loading the file data" : "載入檔案資料失敗",
"Owner" : "擁有者",
"Remove from favorites" : "從最愛中移除",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["您即將刪除 {count} 個項目"],
"Confirm deletion" : "確認刪除",
"Cancel" : "取消",
+ "Download" : "下載",
"Moving \"{source}\" to \"{destination}\" …" : "正在移動「{source}」至「{destination}」…",
"Copying \"{source}\" to \"{destination}\" …" : "正在複製「{source}」至「{destination}」…",
+ "Destination is not a folder" : "目標地不是資料夾",
+ "This file/folder is already in that directory" : "此檔案/資料夾已在該目錄中",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "您無法將檔案/資料夾移動到其自身或子資料夾中",
"(copy)" : "(複本)",
"(copy %n)" : "(複本 %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "檔案移動成功",
"Conflicts resolution skipped" : "已略過衝突解決",
"Upload cancelled" : "上傳已取消",
+ "Could not rename \"{oldName}\", it does not exist any more" : "無法命名檔案「{oldName}」,因為此檔案已經不存在",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱「{newName}」在這資料夾「{dir}」已經被使用。請選擇其他名稱。",
+ "Could not rename \"{oldName}\"" : "無法重新命名「{oldName}」",
"This operation is forbidden" : "此操作被禁止",
"This directory is unavailable, please check the logs or contact the administrator" : "這個目錄無法存取,請檢查伺服器記錄檔或聯絡管理員",
"Storage is temporarily not available" : "儲存空間暫時無法使用",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "上傳過大",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "您試圖上傳的檔案大小超過伺服器的限制",
"File could not be found" : "找不到檔案",
- "Download" : "下載",
"Show list view" : "顯示清單視圖",
"Show grid view" : "顯示網格視圖",
"Close" : "關閉",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "已複製 {origin} 至 {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "已複製 {origin} 和其他 {nbfiles} 個檔案至 {destination}",
"{newName} already exists" : "{newName} 已經存在",
- "Could not rename \"{oldName}\", it does not exist any more" : "無法命名檔案「{oldName}」,因為此檔案已經不存在",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱「{newName}」在這資料夾「{dir}」已經被使用。請選擇其他名稱。",
- "Could not rename \"{oldName}\"" : "無法重新命名「{oldName}」",
"Could not create file \"{file}\"" : "無法建立檔案 \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "無法建立檔案「{file}」,因為此檔案已存在",
"Could not create folder \"{dir}\" because it already exists" : "無法建立資料夾 \"{dir}\",因為此資料夾已存在",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "新文字檔.txt",
"%1$s (renamed)" : "%1$s(已重新命名)",
"renamed file" : "已重新命名的檔案",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "啟用 Windows 兼容檔案名後,現有的檔案無法再被修改,但其擁有者可以將其重新命名為有效的新名稱。",
- "{count} files could not be converted" : "{count} 個檔案無法轉換",
- "{count} files successfully converted" : "{count} 個檔案成功轉換"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "啟用 Windows 兼容檔案名後,現有的檔案無法再被修改,但其擁有者可以將其重新命名為有效的新名稱。"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/zh_HK.json b/apps/files/l10n/zh_HK.json
index a8d54f293e9..c211e9cf075 100644
--- a/apps/files/l10n/zh_HK.json
+++ b/apps/files/l10n/zh_HK.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "顯示這些快捷鍵",
"You" : "您",
"Shared multiple times with different people" : "與不同的人多次分享",
+ "Unable to change the favorite state of the file" : "無法更改檔案的最愛狀態",
"Error while loading the file data" : "載入檔案資料失敗",
"Owner" : "擁有者",
"Remove from favorites" : "從最愛中移除",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["您即將刪除 {count} 個項目"],
"Confirm deletion" : "確認刪除",
"Cancel" : "取消",
+ "Download" : "下載",
"Moving \"{source}\" to \"{destination}\" …" : "正在移動「{source}」至「{destination}」…",
"Copying \"{source}\" to \"{destination}\" …" : "正在複製「{source}」至「{destination}」…",
+ "Destination is not a folder" : "目標地不是資料夾",
+ "This file/folder is already in that directory" : "此檔案/資料夾已在該目錄中",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "您無法將檔案/資料夾移動到其自身或子資料夾中",
"(copy)" : "(複本)",
"(copy %n)" : "(複本 %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "檔案移動成功",
"Conflicts resolution skipped" : "已略過衝突解決",
"Upload cancelled" : "上傳已取消",
+ "Could not rename \"{oldName}\", it does not exist any more" : "無法命名檔案「{oldName}」,因為此檔案已經不存在",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱「{newName}」在這資料夾「{dir}」已經被使用。請選擇其他名稱。",
+ "Could not rename \"{oldName}\"" : "無法重新命名「{oldName}」",
"This operation is forbidden" : "此操作被禁止",
"This directory is unavailable, please check the logs or contact the administrator" : "這個目錄無法存取,請檢查伺服器記錄檔或聯絡管理員",
"Storage is temporarily not available" : "儲存空間暫時無法使用",
@@ -360,7 +367,6 @@
"Upload too large" : "上傳過大",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "您試圖上傳的檔案大小超過伺服器的限制",
"File could not be found" : "找不到檔案",
- "Download" : "下載",
"Show list view" : "顯示清單視圖",
"Show grid view" : "顯示網格視圖",
"Close" : "關閉",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "已複製 {origin} 至 {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "已複製 {origin} 和其他 {nbfiles} 個檔案至 {destination}",
"{newName} already exists" : "{newName} 已經存在",
- "Could not rename \"{oldName}\", it does not exist any more" : "無法命名檔案「{oldName}」,因為此檔案已經不存在",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱「{newName}」在這資料夾「{dir}」已經被使用。請選擇其他名稱。",
- "Could not rename \"{oldName}\"" : "無法重新命名「{oldName}」",
"Could not create file \"{file}\"" : "無法建立檔案 \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "無法建立檔案「{file}」,因為此檔案已存在",
"Could not create folder \"{dir}\" because it already exists" : "無法建立資料夾 \"{dir}\",因為此資料夾已存在",
@@ -453,8 +456,6 @@
"New text file.txt" : "新文字檔.txt",
"%1$s (renamed)" : "%1$s(已重新命名)",
"renamed file" : "已重新命名的檔案",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "啟用 Windows 兼容檔案名後,現有的檔案無法再被修改,但其擁有者可以將其重新命名為有效的新名稱。",
- "{count} files could not be converted" : "{count} 個檔案無法轉換",
- "{count} files successfully converted" : "{count} 個檔案成功轉換"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "啟用 Windows 兼容檔案名後,現有的檔案無法再被修改,但其擁有者可以將其重新命名為有效的新名稱。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js
index 986370e3041..cfdfa03dc07 100644
--- a/apps/files/l10n/zh_TW.js
+++ b/apps/files/l10n/zh_TW.js
@@ -228,6 +228,7 @@ OC.L10N.register(
"Show those shortcuts" : "顯示這些快捷鍵",
"You" : "您",
"Shared multiple times with different people" : "與不同的人多次分享",
+ "Unable to change the favorite state of the file" : "無法變更檔案的喜愛狀態",
"Error while loading the file data" : "載入檔案資料時發生錯誤",
"Owner" : "擁有者",
"Remove from favorites" : "從喜愛中移除",
@@ -268,8 +269,11 @@ OC.L10N.register(
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["您將要刪除 {count} 個項目"],
"Confirm deletion" : "確認刪除",
"Cancel" : "取消",
+ "Download" : "下載",
"Moving \"{source}\" to \"{destination}\" …" : "正在移動「{source}」至「{destination}」……",
"Copying \"{source}\" to \"{destination}\" …" : "正在複製「{source}」至「{destination}」……",
+ "Destination is not a folder" : "目的地不是資料夾",
+ "This file/folder is already in that directory" : "此檔案/資料夾已在該目錄中",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "您無法將檔案/資料夾移動到其自身或子資料夾中",
"(copy)" : "(副本)",
"(copy %n)" : "(副本 %n)",
@@ -331,6 +335,9 @@ OC.L10N.register(
"Files moved successfully" : "檔案移動成功",
"Conflicts resolution skipped" : "已略過衝突解決",
"Upload cancelled" : "已取消上傳",
+ "Could not rename \"{oldName}\", it does not exist any more" : "無法命名檔案「{oldName}」,此檔案已不存在",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱「{newName}」在資料夾「{dir}」中已被使用。請改用其他名稱。",
+ "Could not rename \"{oldName}\"" : "無法重新命名「{oldName}」",
"This operation is forbidden" : "此操作被禁止",
"This directory is unavailable, please check the logs or contact the administrator" : "這個目錄無法取用,請檢查伺服器紀錄檔或聯絡管理員",
"Storage is temporarily not available" : "儲存空間暫時無法使用",
@@ -362,7 +369,6 @@ OC.L10N.register(
"Upload too large" : "上傳檔案過大",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "您試圖上傳的檔案大小超過伺服器的限制。",
"File could not be found" : "找不到檔案",
- "Download" : "下載",
"Show list view" : "顯示清單檢視",
"Show grid view" : "顯示格狀檢視",
"Close" : "關閉",
@@ -401,9 +407,6 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "已將 {origin} 複製到 {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "已將 {origin} 和其他 {nbfiles} 個檔案複製到 {destination}",
"{newName} already exists" : "{newName} 已經存在",
- "Could not rename \"{oldName}\", it does not exist any more" : "無法命名檔案「{oldName}」,此檔案已不存在",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱「{newName}」在資料夾「{dir}」中已被使用。請改用其他名稱。",
- "Could not rename \"{oldName}\"" : "無法重新命名「{oldName}」",
"Could not create file \"{file}\"" : "無法建立檔案「{file}」",
"Could not create file \"{file}\" because it already exists" : "無法建立檔案「{file}」,因為此檔案已經存在",
"Could not create folder \"{dir}\" because it already exists" : "無法建立資料夾「{dir}」,因為此資料夾已經存在",
@@ -455,8 +458,6 @@ OC.L10N.register(
"New text file.txt" : "新文字檔案.txt",
"%1$s (renamed)" : "%1$s(已重新命名)",
"renamed file" : "已重新命名檔案",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "啟用與 Windows 相容的檔案名稱後,無法再修改現有檔案,但可以由其擁有者重新命名為有效的新名稱。",
- "{count} files could not be converted" : "{count} 個檔案無法轉換",
- "{count} files successfully converted" : "{count} 個檔案成功轉換"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "啟用與 Windows 相容的檔案名稱後,無法再修改現有檔案,但可以由其擁有者重新命名為有效的新名稱。"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json
index 5daa9d4277f..4af203b309e 100644
--- a/apps/files/l10n/zh_TW.json
+++ b/apps/files/l10n/zh_TW.json
@@ -226,6 +226,7 @@
"Show those shortcuts" : "顯示這些快捷鍵",
"You" : "您",
"Shared multiple times with different people" : "與不同的人多次分享",
+ "Unable to change the favorite state of the file" : "無法變更檔案的喜愛狀態",
"Error while loading the file data" : "載入檔案資料時發生錯誤",
"Owner" : "擁有者",
"Remove from favorites" : "從喜愛中移除",
@@ -266,8 +267,11 @@
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["您將要刪除 {count} 個項目"],
"Confirm deletion" : "確認刪除",
"Cancel" : "取消",
+ "Download" : "下載",
"Moving \"{source}\" to \"{destination}\" …" : "正在移動「{source}」至「{destination}」……",
"Copying \"{source}\" to \"{destination}\" …" : "正在複製「{source}」至「{destination}」……",
+ "Destination is not a folder" : "目的地不是資料夾",
+ "This file/folder is already in that directory" : "此檔案/資料夾已在該目錄中",
"You cannot move a file/folder onto itself or into a subfolder of itself" : "您無法將檔案/資料夾移動到其自身或子資料夾中",
"(copy)" : "(副本)",
"(copy %n)" : "(副本 %n)",
@@ -329,6 +333,9 @@
"Files moved successfully" : "檔案移動成功",
"Conflicts resolution skipped" : "已略過衝突解決",
"Upload cancelled" : "已取消上傳",
+ "Could not rename \"{oldName}\", it does not exist any more" : "無法命名檔案「{oldName}」,此檔案已不存在",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱「{newName}」在資料夾「{dir}」中已被使用。請改用其他名稱。",
+ "Could not rename \"{oldName}\"" : "無法重新命名「{oldName}」",
"This operation is forbidden" : "此操作被禁止",
"This directory is unavailable, please check the logs or contact the administrator" : "這個目錄無法取用,請檢查伺服器紀錄檔或聯絡管理員",
"Storage is temporarily not available" : "儲存空間暫時無法使用",
@@ -360,7 +367,6 @@
"Upload too large" : "上傳檔案過大",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "您試圖上傳的檔案大小超過伺服器的限制。",
"File could not be found" : "找不到檔案",
- "Download" : "下載",
"Show list view" : "顯示清單檢視",
"Show grid view" : "顯示格狀檢視",
"Close" : "關閉",
@@ -399,9 +405,6 @@
"Copied {origin} inside {destination}" : "已將 {origin} 複製到 {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "已將 {origin} 和其他 {nbfiles} 個檔案複製到 {destination}",
"{newName} already exists" : "{newName} 已經存在",
- "Could not rename \"{oldName}\", it does not exist any more" : "無法命名檔案「{oldName}」,此檔案已不存在",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱「{newName}」在資料夾「{dir}」中已被使用。請改用其他名稱。",
- "Could not rename \"{oldName}\"" : "無法重新命名「{oldName}」",
"Could not create file \"{file}\"" : "無法建立檔案「{file}」",
"Could not create file \"{file}\" because it already exists" : "無法建立檔案「{file}」,因為此檔案已經存在",
"Could not create folder \"{dir}\" because it already exists" : "無法建立資料夾「{dir}」,因為此資料夾已經存在",
@@ -453,8 +456,6 @@
"New text file.txt" : "新文字檔案.txt",
"%1$s (renamed)" : "%1$s(已重新命名)",
"renamed file" : "已重新命名檔案",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "啟用與 Windows 相容的檔案名稱後,無法再修改現有檔案,但可以由其擁有者重新命名為有效的新名稱。",
- "{count} files could not be converted" : "{count} 個檔案無法轉換",
- "{count} files successfully converted" : "{count} 個檔案成功轉換"
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "啟用與 Windows 相容的檔案名稱後,無法再修改現有檔案,但可以由其擁有者重新命名為有效的新名稱。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_external/l10n/az.js b/apps/files_external/l10n/az.js
deleted file mode 100644
index 324455d9dc8..00000000000
--- a/apps/files_external/l10n/az.js
+++ /dev/null
@@ -1,65 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "Step 1 failed. Exception: %s" : "1-ci addım səhv oldu. İstisna: %s",
- "Step 2 failed. Exception: %s" : "2-ci addım. İstisna: %s",
- "External storage" : "Kənar informasıya daşıyıcısı",
- "Personal" : "Şəxsi",
- "System" : "Sistem",
- "Grant access" : "Yetkinin verilməsi",
- "Generate keys" : "Açarları generasiya et",
- "Error generating key pair" : "Açar cütlüyünün generasiyası səhvi",
- "All users. Type to select user or group." : "Sistem istifadəçiləri. Daxil edin ki, istifadəçi və ya qrupu seçəsiniz.",
- "(group)" : "(qrup)",
- "Saved" : "Saxlanıldı",
- "Username" : "İstifadəçi adı",
- "Password" : "Şifrə",
- "Save" : "Saxla",
- "Storage with id \"%i\" not found" : "\"%i\"-li depo tapılmadı",
- "Invalid mount point" : "Yalnış mount nöqtəsi",
- "Invalid storage backend \"%s\"" : "Yalnış depo arxasonu \"%s\"",
- "None" : "Heç bir",
- "App key" : "Proqram açarı",
- "App secret" : "Proqram sirri",
- "Client ID" : "Müştəri İD-s",
- "Client secret" : "Müxtəri sirri",
- "Public key" : "İctimai açar",
- "Amazon S3" : "Amazon S3",
- "Bucket" : "Vedrə",
- "Hostname" : "Sahibadı",
- "Port" : "Port",
- "Region" : "Ərazi",
- "Enable SSL" : "SSL-i işə sal",
- "Enable Path Style" : "Ünvan stilini işə sal",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Remote subfolder" : "Uzaq altqovluğu",
- "Secure https://" : "Təhlükəsiz https://",
- "Dropbox" : "Dropbox",
- "Host" : "Şəbəkədə ünvan",
- "Secure ftps://" : "Təhlükəsiz ftps://",
- "Local" : "Yerli",
- "Location" : "Yerləşdiyiniz ünvan",
- "Share" : "Yayımla",
- "SMB / CIFS using OC login" : "OC login istifadə edir SMB / CIFS",
- "Username as share" : "Paylaşım üçün istifadəçi adı",
- "OpenStack Object Storage" : "OpenStack Obyekt Deposu",
- "<b>Note:</b> " : "<b>Qeyd:</b> ",
- "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Qeyd:</b> PHP-də cURL dəstəyi aktiv deyil və ya yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.",
- "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Qeyd:</b> PHP-də FTP dəstəyi aktiv deyil və ya yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.",
- "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Qeyd:</b> \"%s\" yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.",
- "No external storage configured" : "Kənar depo konfiq edilməyib",
- "You can add external storages in the personal settings" : "Siz şəxsi quraşdırmalarınızda kənar depo əlavə edə bilərsiniz",
- "Name" : "Ad",
- "Storage type" : "Depo tipi",
- "Scope" : "Həcm",
- "External Storage" : "Kənar depo",
- "Folder name" : "Qovluq adı",
- "Configuration" : "Konfiqurasiya",
- "Available for" : "Üçün mövcuddur",
- "Add storage" : "Deponu əlavə et",
- "Advanced settings" : "İrəliləmiş quraşdırmalar",
- "Delete" : "Sil",
- "Allow users to mount the following external storage" : "Göstərilən kənar deponun bərkidilməsi üçün istifadəçilərə izin ver"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_external/l10n/az.json b/apps/files_external/l10n/az.json
deleted file mode 100644
index 962b0cdd244..00000000000
--- a/apps/files_external/l10n/az.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{ "translations": {
- "Step 1 failed. Exception: %s" : "1-ci addım səhv oldu. İstisna: %s",
- "Step 2 failed. Exception: %s" : "2-ci addım. İstisna: %s",
- "External storage" : "Kənar informasıya daşıyıcısı",
- "Personal" : "Şəxsi",
- "System" : "Sistem",
- "Grant access" : "Yetkinin verilməsi",
- "Generate keys" : "Açarları generasiya et",
- "Error generating key pair" : "Açar cütlüyünün generasiyası səhvi",
- "All users. Type to select user or group." : "Sistem istifadəçiləri. Daxil edin ki, istifadəçi və ya qrupu seçəsiniz.",
- "(group)" : "(qrup)",
- "Saved" : "Saxlanıldı",
- "Username" : "İstifadəçi adı",
- "Password" : "Şifrə",
- "Save" : "Saxla",
- "Storage with id \"%i\" not found" : "\"%i\"-li depo tapılmadı",
- "Invalid mount point" : "Yalnış mount nöqtəsi",
- "Invalid storage backend \"%s\"" : "Yalnış depo arxasonu \"%s\"",
- "None" : "Heç bir",
- "App key" : "Proqram açarı",
- "App secret" : "Proqram sirri",
- "Client ID" : "Müştəri İD-s",
- "Client secret" : "Müxtəri sirri",
- "Public key" : "İctimai açar",
- "Amazon S3" : "Amazon S3",
- "Bucket" : "Vedrə",
- "Hostname" : "Sahibadı",
- "Port" : "Port",
- "Region" : "Ərazi",
- "Enable SSL" : "SSL-i işə sal",
- "Enable Path Style" : "Ünvan stilini işə sal",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Remote subfolder" : "Uzaq altqovluğu",
- "Secure https://" : "Təhlükəsiz https://",
- "Dropbox" : "Dropbox",
- "Host" : "Şəbəkədə ünvan",
- "Secure ftps://" : "Təhlükəsiz ftps://",
- "Local" : "Yerli",
- "Location" : "Yerləşdiyiniz ünvan",
- "Share" : "Yayımla",
- "SMB / CIFS using OC login" : "OC login istifadə edir SMB / CIFS",
- "Username as share" : "Paylaşım üçün istifadəçi adı",
- "OpenStack Object Storage" : "OpenStack Obyekt Deposu",
- "<b>Note:</b> " : "<b>Qeyd:</b> ",
- "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Qeyd:</b> PHP-də cURL dəstəyi aktiv deyil və ya yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.",
- "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Qeyd:</b> PHP-də FTP dəstəyi aktiv deyil və ya yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.",
- "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Qeyd:</b> \"%s\" yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.",
- "No external storage configured" : "Kənar depo konfiq edilməyib",
- "You can add external storages in the personal settings" : "Siz şəxsi quraşdırmalarınızda kənar depo əlavə edə bilərsiniz",
- "Name" : "Ad",
- "Storage type" : "Depo tipi",
- "Scope" : "Həcm",
- "External Storage" : "Kənar depo",
- "Folder name" : "Qovluq adı",
- "Configuration" : "Konfiqurasiya",
- "Available for" : "Üçün mövcuddur",
- "Add storage" : "Deponu əlavə et",
- "Advanced settings" : "İrəliləmiş quraşdırmalar",
- "Delete" : "Sil",
- "Allow users to mount the following external storage" : "Göstərilən kənar deponun bərkidilməsi üçün istifadəçilərə izin ver"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/bn_BD.js b/apps/files_external/l10n/bn_BD.js
deleted file mode 100644
index 4d99e32ffdd..00000000000
--- a/apps/files_external/l10n/bn_BD.js
+++ /dev/null
@@ -1,39 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "Step 1 failed. Exception: %s" : "প্রথম ধাপ ব্যার্থ। ব্যতিক্রম: %s",
- "External storage" : "বাহ্যিক সংরক্ষণাগার",
- "Personal" : "ব্যক্তিগত",
- "Grant access" : "অধিগমনের অনুমতি প্রদান কর",
- "(group)" : "(গোষ্ঠি)",
- "Saved" : "সংরক্ষণ করা হলো",
- "Username" : "ব্যবহারকারী",
- "Password" : "কূটশব্দ",
- "Save" : "সংরক্ষণ",
- "None" : "কোনটিই নয়",
- "App key" : "অ্যাপ কি",
- "App secret" : "অ্যাপ সিক্রেট",
- "Client ID" : "ক্লায়েন্ট পরিচিতি",
- "Amazon S3" : "আমাজন S3",
- "Bucket" : "বালতি",
- "Hostname" : "হোস্টনেম",
- "Port" : "পোর্ট",
- "Region" : "এলাকা",
- "Enable SSL" : "SSL সক্রিয় কর",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Host" : "হোস্ট",
- "Secure ftps://" : "ftps:// অর্জন কর",
- "Local" : "স্থানীয়",
- "Location" : "অবস্থান",
- "ownCloud" : "ওউনক্লাউড",
- "Root" : "শেকড়",
- "Share" : "ভাগাভাগি কর",
- "<b>Note:</b> " : "<b>দ্রষ্টব্য:</b> ",
- "Name" : "রাম",
- "External Storage" : "বাহ্যিক সংরক্ষণাগার",
- "Folder name" : "ফোলডারের নাম",
- "Configuration" : "কনফিগারেসন",
- "Delete" : "মুছে"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_external/l10n/bn_BD.json b/apps/files_external/l10n/bn_BD.json
deleted file mode 100644
index d7035b0737f..00000000000
--- a/apps/files_external/l10n/bn_BD.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{ "translations": {
- "Step 1 failed. Exception: %s" : "প্রথম ধাপ ব্যার্থ। ব্যতিক্রম: %s",
- "External storage" : "বাহ্যিক সংরক্ষণাগার",
- "Personal" : "ব্যক্তিগত",
- "Grant access" : "অধিগমনের অনুমতি প্রদান কর",
- "(group)" : "(গোষ্ঠি)",
- "Saved" : "সংরক্ষণ করা হলো",
- "Username" : "ব্যবহারকারী",
- "Password" : "কূটশব্দ",
- "Save" : "সংরক্ষণ",
- "None" : "কোনটিই নয়",
- "App key" : "অ্যাপ কি",
- "App secret" : "অ্যাপ সিক্রেট",
- "Client ID" : "ক্লায়েন্ট পরিচিতি",
- "Amazon S3" : "আমাজন S3",
- "Bucket" : "বালতি",
- "Hostname" : "হোস্টনেম",
- "Port" : "পোর্ট",
- "Region" : "এলাকা",
- "Enable SSL" : "SSL সক্রিয় কর",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Host" : "হোস্ট",
- "Secure ftps://" : "ftps:// অর্জন কর",
- "Local" : "স্থানীয়",
- "Location" : "অবস্থান",
- "ownCloud" : "ওউনক্লাউড",
- "Root" : "শেকড়",
- "Share" : "ভাগাভাগি কর",
- "<b>Note:</b> " : "<b>দ্রষ্টব্য:</b> ",
- "Name" : "রাম",
- "External Storage" : "বাহ্যিক সংরক্ষণাগার",
- "Folder name" : "ফোলডারের নাম",
- "Configuration" : "কনফিগারেসন",
- "Delete" : "মুছে"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/bs.js b/apps/files_external/l10n/bs.js
deleted file mode 100644
index dd90e5eeb36..00000000000
--- a/apps/files_external/l10n/bs.js
+++ /dev/null
@@ -1,19 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "Personal" : "Osobno",
- "Saved" : "Spremljeno",
- "Username" : "Korisničko ime",
- "Password" : "Lozinka",
- "Save" : "Spremi",
- "None" : "Ništa",
- "Port" : "Priključak",
- "WebDAV" : "WebDAV",
- "Local" : "Lokalno",
- "Location" : "Lokacija",
- "ownCloud" : "OwnCloud",
- "Share" : "Podijeli",
- "Name" : "Ime",
- "Delete" : "Izbriši"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files_external/l10n/bs.json b/apps/files_external/l10n/bs.json
deleted file mode 100644
index 815a60f1996..00000000000
--- a/apps/files_external/l10n/bs.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{ "translations": {
- "Personal" : "Osobno",
- "Saved" : "Spremljeno",
- "Username" : "Korisničko ime",
- "Password" : "Lozinka",
- "Save" : "Spremi",
- "None" : "Ništa",
- "Port" : "Priključak",
- "WebDAV" : "WebDAV",
- "Local" : "Lokalno",
- "Location" : "Lokacija",
- "ownCloud" : "OwnCloud",
- "Share" : "Podijeli",
- "Name" : "Ime",
- "Delete" : "Izbriši"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/cy_GB.js b/apps/files_external/l10n/cy_GB.js
deleted file mode 100644
index 6faf7f87fae..00000000000
--- a/apps/files_external/l10n/cy_GB.js
+++ /dev/null
@@ -1,16 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "Personal" : "Personol",
- "Username" : "Enw defnyddiwr",
- "Password" : "Cyfrinair",
- "Save" : "Cadw",
- "None" : "Dim",
- "URL" : "URL",
- "Location" : "Lleoliad",
- "ownCloud" : "ownCloud",
- "Share" : "Rhannu",
- "Name" : "Enw",
- "Delete" : "Dileu"
-},
-"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;");
diff --git a/apps/files_external/l10n/cy_GB.json b/apps/files_external/l10n/cy_GB.json
deleted file mode 100644
index acc75b9afbb..00000000000
--- a/apps/files_external/l10n/cy_GB.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{ "translations": {
- "Personal" : "Personol",
- "Username" : "Enw defnyddiwr",
- "Password" : "Cyfrinair",
- "Save" : "Cadw",
- "None" : "Dim",
- "URL" : "URL",
- "Location" : "Lleoliad",
- "ownCloud" : "ownCloud",
- "Share" : "Rhannu",
- "Name" : "Enw",
- "Delete" : "Dileu"
-},"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/files_external/l10n/hu.js b/apps/files_external/l10n/hu.js
index f9c76ae632a..d5e59fa5d77 100644
--- a/apps/files_external/l10n/hu.js
+++ b/apps/files_external/l10n/hu.js
@@ -7,6 +7,8 @@ OC.L10N.register(
"Error configuring OAuth2" : "OAuth2 beállítási hiba",
"Generate keys" : "Kulcsok előállítása",
"Error generating key pair" : "Hiba történt a kulcspár előállítása során",
+ "You are not logged in" : "Nincs bejelentkezve.",
+ "Permission denied" : "Jogosultság megtagadva",
"Forbidden to manage local mounts" : "A helyi csatolt kötetek kezelése tiltott",
"Storage with ID \"%d\" not found" : "A(z) „%d” azonosítójú tároló nem található",
"Invalid backend or authentication mechanism class" : "Érvénytelen háttérszolgáltatási vagy hitelesítési mechanizmus osztály",
@@ -19,6 +21,7 @@ OC.L10N.register(
"Unsatisfied authentication mechanism parameters" : "Elégtelen paraméterek a hitelesítési mechanizmushoz",
"Insufficient data: %s" : "Elégtelen adatok: %s",
"%s" : "%s",
+ "Storage with ID \"%d\" is not editable by non-admins" : "A(z) „%d” azonosítójú tárolót csak rendszergazdák szerkeszthetik",
"Access key" : "Hozzáférési kulcs",
"Secret key" : "Titkos kulcs",
"Builtin" : "Beépített",
@@ -40,7 +43,10 @@ OC.L10N.register(
"API key" : "API kulcs",
"Global credentials" : "Globális hitelesítő adatok",
"Log-in credentials, save in database" : "Bejelentkezési hitelesítő adatok, mentés adatbázisban",
+ "Login and password" : "Bejelentkezés és jelszó",
"Log-in credentials, save in session" : "Bejelentkezési hitelesítő adatok, mentés a munkamenetben",
+ "Global credentials, manually entered" : "Globális hitelesítő adatok, kézileg megadva",
+ "Manually entered, store in database" : "Kézileg megadva, tárolás adatbázisban",
"RSA public key" : "RSA nyilvános kulcs",
"Public key" : "Nyilvános kulcs",
"RSA private key" : "RSA titkos kulcs",
@@ -57,6 +63,8 @@ OC.L10N.register(
"Enable SSL" : "SSL engedélyezése",
"Enable Path Style" : "Útvonal stílus engedélyezés",
"Legacy (v2) authentication" : "Örökölt (v2) hitelesítés",
+ "Enable multipart copy" : "Többrészes másolás engedélyezése",
+ "SSE-C encryption key" : "SSE-C titkosítási kulcsa",
"WebDAV" : "WebDAV",
"URL" : "URL",
"Remote subfolder" : "Távoli almappa",
@@ -76,8 +84,10 @@ OC.L10N.register(
"Case sensitive file system" : "Kis- és nagybetűket megkülönböztető fájlrendszer",
"Disabling it will allow to use a case insensitive file system, but comes with a performance penalty" : "A letiltása lehetővé teszi a kis- és nagybetűket nem megkülönböztető fájlrendszerek használatát, de ez teljesítményvesztést okoz",
"Verify ACL access when listing files" : "ACL hozzáférés ellenőrzése a fájlok listázásakor",
+ "Check the ACL's of each file or folder inside a directory to filter out items where the account has no read permissions, comes with a performance penalty" : "Egy könyvtárban szereplő összes fájl vagy mappa ACL-jének ellenőrzése azon elemek kiszűréséhez, melyeken a fióknak nincs olvasási engedélye; teljesítménycsökkenéssel jár",
"Timeout" : "Időtúllépés",
"SMB/CIFS using OC login" : "SMB / CIFS OC bejelentkezéssel",
+ "Login as share" : "Bejelentkezés megosztásként",
"OpenStack Object Storage" : "OpenStack objektumtároló",
"Service name" : "Szolgáltatás neve",
"Request timeout (seconds)" : "Kérés időtúllépése (másodpercben)",
@@ -87,10 +97,18 @@ OC.L10N.register(
"External storage" : "Külső tároló",
"External storage support" : "Külső tároló támogatás",
"Adds basic external storage support" : "Külső tároló támogatás hozzáadása",
+ "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administration can choose which types of storage to enable and can mount these storage locations for an account, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows people to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the administration with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Ez az alkalmazás lehetővé teszi a rendszergazdák számára, hogy beállítsák a kapcsolatokat a külső tárhely-szolgáltatókkal, például FTP-kiszolgálókkal, S3 vagy SWIFT objektumtárolókkal, más Nextcloud-kiszolgálókkal, WebDAV-kiszolgálókkal és egyebekkel. A rendszergazdák kiválaszthatják, hogy milyen típusú tárolókat engedélyeznek, és csatolhatják ezeket a tárhelyeket egy fiók, egy csoport vagy az egész rendszer számára. A felhasználók látni fogják, hogy egy új mappa jelenik meg a Nextcloud gyökérkönyvtárában, amelyet minden más Nextcloud mappához hasonlóan elérhetnek és használhatnak. A külső tárhely lehetővé teszi az emberek számára a külső helyeken tárolt fájlok megosztását is. Ezekben az esetekben a fájl tulajdonosának hitelesítő adatait akkor használják, amikor a címzett a fájlt külső tárhelyről kéri, ezáltal biztosítva, hogy a címzett hozzáférjen a megosztott fájlhoz.\n\nA külső tároló grafikus felületen vagy a parancssorban konfigurálható. Ez a második lehetőség a rendszergazdák számára nagyobb rugalmasságot biztosít a tömeges külső tárolók konfigurálásához, és a csatolási prioritások beállításához. További információ a külső tároló GUI dokumentációjában, és a külső tároló konfigurációs fájljának dokumentációjában található.",
"Confirm" : "Megerősítés",
+ "Storage credentials" : "Tároló hitelesítő adatai",
+ "To access the storage, you need to provide the authentication credentials." : "A tároló eléréséhez meg kell adnia a hitelesítő adatokat.",
+ "Enter the storage login" : "Adja meg a tároló bejelentkezését",
+ "Enter the storage password" : "Adja meg a tároló jelszavát",
"Unable to update this external storage config. {statusMessage}" : "A külső tároló beállításainak frissítése nem sikerült. {statusMessage}",
"New configuration successfully saved" : "Az új konfiguráció sikeresen elmentve",
"Enter missing credentials" : "Adja meg a hiányzó hitelesítési adatokat",
+ "Credentials successfully set" : "Hitelesítő adatok sikeresen beállítva",
+ "Error while setting credentials: {error}" : "Hiba a hitelesítő adatok beállításakor: {error}",
+ "Checking storage …" : "Tároló ellenőrzése…",
"There was an error with this external storage." : "Hiba történt ezzel a külső tárolóval.",
"We were unable to check the external storage {basename}" : "Nem sikerült a(z) {basename} külső tároló ellenőrzése",
"Examine this faulty external storage configuration" : "Vizsgálja meg a külső tároló hibás konfigurációját",
@@ -106,6 +124,7 @@ OC.L10N.register(
"Scope" : "Hatókör",
"Personal" : "Személyes",
"System" : "Rendszer",
+ "Type to select account or group." : "Gépeljen a fiók vagy a csoport kiválasztásához.",
"(Group)" : "(Csoport)",
"Compatibility with Mac NFD encoding (slow)" : "Kompatibilitás a Mac NFD kódolással (lassú)",
"Enable encryption" : "Titkosítás engedélyezése",
@@ -116,6 +135,7 @@ OC.L10N.register(
"Once every direct access" : "Minden közvetlen elérésnél",
"Read only" : "Csak olvasható",
"Disconnect" : "Kapcsolat bontása",
+ "Unknown backend: {backendName}" : "Ismeretlen háttérszolgáltatás: {backendName}",
"Admin defined" : "Rendszergazda által definiálva",
"Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Az automatikus állapotellenőrzés a beállított tárolók nagy száma miatt ki van kapcsolva, kattintson az állapot ellenőrzéséhez",
"Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Biztos, hogy bontja a kapcsolatot ezzel a külső tárolóval? A tároló nem lesz elérhető a Nextcloudban, és a szinkronizálási kliensek is törölni fogják azokat a fájlokat, amelyek jelenleg kapcsolatban vannak, viszont magáról a külső tárolóról nem fogja törölni a fájlokat és mappákat.",
@@ -124,14 +144,19 @@ OC.L10N.register(
"Saved" : "Mentve",
"Saving …" : "Mentés…",
"Save" : "Mentés",
+ "Failed to save global credentials" : "A globális hitelesítő adatok mentése sikertelen",
+ "Failed to save global credentials: {message}" : "A globális hitelesítő adatok mentése sikertelen: {message}",
"No external storage configured or you don't have the permission to configure them" : "Nincsenek külső tárolók beállítva, vagy nincs hozzáférése a beállításaikhoz",
"Open documentation" : "Dokumentáció megnyitása",
+ "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow people to mount their own external storage services." : "A külső tárhely lehetővé teszi külső tárolási szolgáltatások és eszközök másodlagos Nextcloud-tárolóeszközként történő csatlakoztatását. Lehetővé teheti az emberek számára, hogy saját külső tárolószolgáltatásukat is csatlakoztassák.",
"Folder name" : "Mappa neve",
"Authentication" : "Hitelesítés",
"Configuration" : "Beállítások",
"Available for" : "Számukra érhető el:",
"Add storage" : "Tároló hozzáadása",
+ "All people" : "Mindenki",
"Advanced settings" : "Speciális beállítások",
+ "Allow people to mount external storage" : "Külső tárolók csatolásának engedélyezése az emberek számára",
"Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "A globális hitelesítő adatokkal azonos külső hitelesítő adatokkal rendelkező külső tárhelyek hitelesíthetők."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_external/l10n/hu.json b/apps/files_external/l10n/hu.json
index a33f82f6a8c..f87d4b601f9 100644
--- a/apps/files_external/l10n/hu.json
+++ b/apps/files_external/l10n/hu.json
@@ -5,6 +5,8 @@
"Error configuring OAuth2" : "OAuth2 beállítási hiba",
"Generate keys" : "Kulcsok előállítása",
"Error generating key pair" : "Hiba történt a kulcspár előállítása során",
+ "You are not logged in" : "Nincs bejelentkezve.",
+ "Permission denied" : "Jogosultság megtagadva",
"Forbidden to manage local mounts" : "A helyi csatolt kötetek kezelése tiltott",
"Storage with ID \"%d\" not found" : "A(z) „%d” azonosítójú tároló nem található",
"Invalid backend or authentication mechanism class" : "Érvénytelen háttérszolgáltatási vagy hitelesítési mechanizmus osztály",
@@ -17,6 +19,7 @@
"Unsatisfied authentication mechanism parameters" : "Elégtelen paraméterek a hitelesítési mechanizmushoz",
"Insufficient data: %s" : "Elégtelen adatok: %s",
"%s" : "%s",
+ "Storage with ID \"%d\" is not editable by non-admins" : "A(z) „%d” azonosítójú tárolót csak rendszergazdák szerkeszthetik",
"Access key" : "Hozzáférési kulcs",
"Secret key" : "Titkos kulcs",
"Builtin" : "Beépített",
@@ -38,7 +41,10 @@
"API key" : "API kulcs",
"Global credentials" : "Globális hitelesítő adatok",
"Log-in credentials, save in database" : "Bejelentkezési hitelesítő adatok, mentés adatbázisban",
+ "Login and password" : "Bejelentkezés és jelszó",
"Log-in credentials, save in session" : "Bejelentkezési hitelesítő adatok, mentés a munkamenetben",
+ "Global credentials, manually entered" : "Globális hitelesítő adatok, kézileg megadva",
+ "Manually entered, store in database" : "Kézileg megadva, tárolás adatbázisban",
"RSA public key" : "RSA nyilvános kulcs",
"Public key" : "Nyilvános kulcs",
"RSA private key" : "RSA titkos kulcs",
@@ -55,6 +61,8 @@
"Enable SSL" : "SSL engedélyezése",
"Enable Path Style" : "Útvonal stílus engedélyezés",
"Legacy (v2) authentication" : "Örökölt (v2) hitelesítés",
+ "Enable multipart copy" : "Többrészes másolás engedélyezése",
+ "SSE-C encryption key" : "SSE-C titkosítási kulcsa",
"WebDAV" : "WebDAV",
"URL" : "URL",
"Remote subfolder" : "Távoli almappa",
@@ -74,8 +82,10 @@
"Case sensitive file system" : "Kis- és nagybetűket megkülönböztető fájlrendszer",
"Disabling it will allow to use a case insensitive file system, but comes with a performance penalty" : "A letiltása lehetővé teszi a kis- és nagybetűket nem megkülönböztető fájlrendszerek használatát, de ez teljesítményvesztést okoz",
"Verify ACL access when listing files" : "ACL hozzáférés ellenőrzése a fájlok listázásakor",
+ "Check the ACL's of each file or folder inside a directory to filter out items where the account has no read permissions, comes with a performance penalty" : "Egy könyvtárban szereplő összes fájl vagy mappa ACL-jének ellenőrzése azon elemek kiszűréséhez, melyeken a fióknak nincs olvasási engedélye; teljesítménycsökkenéssel jár",
"Timeout" : "Időtúllépés",
"SMB/CIFS using OC login" : "SMB / CIFS OC bejelentkezéssel",
+ "Login as share" : "Bejelentkezés megosztásként",
"OpenStack Object Storage" : "OpenStack objektumtároló",
"Service name" : "Szolgáltatás neve",
"Request timeout (seconds)" : "Kérés időtúllépése (másodpercben)",
@@ -85,10 +95,18 @@
"External storage" : "Külső tároló",
"External storage support" : "Külső tároló támogatás",
"Adds basic external storage support" : "Külső tároló támogatás hozzáadása",
+ "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administration can choose which types of storage to enable and can mount these storage locations for an account, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows people to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the administration with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Ez az alkalmazás lehetővé teszi a rendszergazdák számára, hogy beállítsák a kapcsolatokat a külső tárhely-szolgáltatókkal, például FTP-kiszolgálókkal, S3 vagy SWIFT objektumtárolókkal, más Nextcloud-kiszolgálókkal, WebDAV-kiszolgálókkal és egyebekkel. A rendszergazdák kiválaszthatják, hogy milyen típusú tárolókat engedélyeznek, és csatolhatják ezeket a tárhelyeket egy fiók, egy csoport vagy az egész rendszer számára. A felhasználók látni fogják, hogy egy új mappa jelenik meg a Nextcloud gyökérkönyvtárában, amelyet minden más Nextcloud mappához hasonlóan elérhetnek és használhatnak. A külső tárhely lehetővé teszi az emberek számára a külső helyeken tárolt fájlok megosztását is. Ezekben az esetekben a fájl tulajdonosának hitelesítő adatait akkor használják, amikor a címzett a fájlt külső tárhelyről kéri, ezáltal biztosítva, hogy a címzett hozzáférjen a megosztott fájlhoz.\n\nA külső tároló grafikus felületen vagy a parancssorban konfigurálható. Ez a második lehetőség a rendszergazdák számára nagyobb rugalmasságot biztosít a tömeges külső tárolók konfigurálásához, és a csatolási prioritások beállításához. További információ a külső tároló GUI dokumentációjában, és a külső tároló konfigurációs fájljának dokumentációjában található.",
"Confirm" : "Megerősítés",
+ "Storage credentials" : "Tároló hitelesítő adatai",
+ "To access the storage, you need to provide the authentication credentials." : "A tároló eléréséhez meg kell adnia a hitelesítő adatokat.",
+ "Enter the storage login" : "Adja meg a tároló bejelentkezését",
+ "Enter the storage password" : "Adja meg a tároló jelszavát",
"Unable to update this external storage config. {statusMessage}" : "A külső tároló beállításainak frissítése nem sikerült. {statusMessage}",
"New configuration successfully saved" : "Az új konfiguráció sikeresen elmentve",
"Enter missing credentials" : "Adja meg a hiányzó hitelesítési adatokat",
+ "Credentials successfully set" : "Hitelesítő adatok sikeresen beállítva",
+ "Error while setting credentials: {error}" : "Hiba a hitelesítő adatok beállításakor: {error}",
+ "Checking storage …" : "Tároló ellenőrzése…",
"There was an error with this external storage." : "Hiba történt ezzel a külső tárolóval.",
"We were unable to check the external storage {basename}" : "Nem sikerült a(z) {basename} külső tároló ellenőrzése",
"Examine this faulty external storage configuration" : "Vizsgálja meg a külső tároló hibás konfigurációját",
@@ -104,6 +122,7 @@
"Scope" : "Hatókör",
"Personal" : "Személyes",
"System" : "Rendszer",
+ "Type to select account or group." : "Gépeljen a fiók vagy a csoport kiválasztásához.",
"(Group)" : "(Csoport)",
"Compatibility with Mac NFD encoding (slow)" : "Kompatibilitás a Mac NFD kódolással (lassú)",
"Enable encryption" : "Titkosítás engedélyezése",
@@ -114,6 +133,7 @@
"Once every direct access" : "Minden közvetlen elérésnél",
"Read only" : "Csak olvasható",
"Disconnect" : "Kapcsolat bontása",
+ "Unknown backend: {backendName}" : "Ismeretlen háttérszolgáltatás: {backendName}",
"Admin defined" : "Rendszergazda által definiálva",
"Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Az automatikus állapotellenőrzés a beállított tárolók nagy száma miatt ki van kapcsolva, kattintson az állapot ellenőrzéséhez",
"Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Biztos, hogy bontja a kapcsolatot ezzel a külső tárolóval? A tároló nem lesz elérhető a Nextcloudban, és a szinkronizálási kliensek is törölni fogják azokat a fájlokat, amelyek jelenleg kapcsolatban vannak, viszont magáról a külső tárolóról nem fogja törölni a fájlokat és mappákat.",
@@ -122,14 +142,19 @@
"Saved" : "Mentve",
"Saving …" : "Mentés…",
"Save" : "Mentés",
+ "Failed to save global credentials" : "A globális hitelesítő adatok mentése sikertelen",
+ "Failed to save global credentials: {message}" : "A globális hitelesítő adatok mentése sikertelen: {message}",
"No external storage configured or you don't have the permission to configure them" : "Nincsenek külső tárolók beállítva, vagy nincs hozzáférése a beállításaikhoz",
"Open documentation" : "Dokumentáció megnyitása",
+ "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow people to mount their own external storage services." : "A külső tárhely lehetővé teszi külső tárolási szolgáltatások és eszközök másodlagos Nextcloud-tárolóeszközként történő csatlakoztatását. Lehetővé teheti az emberek számára, hogy saját külső tárolószolgáltatásukat is csatlakoztassák.",
"Folder name" : "Mappa neve",
"Authentication" : "Hitelesítés",
"Configuration" : "Beállítások",
"Available for" : "Számukra érhető el:",
"Add storage" : "Tároló hozzáadása",
+ "All people" : "Mindenki",
"Advanced settings" : "Speciális beállítások",
+ "Allow people to mount external storage" : "Külső tárolók csatolásának engedélyezése az emberek számára",
"Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "A globális hitelesítő adatokkal azonos külső hitelesítő adatokkal rendelkező külső tárhelyek hitelesíthetők."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_external/l10n/hy.js b/apps/files_external/l10n/hy.js
deleted file mode 100644
index b55c9393b39..00000000000
--- a/apps/files_external/l10n/hy.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "Personal" : "Անձնական",
- "Saved" : "Պահված",
- "Username" : "Օգտանուն",
- "Password" : "Գաղտնաբառ",
- "Save" : "Պահպանել",
- "URL" : "URL",
- "Dropbox" : "Dropbox",
- "Share" : "Կիսվել",
- "Name" : "Անուն",
- "Never" : "Երբեք",
- "Folder name" : "Պանակի անուն",
- "Delete" : "Ջնջել"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_external/l10n/hy.json b/apps/files_external/l10n/hy.json
deleted file mode 100644
index 7a5d37b985c..00000000000
--- a/apps/files_external/l10n/hy.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "Personal" : "Անձնական",
- "Saved" : "Պահված",
- "Username" : "Օգտանուն",
- "Password" : "Գաղտնաբառ",
- "Save" : "Պահպանել",
- "URL" : "URL",
- "Dropbox" : "Dropbox",
- "Share" : "Կիսվել",
- "Name" : "Անուն",
- "Never" : "Երբեք",
- "Folder name" : "Պանակի անուն",
- "Delete" : "Ջնջել"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/ia.js b/apps/files_external/l10n/ia.js
deleted file mode 100644
index 02b888e1b02..00000000000
--- a/apps/files_external/l10n/ia.js
+++ /dev/null
@@ -1,77 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "External storage" : "Immagazinage externe",
- "Personal" : "Personal",
- "System" : "Systema",
- "Grant access" : "Conceder accesso",
- "Error configuring OAuth1" : "Error durante configuration de OAuth1",
- "Please provide a valid app key and secret." : "Per favor, provide un clave e un secreto ambe valide.",
- "Error configuring OAuth2" : "Error durante configuration de OAuth2",
- "Generate keys" : "Generar claves",
- "Error generating key pair" : "Error durante creation de par de claves",
- "Enable encryption" : "Activar cryptographia",
- "Enable previews" : "Activar previsualisationes",
- "Enable sharing" : "Activar compartimento",
- "Check for changes" : "Verificar nove modificationes",
- "Never" : "Nunquam",
- "Once every direct access" : "A cata accesso directe",
- "Disconnect" : "Disconnecter",
- "Saved" : "Salveguardate",
- "Save" : "Salveguardar",
- "External mount error" : "Error del montage externe",
- "external-storage" : "immagazinage-externe",
- "Username" : "Nomine de usator",
- "Password" : "Contrasigno",
- "Credentials saved" : "Datos de authentication salveguardate",
- "Credentials saving failed" : "Salveguarda de datos de authentication falleva",
- "Credentials required" : "Datos de authentication requirite",
- "Invalid mount point" : "Puncto de montage non valide",
- "Insufficient data: %s" : "Datos insufficiente: %s",
- "%s" : "%s",
- "Access key" : "Clave de accesso",
- "Secret key" : "Clave secrete",
- "None" : "Nulle",
- "OAuth1" : "OAuth1",
- "App key" : "Clave del Application",
- "App secret" : "Secreto del Application",
- "OAuth2" : "OAuth2",
- "Domain" : "Dominio",
- "API key" : "Clave API",
- "Global credentials" : "Datos de authentication global",
- "Username and password" : "Nomine de usator e contrasigno",
- "RSA public key" : "Clave public RSA",
- "Public key" : "Clave public",
- "Amazon S3" : "Amazon S3",
- "Hostname" : "Nomine de Hospite",
- "Port" : "Porto",
- "Region" : "Region",
- "Enable SSL" : "Activar SSL",
- "Enable Path Style" : "Activar Stilo de Sentiero",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Remote subfolder" : "Sub-dossier remote",
- "Secure https://" : "Secur https://",
- "FTP" : "FTP",
- "Host" : "Hospite",
- "Secure ftps://" : "Secure ftps://",
- "Local" : "Local",
- "Location" : "Loco",
- "Nextcloud" : "Nextcloud",
- "SFTP" : "SFTP",
- "Root" : "Root",
- "Share" : "Compartir",
- "Show hidden files" : "Monstrar files occultate",
- "Service name" : "Nomine del servicio",
- "Name" : "Nomine",
- "Storage type" : "Typo de immagazinage",
- "Open documentation" : "Aperir documentation",
- "Folder name" : "Nomine de dossier",
- "Authentication" : "Authentication",
- "Configuration" : "Configuration",
- "Available for" : "Disponibile a",
- "Add storage" : "Adder immagazinage",
- "Advanced settings" : "Configurationes avantiate",
- "Allow users to mount external storage" : "Permitter usatores montar immagazinage externe"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_external/l10n/ia.json b/apps/files_external/l10n/ia.json
deleted file mode 100644
index 774e47dcb6c..00000000000
--- a/apps/files_external/l10n/ia.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{ "translations": {
- "External storage" : "Immagazinage externe",
- "Personal" : "Personal",
- "System" : "Systema",
- "Grant access" : "Conceder accesso",
- "Error configuring OAuth1" : "Error durante configuration de OAuth1",
- "Please provide a valid app key and secret." : "Per favor, provide un clave e un secreto ambe valide.",
- "Error configuring OAuth2" : "Error durante configuration de OAuth2",
- "Generate keys" : "Generar claves",
- "Error generating key pair" : "Error durante creation de par de claves",
- "Enable encryption" : "Activar cryptographia",
- "Enable previews" : "Activar previsualisationes",
- "Enable sharing" : "Activar compartimento",
- "Check for changes" : "Verificar nove modificationes",
- "Never" : "Nunquam",
- "Once every direct access" : "A cata accesso directe",
- "Disconnect" : "Disconnecter",
- "Saved" : "Salveguardate",
- "Save" : "Salveguardar",
- "External mount error" : "Error del montage externe",
- "external-storage" : "immagazinage-externe",
- "Username" : "Nomine de usator",
- "Password" : "Contrasigno",
- "Credentials saved" : "Datos de authentication salveguardate",
- "Credentials saving failed" : "Salveguarda de datos de authentication falleva",
- "Credentials required" : "Datos de authentication requirite",
- "Invalid mount point" : "Puncto de montage non valide",
- "Insufficient data: %s" : "Datos insufficiente: %s",
- "%s" : "%s",
- "Access key" : "Clave de accesso",
- "Secret key" : "Clave secrete",
- "None" : "Nulle",
- "OAuth1" : "OAuth1",
- "App key" : "Clave del Application",
- "App secret" : "Secreto del Application",
- "OAuth2" : "OAuth2",
- "Domain" : "Dominio",
- "API key" : "Clave API",
- "Global credentials" : "Datos de authentication global",
- "Username and password" : "Nomine de usator e contrasigno",
- "RSA public key" : "Clave public RSA",
- "Public key" : "Clave public",
- "Amazon S3" : "Amazon S3",
- "Hostname" : "Nomine de Hospite",
- "Port" : "Porto",
- "Region" : "Region",
- "Enable SSL" : "Activar SSL",
- "Enable Path Style" : "Activar Stilo de Sentiero",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Remote subfolder" : "Sub-dossier remote",
- "Secure https://" : "Secur https://",
- "FTP" : "FTP",
- "Host" : "Hospite",
- "Secure ftps://" : "Secure ftps://",
- "Local" : "Local",
- "Location" : "Loco",
- "Nextcloud" : "Nextcloud",
- "SFTP" : "SFTP",
- "Root" : "Root",
- "Share" : "Compartir",
- "Show hidden files" : "Monstrar files occultate",
- "Service name" : "Nomine del servicio",
- "Name" : "Nomine",
- "Storage type" : "Typo de immagazinage",
- "Open documentation" : "Aperir documentation",
- "Folder name" : "Nomine de dossier",
- "Authentication" : "Authentication",
- "Configuration" : "Configuration",
- "Available for" : "Disponibile a",
- "Add storage" : "Adder immagazinage",
- "Advanced settings" : "Configurationes avantiate",
- "Allow users to mount external storage" : "Permitter usatores montar immagazinage externe"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/km.js b/apps/files_external/l10n/km.js
deleted file mode 100644
index 3f42823824b..00000000000
--- a/apps/files_external/l10n/km.js
+++ /dev/null
@@ -1,25 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "External storage" : "ឃ្លាំងផ្ទុក​ខាងក្រៅ",
- "Personal" : "ផ្ទាល់​ខ្លួន",
- "Grant access" : "ទទួល​សិទ្ធិ​ចូល",
- "Saved" : "បាន​រក្សាទុក",
- "Username" : "ឈ្មោះ​អ្នកប្រើ",
- "Password" : "ពាក្យសម្ងាត់",
- "Save" : "រក្សាទុក",
- "None" : "គ្មាន",
- "Port" : "ច្រក",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Host" : "ម៉ាស៊ីន​ផ្ទុក",
- "Location" : "ទីតាំង",
- "Share" : "ចែក​រំលែក",
- "Name" : "ឈ្មោះ",
- "External Storage" : "ឃ្លាំងផ្ទុក​ខាងក្រៅ",
- "Folder name" : "ឈ្មោះ​ថត",
- "Configuration" : "ការ​កំណត់​សណ្ឋាន",
- "Add storage" : "បន្ថែម​ឃ្លាំងផ្ទុក",
- "Delete" : "លុប"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_external/l10n/km.json b/apps/files_external/l10n/km.json
deleted file mode 100644
index 06ab103b606..00000000000
--- a/apps/files_external/l10n/km.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{ "translations": {
- "External storage" : "ឃ្លាំងផ្ទុក​ខាងក្រៅ",
- "Personal" : "ផ្ទាល់​ខ្លួន",
- "Grant access" : "ទទួល​សិទ្ធិ​ចូល",
- "Saved" : "បាន​រក្សាទុក",
- "Username" : "ឈ្មោះ​អ្នកប្រើ",
- "Password" : "ពាក្យសម្ងាត់",
- "Save" : "រក្សាទុក",
- "None" : "គ្មាន",
- "Port" : "ច្រក",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Host" : "ម៉ាស៊ីន​ផ្ទុក",
- "Location" : "ទីតាំង",
- "Share" : "ចែក​រំលែក",
- "Name" : "ឈ្មោះ",
- "External Storage" : "ឃ្លាំងផ្ទុក​ខាងក្រៅ",
- "Folder name" : "ឈ្មោះ​ថត",
- "Configuration" : "ការ​កំណត់​សណ្ឋាន",
- "Add storage" : "បន្ថែម​ឃ្លាំងផ្ទុក",
- "Delete" : "លុប"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/kn.js b/apps/files_external/l10n/kn.js
deleted file mode 100644
index 81c8e442f28..00000000000
--- a/apps/files_external/l10n/kn.js
+++ /dev/null
@@ -1,19 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "Personal" : "ವೈಯಕ್ತಿಕ",
- "Saved" : "ಉಳಿಸಿದ",
- "Username" : "ಬಳಕೆಯ ಹೆಸರು",
- "Password" : "ಗುಪ್ತ ಪದ",
- "Save" : "ಉಳಿಸಿ",
- "None" : "ಯಾವುದೂ ಇಲ್ಲ",
- "Port" : "ರೇವು",
- "WebDAV" : "WebDAV",
- "URL" : "ಜಾಲದ ಕೊಂಡಿ",
- "Host" : "ಅತಿಥೆಯ-ಗಣಕ",
- "Local" : "ಸ್ಥಳೀಯ",
- "Share" : "ಹಂಚಿಕೊಳ್ಳಿ",
- "Name" : "ಹೆಸರು",
- "Delete" : "ಅಳಿಸಿ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_external/l10n/kn.json b/apps/files_external/l10n/kn.json
deleted file mode 100644
index cd14c56a32f..00000000000
--- a/apps/files_external/l10n/kn.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{ "translations": {
- "Personal" : "ವೈಯಕ್ತಿಕ",
- "Saved" : "ಉಳಿಸಿದ",
- "Username" : "ಬಳಕೆಯ ಹೆಸರು",
- "Password" : "ಗುಪ್ತ ಪದ",
- "Save" : "ಉಳಿಸಿ",
- "None" : "ಯಾವುದೂ ಇಲ್ಲ",
- "Port" : "ರೇವು",
- "WebDAV" : "WebDAV",
- "URL" : "ಜಾಲದ ಕೊಂಡಿ",
- "Host" : "ಅತಿಥೆಯ-ಗಣಕ",
- "Local" : "ಸ್ಥಳೀಯ",
- "Share" : "ಹಂಚಿಕೊಳ್ಳಿ",
- "Name" : "ಹೆಸರು",
- "Delete" : "ಅಳಿಸಿ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/lb.js b/apps/files_external/l10n/lb.js
deleted file mode 100644
index 29014e55190..00000000000
--- a/apps/files_external/l10n/lb.js
+++ /dev/null
@@ -1,24 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "Personal" : "Perséinlech",
- "Saved" : "Gespäichert",
- "Username" : "Benotzernumm",
- "Password" : "Passwuert",
- "Save" : "Späicheren",
- "None" : "Keng",
- "Port" : "Port",
- "Region" : "Regioun",
- "URL" : "URL",
- "Host" : "Host",
- "Location" : "Uert",
- "ownCloud" : "ownCloud",
- "Share" : "Deelen",
- "Name" : "Numm",
- "Enable encryption" : "Verschlësselung aschalten",
- "External Storage" : "Externt Lager",
- "Folder name" : "Dossiers Numm:",
- "Advanced settings" : "Erweidert Astellungen",
- "Delete" : "Läschen"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_external/l10n/lb.json b/apps/files_external/l10n/lb.json
deleted file mode 100644
index ef3f3d2f333..00000000000
--- a/apps/files_external/l10n/lb.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{ "translations": {
- "Personal" : "Perséinlech",
- "Saved" : "Gespäichert",
- "Username" : "Benotzernumm",
- "Password" : "Passwuert",
- "Save" : "Späicheren",
- "None" : "Keng",
- "Port" : "Port",
- "Region" : "Regioun",
- "URL" : "URL",
- "Host" : "Host",
- "Location" : "Uert",
- "ownCloud" : "ownCloud",
- "Share" : "Deelen",
- "Name" : "Numm",
- "Enable encryption" : "Verschlësselung aschalten",
- "External Storage" : "Externt Lager",
- "Folder name" : "Dossiers Numm:",
- "Advanced settings" : "Erweidert Astellungen",
- "Delete" : "Läschen"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/lv.js b/apps/files_external/l10n/lv.js
deleted file mode 100644
index 2fc3b21fd72..00000000000
--- a/apps/files_external/l10n/lv.js
+++ /dev/null
@@ -1,82 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "(Group)" : "(Grupa)",
- "Compatibility with Mac NFD encoding (slow)" : "Saderība ar Mac NFD kodēšanu (lēni)",
- "Enable encryption" : "Ieslēgt šifrēšanu",
- "Enable previews" : "Iespējot priekšskatījumu",
- "Enable sharing" : "Koplietošanas iespējošana",
- "Check for changes" : "Pārbaudīt, vai nav izmaiņu",
- "Never" : "Nekad",
- "Read only" : "Tikai lasāms",
- "Disconnect" : "Atvienot",
- "Admin defined" : "Administrators definētās",
- "Saved" : "Saglabāts",
- "Saving …" : "Saglabā ...",
- "Save" : "Saglabāt",
- "Invalid mount point" : "Nederīgs montēšanas punkts",
- "%s" : "%s",
- "Access key" : "Pieejas atslēga",
- "Secret key" : "Slepenā atslēga",
- "None" : "Nav",
- "OAuth1" : "OAuth1",
- "App key" : "Lietotnes atslēga",
- "OAuth2" : "OAuth2",
- "Client ID" : "Klienta ID",
- "Username" : "Lietotājvārds",
- "Password" : "Parole",
- "Domain" : "Domain",
- "API key" : "API atslēga",
- "Username and password" : "Lietotājvārds un parole",
- "RSA public key" : "RSA publiskā atslēga",
- "Public key" : "Publiska atslēga",
- "Amazon S3" : "Amazon S3",
- "Hostname" : "Resursa nosaukums",
- "Port" : "Ports",
- "Region" : "Reģions",
- "Enable SSL" : "Iespējot SSL",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Remote subfolder" : "Attālinātā apakšmape",
- "Secure https://" : "Secure https://",
- "FTP" : "FTP",
- "Host" : "Resursdators",
- "Secure ftps://" : "Secure ftps://",
- "Local" : "Lokāls",
- "Location" : "Vieta",
- "Nextcloud" : "Nextcloud",
- "SFTP" : "SFTP",
- "Root" : "Root",
- "SFTP with secret key login" : "SFTP pieteikšanās ar slepeno atslēgu",
- "Share" : "Koplietot",
- "Show hidden files" : "Rādīt slēptās datnes",
- "OpenStack Object Storage" : "OpenStack Object krātuve",
- "Service name" : "Servisa nosaukums",
- "External storage" : "Ārējā krātuve",
- "External mount error" : "Ārējā montēšanas kļūda",
- "Storage type" : "Krātuves tips",
- "Unknown" : "Nezināms",
- "Scope" : "Darbības joma",
- "Personal" : "Personīgi",
- "System" : "Sistēma",
- "Open documentation" : "Atvērt dokumentāciju",
- "Folder name" : "Mapes nosaukums",
- "Authentication" : "Autentifikācija",
- "Configuration" : "Konfigurācija",
- "Available for" : "Pieejams",
- "Add storage" : "Pievienot krātuvi",
- "Advanced settings" : "Paplašināti iestatījumi",
- "Allow users to mount external storage" : "Atļaut lietotājiem uzstādīt ārējās krātuves",
- "Grant access" : "Piešķirt pieeju",
- "Error configuring OAuth1" : "Konfigurēšanas kļūda OAuth1",
- "Please provide a valid app key and secret." : "Lūdzu, norādiet derīgu lietotnes atslēgu un noslēpumu.",
- "Error configuring OAuth2" : "Konfigurēšanas kļūda OAuth2",
- "Generate keys" : "Izveidot atslēgas",
- "Error generating key pair" : "Kļūda, ģenerējot atslēgu pāri",
- "Empty response from the server" : "Tukša atbilde no servera",
- "Couldn't get the information from the remote server: {code} {type}" : "Nevarējām iegūt informāciju no attālā servera: {code} {type}",
- "There was an error with message: " : "Radās kļūda ar ziņu:",
- "external-storage" : "ārējā krātuve",
- "Name" : "Nosaukums"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/files_external/l10n/lv.json b/apps/files_external/l10n/lv.json
deleted file mode 100644
index c24256d2ff4..00000000000
--- a/apps/files_external/l10n/lv.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{ "translations": {
- "(Group)" : "(Grupa)",
- "Compatibility with Mac NFD encoding (slow)" : "Saderība ar Mac NFD kodēšanu (lēni)",
- "Enable encryption" : "Ieslēgt šifrēšanu",
- "Enable previews" : "Iespējot priekšskatījumu",
- "Enable sharing" : "Koplietošanas iespējošana",
- "Check for changes" : "Pārbaudīt, vai nav izmaiņu",
- "Never" : "Nekad",
- "Read only" : "Tikai lasāms",
- "Disconnect" : "Atvienot",
- "Admin defined" : "Administrators definētās",
- "Saved" : "Saglabāts",
- "Saving …" : "Saglabā ...",
- "Save" : "Saglabāt",
- "Invalid mount point" : "Nederīgs montēšanas punkts",
- "%s" : "%s",
- "Access key" : "Pieejas atslēga",
- "Secret key" : "Slepenā atslēga",
- "None" : "Nav",
- "OAuth1" : "OAuth1",
- "App key" : "Lietotnes atslēga",
- "OAuth2" : "OAuth2",
- "Client ID" : "Klienta ID",
- "Username" : "Lietotājvārds",
- "Password" : "Parole",
- "Domain" : "Domain",
- "API key" : "API atslēga",
- "Username and password" : "Lietotājvārds un parole",
- "RSA public key" : "RSA publiskā atslēga",
- "Public key" : "Publiska atslēga",
- "Amazon S3" : "Amazon S3",
- "Hostname" : "Resursa nosaukums",
- "Port" : "Ports",
- "Region" : "Reģions",
- "Enable SSL" : "Iespējot SSL",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Remote subfolder" : "Attālinātā apakšmape",
- "Secure https://" : "Secure https://",
- "FTP" : "FTP",
- "Host" : "Resursdators",
- "Secure ftps://" : "Secure ftps://",
- "Local" : "Lokāls",
- "Location" : "Vieta",
- "Nextcloud" : "Nextcloud",
- "SFTP" : "SFTP",
- "Root" : "Root",
- "SFTP with secret key login" : "SFTP pieteikšanās ar slepeno atslēgu",
- "Share" : "Koplietot",
- "Show hidden files" : "Rādīt slēptās datnes",
- "OpenStack Object Storage" : "OpenStack Object krātuve",
- "Service name" : "Servisa nosaukums",
- "External storage" : "Ārējā krātuve",
- "External mount error" : "Ārējā montēšanas kļūda",
- "Storage type" : "Krātuves tips",
- "Unknown" : "Nezināms",
- "Scope" : "Darbības joma",
- "Personal" : "Personīgi",
- "System" : "Sistēma",
- "Open documentation" : "Atvērt dokumentāciju",
- "Folder name" : "Mapes nosaukums",
- "Authentication" : "Autentifikācija",
- "Configuration" : "Konfigurācija",
- "Available for" : "Pieejams",
- "Add storage" : "Pievienot krātuvi",
- "Advanced settings" : "Paplašināti iestatījumi",
- "Allow users to mount external storage" : "Atļaut lietotājiem uzstādīt ārējās krātuves",
- "Grant access" : "Piešķirt pieeju",
- "Error configuring OAuth1" : "Konfigurēšanas kļūda OAuth1",
- "Please provide a valid app key and secret." : "Lūdzu, norādiet derīgu lietotnes atslēgu un noslēpumu.",
- "Error configuring OAuth2" : "Konfigurēšanas kļūda OAuth2",
- "Generate keys" : "Izveidot atslēgas",
- "Error generating key pair" : "Kļūda, ģenerējot atslēgu pāri",
- "Empty response from the server" : "Tukša atbilde no servera",
- "Couldn't get the information from the remote server: {code} {type}" : "Nevarējām iegūt informāciju no attālā servera: {code} {type}",
- "There was an error with message: " : "Radās kļūda ar ziņu:",
- "external-storage" : "ārējā krātuve",
- "Name" : "Nosaukums"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/mn.js b/apps/files_external/l10n/mn.js
deleted file mode 100644
index 546c4370441..00000000000
--- a/apps/files_external/l10n/mn.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "Username" : "Хэрэглэгчийн нэр",
- "Password" : "Нууц үг",
- "Save" : "Хадгалах",
- "Share" : "Түгээх"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_external/l10n/mn.json b/apps/files_external/l10n/mn.json
deleted file mode 100644
index 61fc25d3458..00000000000
--- a/apps/files_external/l10n/mn.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Username" : "Хэрэглэгчийн нэр",
- "Password" : "Нууц үг",
- "Save" : "Хадгалах",
- "Share" : "Түгээх"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/ms_MY.js b/apps/files_external/l10n/ms_MY.js
deleted file mode 100644
index 986d64538a6..00000000000
--- a/apps/files_external/l10n/ms_MY.js
+++ /dev/null
@@ -1,16 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "Personal" : "Peribadi",
- "Username" : "Nama pengguna",
- "Password" : "Kata laluan",
- "Save" : "Simpan",
- "Region" : "Wilayah",
- "URL" : "URL",
- "Location" : "Lokasi",
- "ownCloud" : "ownCloud",
- "Share" : "Kongsi",
- "Name" : "Nama",
- "Delete" : "Padam"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_external/l10n/ms_MY.json b/apps/files_external/l10n/ms_MY.json
deleted file mode 100644
index 3658a124898..00000000000
--- a/apps/files_external/l10n/ms_MY.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{ "translations": {
- "Personal" : "Peribadi",
- "Username" : "Nama pengguna",
- "Password" : "Kata laluan",
- "Save" : "Simpan",
- "Region" : "Wilayah",
- "URL" : "URL",
- "Location" : "Lokasi",
- "ownCloud" : "ownCloud",
- "Share" : "Kongsi",
- "Name" : "Nama",
- "Delete" : "Padam"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/nn_NO.js b/apps/files_external/l10n/nn_NO.js
deleted file mode 100644
index 00be7c7e386..00000000000
--- a/apps/files_external/l10n/nn_NO.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "Personal" : "Personleg",
- "Username" : "Brukarnamn",
- "Password" : "Passord",
- "Save" : "Lagra",
- "Region" : "Region/fylke",
- "WebDAV" : "WebDAV",
- "URL" : "Nettstad",
- "Host" : "Tenar",
- "Location" : "Stad",
- "ownCloud" : "ownCloud",
- "Share" : "Del",
- "Name" : "Namn",
- "Folder name" : "Mappenamn",
- "Configuration" : "Innstillingar",
- "Delete" : "Slett"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_external/l10n/nn_NO.json b/apps/files_external/l10n/nn_NO.json
deleted file mode 100644
index 6f2aeceb13b..00000000000
--- a/apps/files_external/l10n/nn_NO.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "Personal" : "Personleg",
- "Username" : "Brukarnamn",
- "Password" : "Passord",
- "Save" : "Lagra",
- "Region" : "Region/fylke",
- "WebDAV" : "WebDAV",
- "URL" : "Nettstad",
- "Host" : "Tenar",
- "Location" : "Stad",
- "ownCloud" : "ownCloud",
- "Share" : "Del",
- "Name" : "Namn",
- "Folder name" : "Mappenamn",
- "Configuration" : "Innstillingar",
- "Delete" : "Slett"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/oc.js b/apps/files_external/l10n/oc.js
deleted file mode 100644
index d66ff356e42..00000000000
--- a/apps/files_external/l10n/oc.js
+++ /dev/null
@@ -1,107 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "Fetching request tokens failed. Verify that your app key and secret are correct." : "L'obtencion dels getons de requèsta a fracassat. Verificatz que vòstra clau d'aplicacion e vòstre senhal son corrèctes.",
- "Fetching access tokens failed. Verify that your app key and secret are correct." : "L'obtencion dels getons d'aacès a fracassat. Verificatz que vòstra clau d'aplicacion e vòstre senhal son corrèctes.",
- "Please provide a valid app key and secret." : "Provesissètz una clau d'aplicacion e un senhal valids.",
- "Step 1 failed. Exception: %s" : "L’etapa 1 a fracassat. Error : %s",
- "Step 2 failed. Exception: %s" : "L’etapa 2 a fracassat. Error : %s",
- "External storage" : "Emmagazinatge extèrne",
- "Personal" : "Personal",
- "System" : "Sistèma",
- "Grant access" : "Autorizar l'accès",
- "Error configuring OAuth1" : "Error al moment de la configuracion d'OAuth1",
- "Error configuring OAuth2" : "Error al moment de la configuracion d'OAuth2",
- "Generate keys" : "Generar de claus",
- "Error generating key pair" : "Error al moment de la generacion de las claus",
- "All users. Type to select user or group." : "Totes los utilizaires. Clicatz aicí per restrénher.",
- "(group)" : "(grop)",
- "Saved" : "Enregistrat",
- "Username" : "Nom d'utilizaire",
- "Password" : "Senhal",
- "Save" : "Enregistrar",
- "Storage with id \"%i\" not found" : "Emmagazinatge amb l'id \"%i\" pas trobat",
- "Invalid backend or authentication mechanism class" : "Servici o metòde d'autentificacion pas valable",
- "Invalid mount point" : "Punt de montatge invalid",
- "Objectstore forbidden" : "\"Objectstore\" interdich",
- "Invalid storage backend \"%s\"" : "Servici d'emmagazinatge invalid : \"%s\"",
- "Not permitted to use backend \"%s\"" : "Pas autorizat a utilizar lo servici \"%s\"",
- "Not permitted to use authentication mechanism \"%s\"" : "Pas autorizat a utilizar lo mecanisme d'autentificacion \"%s\"",
- "Unsatisfied backend parameters" : "Paramètres mancants pel servici",
- "Unsatisfied authentication mechanism parameters" : "Paramètres mancants pel metòde d'autentificacion",
- "Insufficient data: %s" : "Donadas insufisentas : %s",
- "%s" : "%s",
- "Access key" : "Clau d'accès",
- "Secret key" : "Clau secreta",
- "Builtin" : "Integrat",
- "None" : "Pas cap",
- "OAuth1" : "OAuth1",
- "App key" : "App key",
- "App secret" : "App secret",
- "OAuth2" : "OAuth2",
- "Client ID" : "ID Client",
- "Client secret" : "Secret client",
- "OpenStack" : "OpenStack",
- "Tenant name" : "Tenant name",
- "Identity endpoint URL" : "Identity endpoint URL",
- "Rackspace" : "Rackspace",
- "API key" : "Clau API",
- "Username and password" : "Nom d'utilizaire e senhal",
- "RSA public key" : "Clau publica RSA",
- "Public key" : "Clau publica",
- "Amazon S3" : "Amazon S3",
- "Bucket" : "Bucket",
- "Hostname" : "Nom de l'òste",
- "Port" : "Pòrt",
- "Region" : "Region",
- "Enable SSL" : "Activar SSL",
- "Enable Path Style" : "Accès per path",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Remote subfolder" : "Sosdorsièr distant",
- "Secure https://" : "Securizacion https://",
- "Dropbox" : "Dropbox",
- "FTP" : "FTP",
- "Host" : "Òste",
- "Secure ftps://" : "Securizacion ftps://",
- "Google Drive" : "Google Drive",
- "Local" : "Local",
- "Location" : "Emplaçament",
- "ownCloud" : "ownCloud",
- "SFTP" : "SFTP",
- "Root" : "Raiç",
- "SFTP with secret key login" : "SFTP amb un identificant secret",
- "SMB / CIFS" : "SMB / CIFS",
- "Share" : "Partejar",
- "Domain" : "Domeni",
- "SMB / CIFS using OC login" : "SMB / CIFS en utilizant los identificants OC",
- "Username as share" : "Nom d'utilizaire coma nom de partiment",
- "OpenStack Object Storage" : "OpenStack Object Storage",
- "Service name" : "Nom del servici",
- "Request timeout (seconds)" : "Timeout de las requèstas (en segondas)",
- "<b>Note:</b> " : "<b>Atencion :</b>",
- "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Atencion :</b> La presa en carga de cURL per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.",
- "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Atencion : </b> La presa en carga del FTP per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.",
- "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Atencion : </b> \"%s\" es pas installat. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.",
- "No external storage configured" : "Aucun emmagazinatge externe configurat",
- "You can add external storages in the personal settings" : "Podètz apondre des emmagazinatges externes dins los paramètres personals",
- "Name" : "Nom",
- "Storage type" : "Tipe d'emmagazinatge",
- "Scope" : "Portada",
- "Enable encryption" : "Activar lo chiframent",
- "Enable previews" : "Activar las previsualizacions",
- "Check for changes" : "Recercar las modificacions",
- "Never" : "Pas jamai",
- "Once every direct access" : "Un còp a cada accès dirècte",
- "External Storage" : "Emmagazinatge externe",
- "Folder name" : "Nom del dorsièr",
- "Authentication" : "Autentificacion",
- "Configuration" : "Configuracion",
- "Available for" : "Disponible per",
- "Add storage" : "Apondre un supòrt d'emmagazinatge",
- "Advanced settings" : "Paramètres avançats",
- "Delete" : "Suprimir",
- "Allow users to mount external storage" : "Autorizar los utilizaires a montar l'espaci d'emmagazinatge extèrne",
- "Allow users to mount the following external storage" : "Autorizar los utilizaires a montar los emmagazinatges extèrnes seguents"
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_external/l10n/oc.json b/apps/files_external/l10n/oc.json
deleted file mode 100644
index c64cddb474e..00000000000
--- a/apps/files_external/l10n/oc.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{ "translations": {
- "Fetching request tokens failed. Verify that your app key and secret are correct." : "L'obtencion dels getons de requèsta a fracassat. Verificatz que vòstra clau d'aplicacion e vòstre senhal son corrèctes.",
- "Fetching access tokens failed. Verify that your app key and secret are correct." : "L'obtencion dels getons d'aacès a fracassat. Verificatz que vòstra clau d'aplicacion e vòstre senhal son corrèctes.",
- "Please provide a valid app key and secret." : "Provesissètz una clau d'aplicacion e un senhal valids.",
- "Step 1 failed. Exception: %s" : "L’etapa 1 a fracassat. Error : %s",
- "Step 2 failed. Exception: %s" : "L’etapa 2 a fracassat. Error : %s",
- "External storage" : "Emmagazinatge extèrne",
- "Personal" : "Personal",
- "System" : "Sistèma",
- "Grant access" : "Autorizar l'accès",
- "Error configuring OAuth1" : "Error al moment de la configuracion d'OAuth1",
- "Error configuring OAuth2" : "Error al moment de la configuracion d'OAuth2",
- "Generate keys" : "Generar de claus",
- "Error generating key pair" : "Error al moment de la generacion de las claus",
- "All users. Type to select user or group." : "Totes los utilizaires. Clicatz aicí per restrénher.",
- "(group)" : "(grop)",
- "Saved" : "Enregistrat",
- "Username" : "Nom d'utilizaire",
- "Password" : "Senhal",
- "Save" : "Enregistrar",
- "Storage with id \"%i\" not found" : "Emmagazinatge amb l'id \"%i\" pas trobat",
- "Invalid backend or authentication mechanism class" : "Servici o metòde d'autentificacion pas valable",
- "Invalid mount point" : "Punt de montatge invalid",
- "Objectstore forbidden" : "\"Objectstore\" interdich",
- "Invalid storage backend \"%s\"" : "Servici d'emmagazinatge invalid : \"%s\"",
- "Not permitted to use backend \"%s\"" : "Pas autorizat a utilizar lo servici \"%s\"",
- "Not permitted to use authentication mechanism \"%s\"" : "Pas autorizat a utilizar lo mecanisme d'autentificacion \"%s\"",
- "Unsatisfied backend parameters" : "Paramètres mancants pel servici",
- "Unsatisfied authentication mechanism parameters" : "Paramètres mancants pel metòde d'autentificacion",
- "Insufficient data: %s" : "Donadas insufisentas : %s",
- "%s" : "%s",
- "Access key" : "Clau d'accès",
- "Secret key" : "Clau secreta",
- "Builtin" : "Integrat",
- "None" : "Pas cap",
- "OAuth1" : "OAuth1",
- "App key" : "App key",
- "App secret" : "App secret",
- "OAuth2" : "OAuth2",
- "Client ID" : "ID Client",
- "Client secret" : "Secret client",
- "OpenStack" : "OpenStack",
- "Tenant name" : "Tenant name",
- "Identity endpoint URL" : "Identity endpoint URL",
- "Rackspace" : "Rackspace",
- "API key" : "Clau API",
- "Username and password" : "Nom d'utilizaire e senhal",
- "RSA public key" : "Clau publica RSA",
- "Public key" : "Clau publica",
- "Amazon S3" : "Amazon S3",
- "Bucket" : "Bucket",
- "Hostname" : "Nom de l'òste",
- "Port" : "Pòrt",
- "Region" : "Region",
- "Enable SSL" : "Activar SSL",
- "Enable Path Style" : "Accès per path",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Remote subfolder" : "Sosdorsièr distant",
- "Secure https://" : "Securizacion https://",
- "Dropbox" : "Dropbox",
- "FTP" : "FTP",
- "Host" : "Òste",
- "Secure ftps://" : "Securizacion ftps://",
- "Google Drive" : "Google Drive",
- "Local" : "Local",
- "Location" : "Emplaçament",
- "ownCloud" : "ownCloud",
- "SFTP" : "SFTP",
- "Root" : "Raiç",
- "SFTP with secret key login" : "SFTP amb un identificant secret",
- "SMB / CIFS" : "SMB / CIFS",
- "Share" : "Partejar",
- "Domain" : "Domeni",
- "SMB / CIFS using OC login" : "SMB / CIFS en utilizant los identificants OC",
- "Username as share" : "Nom d'utilizaire coma nom de partiment",
- "OpenStack Object Storage" : "OpenStack Object Storage",
- "Service name" : "Nom del servici",
- "Request timeout (seconds)" : "Timeout de las requèstas (en segondas)",
- "<b>Note:</b> " : "<b>Atencion :</b>",
- "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Atencion :</b> La presa en carga de cURL per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.",
- "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Atencion : </b> La presa en carga del FTP per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.",
- "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Atencion : </b> \"%s\" es pas installat. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.",
- "No external storage configured" : "Aucun emmagazinatge externe configurat",
- "You can add external storages in the personal settings" : "Podètz apondre des emmagazinatges externes dins los paramètres personals",
- "Name" : "Nom",
- "Storage type" : "Tipe d'emmagazinatge",
- "Scope" : "Portada",
- "Enable encryption" : "Activar lo chiframent",
- "Enable previews" : "Activar las previsualizacions",
- "Check for changes" : "Recercar las modificacions",
- "Never" : "Pas jamai",
- "Once every direct access" : "Un còp a cada accès dirècte",
- "External Storage" : "Emmagazinatge externe",
- "Folder name" : "Nom del dorsièr",
- "Authentication" : "Autentificacion",
- "Configuration" : "Configuracion",
- "Available for" : "Disponible per",
- "Add storage" : "Apondre un supòrt d'emmagazinatge",
- "Advanced settings" : "Paramètres avançats",
- "Delete" : "Suprimir",
- "Allow users to mount external storage" : "Autorizar los utilizaires a montar l'espaci d'emmagazinatge extèrne",
- "Allow users to mount the following external storage" : "Autorizar los utilizaires a montar los emmagazinatges extèrnes seguents"
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/ro.js b/apps/files_external/l10n/ro.js
deleted file mode 100644
index dd2d412484d..00000000000
--- a/apps/files_external/l10n/ro.js
+++ /dev/null
@@ -1,85 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "Grant access" : "Permite accesul",
- "Error configuring OAuth1" : "Eroare la configurarea OAuth1",
- "Error configuring OAuth2" : "Eroare la configurarea OAuth2",
- "Generate keys" : "Generează chei",
- "Error generating key pair" : "Eroarea la generarea cheilor",
- "(Group)" : "(Grup)",
- "Enable encryption" : "Activează criptarea",
- "Enable previews" : "Activează previzualizările",
- "Enable sharing" : "Activează partajarea",
- "Check for changes" : "Verifică dacă au intervenit modificări",
- "Never" : "Niciodată",
- "Once every direct access" : "O dată la fiecare acces direct",
- "Read only" : "Doar citire",
- "Disconnect" : "Deconectare",
- "Admin defined" : "Administrator definit",
- "Saved" : "Salvat",
- "Saving …" : "Se salvează",
- "Save" : "Salvează",
- "Insufficient data: %s" : "Date insuficiente: %s",
- "%s" : "%s",
- "Access key" : "Cheie de acces",
- "Secret key" : "Cheie secretă",
- "Builtin" : "Inclus",
- "None" : "Niciuna",
- "OAuth1" : "OAuth1",
- "App key" : "Cheie aplicație",
- "App secret" : "Secret aplicație",
- "OAuth2" : "OAuth2",
- "Client ID" : "ID client",
- "Client secret" : "Secret client",
- "Login" : "Autentificare",
- "Password" : "Parolă",
- "Tenant name" : "Nume titular",
- "Domain" : "Domeniu",
- "API key" : "Cheie API",
- "RSA public key" : "Cheie publică RSA",
- "Public key" : "Cheie publică",
- "Amazon S3" : "Amazon S3",
- "Hostname" : "Nume mașină",
- "Port" : "Port",
- "Region" : "Regiune",
- "Enable SSL" : "Activează SSL",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Secure https://" : "https:// sigur",
- "FTP" : "FTP",
- "Host" : "Gazdă",
- "Secure ftps://" : "ftps:// sigur",
- "Local" : "Local",
- "Location" : "Locație",
- "Nextcloud" : "Nextcloud",
- "SFTP" : "SFTP",
- "Root" : "Root",
- "SFTP with secret key login" : "SFTP cu cheie secretă de autentificare",
- "Share" : "Partajează",
- "Show hidden files" : "Arată fișierele ascunse",
- "Service name" : "Nume serviciu",
- "External storage" : "Stocare externă",
- "Open in Files" : "Deschide în Fișiere",
- "Storage type" : "Tip stocare",
- "Unknown" : "Necunoscut",
- "Scope" : "Scop",
- "Personal" : "Personal",
- "System" : "Sistem",
- "Open documentation" : "Deschide documentația",
- "Folder name" : "Denumire director",
- "Authentication" : "Autentificare",
- "Configuration" : "Configurație",
- "Available for" : "Disponibil pentru",
- "Add storage" : "Adauga stocare",
- "Advanced settings" : "Setări avansate",
- "Empty response from the server" : "Răspuns nul de la server",
- "There was an error with message: " : "A apărut o eroare cu mesajul:",
- "external-storage" : "Stocare externă",
- "Username" : "Nume utilizator",
- "Credentials saved" : "Detalii de autentificare salvate",
- "Credentials saving failed" : "Salvarea detaliilor de autentificare a eșuat",
- "Credentials required" : "Detalii de autentificare necesare",
- "Username and password" : "Nume de utilizator și parolă",
- "Name" : "Nume"
-},
-"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/files_external/l10n/ro.json b/apps/files_external/l10n/ro.json
deleted file mode 100644
index a21b756bd6f..00000000000
--- a/apps/files_external/l10n/ro.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{ "translations": {
- "Grant access" : "Permite accesul",
- "Error configuring OAuth1" : "Eroare la configurarea OAuth1",
- "Error configuring OAuth2" : "Eroare la configurarea OAuth2",
- "Generate keys" : "Generează chei",
- "Error generating key pair" : "Eroarea la generarea cheilor",
- "(Group)" : "(Grup)",
- "Enable encryption" : "Activează criptarea",
- "Enable previews" : "Activează previzualizările",
- "Enable sharing" : "Activează partajarea",
- "Check for changes" : "Verifică dacă au intervenit modificări",
- "Never" : "Niciodată",
- "Once every direct access" : "O dată la fiecare acces direct",
- "Read only" : "Doar citire",
- "Disconnect" : "Deconectare",
- "Admin defined" : "Administrator definit",
- "Saved" : "Salvat",
- "Saving …" : "Se salvează",
- "Save" : "Salvează",
- "Insufficient data: %s" : "Date insuficiente: %s",
- "%s" : "%s",
- "Access key" : "Cheie de acces",
- "Secret key" : "Cheie secretă",
- "Builtin" : "Inclus",
- "None" : "Niciuna",
- "OAuth1" : "OAuth1",
- "App key" : "Cheie aplicație",
- "App secret" : "Secret aplicație",
- "OAuth2" : "OAuth2",
- "Client ID" : "ID client",
- "Client secret" : "Secret client",
- "Login" : "Autentificare",
- "Password" : "Parolă",
- "Tenant name" : "Nume titular",
- "Domain" : "Domeniu",
- "API key" : "Cheie API",
- "RSA public key" : "Cheie publică RSA",
- "Public key" : "Cheie publică",
- "Amazon S3" : "Amazon S3",
- "Hostname" : "Nume mașină",
- "Port" : "Port",
- "Region" : "Regiune",
- "Enable SSL" : "Activează SSL",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Secure https://" : "https:// sigur",
- "FTP" : "FTP",
- "Host" : "Gazdă",
- "Secure ftps://" : "ftps:// sigur",
- "Local" : "Local",
- "Location" : "Locație",
- "Nextcloud" : "Nextcloud",
- "SFTP" : "SFTP",
- "Root" : "Root",
- "SFTP with secret key login" : "SFTP cu cheie secretă de autentificare",
- "Share" : "Partajează",
- "Show hidden files" : "Arată fișierele ascunse",
- "Service name" : "Nume serviciu",
- "External storage" : "Stocare externă",
- "Open in Files" : "Deschide în Fișiere",
- "Storage type" : "Tip stocare",
- "Unknown" : "Necunoscut",
- "Scope" : "Scop",
- "Personal" : "Personal",
- "System" : "Sistem",
- "Open documentation" : "Deschide documentația",
- "Folder name" : "Denumire director",
- "Authentication" : "Autentificare",
- "Configuration" : "Configurație",
- "Available for" : "Disponibil pentru",
- "Add storage" : "Adauga stocare",
- "Advanced settings" : "Setări avansate",
- "Empty response from the server" : "Răspuns nul de la server",
- "There was an error with message: " : "A apărut o eroare cu mesajul:",
- "external-storage" : "Stocare externă",
- "Username" : "Nume utilizator",
- "Credentials saved" : "Detalii de autentificare salvate",
- "Credentials saving failed" : "Salvarea detaliilor de autentificare a eșuat",
- "Credentials required" : "Detalii de autentificare necesare",
- "Username and password" : "Nume de utilizator și parolă",
- "Name" : "Nume"
-},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/sr@latin.js b/apps/files_external/l10n/sr@latin.js
deleted file mode 100644
index 2cc12ecf4aa..00000000000
--- a/apps/files_external/l10n/sr@latin.js
+++ /dev/null
@@ -1,55 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "Step 1 failed. Exception: %s" : "Korak 1 nije uspeo. Izuzetak: %s",
- "Step 2 failed. Exception: %s" : "Korak 2 nije uspeo. Izuzetak: %s",
- "External storage" : "Spoljašnje skladište",
- "Personal" : "Lično",
- "System" : "Sistemsko",
- "Grant access" : "Dozvoli pristup",
- "All users. Type to select user or group." : "Svi korisnici. Kucajte da biste izabrali korisnika ili grupu.",
- "(group)" : "(grupa)",
- "Saved" : "Sačuvano",
- "Username" : "Korisničko ime",
- "Password" : "Lozinka",
- "Save" : "Sačuvaj",
- "App key" : "Ključ Aplikacije",
- "App secret" : "Tajna lozinka Aplikacije",
- "Client ID" : "Identifikator klijenta",
- "Client secret" : "Tajna lozinka klijenta",
- "Amazon S3" : "Amazon S3",
- "Bucket" : "Korpa",
- "Hostname" : "Ime računara",
- "Port" : "Port",
- "Region" : "Regija",
- "Enable SSL" : "Uključi SSL",
- "Enable Path Style" : "Omogući stil putanje",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Remote subfolder" : "Udaljeni poddirektorijum",
- "Secure https://" : "Sigurni https://",
- "Host" : "Računar",
- "Secure ftps://" : "Sigurni ftps://",
- "Local" : "Lokalno",
- "Location" : "Lokacija",
- "Root" : "Koren",
- "Share" : "Podeli",
- "SMB / CIFS using OC login" : "SMB / CIFS koji koristi OC prijavljivanje",
- "Username as share" : "Korisničko ime i deljeni direktorijum",
- "OpenStack Object Storage" : "OpenStack skladište objekata",
- "<b>Note:</b> " : "<b>Obratite pažnju:</b>",
- "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Obratite pažnju</b> Podrška za cURL u PHP-u nije uključena ili instalirana. Montiranje %s nije moguće. Molimo Vas da se obratite Vašem sistem administratoru da je instalira.",
- "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Obratite pažnju:</b> FTP podrška u PHP-u nije uključena ili instalirana. Montiranje %s nije moguće. Molimo Vas da tražite od Vašeg sistem administratora da je instalira.",
- "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Obratite pažnju:</b> \"%s\" nije instaliran. Monitranje %s nije moguće. Molimo Vas da se obratite Vašem sistem administratoru da to instalira.",
- "Name" : "Ime",
- "Storage type" : "Tip skladišta",
- "Scope" : "Opseg",
- "External Storage" : "Spoljašnje skladište",
- "Folder name" : "Ime fascikle",
- "Configuration" : "Podešavanje",
- "Available for" : "Dostupno za",
- "Add storage" : "Dodaj skladište",
- "Delete" : "Obriši",
- "Allow users to mount the following external storage" : "Omogući korisnicima da namontiraju sledeće spoljašnje skladište"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files_external/l10n/sr@latin.json b/apps/files_external/l10n/sr@latin.json
deleted file mode 100644
index 2460d2544a4..00000000000
--- a/apps/files_external/l10n/sr@latin.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{ "translations": {
- "Step 1 failed. Exception: %s" : "Korak 1 nije uspeo. Izuzetak: %s",
- "Step 2 failed. Exception: %s" : "Korak 2 nije uspeo. Izuzetak: %s",
- "External storage" : "Spoljašnje skladište",
- "Personal" : "Lično",
- "System" : "Sistemsko",
- "Grant access" : "Dozvoli pristup",
- "All users. Type to select user or group." : "Svi korisnici. Kucajte da biste izabrali korisnika ili grupu.",
- "(group)" : "(grupa)",
- "Saved" : "Sačuvano",
- "Username" : "Korisničko ime",
- "Password" : "Lozinka",
- "Save" : "Sačuvaj",
- "App key" : "Ključ Aplikacije",
- "App secret" : "Tajna lozinka Aplikacije",
- "Client ID" : "Identifikator klijenta",
- "Client secret" : "Tajna lozinka klijenta",
- "Amazon S3" : "Amazon S3",
- "Bucket" : "Korpa",
- "Hostname" : "Ime računara",
- "Port" : "Port",
- "Region" : "Regija",
- "Enable SSL" : "Uključi SSL",
- "Enable Path Style" : "Omogući stil putanje",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Remote subfolder" : "Udaljeni poddirektorijum",
- "Secure https://" : "Sigurni https://",
- "Host" : "Računar",
- "Secure ftps://" : "Sigurni ftps://",
- "Local" : "Lokalno",
- "Location" : "Lokacija",
- "Root" : "Koren",
- "Share" : "Podeli",
- "SMB / CIFS using OC login" : "SMB / CIFS koji koristi OC prijavljivanje",
- "Username as share" : "Korisničko ime i deljeni direktorijum",
- "OpenStack Object Storage" : "OpenStack skladište objekata",
- "<b>Note:</b> " : "<b>Obratite pažnju:</b>",
- "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Obratite pažnju</b> Podrška za cURL u PHP-u nije uključena ili instalirana. Montiranje %s nije moguće. Molimo Vas da se obratite Vašem sistem administratoru da je instalira.",
- "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Obratite pažnju:</b> FTP podrška u PHP-u nije uključena ili instalirana. Montiranje %s nije moguće. Molimo Vas da tražite od Vašeg sistem administratora da je instalira.",
- "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Obratite pažnju:</b> \"%s\" nije instaliran. Monitranje %s nije moguće. Molimo Vas da se obratite Vašem sistem administratoru da to instalira.",
- "Name" : "Ime",
- "Storage type" : "Tip skladišta",
- "Scope" : "Opseg",
- "External Storage" : "Spoljašnje skladište",
- "Folder name" : "Ime fascikle",
- "Configuration" : "Podešavanje",
- "Available for" : "Dostupno za",
- "Add storage" : "Dodaj skladište",
- "Delete" : "Obriši",
- "Allow users to mount the following external storage" : "Omogući korisnicima da namontiraju sledeće spoljašnje skladište"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/tr.js b/apps/files_external/l10n/tr.js
index 78246635d01..f735d7b3668 100644
--- a/apps/files_external/l10n/tr.js
+++ b/apps/files_external/l10n/tr.js
@@ -14,10 +14,10 @@ OC.L10N.register(
"Invalid backend or authentication mechanism class" : "Arka yüz ya da kimlik doğrulama yöntemi sınıfı geçersiz",
"Invalid mount point" : "Bağlama noktası geçersiz",
"Objectstore forbidden" : "Nesne deposuna erişim kapalı",
- "Invalid storage backend \"%s\"" : "\"%s\" depolama arka ucu geçersiz",
- "Not permitted to use backend \"%s\"" : "\"%s\" arka ucunun kullanımına izin verilmiyor",
+ "Invalid storage backend \"%s\"" : "\"%s\" depolama arka yüzü geçersiz",
+ "Not permitted to use backend \"%s\"" : "\"%s\" arka yüzünün kullanılmasına izin verilmiyor",
"Not permitted to use authentication mechanism \"%s\"" : "\"%s\" kimlik doğrulama mekanizmasına izin verilmiyor",
- "Unsatisfied backend parameters" : "Arka uç parametreleri yetersiz",
+ "Unsatisfied backend parameters" : "Arka yüz parametreleri yetersiz",
"Unsatisfied authentication mechanism parameters" : "Kimlik doğrulama yöntemi parametreleri yetersiz",
"Insufficient data: %s" : "Veriler yetersiz: %s",
"%s" : "%s",
@@ -36,7 +36,7 @@ OC.L10N.register(
"Login" : "Kullanıcı adı",
"Password" : "Parola",
"Tenant name" : "Kiracı adı",
- "Identity endpoint URL" : "Kimlik arka uç noktası adresi",
+ "Identity endpoint URL" : "Kimlik arka yüzü noktası adresi",
"OpenStack v3" : "OpenStack v3",
"Domain" : "Etki alanı",
"Rackspace" : "Rackspace",
@@ -91,13 +91,13 @@ OC.L10N.register(
"OpenStack Object Storage" : "OpenStack nesne depolama",
"Service name" : "Hizmet adı",
"Request timeout (seconds)" : "İstek zaman aşımı (saniye)",
- "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "PHP cURL desteği kurulmamış ya da etkin değil. %s bağlanamaz. Kurulumu için lütfen BT yöneticiniz ile görüşün.",
- "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "PHP FTP desteği kurulmamış ya da etkin değil. %s bağlanamaz. Kurulumu için lütfen BT yöneticiniz ile görüşün.",
+ "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "PHP cURL desteği kurulmamış ya da kullanıma alınmamış. %s bağlanamaz. Kurulması için lütfen BT yöneticiniz ile görüşün.",
+ "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "PHP FTP desteği kurulmamış ya da kullanıma alınmamış. %s bağlanamaz. Kurulması için lütfen BT yöneticiniz ile görüşün.",
"\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" kurulmamış. %2$s\" bağlanamaz. Lütfen kurulum için BT yöneticiniz ile görüşün.",
"External storage" : "Dış depolama",
"External storage support" : "Dış depolama desteği",
"Adds basic external storage support" : "Temel dış depolama desteği ekler",
- "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administration can choose which types of storage to enable and can mount these storage locations for an account, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows people to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the administration with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Bu uygulama yöneticilerin FTP sunucular, S3 ya da SWIFT nesne mağazaları, diğer Nextcloud sunucuları ve WebDAV sunucuları gibi çeşitli dış depolama alanı hizmeti sağlayıcıları ile bağlantı kurmasını sağlar. Yöneticiler, etkinleştirmek istedikleri depolama alanı türünü seçebilir ve bu depolama alanı konumlarını belirli bir hesap, bir grup ya da tüm sistem için ekleyebilir. Kullanıcılar bağlanan depolama alanını kök Nextcloud klasörü altında yeni bir klasör olarak görebilir ve diğer Nextcloud klasörleri gibi erişebilir. Dış depolama alanı, bu konumlarda depolanan dosyaların kişiler tarafından paylaşılmasını da sağlar. Bu durumda alıcıların dış dosyaya erişebileceğinden emin olmak için yapılan dosya erişimi isteklerinde, dosya sahibinin kimlik doğrulama bilgileri kullanılır.\n\nDış depolama alanı yapılandırması görsel arayüzden ya da komut satırından yapılabilir. Komut satırı seçeneğinde, yöneticiler için toplu dış depolama alanı bağlama ve bağlama noktası öncelikleri gibi esnek yapılandırma seçenekleri bulunur. Ayrıntılı bilgi almak için dış depolama alanı görsel arayüzü belgeleri ile dış depolama alanı yapılandırma dosyası belgelerine bakabilirsiniz.",
+ "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administration can choose which types of storage to enable and can mount these storage locations for an account, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows people to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the administration with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Bu uygulama yöneticilerin FTP sunucular, S3 ya da SWIFT nesne mağazaları, diğer Nextcloud sunucuları ve WebDAV sunucuları gibi çeşitli dış depolama alanı hizmeti sağlayıcıları ile bağlantı kurmasını sağlar. Yöneticiler, kullanıma almak istedikleri depolama alanı türünü seçebilir ve bu depolama alanı konumlarını belirli bir hesap, bir grup ya da tüm sistem için ekleyebilir. Kullanıcılar bağlanan depolama alanını kök Nextcloud klasörü altında yeni bir klasör olarak görebilir ve diğer Nextcloud klasörleri gibi erişebilir. Dış depolama alanı, bu konumlarda depolanan dosyaların kişiler tarafından paylaşılmasını da sağlar. Bu durumda alıcıların dış dosyaya erişebileceğinden emin olmak için yapılan dosya erişimi isteklerinde, dosya sahibinin kimlik doğrulama bilgileri kullanılır.\n\nDış depolama alanı yapılandırması görsel arayüzden ya da komut satırından yapılabilir. Komut satırı seçeneğinde, yöneticiler için toplu dış depolama alanı bağlama ve bağlama noktası öncelikleri gibi esnek yapılandırma seçenekleri bulunur. Ayrıntılı bilgi almak için dış depolama alanı görsel arayüzü belgeleri ile dış depolama alanı yapılandırma dosyası belgelerine bakabilirsiniz.",
"Confirm" : "Onayla",
"Storage credentials" : "Depolama alanı kimlik doğrulama bilgileri",
"To access the storage, you need to provide the authentication credentials." : "Depolama alanına erişebilmek için kimlik doğrulama bilgilerini vermeniz gerekir.",
@@ -135,9 +135,9 @@ OC.L10N.register(
"Once every direct access" : "Her doğrudan erişimde bir kez",
"Read only" : "Salt okunur",
"Disconnect" : "Bağlantıyı kes",
- "Unknown backend: {backendName}" : "Bilinmeyen arka uç: {backendName}",
+ "Unknown backend: {backendName}" : "Arka yüz bilinmiyor: {backendName}",
"Admin defined" : "Yönetici ayarlamış",
- "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Çok sayıda depolama yapılandırılmış olduğundan otomatik durum denetimi devre dışı bırakıldı. Durumu denetlemek için tıklayın",
+ "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Çok sayıda depolama alanı yapılandırılmış olduğundan otomatik durum denetimi kapatıldı. Durumu denetlemek için tıklayın",
"Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Bu dış depolama biriminin bağlantısını kesmek istediğinize emin misiniz? Bu işlem, depolamayı Nextcloud üzerinden kaldırırarak, şu anda bağlı olan ve eşitlenen herhangi bir istemcide bu dosya ve klasörlerin silinmesine yol açar. Ancak dış depolama üzerindeki hiçbir dosya ve klasör silinmez.",
"Delete storage?" : "Depolama silinsin mi?",
"Click to recheck the configuration" : "Yapılandırmayı yeniden denetlemek için tıklayın",
diff --git a/apps/files_external/l10n/tr.json b/apps/files_external/l10n/tr.json
index 01cd0b36417..1bdba9f1a4d 100644
--- a/apps/files_external/l10n/tr.json
+++ b/apps/files_external/l10n/tr.json
@@ -12,10 +12,10 @@
"Invalid backend or authentication mechanism class" : "Arka yüz ya da kimlik doğrulama yöntemi sınıfı geçersiz",
"Invalid mount point" : "Bağlama noktası geçersiz",
"Objectstore forbidden" : "Nesne deposuna erişim kapalı",
- "Invalid storage backend \"%s\"" : "\"%s\" depolama arka ucu geçersiz",
- "Not permitted to use backend \"%s\"" : "\"%s\" arka ucunun kullanımına izin verilmiyor",
+ "Invalid storage backend \"%s\"" : "\"%s\" depolama arka yüzü geçersiz",
+ "Not permitted to use backend \"%s\"" : "\"%s\" arka yüzünün kullanılmasına izin verilmiyor",
"Not permitted to use authentication mechanism \"%s\"" : "\"%s\" kimlik doğrulama mekanizmasına izin verilmiyor",
- "Unsatisfied backend parameters" : "Arka uç parametreleri yetersiz",
+ "Unsatisfied backend parameters" : "Arka yüz parametreleri yetersiz",
"Unsatisfied authentication mechanism parameters" : "Kimlik doğrulama yöntemi parametreleri yetersiz",
"Insufficient data: %s" : "Veriler yetersiz: %s",
"%s" : "%s",
@@ -34,7 +34,7 @@
"Login" : "Kullanıcı adı",
"Password" : "Parola",
"Tenant name" : "Kiracı adı",
- "Identity endpoint URL" : "Kimlik arka uç noktası adresi",
+ "Identity endpoint URL" : "Kimlik arka yüzü noktası adresi",
"OpenStack v3" : "OpenStack v3",
"Domain" : "Etki alanı",
"Rackspace" : "Rackspace",
@@ -89,13 +89,13 @@
"OpenStack Object Storage" : "OpenStack nesne depolama",
"Service name" : "Hizmet adı",
"Request timeout (seconds)" : "İstek zaman aşımı (saniye)",
- "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "PHP cURL desteği kurulmamış ya da etkin değil. %s bağlanamaz. Kurulumu için lütfen BT yöneticiniz ile görüşün.",
- "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "PHP FTP desteği kurulmamış ya da etkin değil. %s bağlanamaz. Kurulumu için lütfen BT yöneticiniz ile görüşün.",
+ "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "PHP cURL desteği kurulmamış ya da kullanıma alınmamış. %s bağlanamaz. Kurulması için lütfen BT yöneticiniz ile görüşün.",
+ "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "PHP FTP desteği kurulmamış ya da kullanıma alınmamış. %s bağlanamaz. Kurulması için lütfen BT yöneticiniz ile görüşün.",
"\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" kurulmamış. %2$s\" bağlanamaz. Lütfen kurulum için BT yöneticiniz ile görüşün.",
"External storage" : "Dış depolama",
"External storage support" : "Dış depolama desteği",
"Adds basic external storage support" : "Temel dış depolama desteği ekler",
- "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administration can choose which types of storage to enable and can mount these storage locations for an account, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows people to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the administration with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Bu uygulama yöneticilerin FTP sunucular, S3 ya da SWIFT nesne mağazaları, diğer Nextcloud sunucuları ve WebDAV sunucuları gibi çeşitli dış depolama alanı hizmeti sağlayıcıları ile bağlantı kurmasını sağlar. Yöneticiler, etkinleştirmek istedikleri depolama alanı türünü seçebilir ve bu depolama alanı konumlarını belirli bir hesap, bir grup ya da tüm sistem için ekleyebilir. Kullanıcılar bağlanan depolama alanını kök Nextcloud klasörü altında yeni bir klasör olarak görebilir ve diğer Nextcloud klasörleri gibi erişebilir. Dış depolama alanı, bu konumlarda depolanan dosyaların kişiler tarafından paylaşılmasını da sağlar. Bu durumda alıcıların dış dosyaya erişebileceğinden emin olmak için yapılan dosya erişimi isteklerinde, dosya sahibinin kimlik doğrulama bilgileri kullanılır.\n\nDış depolama alanı yapılandırması görsel arayüzden ya da komut satırından yapılabilir. Komut satırı seçeneğinde, yöneticiler için toplu dış depolama alanı bağlama ve bağlama noktası öncelikleri gibi esnek yapılandırma seçenekleri bulunur. Ayrıntılı bilgi almak için dış depolama alanı görsel arayüzü belgeleri ile dış depolama alanı yapılandırma dosyası belgelerine bakabilirsiniz.",
+ "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administration can choose which types of storage to enable and can mount these storage locations for an account, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows people to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the administration with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Bu uygulama yöneticilerin FTP sunucular, S3 ya da SWIFT nesne mağazaları, diğer Nextcloud sunucuları ve WebDAV sunucuları gibi çeşitli dış depolama alanı hizmeti sağlayıcıları ile bağlantı kurmasını sağlar. Yöneticiler, kullanıma almak istedikleri depolama alanı türünü seçebilir ve bu depolama alanı konumlarını belirli bir hesap, bir grup ya da tüm sistem için ekleyebilir. Kullanıcılar bağlanan depolama alanını kök Nextcloud klasörü altında yeni bir klasör olarak görebilir ve diğer Nextcloud klasörleri gibi erişebilir. Dış depolama alanı, bu konumlarda depolanan dosyaların kişiler tarafından paylaşılmasını da sağlar. Bu durumda alıcıların dış dosyaya erişebileceğinden emin olmak için yapılan dosya erişimi isteklerinde, dosya sahibinin kimlik doğrulama bilgileri kullanılır.\n\nDış depolama alanı yapılandırması görsel arayüzden ya da komut satırından yapılabilir. Komut satırı seçeneğinde, yöneticiler için toplu dış depolama alanı bağlama ve bağlama noktası öncelikleri gibi esnek yapılandırma seçenekleri bulunur. Ayrıntılı bilgi almak için dış depolama alanı görsel arayüzü belgeleri ile dış depolama alanı yapılandırma dosyası belgelerine bakabilirsiniz.",
"Confirm" : "Onayla",
"Storage credentials" : "Depolama alanı kimlik doğrulama bilgileri",
"To access the storage, you need to provide the authentication credentials." : "Depolama alanına erişebilmek için kimlik doğrulama bilgilerini vermeniz gerekir.",
@@ -133,9 +133,9 @@
"Once every direct access" : "Her doğrudan erişimde bir kez",
"Read only" : "Salt okunur",
"Disconnect" : "Bağlantıyı kes",
- "Unknown backend: {backendName}" : "Bilinmeyen arka uç: {backendName}",
+ "Unknown backend: {backendName}" : "Arka yüz bilinmiyor: {backendName}",
"Admin defined" : "Yönetici ayarlamış",
- "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Çok sayıda depolama yapılandırılmış olduğundan otomatik durum denetimi devre dışı bırakıldı. Durumu denetlemek için tıklayın",
+ "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Çok sayıda depolama alanı yapılandırılmış olduğundan otomatik durum denetimi kapatıldı. Durumu denetlemek için tıklayın",
"Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Bu dış depolama biriminin bağlantısını kesmek istediğinize emin misiniz? Bu işlem, depolamayı Nextcloud üzerinden kaldırırarak, şu anda bağlı olan ve eşitlenen herhangi bir istemcide bu dosya ve klasörlerin silinmesine yol açar. Ancak dış depolama üzerindeki hiçbir dosya ve klasör silinmez.",
"Delete storage?" : "Depolama silinsin mi?",
"Click to recheck the configuration" : "Yapılandırmayı yeniden denetlemek için tıklayın",
diff --git a/apps/files_external/l10n/ur_PK.js b/apps/files_external/l10n/ur_PK.js
deleted file mode 100644
index 34d519fc69b..00000000000
--- a/apps/files_external/l10n/ur_PK.js
+++ /dev/null
@@ -1,14 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "Personal" : "شخصی",
- "Username" : "یوزر نیم",
- "Password" : "پاسورڈ",
- "Save" : "حفظ",
- "URL" : "یو ار ایل",
- "Location" : "مقام",
- "Share" : "تقسیم",
- "Name" : "اسم",
- "Delete" : "حذف کریں"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_external/l10n/ur_PK.json b/apps/files_external/l10n/ur_PK.json
deleted file mode 100644
index 5a51e9c5a31..00000000000
--- a/apps/files_external/l10n/ur_PK.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{ "translations": {
- "Personal" : "شخصی",
- "Username" : "یوزر نیم",
- "Password" : "پاسورڈ",
- "Save" : "حفظ",
- "URL" : "یو ار ایل",
- "Location" : "مقام",
- "Share" : "تقسیم",
- "Name" : "اسم",
- "Delete" : "حذف کریں"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_external/l10n/vi.js b/apps/files_external/l10n/vi.js
deleted file mode 100644
index 0e99f70c3a4..00000000000
--- a/apps/files_external/l10n/vi.js
+++ /dev/null
@@ -1,27 +0,0 @@
-OC.L10N.register(
- "files_external",
- {
- "External storage" : "Lưu trữ ngoài",
- "Personal" : "Cá nhân",
- "Grant access" : "Cấp quyền truy cập",
- "Saved" : "Đã lưu",
- "Username" : "Tên đăng nhập",
- "Password" : "Mật khẩu",
- "Save" : "Lưu",
- "None" : "Không gì cả",
- "Port" : "Cổng",
- "Region" : "Vùng/miền",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Host" : "Máy chủ",
- "Location" : "Vị trí",
- "ownCloud" : "ownCloud",
- "Share" : "Chia sẻ",
- "Name" : "Tên",
- "External Storage" : "Lưu trữ ngoài",
- "Folder name" : "Tên thư mục",
- "Configuration" : "Cấu hình",
- "Add storage" : "Thêm bộ nhớ",
- "Delete" : "Xóa"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_external/l10n/vi.json b/apps/files_external/l10n/vi.json
deleted file mode 100644
index 90e2a0d97c3..00000000000
--- a/apps/files_external/l10n/vi.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{ "translations": {
- "External storage" : "Lưu trữ ngoài",
- "Personal" : "Cá nhân",
- "Grant access" : "Cấp quyền truy cập",
- "Saved" : "Đã lưu",
- "Username" : "Tên đăng nhập",
- "Password" : "Mật khẩu",
- "Save" : "Lưu",
- "None" : "Không gì cả",
- "Port" : "Cổng",
- "Region" : "Vùng/miền",
- "WebDAV" : "WebDAV",
- "URL" : "URL",
- "Host" : "Máy chủ",
- "Location" : "Vị trí",
- "ownCloud" : "ownCloud",
- "Share" : "Chia sẻ",
- "Name" : "Tên",
- "External Storage" : "Lưu trữ ngoài",
- "Folder name" : "Tên thư mục",
- "Configuration" : "Cấu hình",
- "Add storage" : "Thêm bộ nhớ",
- "Delete" : "Xóa"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_reminders/l10n/sc.js b/apps/files_reminders/l10n/sc.js
deleted file mode 100644
index 4307fc64679..00000000000
--- a/apps/files_reminders/l10n/sc.js
+++ /dev/null
@@ -1,19 +0,0 @@
-OC.L10N.register(
- "files_reminders",
- {
- "Set file reminders" : "Cunfigura apuntos de archìviu",
- "Set reminder for \"{fileName}\"" : "Cunfigura un'apuntu pro \"{fileName}\"",
- "Set reminder at custom date & time" : "Cunfigura un'apuntu pro una data e ora ispetzìfica",
- "Reminder set for \"{fileName}\"" : "Apuntu cunfiguradu pro \"{fileName}\"",
- "Failed to set reminder" : "Errore in sa cunfiguratzione de s'apuntu",
- "Cancel" : "Annulla",
- "Set reminder" : "Cunfigura un'apuntu",
- "Set custom reminder" : "Cunfigura un'apuntu personalizadu",
- "Set reminder for later today" : "Cunfigura un'apuntu pro luego",
- "Tomorrow" : "Cras",
- "Set reminder for tomorrow" : "Cunfigura un'apuntu pro cras",
- "Set reminder for this weekend" : "Cunfigura un'apuntu pro custu fine de chida",
- "Next week" : "Sa chida chi benit",
- "Set reminder for next week" : "Cunfigura un'apuntu pro chida chi benit"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_reminders/l10n/sc.json b/apps/files_reminders/l10n/sc.json
deleted file mode 100644
index 1d9eb562048..00000000000
--- a/apps/files_reminders/l10n/sc.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{ "translations": {
- "Set file reminders" : "Cunfigura apuntos de archìviu",
- "Set reminder for \"{fileName}\"" : "Cunfigura un'apuntu pro \"{fileName}\"",
- "Set reminder at custom date & time" : "Cunfigura un'apuntu pro una data e ora ispetzìfica",
- "Reminder set for \"{fileName}\"" : "Apuntu cunfiguradu pro \"{fileName}\"",
- "Failed to set reminder" : "Errore in sa cunfiguratzione de s'apuntu",
- "Cancel" : "Annulla",
- "Set reminder" : "Cunfigura un'apuntu",
- "Set custom reminder" : "Cunfigura un'apuntu personalizadu",
- "Set reminder for later today" : "Cunfigura un'apuntu pro luego",
- "Tomorrow" : "Cras",
- "Set reminder for tomorrow" : "Cunfigura un'apuntu pro cras",
- "Set reminder for this weekend" : "Cunfigura un'apuntu pro custu fine de chida",
- "Next week" : "Sa chida chi benit",
- "Set reminder for next week" : "Cunfigura un'apuntu pro chida chi benit"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_reminders/l10n/tr.js b/apps/files_reminders/l10n/tr.js
index 6401ca09301..fed3ae46385 100644
--- a/apps/files_reminders/l10n/tr.js
+++ b/apps/files_reminders/l10n/tr.js
@@ -7,7 +7,7 @@ OC.L10N.register(
"View folder" : "Klasörü görüntüle",
"Files reminder" : "Dosyalar anımsatıcısı",
"The \"files_reminders\" app can work properly." : "\"files_reminders\" uygulaması düzgün çalışabilir.",
- "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "\"files_reminders\" uygulamasının düzgün çalışması için bildirim uygulaması gereklidir. Bildirimler uygulamasını etkinleştirin ya da files_reminder uygulamasını devre dışı bırakın.",
+ "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "\"files_reminders\" uygulamasının düzgün çalışması için Bildirimler uygulaması gereklidir. Bildirimler uygulamasını kullanıma alın ya da files_reminder uygulamasını kullanımdan kaldırın.",
"Set file reminders" : "Dosya anımsatıcıları ayarla",
"**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Dosya anımsatıcıları**\n\nDosya anımsatıcıları ayarlayın.\n\nNot: `Dosya anımsatıcıları` uygulamasını kullanmak için `Bildirimler` uygulamasının kurulmuş ve etkinleştirilmiş olduğundan emin olun. `Bildirimler` uygulaması `Dosya anımsatıcıları` uygulamasının doğru çalışması için gerekli API uygulamalarını sağlar.",
"Set reminder for \"{fileName}\"" : "\"{fileName}\" için anımsatıcı ayarla",
@@ -32,6 +32,6 @@ OC.L10N.register(
"Next week" : "Sonraki hafta",
"Set reminder for next week" : "Gelecek hafta için anımsatıcı ayarla",
"This files_reminder can work properly." : "Bu files_reminder düzgün çalışabilir.",
- "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "files_reminders uygulamasının düzgün çalışması için bildirim uygulaması gereklidir. Bildirimler uygulamasını etkinleştirin ya da files_reminder uygulamasını devre dışı bırakın."
+ "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "files_reminders uygulamasının düzgün çalışması için Bildirimler uygulaması gereklidir. Bildirimler uygulamasını kullanıma alın ya da files_reminder uygulamasını kullanımdan kaldırın."
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_reminders/l10n/tr.json b/apps/files_reminders/l10n/tr.json
index a5c1e321827..3a8f47edce7 100644
--- a/apps/files_reminders/l10n/tr.json
+++ b/apps/files_reminders/l10n/tr.json
@@ -5,7 +5,7 @@
"View folder" : "Klasörü görüntüle",
"Files reminder" : "Dosyalar anımsatıcısı",
"The \"files_reminders\" app can work properly." : "\"files_reminders\" uygulaması düzgün çalışabilir.",
- "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "\"files_reminders\" uygulamasının düzgün çalışması için bildirim uygulaması gereklidir. Bildirimler uygulamasını etkinleştirin ya da files_reminder uygulamasını devre dışı bırakın.",
+ "The \"files_reminders\" app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "\"files_reminders\" uygulamasının düzgün çalışması için Bildirimler uygulaması gereklidir. Bildirimler uygulamasını kullanıma alın ya da files_reminder uygulamasını kullanımdan kaldırın.",
"Set file reminders" : "Dosya anımsatıcıları ayarla",
"**📣 File reminders**\n\nSet file reminders.\n\nNote: to use the `File reminders` app, ensure that the `Notifications` app is installed and enabled. The `Notifications` app provides the necessary APIs for the `File reminders` app to work correctly." : "**📣 Dosya anımsatıcıları**\n\nDosya anımsatıcıları ayarlayın.\n\nNot: `Dosya anımsatıcıları` uygulamasını kullanmak için `Bildirimler` uygulamasının kurulmuş ve etkinleştirilmiş olduğundan emin olun. `Bildirimler` uygulaması `Dosya anımsatıcıları` uygulamasının doğru çalışması için gerekli API uygulamalarını sağlar.",
"Set reminder for \"{fileName}\"" : "\"{fileName}\" için anımsatıcı ayarla",
@@ -30,6 +30,6 @@
"Next week" : "Sonraki hafta",
"Set reminder for next week" : "Gelecek hafta için anımsatıcı ayarla",
"This files_reminder can work properly." : "Bu files_reminder düzgün çalışabilir.",
- "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "files_reminders uygulamasının düzgün çalışması için bildirim uygulaması gereklidir. Bildirimler uygulamasını etkinleştirin ya da files_reminder uygulamasını devre dışı bırakın."
+ "The files_reminder app needs the notification app to work properly. You should either enable notifications or disable files_reminder." : "files_reminders uygulamasının düzgün çalışması için Bildirimler uygulaması gereklidir. Bildirimler uygulamasını kullanıma alın ya da files_reminder uygulamasını kullanımdan kaldırın."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/az.js b/apps/files_sharing/l10n/az.js
deleted file mode 100644
index 7bf3472dfef..00000000000
--- a/apps/files_sharing/l10n/az.js
+++ /dev/null
@@ -1,60 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Server to server sharing is not enabled on this server" : "Bu serverdə, serverlərarası yayımlanma aktiv deyil",
- "The mountpoint name contains invalid characters." : "Bərkidilmə nöqtəsinin adında yalnış simvollar mövcuddur. ",
- "Invalid or untrusted SSL certificate" : "Yalnış yada inam listindən kənar SSL sertifikatı",
- "Could not authenticate to remote share, password might be wrong" : "Uzaqda olan paylaşımın əslliyini yoxlamaq olmur və ola bilər ki, şifrə yalnışdır. ",
- "Storage not valid" : "Depo etibarlı deyil",
- "Couldn't add remote share" : "Uzaqda olan yayımlanmanı əlavə etmək mümkün olmadı",
- "Shared with you" : "Sizinlə yayımlanan",
- "Shared with others" : "Hər kəsə yayımlanmış",
- "Shared by link" : "Link tərəfindən paylaşılıb",
- "Nothing shared with you yet" : "Hələki sizinlə heç bir şey paylaşılmayıb",
- "Files and folders others share with you will show up here" : "Digərlərinin sizinlə paylaşdığı fayllar və qovluqlar burda göstəriləcək",
- "Nothing shared yet" : "Paylaşılan heçnə yoxdur",
- "Files and folders you share will show up here" : "Sizin tərəfinizdən paylaşılmış fayllar və qovluqlar burda göstəriləcək",
- "No shared links" : "Paylaşılmış linklər yoxdur ",
- "Files and folders you share by link will show up here" : "Link vasitəsilə sizin tərəfinizdən paylaşılmış fayllar və qovluqlar burda göstəriləcək",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Siz uzaq paylaşımı əlavə etmək istəyirsinizmi {name} dan {owner}@{remote}?",
- "Remote share" : "Uzaq yayımlanma",
- "Remote share password" : "Uzaq yayımlanma şifrəsi",
- "Cancel" : "Dayandır",
- "Add remote share" : "Uzaq yayımlanmanı əlavə et",
- "You can upload into this folder" : "Siz bu qovluğun içinə yükləyə bilərsiniz",
- "No ownCloud installation (7 or higher) found at {remote}" : "Yüklənmiş (7 yada yuxarı) ownCloud {uzaq} unvanında tapılmadı ",
- "Invalid ownCloud url" : "Yalnış ownCloud url-i",
- "Shared by" : "Tərəfindən yayımlanıb",
- "Sharing" : "Paylaşılır",
- "A file or folder has been <strong>shared</strong>" : "Fayl və ya direktoriya <strong>yayımlandı</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Fayl yada qovluq ünvanından yayımlandı <strong>digər serverə</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Ümumi paylaşılmış fayl yada qovluq <strong>endirilmişdir</strong>",
- "You received a new remote share from %s" : "Siz %s ünvanından yeni uzaq paylaşım aldınız",
- "%1$s accepted remote share %2$s" : "%1$s qəbul etdi uzaq paylaşım %2$s",
- "%1$s declined remote share %2$s" : "%1$s təkzib etdi uzaq paylaşımı %2$s",
- "%1$s unshared %2$s from you" : "%1$s paylaşımı dayandırıldı %2$s sizin tərəfinizdən",
- "Public shared folder %1$s was downloaded" : "Ümumi paylaşılmış qovluq %1$s endirilmişdir",
- "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",
- "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.",
- "Password" : "Şifrə",
- "No entries found in this folder" : "Bu qovluqda heç bir verilən tapılmadı",
- "Name" : "Ad",
- "Share time" : "Paylaşım vaxtı",
- "Sorry, this link doesn’t seem to work anymore." : "Üzr istəyirik, bu link artıq işlək deyil.",
- "Reasons might be:" : "Səbəblər ola bilər:",
- "the item was removed" : "bölüm silinmişdir",
- "the link expired" : "linkin vaxtı bitmişdir",
- "sharing is disabled" : "paylaşım dayandırılmışdır",
- "For more info, please ask the person who sent this link." : "Ətraflı məlumat üçün, xahiş olunur linkin kim tərəfindən göndərilməsini soruşun.",
- "Add to your ownCloud" : "Öz ownCloud-nuza əlavə edin",
- "Download" : "Yüklə",
- "Download %s" : "Endir %s",
- "Direct link" : "Birbaşa link"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/az.json b/apps/files_sharing/l10n/az.json
deleted file mode 100644
index 40e16a7cc0c..00000000000
--- a/apps/files_sharing/l10n/az.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{ "translations": {
- "Server to server sharing is not enabled on this server" : "Bu serverdə, serverlərarası yayımlanma aktiv deyil",
- "The mountpoint name contains invalid characters." : "Bərkidilmə nöqtəsinin adında yalnış simvollar mövcuddur. ",
- "Invalid or untrusted SSL certificate" : "Yalnış yada inam listindən kənar SSL sertifikatı",
- "Could not authenticate to remote share, password might be wrong" : "Uzaqda olan paylaşımın əslliyini yoxlamaq olmur və ola bilər ki, şifrə yalnışdır. ",
- "Storage not valid" : "Depo etibarlı deyil",
- "Couldn't add remote share" : "Uzaqda olan yayımlanmanı əlavə etmək mümkün olmadı",
- "Shared with you" : "Sizinlə yayımlanan",
- "Shared with others" : "Hər kəsə yayımlanmış",
- "Shared by link" : "Link tərəfindən paylaşılıb",
- "Nothing shared with you yet" : "Hələki sizinlə heç bir şey paylaşılmayıb",
- "Files and folders others share with you will show up here" : "Digərlərinin sizinlə paylaşdığı fayllar və qovluqlar burda göstəriləcək",
- "Nothing shared yet" : "Paylaşılan heçnə yoxdur",
- "Files and folders you share will show up here" : "Sizin tərəfinizdən paylaşılmış fayllar və qovluqlar burda göstəriləcək",
- "No shared links" : "Paylaşılmış linklər yoxdur ",
- "Files and folders you share by link will show up here" : "Link vasitəsilə sizin tərəfinizdən paylaşılmış fayllar və qovluqlar burda göstəriləcək",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Siz uzaq paylaşımı əlavə etmək istəyirsinizmi {name} dan {owner}@{remote}?",
- "Remote share" : "Uzaq yayımlanma",
- "Remote share password" : "Uzaq yayımlanma şifrəsi",
- "Cancel" : "Dayandır",
- "Add remote share" : "Uzaq yayımlanmanı əlavə et",
- "You can upload into this folder" : "Siz bu qovluğun içinə yükləyə bilərsiniz",
- "No ownCloud installation (7 or higher) found at {remote}" : "Yüklənmiş (7 yada yuxarı) ownCloud {uzaq} unvanında tapılmadı ",
- "Invalid ownCloud url" : "Yalnış ownCloud url-i",
- "Shared by" : "Tərəfindən yayımlanıb",
- "Sharing" : "Paylaşılır",
- "A file or folder has been <strong>shared</strong>" : "Fayl və ya direktoriya <strong>yayımlandı</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Fayl yada qovluq ünvanından yayımlandı <strong>digər serverə</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Ümumi paylaşılmış fayl yada qovluq <strong>endirilmişdir</strong>",
- "You received a new remote share from %s" : "Siz %s ünvanından yeni uzaq paylaşım aldınız",
- "%1$s accepted remote share %2$s" : "%1$s qəbul etdi uzaq paylaşım %2$s",
- "%1$s declined remote share %2$s" : "%1$s təkzib etdi uzaq paylaşımı %2$s",
- "%1$s unshared %2$s from you" : "%1$s paylaşımı dayandırıldı %2$s sizin tərəfinizdən",
- "Public shared folder %1$s was downloaded" : "Ümumi paylaşılmış qovluq %1$s endirilmişdir",
- "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",
- "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.",
- "Password" : "Şifrə",
- "No entries found in this folder" : "Bu qovluqda heç bir verilən tapılmadı",
- "Name" : "Ad",
- "Share time" : "Paylaşım vaxtı",
- "Sorry, this link doesn’t seem to work anymore." : "Üzr istəyirik, bu link artıq işlək deyil.",
- "Reasons might be:" : "Səbəblər ola bilər:",
- "the item was removed" : "bölüm silinmişdir",
- "the link expired" : "linkin vaxtı bitmişdir",
- "sharing is disabled" : "paylaşım dayandırılmışdır",
- "For more info, please ask the person who sent this link." : "Ətraflı məlumat üçün, xahiş olunur linkin kim tərəfindən göndərilməsini soruşun.",
- "Add to your ownCloud" : "Öz ownCloud-nuza əlavə edin",
- "Download" : "Yüklə",
- "Download %s" : "Endir %s",
- "Direct link" : "Birbaşa link"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/bn_BD.js b/apps/files_sharing/l10n/bn_BD.js
deleted file mode 100644
index 0e715b8c6cb..00000000000
--- a/apps/files_sharing/l10n/bn_BD.js
+++ /dev/null
@@ -1,35 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Server to server sharing is not enabled on this server" : "এই সার্ভারে সার্ভার হতে সার্ভারে ভাগাভাগি কার্যকর নয়",
- "Invalid or untrusted SSL certificate" : "অবৈধ বা অবিশ্বস্ত SSL সার্টিফিকেট",
- "Couldn't add remote share" : "দুরবর্তী ভাগাভাগি যোগ করা গেলনা",
- "Shared with you" : "আপনার সাথে ভাগাভাগি করেছেন",
- "Shared by link" : "লিঙ্কের মাধ্যমে ভাগাভাগিকৃত",
- "Remote share" : "দুরবর্তী ভাগাভাগি",
- "Cancel" : "বাতিল",
- "Invalid ownCloud url" : "অবৈধ ওউনক্লাউড url",
- "Shared by" : "যাদের মাঝে ভাগাভাগি করা হয়েছে",
- "Sharing" : "ভাগাভাগিরত",
- "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 দলের সাথে ভাগাভাগি করেছেন",
- "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." : "কুটশব্দটি ভুল। আবার চেষ্টা করুন।",
- "Password" : "কূটশব্দ",
- "Name" : "নাম",
- "Share time" : "ভাগাভাগির সময়",
- "Sorry, this link doesn’t seem to work anymore." : "দুঃখিত, এই লিঙ্কটি আর কার্যকর নয়।",
- "Reasons might be:" : "কারণসমূহ হতে পারে:",
- "the item was removed" : "আইটেমটি অপসারণ করা হয়েছিল",
- "the link expired" : "মেয়াদোত্তীর্ন লিঙ্ক",
- "sharing is disabled" : "ভাগাভাগি অকার্যকর",
- "For more info, please ask the person who sent this link." : "বিস্তারিত তথ্যের জন্য এই লিঙ্কের প্রেরককে জিজ্ঞাসা করুন।",
- "Download" : "ডাউনলোড",
- "Download %s" : "ডাউনলোড %s",
- "Direct link" : "সরাসরি লিঙ্ক"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/bn_BD.json b/apps/files_sharing/l10n/bn_BD.json
deleted file mode 100644
index 063b0761cb7..00000000000
--- a/apps/files_sharing/l10n/bn_BD.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{ "translations": {
- "Server to server sharing is not enabled on this server" : "এই সার্ভারে সার্ভার হতে সার্ভারে ভাগাভাগি কার্যকর নয়",
- "Invalid or untrusted SSL certificate" : "অবৈধ বা অবিশ্বস্ত SSL সার্টিফিকেট",
- "Couldn't add remote share" : "দুরবর্তী ভাগাভাগি যোগ করা গেলনা",
- "Shared with you" : "আপনার সাথে ভাগাভাগি করেছেন",
- "Shared by link" : "লিঙ্কের মাধ্যমে ভাগাভাগিকৃত",
- "Remote share" : "দুরবর্তী ভাগাভাগি",
- "Cancel" : "বাতিল",
- "Invalid ownCloud url" : "অবৈধ ওউনক্লাউড url",
- "Shared by" : "যাদের মাঝে ভাগাভাগি করা হয়েছে",
- "Sharing" : "ভাগাভাগিরত",
- "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 দলের সাথে ভাগাভাগি করেছেন",
- "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." : "কুটশব্দটি ভুল। আবার চেষ্টা করুন।",
- "Password" : "কূটশব্দ",
- "Name" : "নাম",
- "Share time" : "ভাগাভাগির সময়",
- "Sorry, this link doesn’t seem to work anymore." : "দুঃখিত, এই লিঙ্কটি আর কার্যকর নয়।",
- "Reasons might be:" : "কারণসমূহ হতে পারে:",
- "the item was removed" : "আইটেমটি অপসারণ করা হয়েছিল",
- "the link expired" : "মেয়াদোত্তীর্ন লিঙ্ক",
- "sharing is disabled" : "ভাগাভাগি অকার্যকর",
- "For more info, please ask the person who sent this link." : "বিস্তারিত তথ্যের জন্য এই লিঙ্কের প্রেরককে জিজ্ঞাসা করুন।",
- "Download" : "ডাউনলোড",
- "Download %s" : "ডাউনলোড %s",
- "Direct link" : "সরাসরি লিঙ্ক"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/bs.js b/apps/files_sharing/l10n/bs.js
deleted file mode 100644
index ce2917b50b3..00000000000
--- a/apps/files_sharing/l10n/bs.js
+++ /dev/null
@@ -1,11 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Cancel" : "Odustani",
- "Shared by" : "Dijeli",
- "Sharing" : "Dijeljenje",
- "Password" : "Lozinka",
- "Name" : "Ime",
- "Download" : "Preuzmite"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files_sharing/l10n/bs.json b/apps/files_sharing/l10n/bs.json
deleted file mode 100644
index ad6237b8166..00000000000
--- a/apps/files_sharing/l10n/bs.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{ "translations": {
- "Cancel" : "Odustani",
- "Shared by" : "Dijeli",
- "Sharing" : "Dijeljenje",
- "Password" : "Lozinka",
- "Name" : "Ime",
- "Download" : "Preuzmite"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/cs.js b/apps/files_sharing/l10n/cs.js
index 8753dc54d64..0c50df839a3 100644
--- a/apps/files_sharing/l10n/cs.js
+++ b/apps/files_sharing/l10n/cs.js
@@ -368,6 +368,8 @@ OC.L10N.register(
"List of unapproved shares." : "Seznam neschválených sdílení.",
"No pending shares" : "Žádná čekající sdílení",
"Shares you have received but not approved will show up here" : "Sdílení, která jste obdrželi, ale neschválili, se zobrazí zde",
+ "Error deleting the share: {errorMessage}" : "Chyba při mazán sdílení: {errorMessage}",
+ "Error deleting the share" : "Chyba při mazání sdílení",
"Error updating the share: {errorMessage}" : "Chyba při aktualizaci sdílení: {errorMessage}",
"Error updating the share" : "Chyba při aktualizaci sdílení",
"File \"{path}\" has been unshared" : "Sdílení souboru „{path}“ bylo zrušeno",
diff --git a/apps/files_sharing/l10n/cs.json b/apps/files_sharing/l10n/cs.json
index 50059aea129..93497447ce5 100644
--- a/apps/files_sharing/l10n/cs.json
+++ b/apps/files_sharing/l10n/cs.json
@@ -366,6 +366,8 @@
"List of unapproved shares." : "Seznam neschválených sdílení.",
"No pending shares" : "Žádná čekající sdílení",
"Shares you have received but not approved will show up here" : "Sdílení, která jste obdrželi, ale neschválili, se zobrazí zde",
+ "Error deleting the share: {errorMessage}" : "Chyba při mazán sdílení: {errorMessage}",
+ "Error deleting the share" : "Chyba při mazání sdílení",
"Error updating the share: {errorMessage}" : "Chyba při aktualizaci sdílení: {errorMessage}",
"Error updating the share" : "Chyba při aktualizaci sdílení",
"File \"{path}\" has been unshared" : "Sdílení souboru „{path}“ bylo zrušeno",
diff --git a/apps/files_sharing/l10n/cy_GB.js b/apps/files_sharing/l10n/cy_GB.js
deleted file mode 100644
index 1a8addf1729..00000000000
--- a/apps/files_sharing/l10n/cy_GB.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Cancel" : "Diddymu",
- "Shared by" : "Rhannwyd gan",
- "Password" : "Cyfrinair",
- "Name" : "Enw",
- "Download" : "Llwytho i lawr"
-},
-"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;");
diff --git a/apps/files_sharing/l10n/cy_GB.json b/apps/files_sharing/l10n/cy_GB.json
deleted file mode 100644
index 9eebc50be7d..00000000000
--- a/apps/files_sharing/l10n/cy_GB.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Cancel" : "Diddymu",
- "Shared by" : "Rhannwyd gan",
- "Password" : "Cyfrinair",
- "Name" : "Enw",
- "Download" : "Llwytho i lawr"
-},"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/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js
index 0373e006838..924bb029de8 100644
--- a/apps/files_sharing/l10n/de.js
+++ b/apps/files_sharing/l10n/de.js
@@ -368,6 +368,8 @@ OC.L10N.register(
"List of unapproved shares." : "Liste ungeprüfter Freigaben.",
"No pending shares" : "Keine ausstehenden Freigaben",
"Shares you have received but not approved will show up here" : "Freigaben, die du erhalten, aber nicht bestätigt hast, werden hier angezeigt",
+ "Error deleting the share: {errorMessage}" : "Fehler beim Löschen der Freigabe: {errorMessage}",
+ "Error deleting the share" : "Fehler beim Löschen der Freigabe",
"Error updating the share: {errorMessage}" : "Fehler beim Aktualisieren der Freigabe: {errorMessage}",
"Error updating the share" : "Fehler beim Aktualisieren der Freigabe",
"File \"{path}\" has been unshared" : "Freigabe für die Datei \"{path}\" wurde entfernt",
diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json
index 056ae0275de..05ff5637b68 100644
--- a/apps/files_sharing/l10n/de.json
+++ b/apps/files_sharing/l10n/de.json
@@ -366,6 +366,8 @@
"List of unapproved shares." : "Liste ungeprüfter Freigaben.",
"No pending shares" : "Keine ausstehenden Freigaben",
"Shares you have received but not approved will show up here" : "Freigaben, die du erhalten, aber nicht bestätigt hast, werden hier angezeigt",
+ "Error deleting the share: {errorMessage}" : "Fehler beim Löschen der Freigabe: {errorMessage}",
+ "Error deleting the share" : "Fehler beim Löschen der Freigabe",
"Error updating the share: {errorMessage}" : "Fehler beim Aktualisieren der Freigabe: {errorMessage}",
"Error updating the share" : "Fehler beim Aktualisieren der Freigabe",
"File \"{path}\" has been unshared" : "Freigabe für die Datei \"{path}\" wurde entfernt",
diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js
index f20c9209224..42f8084872a 100644
--- a/apps/files_sharing/l10n/de_DE.js
+++ b/apps/files_sharing/l10n/de_DE.js
@@ -368,6 +368,8 @@ OC.L10N.register(
"List of unapproved shares." : "Liste ungeprüfter Freigaben.",
"No pending shares" : "Keine ausstehenden Freigaben",
"Shares you have received but not approved will show up here" : "Freigaben, die Sie erhalten, aber nicht bestätigt haben, werden hier angezeigt",
+ "Error deleting the share: {errorMessage}" : "Fehler beim Löschen der Freigabe: {errorMessage}",
+ "Error deleting the share" : "Fehler beim Löschen der Freigabe",
"Error updating the share: {errorMessage}" : "Fehler beim Aktualisieren der Freigabe: {errorMessage}",
"Error updating the share" : "Fehler beim Aktualisieren der Freigabe",
"File \"{path}\" has been unshared" : "Freigabe für die Datei \"{path}\" wurde entfernt",
diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json
index 14112761270..875aa3a5f6c 100644
--- a/apps/files_sharing/l10n/de_DE.json
+++ b/apps/files_sharing/l10n/de_DE.json
@@ -366,6 +366,8 @@
"List of unapproved shares." : "Liste ungeprüfter Freigaben.",
"No pending shares" : "Keine ausstehenden Freigaben",
"Shares you have received but not approved will show up here" : "Freigaben, die Sie erhalten, aber nicht bestätigt haben, werden hier angezeigt",
+ "Error deleting the share: {errorMessage}" : "Fehler beim Löschen der Freigabe: {errorMessage}",
+ "Error deleting the share" : "Fehler beim Löschen der Freigabe",
"Error updating the share: {errorMessage}" : "Fehler beim Aktualisieren der Freigabe: {errorMessage}",
"Error updating the share" : "Fehler beim Aktualisieren der Freigabe",
"File \"{path}\" has been unshared" : "Freigabe für die Datei \"{path}\" wurde entfernt",
diff --git a/apps/files_sharing/l10n/el.js b/apps/files_sharing/l10n/el.js
index 72668131da8..8d9efb9e50e 100644
--- a/apps/files_sharing/l10n/el.js
+++ b/apps/files_sharing/l10n/el.js
@@ -232,6 +232,7 @@ OC.L10N.register(
"List of unapproved shares." : "Λίστα μη αποδεκτών κοινόχρηστων.",
"No pending shares" : "Δεν εκκρεμούν κοινόχρηστα",
"Shares you have received but not approved will show up here" : "Κοινόχρηστα που έχετε λάβει αλλά δεν έχετε εγκρίνει θα εμφανιστούν εδώ",
+ "Error deleting the share" : "Σφάλμα διαγραφής του κοινόχρηστου",
"Error updating the share: {errorMessage}" : "Σφάλμα κατά τη δημιουργία της κοινής χρήσης: {errorMessage}",
"Error updating the share" : "Σφάλμα κατά την ενημέρωση του κοινόχρηστου",
"Share label saved" : "Διαμοιρασμένη ετικέτα αποθηκεύτηκε ",
diff --git a/apps/files_sharing/l10n/el.json b/apps/files_sharing/l10n/el.json
index 33b13004506..fe132c15bc8 100644
--- a/apps/files_sharing/l10n/el.json
+++ b/apps/files_sharing/l10n/el.json
@@ -230,6 +230,7 @@
"List of unapproved shares." : "Λίστα μη αποδεκτών κοινόχρηστων.",
"No pending shares" : "Δεν εκκρεμούν κοινόχρηστα",
"Shares you have received but not approved will show up here" : "Κοινόχρηστα που έχετε λάβει αλλά δεν έχετε εγκρίνει θα εμφανιστούν εδώ",
+ "Error deleting the share" : "Σφάλμα διαγραφής του κοινόχρηστου",
"Error updating the share: {errorMessage}" : "Σφάλμα κατά τη δημιουργία της κοινής χρήσης: {errorMessage}",
"Error updating the share" : "Σφάλμα κατά την ενημέρωση του κοινόχρηστου",
"Share label saved" : "Διαμοιρασμένη ετικέτα αποθηκεύτηκε ",
diff --git a/apps/files_sharing/l10n/eo.js b/apps/files_sharing/l10n/eo.js
deleted file mode 100644
index 9e1cc24982b..00000000000
--- a/apps/files_sharing/l10n/eo.js
+++ /dev/null
@@ -1,208 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "File shares" : "Dosieraj kunhavoj",
- "Downloaded via public link" : "Elŝutita per publika ligilo",
- "Downloaded by {email}" : "Elŝutita de {email}",
- "{file} downloaded via public link" : "{file} elŝutita per publika ligilo",
- "{email} downloaded {file}" : "{email} elŝutis la dosieron {file}",
- "Shared with group {group}" : "Kunhavata kun grupo {group}",
- "Removed share for group {group}" : "Foriĝis kunhavo kun grupo {group}",
- "{actor} shared with group {group}" : "{actor} kunhavigis kun grupo {group}",
- "{actor} removed share for group {group}" : "{actor} forigis kunhavon kun grupo {group}",
- "Share for group {group} expired" : "Kunhavo kun grupo {group} senvalidiĝis",
- "You shared {file} with group {group}" : "Vi kunhavigis {file} kun grupo {group}",
- "You removed group {group} from {file}" : "Vi forigis grupon {group} el {file}",
- "{actor} shared {file} with group {group}" : "{actor} kunhavigis dosieron {file} kun grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} forigis grupon {group} el dosiero {file}",
- "Share for file {file} with group {group} expired" : "Kunhavo de dosiero {file} kun grupo {group} senvalidiĝis",
- "Shared as public link" : "Kunhavigita per publika ligilo",
- "Removed public link" : "Foriĝis publika ligilo",
- "Public link expired" : "Publika ligilo senvalidiĝis",
- "{actor} shared as public link" : "{actor} kunhavigis per publika ligilo",
- "{actor} removed public link" : "{actor} forigis publikan ligilon",
- "Public link of {actor} expired" : "Publika ligilo de {actor} senvalidiĝis",
- "You shared {file} as public link" : "Vi kunhavigis dosieron {file} kiel publika ligilo",
- "You removed public link for {file}" : "Vi forigis publikan ligilon por {file}",
- "Public link expired for {file}" : "Publika ligilo de dosiero {file} senvalidiĝis",
- "{actor} shared {file} as public link" : "{actor} kunhavigis dosieron {file} kiel publika ligilo",
- "{actor} removed public link for {file}" : "{actor} forigis publikan ligilon el {file}",
- "Public link of {actor} for {file} expired" : "Publika ligilo de {actor} pri {file} senvalidiĝis",
- "{user} accepted the remote share" : "{user} akceptis la foran kunhavon",
- "{user} declined the remote share" : "{user} malakceptis la foran kunhavon",
- "You received a new remote share {file} from {user}" : "Vi ricevis novan foran kunhavon {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} akceptis la foran kunhavon de {file}",
- "{user} declined the remote share of {file}" : "{user} malakceptis la foran kunhavon de {file}",
- "{user} unshared {file} from you" : "{user} malkunhavigis {file} al vi",
- "Shared with {user}" : "Kunhavigita kun {user}",
- "Removed share for {user}" : "Kunhavo forigita el {user}",
- "You removed yourself" : "Vi forigis vin mem",
- "{actor} removed themselves" : "{actor} forigis sin mem",
- "{actor} shared with {user}" : "{actor} kunhavigis kun {user}",
- "{actor} removed share for {user}" : "{actor} forigis kunhavon kun {user}",
- "Shared by {actor}" : "Kunhavigita de {actor}",
- "{actor} removed share" : "{actor} forigis kunhavon",
- "Share for {user} expired" : "Kunhavo por {user} senvalidiĝis",
- "Share expired" : "Kunhavo senvalidiĝis",
- "You shared {file} with {user}" : "Vi kunhavigis {file} kun {user}",
- "You removed {user} from {file}" : "Vi forigis {user} el {file}",
- "You removed yourself from {file}" : "Vi forigis vin mem el {file}",
- "{actor} removed themselves from {file}" : "{actor} forigis sin mem el {file}",
- "{actor} shared {file} with {user}" : "{actor} kunhavigis dosieron {file} kun {group}",
- "{actor} removed {user} from {file}" : "{actor} forigis {user} el {file}",
- "{actor} shared {file} with you" : "{actor} kunhavigis {file} kun vi",
- "{actor} removed you from the share named {file}" : "{actor} forigis vin el la kunhavo nomita {file}",
- "Share for file {file} with {user} expired" : "Kunhavo de dosiero {file} kun {user} senvalidiĝis",
- "Share for file {file} expired" : "Kunhavo de dosiero {file} senvalidiĝis",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Dosiero aŭ dosierujo kunhavigita per retpoŝte aŭ publika ligilo <strong>elŝutiĝis</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Dosiero aŭ dosierujo kunhaviĝis el <strong>alia servilo</strong>",
- "Sharing" : "Kunhavigo",
- "A file or folder has been <strong>shared</strong>" : "Dosiero aŭ dosierujo <strong>kunhaviĝis</strong>",
- "Could not delete share" : "Ne eblis forigi kunhavon",
- "Please specify a file or folder path" : "Bv. entajpi vojon al dosiero aŭ dosierujo",
- "Could not create share" : "Ne eblis krei kunhavon",
- "Invalid date, date format must be YYYY-MM-DD" : "Nevalida dato; datoformo estu JJJJ-MM-TT",
- "Group sharing is disabled by the administrator" : "Grup-kunhavigon malebligis la administranto",
- "Please specify a valid group" : "Bv. doni validan grupon",
- "Public link sharing is disabled by the administrator" : "Kunhavigon per publika ligilo malebligis la administranto",
- "Public upload disabled by the administrator" : "Publikan alŝuton malebligis la administranto",
- "Public upload is only possible for publicly shared folders" : "Publika alŝuto eblas nur por publike kunhavigitaj dosierujoj",
- "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Kunhavigo de %s per sendado de la pasvorto per „Nextcloud Talk“ malsukcesis, ĉar Nextcloud Talk ne estas ebligita.",
- "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Kunhavigo de %1$s malsukcesis, ĉar la servilo ne permesas kunhavon de tipo %2$s",
- "Sharing %s failed because the back end does not support room shares" : "Kunhavigo de %s malsukcesis, ĉar la servilo ne subtenas kunhavon de ĉambro",
- "Unknown share type" : "Nekonata kunhava tipo",
- "Not a directory" : "Ne estas dosierujo",
- "Could not lock path" : "Ne eblis ŝlosi vojon",
- "Wrong or no update parameter given" : "Neniu aŭ neĝusta ĝisdatiga parametro donita",
- "Wrong password" : "Neĝusta pasvorto",
- "shared by %s" : "kunhavigita de %s",
- "Download" : "Elŝuti",
- "Direct link" : "Direkta ligilo",
- "Share API is disabled" : "Kunhavo-API estas malebligita",
- "File sharing" : "Kunhavigo de dosieroj",
- "Share will expire tomorrow" : "La kunhavo senvalidiĝos morgaŭ",
- "Your share of {node} will expire tomorrow" : "Via kunhavo „{node} “ senvalidiĝos morgaŭ",
- "You received {share} as a share by {user}" : "Vi ricevis „{share}“ kiel kunhavon el {user}",
- "You received {share} to group {group} as a share by {user}" : "Vi ricevis „{share}“ al grupo {group} kiel kunhavon el {user}",
- "Accept" : "Akcepti",
- "Decline" : "Malakcepti",
- "People" : "Homoj",
- "Expiration date" : "Limdato",
- "Share link" : "Kunhavigi ligilon",
- "Copy to clipboard" : "Kopii tondejen",
- "Link copied to clipboard" : "Ligilo kopiita al tondujo",
- "Select" : "Elekti",
- "Cancel" : "Nuligi",
- "Close" : "Malfermi",
- "Continue" : "Daŭrigi",
- "Error creating the share" : "Eraro dum kreo de la kunhavigo",
- "Reset" : "Restarigi",
- "Unknown error" : "Nekonata eraro",
- "group" : "grupo",
- "conversation" : "konversacio",
- "remote" : "fora",
- "remote group" : "fora grupo",
- "guest" : "gasto",
- "Shared with the group {user} by {owner}" : "Kunhavigita kun la grupo {group} fare de {owner}",
- "Shared with the conversation {user} by {owner}" : "Kunhavigita kun la konversacio {user} fare de {owner}",
- "Shared with {user} by {owner}" : "Kunhavigita kun {user} fare de {owner}",
- "Unshare" : "Malkunhavigi",
- "Internal link" : "Interna ligilo",
- "Cannot copy, please copy the link manually" : "Ne eblis kopii la ligilon; kopiu ĝin permane.",
- "Link copied" : "Ligilo kopiita",
- "Please enter the following required information before creating the share" : "Entajpu la jenajn neprajn informojn antaŭ ol krei la kunhavigon",
- "Password protection (enforced)" : "Pasvorta protekto (efektiva)",
- "Password protection" : "Protektita per pasvorto",
- "Enter a password" : "Entajpu pasvorton",
- "Expiration date (enforced)" : "Limdato (efektiva)",
- "Add another link" : "Aldoni plian ligilon",
- "Create a new share link" : "Krei novan kunhavan ligilon",
- "Shared via link by {initiator}" : "Kunhavata per ligilo de {initiator}",
- "Error, please enter proper password and/or expiration date" : "Eraro; entajpu ĝustan pasvorton aŭ limdaton",
- "Can edit" : "Povas redakti",
- "No recommendations. Start typing." : "Neniu propono. Ektajpu.",
- "Resharing is not allowed" : "Re-kunhavigi ne estas permesita",
- "Searching …" : "Serĉado ...",
- "No elements found." : "Nenio trovita.",
- "Search globally" : "Serĉi ĉie",
- "Guest" : "Gasto",
- "Group" : "Grupo",
- "Email" : "Retpoŝtadreso",
- "on {server}" : "ĉe {server}",
- "Terms of service" : "Kondiĉoj de uzado",
- "Allow upload and editing" : "Permesi alŝuton kaj redakton",
- "Allow editing" : "Permesi modifon",
- "Advanced settings" : "Altanivela agordo",
- "Set expiration date" : "Uzi limdaton",
- "Hide download" : "Kaŝi elŝuton",
- "Note to recipient" : "Noto por la ricevonto",
- "Enter a note for the share recipient" : "Entajpu noton por la ricevonto",
- "Read" : "Legi",
- "Edit" : "Modifi",
- "Share" : "Kunhavigi",
- "Delete" : "Forigi",
- "Delete share" : "Forigi kunhavigon",
- "Shares" : "Kunhavoj",
- "Unable to load the shares list" : "Ne eblas ricevi kunhavliston",
- "Expires {relativetime}" : "Senvalidiĝas {relativetime}",
- "this share just expired." : "Tiu kunhavo ĵus senvalidiĝis.",
- "Shared with you by {owner}" : "Kunhavigita kun vi de {owner}",
- "Link to a file" : "Ligilo al dosiero",
- "Shared" : "Kunhavigita",
- "Shared with others" : "Kunhavata kun aliaj",
- "No shares" : "Neniu kunhavo",
- "Shared with you" : "Kunhavata kun vi",
- "Nothing shared with you yet" : "Nenio kunhavatas kun vi ankoraŭ",
- "Nothing shared yet" : "Nenio kunhavatas ankoraŭ",
- "Shared by link" : "Kunhavata per ligilo",
- "No shared links" : "Neniu kunhavata ligilo",
- "Deleted shares" : "Forigitaj kunhavigoj",
- "No deleted shares" : "Neniu forigita kunhavigo",
- "Error updating the share" : "Eraro dum ĝisdatigo de la kunhavigo",
- "Shared by" : "Kunhavigita de",
- "Shared with" : "Kunhavigita kun",
- "Shared with you and the group {group} by {owner}" : "Kunhavigita kun vi kaj la grupo {group} de {owner}",
- "Shared with you and {circle} by {owner}" : "Kunhavigita kun vi kaj {circle} de {owner}",
- "Shared with you and the conversation {conversation} by {owner}" : "Kunhavigita kun vi kaj la konversacio {conversation} fare de {owner}",
- "Shared with you in a conversation by {owner}" : "Kunhavigita kun vi en konversacio de {owner}",
- "Share note" : "Kunhavigo noton",
- "Show list view" : "Montri listan vidon",
- "Show grid view" : "Montri kradan vidon",
- "Upload files to %s" : "Alŝuti dosierojn al %s",
- "Note" : "Noto",
- "Select or drop files" : "Elekti aŭ demeti dosierojn",
- "Uploaded files:" : "Alŝutitaj dosieroj:",
- "By uploading files, you agree to the %1$sterms of service%2$s." : "Se vi alŝutas dosierojn, vi konsentas pri %1$skondiĉoj de uzado%2$s.",
- "Share not found" : "Kunhavigo ne troviĝis",
- "Back to %s" : "Antaŭen al %s",
- "Add to your Nextcloud" : "Aldoni al via Nextcloud",
- "error" : "eraro",
- "This will stop your current uploads." : "Tio haltigos viajn nunajn alŝutojn.",
- "Move or copy" : "Movi aŭ kopii",
- "You can upload into this folder" : "Vi povas alŝuti en ĉi tiun dosierujon",
- "No compatible server found at {remote}" : "Neniu kongrua servilo trovita je {remote}",
- "Invalid server URL" : "Nevalida servila retadreso",
- "Failed to add the public link to your Nextcloud" : "Ne eblis aldoni la publikan ligilon al via Nextcloud",
- "Files" : "Dosieroj",
- "Please specify a valid user" : "Bv. doni validan uzanton",
- "You cannot share to a Circle if the app is not enabled" : "Vi ne povas kunhavigi per Rondo, se la aplikaĵo „Rondo“ ne estas ebligita",
- "Please specify a valid circle" : "Bv. doni validan rondon",
- "Download all files" : "Elŝuti ĉiujn dosierojn",
- "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Tiu aplikaĵo ebligas al uzantoj kunhavigi dosieroj ene de Nextcloud. Se ebligita, la administranto povas elekti, kiuj grupoj povas kunhavigi dosierojn. Tiam, uzantoj povas kunhavigi dosierojn kaj dosierujojn kun aliaj uzantoj kaj grupoj ene de Nextcloud. Cetere, se la administranto permesas kunhavigi ligilojn, ekstera ligilo uzeblas por kunhavigi dosieroj kun aliaj uzantoj ekster Nextcloud. Administrantoj povas ankaŭ devigi uzon de pasvortoj, limdatoj, kaj permesi servil-al-servila kunhavigon per kunhaviga ligilo, kaj kunhavigon el porteblaj aparatoj.\nMalebligi tiun funkcion forigas kunhavigitajn dosierojn kaj dosierujon el la servilo por ĉiuj kunhavaj ricevantoj, kaj ankaŭ por la sinkronigaj klientoj kaj la porteblaj aplikaĵoj. Pli da informoj en la dokumentaro de Nextcloud.",
- "Read only" : "Nurlega",
- "File drop (upload only)" : "Demeti dosieron (nur alŝuto)",
- "Upload" : "Alŝuti",
- "Only works for users with access to this folder" : "Nur validas por uzantoj, kiuj povas aliri al tiu dosierujo",
- "Only works for users with access to this file" : "Nur validas por uzantoj, kiuj povas aliri al tiu dosiero",
- "Enter a date" : "Entajpu daton",
- "Circle" : "Rondo",
- "No entries found in this folder" : "Neniu enigo troviĝis en ĉi tiu dosierujo",
- "Name" : "Nomo",
- "Share time" : "Kunhavotempo",
- "Reasons might be:" : "Kialoj povas esti:",
- "the item was removed" : "la ero foriĝis",
- "the link expired" : "la ligilo eksvalidiĝis",
- "sharing is disabled" : "kunhavigo malkapablas",
- "For more info, please ask the person who sent this link." : "Por plia informo, bonvolu peti al la persono, kiu sendis ĉi tiun ligilon."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/eo.json b/apps/files_sharing/l10n/eo.json
deleted file mode 100644
index f852a74222f..00000000000
--- a/apps/files_sharing/l10n/eo.json
+++ /dev/null
@@ -1,206 +0,0 @@
-{ "translations": {
- "File shares" : "Dosieraj kunhavoj",
- "Downloaded via public link" : "Elŝutita per publika ligilo",
- "Downloaded by {email}" : "Elŝutita de {email}",
- "{file} downloaded via public link" : "{file} elŝutita per publika ligilo",
- "{email} downloaded {file}" : "{email} elŝutis la dosieron {file}",
- "Shared with group {group}" : "Kunhavata kun grupo {group}",
- "Removed share for group {group}" : "Foriĝis kunhavo kun grupo {group}",
- "{actor} shared with group {group}" : "{actor} kunhavigis kun grupo {group}",
- "{actor} removed share for group {group}" : "{actor} forigis kunhavon kun grupo {group}",
- "Share for group {group} expired" : "Kunhavo kun grupo {group} senvalidiĝis",
- "You shared {file} with group {group}" : "Vi kunhavigis {file} kun grupo {group}",
- "You removed group {group} from {file}" : "Vi forigis grupon {group} el {file}",
- "{actor} shared {file} with group {group}" : "{actor} kunhavigis dosieron {file} kun grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} forigis grupon {group} el dosiero {file}",
- "Share for file {file} with group {group} expired" : "Kunhavo de dosiero {file} kun grupo {group} senvalidiĝis",
- "Shared as public link" : "Kunhavigita per publika ligilo",
- "Removed public link" : "Foriĝis publika ligilo",
- "Public link expired" : "Publika ligilo senvalidiĝis",
- "{actor} shared as public link" : "{actor} kunhavigis per publika ligilo",
- "{actor} removed public link" : "{actor} forigis publikan ligilon",
- "Public link of {actor} expired" : "Publika ligilo de {actor} senvalidiĝis",
- "You shared {file} as public link" : "Vi kunhavigis dosieron {file} kiel publika ligilo",
- "You removed public link for {file}" : "Vi forigis publikan ligilon por {file}",
- "Public link expired for {file}" : "Publika ligilo de dosiero {file} senvalidiĝis",
- "{actor} shared {file} as public link" : "{actor} kunhavigis dosieron {file} kiel publika ligilo",
- "{actor} removed public link for {file}" : "{actor} forigis publikan ligilon el {file}",
- "Public link of {actor} for {file} expired" : "Publika ligilo de {actor} pri {file} senvalidiĝis",
- "{user} accepted the remote share" : "{user} akceptis la foran kunhavon",
- "{user} declined the remote share" : "{user} malakceptis la foran kunhavon",
- "You received a new remote share {file} from {user}" : "Vi ricevis novan foran kunhavon {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} akceptis la foran kunhavon de {file}",
- "{user} declined the remote share of {file}" : "{user} malakceptis la foran kunhavon de {file}",
- "{user} unshared {file} from you" : "{user} malkunhavigis {file} al vi",
- "Shared with {user}" : "Kunhavigita kun {user}",
- "Removed share for {user}" : "Kunhavo forigita el {user}",
- "You removed yourself" : "Vi forigis vin mem",
- "{actor} removed themselves" : "{actor} forigis sin mem",
- "{actor} shared with {user}" : "{actor} kunhavigis kun {user}",
- "{actor} removed share for {user}" : "{actor} forigis kunhavon kun {user}",
- "Shared by {actor}" : "Kunhavigita de {actor}",
- "{actor} removed share" : "{actor} forigis kunhavon",
- "Share for {user} expired" : "Kunhavo por {user} senvalidiĝis",
- "Share expired" : "Kunhavo senvalidiĝis",
- "You shared {file} with {user}" : "Vi kunhavigis {file} kun {user}",
- "You removed {user} from {file}" : "Vi forigis {user} el {file}",
- "You removed yourself from {file}" : "Vi forigis vin mem el {file}",
- "{actor} removed themselves from {file}" : "{actor} forigis sin mem el {file}",
- "{actor} shared {file} with {user}" : "{actor} kunhavigis dosieron {file} kun {group}",
- "{actor} removed {user} from {file}" : "{actor} forigis {user} el {file}",
- "{actor} shared {file} with you" : "{actor} kunhavigis {file} kun vi",
- "{actor} removed you from the share named {file}" : "{actor} forigis vin el la kunhavo nomita {file}",
- "Share for file {file} with {user} expired" : "Kunhavo de dosiero {file} kun {user} senvalidiĝis",
- "Share for file {file} expired" : "Kunhavo de dosiero {file} senvalidiĝis",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Dosiero aŭ dosierujo kunhavigita per retpoŝte aŭ publika ligilo <strong>elŝutiĝis</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Dosiero aŭ dosierujo kunhaviĝis el <strong>alia servilo</strong>",
- "Sharing" : "Kunhavigo",
- "A file or folder has been <strong>shared</strong>" : "Dosiero aŭ dosierujo <strong>kunhaviĝis</strong>",
- "Could not delete share" : "Ne eblis forigi kunhavon",
- "Please specify a file or folder path" : "Bv. entajpi vojon al dosiero aŭ dosierujo",
- "Could not create share" : "Ne eblis krei kunhavon",
- "Invalid date, date format must be YYYY-MM-DD" : "Nevalida dato; datoformo estu JJJJ-MM-TT",
- "Group sharing is disabled by the administrator" : "Grup-kunhavigon malebligis la administranto",
- "Please specify a valid group" : "Bv. doni validan grupon",
- "Public link sharing is disabled by the administrator" : "Kunhavigon per publika ligilo malebligis la administranto",
- "Public upload disabled by the administrator" : "Publikan alŝuton malebligis la administranto",
- "Public upload is only possible for publicly shared folders" : "Publika alŝuto eblas nur por publike kunhavigitaj dosierujoj",
- "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Kunhavigo de %s per sendado de la pasvorto per „Nextcloud Talk“ malsukcesis, ĉar Nextcloud Talk ne estas ebligita.",
- "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Kunhavigo de %1$s malsukcesis, ĉar la servilo ne permesas kunhavon de tipo %2$s",
- "Sharing %s failed because the back end does not support room shares" : "Kunhavigo de %s malsukcesis, ĉar la servilo ne subtenas kunhavon de ĉambro",
- "Unknown share type" : "Nekonata kunhava tipo",
- "Not a directory" : "Ne estas dosierujo",
- "Could not lock path" : "Ne eblis ŝlosi vojon",
- "Wrong or no update parameter given" : "Neniu aŭ neĝusta ĝisdatiga parametro donita",
- "Wrong password" : "Neĝusta pasvorto",
- "shared by %s" : "kunhavigita de %s",
- "Download" : "Elŝuti",
- "Direct link" : "Direkta ligilo",
- "Share API is disabled" : "Kunhavo-API estas malebligita",
- "File sharing" : "Kunhavigo de dosieroj",
- "Share will expire tomorrow" : "La kunhavo senvalidiĝos morgaŭ",
- "Your share of {node} will expire tomorrow" : "Via kunhavo „{node} “ senvalidiĝos morgaŭ",
- "You received {share} as a share by {user}" : "Vi ricevis „{share}“ kiel kunhavon el {user}",
- "You received {share} to group {group} as a share by {user}" : "Vi ricevis „{share}“ al grupo {group} kiel kunhavon el {user}",
- "Accept" : "Akcepti",
- "Decline" : "Malakcepti",
- "People" : "Homoj",
- "Expiration date" : "Limdato",
- "Share link" : "Kunhavigi ligilon",
- "Copy to clipboard" : "Kopii tondejen",
- "Link copied to clipboard" : "Ligilo kopiita al tondujo",
- "Select" : "Elekti",
- "Cancel" : "Nuligi",
- "Close" : "Malfermi",
- "Continue" : "Daŭrigi",
- "Error creating the share" : "Eraro dum kreo de la kunhavigo",
- "Reset" : "Restarigi",
- "Unknown error" : "Nekonata eraro",
- "group" : "grupo",
- "conversation" : "konversacio",
- "remote" : "fora",
- "remote group" : "fora grupo",
- "guest" : "gasto",
- "Shared with the group {user} by {owner}" : "Kunhavigita kun la grupo {group} fare de {owner}",
- "Shared with the conversation {user} by {owner}" : "Kunhavigita kun la konversacio {user} fare de {owner}",
- "Shared with {user} by {owner}" : "Kunhavigita kun {user} fare de {owner}",
- "Unshare" : "Malkunhavigi",
- "Internal link" : "Interna ligilo",
- "Cannot copy, please copy the link manually" : "Ne eblis kopii la ligilon; kopiu ĝin permane.",
- "Link copied" : "Ligilo kopiita",
- "Please enter the following required information before creating the share" : "Entajpu la jenajn neprajn informojn antaŭ ol krei la kunhavigon",
- "Password protection (enforced)" : "Pasvorta protekto (efektiva)",
- "Password protection" : "Protektita per pasvorto",
- "Enter a password" : "Entajpu pasvorton",
- "Expiration date (enforced)" : "Limdato (efektiva)",
- "Add another link" : "Aldoni plian ligilon",
- "Create a new share link" : "Krei novan kunhavan ligilon",
- "Shared via link by {initiator}" : "Kunhavata per ligilo de {initiator}",
- "Error, please enter proper password and/or expiration date" : "Eraro; entajpu ĝustan pasvorton aŭ limdaton",
- "Can edit" : "Povas redakti",
- "No recommendations. Start typing." : "Neniu propono. Ektajpu.",
- "Resharing is not allowed" : "Re-kunhavigi ne estas permesita",
- "Searching …" : "Serĉado ...",
- "No elements found." : "Nenio trovita.",
- "Search globally" : "Serĉi ĉie",
- "Guest" : "Gasto",
- "Group" : "Grupo",
- "Email" : "Retpoŝtadreso",
- "on {server}" : "ĉe {server}",
- "Terms of service" : "Kondiĉoj de uzado",
- "Allow upload and editing" : "Permesi alŝuton kaj redakton",
- "Allow editing" : "Permesi modifon",
- "Advanced settings" : "Altanivela agordo",
- "Set expiration date" : "Uzi limdaton",
- "Hide download" : "Kaŝi elŝuton",
- "Note to recipient" : "Noto por la ricevonto",
- "Enter a note for the share recipient" : "Entajpu noton por la ricevonto",
- "Read" : "Legi",
- "Edit" : "Modifi",
- "Share" : "Kunhavigi",
- "Delete" : "Forigi",
- "Delete share" : "Forigi kunhavigon",
- "Shares" : "Kunhavoj",
- "Unable to load the shares list" : "Ne eblas ricevi kunhavliston",
- "Expires {relativetime}" : "Senvalidiĝas {relativetime}",
- "this share just expired." : "Tiu kunhavo ĵus senvalidiĝis.",
- "Shared with you by {owner}" : "Kunhavigita kun vi de {owner}",
- "Link to a file" : "Ligilo al dosiero",
- "Shared" : "Kunhavigita",
- "Shared with others" : "Kunhavata kun aliaj",
- "No shares" : "Neniu kunhavo",
- "Shared with you" : "Kunhavata kun vi",
- "Nothing shared with you yet" : "Nenio kunhavatas kun vi ankoraŭ",
- "Nothing shared yet" : "Nenio kunhavatas ankoraŭ",
- "Shared by link" : "Kunhavata per ligilo",
- "No shared links" : "Neniu kunhavata ligilo",
- "Deleted shares" : "Forigitaj kunhavigoj",
- "No deleted shares" : "Neniu forigita kunhavigo",
- "Error updating the share" : "Eraro dum ĝisdatigo de la kunhavigo",
- "Shared by" : "Kunhavigita de",
- "Shared with" : "Kunhavigita kun",
- "Shared with you and the group {group} by {owner}" : "Kunhavigita kun vi kaj la grupo {group} de {owner}",
- "Shared with you and {circle} by {owner}" : "Kunhavigita kun vi kaj {circle} de {owner}",
- "Shared with you and the conversation {conversation} by {owner}" : "Kunhavigita kun vi kaj la konversacio {conversation} fare de {owner}",
- "Shared with you in a conversation by {owner}" : "Kunhavigita kun vi en konversacio de {owner}",
- "Share note" : "Kunhavigo noton",
- "Show list view" : "Montri listan vidon",
- "Show grid view" : "Montri kradan vidon",
- "Upload files to %s" : "Alŝuti dosierojn al %s",
- "Note" : "Noto",
- "Select or drop files" : "Elekti aŭ demeti dosierojn",
- "Uploaded files:" : "Alŝutitaj dosieroj:",
- "By uploading files, you agree to the %1$sterms of service%2$s." : "Se vi alŝutas dosierojn, vi konsentas pri %1$skondiĉoj de uzado%2$s.",
- "Share not found" : "Kunhavigo ne troviĝis",
- "Back to %s" : "Antaŭen al %s",
- "Add to your Nextcloud" : "Aldoni al via Nextcloud",
- "error" : "eraro",
- "This will stop your current uploads." : "Tio haltigos viajn nunajn alŝutojn.",
- "Move or copy" : "Movi aŭ kopii",
- "You can upload into this folder" : "Vi povas alŝuti en ĉi tiun dosierujon",
- "No compatible server found at {remote}" : "Neniu kongrua servilo trovita je {remote}",
- "Invalid server URL" : "Nevalida servila retadreso",
- "Failed to add the public link to your Nextcloud" : "Ne eblis aldoni la publikan ligilon al via Nextcloud",
- "Files" : "Dosieroj",
- "Please specify a valid user" : "Bv. doni validan uzanton",
- "You cannot share to a Circle if the app is not enabled" : "Vi ne povas kunhavigi per Rondo, se la aplikaĵo „Rondo“ ne estas ebligita",
- "Please specify a valid circle" : "Bv. doni validan rondon",
- "Download all files" : "Elŝuti ĉiujn dosierojn",
- "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Tiu aplikaĵo ebligas al uzantoj kunhavigi dosieroj ene de Nextcloud. Se ebligita, la administranto povas elekti, kiuj grupoj povas kunhavigi dosierojn. Tiam, uzantoj povas kunhavigi dosierojn kaj dosierujojn kun aliaj uzantoj kaj grupoj ene de Nextcloud. Cetere, se la administranto permesas kunhavigi ligilojn, ekstera ligilo uzeblas por kunhavigi dosieroj kun aliaj uzantoj ekster Nextcloud. Administrantoj povas ankaŭ devigi uzon de pasvortoj, limdatoj, kaj permesi servil-al-servila kunhavigon per kunhaviga ligilo, kaj kunhavigon el porteblaj aparatoj.\nMalebligi tiun funkcion forigas kunhavigitajn dosierojn kaj dosierujon el la servilo por ĉiuj kunhavaj ricevantoj, kaj ankaŭ por la sinkronigaj klientoj kaj la porteblaj aplikaĵoj. Pli da informoj en la dokumentaro de Nextcloud.",
- "Read only" : "Nurlega",
- "File drop (upload only)" : "Demeti dosieron (nur alŝuto)",
- "Upload" : "Alŝuti",
- "Only works for users with access to this folder" : "Nur validas por uzantoj, kiuj povas aliri al tiu dosierujo",
- "Only works for users with access to this file" : "Nur validas por uzantoj, kiuj povas aliri al tiu dosiero",
- "Enter a date" : "Entajpu daton",
- "Circle" : "Rondo",
- "No entries found in this folder" : "Neniu enigo troviĝis en ĉi tiu dosierujo",
- "Name" : "Nomo",
- "Share time" : "Kunhavotempo",
- "Reasons might be:" : "Kialoj povas esti:",
- "the item was removed" : "la ero foriĝis",
- "the link expired" : "la ligilo eksvalidiĝis",
- "sharing is disabled" : "kunhavigo malkapablas",
- "For more info, please ask the person who sent this link." : "Por plia informo, bonvolu peti al la persono, kiu sendis ĉi tiun ligilon."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js
index 5cfc57ba88b..01250907325 100644
--- a/apps/files_sharing/l10n/es.js
+++ b/apps/files_sharing/l10n/es.js
@@ -363,6 +363,7 @@ OC.L10N.register(
"List of unapproved shares." : "Lista de recursos compartidos no aprobados",
"No pending shares" : "No hay recursos compartidos pendientes",
"Shares you have received but not approved will show up here" : "Aquí aparecerán los compartidos que ha recibido pero que no ha aprobado",
+ "Error deleting the share" : "Error borrando el recurso compartido",
"Error updating the share: {errorMessage}" : "Error al actualizar el recurso compartido: {errorMessage}",
"Error updating the share" : "Error actualizando el recurso compartido",
"File \"{path}\" has been unshared" : "El archivo \"{path}\" se dejó de compartir",
diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json
index 976f817256b..27831e37d5a 100644
--- a/apps/files_sharing/l10n/es.json
+++ b/apps/files_sharing/l10n/es.json
@@ -361,6 +361,7 @@
"List of unapproved shares." : "Lista de recursos compartidos no aprobados",
"No pending shares" : "No hay recursos compartidos pendientes",
"Shares you have received but not approved will show up here" : "Aquí aparecerán los compartidos que ha recibido pero que no ha aprobado",
+ "Error deleting the share" : "Error borrando el recurso compartido",
"Error updating the share: {errorMessage}" : "Error al actualizar el recurso compartido: {errorMessage}",
"Error updating the share" : "Error actualizando el recurso compartido",
"File \"{path}\" has been unshared" : "El archivo \"{path}\" se dejó de compartir",
diff --git a/apps/files_sharing/l10n/es_419.js b/apps/files_sharing/l10n/es_419.js
deleted file mode 100644
index f75de45ce7c..00000000000
--- a/apps/files_sharing/l10n/es_419.js
+++ /dev/null
@@ -1,138 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restaurar",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow creating" : "Permitir crear",
- "Allow deleting" : "Permitir borrar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Add another link" : "Agregar otra liga",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_419.json b/apps/files_sharing/l10n/es_419.json
deleted file mode 100644
index 352da573a70..00000000000
--- a/apps/files_sharing/l10n/es_419.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{ "translations": {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restaurar",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow creating" : "Permitir crear",
- "Allow deleting" : "Permitir borrar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Add another link" : "Agregar otra liga",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_AR.js b/apps/files_sharing/l10n/es_AR.js
deleted file mode 100644
index 11affe07778..00000000000
--- a/apps/files_sharing/l10n/es_AR.js
+++ /dev/null
@@ -1,218 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante un link público",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una link público",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "Share for group {group} expired" : "El recurso compartido del grupo {group} ha expirado",
- "You shared {file} with group {group}" : "Usted ha compartido {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Usted eliminó al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} lo eliminó del grupo {group} de {file}",
- "Share for file {file} with group {group} expired" : "El recurso compartido del archivo {file} con el grupo {group} ha expirado",
- "Shared as public link" : "Compartido como un link público",
- "Removed public link" : "Link público eliminado",
- "Public link expired" : "El link público ha expirado",
- "{actor} shared as public link" : "{actor} compartió como un link público",
- "{actor} removed public link" : "{actor} eliminó el link público",
- "Public link of {actor} expired" : "El link público de {actor} ha expirado",
- "You shared {file} as public link" : "Usted ha compartido {file} como un link público",
- "You removed public link for {file}" : "Usted ha eliminado el link público de {file}",
- "Public link expired for {file}" : "El link público para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compatido {file} como un link público",
- "{actor} removed public link for {file}" : "{actor} eliminó el link público de {file}",
- "Public link of {actor} for {file} expired" : "El link público de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Usted ha recibido un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} con usted",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Eliminó el elemento compartido para {user}",
- "You removed yourself" : "Te eliminaste a vos mismo",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "Share for {user} expired" : "El recurso compartido para {user} ha expirado",
- "Share expired" : "El recurso compartido ha expirado",
- "You shared {file} with {user}" : "Usted ha compartido {file} con {user}",
- "You removed {user} from {file}" : "Usted eliminó a {user} de {file}",
- "You removed yourself from {file}" : "Se eliminó a usted mismo de {file}",
- "{actor} removed themselves from {file}" : "{actor} se eliminó a sí mismo de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} con usted",
- "{actor} removed you from the share named {file}" : "{actor} te eliminó del recurso compartido {file}",
- "Share for file {file} with {user} expired" : "El recurso compartido del archivo {file} con {user} ha expirado",
- "Share for file {file} expired" : "El recurso compartido del archivo {file} ha expirado",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta compartido por correo o por link público ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Sharing" : "Compartiendo",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Shared link" : "Enlace compartido",
- "Wrong share ID, share does not exist" : "Identificador de recurso compartido incorrecto, el recurso no existe",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Favor de especificar un archivo o ruta de carpeta",
- "Wrong path, file/folder does not exist" : "Ubicación incorrecta, el archivo/carpeta no existe",
- "Could not create share" : "no fue posible crear el elemento compartido",
- "Invalid permissions" : "Permisos inválidos",
- "Please specify a valid account to share with" : "Por favor especifique una cuenta válida para compartir",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Favor de especificar un grupo valido",
- "Public link sharing is disabled by the administrator" : "Compartir links públicos está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Please specify a valid email address" : "Por favor especifique una dirección de mail válida",
- "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Compartir %s enviando la contraseña por Nextcloud Talk falló porque Nextcloud Talk no está habilitado",
- "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Compartir %1$s falló porque el servidor no permite compartir recursos del tipo %2$s",
- "Please specify a valid federated account ID" : "Por favor especifique un identificador de cuenta federada válido",
- "Please specify a valid federated group ID" : "Por favor especifique un identificador de grupo federado válido",
- "Sharing %s failed because the back end does not support room shares" : "Compartir %s falló porque el servidor no soporta recorsos compartidos de salas",
- "Sharing %s failed because the back end does not support ScienceMesh shares" : "Compartir %s falló porque el servidor no soporta recursos compartidos de ScienceMesh",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock node" : "No se pudo bloquear el nodo",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "no sharing rights on this item" : "sin permisos de compartir en este elemento",
- "You are not allowed to edit incoming shares" : "Usted no está autorizado para editar recursos compartidos entrantes",
- "Wrong or no update parameter given" : "El parametro de actualización esta erróneo o faltante",
- "Share must at least have READ or CREATE permissions" : "El recurso compartido debe tener al menos el permiso de LECTURA o CREACIÓN",
- "Share must have READ permission if UPDATE or DELETE permission is set" : "El recurso compartido debe tener el permiso de LECTURA si el permiso de ACTUALIZAR o ELIMINAR está configurado",
- "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Enviar la contraseña por Nextcloud Talk\" para compartir un archivo o carpeta falló porque Nextcloud Talk no está habilitado.",
- "Invalid date. Format must be YYYY-MM-DD" : "La fecha es inválida, por favor use el formato AAAA-MM-DD",
- "No sharing rights on this item" : "Sin permisos de compartir en este elemento",
- "Invalid share attributes provided: \"%s\"" : "Se ingresaron atributos de recurso compartido inválidos: \"%s\"",
- "You are not allowed to send mail notifications" : "No está autorizado para enviar notificaciones por mail",
- "No mail notification configured for this share type" : "Este tipo de recurso compartido no tiene notificaciones por mail configuradas",
- "Wrong password" : "Contraseña incorrecta",
- "Error while sending mail notification" : "Error al enviar el mail de notificación",
- "shared by %s" : "compartido por %s",
- "Download" : "Descargar",
- "Add to your %s" : "Agregar a su %s",
- "Direct link" : "Link directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "File sharing" : "Compartir archivos",
- "Share will expire tomorrow" : "El recurso compartido expirará mañana",
- "Your share of {node} will expire tomorrow" : "Su recurso compartido {node} expirará mañana",
- "You received {share} as a share by {user}" : "Ha recibido {share} como un recurso compartido por {user}",
- "You received {share} to group {group} as a share by {user}" : "Ha recibido {share} para el grupo {group} como un recurso compartido por {user}",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "This application enables people to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable people can then share files and folders with other accounts and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other people outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Esta aplicación permite a los usuarios compartir archivos dentro de Nextcloud. Si se activa, el administrador puede elegir qué grupos pueden compartir archivos. Los usuarios aplicables pueden entonces compartir archivos y carpetas con otros usuarios y grupos dentro de Nextcloud. Además, si el administrador activa la característica de enlace compartido, se puede usar un enlace externo para compartir archivos con otros usuarios fuera de Nextcloud. Los administradores pueden obligar a usar contraseñas o fechas de caducidad y activar el compartir de servidor a servidor vía enlaces compartidos, así como compartir desde dispositivos móviles.\nQuitar esta característica elimina los archivos compartidos y las carpetas en el servidor, para todos los receptores, y también los clientes de sincronización y móviles. Más información disponible en la Documentación de Nextcloud.",
- "When should the request expire?" : "¿Cuándo debería expirar la solicitud?",
- "Set a submission expiration date" : "Establezca la fecha de expiración del envío",
- "Expiration date" : "Fecha de expiración",
- "Select a date" : "Elija una fecha",
- "Your administrator has enforced a {count} days expiration policy." : "Su administrador ha definido una política de expiración de {count} días.",
- "What password should be used for the request?" : "¿Qué contraseña debería usarse para la solicitud?",
- "Set a password" : "Establecer una contraseña",
- "Password" : "Contraseña",
- "Enter a valid password" : "Ingrese una contraseña válida",
- "Generate a new password" : "Generar una nueva contraseña",
- "Your administrator has enforced a password protection." : "Su administrador ha configurado una política de protección de contraseña.",
- "The request will expire on {date} at midnight and will be password protected." : "La solicitud expirará el {date} a la medianoche y estará protegida por contraseña.",
- "The request will expire on {date} at midnight." : "La solicitud expirará el {date} a la medianoche.",
- "The request will be password protected." : "La solicitud estará protegida por contraseña.",
- "You can now share the link below to allow people to upload files to your directory." : "Ahora puede compartir el enlace para permitir que se suban archivos a su directorio.",
- "Share link" : "Compartir enlace",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Send link via email" : "Enviar enlace por mail",
- "Enter an email address or paste a list" : "Ingrese una dirección de mail o pegue una lista",
- "Remove email" : "Eliminar mail",
- "Automatically copying failed, please copy the share link manually" : "No se puede copiar automáticamente, por favor copie el enlace manualmente",
- "Link copied to clipboard" : "Enlace copiado al portapapeles",
- "Select" : "Seleccionar",
- "Cancel" : "Cancelar",
- "Close" : "Cerrar",
- "Continue" : "Continuar",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "group" : "grupo",
- "remote" : "remoto",
- "Unshare" : "No compartir",
- "Cannot copy, please copy the link manually" : "No es posible copiar, por favor copia el enlace manualmente",
- "Link copied" : "Link copiado",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingrese una contraseña",
- "Add another link" : "Agregar otro enlace",
- "View only" : "Solo ver",
- "Can edit" : "Puede editar",
- "No recommendations. Start typing." : "No hay sugerencias. Comenzar a escribir",
- "Resharing is not allowed" : "No está permitido volver a compartir",
- "Searching …" : "Buscando ...",
- "No elements found." : "No se encontraron elementos",
- "Guest" : "Invitado",
- "Group" : "Grupo",
- "Email" : "Correo electrónico",
- "Note:" : "Nota:",
- "File drop" : "Entrega de archivos",
- "Terms of service" : "Términos de servicio",
- "Allow upload and editing" : "Permitir cargar y editar",
- "Allow editing" : "Permitir edición",
- "Advanced settings" : "Configuraciones avanzadas",
- "Set expiration date" : "Establecer fecha de caducidad",
- "Hide download" : "Ocultar descarga",
- "Note to recipient" : "Nota al destinatario",
- "Read" : "Leer",
- "Edit" : "Editar",
- "Share" : "Compartir",
- "Delete" : "Eliminar",
- "Shares" : "Shares",
- "Shared with you by {owner}" : "Compartido con usted por {owner}",
- "Shared" : "Compartido",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Nothing shared with you yet" : "Nada ha sido compartido aún con usted",
- "Nothing shared yet" : "Nada compartido aún",
- "Shared by link" : "Compartido por link",
- "No shared links" : "No hay links compartidos",
- "Shared by" : "Compartido por",
- "Shared with you and the group {group} by {owner}" : "Compartido con usted y el grupo {group} por {owner}",
- "Share note" : "Compartir nota",
- "Show list view" : "Mostrar vista de lista",
- "Show grid view" : "Mostrar vista de cuadrícula",
- "Upload files to %s" : "Cargar archivos a %s",
- "Note" : "Nota",
- "Select or drop files" : "Seleccione o suelte los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Back to %s" : "Volver a %s",
- "Add to your Nextcloud" : "Agregar a su Nextcloud",
- "Waiting…" : "Esperando...",
- "error" : "error",
- "finished" : "finalizado",
- "This will stop your current uploads." : "Se detendrán las cargas en curso",
- "Move or copy" : "Mover o Copiar",
- "You can upload into this folder" : "Usted puede cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar el link público a su Nextcloud",
- "Files" : "Archivos",
- "Please specify a valid user" : "Favor de especificar un usuario válido",
- "You cannot share to a Circle if the app is not enabled" : "Usted no puede compartir al Círculo si la aplicación no esta habilitada",
- "Please specify a valid circle" : "Favor de especificar un círculo válido",
- "Download all files" : "Descargar todos los archivos",
- "Read only" : "Solo lectura",
- "File drop (upload only)" : "Soltar archivo (solo para carga)",
- "Upload" : "Cargar",
- "Only works for users with access to this folder" : "Solo funciona para usuarios con acceso a esta carpeta",
- "Circle" : "Círculo",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Tiempo de compartir",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "el link expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacte a la persona que le envió este link.",
- "You are not allowed to edit link shares that you don't own" : "Usted no está autorizado para editar links de recursos compartidos que no le pertenecen"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_AR.json b/apps/files_sharing/l10n/es_AR.json
deleted file mode 100644
index 05c8a16ec87..00000000000
--- a/apps/files_sharing/l10n/es_AR.json
+++ /dev/null
@@ -1,216 +0,0 @@
-{ "translations": {
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante un link público",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una link público",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "Share for group {group} expired" : "El recurso compartido del grupo {group} ha expirado",
- "You shared {file} with group {group}" : "Usted ha compartido {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Usted eliminó al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} lo eliminó del grupo {group} de {file}",
- "Share for file {file} with group {group} expired" : "El recurso compartido del archivo {file} con el grupo {group} ha expirado",
- "Shared as public link" : "Compartido como un link público",
- "Removed public link" : "Link público eliminado",
- "Public link expired" : "El link público ha expirado",
- "{actor} shared as public link" : "{actor} compartió como un link público",
- "{actor} removed public link" : "{actor} eliminó el link público",
- "Public link of {actor} expired" : "El link público de {actor} ha expirado",
- "You shared {file} as public link" : "Usted ha compartido {file} como un link público",
- "You removed public link for {file}" : "Usted ha eliminado el link público de {file}",
- "Public link expired for {file}" : "El link público para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compatido {file} como un link público",
- "{actor} removed public link for {file}" : "{actor} eliminó el link público de {file}",
- "Public link of {actor} for {file} expired" : "El link público de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Usted ha recibido un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} con usted",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Eliminó el elemento compartido para {user}",
- "You removed yourself" : "Te eliminaste a vos mismo",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "Share for {user} expired" : "El recurso compartido para {user} ha expirado",
- "Share expired" : "El recurso compartido ha expirado",
- "You shared {file} with {user}" : "Usted ha compartido {file} con {user}",
- "You removed {user} from {file}" : "Usted eliminó a {user} de {file}",
- "You removed yourself from {file}" : "Se eliminó a usted mismo de {file}",
- "{actor} removed themselves from {file}" : "{actor} se eliminó a sí mismo de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} con usted",
- "{actor} removed you from the share named {file}" : "{actor} te eliminó del recurso compartido {file}",
- "Share for file {file} with {user} expired" : "El recurso compartido del archivo {file} con {user} ha expirado",
- "Share for file {file} expired" : "El recurso compartido del archivo {file} ha expirado",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta compartido por correo o por link público ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Sharing" : "Compartiendo",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Shared link" : "Enlace compartido",
- "Wrong share ID, share does not exist" : "Identificador de recurso compartido incorrecto, el recurso no existe",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Favor de especificar un archivo o ruta de carpeta",
- "Wrong path, file/folder does not exist" : "Ubicación incorrecta, el archivo/carpeta no existe",
- "Could not create share" : "no fue posible crear el elemento compartido",
- "Invalid permissions" : "Permisos inválidos",
- "Please specify a valid account to share with" : "Por favor especifique una cuenta válida para compartir",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Favor de especificar un grupo valido",
- "Public link sharing is disabled by the administrator" : "Compartir links públicos está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Please specify a valid email address" : "Por favor especifique una dirección de mail válida",
- "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Compartir %s enviando la contraseña por Nextcloud Talk falló porque Nextcloud Talk no está habilitado",
- "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Compartir %1$s falló porque el servidor no permite compartir recursos del tipo %2$s",
- "Please specify a valid federated account ID" : "Por favor especifique un identificador de cuenta federada válido",
- "Please specify a valid federated group ID" : "Por favor especifique un identificador de grupo federado válido",
- "Sharing %s failed because the back end does not support room shares" : "Compartir %s falló porque el servidor no soporta recorsos compartidos de salas",
- "Sharing %s failed because the back end does not support ScienceMesh shares" : "Compartir %s falló porque el servidor no soporta recursos compartidos de ScienceMesh",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock node" : "No se pudo bloquear el nodo",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "no sharing rights on this item" : "sin permisos de compartir en este elemento",
- "You are not allowed to edit incoming shares" : "Usted no está autorizado para editar recursos compartidos entrantes",
- "Wrong or no update parameter given" : "El parametro de actualización esta erróneo o faltante",
- "Share must at least have READ or CREATE permissions" : "El recurso compartido debe tener al menos el permiso de LECTURA o CREACIÓN",
- "Share must have READ permission if UPDATE or DELETE permission is set" : "El recurso compartido debe tener el permiso de LECTURA si el permiso de ACTUALIZAR o ELIMINAR está configurado",
- "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Enviar la contraseña por Nextcloud Talk\" para compartir un archivo o carpeta falló porque Nextcloud Talk no está habilitado.",
- "Invalid date. Format must be YYYY-MM-DD" : "La fecha es inválida, por favor use el formato AAAA-MM-DD",
- "No sharing rights on this item" : "Sin permisos de compartir en este elemento",
- "Invalid share attributes provided: \"%s\"" : "Se ingresaron atributos de recurso compartido inválidos: \"%s\"",
- "You are not allowed to send mail notifications" : "No está autorizado para enviar notificaciones por mail",
- "No mail notification configured for this share type" : "Este tipo de recurso compartido no tiene notificaciones por mail configuradas",
- "Wrong password" : "Contraseña incorrecta",
- "Error while sending mail notification" : "Error al enviar el mail de notificación",
- "shared by %s" : "compartido por %s",
- "Download" : "Descargar",
- "Add to your %s" : "Agregar a su %s",
- "Direct link" : "Link directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "File sharing" : "Compartir archivos",
- "Share will expire tomorrow" : "El recurso compartido expirará mañana",
- "Your share of {node} will expire tomorrow" : "Su recurso compartido {node} expirará mañana",
- "You received {share} as a share by {user}" : "Ha recibido {share} como un recurso compartido por {user}",
- "You received {share} to group {group} as a share by {user}" : "Ha recibido {share} para el grupo {group} como un recurso compartido por {user}",
- "Accept" : "Aceptar",
- "Decline" : "Declinar",
- "This application enables people to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable people can then share files and folders with other accounts and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other people outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Esta aplicación permite a los usuarios compartir archivos dentro de Nextcloud. Si se activa, el administrador puede elegir qué grupos pueden compartir archivos. Los usuarios aplicables pueden entonces compartir archivos y carpetas con otros usuarios y grupos dentro de Nextcloud. Además, si el administrador activa la característica de enlace compartido, se puede usar un enlace externo para compartir archivos con otros usuarios fuera de Nextcloud. Los administradores pueden obligar a usar contraseñas o fechas de caducidad y activar el compartir de servidor a servidor vía enlaces compartidos, así como compartir desde dispositivos móviles.\nQuitar esta característica elimina los archivos compartidos y las carpetas en el servidor, para todos los receptores, y también los clientes de sincronización y móviles. Más información disponible en la Documentación de Nextcloud.",
- "When should the request expire?" : "¿Cuándo debería expirar la solicitud?",
- "Set a submission expiration date" : "Establezca la fecha de expiración del envío",
- "Expiration date" : "Fecha de expiración",
- "Select a date" : "Elija una fecha",
- "Your administrator has enforced a {count} days expiration policy." : "Su administrador ha definido una política de expiración de {count} días.",
- "What password should be used for the request?" : "¿Qué contraseña debería usarse para la solicitud?",
- "Set a password" : "Establecer una contraseña",
- "Password" : "Contraseña",
- "Enter a valid password" : "Ingrese una contraseña válida",
- "Generate a new password" : "Generar una nueva contraseña",
- "Your administrator has enforced a password protection." : "Su administrador ha configurado una política de protección de contraseña.",
- "The request will expire on {date} at midnight and will be password protected." : "La solicitud expirará el {date} a la medianoche y estará protegida por contraseña.",
- "The request will expire on {date} at midnight." : "La solicitud expirará el {date} a la medianoche.",
- "The request will be password protected." : "La solicitud estará protegida por contraseña.",
- "You can now share the link below to allow people to upload files to your directory." : "Ahora puede compartir el enlace para permitir que se suban archivos a su directorio.",
- "Share link" : "Compartir enlace",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Send link via email" : "Enviar enlace por mail",
- "Enter an email address or paste a list" : "Ingrese una dirección de mail o pegue una lista",
- "Remove email" : "Eliminar mail",
- "Automatically copying failed, please copy the share link manually" : "No se puede copiar automáticamente, por favor copie el enlace manualmente",
- "Link copied to clipboard" : "Enlace copiado al portapapeles",
- "Select" : "Seleccionar",
- "Cancel" : "Cancelar",
- "Close" : "Cerrar",
- "Continue" : "Continuar",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "group" : "grupo",
- "remote" : "remoto",
- "Unshare" : "No compartir",
- "Cannot copy, please copy the link manually" : "No es posible copiar, por favor copia el enlace manualmente",
- "Link copied" : "Link copiado",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingrese una contraseña",
- "Add another link" : "Agregar otro enlace",
- "View only" : "Solo ver",
- "Can edit" : "Puede editar",
- "No recommendations. Start typing." : "No hay sugerencias. Comenzar a escribir",
- "Resharing is not allowed" : "No está permitido volver a compartir",
- "Searching …" : "Buscando ...",
- "No elements found." : "No se encontraron elementos",
- "Guest" : "Invitado",
- "Group" : "Grupo",
- "Email" : "Correo electrónico",
- "Note:" : "Nota:",
- "File drop" : "Entrega de archivos",
- "Terms of service" : "Términos de servicio",
- "Allow upload and editing" : "Permitir cargar y editar",
- "Allow editing" : "Permitir edición",
- "Advanced settings" : "Configuraciones avanzadas",
- "Set expiration date" : "Establecer fecha de caducidad",
- "Hide download" : "Ocultar descarga",
- "Note to recipient" : "Nota al destinatario",
- "Read" : "Leer",
- "Edit" : "Editar",
- "Share" : "Compartir",
- "Delete" : "Eliminar",
- "Shares" : "Shares",
- "Shared with you by {owner}" : "Compartido con usted por {owner}",
- "Shared" : "Compartido",
- "Shared with others" : "Compartido con otros",
- "Shared with you" : "Compartido con usted",
- "Nothing shared with you yet" : "Nada ha sido compartido aún con usted",
- "Nothing shared yet" : "Nada compartido aún",
- "Shared by link" : "Compartido por link",
- "No shared links" : "No hay links compartidos",
- "Shared by" : "Compartido por",
- "Shared with you and the group {group} by {owner}" : "Compartido con usted y el grupo {group} por {owner}",
- "Share note" : "Compartir nota",
- "Show list view" : "Mostrar vista de lista",
- "Show grid view" : "Mostrar vista de cuadrícula",
- "Upload files to %s" : "Cargar archivos a %s",
- "Note" : "Nota",
- "Select or drop files" : "Seleccione o suelte los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Back to %s" : "Volver a %s",
- "Add to your Nextcloud" : "Agregar a su Nextcloud",
- "Waiting…" : "Esperando...",
- "error" : "error",
- "finished" : "finalizado",
- "This will stop your current uploads." : "Se detendrán las cargas en curso",
- "Move or copy" : "Mover o Copiar",
- "You can upload into this folder" : "Usted puede cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar el link público a su Nextcloud",
- "Files" : "Archivos",
- "Please specify a valid user" : "Favor de especificar un usuario válido",
- "You cannot share to a Circle if the app is not enabled" : "Usted no puede compartir al Círculo si la aplicación no esta habilitada",
- "Please specify a valid circle" : "Favor de especificar un círculo válido",
- "Download all files" : "Descargar todos los archivos",
- "Read only" : "Solo lectura",
- "File drop (upload only)" : "Soltar archivo (solo para carga)",
- "Upload" : "Cargar",
- "Only works for users with access to this folder" : "Solo funciona para usuarios con acceso a esta carpeta",
- "Circle" : "Círculo",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Tiempo de compartir",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "el link expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacte a la persona que le envió este link.",
- "You are not allowed to edit link shares that you don't own" : "Usted no está autorizado para editar links de recursos compartidos que no le pertenecen"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_CL.js b/apps/files_sharing/l10n/es_CL.js
deleted file mode 100644
index b2beba46938..00000000000
--- a/apps/files_sharing/l10n/es_CL.js
+++ /dev/null
@@ -1,138 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "error" : "error",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "File sharing" : "Compartir archivos",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Se presentó un error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Share note" : "Compartir nota",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_CL.json b/apps/files_sharing/l10n/es_CL.json
deleted file mode 100644
index f7ccb907f58..00000000000
--- a/apps/files_sharing/l10n/es_CL.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{ "translations": {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "error" : "error",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "File sharing" : "Compartir archivos",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Se presentó un error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Share note" : "Compartir nota",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_CO.js b/apps/files_sharing/l10n/es_CO.js
deleted file mode 100644
index 14d2bae7edd..00000000000
--- a/apps/files_sharing/l10n/es_CO.js
+++ /dev/null
@@ -1,143 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "error" : "error",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "File sharing" : "Compartir archivos",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Reiniciar",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Link copied" : "Enlace copiado",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Add another link" : "Añadir otro enlace",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Guest" : "Invitado",
- "Group" : "Grupo",
- "Email" : "Correo electrónico",
- "Circle" : "Círculo",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Share note" : "Compartir nota",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_CO.json b/apps/files_sharing/l10n/es_CO.json
deleted file mode 100644
index 4a69b23abb2..00000000000
--- a/apps/files_sharing/l10n/es_CO.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{ "translations": {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "error" : "error",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "File sharing" : "Compartir archivos",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Reiniciar",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Link copied" : "Enlace copiado",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Add another link" : "Añadir otro enlace",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Guest" : "Invitado",
- "Group" : "Grupo",
- "Email" : "Correo electrónico",
- "Circle" : "Círculo",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Share note" : "Compartir nota",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_CR.js b/apps/files_sharing/l10n/es_CR.js
deleted file mode 100644
index 01b8c23159d..00000000000
--- a/apps/files_sharing/l10n/es_CR.js
+++ /dev/null
@@ -1,138 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "error" : "error",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "File sharing" : "Compartir archivos",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Share note" : "Compartir nota",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_CR.json b/apps/files_sharing/l10n/es_CR.json
deleted file mode 100644
index 00480fcc844..00000000000
--- a/apps/files_sharing/l10n/es_CR.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{ "translations": {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "error" : "error",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "File sharing" : "Compartir archivos",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Share note" : "Compartir nota",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_DO.js b/apps/files_sharing/l10n/es_DO.js
deleted file mode 100644
index dd4a04dce7a..00000000000
--- a/apps/files_sharing/l10n/es_DO.js
+++ /dev/null
@@ -1,144 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "error" : "error",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "File sharing" : "Compartir archivos",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow creating" : "Permitir crear",
- "Allow deleting" : "Permitir borrar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Add another link" : "Añadir otro enlace",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Guest" : "Invitado",
- "Group" : "Grupo",
- "Email" : "Correo electrónico",
- "Circle" : "Círculo",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Share note" : "Compartir nota",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_DO.json b/apps/files_sharing/l10n/es_DO.json
deleted file mode 100644
index 026306267c3..00000000000
--- a/apps/files_sharing/l10n/es_DO.json
+++ /dev/null
@@ -1,142 +0,0 @@
-{ "translations": {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "error" : "error",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "File sharing" : "Compartir archivos",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow creating" : "Permitir crear",
- "Allow deleting" : "Permitir borrar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Add another link" : "Añadir otro enlace",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Guest" : "Invitado",
- "Group" : "Grupo",
- "Email" : "Correo electrónico",
- "Circle" : "Círculo",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Share note" : "Compartir nota",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_GT.js b/apps/files_sharing/l10n/es_GT.js
deleted file mode 100644
index 01b8c23159d..00000000000
--- a/apps/files_sharing/l10n/es_GT.js
+++ /dev/null
@@ -1,138 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "error" : "error",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "File sharing" : "Compartir archivos",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Share note" : "Compartir nota",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_GT.json b/apps/files_sharing/l10n/es_GT.json
deleted file mode 100644
index 00480fcc844..00000000000
--- a/apps/files_sharing/l10n/es_GT.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{ "translations": {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "error" : "error",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "File sharing" : "Compartir archivos",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Share note" : "Compartir nota",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_HN.js b/apps/files_sharing/l10n/es_HN.js
deleted file mode 100644
index cac9c37587e..00000000000
--- a/apps/files_sharing/l10n/es_HN.js
+++ /dev/null
@@ -1,136 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "error" : "error",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_HN.json b/apps/files_sharing/l10n/es_HN.json
deleted file mode 100644
index 679b4735769..00000000000
--- a/apps/files_sharing/l10n/es_HN.json
+++ /dev/null
@@ -1,134 +0,0 @@
-{ "translations": {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "error" : "error",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_NI.js b/apps/files_sharing/l10n/es_NI.js
deleted file mode 100644
index a59be44409b..00000000000
--- a/apps/files_sharing/l10n/es_NI.js
+++ /dev/null
@@ -1,135 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_NI.json b/apps/files_sharing/l10n/es_NI.json
deleted file mode 100644
index 560501d858d..00000000000
--- a/apps/files_sharing/l10n/es_NI.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{ "translations": {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_PA.js b/apps/files_sharing/l10n/es_PA.js
deleted file mode 100644
index a59be44409b..00000000000
--- a/apps/files_sharing/l10n/es_PA.js
+++ /dev/null
@@ -1,135 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_PA.json b/apps/files_sharing/l10n/es_PA.json
deleted file mode 100644
index 560501d858d..00000000000
--- a/apps/files_sharing/l10n/es_PA.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{ "translations": {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_PE.js b/apps/files_sharing/l10n/es_PE.js
deleted file mode 100644
index c4c0f42d818..00000000000
--- a/apps/files_sharing/l10n/es_PE.js
+++ /dev/null
@@ -1,138 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "This will stop your current uploads." : "Se detendrán las cargas en curso",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "Show list view" : "Mostrar vista de lista",
- "Show grid view" : "Mostrar lista en grilla",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_PE.json b/apps/files_sharing/l10n/es_PE.json
deleted file mode 100644
index 4682d999b1a..00000000000
--- a/apps/files_sharing/l10n/es_PE.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{ "translations": {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "This will stop your current uploads." : "Se detendrán las cargas en curso",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "Show list view" : "Mostrar vista de lista",
- "Show grid view" : "Mostrar lista en grilla",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_PR.js b/apps/files_sharing/l10n/es_PR.js
deleted file mode 100644
index a59be44409b..00000000000
--- a/apps/files_sharing/l10n/es_PR.js
+++ /dev/null
@@ -1,135 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_PR.json b/apps/files_sharing/l10n/es_PR.json
deleted file mode 100644
index 560501d858d..00000000000
--- a/apps/files_sharing/l10n/es_PR.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{ "translations": {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_PY.js b/apps/files_sharing/l10n/es_PY.js
deleted file mode 100644
index f6c8fb305b2..00000000000
--- a/apps/files_sharing/l10n/es_PY.js
+++ /dev/null
@@ -1,136 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "This will stop your current uploads." : "Esto detendrá tus cargas actuales.",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_PY.json b/apps/files_sharing/l10n/es_PY.json
deleted file mode 100644
index 5888ea1de63..00000000000
--- a/apps/files_sharing/l10n/es_PY.json
+++ /dev/null
@@ -1,134 +0,0 @@
-{ "translations": {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "This will stop your current uploads." : "Esto detendrá tus cargas actuales.",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_SV.js b/apps/files_sharing/l10n/es_SV.js
deleted file mode 100644
index 01b8c23159d..00000000000
--- a/apps/files_sharing/l10n/es_SV.js
+++ /dev/null
@@ -1,138 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "error" : "error",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "File sharing" : "Compartir archivos",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Share note" : "Compartir nota",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_SV.json b/apps/files_sharing/l10n/es_SV.json
deleted file mode 100644
index 00480fcc844..00000000000
--- a/apps/files_sharing/l10n/es_SV.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{ "translations": {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "error" : "error",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "File sharing" : "Compartir archivos",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Share note" : "Compartir nota",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_UY.js b/apps/files_sharing/l10n/es_UY.js
deleted file mode 100644
index 604651eddaa..00000000000
--- a/apps/files_sharing/l10n/es_UY.js
+++ /dev/null
@@ -1,138 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow creating" : "Permitir creació",
- "Allow deleting" : "Permitir eliminació",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Add another link" : "Añadir otro enlace",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_UY.json b/apps/files_sharing/l10n/es_UY.json
deleted file mode 100644
index 32010d2045e..00000000000
--- a/apps/files_sharing/l10n/es_UY.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{ "translations": {
- "Shared with you" : "Compartido contigo",
- "Nothing shared with you yet" : "Nada ha sido compartido contigo aún",
- "Files and folders others share with you will show up here" : "Los archivos y carpetas que sean compartidos contigo se mostrarán aquí",
- "Shared with others" : "Compartido con otros",
- "Nothing shared yet" : "Nada compartido aún",
- "Files and folders you share will show up here" : "Los archivos y carpetas que compartas se mostrarán aquí",
- "Shared by link" : "Compartido por liga",
- "No shared links" : "No hay ligas compartidas",
- "Files and folders you share by link will show up here" : "Los archivos y carpetas que compartas por ligas se mostrarán aquí",
- "Shares" : "Elementos compartidos",
- "Restore" : "Restaurar",
- "Move or copy" : "Mover o copiar",
- "Download" : "Descargar",
- "Delete" : "Borrar",
- "You can upload into this folder" : "Puedes cargar archivos dentro de esta carpeta",
- "No compatible server found at {remote}" : "No se encontró un servidor compatible en {remote}",
- "Invalid server URL" : "URL del servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Se presentó una falla al agregar la liga pública a tu Nextcloud",
- "No expiration date set" : "No se ha establecido la fecha de expiración",
- "Shared by" : "Compartido por",
- "File shares" : "Archivos compartidos",
- "Downloaded via public link" : "Descargado mediante una liga pública",
- "Downloaded by {email}" : "Descargado por {email}",
- "{file} downloaded via public link" : "{file} descargado mediante una liga pública",
- "{email} downloaded {file}" : "{email} descargó {file}",
- "Shared with group {group}" : "Compartido con el gupo {group}",
- "Removed share for group {group}" : "Se eliminó el elemento compartido del grupo {group}",
- "{actor} shared with group {group}" : "{actor} compartió con el grupo {group}",
- "{actor} removed share for group {group}" : "{actor} eliminó el elemento compartido del grupo {group}",
- "You shared {file} with group {group}" : "Compartiste {file} con el grupo {group}",
- "You removed group {group} from {file}" : "Eliminaste al grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} compartió {file} con el grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} eliminó el grupo {group} de {file}",
- "Shared as public link" : "Compartido como una liga pública",
- "Removed public link" : "Liga pública eliminada",
- "Public link expired" : "La liga pública ha expirado",
- "{actor} shared as public link" : "{actor} compartió como una liga pública",
- "{actor} removed public link" : "{actor} eliminó la liga pública",
- "Public link of {actor} expired" : "La liga pública de {actor} ha expirado",
- "You shared {file} as public link" : "Compartiste {file} como una liga pública",
- "You removed public link for {file}" : "Eliminaste la liga pública de {file}",
- "Public link expired for {file}" : "La liga pública para {file} ha expirado",
- "{actor} shared {file} as public link" : "{actor} ha compartido {file} como una liga pública",
- "{actor} removed public link for {file}" : "{actor} eliminó la liga pública de {file}",
- "Public link of {actor} for {file} expired" : "La liga pública de {actor} para {file} ha expirado",
- "{user} accepted the remote share" : "{user} aceptó el elemento compartido remoto",
- "{user} declined the remote share" : "{user} declinó el elemento compartido remoto",
- "You received a new remote share {file} from {user}" : "Recibiste un nuevo elemento compartido remoto {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceptó el elemento compartido remoto de {file}",
- "{user} declined the remote share of {file}" : "{user} declinó el elemento compartido remoto de {file}",
- "{user} unshared {file} from you" : "{user} ha dejado de compartir {file} contigo",
- "Shared with {user}" : "Compartido con {user}",
- "Removed share for {user}" : "Se eliminó el elemento compartido para {user}",
- "{actor} removed themselves" : "{actor} se ha eliminado",
- "{actor} shared with {user}" : "{actor} compartió con {user}",
- "{actor} removed share for {user}" : "{actor} eliminó el elemento compartido para {user}",
- "Shared by {actor}" : "Compartido por {actor}",
- "{actor} removed share" : "{actor} eliminó el elemento compartido",
- "You shared {file} with {user}" : "Compartiste {file} con {user}",
- "You removed {user} from {file}" : "Eliminaste a {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} compartió {file} con {user}",
- "{actor} removed {user} from {file}" : "{actor} eliminó a {user} de {file}",
- "{actor} shared {file} with you" : "{actor} ha compartido {file} contigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un archivo o carpeta comparitdo por correo o por liga pública ha sido <strong>descargado</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
- "Files" : "Archivos",
- "A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Could not delete share" : "No fue posible borrar el elemento compartido",
- "Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
- "Could not create share" : "No fue posible crear el elemento compartido",
- "Please specify a valid user" : "Por favor especifica un usuario válido",
- "Group sharing is disabled by the administrator" : "Compartir en grupos está deshabilitado por el administrador",
- "Please specify a valid group" : "Por favor especifica un grupo válido",
- "Public link sharing is disabled by the administrator" : "Compartir ligas públicas está deshabilitado por el administrador",
- "Public upload disabled by the administrator" : "Cargas públicas deshabilitadas por el administrador",
- "Public upload is only possible for publicly shared folders" : "Las cargas públicas son posibles sólo para carpetas compartidas públicamente",
- "Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "No puedes compartir al Círculo si la aplicación no está habilitada",
- "Please specify a valid circle" : "Por favor especifica un círculo válido",
- "Unknown share type" : "Tipo de elemento compartido desconocido",
- "Not a directory" : "No es una carpeta",
- "Could not lock path" : "No fue posible bloquear la ruta",
- "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
- "shared by %s" : "compartido por %s",
- "Direct link" : "Liga directa",
- "Share API is disabled" : "El API para compartir está deshabilitado",
- "Accept" : "Aceptar",
- "Sharing" : "Compartiendo",
- "Reset" : "Restablecer",
- "Unknown error" : "Error desconocido",
- "Allow editing" : "Permitir edición",
- "Read only" : "Sólo lectura",
- "Allow upload and editing" : "Permitir carga y edición",
- "File drop (upload only)" : "Permitir carga",
- "Read" : "Leer",
- "Upload" : "Cargar",
- "Edit" : "Editar",
- "Allow creating" : "Permitir creació",
- "Allow deleting" : "Permitir eliminació",
- "Allow resharing" : "Permitir volver a compartir",
- "Set expiration date" : "Establecer fecha de expiración",
- "Unshare" : "Dejar de compartir",
- "group" : "grupo",
- "remote" : "remoto",
- "Copy to clipboard" : "Copiar al portapapeles",
- "Password protection" : "Protección con contraseña",
- "Enter a password" : "Ingresa una contraseña",
- "Cancel" : "Cancelar",
- "Password protect" : "Proteger con contraseña",
- "Add another link" : "Añadir otro enlace",
- "Share link" : "Compartir liga",
- "Resharing is not allowed" : "No se permite volver a compartir",
- "Shared with you by {owner}" : "Compartido contigo por {owner}",
- "Shared" : "Compartido",
- "Share" : "Compartir",
- "Shared with" : "Compartido con",
- "Shared with you and the group {group} by {owner}" : "Compartido contigo y con el grupo {group} por {owner}",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Share time" : "Compartido desde",
- "Expiration date" : "Fecha de expiración",
- "Reasons might be:" : "Las causas podrían ser:",
- "the item was removed" : "el elemento fue eliminado",
- "the link expired" : "la liga expiró",
- "sharing is disabled" : "compartir está deshabilitado",
- "For more info, please ask the person who sent this link." : "Para mayores informes, contacta a la persona que le envió esta liga.",
- "Upload files to %s" : "Cargar archivos a %s",
- "Select or drop files" : "Selecciona o suelta los archivos",
- "Uploaded files:" : "Archivos cargados:",
- "Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/et_EE.js b/apps/files_sharing/l10n/et_EE.js
index b2840f2179b..c8f541077f4 100644
--- a/apps/files_sharing/l10n/et_EE.js
+++ b/apps/files_sharing/l10n/et_EE.js
@@ -368,6 +368,8 @@ OC.L10N.register(
"List of unapproved shares." : "Vastuvõtmata jaosmeedia loend.",
"No pending shares" : "Ootel jagamisi pole",
"Shares you have received but not approved will show up here" : "Jaosmeedia, mille oled saanud, kuid pole nõustunud, saab olema nähtav siin",
+ "Error deleting the share: {errorMessage}" : "Viga jagamise kustutamisel: {errorMessage}",
+ "Error deleting the share" : "Viga jagamise kustutamisel",
"Error updating the share: {errorMessage}" : "Viga jaosmeedia uuendamisel: {errorMessage}",
"Error updating the share" : "Viga jaosmeedia uuendamisel",
"File \"{path}\" has been unshared" : "„{path}“ faili jagamine on lõpetatud",
diff --git a/apps/files_sharing/l10n/et_EE.json b/apps/files_sharing/l10n/et_EE.json
index a8ba5ef57bb..3926f473c7c 100644
--- a/apps/files_sharing/l10n/et_EE.json
+++ b/apps/files_sharing/l10n/et_EE.json
@@ -366,6 +366,8 @@
"List of unapproved shares." : "Vastuvõtmata jaosmeedia loend.",
"No pending shares" : "Ootel jagamisi pole",
"Shares you have received but not approved will show up here" : "Jaosmeedia, mille oled saanud, kuid pole nõustunud, saab olema nähtav siin",
+ "Error deleting the share: {errorMessage}" : "Viga jagamise kustutamisel: {errorMessage}",
+ "Error deleting the share" : "Viga jagamise kustutamisel",
"Error updating the share: {errorMessage}" : "Viga jaosmeedia uuendamisel: {errorMessage}",
"Error updating the share" : "Viga jaosmeedia uuendamisel",
"File \"{path}\" has been unshared" : "„{path}“ faili jagamine on lõpetatud",
diff --git a/apps/files_sharing/l10n/eu.js b/apps/files_sharing/l10n/eu.js
index c0e6e505efe..cf72b25ce3a 100644
--- a/apps/files_sharing/l10n/eu.js
+++ b/apps/files_sharing/l10n/eu.js
@@ -366,6 +366,7 @@ OC.L10N.register(
"List of unapproved shares." : "Onartu gabeko partekatzeen zerrenda.",
"No pending shares" : "Ez dago zain dagoen partekatzerik",
"Shares you have received but not approved will show up here" : "Jaso dituzun baina berretsi gabe dauden partekatzeak hemen agertukon dira",
+ "Error deleting the share" : "Errorea partekatzea ezabatzean",
"Error updating the share: {errorMessage}" : " Errorea partekatzea eguneratzean {errorMessage}",
"Error updating the share" : "Errorea partekatzea eguneratzen",
"File \"{path}\" has been unshared" : "\"{path}\" fitxategiaren partekatzea eten da",
diff --git a/apps/files_sharing/l10n/eu.json b/apps/files_sharing/l10n/eu.json
index d7ab8940a59..7a95522389d 100644
--- a/apps/files_sharing/l10n/eu.json
+++ b/apps/files_sharing/l10n/eu.json
@@ -364,6 +364,7 @@
"List of unapproved shares." : "Onartu gabeko partekatzeen zerrenda.",
"No pending shares" : "Ez dago zain dagoen partekatzerik",
"Shares you have received but not approved will show up here" : "Jaso dituzun baina berretsi gabe dauden partekatzeak hemen agertukon dira",
+ "Error deleting the share" : "Errorea partekatzea ezabatzean",
"Error updating the share: {errorMessage}" : " Errorea partekatzea eguneratzean {errorMessage}",
"Error updating the share" : "Errorea partekatzea eguneratzen",
"File \"{path}\" has been unshared" : "\"{path}\" fitxategiaren partekatzea eten da",
diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js
index 1973fcd904e..a693dd5bef5 100644
--- a/apps/files_sharing/l10n/fr.js
+++ b/apps/files_sharing/l10n/fr.js
@@ -368,6 +368,8 @@ OC.L10N.register(
"List of unapproved shares." : "Liste des partages non approuvés.",
"No pending shares" : "Aucun partage en attente",
"Shares you have received but not approved will show up here" : "Les partages que vous avez reçus, mais qui n'ont pas été acceptés apparaîtront ici",
+ "Error deleting the share: {errorMessage}" : "Erreur lors de la suppression du partage : {errorMessage}",
+ "Error deleting the share" : "Erreur lors de la suppression du partage",
"Error updating the share: {errorMessage}" : "Erreur à la mise à jour du partage\\: {errorMessage} ",
"Error updating the share" : "Erreur lors de la mise à jour du partage",
"File \"{path}\" has been unshared" : "Le partage du fichier \"{path}\" a été retiré",
diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json
index 4a3df088ad5..0c800fff219 100644
--- a/apps/files_sharing/l10n/fr.json
+++ b/apps/files_sharing/l10n/fr.json
@@ -366,6 +366,8 @@
"List of unapproved shares." : "Liste des partages non approuvés.",
"No pending shares" : "Aucun partage en attente",
"Shares you have received but not approved will show up here" : "Les partages que vous avez reçus, mais qui n'ont pas été acceptés apparaîtront ici",
+ "Error deleting the share: {errorMessage}" : "Erreur lors de la suppression du partage : {errorMessage}",
+ "Error deleting the share" : "Erreur lors de la suppression du partage",
"Error updating the share: {errorMessage}" : "Erreur à la mise à jour du partage\\: {errorMessage} ",
"Error updating the share" : "Erreur lors de la mise à jour du partage",
"File \"{path}\" has been unshared" : "Le partage du fichier \"{path}\" a été retiré",
diff --git a/apps/files_sharing/l10n/gl.js b/apps/files_sharing/l10n/gl.js
index e966a4b7d41..53ed66b6c03 100644
--- a/apps/files_sharing/l10n/gl.js
+++ b/apps/files_sharing/l10n/gl.js
@@ -362,6 +362,7 @@ OC.L10N.register(
"List of unapproved shares." : "Lista de comparticións non aprobadas.",
"No pending shares" : "Non hai comparticións pendentes",
"Shares you have received but not approved will show up here" : "As comparticións que recibiu mais non aprobou amosaranse aquí",
+ "Error deleting the share" : "Produciuse un erro ao eliminar a compartición",
"Error updating the share: {errorMessage}" : "Produciuse un erro ao actualizar a compartición: {errorMessage}",
"Error updating the share" : "Produciuse un erro ao actualizar a compartición",
"File \"{path}\" has been unshared" : "Foi retirado o ficheiro compartido «{path}».",
diff --git a/apps/files_sharing/l10n/gl.json b/apps/files_sharing/l10n/gl.json
index ffbe7e5969a..dfb84a6d3b4 100644
--- a/apps/files_sharing/l10n/gl.json
+++ b/apps/files_sharing/l10n/gl.json
@@ -360,6 +360,7 @@
"List of unapproved shares." : "Lista de comparticións non aprobadas.",
"No pending shares" : "Non hai comparticións pendentes",
"Shares you have received but not approved will show up here" : "As comparticións que recibiu mais non aprobou amosaranse aquí",
+ "Error deleting the share" : "Produciuse un erro ao eliminar a compartición",
"Error updating the share: {errorMessage}" : "Produciuse un erro ao actualizar a compartición: {errorMessage}",
"Error updating the share" : "Produciuse un erro ao actualizar a compartición",
"File \"{path}\" has been unshared" : "Foi retirado o ficheiro compartido «{path}».",
diff --git a/apps/files_sharing/l10n/he.js b/apps/files_sharing/l10n/he.js
deleted file mode 100644
index d594bcfc0fb..00000000000
--- a/apps/files_sharing/l10n/he.js
+++ /dev/null
@@ -1,214 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "File shares" : "שיתופי קבצים",
- "Downloaded via public link" : "הורד על בסיס קישור ציבורי",
- "Downloaded by {email}" : "הורד על ידי {email}",
- "{file} downloaded via public link" : "{file} התקבל דרך קישור ציבורי",
- "{email} downloaded {file}" : "{file} הורד על ידי {email}",
- "Shared with group {group}" : "שותף עם הקבוצה {group}",
- "Removed share for group {group}" : "הוסר שיתוף עם הקבוצה {group}",
- "{actor} shared with group {group}" : "שותף עם הקבוצה {group} על ידי {actor}",
- "{actor} removed share for group {group}" : "הוסר השיתוף עם הקבוצה {group} על ידי {actor}",
- "Share for group {group} expired" : "תוקף השיתוף עם הקבוצה {group} פג",
- "You shared {file} with group {group}" : "שיתפת {file} עם הקבוצה {group}",
- "You removed group {group} from {file}" : "הסרת את הקבוצה {group} מהקובץ {file}",
- "{actor} shared {file} with group {group}" : "הקובץ {file} שותף עם הקבוצה {group} על ידי {actor}",
- "{actor} removed group {group} from {file}" : "הקבוצה {group} הוסרה מהשיתוף {file} על ידי {actor}",
- "Share for file {file} with group {group} expired" : "תוקף שיתוף הקובץ {file} עם הקבוצה {group} פג",
- "Shared as public link" : "שותף כקישור ציבורי",
- "Removed public link" : "הסיר/ה קישור ציבורי",
- "Public link expired" : "קישור ציבורי פג תוקף",
- "{actor} shared as public link" : "שותף כקישור ציבורי על ידי {actor}",
- "{actor} removed public link" : "הקישור הציבורי הוסר על ידי {actor}",
- "Public link of {actor} expired" : "תוקף הקישור הציבורי של {actor} פג",
- "You shared {file} as public link" : "שיתפת את {file} כקישור ציבורי",
- "You removed public link for {file}" : "הסרת קישור ציבורי עבור {file}",
- "Public link expired for {file}" : "תוקף הקישור הציבורי עבור {file} פג",
- "{actor} shared {file} as public link" : "{file} שותף כקישור ציבורי על ידי {actor}",
- "{actor} removed public link for {file}" : "הקישור הציבורי עבור {file} הוסר על ידי {actor}",
- "Public link of {actor} for {file} expired" : "תוקף הקישור הציבורי של {actor} עבור {file} פג",
- "{user} accepted the remote share" : "השיתוף המרוחק התקבל על ידי {user}",
- "{user} declined the remote share" : "השיתוף המרוחק נדחה על ידי {user}",
- "You received a new remote share {file} from {user}" : "קיבלת שיתוף מרוחק חדש {file} מאת",
- "{user} accepted the remote share of {file}" : "השיתוף המרוחק של {file} התקבל על ידי {user}",
- "{user} declined the remote share of {file}" : "השיתוף המרוחק של {file} נדחה על ידי {user}",
- "{user} unshared {file} from you" : "{user} ביטל שיתוף של {file} ממך",
- "Shared with {user}" : "שותף עם {user}",
- "Removed share for {user}" : "הוסר השיתוף עבור {user}",
- "You removed yourself" : "הסרת את עצמך",
- "{actor} removed themselves" : "{actor} הסירו את עצמם",
- "{actor} shared with {user}" : "שותף עם {user} על ידי {actor}",
- "{actor} removed share for {user}" : "השיתוף עבור {user} הוסר על ידי {actor}",
- "Shared by {actor}" : "שותף על ידי {actor}",
- "{actor} removed share" : "שיתוף הוסר על ידי {actor}",
- "Share for {user} expired" : "תוקף השיתוף של {user} פג",
- "Share expired" : "תוקף השיתוף פג",
- "You shared {file} with {user}" : "שיתפת את {file} עם {user}",
- "You removed {user} from {file}" : "הסרת את {user} מהקובץ {file}",
- "You removed yourself from {file}" : "הסרת את עצמך מהקובץ {file}",
- "{actor} removed themselves from {file}" : "{actor} הסיר את עצמו מ- {file}",
- "{actor} shared {file} with {user}" : "{file} שותף עם {user} על ידי {actor}",
- "{actor} removed {user} from {file}" : "{actor} הסיר את {user} מ- {file}",
- "{actor} shared {file} with you" : "{actor} שיתף {file} איתך",
- "{actor} removed you from the share named {file}" : "הוסרת מהשיתוף בשם {file} על ידי {actor}",
- "Share for file {file} with {user} expired" : "תוקף שיתוף הקובץ {file} עם {user} פג",
- "Share for file {file} expired" : "שיתוף הקובץ {file} פג",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "קובץ או תיקייה ששותפו בדוא״ל או דרך קישור ציבורי <strong>הורדו</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "קובץ או תיקייה שותפו מ- <strong>שרת אחר</strong>",
- "Sharing" : "שיתוף",
- "A file or folder has been <strong>shared</strong>" : "קובץ או תיקייה <strong>שותפו<strong/>",
- "Shared link" : "שותף קישור",
- "Could not delete share" : "לא ניתן היה למחוק את השיתוף",
- "Please specify a file or folder path" : "יש לספק נתיב לקובץ או תיקייה",
- "Could not create share" : "לא ניתן ליצור שיתוף",
- "Group sharing is disabled by the administrator" : "שיתוף קבוצתי מנוטרל על ידי המנהל",
- "Please specify a valid group" : "יש לספק קבוצה חוקית",
- "Public link sharing is disabled by the administrator" : "שיתוף ציבורי מנוטרל על ידי המנהל",
- "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "שיתוף%s שליחת הסיסמה באמצעות Nextcloud Talk נכשל מכיוון ש- Nextcloud Talk אינו מופעל",
- "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "השיתוף%1$s נכשל מכיוון שה-\"קצה אחורי\" אינו מאפשר שיתופים מסוג %2$s",
- "Sharing %s failed because the back end does not support room shares" : "השיתוף של%sנכשל מכיוון שה-\"קצה אחורי\" אינו תומך בשיתופי חדרים",
- "Unknown share type" : "סוג שיתוף אינו מוכר",
- "Not a directory" : "אינה תיקייה",
- "Could not lock node" : "לא היה ניתן לנעול את הצומת",
- "Public upload is only possible for publicly shared folders" : "העלאה ציבורית אפשרית רק אל תיקיות משותפות ציבוריות",
- "Public upload disabled by the administrator" : "שיתוף ציבורי מנוטרל על ידי המנהל",
- "Could not lock path" : "לא ניתן היה לנעול נתיב",
- "Wrong or no update parameter given" : "משתנה עדכון שניתן שגוי או לא קיים",
- "Wrong password" : "ססמה שגויה",
- "shared by %s" : "שותף על ידי %s",
- "Download" : "הורדה",
- "Direct link" : "קישור ישיר",
- "Share API is disabled" : "שיתוף API מנוטרל",
- "File sharing" : "שיתוף קבצים",
- "Share will expire tomorrow" : "תוקף השיתוף יפוג מחר",
- "Your share of {node} will expire tomorrow" : "תוקף השיתוף שלך {node} יפוג מחר",
- "You received {share} as a share by {user}" : "קיבלת {share} כשיתוף מאת {user}",
- "You received {share} to group {group} as a share by {user}" : "קיבלת {share} לקבוצה {group} כשיתוף על ידי {user}",
- "Accept" : "קבלה",
- "Decline" : "דחייה",
- "Expiration date" : "מועד תפוגה",
- "Set a password" : "הגדרת ססמה",
- "Password" : "ססמה",
- "Share link" : "שיתוף קישור",
- "Copy to clipboard" : "העתקה ללוח הגזירים",
- "Send link via email" : "שליחת קישור באמצעות דואר אלקטרוני",
- "Link copied to clipboard" : "הקישור הועתק ללוח הגזירים",
- "Select" : "בחר",
- "Cancel" : "ביטול",
- "Close" : "סגירה",
- "Continue" : "להמשך",
- "Error creating the share" : "יצירת השיתוף נכשלה",
- "Reset" : "איפוס",
- "Invalid path selected" : "הנתיב שנבחר שגוי",
- "Unknown error" : "שגיאה בלתי ידועה",
- "group" : "קבוצה",
- "conversation" : "דיון",
- "remote" : "מרוחק",
- "remote group" : "קבוצה מרוחקת",
- "guest" : "אורח",
- "Shared with the group {user} by {owner}" : "שותף עם הקבוצה {user} על ידי {owner}",
- "Shared with the conversation {user} by {owner}" : "שותף עם הדיון {user} על ידי {owner}",
- "Shared with {user} by {owner}" : "שותף עם {user} על ידי {owner}",
- "Added by {initiator}" : "נוסף על ידי {initiator}",
- "Via “{folder}”" : "דרך „{folder}”",
- "Unshare" : "ביטול שיתוף",
- "Internal link" : "קישור פנימי",
- "Cannot copy, please copy the link manually" : "לא ניתן להעתיק, נא להעתיק את הקישור ידנית",
- "Link copied" : "הקישור הועתק",
- "Please enter the following required information before creating the share" : "נא למלא את הפרטים הנחוצים הבאים בטרם יצירת השיתוף",
- "Password protection (enforced)" : "הגנה בססמה (נאכף)",
- "Password protection" : "Password protection",
- "Enter a password" : "נא להקליד ססמה",
- "Create share" : "צור שיתוף",
- "Add another link" : "הוספת קישור נוסף",
- "Create a new share link" : "יצירת קישור שיתוף חדש",
- "{shareWith} by {initiator}" : "{shareWith} באמצעות {initiator}",
- "Shared via link by {initiator}" : "שותף דרך קישור על ידי {initiator}",
- "Share link ({label})" : "שתף קישור ({label})",
- "Create public link" : "יצירת קישור ציבורי",
- "Error, please enter proper password and/or expiration date" : "שגיאה, נא למלא ססמה ו/או תאריך תפוגה כראוי",
- "View only" : "לצפיה בלבד",
- "Can edit" : "ניתן לערוך",
- "Resharing is not allowed" : "שיתוף מחדש אסור",
- "Name or email …" : "שם או דוא\"ל ...",
- "Name, email, or Federated Cloud ID …" : "שם, דוא\"ל או ID ענן מאוחד...",
- "Searching …" : "מתבצע חיפוש…",
- "No elements found." : "לא נמצאו רכיבים.",
- "Search globally" : "חיפוש גלובלי",
- "Guest" : "אורח/ת",
- "Group" : "קבוצה",
- "Email" : "דוא״ל",
- "Deck board" : "לוח חסיפה",
- "on {server}" : "על גבי {server}",
- "Note:" : "הערה:",
- "Terms of service" : "תנאי שירות",
- "Allow upload and editing" : "לאפשר העלאה ועריכה",
- "Allow editing" : "לאפשר עריכה",
- "Advanced settings" : "הגדרות מתקדמות",
- "Share label" : "שתף תווית",
- "Video verification" : "אימות וידאו",
- "Expiration date (enforced)" : "תאריך תפוגה (נאכף)",
- "Set expiration date" : "הגדרת תאריך תפוגה",
- "Hide download" : "הסתרת הורדה",
- "Note to recipient" : "מסר לנמען",
- "Enter a note for the share recipient" : "נא להוסיף הערה למקבלי השיתוף",
- "Read" : "קריאה",
- "Edit" : "עריכה",
- "Share" : "שיתוף",
- "Delete" : "מחיקה",
- "Others with access" : "נוספים עם גישה",
- "Toggle list of others with access to this directory" : "החלפת מצב הנוספים עם גישה לתיקייה הזאת",
- "Toggle list of others with access to this file" : "החלפת מצב הנוספים עם גישה לקובץ הזה",
- "Unable to fetch inherited shares" : "לא ניתן לקבל את השיתופים שנורשו",
- "Shares" : "שיתופים",
- "Unable to load the shares list" : "לא ניתן לטעון את רשימת השיתופים",
- "Expires {relativetime}" : "תפוגה: {relativetime}",
- "this share just expired." : "תוקף השיתוף פג זה עתה.",
- "Shared with you by {owner}" : "שותף אתך על ידי {owner}",
- "Link to a file" : "קישור לקובץ",
- "Shared" : "משותף",
- "Shared with others" : "משותף עם אחרים",
- "Public share" : "שיתוף ציבורי",
- "No shares" : "אין שיתופים",
- "Shared with you" : "שיתף/שיתפה אתך",
- "Nothing shared with you yet" : "עדיין לא שיתפו אתך דבר",
- "Nothing shared yet" : "עדיין לא שותף דבר",
- "Shared by link" : "משותף עם קישור",
- "No shared links" : "אין קישורים משותפים",
- "Deleted shares" : "שיתופים שנמחקו",
- "No deleted shares" : "אין שיתופים שנמחקו",
- "Pending shares" : "שיתופים ממתינים",
- "No pending shares" : "אין שיתופים ממתינים",
- "Error updating the share" : "שגיאה בעדכון השיתוף",
- "Shared by" : "שותף על־ידי",
- "Shared with" : "משותף עם",
- "Shared with you and the group {group} by {owner}" : "שותף אתך ועם הקבוצה {group} על ידי {owner}",
- "Shared with you and {circle} by {owner}" : "משותף אתך ועם {circle} על ידי {owner}",
- "Shared with you and the conversation {conversation} by {owner}" : "שותף אתך והדיון {conversation} על ידי {owner}",
- "Shared with you in a conversation by {owner}" : "שותף אתך בדיון על ידי {owner}",
- "Share note" : "פתק שיתוף",
- "Upload files to %s" : "העלאת קבצים על %s",
- "Note" : "פתק",
- "Select or drop files" : "בחירה או השלכה של קבצים",
- "Uploading files" : "מועלים קבצים",
- "Uploaded files:" : "קבצים שהועלו:",
- "By uploading files, you agree to the %1$sterms of service%2$s." : "עצם העלאתם של קבצים מביעה את הסכמתך ל%1$sתנאי השירות%2$s.",
- "Share not found" : "השיתוף לא נמצא",
- "Back to %s" : "חזרה אל %s",
- "Add to your Nextcloud" : "הוספה ל־Nextcloud שלך",
- "Waiting…" : "בהמתנה…",
- "error" : "שגיאה",
- "finished" : "הסתיים",
- "This will stop your current uploads." : "פעולה זו תעצור את השליחות הנוכחיות שלך.",
- "Move or copy" : "העברה או העתקה",
- "You can upload into this folder" : "ניתן להעלות לתיקייה זו",
- "No compatible server found at {remote}" : "לא נמצא שרת תואם בכתובת {remote}",
- "Invalid server URL" : "כתובת השרת שגויה",
- "Failed to add the public link to your Nextcloud" : "אירע כשל בהוספת קישור ציבורי ל־Nextcloud שלך",
- "Files" : "קבצים",
- "Download all files" : "הורדת כל הקבצים",
- "No recommendations. Start typing." : "אין המלצות. נא להתחיל להקליד.",
- "Enter your name" : "נא למלא את שמך"
-},
-"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;");
diff --git a/apps/files_sharing/l10n/he.json b/apps/files_sharing/l10n/he.json
deleted file mode 100644
index 8f32faa5c42..00000000000
--- a/apps/files_sharing/l10n/he.json
+++ /dev/null
@@ -1,212 +0,0 @@
-{ "translations": {
- "File shares" : "שיתופי קבצים",
- "Downloaded via public link" : "הורד על בסיס קישור ציבורי",
- "Downloaded by {email}" : "הורד על ידי {email}",
- "{file} downloaded via public link" : "{file} התקבל דרך קישור ציבורי",
- "{email} downloaded {file}" : "{file} הורד על ידי {email}",
- "Shared with group {group}" : "שותף עם הקבוצה {group}",
- "Removed share for group {group}" : "הוסר שיתוף עם הקבוצה {group}",
- "{actor} shared with group {group}" : "שותף עם הקבוצה {group} על ידי {actor}",
- "{actor} removed share for group {group}" : "הוסר השיתוף עם הקבוצה {group} על ידי {actor}",
- "Share for group {group} expired" : "תוקף השיתוף עם הקבוצה {group} פג",
- "You shared {file} with group {group}" : "שיתפת {file} עם הקבוצה {group}",
- "You removed group {group} from {file}" : "הסרת את הקבוצה {group} מהקובץ {file}",
- "{actor} shared {file} with group {group}" : "הקובץ {file} שותף עם הקבוצה {group} על ידי {actor}",
- "{actor} removed group {group} from {file}" : "הקבוצה {group} הוסרה מהשיתוף {file} על ידי {actor}",
- "Share for file {file} with group {group} expired" : "תוקף שיתוף הקובץ {file} עם הקבוצה {group} פג",
- "Shared as public link" : "שותף כקישור ציבורי",
- "Removed public link" : "הסיר/ה קישור ציבורי",
- "Public link expired" : "קישור ציבורי פג תוקף",
- "{actor} shared as public link" : "שותף כקישור ציבורי על ידי {actor}",
- "{actor} removed public link" : "הקישור הציבורי הוסר על ידי {actor}",
- "Public link of {actor} expired" : "תוקף הקישור הציבורי של {actor} פג",
- "You shared {file} as public link" : "שיתפת את {file} כקישור ציבורי",
- "You removed public link for {file}" : "הסרת קישור ציבורי עבור {file}",
- "Public link expired for {file}" : "תוקף הקישור הציבורי עבור {file} פג",
- "{actor} shared {file} as public link" : "{file} שותף כקישור ציבורי על ידי {actor}",
- "{actor} removed public link for {file}" : "הקישור הציבורי עבור {file} הוסר על ידי {actor}",
- "Public link of {actor} for {file} expired" : "תוקף הקישור הציבורי של {actor} עבור {file} פג",
- "{user} accepted the remote share" : "השיתוף המרוחק התקבל על ידי {user}",
- "{user} declined the remote share" : "השיתוף המרוחק נדחה על ידי {user}",
- "You received a new remote share {file} from {user}" : "קיבלת שיתוף מרוחק חדש {file} מאת",
- "{user} accepted the remote share of {file}" : "השיתוף המרוחק של {file} התקבל על ידי {user}",
- "{user} declined the remote share of {file}" : "השיתוף המרוחק של {file} נדחה על ידי {user}",
- "{user} unshared {file} from you" : "{user} ביטל שיתוף של {file} ממך",
- "Shared with {user}" : "שותף עם {user}",
- "Removed share for {user}" : "הוסר השיתוף עבור {user}",
- "You removed yourself" : "הסרת את עצמך",
- "{actor} removed themselves" : "{actor} הסירו את עצמם",
- "{actor} shared with {user}" : "שותף עם {user} על ידי {actor}",
- "{actor} removed share for {user}" : "השיתוף עבור {user} הוסר על ידי {actor}",
- "Shared by {actor}" : "שותף על ידי {actor}",
- "{actor} removed share" : "שיתוף הוסר על ידי {actor}",
- "Share for {user} expired" : "תוקף השיתוף של {user} פג",
- "Share expired" : "תוקף השיתוף פג",
- "You shared {file} with {user}" : "שיתפת את {file} עם {user}",
- "You removed {user} from {file}" : "הסרת את {user} מהקובץ {file}",
- "You removed yourself from {file}" : "הסרת את עצמך מהקובץ {file}",
- "{actor} removed themselves from {file}" : "{actor} הסיר את עצמו מ- {file}",
- "{actor} shared {file} with {user}" : "{file} שותף עם {user} על ידי {actor}",
- "{actor} removed {user} from {file}" : "{actor} הסיר את {user} מ- {file}",
- "{actor} shared {file} with you" : "{actor} שיתף {file} איתך",
- "{actor} removed you from the share named {file}" : "הוסרת מהשיתוף בשם {file} על ידי {actor}",
- "Share for file {file} with {user} expired" : "תוקף שיתוף הקובץ {file} עם {user} פג",
- "Share for file {file} expired" : "שיתוף הקובץ {file} פג",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "קובץ או תיקייה ששותפו בדוא״ל או דרך קישור ציבורי <strong>הורדו</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "קובץ או תיקייה שותפו מ- <strong>שרת אחר</strong>",
- "Sharing" : "שיתוף",
- "A file or folder has been <strong>shared</strong>" : "קובץ או תיקייה <strong>שותפו<strong/>",
- "Shared link" : "שותף קישור",
- "Could not delete share" : "לא ניתן היה למחוק את השיתוף",
- "Please specify a file or folder path" : "יש לספק נתיב לקובץ או תיקייה",
- "Could not create share" : "לא ניתן ליצור שיתוף",
- "Group sharing is disabled by the administrator" : "שיתוף קבוצתי מנוטרל על ידי המנהל",
- "Please specify a valid group" : "יש לספק קבוצה חוקית",
- "Public link sharing is disabled by the administrator" : "שיתוף ציבורי מנוטרל על ידי המנהל",
- "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "שיתוף%s שליחת הסיסמה באמצעות Nextcloud Talk נכשל מכיוון ש- Nextcloud Talk אינו מופעל",
- "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "השיתוף%1$s נכשל מכיוון שה-\"קצה אחורי\" אינו מאפשר שיתופים מסוג %2$s",
- "Sharing %s failed because the back end does not support room shares" : "השיתוף של%sנכשל מכיוון שה-\"קצה אחורי\" אינו תומך בשיתופי חדרים",
- "Unknown share type" : "סוג שיתוף אינו מוכר",
- "Not a directory" : "אינה תיקייה",
- "Could not lock node" : "לא היה ניתן לנעול את הצומת",
- "Public upload is only possible for publicly shared folders" : "העלאה ציבורית אפשרית רק אל תיקיות משותפות ציבוריות",
- "Public upload disabled by the administrator" : "שיתוף ציבורי מנוטרל על ידי המנהל",
- "Could not lock path" : "לא ניתן היה לנעול נתיב",
- "Wrong or no update parameter given" : "משתנה עדכון שניתן שגוי או לא קיים",
- "Wrong password" : "ססמה שגויה",
- "shared by %s" : "שותף על ידי %s",
- "Download" : "הורדה",
- "Direct link" : "קישור ישיר",
- "Share API is disabled" : "שיתוף API מנוטרל",
- "File sharing" : "שיתוף קבצים",
- "Share will expire tomorrow" : "תוקף השיתוף יפוג מחר",
- "Your share of {node} will expire tomorrow" : "תוקף השיתוף שלך {node} יפוג מחר",
- "You received {share} as a share by {user}" : "קיבלת {share} כשיתוף מאת {user}",
- "You received {share} to group {group} as a share by {user}" : "קיבלת {share} לקבוצה {group} כשיתוף על ידי {user}",
- "Accept" : "קבלה",
- "Decline" : "דחייה",
- "Expiration date" : "מועד תפוגה",
- "Set a password" : "הגדרת ססמה",
- "Password" : "ססמה",
- "Share link" : "שיתוף קישור",
- "Copy to clipboard" : "העתקה ללוח הגזירים",
- "Send link via email" : "שליחת קישור באמצעות דואר אלקטרוני",
- "Link copied to clipboard" : "הקישור הועתק ללוח הגזירים",
- "Select" : "בחר",
- "Cancel" : "ביטול",
- "Close" : "סגירה",
- "Continue" : "להמשך",
- "Error creating the share" : "יצירת השיתוף נכשלה",
- "Reset" : "איפוס",
- "Invalid path selected" : "הנתיב שנבחר שגוי",
- "Unknown error" : "שגיאה בלתי ידועה",
- "group" : "קבוצה",
- "conversation" : "דיון",
- "remote" : "מרוחק",
- "remote group" : "קבוצה מרוחקת",
- "guest" : "אורח",
- "Shared with the group {user} by {owner}" : "שותף עם הקבוצה {user} על ידי {owner}",
- "Shared with the conversation {user} by {owner}" : "שותף עם הדיון {user} על ידי {owner}",
- "Shared with {user} by {owner}" : "שותף עם {user} על ידי {owner}",
- "Added by {initiator}" : "נוסף על ידי {initiator}",
- "Via “{folder}”" : "דרך „{folder}”",
- "Unshare" : "ביטול שיתוף",
- "Internal link" : "קישור פנימי",
- "Cannot copy, please copy the link manually" : "לא ניתן להעתיק, נא להעתיק את הקישור ידנית",
- "Link copied" : "הקישור הועתק",
- "Please enter the following required information before creating the share" : "נא למלא את הפרטים הנחוצים הבאים בטרם יצירת השיתוף",
- "Password protection (enforced)" : "הגנה בססמה (נאכף)",
- "Password protection" : "Password protection",
- "Enter a password" : "נא להקליד ססמה",
- "Create share" : "צור שיתוף",
- "Add another link" : "הוספת קישור נוסף",
- "Create a new share link" : "יצירת קישור שיתוף חדש",
- "{shareWith} by {initiator}" : "{shareWith} באמצעות {initiator}",
- "Shared via link by {initiator}" : "שותף דרך קישור על ידי {initiator}",
- "Share link ({label})" : "שתף קישור ({label})",
- "Create public link" : "יצירת קישור ציבורי",
- "Error, please enter proper password and/or expiration date" : "שגיאה, נא למלא ססמה ו/או תאריך תפוגה כראוי",
- "View only" : "לצפיה בלבד",
- "Can edit" : "ניתן לערוך",
- "Resharing is not allowed" : "שיתוף מחדש אסור",
- "Name or email …" : "שם או דוא\"ל ...",
- "Name, email, or Federated Cloud ID …" : "שם, דוא\"ל או ID ענן מאוחד...",
- "Searching …" : "מתבצע חיפוש…",
- "No elements found." : "לא נמצאו רכיבים.",
- "Search globally" : "חיפוש גלובלי",
- "Guest" : "אורח/ת",
- "Group" : "קבוצה",
- "Email" : "דוא״ל",
- "Deck board" : "לוח חסיפה",
- "on {server}" : "על גבי {server}",
- "Note:" : "הערה:",
- "Terms of service" : "תנאי שירות",
- "Allow upload and editing" : "לאפשר העלאה ועריכה",
- "Allow editing" : "לאפשר עריכה",
- "Advanced settings" : "הגדרות מתקדמות",
- "Share label" : "שתף תווית",
- "Video verification" : "אימות וידאו",
- "Expiration date (enforced)" : "תאריך תפוגה (נאכף)",
- "Set expiration date" : "הגדרת תאריך תפוגה",
- "Hide download" : "הסתרת הורדה",
- "Note to recipient" : "מסר לנמען",
- "Enter a note for the share recipient" : "נא להוסיף הערה למקבלי השיתוף",
- "Read" : "קריאה",
- "Edit" : "עריכה",
- "Share" : "שיתוף",
- "Delete" : "מחיקה",
- "Others with access" : "נוספים עם גישה",
- "Toggle list of others with access to this directory" : "החלפת מצב הנוספים עם גישה לתיקייה הזאת",
- "Toggle list of others with access to this file" : "החלפת מצב הנוספים עם גישה לקובץ הזה",
- "Unable to fetch inherited shares" : "לא ניתן לקבל את השיתופים שנורשו",
- "Shares" : "שיתופים",
- "Unable to load the shares list" : "לא ניתן לטעון את רשימת השיתופים",
- "Expires {relativetime}" : "תפוגה: {relativetime}",
- "this share just expired." : "תוקף השיתוף פג זה עתה.",
- "Shared with you by {owner}" : "שותף אתך על ידי {owner}",
- "Link to a file" : "קישור לקובץ",
- "Shared" : "משותף",
- "Shared with others" : "משותף עם אחרים",
- "Public share" : "שיתוף ציבורי",
- "No shares" : "אין שיתופים",
- "Shared with you" : "שיתף/שיתפה אתך",
- "Nothing shared with you yet" : "עדיין לא שיתפו אתך דבר",
- "Nothing shared yet" : "עדיין לא שותף דבר",
- "Shared by link" : "משותף עם קישור",
- "No shared links" : "אין קישורים משותפים",
- "Deleted shares" : "שיתופים שנמחקו",
- "No deleted shares" : "אין שיתופים שנמחקו",
- "Pending shares" : "שיתופים ממתינים",
- "No pending shares" : "אין שיתופים ממתינים",
- "Error updating the share" : "שגיאה בעדכון השיתוף",
- "Shared by" : "שותף על־ידי",
- "Shared with" : "משותף עם",
- "Shared with you and the group {group} by {owner}" : "שותף אתך ועם הקבוצה {group} על ידי {owner}",
- "Shared with you and {circle} by {owner}" : "משותף אתך ועם {circle} על ידי {owner}",
- "Shared with you and the conversation {conversation} by {owner}" : "שותף אתך והדיון {conversation} על ידי {owner}",
- "Shared with you in a conversation by {owner}" : "שותף אתך בדיון על ידי {owner}",
- "Share note" : "פתק שיתוף",
- "Upload files to %s" : "העלאת קבצים על %s",
- "Note" : "פתק",
- "Select or drop files" : "בחירה או השלכה של קבצים",
- "Uploading files" : "מועלים קבצים",
- "Uploaded files:" : "קבצים שהועלו:",
- "By uploading files, you agree to the %1$sterms of service%2$s." : "עצם העלאתם של קבצים מביעה את הסכמתך ל%1$sתנאי השירות%2$s.",
- "Share not found" : "השיתוף לא נמצא",
- "Back to %s" : "חזרה אל %s",
- "Add to your Nextcloud" : "הוספה ל־Nextcloud שלך",
- "Waiting…" : "בהמתנה…",
- "error" : "שגיאה",
- "finished" : "הסתיים",
- "This will stop your current uploads." : "פעולה זו תעצור את השליחות הנוכחיות שלך.",
- "Move or copy" : "העברה או העתקה",
- "You can upload into this folder" : "ניתן להעלות לתיקייה זו",
- "No compatible server found at {remote}" : "לא נמצא שרת תואם בכתובת {remote}",
- "Invalid server URL" : "כתובת השרת שגויה",
- "Failed to add the public link to your Nextcloud" : "אירע כשל בהוספת קישור ציבורי ל־Nextcloud שלך",
- "Files" : "קבצים",
- "Download all files" : "הורדת כל הקבצים",
- "No recommendations. Start typing." : "אין המלצות. נא להתחיל להקליד.",
- "Enter your name" : "נא למלא את שמך"
-},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/hr.js b/apps/files_sharing/l10n/hr.js
index 4eedc0c0bc3..16b8b425f4b 100644
--- a/apps/files_sharing/l10n/hr.js
+++ b/apps/files_sharing/l10n/hr.js
@@ -189,6 +189,7 @@ OC.L10N.register(
"No deleted shares" : "Nema izbrisanih dijeljenja",
"Pending shares" : "Dijeljenja na čekanju",
"No pending shares" : "Nema dijeljenja na čekanju",
+ "Error deleting the share" : "Pogreška pri brisanju dijeljenja",
"Error updating the share: {errorMessage}" : "Pogreška pri ažuriranju dijeljenja: {errorMessage}",
"Error updating the share" : "Pogreška pri ažuriranju dijeljenja",
"Shared by" : "Podijeljeno od",
diff --git a/apps/files_sharing/l10n/hr.json b/apps/files_sharing/l10n/hr.json
index 8df8671ef9d..cd4c7450ccc 100644
--- a/apps/files_sharing/l10n/hr.json
+++ b/apps/files_sharing/l10n/hr.json
@@ -187,6 +187,7 @@
"No deleted shares" : "Nema izbrisanih dijeljenja",
"Pending shares" : "Dijeljenja na čekanju",
"No pending shares" : "Nema dijeljenja na čekanju",
+ "Error deleting the share" : "Pogreška pri brisanju dijeljenja",
"Error updating the share: {errorMessage}" : "Pogreška pri ažuriranju dijeljenja: {errorMessage}",
"Error updating the share" : "Pogreška pri ažuriranju dijeljenja",
"Shared by" : "Podijeljeno od",
diff --git a/apps/files_sharing/l10n/hy.js b/apps/files_sharing/l10n/hy.js
deleted file mode 100644
index 2e8a459c6da..00000000000
--- a/apps/files_sharing/l10n/hy.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Cancel" : "Չեղարկել",
- "Password" : "Գաղտնաբառ",
- "Name" : "Անուն",
- "Download" : "Ներբեռնել",
- "Download %s" : "Ներբեռնել %s"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/hy.json b/apps/files_sharing/l10n/hy.json
deleted file mode 100644
index a189280c922..00000000000
--- a/apps/files_sharing/l10n/hy.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Cancel" : "Չեղարկել",
- "Password" : "Գաղտնաբառ",
- "Name" : "Անուն",
- "Download" : "Ներբեռնել",
- "Download %s" : "Ներբեռնել %s"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/ia.js b/apps/files_sharing/l10n/ia.js
deleted file mode 100644
index 8e6401b8835..00000000000
--- a/apps/files_sharing/l10n/ia.js
+++ /dev/null
@@ -1,15 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Cancel" : "Cancellar",
- "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",
- "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",
- "Download" : "Discargar"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/ia.json b/apps/files_sharing/l10n/ia.json
deleted file mode 100644
index e5efb202155..00000000000
--- a/apps/files_sharing/l10n/ia.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{ "translations": {
- "Cancel" : "Cancellar",
- "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",
- "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",
- "Download" : "Discargar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/id.js b/apps/files_sharing/l10n/id.js
deleted file mode 100644
index d7b18e9fa88..00000000000
--- a/apps/files_sharing/l10n/id.js
+++ /dev/null
@@ -1,69 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with others" : "Dibagikan dengan lainnya",
- "Shared with you" : "Dibagikan dengan Anda",
- "Shared by link" : "Dibagikan dengan tautan",
- "Nothing shared with you yet" : "Tidak ada yang dibagikan kepada Anda",
- "Files and folders others share with you will show up here" : "Berkas dan folder lainnya yang dibagikan kepada Anda akan ditampilkan disini",
- "Nothing shared yet" : "Tidak ada yang dibagikan",
- "Files and folders you share will show up here" : "Berkas dan folder yang Anda bagikan akan ditampilkan disini",
- "No shared links" : "Tidak ada tautan berbagi",
- "Files and folders you share by link will show up here" : "Berkas dan folder yang Anda bagikan menggunakan tautan akan ditampilkan disini",
- "Download" : "Unduh",
- "You can upload into this folder" : "Anda dapat mengunggah kedalam folder ini",
- "No compatible server found at {remote}" : "Tidak ditemukan server yang kompatibel pada {remote}",
- "Invalid server URL" : "Server URL tidak valid",
- "Failed to add the public link to your Nextcloud" : "Gagal menambah tautan publik ke Nextcloud Anda",
- "No expiration date set" : "Tanggal kedaluwarsa tidak diatur",
- "Shared by" : "Dibagikan oleh",
- "Sharing" : "Berbagi",
- "Downloaded via public link" : "Diunduh via tautan publik",
- "Removed public link" : "tautan publik dihapus",
- "Public link expired" : "tautan publik kedaluwarsa",
- "A file or folder was shared from <strong>another server</strong>" : "Sebuah berkas atau folder telah dibagikan dari <strong>server lainnya</strong>",
- "A file or folder has been <strong>shared</strong>" : "Sebuah berkas atau folder telah <strong>dibagikan</strong>",
- "Wrong share ID, share doesn't exist" : "ID pembagian salah, tidak ada yang bisa dibagi",
- "could not delete share" : "tidak dapat menghapus pembagian",
- "Could not delete share" : "Tidak dapat menghapus pembagian",
- "Please specify a file or folder path" : "Tentukan berkas atau folder",
- "Wrong path, file/folder doesn't exist" : "Salah path, berkas/folder tidak ada",
- "Could not create share" : "Tidak dapat membuat pembagian",
- "invalid permissions" : "izin tidak sah",
- "Please specify a valid user" : "Tentukan pengguna yang valid",
- "Group sharing is disabled by the administrator" : "Berbagi grup dinonaktifkan oleh administrator",
- "Please specify a valid group" : "Tentukan grup yang valid",
- "Public link sharing is disabled by the administrator" : "Pembagian tautan publik dinonaktifkan oleh administrator",
- "Public upload disabled by the administrator" : "Pengunggahan publik dinonaktifkan oleh administrator",
- "Public upload is only possible for publicly shared folders" : "Pengunggahan publik hanya bisa untuk folder yang dibagikan kepada publik",
- "Invalid date, date format must be YYYY-MM-DD" : "Tanggal salah, format tanggal harus TTTT-BB-HH",
- "Unknown share type" : "Tipe berbagi tidak diketahui",
- "Not a directory" : "Bukan direktori",
- "Could not lock path" : "Tidak dapat mengunci path",
- "Wrong or no update parameter given" : "Parameter salah atau tidak diperbarui",
- "Can't change permissions for public share links" : "Tidak dapat mengubah izin untuk tautan berbagi publik",
- "Cannot increase permissions" : "Tidak dapat menambah izin",
- "Direct link" : "Tautan langsung",
- "Add to your Nextcloud" : "Tambahkan ke Nextcloud Anda",
- "Share API is disabled" : "API pembagian dinonaktifkan",
- "No entries found in this folder" : "Tidak ada entri yang ditemukan dalam folder ini",
- "Name" : "Nama",
- "Share time" : "Waktu berbagi",
- "Expiration date" : "Tanggal kedaluwarsa",
- "Sorry, this link doesn’t seem to work anymore." : "Maaf, tautan ini tampaknya tidak berfungsi lagi.",
- "Reasons might be:" : "Alasan yang mungkin:",
- "the item was removed" : "item telah dihapus",
- "the link expired" : "tautan telah kedaluwarsa",
- "sharing is disabled" : "berbagi dinonaktifkan",
- "For more info, please ask the person who sent this link." : "Untuk info lebih lanjut, silakan tanyakan orang yang mengirim tautan ini.",
- "Download %s" : "Unduh %s",
- "Upload files to %s" : "Unggah berkas ke %s",
- "Select or drop files" : "Pilih atau drop berkas",
- "Uploading files…" : "Mengunggah berkas...",
- "Uploaded files:" : "Berkas terunggah:",
- "Sharing %s failed because the back end does not allow shares from type %s" : "Gagal berbagi %s karena backend tidak mengizinkan berbagi dengan tipe %s",
- "This share is password-protected" : "Berbagi ini dilindungi kata sandi",
- "The password is wrong. Try again." : "Kata sandi salah. Coba lagi",
- "Password" : "Kata sandi"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_sharing/l10n/id.json b/apps/files_sharing/l10n/id.json
deleted file mode 100644
index 3226abaeba0..00000000000
--- a/apps/files_sharing/l10n/id.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{ "translations": {
- "Shared with others" : "Dibagikan dengan lainnya",
- "Shared with you" : "Dibagikan dengan Anda",
- "Shared by link" : "Dibagikan dengan tautan",
- "Nothing shared with you yet" : "Tidak ada yang dibagikan kepada Anda",
- "Files and folders others share with you will show up here" : "Berkas dan folder lainnya yang dibagikan kepada Anda akan ditampilkan disini",
- "Nothing shared yet" : "Tidak ada yang dibagikan",
- "Files and folders you share will show up here" : "Berkas dan folder yang Anda bagikan akan ditampilkan disini",
- "No shared links" : "Tidak ada tautan berbagi",
- "Files and folders you share by link will show up here" : "Berkas dan folder yang Anda bagikan menggunakan tautan akan ditampilkan disini",
- "Download" : "Unduh",
- "You can upload into this folder" : "Anda dapat mengunggah kedalam folder ini",
- "No compatible server found at {remote}" : "Tidak ditemukan server yang kompatibel pada {remote}",
- "Invalid server URL" : "Server URL tidak valid",
- "Failed to add the public link to your Nextcloud" : "Gagal menambah tautan publik ke Nextcloud Anda",
- "No expiration date set" : "Tanggal kedaluwarsa tidak diatur",
- "Shared by" : "Dibagikan oleh",
- "Sharing" : "Berbagi",
- "Downloaded via public link" : "Diunduh via tautan publik",
- "Removed public link" : "tautan publik dihapus",
- "Public link expired" : "tautan publik kedaluwarsa",
- "A file or folder was shared from <strong>another server</strong>" : "Sebuah berkas atau folder telah dibagikan dari <strong>server lainnya</strong>",
- "A file or folder has been <strong>shared</strong>" : "Sebuah berkas atau folder telah <strong>dibagikan</strong>",
- "Wrong share ID, share doesn't exist" : "ID pembagian salah, tidak ada yang bisa dibagi",
- "could not delete share" : "tidak dapat menghapus pembagian",
- "Could not delete share" : "Tidak dapat menghapus pembagian",
- "Please specify a file or folder path" : "Tentukan berkas atau folder",
- "Wrong path, file/folder doesn't exist" : "Salah path, berkas/folder tidak ada",
- "Could not create share" : "Tidak dapat membuat pembagian",
- "invalid permissions" : "izin tidak sah",
- "Please specify a valid user" : "Tentukan pengguna yang valid",
- "Group sharing is disabled by the administrator" : "Berbagi grup dinonaktifkan oleh administrator",
- "Please specify a valid group" : "Tentukan grup yang valid",
- "Public link sharing is disabled by the administrator" : "Pembagian tautan publik dinonaktifkan oleh administrator",
- "Public upload disabled by the administrator" : "Pengunggahan publik dinonaktifkan oleh administrator",
- "Public upload is only possible for publicly shared folders" : "Pengunggahan publik hanya bisa untuk folder yang dibagikan kepada publik",
- "Invalid date, date format must be YYYY-MM-DD" : "Tanggal salah, format tanggal harus TTTT-BB-HH",
- "Unknown share type" : "Tipe berbagi tidak diketahui",
- "Not a directory" : "Bukan direktori",
- "Could not lock path" : "Tidak dapat mengunci path",
- "Wrong or no update parameter given" : "Parameter salah atau tidak diperbarui",
- "Can't change permissions for public share links" : "Tidak dapat mengubah izin untuk tautan berbagi publik",
- "Cannot increase permissions" : "Tidak dapat menambah izin",
- "Direct link" : "Tautan langsung",
- "Add to your Nextcloud" : "Tambahkan ke Nextcloud Anda",
- "Share API is disabled" : "API pembagian dinonaktifkan",
- "No entries found in this folder" : "Tidak ada entri yang ditemukan dalam folder ini",
- "Name" : "Nama",
- "Share time" : "Waktu berbagi",
- "Expiration date" : "Tanggal kedaluwarsa",
- "Sorry, this link doesn’t seem to work anymore." : "Maaf, tautan ini tampaknya tidak berfungsi lagi.",
- "Reasons might be:" : "Alasan yang mungkin:",
- "the item was removed" : "item telah dihapus",
- "the link expired" : "tautan telah kedaluwarsa",
- "sharing is disabled" : "berbagi dinonaktifkan",
- "For more info, please ask the person who sent this link." : "Untuk info lebih lanjut, silakan tanyakan orang yang mengirim tautan ini.",
- "Download %s" : "Unduh %s",
- "Upload files to %s" : "Unggah berkas ke %s",
- "Select or drop files" : "Pilih atau drop berkas",
- "Uploading files…" : "Mengunggah berkas...",
- "Uploaded files:" : "Berkas terunggah:",
- "Sharing %s failed because the back end does not allow shares from type %s" : "Gagal berbagi %s karena backend tidak mengizinkan berbagi dengan tipe %s",
- "This share is password-protected" : "Berbagi ini dilindungi kata sandi",
- "The password is wrong. Try again." : "Kata sandi salah. Coba lagi",
- "Password" : "Kata sandi"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/it.js b/apps/files_sharing/l10n/it.js
index ade501b3d13..23f0a3b4a28 100644
--- a/apps/files_sharing/l10n/it.js
+++ b/apps/files_sharing/l10n/it.js
@@ -368,6 +368,7 @@ OC.L10N.register(
"List of unapproved shares." : "Lista di condivisioni non approvate.",
"No pending shares" : "Nessuna condivisione in corso",
"Shares you have received but not approved will show up here" : "Le condivisioni che hai ricevuto, ma non approvato saranno mostrate qui",
+ "Error deleting the share" : "Errore durante l'eliminazione della condivisione",
"Error updating the share: {errorMessage}" : "Errore durante l'aggiornamento della condivisione: {errorMessage}",
"Error updating the share" : "Errore durante l'aggiornamento della condivisione",
"File \"{path}\" has been unshared" : "La condivisione del file \"{path}\" è stata rimossa",
diff --git a/apps/files_sharing/l10n/it.json b/apps/files_sharing/l10n/it.json
index f87b0a5cd74..fc84fa187f2 100644
--- a/apps/files_sharing/l10n/it.json
+++ b/apps/files_sharing/l10n/it.json
@@ -366,6 +366,7 @@
"List of unapproved shares." : "Lista di condivisioni non approvate.",
"No pending shares" : "Nessuna condivisione in corso",
"Shares you have received but not approved will show up here" : "Le condivisioni che hai ricevuto, ma non approvato saranno mostrate qui",
+ "Error deleting the share" : "Errore durante l'eliminazione della condivisione",
"Error updating the share: {errorMessage}" : "Errore durante l'aggiornamento della condivisione: {errorMessage}",
"Error updating the share" : "Errore durante l'aggiornamento della condivisione",
"File \"{path}\" has been unshared" : "La condivisione del file \"{path}\" è stata rimossa",
diff --git a/apps/files_sharing/l10n/ja.js b/apps/files_sharing/l10n/ja.js
index e01fba6e55b..9f82c441ca4 100644
--- a/apps/files_sharing/l10n/ja.js
+++ b/apps/files_sharing/l10n/ja.js
@@ -368,6 +368,8 @@ OC.L10N.register(
"List of unapproved shares." : "未承認の共有の一覧",
"No pending shares" : "保留中の共有はありません",
"Shares you have received but not approved will show up here" : "あなたが受け取ったが承認されていない共有は、ここに表示されます",
+ "Error deleting the share: {errorMessage}" : "共有の削除中にエラーが発生しました: {errorMessage}",
+ "Error deleting the share" : "共有の削除中にエラー",
"Error updating the share: {errorMessage}" : "共有の更新中にエラーが発生しました: {errorMessage}",
"Error updating the share" : "共有の更新中にエラー",
"File \"{path}\" has been unshared" : "ファイルパス \"{path}\" が共有解除されました",
diff --git a/apps/files_sharing/l10n/ja.json b/apps/files_sharing/l10n/ja.json
index db30aba92e9..1d34bd25927 100644
--- a/apps/files_sharing/l10n/ja.json
+++ b/apps/files_sharing/l10n/ja.json
@@ -366,6 +366,8 @@
"List of unapproved shares." : "未承認の共有の一覧",
"No pending shares" : "保留中の共有はありません",
"Shares you have received but not approved will show up here" : "あなたが受け取ったが承認されていない共有は、ここに表示されます",
+ "Error deleting the share: {errorMessage}" : "共有の削除中にエラーが発生しました: {errorMessage}",
+ "Error deleting the share" : "共有の削除中にエラー",
"Error updating the share: {errorMessage}" : "共有の更新中にエラーが発生しました: {errorMessage}",
"Error updating the share" : "共有の更新中にエラー",
"File \"{path}\" has been unshared" : "ファイルパス \"{path}\" が共有解除されました",
diff --git a/apps/files_sharing/l10n/ka_GE.js b/apps/files_sharing/l10n/ka_GE.js
deleted file mode 100644
index f07d567fb75..00000000000
--- a/apps/files_sharing/l10n/ka_GE.js
+++ /dev/null
@@ -1,135 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "თქვენთან გაზიარებული",
- "Nothing shared with you yet" : "თქვენთან ჯერ არაფერია გაზიარებული",
- "Files and folders others share with you will show up here" : "აქ გამოჩნდება ფაილები და დირექტორიები, რომლებსაც სხვები თქვენთან აზიარებენ",
- "Shared with others" : "სხვასთან გაზიარებული",
- "Nothing shared yet" : "ჯერ არაფერი გაზიარებულა",
- "Files and folders you share will show up here" : "აქ გამოჩნდება ფაილები და დირექტორიები რომლებსაც აზიარებთ თქვენ",
- "Shared by link" : "ბმულით გაზიარებული",
- "No shared links" : "გაზიარებული ბმულები არაა",
- "Files and folders you share by link will show up here" : "აქ გამოჩნდება ფაილები და დირექტორიები რომლებსაც ბმულით აზიარებთ თქვენ",
- "Shares" : "გაზიარებები",
- "Restore" : "აღდგენა",
- "Move or copy" : "გადაიტანეთ ან დააკოპირეთ",
- "Download" : "ჩამოტვირთვა",
- "Delete" : "წაშლა",
- "You can upload into this folder" : "შეგიძლიათ ატვირთოთ ამ დირექტორიაში",
- "No compatible server found at {remote}" : "თავსებადი სერვერი {remote}-ზე ვერ იქნა ნაპოვნი",
- "Invalid server URL" : "არასწორი სერვერის URL",
- "Failed to add the public link to your Nextcloud" : "საზოგადო ბმულის დამატება თქვენს Nextcloud-ზე ვერ მოხერხდა",
- "No expiration date set" : "გაუქმების თარიღი არაა დაყენებული",
- "Shared by" : "აზიარებს",
- "File shares" : "ფაილის გაზიარებები",
- "Downloaded via public link" : "გადმოწერილია საზოგადო ბმულით",
- "Downloaded by {email}" : "გადმოწერა {email}-მ",
- "{file} downloaded via public link" : "{file} გადმოწერილია საზოგადო ბმულით",
- "{email} downloaded {file}" : "{email}-მ გადმოწერა {file}",
- "Shared with group {group}" : "გაზიარებულია ჯგუფთან {group}",
- "Removed share for group {group}" : "გაზიარება {group} ჯგუფთან შეწყდა",
- "{actor} shared with group {group}" : "{actor} მომხმარებელმა გააზიარა ჯგუფთან {group}",
- "{actor} removed share for group {group}" : "{actor} მომხმარებელმა შეწყვიტა გაზიარება ჯგუფთან {group}",
- "You shared {file} with group {group}" : "თქვენ გააზიარეთ {file} ჯგუფთან {group}",
- "You removed group {group} from {file}" : "თქვენ მოაშორეთ ჯგუფი {group} ფაილს {file}",
- "{actor} shared {file} with group {group}" : "{actor} მომხმარებელმა გააზიარა ფაილი {file} ჯგუფთან {group}",
- "{actor} removed group {group} from {file}" : "{actor} მომხმარებელმა მოაშორა ჯგუფი {group} ფაილს {file}",
- "Shared as public link" : "გააზიარა როგორც საზოგადო ბმული",
- "Removed public link" : "გააუქმა საზოგადო ბმული",
- "Public link expired" : "საზოგადო ბმულს გაუვიდა ვადა",
- "{actor} shared as public link" : "{actor} მომხმარებელმა გააზიარა საზოგადო ბმულად",
- "{actor} removed public link" : "{actor} მომხმარებელმა გააუქმა საზოგადო ბმული",
- "Public link of {actor} expired" : "{actor} მომხმარებლის საზოგადო ბმულს გაუვიდა ვადა",
- "You shared {file} as public link" : "თქვენ საზოგადო ბმულის სახით გააზიარეთ {file}",
- "You removed public link for {file}" : "თქვენ გააუქმეთ საზოგადო ბმული ფაილისთვის {file}",
- "Public link expired for {file}" : "საზოგადო ბმულს ფაილისთვის {file} გაუვიდა ვადა",
- "{actor} shared {file} as public link" : "{actor} მომხმარებელმა საზოგადო ბმულის სახით გააზიარა {file}",
- "{actor} removed public link for {file}" : "{actor} მომხმარებელმა გააუქმა საზოგადო ბმული ფაილისთვის {file}",
- "Public link of {actor} for {file} expired" : "{actor} მომხმარებლის საზოგადო ბმულს ფაილზე {file} გაუვიდა ვადა",
- "{user} accepted the remote share" : "{user} მომხმარებელმა მიიღო დისტანციური გაზიარება",
- "{user} declined the remote share" : "{user} მომხმარებელმა უარყო დისტანციური გაზიარება",
- "You received a new remote share {file} from {user}" : "თქვენ მიიღეთ ახალი დისტანციური გაზიარება {file} მომხმარებლისგან {user}",
- "{user} accepted the remote share of {file}" : "{user} მომხმარებელმა მიიღო დისტანციური გაზიარება ფაილზე {file}",
- "{user} declined the remote share of {file}" : "{user} მომხმარებელმა უარყო დისტანციური გაზიარება ფალზე {file}",
- "{user} unshared {file} from you" : "{user} მომხმარებელმა შეწყვიტა ფაილის {file} გაზიარება თქვენთან",
- "Shared with {user}" : "გაზიარებული მომხმარებელთან {user}",
- "Removed share for {user}" : "შეწყდა გაზიარება მომხმარებელთან {user}",
- "{actor} shared with {user}" : "{actor} მომხმარებელმა გააზიარა მომხმარებელთან {user}",
- "{actor} removed share for {user}" : "{actor} მომხმარებელმა შეწყვიტა გაზიარება მომხმარებელთან {user}",
- "Shared by {actor}" : "გააზიარა მომხმარებელმა {actor}",
- "{actor} removed share" : "{actor} მომხმარებელმა შეწყვიტა გაზიარება",
- "You shared {file} with {user}" : "თქვენ გააზიარეთ ფაილი {file} მომხმარებელთან {user}",
- "You removed {user} from {file}" : "თქვენ ჩამოაშორეთ მომხმარებელი {user} ფაილს {file}",
- "{actor} shared {file} with {user}" : "{actor} მომხმარებელმა გააზიარა ფაილი {file} მომხმარებელთან {user}",
- "{actor} removed {user} from {file}" : "{actor} მომხმარებელმა ჩამოაშორა მომხმარებელი {user} ფაილს {file}",
- "{actor} shared {file} with you" : "{actor} მომხმარებელმა თქვენთან გააზიარა {file}",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "ელ-ფოსტით ან საზოგადო ბმულით გაზიარბული ფაილი ან დირექტორია <strong>გადმოწერილ იქნა</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "ფაილი ან დირექტორია გაზიარდა <strong>სხვა სერვერიდან</strong>",
- "Files" : "ფაილები",
- "A file or folder has been <strong>shared</strong>" : "ფაილი ან დირექტორია <strong>გაზიარებულ იქნა</strong>",
- "Could not delete share" : "გაზიარების გაუქმება ვერ მოხერხდა",
- "Please specify a file or folder path" : "გთხოვთ მიუთითოთ ფაილის ან დირექტორიის მისამართი",
- "Could not create share" : "გაზიარება ვერ შეიქმნა",
- "Please specify a valid user" : "გთხოვთ მიუთითოთ სწორი მომხმარებელი",
- "Group sharing is disabled by the administrator" : "ჯგუფური გაზიარება ადმინისტრატორის მიერ არაა ამოქმედებული",
- "Please specify a valid group" : "გთხოვთ მიუთითოთ სწორი ჯგუფი",
- "Public link sharing is disabled by the administrator" : "საზოგადო ბმულად გაზიარება ადმინისტრატორის მიერ არაა ამოქმდებეული",
- "Public upload disabled by the administrator" : "საზოგადო ატვირთვა ადმინისტრატორის მიერ არაა ამოქმედებული",
- "Public upload is only possible for publicly shared folders" : "საზოგადო ატვირთვა შესაძლებელია მხოლოდ საზოგადოდ გაზიარებულ დირექტორიებზე",
- "Invalid date, date format must be YYYY-MM-DD" : "არასწორი თარიღი, თარიღის ფორმატი უნდა იყოს წწწწ-თთ-დდ",
- "You cannot share to a Circle if the app is not enabled" : "წრეს ვერ გაუზიარებთ თუ აპლიკაცია არაა მოქმედი",
- "Please specify a valid circle" : "გთხოვთ მიუთითოთ სწორი წრე",
- "Unknown share type" : "ამოუცნობი გაზიარების სახეობა",
- "Not a directory" : "არაა დირექტორია",
- "Could not lock path" : "მისამართი ვერ ჩაიკეტა",
- "Wrong or no update parameter given" : "არასწორი ან განახლების პარამეტრის არარსებობა",
- "shared by %s" : "გააზიარა მომხმარებელმა %s",
- "Direct link" : "პირდაპირი ბმული",
- "Share API is disabled" : "გაზიარების API არაა მოქმედი",
- "File sharing" : "ფაილების გაზიარება",
- "Accept" : "მიღება",
- "Sharing" : "გაზიარება",
- "Reset" : "საწყის მდოგმარეობაში დაბრუნება",
- "Unknown error" : "უცნობი შეცდომა",
- "Allow editing" : "შეცვლის ნების დართვა",
- "Read only" : "მხოლოდ-კითხვადი",
- "Allow upload and editing" : "ატვირთვისა და ცვლილების უფლებების მინიჭება",
- "File drop (upload only)" : "ფაილის ჩაგდება (მხოლოდ ატვირთვა)",
- "Read" : "წაკითხვა",
- "Upload" : "ატვირთვა",
- "Edit" : "შეცვლა",
- "Allow resharing" : "ხელახალი გაზიარების დაშვება",
- "Set expiration date" : "მიუთითეთ ვადის გასვლის დრო",
- "Unshare" : "გაზიარების შეწყვეტა",
- "group" : "ჯგუფი",
- "remote" : "დისტანციური",
- "Copy to clipboard" : "კოპირება ბუფერში",
- "Password protection" : "პაროლით თავდაცვა",
- "Enter a password" : "შეიყვანეთ პაროლი",
- "Cancel" : "უარყოფა",
- "Password protect" : "პაროლით დაცვა",
- "Share link" : "ბმულის გაზიარება",
- "Resharing is not allowed" : "ხელახალი გაზიარება არაა დაშვებული",
- "Shared with you by {owner}" : "გაზიარდა თქვენთვის {owner} მომხმარებლის მიერ",
- "Shared" : "გაზიარებული",
- "Share" : "გაზიარება",
- "Shared with" : "გაზიარებულია",
- "Shared with you and the group {group} by {owner}" : "გაზიარდა თქვენთვის და ჯგუფისთვის {group}, {owner} მომხმარებლის მიერ",
- "No entries found in this folder" : "ამ დირექტორიაში შენატანები ვერ მოიძებნა",
- "Name" : "სახელი",
- "Share time" : "გაზიარების დრო",
- "Expiration date" : "გაუქმების თარიღი",
- "Reasons might be:" : "შესაძლო მიზეზებია:",
- "the item was removed" : "ობიექტი გაუქმდა",
- "the link expired" : "ბმულს ვადა გაუვიდა",
- "sharing is disabled" : "გაზიარება არაა მოქმედი",
- "For more info, please ask the person who sent this link." : "მეტი ინფრმაციისთვის, გთხოვთ ჰკითხოთ ადამიანს ვინც გამოგიგზავნათ ეს ბმული.",
- "Upload files to %s" : "ფაილების ატვირთვა %s-ში",
- "Select or drop files" : "აირჩიეთ ან გადმოიტანეთ ფაილები",
- "Uploaded files:" : "ფაილების ატვირთვა:",
- "Add to your Nextcloud" : "თქვენს Nextcloud-ში დამატება",
- "Wrong share ID, share doesn't exist" : "არასწორი გაზიარების ID, გაზიარება არ არსებობს",
- "Wrong path, file/folder doesn't exist" : "არასწორი მისამართი, ფაილი/დირქტორია არ არსებობს",
- "Sorry, this link doesn’t seem to work anymore." : "ბოდიში, ეს ბმული აღარ მოქმედებს."
-},
-"nplurals=2; plural=(n!=1);");
diff --git a/apps/files_sharing/l10n/ka_GE.json b/apps/files_sharing/l10n/ka_GE.json
deleted file mode 100644
index 66f5aa88375..00000000000
--- a/apps/files_sharing/l10n/ka_GE.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{ "translations": {
- "Shared with you" : "თქვენთან გაზიარებული",
- "Nothing shared with you yet" : "თქვენთან ჯერ არაფერია გაზიარებული",
- "Files and folders others share with you will show up here" : "აქ გამოჩნდება ფაილები და დირექტორიები, რომლებსაც სხვები თქვენთან აზიარებენ",
- "Shared with others" : "სხვასთან გაზიარებული",
- "Nothing shared yet" : "ჯერ არაფერი გაზიარებულა",
- "Files and folders you share will show up here" : "აქ გამოჩნდება ფაილები და დირექტორიები რომლებსაც აზიარებთ თქვენ",
- "Shared by link" : "ბმულით გაზიარებული",
- "No shared links" : "გაზიარებული ბმულები არაა",
- "Files and folders you share by link will show up here" : "აქ გამოჩნდება ფაილები და დირექტორიები რომლებსაც ბმულით აზიარებთ თქვენ",
- "Shares" : "გაზიარებები",
- "Restore" : "აღდგენა",
- "Move or copy" : "გადაიტანეთ ან დააკოპირეთ",
- "Download" : "ჩამოტვირთვა",
- "Delete" : "წაშლა",
- "You can upload into this folder" : "შეგიძლიათ ატვირთოთ ამ დირექტორიაში",
- "No compatible server found at {remote}" : "თავსებადი სერვერი {remote}-ზე ვერ იქნა ნაპოვნი",
- "Invalid server URL" : "არასწორი სერვერის URL",
- "Failed to add the public link to your Nextcloud" : "საზოგადო ბმულის დამატება თქვენს Nextcloud-ზე ვერ მოხერხდა",
- "No expiration date set" : "გაუქმების თარიღი არაა დაყენებული",
- "Shared by" : "აზიარებს",
- "File shares" : "ფაილის გაზიარებები",
- "Downloaded via public link" : "გადმოწერილია საზოგადო ბმულით",
- "Downloaded by {email}" : "გადმოწერა {email}-მ",
- "{file} downloaded via public link" : "{file} გადმოწერილია საზოგადო ბმულით",
- "{email} downloaded {file}" : "{email}-მ გადმოწერა {file}",
- "Shared with group {group}" : "გაზიარებულია ჯგუფთან {group}",
- "Removed share for group {group}" : "გაზიარება {group} ჯგუფთან შეწყდა",
- "{actor} shared with group {group}" : "{actor} მომხმარებელმა გააზიარა ჯგუფთან {group}",
- "{actor} removed share for group {group}" : "{actor} მომხმარებელმა შეწყვიტა გაზიარება ჯგუფთან {group}",
- "You shared {file} with group {group}" : "თქვენ გააზიარეთ {file} ჯგუფთან {group}",
- "You removed group {group} from {file}" : "თქვენ მოაშორეთ ჯგუფი {group} ფაილს {file}",
- "{actor} shared {file} with group {group}" : "{actor} მომხმარებელმა გააზიარა ფაილი {file} ჯგუფთან {group}",
- "{actor} removed group {group} from {file}" : "{actor} მომხმარებელმა მოაშორა ჯგუფი {group} ფაილს {file}",
- "Shared as public link" : "გააზიარა როგორც საზოგადო ბმული",
- "Removed public link" : "გააუქმა საზოგადო ბმული",
- "Public link expired" : "საზოგადო ბმულს გაუვიდა ვადა",
- "{actor} shared as public link" : "{actor} მომხმარებელმა გააზიარა საზოგადო ბმულად",
- "{actor} removed public link" : "{actor} მომხმარებელმა გააუქმა საზოგადო ბმული",
- "Public link of {actor} expired" : "{actor} მომხმარებლის საზოგადო ბმულს გაუვიდა ვადა",
- "You shared {file} as public link" : "თქვენ საზოგადო ბმულის სახით გააზიარეთ {file}",
- "You removed public link for {file}" : "თქვენ გააუქმეთ საზოგადო ბმული ფაილისთვის {file}",
- "Public link expired for {file}" : "საზოგადო ბმულს ფაილისთვის {file} გაუვიდა ვადა",
- "{actor} shared {file} as public link" : "{actor} მომხმარებელმა საზოგადო ბმულის სახით გააზიარა {file}",
- "{actor} removed public link for {file}" : "{actor} მომხმარებელმა გააუქმა საზოგადო ბმული ფაილისთვის {file}",
- "Public link of {actor} for {file} expired" : "{actor} მომხმარებლის საზოგადო ბმულს ფაილზე {file} გაუვიდა ვადა",
- "{user} accepted the remote share" : "{user} მომხმარებელმა მიიღო დისტანციური გაზიარება",
- "{user} declined the remote share" : "{user} მომხმარებელმა უარყო დისტანციური გაზიარება",
- "You received a new remote share {file} from {user}" : "თქვენ მიიღეთ ახალი დისტანციური გაზიარება {file} მომხმარებლისგან {user}",
- "{user} accepted the remote share of {file}" : "{user} მომხმარებელმა მიიღო დისტანციური გაზიარება ფაილზე {file}",
- "{user} declined the remote share of {file}" : "{user} მომხმარებელმა უარყო დისტანციური გაზიარება ფალზე {file}",
- "{user} unshared {file} from you" : "{user} მომხმარებელმა შეწყვიტა ფაილის {file} გაზიარება თქვენთან",
- "Shared with {user}" : "გაზიარებული მომხმარებელთან {user}",
- "Removed share for {user}" : "შეწყდა გაზიარება მომხმარებელთან {user}",
- "{actor} shared with {user}" : "{actor} მომხმარებელმა გააზიარა მომხმარებელთან {user}",
- "{actor} removed share for {user}" : "{actor} მომხმარებელმა შეწყვიტა გაზიარება მომხმარებელთან {user}",
- "Shared by {actor}" : "გააზიარა მომხმარებელმა {actor}",
- "{actor} removed share" : "{actor} მომხმარებელმა შეწყვიტა გაზიარება",
- "You shared {file} with {user}" : "თქვენ გააზიარეთ ფაილი {file} მომხმარებელთან {user}",
- "You removed {user} from {file}" : "თქვენ ჩამოაშორეთ მომხმარებელი {user} ფაილს {file}",
- "{actor} shared {file} with {user}" : "{actor} მომხმარებელმა გააზიარა ფაილი {file} მომხმარებელთან {user}",
- "{actor} removed {user} from {file}" : "{actor} მომხმარებელმა ჩამოაშორა მომხმარებელი {user} ფაილს {file}",
- "{actor} shared {file} with you" : "{actor} მომხმარებელმა თქვენთან გააზიარა {file}",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "ელ-ფოსტით ან საზოგადო ბმულით გაზიარბული ფაილი ან დირექტორია <strong>გადმოწერილ იქნა</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "ფაილი ან დირექტორია გაზიარდა <strong>სხვა სერვერიდან</strong>",
- "Files" : "ფაილები",
- "A file or folder has been <strong>shared</strong>" : "ფაილი ან დირექტორია <strong>გაზიარებულ იქნა</strong>",
- "Could not delete share" : "გაზიარების გაუქმება ვერ მოხერხდა",
- "Please specify a file or folder path" : "გთხოვთ მიუთითოთ ფაილის ან დირექტორიის მისამართი",
- "Could not create share" : "გაზიარება ვერ შეიქმნა",
- "Please specify a valid user" : "გთხოვთ მიუთითოთ სწორი მომხმარებელი",
- "Group sharing is disabled by the administrator" : "ჯგუფური გაზიარება ადმინისტრატორის მიერ არაა ამოქმედებული",
- "Please specify a valid group" : "გთხოვთ მიუთითოთ სწორი ჯგუფი",
- "Public link sharing is disabled by the administrator" : "საზოგადო ბმულად გაზიარება ადმინისტრატორის მიერ არაა ამოქმდებეული",
- "Public upload disabled by the administrator" : "საზოგადო ატვირთვა ადმინისტრატორის მიერ არაა ამოქმედებული",
- "Public upload is only possible for publicly shared folders" : "საზოგადო ატვირთვა შესაძლებელია მხოლოდ საზოგადოდ გაზიარებულ დირექტორიებზე",
- "Invalid date, date format must be YYYY-MM-DD" : "არასწორი თარიღი, თარიღის ფორმატი უნდა იყოს წწწწ-თთ-დდ",
- "You cannot share to a Circle if the app is not enabled" : "წრეს ვერ გაუზიარებთ თუ აპლიკაცია არაა მოქმედი",
- "Please specify a valid circle" : "გთხოვთ მიუთითოთ სწორი წრე",
- "Unknown share type" : "ამოუცნობი გაზიარების სახეობა",
- "Not a directory" : "არაა დირექტორია",
- "Could not lock path" : "მისამართი ვერ ჩაიკეტა",
- "Wrong or no update parameter given" : "არასწორი ან განახლების პარამეტრის არარსებობა",
- "shared by %s" : "გააზიარა მომხმარებელმა %s",
- "Direct link" : "პირდაპირი ბმული",
- "Share API is disabled" : "გაზიარების API არაა მოქმედი",
- "File sharing" : "ფაილების გაზიარება",
- "Accept" : "მიღება",
- "Sharing" : "გაზიარება",
- "Reset" : "საწყის მდოგმარეობაში დაბრუნება",
- "Unknown error" : "უცნობი შეცდომა",
- "Allow editing" : "შეცვლის ნების დართვა",
- "Read only" : "მხოლოდ-კითხვადი",
- "Allow upload and editing" : "ატვირთვისა და ცვლილების უფლებების მინიჭება",
- "File drop (upload only)" : "ფაილის ჩაგდება (მხოლოდ ატვირთვა)",
- "Read" : "წაკითხვა",
- "Upload" : "ატვირთვა",
- "Edit" : "შეცვლა",
- "Allow resharing" : "ხელახალი გაზიარების დაშვება",
- "Set expiration date" : "მიუთითეთ ვადის გასვლის დრო",
- "Unshare" : "გაზიარების შეწყვეტა",
- "group" : "ჯგუფი",
- "remote" : "დისტანციური",
- "Copy to clipboard" : "კოპირება ბუფერში",
- "Password protection" : "პაროლით თავდაცვა",
- "Enter a password" : "შეიყვანეთ პაროლი",
- "Cancel" : "უარყოფა",
- "Password protect" : "პაროლით დაცვა",
- "Share link" : "ბმულის გაზიარება",
- "Resharing is not allowed" : "ხელახალი გაზიარება არაა დაშვებული",
- "Shared with you by {owner}" : "გაზიარდა თქვენთვის {owner} მომხმარებლის მიერ",
- "Shared" : "გაზიარებული",
- "Share" : "გაზიარება",
- "Shared with" : "გაზიარებულია",
- "Shared with you and the group {group} by {owner}" : "გაზიარდა თქვენთვის და ჯგუფისთვის {group}, {owner} მომხმარებლის მიერ",
- "No entries found in this folder" : "ამ დირექტორიაში შენატანები ვერ მოიძებნა",
- "Name" : "სახელი",
- "Share time" : "გაზიარების დრო",
- "Expiration date" : "გაუქმების თარიღი",
- "Reasons might be:" : "შესაძლო მიზეზებია:",
- "the item was removed" : "ობიექტი გაუქმდა",
- "the link expired" : "ბმულს ვადა გაუვიდა",
- "sharing is disabled" : "გაზიარება არაა მოქმედი",
- "For more info, please ask the person who sent this link." : "მეტი ინფრმაციისთვის, გთხოვთ ჰკითხოთ ადამიანს ვინც გამოგიგზავნათ ეს ბმული.",
- "Upload files to %s" : "ფაილების ატვირთვა %s-ში",
- "Select or drop files" : "აირჩიეთ ან გადმოიტანეთ ფაილები",
- "Uploaded files:" : "ფაილების ატვირთვა:",
- "Add to your Nextcloud" : "თქვენს Nextcloud-ში დამატება",
- "Wrong share ID, share doesn't exist" : "არასწორი გაზიარების ID, გაზიარება არ არსებობს",
- "Wrong path, file/folder doesn't exist" : "არასწორი მისამართი, ფაილი/დირქტორია არ არსებობს",
- "Sorry, this link doesn’t seem to work anymore." : "ბოდიში, ეს ბმული აღარ მოქმედებს."
-},"pluralForm" :"nplurals=2; plural=(n!=1);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/km.js b/apps/files_sharing/l10n/km.js
deleted file mode 100644
index d9bcc23c21d..00000000000
--- a/apps/files_sharing/l10n/km.js
+++ /dev/null
@@ -1,27 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Cancel" : "បោះបង់",
- "Shared by" : "បាន​ចែក​រំលែក​ដោយ",
- "Sharing" : "ការ​ចែក​រំលែក",
- "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",
- "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." : "ពាក្យ​សម្ងាត់​ខុស​ហើយ។ ព្យាយាម​ម្ដង​ទៀត។",
- "Password" : "ពាក្យសម្ងាត់",
- "Name" : "ឈ្មោះ",
- "Sorry, this link doesn’t seem to work anymore." : "សូម​ទោស តំណ​នេះ​ហាក់​ដូច​ជា​លែង​ដើរ​ហើយ។",
- "Reasons might be:" : "មូលហេតុ​អាច​ជា៖",
- "the item was removed" : "របស់​ត្រូវ​បាន​ដក​ចេញ",
- "the link expired" : "តំណ​ផុត​ពេល​កំណត់",
- "sharing is disabled" : "មិន​អនុញ្ញាត​ការ​ចែករំលែក",
- "For more info, please ask the person who sent this link." : "សម្រាប់​ព័ត៌មាន​បន្ថែម សូម​សួរ​អ្នក​ដែល​ផ្ញើ​តំណ​នេះ។",
- "Download" : "ទាញយក",
- "Download %s" : "ទាញយក %s",
- "Direct link" : "តំណ​ផ្ទាល់"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_sharing/l10n/km.json b/apps/files_sharing/l10n/km.json
deleted file mode 100644
index 319203ef946..00000000000
--- a/apps/files_sharing/l10n/km.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{ "translations": {
- "Cancel" : "បោះបង់",
- "Shared by" : "បាន​ចែក​រំលែក​ដោយ",
- "Sharing" : "ការ​ចែក​រំលែក",
- "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",
- "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." : "ពាក្យ​សម្ងាត់​ខុស​ហើយ។ ព្យាយាម​ម្ដង​ទៀត។",
- "Password" : "ពាក្យសម្ងាត់",
- "Name" : "ឈ្មោះ",
- "Sorry, this link doesn’t seem to work anymore." : "សូម​ទោស តំណ​នេះ​ហាក់​ដូច​ជា​លែង​ដើរ​ហើយ។",
- "Reasons might be:" : "មូលហេតុ​អាច​ជា៖",
- "the item was removed" : "របស់​ត្រូវ​បាន​ដក​ចេញ",
- "the link expired" : "តំណ​ផុត​ពេល​កំណត់",
- "sharing is disabled" : "មិន​អនុញ្ញាត​ការ​ចែករំលែក",
- "For more info, please ask the person who sent this link." : "សម្រាប់​ព័ត៌មាន​បន្ថែម សូម​សួរ​អ្នក​ដែល​ផ្ញើ​តំណ​នេះ។",
- "Download" : "ទាញយក",
- "Download %s" : "ទាញយក %s",
- "Direct link" : "តំណ​ផ្ទាល់"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/kn.js b/apps/files_sharing/l10n/kn.js
deleted file mode 100644
index 69d899ad0a6..00000000000
--- a/apps/files_sharing/l10n/kn.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Cancel" : "ರದ್ದು",
- "Sharing" : "ಹಂಚಿಕೆ",
- "Password" : "ಗುಪ್ತ ಪದ",
- "Name" : "ಹೆಸರು",
- "Download" : "ಪ್ರತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳಿ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_sharing/l10n/kn.json b/apps/files_sharing/l10n/kn.json
deleted file mode 100644
index 7553a7d1c9a..00000000000
--- a/apps/files_sharing/l10n/kn.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Cancel" : "ರದ್ದು",
- "Sharing" : "ಹಂಚಿಕೆ",
- "Password" : "ಗುಪ್ತ ಪದ",
- "Name" : "ಹೆಸರು",
- "Download" : "ಪ್ರತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳಿ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/lb.js b/apps/files_sharing/l10n/lb.js
deleted file mode 100644
index 0679858d818..00000000000
--- a/apps/files_sharing/l10n/lb.js
+++ /dev/null
@@ -1,16 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Nothing shared yet" : "Nach näischt gedeelt",
- "No shared links" : "Keng gedeelte Linken",
- "Cancel" : "Ofbriechen",
- "Shared by" : "Gedeelt vun",
- "Sharing" : "Gedeelt",
- "The password is wrong. Try again." : "Den Passwuert ass incorrect. Probeier ed nach eng keier.",
- "Password" : "Passwuert",
- "No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt",
- "Name" : "Numm",
- "Download" : "Download",
- "Direct link" : "Direkte Link"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/lb.json b/apps/files_sharing/l10n/lb.json
deleted file mode 100644
index 9355d70a6fb..00000000000
--- a/apps/files_sharing/l10n/lb.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{ "translations": {
- "Nothing shared yet" : "Nach näischt gedeelt",
- "No shared links" : "Keng gedeelte Linken",
- "Cancel" : "Ofbriechen",
- "Shared by" : "Gedeelt vun",
- "Sharing" : "Gedeelt",
- "The password is wrong. Try again." : "Den Passwuert ass incorrect. Probeier ed nach eng keier.",
- "Password" : "Passwuert",
- "No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt",
- "Name" : "Numm",
- "Download" : "Download",
- "Direct link" : "Direkte Link"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/lo.js b/apps/files_sharing/l10n/lo.js
deleted file mode 100644
index c2ef0b8138f..00000000000
--- a/apps/files_sharing/l10n/lo.js
+++ /dev/null
@@ -1,6 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Sharing" : "ການແບ່ງປັນ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_sharing/l10n/lo.json b/apps/files_sharing/l10n/lo.json
deleted file mode 100644
index e6d885c8e7f..00000000000
--- a/apps/files_sharing/l10n/lo.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "translations": {
- "Sharing" : "ການແບ່ງປັນ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/lt_LT.js b/apps/files_sharing/l10n/lt_LT.js
index cb266b07f3d..318d1bc1344 100644
--- a/apps/files_sharing/l10n/lt_LT.js
+++ b/apps/files_sharing/l10n/lt_LT.js
@@ -237,6 +237,7 @@ OC.L10N.register(
"No deleted shares" : "Ištrintų viešinių nėra",
"Pending shares" : "Laukiantys viešiniai",
"No pending shares" : "Nėra jokių laukiančių viešinių",
+ "Error deleting the share" : "Klaida ištrinant bendrinimą",
"Error updating the share: {errorMessage}" : "Klaida atnaujinant viešinį: {errorMessage}",
"Error updating the share" : "Klaida atnaujinant viešinį",
"File \"{path}\" has been unshared" : "Failas „{path}“ nustotas bendrinti",
diff --git a/apps/files_sharing/l10n/lt_LT.json b/apps/files_sharing/l10n/lt_LT.json
index 13a2b391c16..11b9da18c1d 100644
--- a/apps/files_sharing/l10n/lt_LT.json
+++ b/apps/files_sharing/l10n/lt_LT.json
@@ -235,6 +235,7 @@
"No deleted shares" : "Ištrintų viešinių nėra",
"Pending shares" : "Laukiantys viešiniai",
"No pending shares" : "Nėra jokių laukiančių viešinių",
+ "Error deleting the share" : "Klaida ištrinant bendrinimą",
"Error updating the share: {errorMessage}" : "Klaida atnaujinant viešinį: {errorMessage}",
"Error updating the share" : "Klaida atnaujinant viešinį",
"File \"{path}\" has been unshared" : "Failas „{path}“ nustotas bendrinti",
diff --git a/apps/files_sharing/l10n/lv.js b/apps/files_sharing/l10n/lv.js
deleted file mode 100644
index 3c03d93dc79..00000000000
--- a/apps/files_sharing/l10n/lv.js
+++ /dev/null
@@ -1,204 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Waiting…" : "Gaida...",
- "error" : "kļūda",
- "finished" : "pabeigts",
- "This will stop your current uploads." : "Tādējādi tiks pārtraukta jūsu pašreizējā augšupielāde.",
- "Move or copy" : "Pārvietot vai kopēt",
- "Download" : "Lejupielādēt",
- "Delete" : "Dzēst",
- "You can upload into this folder" : "Jūs variet augšuplādēt šajā mapē",
- "Terms of service" : "Pakalpojuma noteikumi",
- "Show list view" : "Rādīt saraksta skatu",
- "Show grid view" : "Rādīt režģa skatu",
- "File shares" : "Datņu koplietojumi",
- "Downloaded via public link" : "Lejupielādēt izmantojot publisku saiti",
- "Downloaded by {email}" : "Lejupielādēts {email}",
- "{file} downloaded via public link" : "{file} lejupielādēts izmantojot publisku saiti",
- "{email} downloaded {file}" : "{email} lejupielādēts {file}",
- "Shared with group {group}" : "Koplietots ar grupu {group}",
- "Removed share for group {group}" : "Noņēma koplietošanu grupai {group}",
- "{actor} shared with group {group}" : "{actor} koplietoja ar grupu {group}",
- "{actor} removed share for group {group}" : "{actor} noņēma koplietošanu grupai {group}",
- "Share for group {group} expired" : "Kopīgošana grupai {group} ir beigusies",
- "You shared {file} with group {group}" : "Jūs koplietojāt {file} ar grupu {group}",
- "You removed group {group} from {file}" : "Jūs noņēmāt grupu {group} no {file}",
- "{actor} shared {file} with group {group}" : "{actor} koplietoja {file} ar grupu {group}",
- "{actor} removed group {group} from {file}" : "{actor} noņēma grupu {group} no {file}",
- "Share for file {file} with group {group} expired" : "Datnes {file} kopīgošana ar grupu {group} ir beigusies",
- "Shared as public link" : "Koplietots kā publiska saite",
- "Removed public link" : "Noņemta publiska saite",
- "Public link expired" : "Publiskā saite ir beigusies",
- "{actor} shared as public link" : "{actor} koplietoja kā publisku saiti",
- "{actor} removed public link" : "{actor} noņēma publisko saiti",
- "Public link of {actor} expired" : "{actor} publiskā saite beidzās",
- "You shared {file} as public link" : "Jūs koplietojāt {file} kā publisku saiti",
- "You removed public link for {file}" : "Jūs noņēmāt {file} publisko saiti",
- "Public link expired for {file}" : "{file} publiskā saite beidzās",
- "{actor} shared {file} as public link" : "{actor} koplietoja {file} kā publisko saiti",
- "{actor} removed public link for {file}" : "{actor} noņēma {file} publisko saiti",
- "Public link of {actor} for {file} expired" : "{actor} publiskā saite {file} beidzās",
- "{user} accepted the remote share" : "{user} apstiprināja attālo koplietošanu",
- "{user} declined the remote share" : "{user} noraidīja attālo koplietošanu",
- "You received a new remote share {file} from {user}" : "Jūs saņēmāt attālo {file} koplietošanu no {user}",
- "{user} accepted the remote share of {file}" : "{user} apstiprināja {file} attālo koplietošanu",
- "{user} declined the remote share of {file}" : "{user} noraidīja {file} attālo koplietošanu",
- "{user} unshared {file} from you" : "{user} atcēla {file} kopīgošanu ar Tevi",
- "Shared with {user}" : "Koplietoja ar {user}",
- "Removed share for {user}" : "Noņēma koplietošanu ar {user}",
- "You removed yourself" : "Jūs noņēmāt sevi",
- "{actor} removed themselves" : "{actor} noņēma sevi",
- "{actor} shared with {user}" : "{actor} koplietoja ar {user}",
- "{actor} removed share for {user}" : "{actor} noņēma koplietošanu {user}",
- "Shared by {actor}" : "Koplietoja {actor}",
- "{actor} removed share" : "{actor} noņēma koplietošanu",
- "Share for {user} expired" : "Koplietošana {user} beidzās",
- "Share expired" : "Koplietošana beidzās",
- "You shared {file} with {user}" : "Jūs koplietojāt {file} ar {user}",
- "You removed {user} from {file}" : "Jūs noņēmāt koplietošanu {user} no {file}",
- "You removed yourself from {file}" : "Jūs noņēmāt sevi no {file}",
- "{actor} removed themselves from {file}" : "{actor} noņēma sevi no {file}",
- "{actor} shared {file} with {user}" : "{actor} koplietoja {file} ar {user}",
- "{actor} removed {user} from {file}" : "{actor} noņemts {user} no {file}",
- "{actor} shared {file} with you" : "{actor} kopīgoja {file} ar Tevi",
- "{actor} removed you from the share named {file}" : "{actor} noņēma jūs ko koplietošanas ar nosaukumu {file}",
- "Share for file {file} with {user} expired" : "Koplietošana datnei {file} ar {user} beidzās",
- "Share for file {file} expired" : "Koplietošana datnei {file} beidzās",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "E-pastā vai saitē koplietotā datne vai mape tika <strong>lejupielādēta</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Datne vai mape tika koplietota no <strong>cita servera</strong>",
- "Sharing" : "Koplietošana",
- "A file or folder has been <strong>shared</strong>" : "<strong>Koplietota</strong> datne vai mape",
- "Shared link" : "Koplietota saite",
- "Wrong share ID, share does not exist" : "Nepareizs kopīgošanas Id, koplietojums nepastāv",
- "Could not delete share" : "Neizdevās dzēst koplietotni",
- "Please specify a file or folder path" : "Lūdzu norādiet datnes vai mapes ceļu",
- "Wrong path, file/folder does not exist" : "Nepareizs ceļš, datne/mape nepastāv",
- "Could not create share" : "Nevar izveidot koplietošanu",
- "Invalid permissions" : "Nederīgas atļaujas",
- "Invalid date, date format must be YYYY-MM-DD" : "Nepareizs datums, datumam jābūt YYYY-MM-DD formātā",
- "Group sharing is disabled by the administrator" : "Administrators grupas koplietošanu ir atslēdzis",
- "Please specify a valid group" : "Lūdzu norādiet derīgu grupu",
- "Public link sharing is disabled by the administrator" : "Administrators publisku saites koplietošanu ir atslēdzis",
- "Public upload disabled by the administrator" : "Administrators publisku augšupielādi ir atslēdzis",
- "Public upload is only possible for publicly shared folders" : "Publiska augšupielāde iespējama tikai publiski koplietotām mapēm",
- "Unknown share type" : "Nezināms kopīgošanas veids",
- "Not a directory" : "Nav direktorijs",
- "Could not lock node" : "Nevarēja bloķēt",
- "Could not lock path" : "Nevarēja bloķēt ceļu",
- "Wrong or no update parameter given" : "Nepareizs atjaunināšanas parametrs vai tas nav norādīts",
- "Wrong password" : "Nepareiza parole",
- "shared by %s" : "Koplietoja %s",
- "Download all files" : "Lejupielādēt visas datnes",
- "Direct link" : "Tiešā saite",
- "Share API is disabled" : "Koplietošanas API ir atslēgta",
- "File sharing" : "Datņu koplietošana",
- "Share will expire tomorrow" : "Koplietošana rīt beigsies",
- "Your share of {node} will expire tomorrow" : "Jūsu koplietotajam {node} rīt beigsies termiņš",
- "You received {share} as a share by {user}" : "Jūs saņēmāt koplietotu {share} no {user}",
- "You received {share} to group {group} as a share by {user}" : "Jūs saņēmāt koplietotu {share} grupai {group} no {user}",
- "Accept" : "Pieņemt",
- "Decline" : "Noraidīt",
- "People" : "Cilvēki",
- "Expiration date" : "Termiņa datums",
- "Password" : "Parole",
- "Share link" : "Koplietot saiti",
- "Copy to clipboard" : "Kopēt starpliktuvē",
- "Send link via email" : "Sūtīt saiti e-pastā",
- "Select" : "Atzīmēt",
- "Cancel" : "Atcelt",
- "Close" : "Aizvērt",
- "Continue" : "Turpināt",
- "Reset" : "Atiestatīt",
- "Unknown error" : "Nezināma kļūda",
- "group" : "grupa",
- "conversation" : "saruna",
- "remote" : "attālināti",
- "remote group" : "attālinātā grupa",
- "guest" : "viesis",
- "Unshare" : "Pārtraukt koplietošanu",
- "Internal link" : "Iekšējā saite",
- "Link copied" : "Saite nokopēta",
- "Password protection" : "Password protection",
- "Enter a password" : "Enter a password",
- "Enter a date" : "Ievadiet datumu",
- "Customize link" : "Pielāgot saiti",
- "Add another link" : "Pievienot citu saiti",
- "Create a new share link" : "Izveidojiet jaunu kopīgošanas saiti",
- "Share link ({label})" : "Kopīgot saiti ({label})",
- "Can edit" : "Var labot",
- "Resharing is not allowed" : "Atkārtota koplietošana nav atļauta",
- "Name or email …" : "Vārds vai e-pasts ...",
- "Name, email, or Federated Cloud ID …" : "Vārds, e-pasts vai federatīvā mākoņa ID ...",
- "Searching …" : "Meklē...",
- "No elements found." : "Elementi netika atrasti.",
- "Search globally" : "Meklēt globāli",
- "Guest" : "Viesis",
- "Group" : "Grupa",
- "Email" : "E-pasts",
- "on {server}" : "uz {server}",
- "Allow upload and editing" : "Atļaut augšupielādi un labošanu",
- "Allow editing" : "Atļaut labošanu",
- "Advanced settings" : "Paplašināti iestatījumi",
- "Set password" : "Iestatīt paroli",
- "Video verification" : "Video verifikācija",
- "Set expiration date" : "Uzstādīt beigu termiņu",
- "Hide download" : "Slēpt lejupielādi",
- "Note to recipient" : "Piezīme saņēmējam",
- "Read" : "Lasīt",
- "Edit" : "Labot",
- "Share" : "Koplietot",
- "Others with access" : "Citi ar pieeju",
- "Expires {relativetime}" : "Termiņš beidzas {relativetime}",
- "this share just expired." : "šai koplietošanai tikko beidzās termiņš.",
- "Shared with you by {owner}" : "{owner} kopīgoja ar Tevi",
- "Shared" : "Koplietots",
- "Shared with others" : "Koplietots ar citiem",
- "Link to a file" : "Datnes saite",
- "Shared by" : "Koplietoja",
- "Shared with" : "Koplietots ar",
- "Shared with you and the group {group} by {owner}" : "{owner} kopīgoja ar Tevi un kopu {group}",
- "Shared with you and {circle} by {owner}" : "{owner} kopīgoja ar Tevi un {circle}",
- "Shared with you and the conversation {conversation} by {owner}" : "{owner} kopīgoja ar Tevi un sarunā {conversation}",
- "Shared with you in a conversation by {owner}" : " {owner} kopīgoja ar Tevi sarunā",
- "Shares" : "Koplietots",
- "No shares" : "Nav koplietojumu",
- "Shared with you" : "Kopīgots ar Tevi",
- "Nothing shared with you yet" : "Nekas vēl nav koplietots",
- "Nothing shared yet" : "Nekas vēl nav koplietots",
- "Shared by link" : "Koplietots ar saiti",
- "No shared links" : "Nav koplietotu saišu",
- "Deleted shares" : "Dzēstie koplietojumi",
- "No deleted shares" : "Nav dzēstu koplietojumu",
- "Pending shares" : "Gaidošie koplietojumi",
- "No pending shares" : "Nav gaidošie koplietojumi",
- "Share note" : "Koplietot piezīmi",
- "Upload files to %s" : "Augšupielādēt datnes uz %s",
- "Note" : "Piezīme",
- "Select or drop files" : "Izvēlies vai ievelc datnes",
- "Uploading files" : "Augšupielādē datnes",
- "Uploaded files:" : "Augšupielādētas datnes:",
- "By uploading files, you agree to the %1$sterms of service%2$s." : "Veicot datņu augšupielādi, jūs piekrītat %1$spakalpojuma noteikumiem%2$s.",
- "Add to your Nextcloud" : "Pievienot savam Nextcloud",
- "No compatible server found at {remote}" : "Nav atrasts neviens saderīgs serveris {remote}",
- "Invalid server URL" : "Nederīgs servera url",
- "Failed to add the public link to your Nextcloud" : "Neizdevās pievienot publisku saiti jūsu Nextcloud",
- "Files" : "Datnes",
- "Please specify a valid user" : "Lūdzu norādiet derīgu lietotāju",
- "Accept user and group shares by default" : "Pēc noklusējuma pieņemt koplietošanu no lietotājiem un grupām",
- "Read only" : "Tikai lasāms",
- "File drop (upload only)" : "Datņu mešana (tikai augšupielādei)",
- "Upload" : "Augšupielādēt",
- "Only works for users with access to this file" : "Darbojas tikai lietotājiem, kuriem ir piekļuve šai datnei",
- "Circle" : "Loks",
- "No other users with access found" : "Nav atrasti citi lietotāji ar pieeju",
- "No entries found in this folder" : "Šajā mapē nekas nav atrasts",
- "Name" : "Nosaukums",
- "Share time" : "Koplietošanas laiks",
- "Reasons might be:" : "Iespējamie iemesli:",
- "the item was removed" : "vienums tika dzēsts",
- "the link expired" : "saitei beidzies termiņš",
- "sharing is disabled" : "koplietošana nav ieslēgta",
- "For more info, please ask the person who sent this link." : "Vairāk informācijas lūgums vaicāt personai, kas nosūtīja šo saiti."
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/files_sharing/l10n/lv.json b/apps/files_sharing/l10n/lv.json
deleted file mode 100644
index ca9c26b869d..00000000000
--- a/apps/files_sharing/l10n/lv.json
+++ /dev/null
@@ -1,202 +0,0 @@
-{ "translations": {
- "Waiting…" : "Gaida...",
- "error" : "kļūda",
- "finished" : "pabeigts",
- "This will stop your current uploads." : "Tādējādi tiks pārtraukta jūsu pašreizējā augšupielāde.",
- "Move or copy" : "Pārvietot vai kopēt",
- "Download" : "Lejupielādēt",
- "Delete" : "Dzēst",
- "You can upload into this folder" : "Jūs variet augšuplādēt šajā mapē",
- "Terms of service" : "Pakalpojuma noteikumi",
- "Show list view" : "Rādīt saraksta skatu",
- "Show grid view" : "Rādīt režģa skatu",
- "File shares" : "Datņu koplietojumi",
- "Downloaded via public link" : "Lejupielādēt izmantojot publisku saiti",
- "Downloaded by {email}" : "Lejupielādēts {email}",
- "{file} downloaded via public link" : "{file} lejupielādēts izmantojot publisku saiti",
- "{email} downloaded {file}" : "{email} lejupielādēts {file}",
- "Shared with group {group}" : "Koplietots ar grupu {group}",
- "Removed share for group {group}" : "Noņēma koplietošanu grupai {group}",
- "{actor} shared with group {group}" : "{actor} koplietoja ar grupu {group}",
- "{actor} removed share for group {group}" : "{actor} noņēma koplietošanu grupai {group}",
- "Share for group {group} expired" : "Kopīgošana grupai {group} ir beigusies",
- "You shared {file} with group {group}" : "Jūs koplietojāt {file} ar grupu {group}",
- "You removed group {group} from {file}" : "Jūs noņēmāt grupu {group} no {file}",
- "{actor} shared {file} with group {group}" : "{actor} koplietoja {file} ar grupu {group}",
- "{actor} removed group {group} from {file}" : "{actor} noņēma grupu {group} no {file}",
- "Share for file {file} with group {group} expired" : "Datnes {file} kopīgošana ar grupu {group} ir beigusies",
- "Shared as public link" : "Koplietots kā publiska saite",
- "Removed public link" : "Noņemta publiska saite",
- "Public link expired" : "Publiskā saite ir beigusies",
- "{actor} shared as public link" : "{actor} koplietoja kā publisku saiti",
- "{actor} removed public link" : "{actor} noņēma publisko saiti",
- "Public link of {actor} expired" : "{actor} publiskā saite beidzās",
- "You shared {file} as public link" : "Jūs koplietojāt {file} kā publisku saiti",
- "You removed public link for {file}" : "Jūs noņēmāt {file} publisko saiti",
- "Public link expired for {file}" : "{file} publiskā saite beidzās",
- "{actor} shared {file} as public link" : "{actor} koplietoja {file} kā publisko saiti",
- "{actor} removed public link for {file}" : "{actor} noņēma {file} publisko saiti",
- "Public link of {actor} for {file} expired" : "{actor} publiskā saite {file} beidzās",
- "{user} accepted the remote share" : "{user} apstiprināja attālo koplietošanu",
- "{user} declined the remote share" : "{user} noraidīja attālo koplietošanu",
- "You received a new remote share {file} from {user}" : "Jūs saņēmāt attālo {file} koplietošanu no {user}",
- "{user} accepted the remote share of {file}" : "{user} apstiprināja {file} attālo koplietošanu",
- "{user} declined the remote share of {file}" : "{user} noraidīja {file} attālo koplietošanu",
- "{user} unshared {file} from you" : "{user} atcēla {file} kopīgošanu ar Tevi",
- "Shared with {user}" : "Koplietoja ar {user}",
- "Removed share for {user}" : "Noņēma koplietošanu ar {user}",
- "You removed yourself" : "Jūs noņēmāt sevi",
- "{actor} removed themselves" : "{actor} noņēma sevi",
- "{actor} shared with {user}" : "{actor} koplietoja ar {user}",
- "{actor} removed share for {user}" : "{actor} noņēma koplietošanu {user}",
- "Shared by {actor}" : "Koplietoja {actor}",
- "{actor} removed share" : "{actor} noņēma koplietošanu",
- "Share for {user} expired" : "Koplietošana {user} beidzās",
- "Share expired" : "Koplietošana beidzās",
- "You shared {file} with {user}" : "Jūs koplietojāt {file} ar {user}",
- "You removed {user} from {file}" : "Jūs noņēmāt koplietošanu {user} no {file}",
- "You removed yourself from {file}" : "Jūs noņēmāt sevi no {file}",
- "{actor} removed themselves from {file}" : "{actor} noņēma sevi no {file}",
- "{actor} shared {file} with {user}" : "{actor} koplietoja {file} ar {user}",
- "{actor} removed {user} from {file}" : "{actor} noņemts {user} no {file}",
- "{actor} shared {file} with you" : "{actor} kopīgoja {file} ar Tevi",
- "{actor} removed you from the share named {file}" : "{actor} noņēma jūs ko koplietošanas ar nosaukumu {file}",
- "Share for file {file} with {user} expired" : "Koplietošana datnei {file} ar {user} beidzās",
- "Share for file {file} expired" : "Koplietošana datnei {file} beidzās",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "E-pastā vai saitē koplietotā datne vai mape tika <strong>lejupielādēta</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Datne vai mape tika koplietota no <strong>cita servera</strong>",
- "Sharing" : "Koplietošana",
- "A file or folder has been <strong>shared</strong>" : "<strong>Koplietota</strong> datne vai mape",
- "Shared link" : "Koplietota saite",
- "Wrong share ID, share does not exist" : "Nepareizs kopīgošanas Id, koplietojums nepastāv",
- "Could not delete share" : "Neizdevās dzēst koplietotni",
- "Please specify a file or folder path" : "Lūdzu norādiet datnes vai mapes ceļu",
- "Wrong path, file/folder does not exist" : "Nepareizs ceļš, datne/mape nepastāv",
- "Could not create share" : "Nevar izveidot koplietošanu",
- "Invalid permissions" : "Nederīgas atļaujas",
- "Invalid date, date format must be YYYY-MM-DD" : "Nepareizs datums, datumam jābūt YYYY-MM-DD formātā",
- "Group sharing is disabled by the administrator" : "Administrators grupas koplietošanu ir atslēdzis",
- "Please specify a valid group" : "Lūdzu norādiet derīgu grupu",
- "Public link sharing is disabled by the administrator" : "Administrators publisku saites koplietošanu ir atslēdzis",
- "Public upload disabled by the administrator" : "Administrators publisku augšupielādi ir atslēdzis",
- "Public upload is only possible for publicly shared folders" : "Publiska augšupielāde iespējama tikai publiski koplietotām mapēm",
- "Unknown share type" : "Nezināms kopīgošanas veids",
- "Not a directory" : "Nav direktorijs",
- "Could not lock node" : "Nevarēja bloķēt",
- "Could not lock path" : "Nevarēja bloķēt ceļu",
- "Wrong or no update parameter given" : "Nepareizs atjaunināšanas parametrs vai tas nav norādīts",
- "Wrong password" : "Nepareiza parole",
- "shared by %s" : "Koplietoja %s",
- "Download all files" : "Lejupielādēt visas datnes",
- "Direct link" : "Tiešā saite",
- "Share API is disabled" : "Koplietošanas API ir atslēgta",
- "File sharing" : "Datņu koplietošana",
- "Share will expire tomorrow" : "Koplietošana rīt beigsies",
- "Your share of {node} will expire tomorrow" : "Jūsu koplietotajam {node} rīt beigsies termiņš",
- "You received {share} as a share by {user}" : "Jūs saņēmāt koplietotu {share} no {user}",
- "You received {share} to group {group} as a share by {user}" : "Jūs saņēmāt koplietotu {share} grupai {group} no {user}",
- "Accept" : "Pieņemt",
- "Decline" : "Noraidīt",
- "People" : "Cilvēki",
- "Expiration date" : "Termiņa datums",
- "Password" : "Parole",
- "Share link" : "Koplietot saiti",
- "Copy to clipboard" : "Kopēt starpliktuvē",
- "Send link via email" : "Sūtīt saiti e-pastā",
- "Select" : "Atzīmēt",
- "Cancel" : "Atcelt",
- "Close" : "Aizvērt",
- "Continue" : "Turpināt",
- "Reset" : "Atiestatīt",
- "Unknown error" : "Nezināma kļūda",
- "group" : "grupa",
- "conversation" : "saruna",
- "remote" : "attālināti",
- "remote group" : "attālinātā grupa",
- "guest" : "viesis",
- "Unshare" : "Pārtraukt koplietošanu",
- "Internal link" : "Iekšējā saite",
- "Link copied" : "Saite nokopēta",
- "Password protection" : "Password protection",
- "Enter a password" : "Enter a password",
- "Enter a date" : "Ievadiet datumu",
- "Customize link" : "Pielāgot saiti",
- "Add another link" : "Pievienot citu saiti",
- "Create a new share link" : "Izveidojiet jaunu kopīgošanas saiti",
- "Share link ({label})" : "Kopīgot saiti ({label})",
- "Can edit" : "Var labot",
- "Resharing is not allowed" : "Atkārtota koplietošana nav atļauta",
- "Name or email …" : "Vārds vai e-pasts ...",
- "Name, email, or Federated Cloud ID …" : "Vārds, e-pasts vai federatīvā mākoņa ID ...",
- "Searching …" : "Meklē...",
- "No elements found." : "Elementi netika atrasti.",
- "Search globally" : "Meklēt globāli",
- "Guest" : "Viesis",
- "Group" : "Grupa",
- "Email" : "E-pasts",
- "on {server}" : "uz {server}",
- "Allow upload and editing" : "Atļaut augšupielādi un labošanu",
- "Allow editing" : "Atļaut labošanu",
- "Advanced settings" : "Paplašināti iestatījumi",
- "Set password" : "Iestatīt paroli",
- "Video verification" : "Video verifikācija",
- "Set expiration date" : "Uzstādīt beigu termiņu",
- "Hide download" : "Slēpt lejupielādi",
- "Note to recipient" : "Piezīme saņēmējam",
- "Read" : "Lasīt",
- "Edit" : "Labot",
- "Share" : "Koplietot",
- "Others with access" : "Citi ar pieeju",
- "Expires {relativetime}" : "Termiņš beidzas {relativetime}",
- "this share just expired." : "šai koplietošanai tikko beidzās termiņš.",
- "Shared with you by {owner}" : "{owner} kopīgoja ar Tevi",
- "Shared" : "Koplietots",
- "Shared with others" : "Koplietots ar citiem",
- "Link to a file" : "Datnes saite",
- "Shared by" : "Koplietoja",
- "Shared with" : "Koplietots ar",
- "Shared with you and the group {group} by {owner}" : "{owner} kopīgoja ar Tevi un kopu {group}",
- "Shared with you and {circle} by {owner}" : "{owner} kopīgoja ar Tevi un {circle}",
- "Shared with you and the conversation {conversation} by {owner}" : "{owner} kopīgoja ar Tevi un sarunā {conversation}",
- "Shared with you in a conversation by {owner}" : " {owner} kopīgoja ar Tevi sarunā",
- "Shares" : "Koplietots",
- "No shares" : "Nav koplietojumu",
- "Shared with you" : "Kopīgots ar Tevi",
- "Nothing shared with you yet" : "Nekas vēl nav koplietots",
- "Nothing shared yet" : "Nekas vēl nav koplietots",
- "Shared by link" : "Koplietots ar saiti",
- "No shared links" : "Nav koplietotu saišu",
- "Deleted shares" : "Dzēstie koplietojumi",
- "No deleted shares" : "Nav dzēstu koplietojumu",
- "Pending shares" : "Gaidošie koplietojumi",
- "No pending shares" : "Nav gaidošie koplietojumi",
- "Share note" : "Koplietot piezīmi",
- "Upload files to %s" : "Augšupielādēt datnes uz %s",
- "Note" : "Piezīme",
- "Select or drop files" : "Izvēlies vai ievelc datnes",
- "Uploading files" : "Augšupielādē datnes",
- "Uploaded files:" : "Augšupielādētas datnes:",
- "By uploading files, you agree to the %1$sterms of service%2$s." : "Veicot datņu augšupielādi, jūs piekrītat %1$spakalpojuma noteikumiem%2$s.",
- "Add to your Nextcloud" : "Pievienot savam Nextcloud",
- "No compatible server found at {remote}" : "Nav atrasts neviens saderīgs serveris {remote}",
- "Invalid server URL" : "Nederīgs servera url",
- "Failed to add the public link to your Nextcloud" : "Neizdevās pievienot publisku saiti jūsu Nextcloud",
- "Files" : "Datnes",
- "Please specify a valid user" : "Lūdzu norādiet derīgu lietotāju",
- "Accept user and group shares by default" : "Pēc noklusējuma pieņemt koplietošanu no lietotājiem un grupām",
- "Read only" : "Tikai lasāms",
- "File drop (upload only)" : "Datņu mešana (tikai augšupielādei)",
- "Upload" : "Augšupielādēt",
- "Only works for users with access to this file" : "Darbojas tikai lietotājiem, kuriem ir piekļuve šai datnei",
- "Circle" : "Loks",
- "No other users with access found" : "Nav atrasti citi lietotāji ar pieeju",
- "No entries found in this folder" : "Šajā mapē nekas nav atrasts",
- "Name" : "Nosaukums",
- "Share time" : "Koplietošanas laiks",
- "Reasons might be:" : "Iespējamie iemesli:",
- "the item was removed" : "vienums tika dzēsts",
- "the link expired" : "saitei beidzies termiņš",
- "sharing is disabled" : "koplietošana nav ieslēgta",
- "For more info, please ask the person who sent this link." : "Vairāk informācijas lūgums vaicāt personai, kas nosūtīja šo saiti."
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/mk.js b/apps/files_sharing/l10n/mk.js
index 2ee949b1901..271050ced03 100644
--- a/apps/files_sharing/l10n/mk.js
+++ b/apps/files_sharing/l10n/mk.js
@@ -353,6 +353,7 @@ OC.L10N.register(
"List of unapproved shares." : "Листа на неодобрени споделувања.",
"No pending shares" : "Нема споделувања на чекање",
"Shares you have received but not approved will show up here" : "Листа на споделувањата кој сте ги добиле но не се адобрени ќе се појават овде",
+ "Error deleting the share" : "Грешка при отстранување на споделувањето",
"Error updating the share: {errorMessage}" : "Грешка при ажурирање на споделувањето: {errorMessage}",
"Error updating the share" : "Грешка при ажурирање на споделувањето",
"File \"{path}\" has been unshared" : "Датотеката \"{path}\" повеќе не се споделува",
diff --git a/apps/files_sharing/l10n/mk.json b/apps/files_sharing/l10n/mk.json
index c0cc1db077f..ab62105c5c2 100644
--- a/apps/files_sharing/l10n/mk.json
+++ b/apps/files_sharing/l10n/mk.json
@@ -351,6 +351,7 @@
"List of unapproved shares." : "Листа на неодобрени споделувања.",
"No pending shares" : "Нема споделувања на чекање",
"Shares you have received but not approved will show up here" : "Листа на споделувањата кој сте ги добиле но не се адобрени ќе се појават овде",
+ "Error deleting the share" : "Грешка при отстранување на споделувањето",
"Error updating the share: {errorMessage}" : "Грешка при ажурирање на споделувањето: {errorMessage}",
"Error updating the share" : "Грешка при ажурирање на споделувањето",
"File \"{path}\" has been unshared" : "Датотеката \"{path}\" повеќе не се споделува",
diff --git a/apps/files_sharing/l10n/mn.js b/apps/files_sharing/l10n/mn.js
deleted file mode 100644
index 15fb0cabe5f..00000000000
--- a/apps/files_sharing/l10n/mn.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Sharing" : "Түгээлт",
- "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 групп руу түгээлээ",
- "You shared %1$s via link" : "Та %1$s-ийг холбоосоор түгээлээ",
- "%2$s shared %1$s with you" : "%2$s %1$s-ийг тань руу түгээлээ",
- "Shares" : "Түгээлтүүд",
- "Password" : "Нууц үг"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/mn.json b/apps/files_sharing/l10n/mn.json
deleted file mode 100644
index 3fd64731e5a..00000000000
--- a/apps/files_sharing/l10n/mn.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "Sharing" : "Түгээлт",
- "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 групп руу түгээлээ",
- "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);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/ms_MY.js b/apps/files_sharing/l10n/ms_MY.js
deleted file mode 100644
index 43c01b830e0..00000000000
--- a/apps/files_sharing/l10n/ms_MY.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Cancel" : "Batal",
- "Shared by" : "Dikongsi dengan",
- "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",
- "Download" : "Muat turun"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_sharing/l10n/ms_MY.json b/apps/files_sharing/l10n/ms_MY.json
deleted file mode 100644
index 333999e133b..00000000000
--- a/apps/files_sharing/l10n/ms_MY.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "Cancel" : "Batal",
- "Shared by" : "Dikongsi dengan",
- "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",
- "Download" : "Muat turun"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js
index e60aabc1300..ba9536c334f 100644
--- a/apps/files_sharing/l10n/nl.js
+++ b/apps/files_sharing/l10n/nl.js
@@ -368,6 +368,7 @@ OC.L10N.register(
"List of unapproved shares." : "Lijst van niet-goedgekeurde shares.",
"No pending shares" : "Geen deellinks in behandeling",
"Shares you have received but not approved will show up here" : "Shares die je hebt ontvangen maar niet hebt goedgekeurd, verschijnen hier",
+ "Error deleting the share" : "Fout bij verwijderen share",
"Error updating the share: {errorMessage}" : "Fout bij aanpassen van de share: {errorMessage}",
"Error updating the share" : "Fout tijdens bijwerken share",
"File \"{path}\" has been unshared" : "Bestand \"{path}\" is niet meer gedeeld",
diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json
index 89bf28ad687..e4ae659bdc3 100644
--- a/apps/files_sharing/l10n/nl.json
+++ b/apps/files_sharing/l10n/nl.json
@@ -366,6 +366,7 @@
"List of unapproved shares." : "Lijst van niet-goedgekeurde shares.",
"No pending shares" : "Geen deellinks in behandeling",
"Shares you have received but not approved will show up here" : "Shares die je hebt ontvangen maar niet hebt goedgekeurd, verschijnen hier",
+ "Error deleting the share" : "Fout bij verwijderen share",
"Error updating the share: {errorMessage}" : "Fout bij aanpassen van de share: {errorMessage}",
"Error updating the share" : "Fout tijdens bijwerken share",
"File \"{path}\" has been unshared" : "Bestand \"{path}\" is niet meer gedeeld",
diff --git a/apps/files_sharing/l10n/nn_NO.js b/apps/files_sharing/l10n/nn_NO.js
deleted file mode 100644
index 5585f720596..00000000000
--- a/apps/files_sharing/l10n/nn_NO.js
+++ /dev/null
@@ -1,24 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Cancel" : "Avbryt",
- "Shared by" : "Delt av",
- "Sharing" : "Deling",
- "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",
- "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",
- "Name" : "Namn",
- "Sorry, this link doesn’t seem to work anymore." : "Orsak, denne lenkja fungerer visst ikkje lenger.",
- "Reasons might be:" : "Moglege grunnar:",
- "the item was removed" : "fila/mappa er fjerna",
- "the link expired" : "lenkja har gått ut på dato",
- "sharing is disabled" : "deling er slått av",
- "For more info, please ask the person who sent this link." : "Spør den som sende deg lenkje om du vil ha meir informasjon.",
- "Download" : "Last ned"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/nn_NO.json b/apps/files_sharing/l10n/nn_NO.json
deleted file mode 100644
index 81e16df9b28..00000000000
--- a/apps/files_sharing/l10n/nn_NO.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{ "translations": {
- "Cancel" : "Avbryt",
- "Shared by" : "Delt av",
- "Sharing" : "Deling",
- "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",
- "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",
- "Name" : "Namn",
- "Sorry, this link doesn’t seem to work anymore." : "Orsak, denne lenkja fungerer visst ikkje lenger.",
- "Reasons might be:" : "Moglege grunnar:",
- "the item was removed" : "fila/mappa er fjerna",
- "the link expired" : "lenkja har gått ut på dato",
- "sharing is disabled" : "deling er slått av",
- "For more info, please ask the person who sent this link." : "Spør den som sende deg lenkje om du vil ha meir informasjon.",
- "Download" : "Last ned"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/oc.js b/apps/files_sharing/l10n/oc.js
deleted file mode 100644
index 50ca51ca1b1..00000000000
--- a/apps/files_sharing/l10n/oc.js
+++ /dev/null
@@ -1,72 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Server to server sharing is not enabled on this server" : "Lo partiment de servidor a servidor es pas activat sus aqueste servidor",
- "The mountpoint name contains invalid characters." : "Lo nom del punt de montatge conten de caractèrs invalids.",
- "Invalid or untrusted SSL certificate" : "Certificat SSL invalid o pas fisable",
- "Could not authenticate to remote share, password might be wrong" : "Impossible de s'autentificar al partiment distant : lo senhal es probablament incorrècte",
- "Storage not valid" : "Supòrt d'emmagazinatge invalid",
- "Couldn't add remote share" : "Impossible d'apondre lo partiment distant",
- "Shared with you" : "Partejats amb vos",
- "Shared with others" : "Partejats amb d'autres",
- "Shared by link" : "Partejats per ligam",
- "Nothing shared with you yet" : "Cap de fichièr es pas partejat amb vos pel moment",
- "Files and folders others share with you will show up here" : "Los fichièrs e dorsièrs partejats amb vos apareisseràn aicí",
- "Nothing shared yet" : "Res es pas partejat pel moment",
- "Files and folders you share will show up here" : "Los fichièrs e dorsièrs que partejatz apareisseràn aicí",
- "No shared links" : "Pas cap de partiment per ligam",
- "Files and folders you share by link will show up here" : "Los fichièrs e dorsièrs que partejatz per ligam apareisseràn aicí",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Volètz apondre lo partiment distant {name} de {owner}@{remote} ?",
- "Remote share" : "Partiment distant",
- "Remote share password" : "Senhal del partiment distant",
- "Cancel" : "Anullar",
- "Add remote share" : "Apondre un partiment distant",
- "You can upload into this folder" : "Podètz mandar dins aqueste dorsièr",
- "No ownCloud installation (7 or higher) found at {remote}" : "Cap d'installacion ownCloud (7 o superior) pas trobada sus {remote}",
- "Invalid ownCloud url" : "URL ownCloud invalida",
- "Shared by" : "Partejat per",
- "Sharing" : "Partiment",
- "A file or folder has been <strong>shared</strong>" : "Un fichièr o un repertòri es estat <strong>partejat</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un fichièr o un repertòri es estat partejat depuis <strong>un autre servidor</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Un fichièr o un repertòri partejat publicament es estat <strong>telecargat</strong>",
- "You received a new remote share %2$s from %1$s" : "L'utilizaire %1$s a partejat la ressorsa distanta %2$s amb vos",
- "You received a new remote share from %s" : "Avètz recebut un partiment distant de %s",
- "%1$s accepted remote share %2$s" : "%1$s a acceptat lo partiment distant %2$s",
- "%1$s declined remote share %2$s" : "%1$s a refusat lo partiment distant %2$s",
- "%1$s unshared %2$s from you" : "%1$s a daissat de partejar %2$s amb vos",
- "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",
- "%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",
- "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 %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 via public link" : "Partejat per ligam public",
- "Shared by %2$s" : "Partejat per %2$s",
- "Shares" : "Partiments",
- "This share is password-protected" : "Aqueste partiment es protegit per un senhal",
- "The password is wrong. Try again." : "Lo senhal es incorrècte. Ensajatz tornamai.",
- "Password" : "Senhal",
- "No entries found in this folder" : "Cap d'entrada pas trobada dins aqueste dorsièr",
- "Name" : "Nom",
- "Share time" : "Data de partiment",
- "Sorry, this link doesn’t seem to work anymore." : "O planhèm, mas sembla qu'aqueste ligam fonciona pas mai.",
- "Reasons might be:" : "Las rasons pòdon èsser :",
- "the item was removed" : "l'element es estat suprimit",
- "the link expired" : "lo ligam a expirat",
- "sharing is disabled" : "lo partiment es desactivat",
- "For more info, please ask the person who sent this link." : "Per mai d'informacions, contactatz la persona qu'a mandat aqueste ligam.",
- "Add to your ownCloud" : "Apondre a vòstre ownCloud",
- "Download" : "Telecargar",
- "Download %s" : "Telecargar %s",
- "Direct link" : "Ligam dirècte"
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_sharing/l10n/oc.json b/apps/files_sharing/l10n/oc.json
deleted file mode 100644
index a5280effab3..00000000000
--- a/apps/files_sharing/l10n/oc.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{ "translations": {
- "Server to server sharing is not enabled on this server" : "Lo partiment de servidor a servidor es pas activat sus aqueste servidor",
- "The mountpoint name contains invalid characters." : "Lo nom del punt de montatge conten de caractèrs invalids.",
- "Invalid or untrusted SSL certificate" : "Certificat SSL invalid o pas fisable",
- "Could not authenticate to remote share, password might be wrong" : "Impossible de s'autentificar al partiment distant : lo senhal es probablament incorrècte",
- "Storage not valid" : "Supòrt d'emmagazinatge invalid",
- "Couldn't add remote share" : "Impossible d'apondre lo partiment distant",
- "Shared with you" : "Partejats amb vos",
- "Shared with others" : "Partejats amb d'autres",
- "Shared by link" : "Partejats per ligam",
- "Nothing shared with you yet" : "Cap de fichièr es pas partejat amb vos pel moment",
- "Files and folders others share with you will show up here" : "Los fichièrs e dorsièrs partejats amb vos apareisseràn aicí",
- "Nothing shared yet" : "Res es pas partejat pel moment",
- "Files and folders you share will show up here" : "Los fichièrs e dorsièrs que partejatz apareisseràn aicí",
- "No shared links" : "Pas cap de partiment per ligam",
- "Files and folders you share by link will show up here" : "Los fichièrs e dorsièrs que partejatz per ligam apareisseràn aicí",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Volètz apondre lo partiment distant {name} de {owner}@{remote} ?",
- "Remote share" : "Partiment distant",
- "Remote share password" : "Senhal del partiment distant",
- "Cancel" : "Anullar",
- "Add remote share" : "Apondre un partiment distant",
- "You can upload into this folder" : "Podètz mandar dins aqueste dorsièr",
- "No ownCloud installation (7 or higher) found at {remote}" : "Cap d'installacion ownCloud (7 o superior) pas trobada sus {remote}",
- "Invalid ownCloud url" : "URL ownCloud invalida",
- "Shared by" : "Partejat per",
- "Sharing" : "Partiment",
- "A file or folder has been <strong>shared</strong>" : "Un fichièr o un repertòri es estat <strong>partejat</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Un fichièr o un repertòri es estat partejat depuis <strong>un autre servidor</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Un fichièr o un repertòri partejat publicament es estat <strong>telecargat</strong>",
- "You received a new remote share %2$s from %1$s" : "L'utilizaire %1$s a partejat la ressorsa distanta %2$s amb vos",
- "You received a new remote share from %s" : "Avètz recebut un partiment distant de %s",
- "%1$s accepted remote share %2$s" : "%1$s a acceptat lo partiment distant %2$s",
- "%1$s declined remote share %2$s" : "%1$s a refusat lo partiment distant %2$s",
- "%1$s unshared %2$s from you" : "%1$s a daissat de partejar %2$s amb vos",
- "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",
- "%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",
- "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 %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 via public link" : "Partejat per ligam public",
- "Shared by %2$s" : "Partejat per %2$s",
- "Shares" : "Partiments",
- "This share is password-protected" : "Aqueste partiment es protegit per un senhal",
- "The password is wrong. Try again." : "Lo senhal es incorrècte. Ensajatz tornamai.",
- "Password" : "Senhal",
- "No entries found in this folder" : "Cap d'entrada pas trobada dins aqueste dorsièr",
- "Name" : "Nom",
- "Share time" : "Data de partiment",
- "Sorry, this link doesn’t seem to work anymore." : "O planhèm, mas sembla qu'aqueste ligam fonciona pas mai.",
- "Reasons might be:" : "Las rasons pòdon èsser :",
- "the item was removed" : "l'element es estat suprimit",
- "the link expired" : "lo ligam a expirat",
- "sharing is disabled" : "lo partiment es desactivat",
- "For more info, please ask the person who sent this link." : "Per mai d'informacions, contactatz la persona qu'a mandat aqueste ligam.",
- "Add to your ownCloud" : "Apondre a vòstre ownCloud",
- "Download" : "Telecargar",
- "Download %s" : "Telecargar %s",
- "Direct link" : "Ligam dirècte"
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/pl.js b/apps/files_sharing/l10n/pl.js
index cf3e53b0bc9..2a1bf493382 100644
--- a/apps/files_sharing/l10n/pl.js
+++ b/apps/files_sharing/l10n/pl.js
@@ -366,6 +366,7 @@ OC.L10N.register(
"List of unapproved shares." : "Lista niezatwierdzonych udostępnień.",
"No pending shares" : "Brak oczekujących udostępnień",
"Shares you have received but not approved will show up here" : "Tutaj pojawią się udostępnienia, które otrzymałeś, ale nie zostały zatwierdzone",
+ "Error deleting the share" : "Błąd podczas usuwania udostępnienia",
"Error updating the share: {errorMessage}" : "Błąd podczas aktualizacji udostępnienia: {errorMessage}",
"Error updating the share" : "Błąd podczas aktualizacji udostępnienia",
"File \"{path}\" has been unshared" : "Zatrzymane udostępnienie dla pliku \"{path}\"",
diff --git a/apps/files_sharing/l10n/pl.json b/apps/files_sharing/l10n/pl.json
index 8b1d20a441d..313dc453fa9 100644
--- a/apps/files_sharing/l10n/pl.json
+++ b/apps/files_sharing/l10n/pl.json
@@ -364,6 +364,7 @@
"List of unapproved shares." : "Lista niezatwierdzonych udostępnień.",
"No pending shares" : "Brak oczekujących udostępnień",
"Shares you have received but not approved will show up here" : "Tutaj pojawią się udostępnienia, które otrzymałeś, ale nie zostały zatwierdzone",
+ "Error deleting the share" : "Błąd podczas usuwania udostępnienia",
"Error updating the share: {errorMessage}" : "Błąd podczas aktualizacji udostępnienia: {errorMessage}",
"Error updating the share" : "Błąd podczas aktualizacji udostępnienia",
"File \"{path}\" has been unshared" : "Zatrzymane udostępnienie dla pliku \"{path}\"",
diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js
index 61618d5c7fd..19e44fd4c40 100644
--- a/apps/files_sharing/l10n/pt_BR.js
+++ b/apps/files_sharing/l10n/pt_BR.js
@@ -368,6 +368,8 @@ OC.L10N.register(
"List of unapproved shares." : "Lista de compartilhamentos não aprovados.",
"No pending shares" : "Não há compartilhamentos pendentes",
"Shares you have received but not approved will show up here" : "Os compartilhamentos que você recebeu, mas não aprovou, aparecerão aqui",
+ "Error deleting the share: {errorMessage}" : "Erro ao excluir o compartilhamento: {errorMessage}",
+ "Error deleting the share" : "Erro ao excluir o compartilhamento",
"Error updating the share: {errorMessage}" : "Erro ao atualizar o compartilhamento: {errorMessage}",
"Error updating the share" : "Erro ao atualizar o compartilhamento",
"File \"{path}\" has been unshared" : "O arquivo \"{path}\" foi descompartilhado",
diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json
index e8cd96c938c..854f492dee9 100644
--- a/apps/files_sharing/l10n/pt_BR.json
+++ b/apps/files_sharing/l10n/pt_BR.json
@@ -366,6 +366,8 @@
"List of unapproved shares." : "Lista de compartilhamentos não aprovados.",
"No pending shares" : "Não há compartilhamentos pendentes",
"Shares you have received but not approved will show up here" : "Os compartilhamentos que você recebeu, mas não aprovou, aparecerão aqui",
+ "Error deleting the share: {errorMessage}" : "Erro ao excluir o compartilhamento: {errorMessage}",
+ "Error deleting the share" : "Erro ao excluir o compartilhamento",
"Error updating the share: {errorMessage}" : "Erro ao atualizar o compartilhamento: {errorMessage}",
"Error updating the share" : "Erro ao atualizar o compartilhamento",
"File \"{path}\" has been unshared" : "O arquivo \"{path}\" foi descompartilhado",
diff --git a/apps/files_sharing/l10n/pt_PT.js b/apps/files_sharing/l10n/pt_PT.js
deleted file mode 100644
index 528e8a7b9ae..00000000000
--- a/apps/files_sharing/l10n/pt_PT.js
+++ /dev/null
@@ -1,168 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "error" : "erro",
- "This will stop your current uploads." : "Isto irá interromper os seus carregamentos atuais.",
- "Move or copy" : "Mover ou copiar",
- "Download" : "Transferir",
- "Delete" : "Apagar",
- "You can upload into this folder" : "Pode enviar para esta pasta",
- "Terms of service" : "Termos de serviço",
- "Show list view" : "Mostrar visualização em lista",
- "Show grid view" : "Mostrar visualização em grelha",
- "No compatible server found at {remote}" : "Nenhum servidor compatível encontrado em {remote}",
- "Invalid server URL" : "URL de servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Não foi possível adicionar a hiperligação pública ao seu Nextcloud",
- "File shares" : "Partilhas de ficheiro",
- "Downloaded via public link" : "Transferido via hiperligação pública",
- "Downloaded by {email}" : "Transferido por {email}",
- "{file} downloaded via public link" : "{file} transferido via hiperligação pública",
- "{email} downloaded {file}" : "{email} transferiu {file}",
- "Shared with group {group}" : "Partilhado com o grupo {group}",
- "Removed share for group {group}" : "Removeu a partilha para o grupo {group}",
- "{actor} shared with group {group}" : "{actor} partilhou com o grupo {group}",
- "{actor} removed share for group {group}" : "{actor} removeu a partilha para o grupo {group}",
- "You shared {file} with group {group}" : "Partilhaste {file} com o grupo {group}",
- "You removed group {group} from {file}" : "Removeste o grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} partilhou {file} com o grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} removeu o grupo {group} de {file}",
- "Shared as public link" : "Partilhado como hiperligação pública",
- "Removed public link" : "Hiperligação pública removida",
- "Public link expired" : "A hiperligação pública expirou",
- "{actor} shared as public link" : "{actor} partilhou como hiperligação pública",
- "{actor} removed public link" : "{actor} removeu a hiperligação pública",
- "Public link of {actor} expired" : "Hiperligação pública de {actor} expirou",
- "You shared {file} as public link" : "Partilhou {file} como hiperligação pública",
- "You removed public link for {file}" : "Removeu a hiperligação pública de {file}",
- "Public link expired for {file}" : "Hiperligação pública expirada para {file}",
- "{actor} shared {file} as public link" : "{actor} partilhou {file} como hiperligação pública",
- "{actor} removed public link for {file}" : "{actor} removeu a hiperligação pública de {file}",
- "Public link of {actor} for {file} expired" : "Hiperligação pública de {actor} para {file} expirou",
- "{user} accepted the remote share" : "{user} aceitou a partilha remota",
- "{user} declined the remote share" : "{user} rejeitou a partilha remota",
- "You received a new remote share {file} from {user}" : "Recebeu uma nova partilha remota {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceitou a partilha remota de {file}",
- "{user} declined the remote share of {file}" : "{user} rejeitou a partilha remota de {file}",
- "{user} unshared {file} from you" : "{user} cancelou a partilha de {file} consigo",
- "Shared with {user}" : "Partilhado com {user}",
- "Removed share for {user}" : "Partilha removida para {user}",
- "{actor} removed themselves" : "{actor} removeu eles mesmos",
- "{actor} shared with {user}" : "{actor} partilhou com {user}",
- "{actor} removed share for {user}" : "{actor} removeu partilha com {user}",
- "Shared by {actor}" : "Partilhado por {actor}",
- "{actor} removed share" : "{actor} removeu partilha",
- "You shared {file} with {user}" : "Partilhaste {file} com {user}",
- "You removed {user} from {file}" : "Removeste {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} partilhou {file} com {user}",
- "{actor} removed {user} from {file}" : "{actor} removeu {user} de {file}",
- "{actor} shared {file} with you" : "{actor} partilhou {file} consigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Um ficheiro ou pasta partilhado por e-mail ou hiperligação publica foi <strong>transferido</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Um ficheiro ou pasta foi partilhado a partir de <strong>outro servidor</strong>",
- "Files" : "Ficheiros",
- "A file or folder has been <strong>shared</strong>" : "Foi <strong>partilhado</strong> um ficheiro ou uma pasta",
- "Could not delete share" : "Não foi possível eliminar a partilha",
- "Please specify a file or folder path" : "Por favor, especifique um ficheiro ou caminho de pasta",
- "Wrong path, file/folder does not exist" : "Caminho errado, ficheiro/pasta não existe",
- "Could not create share" : "Não foi possível criar partilha",
- "Invalid date, date format must be YYYY-MM-DD" : "Data inválida, o formato da data deve ser AAAA-MM-DD",
- "Group sharing is disabled by the administrator" : "A partilha em grupo está desativada pelo administrador",
- "Please specify a valid group" : "Por favor, especifique um grupo válido",
- "Public link sharing is disabled by the administrator" : "A partilha da hiperligação pública está desativada pelo administrador",
- "Public upload disabled by the administrator" : "Envio público desativado pelo administrador",
- "Public upload is only possible for publicly shared folders" : "O envio público só é possível para as pastas partilhadas publicamente",
- "You cannot share to a Circle if the app is not enabled" : "Não pode partilhar um Círculo se a aplicação não estiver activa",
- "Please specify a valid circle" : "Por favor especifique um círculo válido",
- "Unknown share type" : "Tipo de partilha desconhecido",
- "Not a directory" : "Não é uma diretoria",
- "Could not lock path" : "Não foi possível bloquear o caminho",
- "Wrong or no update parameter given" : "Parâmetro indicado errado ou desatualizado",
- "shared by %s" : "partilhado por %s",
- "Download all files" : "Transferir todos os ficheiros",
- "Direct link" : "Hiperligação direta",
- "Share API is disabled" : "A partilha de API está desativada",
- "File sharing" : "Partilha de ficheiro",
- "Accept" : "Aceitar",
- "Decline" : "Recusar",
- "Sharing" : "Partilha",
- "Reset" : "Reiniciar",
- "Unknown error" : "Erro desconhecido",
- "group" : "grupo",
- "conversation" : "conversação",
- "remote" : "remoto",
- "remote group" : "grupo remoto",
- "guest" : "convidado",
- "Unshare" : "Cancelar partilha",
- "Cannot copy, please copy the link manually" : "Não foi possível copiar, copie a ligação manualmente",
- "Link copied" : "Link copiado",
- "Password protection" : "Protegido por palavra-passe",
- "Enter a password" : "Insira uma palavra-passe",
- "Cancel" : "Cancelar",
- "Add another link" : "Adicionar outra hiperligação",
- "Share link" : "Share link",
- "View only" : "Visualizar apenas",
- "Can edit" : "Pode editar",
- "File drop" : "File drop",
- "No recommendations. Start typing." : "Nenhuma recomendação. Comece a escrever ",
- "Resharing is not allowed" : "Voltar a partilhar não é permitido",
- "Searching …" : "À procura …",
- "No elements found." : "Não foram encontrados elementos.",
- "Search globally" : "Procura global",
- "Guest" : "Convidado",
- "Group" : "Grupo",
- "Email" : "E-mail",
- "Allow upload and editing" : "Permtir carregamentos e edições",
- "Allow editing" : "Permitir edição",
- "Advanced settings" : "Definições avançadas",
- "Set password" : "Definir palavra-passe",
- "Password" : "Password",
- "Set expiration date" : "Definir a data de expiração",
- "Expiration date" : "Data de expiração",
- "Hide download" : "Ocultar transferência",
- "Note to recipient" : "Nota para o destinatário",
- "Read" : "Ler",
- "Create" : "Criar",
- "Edit" : "Editar",
- "Share" : "Partilhar",
- "Shared with you by {owner}" : "Partilhado consigo por {owner}",
- "Shared" : "Partilhados",
- "Shared by" : "Partilhado por",
- "Shared with" : "Partilhado com ",
- "Shared with you and the group {group} by {owner}" : "Partilhado consigo e com o grupo {group} por {owner}",
- "Shared with you and {circle} by {owner}" : "Partilhado consigo e com {circle} por {owner}",
- "Shared with you and the conversation {conversation} by {owner}" : "Partilhado consigo e com a conversação {conversation} por {owner}",
- "Shared with you in a conversation by {owner}" : "Partilhado consigo numa conversação por {owner}",
- "Shares" : "Partilhas",
- "Shared with you" : "Partilhado consigo ",
- "Nothing shared with you yet" : "Ainda não foi partilhado nada consigo",
- "Shared with others" : "Partilhado com terceiros",
- "Nothing shared yet" : "Ainda não foi partilhado nada",
- "Shared by link" : "Partilhado por hiperligação",
- "No shared links" : "Sem hiperligações partilhadas",
- "Share note" : "Partilhar nota",
- "Upload files to %s" : "Enviar ficheiros para %s",
- "Note" : "Nota",
- "Select or drop files" : "Seleccione ou solte ficheiros",
- "Uploaded files:" : "Ficheiros enviados:",
- "Add to your Nextcloud" : "Adicionar à sua Nextcloud",
- "Files and folders others share with you will show up here" : "Os ficheiros e pastas que terceiros partilham consigo, serão mostrados aqui",
- "Files and folders you share will show up here" : "Os ficheiros e as pastas que partilha serão mostrados aqui",
- "Files and folders you share by link will show up here" : "Os ficheiros e as pastas que partilha por hiperligação, serão mostrados aqui",
- "Restore" : "Restaurar",
- "No expiration date set" : "Data de expiração não definida",
- "Please specify a valid user" : "Por favor, especifique um utilizador válido",
- "Read only" : "Apenas leitura",
- "File drop (upload only)" : "Pasta de carregamento apenas",
- "Upload" : "Upload",
- "Only works for users with access to this folder" : "Apenas funciona para utilizadores com acesso a esta pasta",
- "Circle" : "Círculo",
- "Update" : "Atualizar",
- "No entries found in this folder" : "Não foram encontradas entradas nesta pasta",
- "Name" : "Nome",
- "Share time" : "Hora da Partilha",
- "Reasons might be:" : "As razões poderão ser:",
- "the item was removed" : "o item foi removido",
- "the link expired" : "a hiperligação expirou",
- "sharing is disabled" : "a partilha está desativada",
- "For more info, please ask the person who sent this link." : "Para mais informação, por favor, pergunte à pessoa que lhe enviou esta hiperligação."
-},
-"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/pt_PT.json b/apps/files_sharing/l10n/pt_PT.json
deleted file mode 100644
index 6221d9ab54b..00000000000
--- a/apps/files_sharing/l10n/pt_PT.json
+++ /dev/null
@@ -1,166 +0,0 @@
-{ "translations": {
- "error" : "erro",
- "This will stop your current uploads." : "Isto irá interromper os seus carregamentos atuais.",
- "Move or copy" : "Mover ou copiar",
- "Download" : "Transferir",
- "Delete" : "Apagar",
- "You can upload into this folder" : "Pode enviar para esta pasta",
- "Terms of service" : "Termos de serviço",
- "Show list view" : "Mostrar visualização em lista",
- "Show grid view" : "Mostrar visualização em grelha",
- "No compatible server found at {remote}" : "Nenhum servidor compatível encontrado em {remote}",
- "Invalid server URL" : "URL de servidor inválido",
- "Failed to add the public link to your Nextcloud" : "Não foi possível adicionar a hiperligação pública ao seu Nextcloud",
- "File shares" : "Partilhas de ficheiro",
- "Downloaded via public link" : "Transferido via hiperligação pública",
- "Downloaded by {email}" : "Transferido por {email}",
- "{file} downloaded via public link" : "{file} transferido via hiperligação pública",
- "{email} downloaded {file}" : "{email} transferiu {file}",
- "Shared with group {group}" : "Partilhado com o grupo {group}",
- "Removed share for group {group}" : "Removeu a partilha para o grupo {group}",
- "{actor} shared with group {group}" : "{actor} partilhou com o grupo {group}",
- "{actor} removed share for group {group}" : "{actor} removeu a partilha para o grupo {group}",
- "You shared {file} with group {group}" : "Partilhaste {file} com o grupo {group}",
- "You removed group {group} from {file}" : "Removeste o grupo {group} de {file}",
- "{actor} shared {file} with group {group}" : "{actor} partilhou {file} com o grupo {group}",
- "{actor} removed group {group} from {file}" : "{actor} removeu o grupo {group} de {file}",
- "Shared as public link" : "Partilhado como hiperligação pública",
- "Removed public link" : "Hiperligação pública removida",
- "Public link expired" : "A hiperligação pública expirou",
- "{actor} shared as public link" : "{actor} partilhou como hiperligação pública",
- "{actor} removed public link" : "{actor} removeu a hiperligação pública",
- "Public link of {actor} expired" : "Hiperligação pública de {actor} expirou",
- "You shared {file} as public link" : "Partilhou {file} como hiperligação pública",
- "You removed public link for {file}" : "Removeu a hiperligação pública de {file}",
- "Public link expired for {file}" : "Hiperligação pública expirada para {file}",
- "{actor} shared {file} as public link" : "{actor} partilhou {file} como hiperligação pública",
- "{actor} removed public link for {file}" : "{actor} removeu a hiperligação pública de {file}",
- "Public link of {actor} for {file} expired" : "Hiperligação pública de {actor} para {file} expirou",
- "{user} accepted the remote share" : "{user} aceitou a partilha remota",
- "{user} declined the remote share" : "{user} rejeitou a partilha remota",
- "You received a new remote share {file} from {user}" : "Recebeu uma nova partilha remota {file} de {user}",
- "{user} accepted the remote share of {file}" : "{user} aceitou a partilha remota de {file}",
- "{user} declined the remote share of {file}" : "{user} rejeitou a partilha remota de {file}",
- "{user} unshared {file} from you" : "{user} cancelou a partilha de {file} consigo",
- "Shared with {user}" : "Partilhado com {user}",
- "Removed share for {user}" : "Partilha removida para {user}",
- "{actor} removed themselves" : "{actor} removeu eles mesmos",
- "{actor} shared with {user}" : "{actor} partilhou com {user}",
- "{actor} removed share for {user}" : "{actor} removeu partilha com {user}",
- "Shared by {actor}" : "Partilhado por {actor}",
- "{actor} removed share" : "{actor} removeu partilha",
- "You shared {file} with {user}" : "Partilhaste {file} com {user}",
- "You removed {user} from {file}" : "Removeste {user} de {file}",
- "{actor} shared {file} with {user}" : "{actor} partilhou {file} com {user}",
- "{actor} removed {user} from {file}" : "{actor} removeu {user} de {file}",
- "{actor} shared {file} with you" : "{actor} partilhou {file} consigo",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Um ficheiro ou pasta partilhado por e-mail ou hiperligação publica foi <strong>transferido</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Um ficheiro ou pasta foi partilhado a partir de <strong>outro servidor</strong>",
- "Files" : "Ficheiros",
- "A file or folder has been <strong>shared</strong>" : "Foi <strong>partilhado</strong> um ficheiro ou uma pasta",
- "Could not delete share" : "Não foi possível eliminar a partilha",
- "Please specify a file or folder path" : "Por favor, especifique um ficheiro ou caminho de pasta",
- "Wrong path, file/folder does not exist" : "Caminho errado, ficheiro/pasta não existe",
- "Could not create share" : "Não foi possível criar partilha",
- "Invalid date, date format must be YYYY-MM-DD" : "Data inválida, o formato da data deve ser AAAA-MM-DD",
- "Group sharing is disabled by the administrator" : "A partilha em grupo está desativada pelo administrador",
- "Please specify a valid group" : "Por favor, especifique um grupo válido",
- "Public link sharing is disabled by the administrator" : "A partilha da hiperligação pública está desativada pelo administrador",
- "Public upload disabled by the administrator" : "Envio público desativado pelo administrador",
- "Public upload is only possible for publicly shared folders" : "O envio público só é possível para as pastas partilhadas publicamente",
- "You cannot share to a Circle if the app is not enabled" : "Não pode partilhar um Círculo se a aplicação não estiver activa",
- "Please specify a valid circle" : "Por favor especifique um círculo válido",
- "Unknown share type" : "Tipo de partilha desconhecido",
- "Not a directory" : "Não é uma diretoria",
- "Could not lock path" : "Não foi possível bloquear o caminho",
- "Wrong or no update parameter given" : "Parâmetro indicado errado ou desatualizado",
- "shared by %s" : "partilhado por %s",
- "Download all files" : "Transferir todos os ficheiros",
- "Direct link" : "Hiperligação direta",
- "Share API is disabled" : "A partilha de API está desativada",
- "File sharing" : "Partilha de ficheiro",
- "Accept" : "Aceitar",
- "Decline" : "Recusar",
- "Sharing" : "Partilha",
- "Reset" : "Reiniciar",
- "Unknown error" : "Erro desconhecido",
- "group" : "grupo",
- "conversation" : "conversação",
- "remote" : "remoto",
- "remote group" : "grupo remoto",
- "guest" : "convidado",
- "Unshare" : "Cancelar partilha",
- "Cannot copy, please copy the link manually" : "Não foi possível copiar, copie a ligação manualmente",
- "Link copied" : "Link copiado",
- "Password protection" : "Protegido por palavra-passe",
- "Enter a password" : "Insira uma palavra-passe",
- "Cancel" : "Cancelar",
- "Add another link" : "Adicionar outra hiperligação",
- "Share link" : "Share link",
- "View only" : "Visualizar apenas",
- "Can edit" : "Pode editar",
- "File drop" : "File drop",
- "No recommendations. Start typing." : "Nenhuma recomendação. Comece a escrever ",
- "Resharing is not allowed" : "Voltar a partilhar não é permitido",
- "Searching …" : "À procura …",
- "No elements found." : "Não foram encontrados elementos.",
- "Search globally" : "Procura global",
- "Guest" : "Convidado",
- "Group" : "Grupo",
- "Email" : "E-mail",
- "Allow upload and editing" : "Permtir carregamentos e edições",
- "Allow editing" : "Permitir edição",
- "Advanced settings" : "Definições avançadas",
- "Set password" : "Definir palavra-passe",
- "Password" : "Password",
- "Set expiration date" : "Definir a data de expiração",
- "Expiration date" : "Data de expiração",
- "Hide download" : "Ocultar transferência",
- "Note to recipient" : "Nota para o destinatário",
- "Read" : "Ler",
- "Create" : "Criar",
- "Edit" : "Editar",
- "Share" : "Partilhar",
- "Shared with you by {owner}" : "Partilhado consigo por {owner}",
- "Shared" : "Partilhados",
- "Shared by" : "Partilhado por",
- "Shared with" : "Partilhado com ",
- "Shared with you and the group {group} by {owner}" : "Partilhado consigo e com o grupo {group} por {owner}",
- "Shared with you and {circle} by {owner}" : "Partilhado consigo e com {circle} por {owner}",
- "Shared with you and the conversation {conversation} by {owner}" : "Partilhado consigo e com a conversação {conversation} por {owner}",
- "Shared with you in a conversation by {owner}" : "Partilhado consigo numa conversação por {owner}",
- "Shares" : "Partilhas",
- "Shared with you" : "Partilhado consigo ",
- "Nothing shared with you yet" : "Ainda não foi partilhado nada consigo",
- "Shared with others" : "Partilhado com terceiros",
- "Nothing shared yet" : "Ainda não foi partilhado nada",
- "Shared by link" : "Partilhado por hiperligação",
- "No shared links" : "Sem hiperligações partilhadas",
- "Share note" : "Partilhar nota",
- "Upload files to %s" : "Enviar ficheiros para %s",
- "Note" : "Nota",
- "Select or drop files" : "Seleccione ou solte ficheiros",
- "Uploaded files:" : "Ficheiros enviados:",
- "Add to your Nextcloud" : "Adicionar à sua Nextcloud",
- "Files and folders others share with you will show up here" : "Os ficheiros e pastas que terceiros partilham consigo, serão mostrados aqui",
- "Files and folders you share will show up here" : "Os ficheiros e as pastas que partilha serão mostrados aqui",
- "Files and folders you share by link will show up here" : "Os ficheiros e as pastas que partilha por hiperligação, serão mostrados aqui",
- "Restore" : "Restaurar",
- "No expiration date set" : "Data de expiração não definida",
- "Please specify a valid user" : "Por favor, especifique um utilizador válido",
- "Read only" : "Apenas leitura",
- "File drop (upload only)" : "Pasta de carregamento apenas",
- "Upload" : "Upload",
- "Only works for users with access to this folder" : "Apenas funciona para utilizadores com acesso a esta pasta",
- "Circle" : "Círculo",
- "Update" : "Atualizar",
- "No entries found in this folder" : "Não foram encontradas entradas nesta pasta",
- "Name" : "Nome",
- "Share time" : "Hora da Partilha",
- "Reasons might be:" : "As razões poderão ser:",
- "the item was removed" : "o item foi removido",
- "the link expired" : "a hiperligação expirou",
- "sharing is disabled" : "a partilha está desativada",
- "For more info, please ask the person who sent this link." : "Para mais informação, por favor, pergunte à pessoa que lhe enviou esta hiperligação."
-},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/ro.js b/apps/files_sharing/l10n/ro.js
deleted file mode 100644
index 3cdb34d5d2f..00000000000
--- a/apps/files_sharing/l10n/ro.js
+++ /dev/null
@@ -1,215 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "File shares" : "Fișiere partajate",
- "Downloaded via public link" : "Descărcat prin link public",
- "Downloaded by {email}" : "Descărcat de {email}",
- "{file} downloaded via public link" : "{file} descărcat din link public",
- "{email} downloaded {file}" : "{email} a descărcat {file}",
- "Shared with group {group}" : "Partajat cu grupul {group}",
- "Removed share for group {group}" : "Elimină partajarea pentru grupul {group}",
- "{actor} shared with group {group}" : "{actor} a partajat cu grupul {group}",
- "{actor} removed share for group {group}" : "{actor} a eliminat partajarea pentru grupul {group}",
- "Share for group {group} expired" : "Partajarea pentru grupul {group} a expirat",
- "You shared {file} with group {group}" : "Ați partajat {file} cu grupul {group}",
- "You removed group {group} from {file}" : "Ați eliminat accesul grupului {group} la {file}",
- "{actor} shared {file} with group {group}" : "{actor} a partajat {file} cu grupul {group}",
- "{actor} removed group {group} from {file}" : "{actor} a eliminat accesul grupului {group} la {file}",
- "Share for file {file} with group {group} expired" : "Partajarea fișierului {file} cu grupul {group} a expirat",
- "Shared as public link" : "Partajează un link public",
- "Removed public link" : "Elimină link public",
- "Public link expired" : "Link-ul public a expirat",
- "{actor} shared as public link" : "{actor} a partajat ca link public",
- "{actor} removed public link" : "{actor} a eliminat link public",
- "Public link of {actor} expired" : "Linkul public al {actor} a expirat",
- "You shared {file} as public link" : "Ați partajat {file} ca link public",
- "You removed public link for {file}" : "Ați șters linkul public pentru {file}",
- "Public link expired for {file}" : "Linkul public pentru {file} a expirat",
- "{actor} shared {file} as public link" : "{actor} a partajat {file} ca link public",
- "{actor} removed public link for {file}" : "{actor} a șters linkul public pentru {file}",
- "Public link of {actor} for {file} expired" : "Linkul public al {actor} pentru {file} a expirat",
- "{user} accepted the remote share" : "{user} a acceptat partajarea la distanță",
- "{user} declined the remote share" : "{user} nu a acceptat partajarea la distanță",
- "You received a new remote share {file} from {user}" : "Ați primit o partajare la distanță {file} de la {user}",
- "{user} accepted the remote share of {file}" : "{user} a acceptat partajarea la distanță a {file}",
- "{user} declined the remote share of {file}" : "{user} nu a acceptat partajarea la distanță a {file}",
- "{user} unshared {file} from you" : "{user} a eliminat partajarea cu tine a {file}",
- "Shared with {user}" : "Partajat cu {user}",
- "Removed share for {user}" : "S-a eliminat partajarea pentru {user}",
- "You removed yourself" : "V-ați exclus",
- "{actor} removed themselves" : "{actor} s-au exclus",
- "{actor} shared with {user}" : "{actor} a partajat cu {user}",
- "{actor} removed share for {user}" : "{actor} a eliminat partajarea pentru {user}",
- "Shared by {actor}" : "Partajat de {actor}",
- "{actor} removed share" : "{actor} a eliminat partajarea",
- "Share for {user} expired" : "Partajarea cu {user} a expirat",
- "Share expired" : "Partajare expirată",
- "You shared {file} with {user}" : "Ați partajat {file} cu {user}",
- "You removed {user} from {file}" : "Ați eliminat pe {user} de la partajarea {file}",
- "You removed yourself from {file}" : "V-ați eliminat de la partajarea {file}",
- "{actor} removed themselves from {file}" : "{actor} s-au eliminat de la partajarea {file}",
- "{actor} shared {file} with {user}" : "{actor} a partajat {file} cu {user}",
- "{actor} removed {user} from {file}" : "{actor} a eliminat pe {user} de la partajarea {file}",
- "{actor} shared {file} with you" : "{actor} a partajat {file} cu tine",
- "{actor} removed you from the share named {file}" : "{actor} v-a eliminat de la partajarea denumită {file}",
- "Share for file {file} with {user} expired" : "Partajarea fișierului {file} cu {user} a expirat",
- "Share for file {file} expired" : "Partajarea fișierului {file} a expirat",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "A fost <strong>descărcat</strong> un fișier sau folder partajat primân email sau prin link public",
- "A file or folder was shared from <strong>another server</strong>" : "A fost partajat un fișier sau folder de la <strong>alt server</strong>",
- "Sharing" : "Partajare",
- "A file or folder has been <strong>shared</strong>" : "Un fișier sau director a fost <strong>partajat</strong>",
- "Shared link" : "Link partajat",
- "Wrong share ID, share does not exist" : "ID partajare greșit, partajarea nu există",
- "Could not delete share" : "Nu s-a putut șterge elementul partajat",
- "Please specify a file or folder path" : "Specifică un fișier sau o cale către un director",
- "Wrong path, file/folder does not exist" : "Cale eronată, fișier/folder inexistent",
- "Could not create share" : "Nu s-a putut crea partajarea",
- "Invalid permissions" : "Permisiuni invalide",
- "Group sharing is disabled by the administrator" : "Partajarea de grup este dezactivată de administrator",
- "Please specify a valid group" : "Specifică un grup valid",
- "Public link sharing is disabled by the administrator" : "Partajarea prin link public este dezactivată de administrator",
- "Public upload disabled by the administrator" : "Încărcarea publică este dezactivată de administrator",
- "Public upload is only possible for publicly shared folders" : "Încărcarea publică este posibilă doar pentru folderele partajate public",
- "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Trimiterea de către Nextcloud Talk a parolei pentru partajarea %s a eșuat deoarece Nextcloud Talk nu este activat",
- "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Partajarea %1$s a eșuat deoarece backend-ul nu permite partajări de tipul %2$s",
- "Sharing %s failed because the back end does not support room shares" : "Partajarea %s a eșuat deoarece backend-ul nu suportă partajări în săli",
- "Sharing %s failed because the back end does not support ScienceMesh shares" : "Partajarea %s a eșuat deoarece backend-ul nu suportă partajări ScienceMesh",
- "Unknown share type" : "Tip necunoscut de partajare",
- "Not a directory" : "Nu este un director",
- "Could not lock node" : "Nu s-a putut bloca nodul",
- "Could not lock path" : "Calea nu a putut fi blocată",
- "Wrong or no update parameter given" : "S-a furnizat un parametru greșit sau neactualizat",
- "Share must at least have READ or CREATE permissions" : "Partajarea trebuie să aibă cel puțin permisiunea READ sau CREATE",
- "Share must have READ permission if UPDATE or DELETE permission is set" : "Partajarea trebuie să aibă permisiunea READ dacă este setată permisiunea UPDATE sau DELETE",
- "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Trimiterea parolei de către Nextcloud Talk\" pentru partajarea unui fișier sau folder a eșuat deoarece Nextcloud Talk nu este activat.",
- "Wrong password" : "Parolă greșită",
- "shared by %s" : "partajat de %s",
- "Download" : "Descarcă",
- "Add to your %s" : "Adaugă la %s tău",
- "Direct link" : "Legătură directă",
- "Share API is disabled" : "API-ul de partajare este dezactivat",
- "File sharing" : "Partajare fișiere",
- "Share will expire tomorrow" : "Partajarea va expira mâine",
- "Your share of {node} will expire tomorrow" : "Partajarea {node} va expira mâine",
- "You received {share} as a share by {user}" : "Aţi primit {share} ca partajare de către {user}",
- "You received {share} to group {group} as a share by {user}" : "Ați primit {share} la grupul {group} ca partajare de către {user}",
- "Accept" : "Accept",
- "Decline" : "Refuză",
- "People" : "Persoane",
- "Expiration date" : "Data expirării",
- "Password" : "Parolă",
- "Share link" : "Partajează link-ul",
- "Copy to clipboard" : "Copiază în clipboard",
- "Send link via email" : "Trimite link via email",
- "Select" : "Selectează",
- "Cancel" : "Anulează",
- "Close" : "Închide",
- "Continue" : "Continuă",
- "Error creating the share" : "Eroare la crearea partajării",
- "Error while toggling options" : "Eroare la comutarea opțiunilor",
- "Set default folder for accepted shares" : "Stabiliți folderul implicit pentru partajările acceptate",
- "Reset" : "Resetare",
- "Reset folder to system default" : "Resetați folderul la setările implicite de sistem",
- "Choose a default folder for accepted shares" : "Alegeți un folder implicit pentru partajările acceptate",
- "Invalid path selected" : "Calea selectată este invalidă",
- "Unknown error" : "Eroare necunoscută",
- "Open Sharing Details" : "Deschide detalii partajare",
- "group" : "grup",
- "conversation" : "conversație",
- "remote" : "de la distanță",
- "remote group" : "grup la distanță",
- "guest" : "invitat",
- "Unshare" : "Oprește partajarea",
- "Internal link" : "Link intern",
- "Cannot copy, please copy the link manually" : "Nu s-a putut copia, vă rugăm să copiați link-ul manual",
- "Link copied" : "Link copiat",
- "Password protection" : "Password protection",
- "Enter a password" : "Enter a password",
- "Add another link" : "Adaugă un alt link",
- "View only" : "Numai se vizualizează",
- "Can edit" : "Poate edita",
- "Custom permissions" : "Permisiuni particularizate",
- "No recommendations. Start typing." : "Nu am găsit recomandări. Începeți să scrieți.",
- "Resharing is not allowed" : "Repartajarea nu este permisă",
- "Searching …" : "Căutare ...",
- "No elements found." : "Nu sunt elemente.",
- "Search globally" : "Caută global",
- "Guest" : "Invitat",
- "Group" : "Grup",
- "Email" : "E-mail",
- "Team" : "Echipă",
- "Talk conversation" : "Conversație Talk",
- "Deck board" : "Panou Deck",
- "File drop" : "Aducere fișier",
- "Terms of service" : "Termenii serviciului",
- "Allow upload and editing" : "Permite încărcarea și editarea",
- "Allow editing" : "Permite editarea",
- "Advanced settings" : "Setări avansate",
- "Set expiration date" : "Specifică data expirării",
- "Hide download" : "Ascunde descărcarea",
- "Note to recipient" : "Notă către destinatar",
- "Read" : "Citit",
- "Create" : "Crează",
- "Edit" : "Editează",
- "Share" : "Partajează",
- "Delete" : "Șterge",
- "Shares" : "Partajări",
- "Shared with you by {owner}" : "Partajat cu tine de {owner}",
- "Open in Files" : "Deschide în Fișiere",
- "Shared" : "Partajat",
- "Shared with others" : "Partajat cu alții",
- "No shares" : "Nicio partajare",
- "Shared with you" : "Partajat cu tine",
- "Nothing shared with you yet" : "Nimic nu e partajat cu tine încă",
- "Nothing shared yet" : "Nimic partajat încă",
- "Shared by link" : "Partajat prin link",
- "No shared links" : "Nicio legătură partajată",
- "Deleted shares" : "Partajări șterse",
- "No deleted shares" : "Nicio partajare ștearsă",
- "Pending shares" : "Partajări în așteptare",
- "No pending shares" : "Nicio partajare în așteptare",
- "Shared by" : "impartite in ",
- "Shared with" : "Partajat cu",
- "Shared with you and the group {group} by {owner}" : "Partajat cu tine si cu grupul {group} de {owner}",
- "Shared with you and {circle} by {owner}" : "Partajat cu tine și {circle} de {owner} ",
- "Shared with you and the conversation {conversation} by {owner}" : "Partajat cu tine si conversația {conversation} de {owner}",
- "Shared with you in a conversation by {owner}" : "Partajat cu tine în o conversație {owner}",
- "Share note" : "Partajează nota",
- "Show list view" : "Afișează vizualizarea listă",
- "Show grid view" : "Afișează vizualizarea grilă",
- "Upload files to %s" : "Încarcă fișiere la %s",
- "Note" : "Notă",
- "Select or drop files" : "Selectează sau plasează fișiere",
- "Uploaded files:" : "Fișiere încărcate:",
- "By uploading files, you agree to the %1$sterms of service%2$s." : "Prin încărcarea fișierelor ești de accord cu %1$s termenii și serviciile %2$s",
- "Back to %s" : "Înapoi la %s",
- "Waiting…" : "În așteptare...",
- "error" : "eroare",
- "finished" : "finalizat",
- "This will stop your current uploads." : "Asta va opri descărcările curente.",
- "Move or copy" : "Mută sau copiază",
- "You can upload into this folder" : "Poți încărca în acest director",
- "No compatible server found at {remote}" : "Niciun server compatibil nu a fost găsit la {remote}",
- "Invalid server URL" : "URL server invalid",
- "Failed to add the public link to your Nextcloud" : "Eroare la adăugarea link-ului public la Nextcloud",
- "Files" : "Fișiere",
- "Please specify a valid user" : "Specifică un utilizator valid",
- "You cannot share to a Circle if the app is not enabled" : "Nu puteți partaja cu un Cerc dacă aplicația nu este activată",
- "Please specify a valid circle" : "Specificați un cerc valid",
- "Download all files" : "Descarcă toate fișierele",
- "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Această aplicație permite utilizatorilor să partajeze fișiere în cadrul Nextcloud. Dacă este activată, administratorul poate stabili ce grupuri pot partaja fișiere. Utilizatorii respectivi pot apoi partaja fișiere și foldere cu alți utilizatori și grupuri în cadrul Nextcloud. În plus, dacă administratorul activează funcția de partajare linkuri, atunci poate fi folosit un link extern pentru partajarea fișierelor cu alți utilizatori din afara Nextcloud. Administratorii pot de asemenea să impună parole, date de expirare și să permită partajarea server la server via linkuri partajate precum și partajarea cu dispozitivele mobile.\nDezactivând această funcționalitate, se elimină accesul la fișierele și folderele partajate de pe server pentru toți destinatarii partajărilor și de asemenea de pe clienții de sincronizare și aplicațiile mobile. Mai multe informații se pot găsi în documentația Nextcloud.",
- "Accept user and group shares by default" : "Acceptă implicit partajările cu utilizatorii și grupurile",
- "Read only" : "Doar citire",
- "File drop (upload only)" : "Aruncă fișierul (numai încărcare)",
- "Upload" : "Încărcare",
- "Bundled permissions" : "Permisiuni încorporate",
- "Circle" : "Cerc",
- "No entries found in this folder" : "Niciun element găsit în acest director",
- "Name" : "Nume",
- "Reasons might be:" : "Motive posibile ar fi:",
- "the item was removed" : "acest articol a fost șters",
- "the link expired" : "linkul a expirat",
- "sharing is disabled" : "Partajare este oprită",
- "Enter your name" : "Introduceți numele"
-},
-"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/files_sharing/l10n/ro.json b/apps/files_sharing/l10n/ro.json
deleted file mode 100644
index 4a9ef553b57..00000000000
--- a/apps/files_sharing/l10n/ro.json
+++ /dev/null
@@ -1,213 +0,0 @@
-{ "translations": {
- "File shares" : "Fișiere partajate",
- "Downloaded via public link" : "Descărcat prin link public",
- "Downloaded by {email}" : "Descărcat de {email}",
- "{file} downloaded via public link" : "{file} descărcat din link public",
- "{email} downloaded {file}" : "{email} a descărcat {file}",
- "Shared with group {group}" : "Partajat cu grupul {group}",
- "Removed share for group {group}" : "Elimină partajarea pentru grupul {group}",
- "{actor} shared with group {group}" : "{actor} a partajat cu grupul {group}",
- "{actor} removed share for group {group}" : "{actor} a eliminat partajarea pentru grupul {group}",
- "Share for group {group} expired" : "Partajarea pentru grupul {group} a expirat",
- "You shared {file} with group {group}" : "Ați partajat {file} cu grupul {group}",
- "You removed group {group} from {file}" : "Ați eliminat accesul grupului {group} la {file}",
- "{actor} shared {file} with group {group}" : "{actor} a partajat {file} cu grupul {group}",
- "{actor} removed group {group} from {file}" : "{actor} a eliminat accesul grupului {group} la {file}",
- "Share for file {file} with group {group} expired" : "Partajarea fișierului {file} cu grupul {group} a expirat",
- "Shared as public link" : "Partajează un link public",
- "Removed public link" : "Elimină link public",
- "Public link expired" : "Link-ul public a expirat",
- "{actor} shared as public link" : "{actor} a partajat ca link public",
- "{actor} removed public link" : "{actor} a eliminat link public",
- "Public link of {actor} expired" : "Linkul public al {actor} a expirat",
- "You shared {file} as public link" : "Ați partajat {file} ca link public",
- "You removed public link for {file}" : "Ați șters linkul public pentru {file}",
- "Public link expired for {file}" : "Linkul public pentru {file} a expirat",
- "{actor} shared {file} as public link" : "{actor} a partajat {file} ca link public",
- "{actor} removed public link for {file}" : "{actor} a șters linkul public pentru {file}",
- "Public link of {actor} for {file} expired" : "Linkul public al {actor} pentru {file} a expirat",
- "{user} accepted the remote share" : "{user} a acceptat partajarea la distanță",
- "{user} declined the remote share" : "{user} nu a acceptat partajarea la distanță",
- "You received a new remote share {file} from {user}" : "Ați primit o partajare la distanță {file} de la {user}",
- "{user} accepted the remote share of {file}" : "{user} a acceptat partajarea la distanță a {file}",
- "{user} declined the remote share of {file}" : "{user} nu a acceptat partajarea la distanță a {file}",
- "{user} unshared {file} from you" : "{user} a eliminat partajarea cu tine a {file}",
- "Shared with {user}" : "Partajat cu {user}",
- "Removed share for {user}" : "S-a eliminat partajarea pentru {user}",
- "You removed yourself" : "V-ați exclus",
- "{actor} removed themselves" : "{actor} s-au exclus",
- "{actor} shared with {user}" : "{actor} a partajat cu {user}",
- "{actor} removed share for {user}" : "{actor} a eliminat partajarea pentru {user}",
- "Shared by {actor}" : "Partajat de {actor}",
- "{actor} removed share" : "{actor} a eliminat partajarea",
- "Share for {user} expired" : "Partajarea cu {user} a expirat",
- "Share expired" : "Partajare expirată",
- "You shared {file} with {user}" : "Ați partajat {file} cu {user}",
- "You removed {user} from {file}" : "Ați eliminat pe {user} de la partajarea {file}",
- "You removed yourself from {file}" : "V-ați eliminat de la partajarea {file}",
- "{actor} removed themselves from {file}" : "{actor} s-au eliminat de la partajarea {file}",
- "{actor} shared {file} with {user}" : "{actor} a partajat {file} cu {user}",
- "{actor} removed {user} from {file}" : "{actor} a eliminat pe {user} de la partajarea {file}",
- "{actor} shared {file} with you" : "{actor} a partajat {file} cu tine",
- "{actor} removed you from the share named {file}" : "{actor} v-a eliminat de la partajarea denumită {file}",
- "Share for file {file} with {user} expired" : "Partajarea fișierului {file} cu {user} a expirat",
- "Share for file {file} expired" : "Partajarea fișierului {file} a expirat",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "A fost <strong>descărcat</strong> un fișier sau folder partajat primân email sau prin link public",
- "A file or folder was shared from <strong>another server</strong>" : "A fost partajat un fișier sau folder de la <strong>alt server</strong>",
- "Sharing" : "Partajare",
- "A file or folder has been <strong>shared</strong>" : "Un fișier sau director a fost <strong>partajat</strong>",
- "Shared link" : "Link partajat",
- "Wrong share ID, share does not exist" : "ID partajare greșit, partajarea nu există",
- "Could not delete share" : "Nu s-a putut șterge elementul partajat",
- "Please specify a file or folder path" : "Specifică un fișier sau o cale către un director",
- "Wrong path, file/folder does not exist" : "Cale eronată, fișier/folder inexistent",
- "Could not create share" : "Nu s-a putut crea partajarea",
- "Invalid permissions" : "Permisiuni invalide",
- "Group sharing is disabled by the administrator" : "Partajarea de grup este dezactivată de administrator",
- "Please specify a valid group" : "Specifică un grup valid",
- "Public link sharing is disabled by the administrator" : "Partajarea prin link public este dezactivată de administrator",
- "Public upload disabled by the administrator" : "Încărcarea publică este dezactivată de administrator",
- "Public upload is only possible for publicly shared folders" : "Încărcarea publică este posibilă doar pentru folderele partajate public",
- "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Trimiterea de către Nextcloud Talk a parolei pentru partajarea %s a eșuat deoarece Nextcloud Talk nu este activat",
- "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Partajarea %1$s a eșuat deoarece backend-ul nu permite partajări de tipul %2$s",
- "Sharing %s failed because the back end does not support room shares" : "Partajarea %s a eșuat deoarece backend-ul nu suportă partajări în săli",
- "Sharing %s failed because the back end does not support ScienceMesh shares" : "Partajarea %s a eșuat deoarece backend-ul nu suportă partajări ScienceMesh",
- "Unknown share type" : "Tip necunoscut de partajare",
- "Not a directory" : "Nu este un director",
- "Could not lock node" : "Nu s-a putut bloca nodul",
- "Could not lock path" : "Calea nu a putut fi blocată",
- "Wrong or no update parameter given" : "S-a furnizat un parametru greșit sau neactualizat",
- "Share must at least have READ or CREATE permissions" : "Partajarea trebuie să aibă cel puțin permisiunea READ sau CREATE",
- "Share must have READ permission if UPDATE or DELETE permission is set" : "Partajarea trebuie să aibă permisiunea READ dacă este setată permisiunea UPDATE sau DELETE",
- "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Trimiterea parolei de către Nextcloud Talk\" pentru partajarea unui fișier sau folder a eșuat deoarece Nextcloud Talk nu este activat.",
- "Wrong password" : "Parolă greșită",
- "shared by %s" : "partajat de %s",
- "Download" : "Descarcă",
- "Add to your %s" : "Adaugă la %s tău",
- "Direct link" : "Legătură directă",
- "Share API is disabled" : "API-ul de partajare este dezactivat",
- "File sharing" : "Partajare fișiere",
- "Share will expire tomorrow" : "Partajarea va expira mâine",
- "Your share of {node} will expire tomorrow" : "Partajarea {node} va expira mâine",
- "You received {share} as a share by {user}" : "Aţi primit {share} ca partajare de către {user}",
- "You received {share} to group {group} as a share by {user}" : "Ați primit {share} la grupul {group} ca partajare de către {user}",
- "Accept" : "Accept",
- "Decline" : "Refuză",
- "People" : "Persoane",
- "Expiration date" : "Data expirării",
- "Password" : "Parolă",
- "Share link" : "Partajează link-ul",
- "Copy to clipboard" : "Copiază în clipboard",
- "Send link via email" : "Trimite link via email",
- "Select" : "Selectează",
- "Cancel" : "Anulează",
- "Close" : "Închide",
- "Continue" : "Continuă",
- "Error creating the share" : "Eroare la crearea partajării",
- "Error while toggling options" : "Eroare la comutarea opțiunilor",
- "Set default folder for accepted shares" : "Stabiliți folderul implicit pentru partajările acceptate",
- "Reset" : "Resetare",
- "Reset folder to system default" : "Resetați folderul la setările implicite de sistem",
- "Choose a default folder for accepted shares" : "Alegeți un folder implicit pentru partajările acceptate",
- "Invalid path selected" : "Calea selectată este invalidă",
- "Unknown error" : "Eroare necunoscută",
- "Open Sharing Details" : "Deschide detalii partajare",
- "group" : "grup",
- "conversation" : "conversație",
- "remote" : "de la distanță",
- "remote group" : "grup la distanță",
- "guest" : "invitat",
- "Unshare" : "Oprește partajarea",
- "Internal link" : "Link intern",
- "Cannot copy, please copy the link manually" : "Nu s-a putut copia, vă rugăm să copiați link-ul manual",
- "Link copied" : "Link copiat",
- "Password protection" : "Password protection",
- "Enter a password" : "Enter a password",
- "Add another link" : "Adaugă un alt link",
- "View only" : "Numai se vizualizează",
- "Can edit" : "Poate edita",
- "Custom permissions" : "Permisiuni particularizate",
- "No recommendations. Start typing." : "Nu am găsit recomandări. Începeți să scrieți.",
- "Resharing is not allowed" : "Repartajarea nu este permisă",
- "Searching …" : "Căutare ...",
- "No elements found." : "Nu sunt elemente.",
- "Search globally" : "Caută global",
- "Guest" : "Invitat",
- "Group" : "Grup",
- "Email" : "E-mail",
- "Team" : "Echipă",
- "Talk conversation" : "Conversație Talk",
- "Deck board" : "Panou Deck",
- "File drop" : "Aducere fișier",
- "Terms of service" : "Termenii serviciului",
- "Allow upload and editing" : "Permite încărcarea și editarea",
- "Allow editing" : "Permite editarea",
- "Advanced settings" : "Setări avansate",
- "Set expiration date" : "Specifică data expirării",
- "Hide download" : "Ascunde descărcarea",
- "Note to recipient" : "Notă către destinatar",
- "Read" : "Citit",
- "Create" : "Crează",
- "Edit" : "Editează",
- "Share" : "Partajează",
- "Delete" : "Șterge",
- "Shares" : "Partajări",
- "Shared with you by {owner}" : "Partajat cu tine de {owner}",
- "Open in Files" : "Deschide în Fișiere",
- "Shared" : "Partajat",
- "Shared with others" : "Partajat cu alții",
- "No shares" : "Nicio partajare",
- "Shared with you" : "Partajat cu tine",
- "Nothing shared with you yet" : "Nimic nu e partajat cu tine încă",
- "Nothing shared yet" : "Nimic partajat încă",
- "Shared by link" : "Partajat prin link",
- "No shared links" : "Nicio legătură partajată",
- "Deleted shares" : "Partajări șterse",
- "No deleted shares" : "Nicio partajare ștearsă",
- "Pending shares" : "Partajări în așteptare",
- "No pending shares" : "Nicio partajare în așteptare",
- "Shared by" : "impartite in ",
- "Shared with" : "Partajat cu",
- "Shared with you and the group {group} by {owner}" : "Partajat cu tine si cu grupul {group} de {owner}",
- "Shared with you and {circle} by {owner}" : "Partajat cu tine și {circle} de {owner} ",
- "Shared with you and the conversation {conversation} by {owner}" : "Partajat cu tine si conversația {conversation} de {owner}",
- "Shared with you in a conversation by {owner}" : "Partajat cu tine în o conversație {owner}",
- "Share note" : "Partajează nota",
- "Show list view" : "Afișează vizualizarea listă",
- "Show grid view" : "Afișează vizualizarea grilă",
- "Upload files to %s" : "Încarcă fișiere la %s",
- "Note" : "Notă",
- "Select or drop files" : "Selectează sau plasează fișiere",
- "Uploaded files:" : "Fișiere încărcate:",
- "By uploading files, you agree to the %1$sterms of service%2$s." : "Prin încărcarea fișierelor ești de accord cu %1$s termenii și serviciile %2$s",
- "Back to %s" : "Înapoi la %s",
- "Waiting…" : "În așteptare...",
- "error" : "eroare",
- "finished" : "finalizat",
- "This will stop your current uploads." : "Asta va opri descărcările curente.",
- "Move or copy" : "Mută sau copiază",
- "You can upload into this folder" : "Poți încărca în acest director",
- "No compatible server found at {remote}" : "Niciun server compatibil nu a fost găsit la {remote}",
- "Invalid server URL" : "URL server invalid",
- "Failed to add the public link to your Nextcloud" : "Eroare la adăugarea link-ului public la Nextcloud",
- "Files" : "Fișiere",
- "Please specify a valid user" : "Specifică un utilizator valid",
- "You cannot share to a Circle if the app is not enabled" : "Nu puteți partaja cu un Cerc dacă aplicația nu este activată",
- "Please specify a valid circle" : "Specificați un cerc valid",
- "Download all files" : "Descarcă toate fișierele",
- "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Această aplicație permite utilizatorilor să partajeze fișiere în cadrul Nextcloud. Dacă este activată, administratorul poate stabili ce grupuri pot partaja fișiere. Utilizatorii respectivi pot apoi partaja fișiere și foldere cu alți utilizatori și grupuri în cadrul Nextcloud. În plus, dacă administratorul activează funcția de partajare linkuri, atunci poate fi folosit un link extern pentru partajarea fișierelor cu alți utilizatori din afara Nextcloud. Administratorii pot de asemenea să impună parole, date de expirare și să permită partajarea server la server via linkuri partajate precum și partajarea cu dispozitivele mobile.\nDezactivând această funcționalitate, se elimină accesul la fișierele și folderele partajate de pe server pentru toți destinatarii partajărilor și de asemenea de pe clienții de sincronizare și aplicațiile mobile. Mai multe informații se pot găsi în documentația Nextcloud.",
- "Accept user and group shares by default" : "Acceptă implicit partajările cu utilizatorii și grupurile",
- "Read only" : "Doar citire",
- "File drop (upload only)" : "Aruncă fișierul (numai încărcare)",
- "Upload" : "Încărcare",
- "Bundled permissions" : "Permisiuni încorporate",
- "Circle" : "Cerc",
- "No entries found in this folder" : "Niciun element găsit în acest director",
- "Name" : "Nume",
- "Reasons might be:" : "Motive posibile ar fi:",
- "the item was removed" : "acest articol a fost șters",
- "the link expired" : "linkul a expirat",
- "sharing is disabled" : "Partajare este oprită",
- "Enter your name" : "Introduceți numele"
-},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js
index 7567511b268..599859b6be9 100644
--- a/apps/files_sharing/l10n/ru.js
+++ b/apps/files_sharing/l10n/ru.js
@@ -368,6 +368,7 @@ OC.L10N.register(
"List of unapproved shares." : "Список ресурсов общего доступа, которые вы еще не приняли",
"No pending shares" : "Ожидающие общие ресурсы отсуствуют",
"Shares you have received but not approved will show up here" : "Здесь появятся ресурсы общего доступа, которые Вам предоставлены, но еще не подтверждены с Вашей стороны",
+ "Error deleting the share" : "Ошибка прекращения общего доступа",
"Error updating the share: {errorMessage}" : "Не удалось изменить общий ресурс: {errorMessage}",
"Error updating the share" : "Ошибка изменения параметров общего доступа",
"File \"{path}\" has been unshared" : "Закрыт общий доступ к файлу «{path}»",
diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json
index a84dbdd18ab..f570c39184c 100644
--- a/apps/files_sharing/l10n/ru.json
+++ b/apps/files_sharing/l10n/ru.json
@@ -366,6 +366,7 @@
"List of unapproved shares." : "Список ресурсов общего доступа, которые вы еще не приняли",
"No pending shares" : "Ожидающие общие ресурсы отсуствуют",
"Shares you have received but not approved will show up here" : "Здесь появятся ресурсы общего доступа, которые Вам предоставлены, но еще не подтверждены с Вашей стороны",
+ "Error deleting the share" : "Ошибка прекращения общего доступа",
"Error updating the share: {errorMessage}" : "Не удалось изменить общий ресурс: {errorMessage}",
"Error updating the share" : "Ошибка изменения параметров общего доступа",
"File \"{path}\" has been unshared" : "Закрыт общий доступ к файлу «{path}»",
diff --git a/apps/files_sharing/l10n/sk.js b/apps/files_sharing/l10n/sk.js
index e2aba332fb1..4ee0e5e9722 100644
--- a/apps/files_sharing/l10n/sk.js
+++ b/apps/files_sharing/l10n/sk.js
@@ -363,6 +363,7 @@ OC.L10N.register(
"List of unapproved shares." : "Zoznam neschválených zdieľaní.",
"No pending shares" : "Žiadne čakajúce zdieľania",
"Shares you have received but not approved will show up here" : "Tu sa zobrazia zdieľania, ktoré ste obdržali, ale nepotvrdili",
+ "Error deleting the share" : "Pri odstraňovaní zdieľania sa vyskytla chyba",
"Error updating the share: {errorMessage}" : "Chyba pri úprave zdieľania: {errorMessage}",
"Error updating the share" : "Pri aktualizácii zdieľania sa vyskytla chyba",
"File \"{path}\" has been unshared" : "Pre súbor \"{path}\" bolo zrušené zdieľanie.",
diff --git a/apps/files_sharing/l10n/sk.json b/apps/files_sharing/l10n/sk.json
index c701ce0b113..e735bd1c637 100644
--- a/apps/files_sharing/l10n/sk.json
+++ b/apps/files_sharing/l10n/sk.json
@@ -361,6 +361,7 @@
"List of unapproved shares." : "Zoznam neschválených zdieľaní.",
"No pending shares" : "Žiadne čakajúce zdieľania",
"Shares you have received but not approved will show up here" : "Tu sa zobrazia zdieľania, ktoré ste obdržali, ale nepotvrdili",
+ "Error deleting the share" : "Pri odstraňovaní zdieľania sa vyskytla chyba",
"Error updating the share: {errorMessage}" : "Chyba pri úprave zdieľania: {errorMessage}",
"Error updating the share" : "Pri aktualizácii zdieľania sa vyskytla chyba",
"File \"{path}\" has been unshared" : "Pre súbor \"{path}\" bolo zrušené zdieľanie.",
diff --git a/apps/files_sharing/l10n/sl.js b/apps/files_sharing/l10n/sl.js
index 97dca81edc1..4927fca9f6b 100644
--- a/apps/files_sharing/l10n/sl.js
+++ b/apps/files_sharing/l10n/sl.js
@@ -236,6 +236,7 @@ OC.L10N.register(
"No deleted shares" : "Ni izbrisanih povezav za souporabo.",
"Pending shares" : "Predmeti za souporabo na čakanju",
"No pending shares" : "Ni nobenega predmeta za souporabo na čakanju",
+ "Error deleting the share" : " Napaka brisanja mesta souporabe",
"Error updating the share: {errorMessage}" : "Napaka pri posodabljanju mesta souporabe: {errorMessage}",
"Error updating the share" : "Napaka posodabljanja mesta souporabe",
"File \"{path}\" has been unshared" : "Souporaba datoteke »{path}« je odstranjena",
diff --git a/apps/files_sharing/l10n/sl.json b/apps/files_sharing/l10n/sl.json
index b31f8bf43d5..9f7d5b5049b 100644
--- a/apps/files_sharing/l10n/sl.json
+++ b/apps/files_sharing/l10n/sl.json
@@ -234,6 +234,7 @@
"No deleted shares" : "Ni izbrisanih povezav za souporabo.",
"Pending shares" : "Predmeti za souporabo na čakanju",
"No pending shares" : "Ni nobenega predmeta za souporabo na čakanju",
+ "Error deleting the share" : " Napaka brisanja mesta souporabe",
"Error updating the share: {errorMessage}" : "Napaka pri posodabljanju mesta souporabe: {errorMessage}",
"Error updating the share" : "Napaka posodabljanja mesta souporabe",
"File \"{path}\" has been unshared" : "Souporaba datoteke »{path}« je odstranjena",
diff --git a/apps/files_sharing/l10n/sq.js b/apps/files_sharing/l10n/sq.js
deleted file mode 100644
index c56e46415d3..00000000000
--- a/apps/files_sharing/l10n/sq.js
+++ /dev/null
@@ -1,144 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Shared with you" : "Të ndara me ju",
- "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",
- "Shared with others" : "Të ndara me të tjerët",
- "Nothing shared yet" : "Ende pa ndarë gjë",
- "Files and folders you share will show up here" : "Këtu do të shfaqen kartelat dhe dosjet që ndani me të tjerët",
- "Shared by link" : "Të ndara me lidhje",
- "No shared links" : "Pa lidhje ndarjesh",
- "Files and folders you share by link will show up here" : "Këtu do të shfaqen kartelat dhe dosjet që ndani përmes lidhjesh",
- "Deleted shares" : "Fshi shpërndarjet",
- "Shares" : "Shpërndarje",
- "Restore" : "Rikthe",
- "error" : "gabim",
- "Download" : "Shkarko",
- "Delete" : "Delete",
- "You can upload into this folder" : "Mund të ngarkoni te kjo dosje",
- "Terms of service" : "Termat e shërbimit",
- "No compatible server found at {remote}" : "Asnjë server i pajtueshëm nuk është gjetur tek { }",
- "Invalid server URL" : "Server i pavlefshëm URL",
- "Failed to add the public link to your Nextcloud" : "Nuk arritët të shtoni ndërlidhjen publike tek Nextcloud juaj",
- "No expiration date set" : "Nuk është vendosur data e përfundimit",
- "Shared by" : "Ndarë nga",
- "File shares" : "Ndarja e skedarëve",
- "Downloaded via public link" : "Shkarkuar nga një link publik",
- "Downloaded by {email}" : "Shkarkuar nga {email}",
- "{file} downloaded via public link" : "{file} shkarkuar përmes një lidhjeje publike",
- "{email} downloaded {file}" : "{email} shkarkoi {file}",
- "Shared with group {group}" : "U nda me grupin {group}",
- "Removed share for group {group}" : "Hoqi ndarjen për grupin {group}",
- "{actor} shared with group {group}" : "{actor} u nda me grupin {group}",
- "{actor} removed share for group {group}" : "{actor} hoqi ndarjen për grupin {group}",
- "You shared {file} with group {group}" : "Ndatë {file} me grupin {group}",
- "You removed group {group} from {file}" : "Hoqët grupin {group} nga {file}",
- "{actor} shared {file} with group {group}" : "{actor} ndau {file} me grupin {group}",
- "{actor} removed group {group} from {file}" : "{actor} hoqi grupin {group} nga {file}",
- "Shared as public link" : "U nda si një lidhje publike",
- "Removed public link" : "Hoqi lidhje publike",
- "Public link expired" : "Lidhja publike skadoi",
- "{actor} shared as public link" : "{actor} u nda si një lidhje publike",
- "{actor} removed public link" : "{actor} hoqi lidhje publike",
- "Public link of {actor} expired" : "Lidhja publike e {actor} skadoi",
- "You shared {file} as public link" : "Ndatë {file} si një lidhje publike",
- "You removed public link for {file}" : "Hoqët lidhje publike për {file}",
- "Public link expired for {file}" : "Lidhja publike skadoi për {file}",
- "{actor} shared {file} as public link" : "{actor} u nda {file} si një lidhje publike",
- "{actor} removed public link for {file}" : "{actor} hoqi lidhje publike për {file}",
- "Public link of {actor} for {file} expired" : "Lidhja publike e {actor} për {file} ka skaduar",
- "{user} accepted the remote share" : "{user} pranoi ndarjen e largët",
- "{user} declined the remote share" : "{user} hodhi tej ndarjen e largët",
- "You received a new remote share {file} from {user}" : "Morët një ndarje të largët {file} nga {user}",
- "{user} accepted the remote share of {file}" : "{user} pranoi ndarjen e largët të {file}",
- "{user} declined the remote share of {file}" : "{user} hodhi tej ndarjen e largët të {file}",
- "{user} unshared {file} from you" : "{user} nuk ndau {file} nga ju",
- "Shared with {user}" : "Ndarë me {user}",
- "Removed share for {user}" : "Hoqi ndarjen për {user}",
- "{actor} shared with {user}" : "{aktori} ndau me {përdoruesin}",
- "{actor} removed share for {user}" : "{actor} hoqi ndarjen për {user}",
- "Shared by {actor}" : "U nda nga {actor}",
- "{actor} removed share" : "{actor} hoqi ndarjen",
- "You shared {file} with {user}" : "Ndatë {file} me {user}",
- "You removed {user} from {file}" : "Hoqët {user} nga {file}",
- "{actor} shared {file} with {user}" : "{aktori} ndau {skedarë} me {përdoruesin}",
- "{actor} removed {user} from {file}" : "{actor} hoqi {user} nga {file}",
- "{actor} shared {file} with you" : "{actor} ndau {skedarë} me ju",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Një skedar ose dosje e ndarë nga posta ose lidhja publike ishte <strong> shkarkuar</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Një kartelë ose dosje u nda prej një <strong>shërbyesi tjetër</strong>",
- "Files" : "Skedarët",
- "A file or folder has been <strong>shared</strong>" : "U <strong>nda me të tjerë</strong> një kartelë ose dosje",
- "Could not delete share" : "Ndarja s’u fshi dot",
- "Please specify a file or folder path" : "Ju lutemi, tregoni një shteg kartele ose dosjeje",
- "Could not create share" : "Ndarja nuk u krijua dot",
- "Please specify a valid user" : "Ju lutemi, tregoni një përdorues të vlefshëm",
- "Group sharing is disabled by the administrator" : "Ndarja në grup është çaktivizuar nga përgjegjësi",
- "Please specify a valid group" : "Ju lutemi, tregoni një grup të vlefshëm",
- "Public link sharing is disabled by the administrator" : "Ndarja e lidhjeve publike është çaktivizuar nga përgjegjësi",
- "Public upload disabled by the administrator" : "Ngarkimi publik është çaktivizuar nga përgjegjësi",
- "Public upload is only possible for publicly shared folders" : "Ngarkimi publik është i mundshëm vetëm për dosje të ndara publikisht",
- "Invalid date, date format must be YYYY-MM-DD" : "Datë e pavlefshme, formati i datës duhet të jetë VVVV-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "Nuk mund të shpërndani në një rreth nëse aplikacioni nuk është i aktivizuar",
- "Please specify a valid circle" : "Ju lutem specifikoni një rreth i vlefshëm",
- "Unknown share type" : "Lloj i panjohur ndarjesh",
- "Not a directory" : "S’është drejtori",
- "Could not lock path" : "S’u kyç dot shtegu",
- "Wrong or no update parameter given" : "Ose u dha parametër i gabuar përditësimesh, pse s’u dha fare ",
- "shared by %s" : "ndarë nga %s",
- "Direct link" : "Lidhje e drejtpërdrejtë",
- "Share API is disabled" : "API i ndarjeve është çaktivizuar",
- "File sharing" : "Shpërndarja e skedarëve",
- "Accept" : "Prano",
- "Sharing" : "Ndarje",
- "Reset" : "Rivendos",
- "Unknown error" : "Gabim i panjohur",
- "Allow editing" : "Lejo redaktimin",
- "Read only" : "Vetëm i lexueshëm",
- "Allow upload and editing" : "Lejo ngarkim dhe editim",
- "File drop (upload only)" : "Lësho skedar (vetëm ngarkim)",
- "Read" : "Lexoni",
- "Upload" : "Ngarkoni",
- "Edit" : "Përpuno",
- "Allow resharing" : "Lejo rindarje",
- "Set expiration date" : "Caktoni datë skadimi",
- "Note to recipient" : "Shënim për marrësin",
- "Unshare" : "Hiqe ndarjen",
- "group" : "grup",
- "conversation" : "bisedë",
- "remote" : "i largët",
- "guest" : "vizitor",
- "Only works for users with access to this folder" : "Punon vetëm për përdoruesit që kanë qasje në këtë dosje",
- "Link copied" : "Linku u kopjua",
- "Password protection" : "Password protection",
- "Enter a password" : "Fusni një fjalëkalim",
- "Cancel" : "Anullo",
- "Hide download" : "Fshih shkarkimin",
- "Password protect" : "Mbroje me fjalëkalim",
- "Share link" : "Share link",
- "Resharing is not allowed" : "Nuk lejohet rishperndarja",
- "Guest" : "I ftuar",
- "Group" : "Grup",
- "Email" : "Emaili",
- "Circle" : "Rreth",
- "Shared with you by {owner}" : "Ndarë me ju nga {owner}",
- "Shared" : "Ndarë",
- "Share" : "shpërndaj",
- "Shared with" : "Ndarë me",
- "Shared with you and the group {group} by {owner}" : "Ndarë me ju dhe me grupin {group} nga {owner}",
- "No entries found in this folder" : "S’u gjetën zëra në këtë dosje",
- "Name" : "Emër",
- "Share time" : "Kohë ndarjeje",
- "Expiration date" : "Datë skadimi",
- "Reasons might be:" : "Arsyet mund të jenë:",
- "the item was removed" : "objekti është hequr",
- "the link expired" : "lidhja ka skaduar",
- "sharing is disabled" : "ndarjet janë çaktivizuar",
- "For more info, please ask the person who sent this link." : "Për më shumë të dhëna, ju lutemi, pyetni personin që ju dërgoi këtë lidhje.",
- "Upload files to %s" : "Ngrako skedarët tek %s",
- "Note" : "Shënim",
- "Select or drop files" : "Përzgjidh ose hiq skedarët",
- "Uploaded files:" : "Skedarët e ngarkuar:",
- "Add to your Nextcloud" : "Shtojeni tek Nextcloud-i juaj"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/sq.json b/apps/files_sharing/l10n/sq.json
deleted file mode 100644
index 4dda374ab87..00000000000
--- a/apps/files_sharing/l10n/sq.json
+++ /dev/null
@@ -1,142 +0,0 @@
-{ "translations": {
- "Shared with you" : "Të ndara me ju",
- "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",
- "Shared with others" : "Të ndara me të tjerët",
- "Nothing shared yet" : "Ende pa ndarë gjë",
- "Files and folders you share will show up here" : "Këtu do të shfaqen kartelat dhe dosjet që ndani me të tjerët",
- "Shared by link" : "Të ndara me lidhje",
- "No shared links" : "Pa lidhje ndarjesh",
- "Files and folders you share by link will show up here" : "Këtu do të shfaqen kartelat dhe dosjet që ndani përmes lidhjesh",
- "Deleted shares" : "Fshi shpërndarjet",
- "Shares" : "Shpërndarje",
- "Restore" : "Rikthe",
- "error" : "gabim",
- "Download" : "Shkarko",
- "Delete" : "Delete",
- "You can upload into this folder" : "Mund të ngarkoni te kjo dosje",
- "Terms of service" : "Termat e shërbimit",
- "No compatible server found at {remote}" : "Asnjë server i pajtueshëm nuk është gjetur tek { }",
- "Invalid server URL" : "Server i pavlefshëm URL",
- "Failed to add the public link to your Nextcloud" : "Nuk arritët të shtoni ndërlidhjen publike tek Nextcloud juaj",
- "No expiration date set" : "Nuk është vendosur data e përfundimit",
- "Shared by" : "Ndarë nga",
- "File shares" : "Ndarja e skedarëve",
- "Downloaded via public link" : "Shkarkuar nga një link publik",
- "Downloaded by {email}" : "Shkarkuar nga {email}",
- "{file} downloaded via public link" : "{file} shkarkuar përmes një lidhjeje publike",
- "{email} downloaded {file}" : "{email} shkarkoi {file}",
- "Shared with group {group}" : "U nda me grupin {group}",
- "Removed share for group {group}" : "Hoqi ndarjen për grupin {group}",
- "{actor} shared with group {group}" : "{actor} u nda me grupin {group}",
- "{actor} removed share for group {group}" : "{actor} hoqi ndarjen për grupin {group}",
- "You shared {file} with group {group}" : "Ndatë {file} me grupin {group}",
- "You removed group {group} from {file}" : "Hoqët grupin {group} nga {file}",
- "{actor} shared {file} with group {group}" : "{actor} ndau {file} me grupin {group}",
- "{actor} removed group {group} from {file}" : "{actor} hoqi grupin {group} nga {file}",
- "Shared as public link" : "U nda si një lidhje publike",
- "Removed public link" : "Hoqi lidhje publike",
- "Public link expired" : "Lidhja publike skadoi",
- "{actor} shared as public link" : "{actor} u nda si një lidhje publike",
- "{actor} removed public link" : "{actor} hoqi lidhje publike",
- "Public link of {actor} expired" : "Lidhja publike e {actor} skadoi",
- "You shared {file} as public link" : "Ndatë {file} si një lidhje publike",
- "You removed public link for {file}" : "Hoqët lidhje publike për {file}",
- "Public link expired for {file}" : "Lidhja publike skadoi për {file}",
- "{actor} shared {file} as public link" : "{actor} u nda {file} si një lidhje publike",
- "{actor} removed public link for {file}" : "{actor} hoqi lidhje publike për {file}",
- "Public link of {actor} for {file} expired" : "Lidhja publike e {actor} për {file} ka skaduar",
- "{user} accepted the remote share" : "{user} pranoi ndarjen e largët",
- "{user} declined the remote share" : "{user} hodhi tej ndarjen e largët",
- "You received a new remote share {file} from {user}" : "Morët një ndarje të largët {file} nga {user}",
- "{user} accepted the remote share of {file}" : "{user} pranoi ndarjen e largët të {file}",
- "{user} declined the remote share of {file}" : "{user} hodhi tej ndarjen e largët të {file}",
- "{user} unshared {file} from you" : "{user} nuk ndau {file} nga ju",
- "Shared with {user}" : "Ndarë me {user}",
- "Removed share for {user}" : "Hoqi ndarjen për {user}",
- "{actor} shared with {user}" : "{aktori} ndau me {përdoruesin}",
- "{actor} removed share for {user}" : "{actor} hoqi ndarjen për {user}",
- "Shared by {actor}" : "U nda nga {actor}",
- "{actor} removed share" : "{actor} hoqi ndarjen",
- "You shared {file} with {user}" : "Ndatë {file} me {user}",
- "You removed {user} from {file}" : "Hoqët {user} nga {file}",
- "{actor} shared {file} with {user}" : "{aktori} ndau {skedarë} me {përdoruesin}",
- "{actor} removed {user} from {file}" : "{actor} hoqi {user} nga {file}",
- "{actor} shared {file} with you" : "{actor} ndau {skedarë} me ju",
- "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Një skedar ose dosje e ndarë nga posta ose lidhja publike ishte <strong> shkarkuar</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Një kartelë ose dosje u nda prej një <strong>shërbyesi tjetër</strong>",
- "Files" : "Skedarët",
- "A file or folder has been <strong>shared</strong>" : "U <strong>nda me të tjerë</strong> një kartelë ose dosje",
- "Could not delete share" : "Ndarja s’u fshi dot",
- "Please specify a file or folder path" : "Ju lutemi, tregoni një shteg kartele ose dosjeje",
- "Could not create share" : "Ndarja nuk u krijua dot",
- "Please specify a valid user" : "Ju lutemi, tregoni një përdorues të vlefshëm",
- "Group sharing is disabled by the administrator" : "Ndarja në grup është çaktivizuar nga përgjegjësi",
- "Please specify a valid group" : "Ju lutemi, tregoni një grup të vlefshëm",
- "Public link sharing is disabled by the administrator" : "Ndarja e lidhjeve publike është çaktivizuar nga përgjegjësi",
- "Public upload disabled by the administrator" : "Ngarkimi publik është çaktivizuar nga përgjegjësi",
- "Public upload is only possible for publicly shared folders" : "Ngarkimi publik është i mundshëm vetëm për dosje të ndara publikisht",
- "Invalid date, date format must be YYYY-MM-DD" : "Datë e pavlefshme, formati i datës duhet të jetë VVVV-MM-DD",
- "You cannot share to a Circle if the app is not enabled" : "Nuk mund të shpërndani në një rreth nëse aplikacioni nuk është i aktivizuar",
- "Please specify a valid circle" : "Ju lutem specifikoni një rreth i vlefshëm",
- "Unknown share type" : "Lloj i panjohur ndarjesh",
- "Not a directory" : "S’është drejtori",
- "Could not lock path" : "S’u kyç dot shtegu",
- "Wrong or no update parameter given" : "Ose u dha parametër i gabuar përditësimesh, pse s’u dha fare ",
- "shared by %s" : "ndarë nga %s",
- "Direct link" : "Lidhje e drejtpërdrejtë",
- "Share API is disabled" : "API i ndarjeve është çaktivizuar",
- "File sharing" : "Shpërndarja e skedarëve",
- "Accept" : "Prano",
- "Sharing" : "Ndarje",
- "Reset" : "Rivendos",
- "Unknown error" : "Gabim i panjohur",
- "Allow editing" : "Lejo redaktimin",
- "Read only" : "Vetëm i lexueshëm",
- "Allow upload and editing" : "Lejo ngarkim dhe editim",
- "File drop (upload only)" : "Lësho skedar (vetëm ngarkim)",
- "Read" : "Lexoni",
- "Upload" : "Ngarkoni",
- "Edit" : "Përpuno",
- "Allow resharing" : "Lejo rindarje",
- "Set expiration date" : "Caktoni datë skadimi",
- "Note to recipient" : "Shënim për marrësin",
- "Unshare" : "Hiqe ndarjen",
- "group" : "grup",
- "conversation" : "bisedë",
- "remote" : "i largët",
- "guest" : "vizitor",
- "Only works for users with access to this folder" : "Punon vetëm për përdoruesit që kanë qasje në këtë dosje",
- "Link copied" : "Linku u kopjua",
- "Password protection" : "Password protection",
- "Enter a password" : "Fusni një fjalëkalim",
- "Cancel" : "Anullo",
- "Hide download" : "Fshih shkarkimin",
- "Password protect" : "Mbroje me fjalëkalim",
- "Share link" : "Share link",
- "Resharing is not allowed" : "Nuk lejohet rishperndarja",
- "Guest" : "I ftuar",
- "Group" : "Grup",
- "Email" : "Emaili",
- "Circle" : "Rreth",
- "Shared with you by {owner}" : "Ndarë me ju nga {owner}",
- "Shared" : "Ndarë",
- "Share" : "shpërndaj",
- "Shared with" : "Ndarë me",
- "Shared with you and the group {group} by {owner}" : "Ndarë me ju dhe me grupin {group} nga {owner}",
- "No entries found in this folder" : "S’u gjetën zëra në këtë dosje",
- "Name" : "Emër",
- "Share time" : "Kohë ndarjeje",
- "Expiration date" : "Datë skadimi",
- "Reasons might be:" : "Arsyet mund të jenë:",
- "the item was removed" : "objekti është hequr",
- "the link expired" : "lidhja ka skaduar",
- "sharing is disabled" : "ndarjet janë çaktivizuar",
- "For more info, please ask the person who sent this link." : "Për më shumë të dhëna, ju lutemi, pyetni personin që ju dërgoi këtë lidhje.",
- "Upload files to %s" : "Ngrako skedarët tek %s",
- "Note" : "Shënim",
- "Select or drop files" : "Përzgjidh ose hiq skedarët",
- "Uploaded files:" : "Skedarët e ngarkuar:",
- "Add to your Nextcloud" : "Shtojeni tek Nextcloud-i juaj"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/sr.js b/apps/files_sharing/l10n/sr.js
index 413fccb634c..b97ed376dda 100644
--- a/apps/files_sharing/l10n/sr.js
+++ b/apps/files_sharing/l10n/sr.js
@@ -368,6 +368,7 @@ OC.L10N.register(
"List of unapproved shares." : "Листа дељења која нису одобрена.",
"No pending shares" : "Нема дељења на чекању",
"Shares you have received but not approved will show up here" : "Овде ће се појавити дељења која сте прилмили, али нисте одобрили",
+ "Error deleting the share" : "Грешка при брисању дељења",
"Error updating the share: {errorMessage}" : "Greška pri ažuriranju deljenja: {errorMessage}",
"Error updating the share" : "Грешка при ажурирању дељења",
"File \"{path}\" has been unshared" : "Фајл „{path}” се више не дели",
diff --git a/apps/files_sharing/l10n/sr.json b/apps/files_sharing/l10n/sr.json
index a9bd75ab333..9cd894b43d5 100644
--- a/apps/files_sharing/l10n/sr.json
+++ b/apps/files_sharing/l10n/sr.json
@@ -366,6 +366,7 @@
"List of unapproved shares." : "Листа дељења која нису одобрена.",
"No pending shares" : "Нема дељења на чекању",
"Shares you have received but not approved will show up here" : "Овде ће се појавити дељења која сте прилмили, али нисте одобрили",
+ "Error deleting the share" : "Грешка при брисању дељења",
"Error updating the share: {errorMessage}" : "Greška pri ažuriranju deljenja: {errorMessage}",
"Error updating the share" : "Грешка при ажурирању дељења",
"File \"{path}\" has been unshared" : "Фајл „{path}” се више не дели",
diff --git a/apps/files_sharing/l10n/sr@latin.js b/apps/files_sharing/l10n/sr@latin.js
deleted file mode 100644
index e044946e117..00000000000
--- a/apps/files_sharing/l10n/sr@latin.js
+++ /dev/null
@@ -1,56 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Server to server sharing is not enabled on this server" : "Deljenje od servera do servera nije omogućeno na ovom serveru.",
- "The mountpoint name contains invalid characters." : "Ime tačke za montiranje sadrži neispravne karaktere.",
- "Invalid or untrusted SSL certificate" : "Nevažeći SSL sertifikat ili SSL sertifikat koji nije od poverenja.",
- "Couldn't add remote share" : "Nemoguće dodavanje udaljenog deljenog direktorijuma",
- "Shared with you" : "Deljeno sa Vama",
- "Shared with others" : "Deljeno sa ostalima",
- "Shared by link" : "Deljeno pomoću prečice",
- "Nothing shared with you yet" : "Još ništa nije deljeno sa Vama",
- "Files and folders others share with you will show up here" : "Fajlovi i direktorijumi koji drugi dele sa Vama će se pojaviti ovde",
- "Nothing shared yet" : "Još ništa nije deljeno",
- "Files and folders you share will show up here" : "Fajlovi i direktorijumi koje vi delite će se pojaviti ovde",
- "No shared links" : "Nema deljenih prečica",
- "Files and folders you share by link will show up here" : "Fajlovi i direktorijumi koje delite putem prečice će se pojaviti ovde",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Da li želite da dodate udaljeni deljeni resurs {name} od {owner}@{remote}?",
- "Remote share" : "Udaljeni deljeni resurs",
- "Remote share password" : "Lozinka za udaljeni deljeni resurs",
- "Cancel" : "Otkaži",
- "Add remote share" : "Dodaj udaljeni deljeni resurs",
- "No ownCloud installation (7 or higher) found at {remote}" : "Nije pronađena ownCloud instalacija (7 ili noviji) na {remote}",
- "Invalid ownCloud url" : "Neispravan ownCloud url",
- "Shared by" : "Deljeno od strane",
- "A file or folder has been <strong>shared</strong>" : "Fijl ili direktorijum je <strong>podeljen</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Fajl ili direktorijum je deljen sa <strong>drugog servera</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Javni deljeni fajl ili direktorijum je <strong>preuzet</strong>",
- "You received a new remote share from %s" : "Primili ste novi udaljeni deljeni resurs od %s",
- "%1$s accepted remote share %2$s" : "%1$s je prihvatio udaljeni deljeni resurs %2$s",
- "%1$s declined remote share %2$s" : "%1$s je odbio %2$s",
- "%1$s unshared %2$s from you" : "%1$s je prekinuo deljenje %2$s sa Vama",
- "Public shared folder %1$s was downloaded" : "Javni deljeni direktorijum %1$s je preuzet",
- "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",
- "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.",
- "Password" : "Lozinka",
- "No entries found in this folder" : "Nema unosa u ovom direktorijumu",
- "Name" : "Ime",
- "Share time" : "Vreme deljenja",
- "Sorry, this link doesn’t seem to work anymore." : "Žao nam je, ali ova prečica više ne radi.",
- "Reasons might be:" : "Razlozi mogu biti:",
- "the item was removed" : "stavka je uklonjena",
- "the link expired" : "prečica je istekla",
- "sharing is disabled" : "deljenje je onemogućeno",
- "For more info, please ask the person who sent this link." : "Za više informacija, molimo Vas da se obratite osobi koja je poslala prečicu.",
- "Add to your ownCloud" : "Dodaj na svoj ownCloud",
- "Download" : "Preuzmi",
- "Download %s" : "Preuzmi %s",
- "Direct link" : "Direktna prečica"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files_sharing/l10n/sr@latin.json b/apps/files_sharing/l10n/sr@latin.json
deleted file mode 100644
index f4942a0dfa9..00000000000
--- a/apps/files_sharing/l10n/sr@latin.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{ "translations": {
- "Server to server sharing is not enabled on this server" : "Deljenje od servera do servera nije omogućeno na ovom serveru.",
- "The mountpoint name contains invalid characters." : "Ime tačke za montiranje sadrži neispravne karaktere.",
- "Invalid or untrusted SSL certificate" : "Nevažeći SSL sertifikat ili SSL sertifikat koji nije od poverenja.",
- "Couldn't add remote share" : "Nemoguće dodavanje udaljenog deljenog direktorijuma",
- "Shared with you" : "Deljeno sa Vama",
- "Shared with others" : "Deljeno sa ostalima",
- "Shared by link" : "Deljeno pomoću prečice",
- "Nothing shared with you yet" : "Još ništa nije deljeno sa Vama",
- "Files and folders others share with you will show up here" : "Fajlovi i direktorijumi koji drugi dele sa Vama će se pojaviti ovde",
- "Nothing shared yet" : "Još ništa nije deljeno",
- "Files and folders you share will show up here" : "Fajlovi i direktorijumi koje vi delite će se pojaviti ovde",
- "No shared links" : "Nema deljenih prečica",
- "Files and folders you share by link will show up here" : "Fajlovi i direktorijumi koje delite putem prečice će se pojaviti ovde",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Da li želite da dodate udaljeni deljeni resurs {name} od {owner}@{remote}?",
- "Remote share" : "Udaljeni deljeni resurs",
- "Remote share password" : "Lozinka za udaljeni deljeni resurs",
- "Cancel" : "Otkaži",
- "Add remote share" : "Dodaj udaljeni deljeni resurs",
- "No ownCloud installation (7 or higher) found at {remote}" : "Nije pronađena ownCloud instalacija (7 ili noviji) na {remote}",
- "Invalid ownCloud url" : "Neispravan ownCloud url",
- "Shared by" : "Deljeno od strane",
- "A file or folder has been <strong>shared</strong>" : "Fijl ili direktorijum je <strong>podeljen</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Fajl ili direktorijum je deljen sa <strong>drugog servera</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Javni deljeni fajl ili direktorijum je <strong>preuzet</strong>",
- "You received a new remote share from %s" : "Primili ste novi udaljeni deljeni resurs od %s",
- "%1$s accepted remote share %2$s" : "%1$s je prihvatio udaljeni deljeni resurs %2$s",
- "%1$s declined remote share %2$s" : "%1$s je odbio %2$s",
- "%1$s unshared %2$s from you" : "%1$s je prekinuo deljenje %2$s sa Vama",
- "Public shared folder %1$s was downloaded" : "Javni deljeni direktorijum %1$s je preuzet",
- "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",
- "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.",
- "Password" : "Lozinka",
- "No entries found in this folder" : "Nema unosa u ovom direktorijumu",
- "Name" : "Ime",
- "Share time" : "Vreme deljenja",
- "Sorry, this link doesn’t seem to work anymore." : "Žao nam je, ali ova prečica više ne radi.",
- "Reasons might be:" : "Razlozi mogu biti:",
- "the item was removed" : "stavka je uklonjena",
- "the link expired" : "prečica je istekla",
- "sharing is disabled" : "deljenje je onemogućeno",
- "For more info, please ask the person who sent this link." : "Za više informacija, molimo Vas da se obratite osobi koja je poslala prečicu.",
- "Add to your ownCloud" : "Dodaj na svoj ownCloud",
- "Download" : "Preuzmi",
- "Download %s" : "Preuzmi %s",
- "Direct link" : "Direktna prečica"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/sv.js b/apps/files_sharing/l10n/sv.js
index 05be7bc3722..f378ee9e6be 100644
--- a/apps/files_sharing/l10n/sv.js
+++ b/apps/files_sharing/l10n/sv.js
@@ -368,6 +368,8 @@ OC.L10N.register(
"List of unapproved shares." : "Lista över ej godkända delningar.",
"No pending shares" : "Inga väntande delningar",
"Shares you have received but not approved will show up here" : "Delningar du har mottagit men inte bekräftat kommer att visas här",
+ "Error deleting the share: {errorMessage}" : "Fel vid radering av delning: {errorMessage}",
+ "Error deleting the share" : "Kunde inte radera delningen",
"Error updating the share: {errorMessage}" : "Kunde inte uppdatera delningen: {errorMessage}",
"Error updating the share" : "Kunde inte uppdatera delning",
"File \"{path}\" has been unshared" : "Fil \"{path}\" har slutat att delas",
diff --git a/apps/files_sharing/l10n/sv.json b/apps/files_sharing/l10n/sv.json
index b675aecf7d0..f6ab3c72b19 100644
--- a/apps/files_sharing/l10n/sv.json
+++ b/apps/files_sharing/l10n/sv.json
@@ -366,6 +366,8 @@
"List of unapproved shares." : "Lista över ej godkända delningar.",
"No pending shares" : "Inga väntande delningar",
"Shares you have received but not approved will show up here" : "Delningar du har mottagit men inte bekräftat kommer att visas här",
+ "Error deleting the share: {errorMessage}" : "Fel vid radering av delning: {errorMessage}",
+ "Error deleting the share" : "Kunde inte radera delningen",
"Error updating the share: {errorMessage}" : "Kunde inte uppdatera delningen: {errorMessage}",
"Error updating the share" : "Kunde inte uppdatera delning",
"File \"{path}\" has been unshared" : "Fil \"{path}\" har slutat att delas",
diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js
index 928b017aa59..4c0314bc3f3 100644
--- a/apps/files_sharing/l10n/tr.js
+++ b/apps/files_sharing/l10n/tr.js
@@ -66,31 +66,31 @@ OC.L10N.register(
"Wrong path, file/folder does not exist" : "Yol yanlış. Dosya ya da klasör bulunamadı",
"Could not create share" : "Paylaşılamadı",
"Please specify a valid account to share with" : "Lütfen paylaşılacak geçerli bir hesap belirtin",
- "Group sharing is disabled by the administrator" : "Grup paylaşımı BT yöneticisi tarafından devre dışı bırakılmış",
+ "Group sharing is disabled by the administrator" : "Grup paylaşımı özelliği BT yöneticisi tarafından kapatılmış",
"Please specify a valid group" : "Lütfen geçerli bir grup belirtin",
- "Public link sharing is disabled by the administrator" : "Herkese açık bağlantı paylaşımı BT yöneticisi tarafından devre dışı bırakılmış",
+ "Public link sharing is disabled by the administrator" : "Herkese açık bağlantı paylaşımı özelliği BT yöneticisi tarafından kapatılmış",
"Please specify a valid email address" : "Lütfen geçerli bir e-posta adresi yazın",
- "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Talk etkin olmadığından, %s paylaşım parolası Nextcloud Talk uygulaması ile gönderilemedi",
+ "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Konuş uygulaması kullanıma alınmamış. %s paylaşım parolası Nextcloud Konuş uygulaması ile gönderilemedi",
"Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Yönetim bölümünden %2$s türündeki paylaşımlar yapılamadığından %1$s paylaşılamadı",
"Please specify a valid federated account ID" : "Lütfen geçerli bir birleşik hesap kimliği belirtin",
"Please specify a valid federated group ID" : "Lütfen geçerli bir birleşik grup kimliği belirtin",
- "You cannot share to a Team if the app is not enabled" : "Uygulama etkin değilse bir Takım ile paylaşamazsınız",
+ "You cannot share to a Team if the app is not enabled" : "Uygulama kullanıma alınmamışsa bir Takım ile paylaşamazsınız",
"Please specify a valid team" : "Lütfen geçerli bir takım belirtin",
- "Sharing %s failed because the back end does not support room shares" : "Arka uç oda paylaşımlarına izin vermediğinden %s paylaşılamadı",
- "Sharing %s failed because the back end does not support ScienceMesh shares" : "Arka uç ScienceMesh paylaşımlarına izin vermediğinden %s paylaşılamadı",
+ "Sharing %s failed because the back end does not support room shares" : "Arka yüz oda paylaşımlarına izin vermediğinden %s paylaşılamadı",
+ "Sharing %s failed because the back end does not support ScienceMesh shares" : "Arka yüz ScienceMesh paylaşımlarına izin vermediğinden %s paylaşılamadı",
"Unknown share type" : "Paylaşım türü bilinmiyor",
"Not a directory" : "Bir klasör değil",
"Could not lock node" : "Düğüm kilitlenemedi",
"Public upload is only possible for publicly shared folders" : "Herkese açık yükleme ancak herkese açık paylaşılmış klasörlere yapılabilir",
"Share must at least have READ or CREATE permissions" : "Paylaşım için en az OKUMA ve OLUŞTURMA izinleri olmalıdır",
"Share must have READ permission if UPDATE or DELETE permission is set" : "UPDATE ya da DELETE izinleri verilmiş ise paylaşıma READ izni verilmelidir",
- "Public upload disabled by the administrator" : "Herkese açık yükleme BT yöneticisi tarafından devre dışı bırakılmış",
+ "Public upload disabled by the administrator" : "Herkese açık yükleme özelliği BT yöneticisi tarafından kapatılmış",
"Could not lock path" : "Yol kilitlenemedi",
"no sharing rights on this item" : "bu ögenin herhangi bir paylaşım izni yok",
"You are not allowed to edit incoming shares" : "Gelen paylaşımları düzenleme izniniz yok",
"Wrong or no update parameter given" : "Parametre yanlış ya da herhangi bir parametre belirtilmemiş",
- "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Nextcloud Talk etkin olmadığından, paylaşım parolası Nextcloud Talk uygulaması ile gönderilemedi.",
- "Custom share link tokens have been disabled by the administrator" : "Özel bağlantı paylaşımı kodları yöneticiniz tarafından devre dışı bırakılmış",
+ "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Nextcloud Konuş uygulaması kullanıma alınmamış. Paylaşım parolası Nextcloud Konuş uygulaması ile gönderilemedi.",
+ "Custom share link tokens have been disabled by the administrator" : "Özel bağlantı paylaşımı kodları yöneticiniz tarafından kapatılmış",
"Tokens must contain at least 1 character and may only contain letters, numbers, or a hyphen" : "Kodlar en az 1 karakter uzunluğunda olmalı ve yalnızca harf, sayı veya tire karakterlerini içermelidir",
"Invalid date. Format must be YYYY-MM-DD" : "Tarih geçersiz. Tarih biçimi YYYY-AA-GG olmalıdır",
"No sharing rights on this item" : "Bu ögenin herhangi bir paylaşım izni yok",
@@ -105,7 +105,7 @@ OC.L10N.register(
"Download" : "İndir",
"Add to your %s" : "%s uygulamanıza ekleyin",
"Direct link" : "Doğrudan bağlantı",
- "Share API is disabled" : "Paylaşım API arayüzü devre dışı bırakılmış",
+ "Share API is disabled" : "Paylaşım API arayüzü kapatılmış",
"File sharing" : "Dosya paylaşımı",
"Share will expire tomorrow" : "Paylaşımın geçerlilik süresi yarın dolacak",
"Your share of {node} will expire tomorrow" : "{node} paylaşımınızın geçerlilik süresi yarın dolacak",
@@ -116,7 +116,7 @@ OC.L10N.register(
"Remember to upload the files to %s" : "Dosyaları %s üzerine yüklemeyi unutmayın",
"We would like to kindly remind you that you have not yet uploaded any files to the shared folder." : "Paylaşılan klasöre henüz herhangi bir dosya yüklemediğinizi hatırlatmak isteriz.",
"Open \"%s\"" : "\"%s\" aç",
- "This application enables people to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable people can then share files and folders with other accounts and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other people outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Bu uygulama kişilerin Nextcloud üzerinde dosya paylaşabilmesini sağlar. Etkinleştirildiğinde, yöneticiler dosya paylaşabilecek grupları belirleyebilir. Seçilmiş gruplardaki kişiler Nextcloud üzerindeki diğer kişi ve gruplar ile dosya ve klasör paylaşabilir. Ek olarak, yönetici bağlantı paylaşımı özelliğini etkinleştirmiş ise, Nextcloud üzerinde olmayan kişiler ile dosya paylaşımı bağlantıları kullanılabilir. Yöneticiler ayrıca parola ve geçerlilik sonu tarihi kullanılmasını zorunlu kılmanın yanında, paylaşım bağlantıları ile sunucudan sunucuya paylaşım ve mobil aygıtlar ile paylaşım gibi özellikleri etkinleştirebilir.\nBu özellik devre dışı bırakıldığında, sunucu, eşitleme istemcileri ve mobil uygulamalar üzerinden alıcılar ile paylaşılmış dosya ve klasörler kaldırılır. Ayrıntılı bilgi almak için Nextcloud belgelerine bakabilirsiniz.",
+ "This application enables people to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable people can then share files and folders with other accounts and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other people outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Bu uygulama kişilerin Nextcloud üzerinde dosya paylaşabilmesini sağlar. Kullanıma alındığında, yöneticiler dosya paylaşabilecek grupları belirleyebilir. Seçilmiş gruplardaki kişiler Nextcloud üzerindeki diğer kişi ve gruplar ile dosya ve klasör paylaşabilir. Ek olarak, yönetici bağlantı paylaşımı özelliğini açmış ise, Nextcloud üzerinde olmayan kişiler ile dosya paylaşımı bağlantıları kullanılabilir. Yöneticiler ayrıca parola ve geçerlilik sonu tarihi kullanılmasını zorunlu kılmanın yanında, paylaşım bağlantıları ile sunucudan sunucuya paylaşım ve mobil aygıtlar ile paylaşım gibi özellikleri açabilir.\nBu özellik kapatıldığında, sunucu, eşitleme istemcileri ve mobil uygulamalar üzerinden alıcılar ile paylaşılmış dosya ve klasörler kaldırılır. Ayrıntılı bilgi almak için Nextcloud belgelerine bakabilirsiniz.",
"People" : "Kişiler",
"Filter accounts" : "Hesapları süz",
"The request will expire on {date} at midnight and will be password protected." : "İstek {date} gece yarısı geçersiz olacak ve parola ile korunacak.",
@@ -126,7 +126,7 @@ OC.L10N.register(
"Set a submission expiration date" : "Gönderim geçerlilik sonu tarihini ayarlayın",
"Expiration date" : "Geçerlilik sonu tarihi",
"Select a date" : "Bir tarih seçin",
- "Your administrator has enforced a {count} days expiration policy." : "Yöneticiniz geçerlilik sonu ilkesini {count} gün olarak belirlemiş.",
+ "Your administrator has enforced a {count} days expiration policy." : "Yöneticiniz geçerlilik sonu ilkesini {count} gün olarak zorunlu kılmış.",
"What password should be used for the request?" : "İstek için kullanılacak parola nedir?",
"Set a password" : "Bir parola ayarlayın",
"Password" : "Parola",
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Onaylanmış paylaşımların varsayılan klasörünü ayarlayın",
"Reset" : "Sıfırla",
"Reset folder to system default" : "Sistem varsayılan klasörüne sıfırlar",
+ "Share expiration: {date}" : "Paylaşım geçerlilik sonu: {date}",
"Share Expiration" : "Paylaşım geçerlilik sonu",
"group" : "grup",
"conversation" : "görüşme",
@@ -219,16 +220,16 @@ OC.L10N.register(
"Link share created" : "Paylaşım bağlantısı oluşturuldu",
"Error while creating the share" : "Paylaşım oluşturulurken sorun çıktı",
"Please enter the following required information before creating the share" : "Lütfen paylaşımı oluşturmadan önce aşağıdaki zorunlu bilgileri yazın",
- "Password protection (enforced)" : "Parola koruması (dayatılmış)",
+ "Password protection (enforced)" : "Parola koruması (zorunlu kılınmış)",
"Password protection" : "Parola koruması",
"Enter a password" : "Bir parola yazın",
- "Enable link expiration (enforced)" : "Bağlantıya geçerlilik sonu ekle (dayatılan)",
+ "Enable link expiration (enforced)" : "Bağlantıya geçerlilik sonu ekle (zorunlu kılınmış)",
"Enable link expiration" : "Bağlantı geçerlilik sonu kullanılsın",
- "Enter expiration date (enforced)" : "Geçerlilik sonu tarihini yazın (dayatılan)",
+ "Enter expiration date (enforced)" : "Geçerlilik sonu tarihini yazın (zorunlu kılınmış)",
"Enter expiration date" : "Geçerlilik sonu tarihini yazın",
"Create share" : "Paylaşım ekle",
"Customize link" : "Bağlantıyı özelleştir",
- "Generate QR code" : "QR kodu oluştur",
+ "Generate QR code" : "Kare kod oluştur",
"Add another link" : "Başka bir bağlantı ekle",
"Create a new share link" : "Yeni bir paylaşım bağlantısı ekle",
"Quick share options, the current selected is \"{selectedOption}\"" : "Hızlı paylaşım seçenekleri, geçerli seçim \"{selectedOption}\"",
@@ -245,7 +246,7 @@ OC.L10N.register(
"Group" : "Grup",
"Email" : "E-posta",
"Team" : "Takım",
- "Talk conversation" : "Talk görüşmesi",
+ "Talk conversation" : "Konuş görüşmesi",
"Deck board" : "Tahta panosu",
"ScienceMesh" : "ScienceMesh",
"on {server}" : "{server} üzerinde",
@@ -256,6 +257,7 @@ OC.L10N.register(
"File drop" : "Dosya bırakma",
"Upload files to {foldername}." : "Dosyaları {foldername} klasörüne yükle.",
"By uploading files, you agree to the terms of service." : "Dosya yükleyerek hizmet koşullarını kabul etmiş olursunuz.",
+ "Successfully uploaded files" : "Dosyalar yüklendi",
"View terms of service" : "Hizmet koşullarını görüntüle",
"Terms of service" : "Hizmet koşulları",
"Share with {userName}" : "{userName} ile paylaş",
@@ -288,7 +290,7 @@ OC.L10N.register(
"Password expires {passwordExpirationTime}" : "Parolanın geçerlilik süresi sonu {passwordExpirationTime}",
"Password expired" : "Parolanın geçerlilik süresi dolmuş",
"Video verification" : "Görüntü doğrulaması",
- "Expiration date (enforced)" : "Geçerlilik sonu tarihi (dayatılmış)",
+ "Expiration date (enforced)" : "Geçerlilik sonu tarihi (zorunlu kılınmış)",
"Set expiration date" : "Geçerlilik sonu tarihini ayarla",
"Hide download" : "İndirme gizlensin",
"Allow download and sync" : "İndirmeye izin ver ve eşitle",
@@ -306,7 +308,10 @@ OC.L10N.register(
"Use this method to share files with individuals or teams within your organization. If the recipient already has access to the share but cannot locate it, you can send them the internal share link for easy access." : "Bu yöntemi, dosyaları kuruluşunuzdaki kişilerle veya takımlarla paylaşmak için kullanın. Alıcının paylaşıma zaten erişimi varsa ancak bulamıyorlarsa, kolay erişmeleri için iç paylaşım bağlantısını gönderebilirsiniz.",
"Use this method to share files with individuals or organizations outside your organization. Files and folders can be shared via public share links and email addresses. You can also share to other Nextcloud accounts hosted on different instances using their federated cloud ID." : "Bu yöntemi, dosyaları kuruluşunuzun dışındaki kişilerle veya kuruluşlarla paylaşmak için kullanın. Dosyalar ve klasörler herkese açık paylaşım bağlantıları ve e-posta adresleri ile paylaşılabilir. Ayrıca, birleşik bulut kimliklerini kullanarak farklı kopyalarda barındırılan diğer Nextcloud hesaplarıyla da paylaşım yapabilirsiniz.",
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "İç veya dış paylaşımların parçası olmayan paylaşımlar. Bunlar uygulamalardan veya diğer kaynaklardan gelen paylaşımlar olabilir.",
+ "Share with accounts, teams, federated cloud IDs" : "Hesaplar, takımlar ve birleşik bulut kimlikleri ile paylaşın",
"Share with accounts and teams" : "Hesaplar ve takımlarla paylaşın",
+ "Federated cloud ID" : "Birleşik bulut kimliği",
+ "Email, federated cloud ID" : "E-posta adresi, birleşik bulut kimliği",
"Unable to load the shares list" : "Paylaşımlar listesi yüklenemedi",
"Expires {relativetime}" : "Geçerlilik süresi sonu {relativetime}",
"this share just expired." : "bu paylaşımın geçerlilik süresi dolmuş.",
@@ -363,6 +368,8 @@ OC.L10N.register(
"List of unapproved shares." : "Kabul edilmemiş paylaşımların listesi.",
"No pending shares" : "Bekleyen paylaşım yok",
"Shares you have received but not approved will show up here" : "Aldığınız ancak henüz kabul etmediğiniz paylaşımlar burada görüntülenir",
+ "Error deleting the share: {errorMessage}" : "Paylaşım silinirken sorun çıktı: {errorMessage}",
+ "Error deleting the share" : "Paylaşım silinirken sorun çıktı",
"Error updating the share: {errorMessage}" : "Paylaşım güncellenirken sorun çıktı: {errorMessage}",
"Error updating the share" : "Paylaşım güncellenirken sorun çıktı",
"File \"{path}\" has been unshared" : "\"{path}\" dosyası paylaşımdan kaldırıldı",
@@ -375,8 +382,17 @@ OC.L10N.register(
"Share note for recipient saved" : "Alıcı için paylaşım notu kaydedildi",
"Share password saved" : "Paylaşım parolası kaydedildi",
"Share permissions saved" : "Paylaşım izinleri kaydedildi",
+ "To upload files to {folder}, you need to provide your name first." : "{folder} üzerine dosyalar yükleyebilmek için önce adınızı yazmalısınız.",
"Upload files to {folder}" : "Dosyaları {folder} klasörüne yükle",
+ "Please confirm your name to upload files to {folder}" : "Lütfen {folder} üzerinde dosyalar yükleyebilmek için adınızı doğrulayın",
"{ownerDisplayName} shared a folder with you." : "{ownerDisplayName} sizinle bir klasör paylaştı.",
+ "Names must not be empty." : "Ad boş olamaz.",
+ "Names must not start with a dot." : "Ad bir nokta ile başlayamaz.",
+ "\"{char}\" is not allowed inside a name." : "Bir ad içinde \"{char}\" karakteri kullanılamaz.",
+ "\"{segment}\" is a reserved name and not allowed." : "\"{segment}\" ayrılmış bir ad olduğundan kullanılamaz.",
+ "\"{extension}\" is not an allowed name." : "\"{extension}\" adı kullanılamaz.",
+ "Names must not end with \"{extension}\"." : "Adlar \"{extension}\" karakteri ile bitemez.",
+ "Invalid name." : "Ad geçersiz.",
"Shared by" : "Paylaşan",
"Shared with" : "Şunlarla paylaşılmış",
"Password created successfully" : "Parola oluşturuldu",
@@ -417,6 +433,7 @@ OC.L10N.register(
"Enter your name" : "Adınızı yazın",
"Submit name" : "Adı gönder",
"Name" : "Ad",
+ "Share with accounts, teams, federated cloud id" : "Hesaplar, takımlar ve birleşik bulut kimlikleri ile paylaşın",
"Email, federated cloud id" : "E-posta adresi, birleşik bulut kimliği",
"Filename must not be empty." : "Dosya adı boş olamaz."
},
diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json
index 97e130dda33..3a4f872c006 100644
--- a/apps/files_sharing/l10n/tr.json
+++ b/apps/files_sharing/l10n/tr.json
@@ -64,31 +64,31 @@
"Wrong path, file/folder does not exist" : "Yol yanlış. Dosya ya da klasör bulunamadı",
"Could not create share" : "Paylaşılamadı",
"Please specify a valid account to share with" : "Lütfen paylaşılacak geçerli bir hesap belirtin",
- "Group sharing is disabled by the administrator" : "Grup paylaşımı BT yöneticisi tarafından devre dışı bırakılmış",
+ "Group sharing is disabled by the administrator" : "Grup paylaşımı özelliği BT yöneticisi tarafından kapatılmış",
"Please specify a valid group" : "Lütfen geçerli bir grup belirtin",
- "Public link sharing is disabled by the administrator" : "Herkese açık bağlantı paylaşımı BT yöneticisi tarafından devre dışı bırakılmış",
+ "Public link sharing is disabled by the administrator" : "Herkese açık bağlantı paylaşımı özelliği BT yöneticisi tarafından kapatılmış",
"Please specify a valid email address" : "Lütfen geçerli bir e-posta adresi yazın",
- "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Talk etkin olmadığından, %s paylaşım parolası Nextcloud Talk uygulaması ile gönderilemedi",
+ "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Konuş uygulaması kullanıma alınmamış. %s paylaşım parolası Nextcloud Konuş uygulaması ile gönderilemedi",
"Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Yönetim bölümünden %2$s türündeki paylaşımlar yapılamadığından %1$s paylaşılamadı",
"Please specify a valid federated account ID" : "Lütfen geçerli bir birleşik hesap kimliği belirtin",
"Please specify a valid federated group ID" : "Lütfen geçerli bir birleşik grup kimliği belirtin",
- "You cannot share to a Team if the app is not enabled" : "Uygulama etkin değilse bir Takım ile paylaşamazsınız",
+ "You cannot share to a Team if the app is not enabled" : "Uygulama kullanıma alınmamışsa bir Takım ile paylaşamazsınız",
"Please specify a valid team" : "Lütfen geçerli bir takım belirtin",
- "Sharing %s failed because the back end does not support room shares" : "Arka uç oda paylaşımlarına izin vermediğinden %s paylaşılamadı",
- "Sharing %s failed because the back end does not support ScienceMesh shares" : "Arka uç ScienceMesh paylaşımlarına izin vermediğinden %s paylaşılamadı",
+ "Sharing %s failed because the back end does not support room shares" : "Arka yüz oda paylaşımlarına izin vermediğinden %s paylaşılamadı",
+ "Sharing %s failed because the back end does not support ScienceMesh shares" : "Arka yüz ScienceMesh paylaşımlarına izin vermediğinden %s paylaşılamadı",
"Unknown share type" : "Paylaşım türü bilinmiyor",
"Not a directory" : "Bir klasör değil",
"Could not lock node" : "Düğüm kilitlenemedi",
"Public upload is only possible for publicly shared folders" : "Herkese açık yükleme ancak herkese açık paylaşılmış klasörlere yapılabilir",
"Share must at least have READ or CREATE permissions" : "Paylaşım için en az OKUMA ve OLUŞTURMA izinleri olmalıdır",
"Share must have READ permission if UPDATE or DELETE permission is set" : "UPDATE ya da DELETE izinleri verilmiş ise paylaşıma READ izni verilmelidir",
- "Public upload disabled by the administrator" : "Herkese açık yükleme BT yöneticisi tarafından devre dışı bırakılmış",
+ "Public upload disabled by the administrator" : "Herkese açık yükleme özelliği BT yöneticisi tarafından kapatılmış",
"Could not lock path" : "Yol kilitlenemedi",
"no sharing rights on this item" : "bu ögenin herhangi bir paylaşım izni yok",
"You are not allowed to edit incoming shares" : "Gelen paylaşımları düzenleme izniniz yok",
"Wrong or no update parameter given" : "Parametre yanlış ya da herhangi bir parametre belirtilmemiş",
- "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Nextcloud Talk etkin olmadığından, paylaşım parolası Nextcloud Talk uygulaması ile gönderilemedi.",
- "Custom share link tokens have been disabled by the administrator" : "Özel bağlantı paylaşımı kodları yöneticiniz tarafından devre dışı bırakılmış",
+ "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Nextcloud Konuş uygulaması kullanıma alınmamış. Paylaşım parolası Nextcloud Konuş uygulaması ile gönderilemedi.",
+ "Custom share link tokens have been disabled by the administrator" : "Özel bağlantı paylaşımı kodları yöneticiniz tarafından kapatılmış",
"Tokens must contain at least 1 character and may only contain letters, numbers, or a hyphen" : "Kodlar en az 1 karakter uzunluğunda olmalı ve yalnızca harf, sayı veya tire karakterlerini içermelidir",
"Invalid date. Format must be YYYY-MM-DD" : "Tarih geçersiz. Tarih biçimi YYYY-AA-GG olmalıdır",
"No sharing rights on this item" : "Bu ögenin herhangi bir paylaşım izni yok",
@@ -103,7 +103,7 @@
"Download" : "İndir",
"Add to your %s" : "%s uygulamanıza ekleyin",
"Direct link" : "Doğrudan bağlantı",
- "Share API is disabled" : "Paylaşım API arayüzü devre dışı bırakılmış",
+ "Share API is disabled" : "Paylaşım API arayüzü kapatılmış",
"File sharing" : "Dosya paylaşımı",
"Share will expire tomorrow" : "Paylaşımın geçerlilik süresi yarın dolacak",
"Your share of {node} will expire tomorrow" : "{node} paylaşımınızın geçerlilik süresi yarın dolacak",
@@ -114,7 +114,7 @@
"Remember to upload the files to %s" : "Dosyaları %s üzerine yüklemeyi unutmayın",
"We would like to kindly remind you that you have not yet uploaded any files to the shared folder." : "Paylaşılan klasöre henüz herhangi bir dosya yüklemediğinizi hatırlatmak isteriz.",
"Open \"%s\"" : "\"%s\" aç",
- "This application enables people to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable people can then share files and folders with other accounts and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other people outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Bu uygulama kişilerin Nextcloud üzerinde dosya paylaşabilmesini sağlar. Etkinleştirildiğinde, yöneticiler dosya paylaşabilecek grupları belirleyebilir. Seçilmiş gruplardaki kişiler Nextcloud üzerindeki diğer kişi ve gruplar ile dosya ve klasör paylaşabilir. Ek olarak, yönetici bağlantı paylaşımı özelliğini etkinleştirmiş ise, Nextcloud üzerinde olmayan kişiler ile dosya paylaşımı bağlantıları kullanılabilir. Yöneticiler ayrıca parola ve geçerlilik sonu tarihi kullanılmasını zorunlu kılmanın yanında, paylaşım bağlantıları ile sunucudan sunucuya paylaşım ve mobil aygıtlar ile paylaşım gibi özellikleri etkinleştirebilir.\nBu özellik devre dışı bırakıldığında, sunucu, eşitleme istemcileri ve mobil uygulamalar üzerinden alıcılar ile paylaşılmış dosya ve klasörler kaldırılır. Ayrıntılı bilgi almak için Nextcloud belgelerine bakabilirsiniz.",
+ "This application enables people to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable people can then share files and folders with other accounts and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other people outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Bu uygulama kişilerin Nextcloud üzerinde dosya paylaşabilmesini sağlar. Kullanıma alındığında, yöneticiler dosya paylaşabilecek grupları belirleyebilir. Seçilmiş gruplardaki kişiler Nextcloud üzerindeki diğer kişi ve gruplar ile dosya ve klasör paylaşabilir. Ek olarak, yönetici bağlantı paylaşımı özelliğini açmış ise, Nextcloud üzerinde olmayan kişiler ile dosya paylaşımı bağlantıları kullanılabilir. Yöneticiler ayrıca parola ve geçerlilik sonu tarihi kullanılmasını zorunlu kılmanın yanında, paylaşım bağlantıları ile sunucudan sunucuya paylaşım ve mobil aygıtlar ile paylaşım gibi özellikleri açabilir.\nBu özellik kapatıldığında, sunucu, eşitleme istemcileri ve mobil uygulamalar üzerinden alıcılar ile paylaşılmış dosya ve klasörler kaldırılır. Ayrıntılı bilgi almak için Nextcloud belgelerine bakabilirsiniz.",
"People" : "Kişiler",
"Filter accounts" : "Hesapları süz",
"The request will expire on {date} at midnight and will be password protected." : "İstek {date} gece yarısı geçersiz olacak ve parola ile korunacak.",
@@ -124,7 +124,7 @@
"Set a submission expiration date" : "Gönderim geçerlilik sonu tarihini ayarlayın",
"Expiration date" : "Geçerlilik sonu tarihi",
"Select a date" : "Bir tarih seçin",
- "Your administrator has enforced a {count} days expiration policy." : "Yöneticiniz geçerlilik sonu ilkesini {count} gün olarak belirlemiş.",
+ "Your administrator has enforced a {count} days expiration policy." : "Yöneticiniz geçerlilik sonu ilkesini {count} gün olarak zorunlu kılmış.",
"What password should be used for the request?" : "İstek için kullanılacak parola nedir?",
"Set a password" : "Bir parola ayarlayın",
"Password" : "Parola",
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Onaylanmış paylaşımların varsayılan klasörünü ayarlayın",
"Reset" : "Sıfırla",
"Reset folder to system default" : "Sistem varsayılan klasörüne sıfırlar",
+ "Share expiration: {date}" : "Paylaşım geçerlilik sonu: {date}",
"Share Expiration" : "Paylaşım geçerlilik sonu",
"group" : "grup",
"conversation" : "görüşme",
@@ -217,16 +218,16 @@
"Link share created" : "Paylaşım bağlantısı oluşturuldu",
"Error while creating the share" : "Paylaşım oluşturulurken sorun çıktı",
"Please enter the following required information before creating the share" : "Lütfen paylaşımı oluşturmadan önce aşağıdaki zorunlu bilgileri yazın",
- "Password protection (enforced)" : "Parola koruması (dayatılmış)",
+ "Password protection (enforced)" : "Parola koruması (zorunlu kılınmış)",
"Password protection" : "Parola koruması",
"Enter a password" : "Bir parola yazın",
- "Enable link expiration (enforced)" : "Bağlantıya geçerlilik sonu ekle (dayatılan)",
+ "Enable link expiration (enforced)" : "Bağlantıya geçerlilik sonu ekle (zorunlu kılınmış)",
"Enable link expiration" : "Bağlantı geçerlilik sonu kullanılsın",
- "Enter expiration date (enforced)" : "Geçerlilik sonu tarihini yazın (dayatılan)",
+ "Enter expiration date (enforced)" : "Geçerlilik sonu tarihini yazın (zorunlu kılınmış)",
"Enter expiration date" : "Geçerlilik sonu tarihini yazın",
"Create share" : "Paylaşım ekle",
"Customize link" : "Bağlantıyı özelleştir",
- "Generate QR code" : "QR kodu oluştur",
+ "Generate QR code" : "Kare kod oluştur",
"Add another link" : "Başka bir bağlantı ekle",
"Create a new share link" : "Yeni bir paylaşım bağlantısı ekle",
"Quick share options, the current selected is \"{selectedOption}\"" : "Hızlı paylaşım seçenekleri, geçerli seçim \"{selectedOption}\"",
@@ -243,7 +244,7 @@
"Group" : "Grup",
"Email" : "E-posta",
"Team" : "Takım",
- "Talk conversation" : "Talk görüşmesi",
+ "Talk conversation" : "Konuş görüşmesi",
"Deck board" : "Tahta panosu",
"ScienceMesh" : "ScienceMesh",
"on {server}" : "{server} üzerinde",
@@ -254,6 +255,7 @@
"File drop" : "Dosya bırakma",
"Upload files to {foldername}." : "Dosyaları {foldername} klasörüne yükle.",
"By uploading files, you agree to the terms of service." : "Dosya yükleyerek hizmet koşullarını kabul etmiş olursunuz.",
+ "Successfully uploaded files" : "Dosyalar yüklendi",
"View terms of service" : "Hizmet koşullarını görüntüle",
"Terms of service" : "Hizmet koşulları",
"Share with {userName}" : "{userName} ile paylaş",
@@ -286,7 +288,7 @@
"Password expires {passwordExpirationTime}" : "Parolanın geçerlilik süresi sonu {passwordExpirationTime}",
"Password expired" : "Parolanın geçerlilik süresi dolmuş",
"Video verification" : "Görüntü doğrulaması",
- "Expiration date (enforced)" : "Geçerlilik sonu tarihi (dayatılmış)",
+ "Expiration date (enforced)" : "Geçerlilik sonu tarihi (zorunlu kılınmış)",
"Set expiration date" : "Geçerlilik sonu tarihini ayarla",
"Hide download" : "İndirme gizlensin",
"Allow download and sync" : "İndirmeye izin ver ve eşitle",
@@ -304,7 +306,10 @@
"Use this method to share files with individuals or teams within your organization. If the recipient already has access to the share but cannot locate it, you can send them the internal share link for easy access." : "Bu yöntemi, dosyaları kuruluşunuzdaki kişilerle veya takımlarla paylaşmak için kullanın. Alıcının paylaşıma zaten erişimi varsa ancak bulamıyorlarsa, kolay erişmeleri için iç paylaşım bağlantısını gönderebilirsiniz.",
"Use this method to share files with individuals or organizations outside your organization. Files and folders can be shared via public share links and email addresses. You can also share to other Nextcloud accounts hosted on different instances using their federated cloud ID." : "Bu yöntemi, dosyaları kuruluşunuzun dışındaki kişilerle veya kuruluşlarla paylaşmak için kullanın. Dosyalar ve klasörler herkese açık paylaşım bağlantıları ve e-posta adresleri ile paylaşılabilir. Ayrıca, birleşik bulut kimliklerini kullanarak farklı kopyalarda barındırılan diğer Nextcloud hesaplarıyla da paylaşım yapabilirsiniz.",
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "İç veya dış paylaşımların parçası olmayan paylaşımlar. Bunlar uygulamalardan veya diğer kaynaklardan gelen paylaşımlar olabilir.",
+ "Share with accounts, teams, federated cloud IDs" : "Hesaplar, takımlar ve birleşik bulut kimlikleri ile paylaşın",
"Share with accounts and teams" : "Hesaplar ve takımlarla paylaşın",
+ "Federated cloud ID" : "Birleşik bulut kimliği",
+ "Email, federated cloud ID" : "E-posta adresi, birleşik bulut kimliği",
"Unable to load the shares list" : "Paylaşımlar listesi yüklenemedi",
"Expires {relativetime}" : "Geçerlilik süresi sonu {relativetime}",
"this share just expired." : "bu paylaşımın geçerlilik süresi dolmuş.",
@@ -361,6 +366,8 @@
"List of unapproved shares." : "Kabul edilmemiş paylaşımların listesi.",
"No pending shares" : "Bekleyen paylaşım yok",
"Shares you have received but not approved will show up here" : "Aldığınız ancak henüz kabul etmediğiniz paylaşımlar burada görüntülenir",
+ "Error deleting the share: {errorMessage}" : "Paylaşım silinirken sorun çıktı: {errorMessage}",
+ "Error deleting the share" : "Paylaşım silinirken sorun çıktı",
"Error updating the share: {errorMessage}" : "Paylaşım güncellenirken sorun çıktı: {errorMessage}",
"Error updating the share" : "Paylaşım güncellenirken sorun çıktı",
"File \"{path}\" has been unshared" : "\"{path}\" dosyası paylaşımdan kaldırıldı",
@@ -373,8 +380,17 @@
"Share note for recipient saved" : "Alıcı için paylaşım notu kaydedildi",
"Share password saved" : "Paylaşım parolası kaydedildi",
"Share permissions saved" : "Paylaşım izinleri kaydedildi",
+ "To upload files to {folder}, you need to provide your name first." : "{folder} üzerine dosyalar yükleyebilmek için önce adınızı yazmalısınız.",
"Upload files to {folder}" : "Dosyaları {folder} klasörüne yükle",
+ "Please confirm your name to upload files to {folder}" : "Lütfen {folder} üzerinde dosyalar yükleyebilmek için adınızı doğrulayın",
"{ownerDisplayName} shared a folder with you." : "{ownerDisplayName} sizinle bir klasör paylaştı.",
+ "Names must not be empty." : "Ad boş olamaz.",
+ "Names must not start with a dot." : "Ad bir nokta ile başlayamaz.",
+ "\"{char}\" is not allowed inside a name." : "Bir ad içinde \"{char}\" karakteri kullanılamaz.",
+ "\"{segment}\" is a reserved name and not allowed." : "\"{segment}\" ayrılmış bir ad olduğundan kullanılamaz.",
+ "\"{extension}\" is not an allowed name." : "\"{extension}\" adı kullanılamaz.",
+ "Names must not end with \"{extension}\"." : "Adlar \"{extension}\" karakteri ile bitemez.",
+ "Invalid name." : "Ad geçersiz.",
"Shared by" : "Paylaşan",
"Shared with" : "Şunlarla paylaşılmış",
"Password created successfully" : "Parola oluşturuldu",
@@ -415,6 +431,7 @@
"Enter your name" : "Adınızı yazın",
"Submit name" : "Adı gönder",
"Name" : "Ad",
+ "Share with accounts, teams, federated cloud id" : "Hesaplar, takımlar ve birleşik bulut kimlikleri ile paylaşın",
"Email, federated cloud id" : "E-posta adresi, birleşik bulut kimliği",
"Filename must not be empty." : "Dosya adı boş olamaz."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
diff --git a/apps/files_sharing/l10n/ur_PK.js b/apps/files_sharing/l10n/ur_PK.js
deleted file mode 100644
index 2e9b145d789..00000000000
--- a/apps/files_sharing/l10n/ur_PK.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "files_sharing",
- {
- "Cancel" : "منسوخ کریں",
- "Shared by" : "سے اشتراک شدہ",
- "Password" : "پاسورڈ",
- "Name" : "اسم",
- "Download" : "ڈاؤن لوڈ،"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/ur_PK.json b/apps/files_sharing/l10n/ur_PK.json
deleted file mode 100644
index b0ac6d244b8..00000000000
--- a/apps/files_sharing/l10n/ur_PK.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Cancel" : "منسوخ کریں",
- "Shared by" : "سے اشتراک شدہ",
- "Password" : "پاسورڈ",
- "Name" : "اسم",
- "Download" : "ڈاؤن لوڈ،"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/zh_CN.js b/apps/files_sharing/l10n/zh_CN.js
index ed60a2b149f..c1cff4dc3d0 100644
--- a/apps/files_sharing/l10n/zh_CN.js
+++ b/apps/files_sharing/l10n/zh_CN.js
@@ -368,6 +368,7 @@ OC.L10N.register(
"List of unapproved shares." : "未批准的分享列表",
"No pending shares" : "没有待定共享",
"Shares you have received but not approved will show up here" : "您已收到但未批准的分享将显示在这里",
+ "Error deleting the share" : "删除分享时出错",
"Error updating the share: {errorMessage}" : "更新共享失败:{errorMessage}",
"Error updating the share" : "更新共享时出错",
"File \"{path}\" has been unshared" : "文件“{path}”已取消共享",
diff --git a/apps/files_sharing/l10n/zh_CN.json b/apps/files_sharing/l10n/zh_CN.json
index 2c2272aa956..226fb4b4abb 100644
--- a/apps/files_sharing/l10n/zh_CN.json
+++ b/apps/files_sharing/l10n/zh_CN.json
@@ -366,6 +366,7 @@
"List of unapproved shares." : "未批准的分享列表",
"No pending shares" : "没有待定共享",
"Shares you have received but not approved will show up here" : "您已收到但未批准的分享将显示在这里",
+ "Error deleting the share" : "删除分享时出错",
"Error updating the share: {errorMessage}" : "更新共享失败:{errorMessage}",
"Error updating the share" : "更新共享时出错",
"File \"{path}\" has been unshared" : "文件“{path}”已取消共享",
diff --git a/apps/files_sharing/src/views/SharingDetailsTab.vue b/apps/files_sharing/src/views/SharingDetailsTab.vue
index 8912ff340b7..f1fb78e548b 100644
--- a/apps/files_sharing/src/views/SharingDetailsTab.vue
+++ b/apps/files_sharing/src/views/SharingDetailsTab.vue
@@ -226,19 +226,6 @@
{{ t('files_sharing', 'Delete') }}
</NcCheckboxRadioSwitch>
</section>
- <div class="sharingTabDetailsView__delete">
- <NcButton v-if="!isNewShare"
- :aria-label="t('files_sharing', 'Delete share')"
- :disabled="false"
- :readonly="false"
- type="tertiary"
- @click.prevent="removeShare">
- <template #icon>
- <CloseIcon :size="16" />
- </template>
- {{ t('files_sharing', 'Delete share') }}
- </NcButton>
- </div>
</section>
</div>
</div>
@@ -249,6 +236,19 @@
@click="cancel">
{{ t('files_sharing', 'Cancel') }}
</NcButton>
+ <div class="sharingTabDetailsView__delete">
+ <NcButton v-if="!isNewShare"
+ :aria-label="t('files_sharing', 'Delete share')"
+ :disabled="false"
+ :readonly="false"
+ variant="tertiary"
+ @click.prevent="removeShare">
+ <template #icon>
+ <CloseIcon :size="20" />
+ </template>
+ {{ t('files_sharing', 'Delete share') }}
+ </NcButton>
+ </div>
<NcButton type="primary"
data-cy-files-sharing-share-editor-action="save"
:disabled="creating"
diff --git a/apps/files_trashbin/l10n/af.js b/apps/files_trashbin/l10n/af.js
deleted file mode 100644
index dbc81dd6dcf..00000000000
--- a/apps/files_trashbin/l10n/af.js
+++ /dev/null
@@ -1,15 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "herstel",
- "Deleted files" : "Geskrapte lêers",
- "Restore" : "Herstel",
- "No deleted files" : "Geen geskrapte lêers",
- "Deleted" : "Geskrap",
- "You will be able to recover deleted files from here" : "U sal geskrapte lêers van hier kan herstel",
- "No entries found in this folder" : "Geen inskrwyings in hierdie vouer gevind",
- "Select all" : "Kies alle",
- "Name" : "Naam",
- "Actions" : "Aksies"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/af.json b/apps/files_trashbin/l10n/af.json
deleted file mode 100644
index 04a7f433920..00000000000
--- a/apps/files_trashbin/l10n/af.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{ "translations": {
- "restored" : "herstel",
- "Deleted files" : "Geskrapte lêers",
- "Restore" : "Herstel",
- "No deleted files" : "Geen geskrapte lêers",
- "Deleted" : "Geskrap",
- "You will be able to recover deleted files from here" : "U sal geskrapte lêers van hier kan herstel",
- "No entries found in this folder" : "Geen inskrwyings in hierdie vouer gevind",
- "Select all" : "Kies alle",
- "Name" : "Naam",
- "Actions" : "Aksies"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/az.js b/apps/files_trashbin/l10n/az.js
deleted file mode 100644
index c1ef01c8d15..00000000000
--- a/apps/files_trashbin/l10n/az.js
+++ /dev/null
@@ -1,16 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "geriqaytarılıb",
- "Deleted files" : "Silinmiş fayllar",
- "Restore" : "Geri qaytar",
- "All files" : "Bütün fayllar",
- "No deleted files" : "Silinmiş fayllar mövcud deyil",
- "Deleted" : "Silinib",
- "You will be able to recover deleted files from here" : "Siz silinmiş faylları burdan bərpa edə bilərsiniz",
- "No entries found in this folder" : "Bu qovluqda heç bir verilən tapılmadı",
- "Select all" : "Hamısıı seç",
- "Name" : "Ad",
- "Actions" : "İşlər"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/az.json b/apps/files_trashbin/l10n/az.json
deleted file mode 100644
index f0bbd3e8fe8..00000000000
--- a/apps/files_trashbin/l10n/az.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{ "translations": {
- "restored" : "geriqaytarılıb",
- "Deleted files" : "Silinmiş fayllar",
- "Restore" : "Geri qaytar",
- "All files" : "Bütün fayllar",
- "No deleted files" : "Silinmiş fayllar mövcud deyil",
- "Deleted" : "Silinib",
- "You will be able to recover deleted files from here" : "Siz silinmiş faylları burdan bərpa edə bilərsiniz",
- "No entries found in this folder" : "Bu qovluqda heç bir verilən tapılmadı",
- "Select all" : "Hamısıı seç",
- "Name" : "Ad",
- "Actions" : "İşlər"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/be.js b/apps/files_trashbin/l10n/be.js
deleted file mode 100644
index c72c72bbe91..00000000000
--- a/apps/files_trashbin/l10n/be.js
+++ /dev/null
@@ -1,6 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "Error" : "Памылка"
-},
-"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/files_trashbin/l10n/be.json b/apps/files_trashbin/l10n/be.json
deleted file mode 100644
index a2514254e13..00000000000
--- a/apps/files_trashbin/l10n/be.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "translations": {
- "Error" : "Памылка"
-},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/bg.js b/apps/files_trashbin/l10n/bg.js
deleted file mode 100644
index 4e831810813..00000000000
--- a/apps/files_trashbin/l10n/bg.js
+++ /dev/null
@@ -1,22 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "възстановено",
- "Deleted files" : "Изтрити файлове",
- "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Изтрити файлове и папки в кошчето (може да изтекът по време на експортиране, ако нямате място във вашето хранилище)",
- "Restore" : "Възстановяне",
- "Unknown" : "Неизвестен",
- "All files" : "Всички файлове",
- "Deleted" : "Изтрито",
- "Cancel" : "Отказ",
- "List of files that have been deleted." : "Списък на файловете, които са били изтрити.",
- "No deleted files" : "Няма изтрити файлове",
- "This application enables users to restore files that were deleted from the system." : "Това приложение позволява на потребителите да възстановяват файлове, които са изтрити от системата.",
- "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Това приложение позволява на потребителите да възстановяват файлове, които са изтрити от системата. Той показва списък с изтрити файлове в уеб интерфейса и има опции за възстановяване на тези изтрити файлове обратно в потребителските файлови директории или за постоянно премахване от системата. Възстановяването на файл също възстановява свързаните версии на файла, ако приложението за версии е активирано. Когато даден файл бъде изтрит от споделяне, той може да бъде възстановен по същия начин, макар че вече не е споделен. По подразбиране тези файлове остават в кошчето за 30 дни.\nЗа да предотврати изчерпването на дисково пространство на потребителя, приложението „Изтрити файлове“ няма да използва повече от 50% от наличната в момента безплатна квота за изтрити файлове. Ако изтритите файлове надхвърлят това ограничение, приложението изтрива най-старите файлове, докато стигне под това ограничение. Повече информация можете да намерите в документацията за изтритите файлове.",
- "You will be able to recover deleted files from here" : "От тук можете да възстановите изтрити файлове",
- "No entries found in this folder" : "Няма намерени записи в тази папка",
- "Select all" : "Избери всички",
- "Name" : "Име",
- "Actions" : "Действия"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/bg.json b/apps/files_trashbin/l10n/bg.json
deleted file mode 100644
index 3b80e6d9347..00000000000
--- a/apps/files_trashbin/l10n/bg.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{ "translations": {
- "restored" : "възстановено",
- "Deleted files" : "Изтрити файлове",
- "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Изтрити файлове и папки в кошчето (може да изтекът по време на експортиране, ако нямате място във вашето хранилище)",
- "Restore" : "Възстановяне",
- "Unknown" : "Неизвестен",
- "All files" : "Всички файлове",
- "Deleted" : "Изтрито",
- "Cancel" : "Отказ",
- "List of files that have been deleted." : "Списък на файловете, които са били изтрити.",
- "No deleted files" : "Няма изтрити файлове",
- "This application enables users to restore files that were deleted from the system." : "Това приложение позволява на потребителите да възстановяват файлове, които са изтрити от системата.",
- "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Това приложение позволява на потребителите да възстановяват файлове, които са изтрити от системата. Той показва списък с изтрити файлове в уеб интерфейса и има опции за възстановяване на тези изтрити файлове обратно в потребителските файлови директории или за постоянно премахване от системата. Възстановяването на файл също възстановява свързаните версии на файла, ако приложението за версии е активирано. Когато даден файл бъде изтрит от споделяне, той може да бъде възстановен по същия начин, макар че вече не е споделен. По подразбиране тези файлове остават в кошчето за 30 дни.\nЗа да предотврати изчерпването на дисково пространство на потребителя, приложението „Изтрити файлове“ няма да използва повече от 50% от наличната в момента безплатна квота за изтрити файлове. Ако изтритите файлове надхвърлят това ограничение, приложението изтрива най-старите файлове, докато стигне под това ограничение. Повече информация можете да намерите в документацията за изтритите файлове.",
- "You will be able to recover deleted files from here" : "От тук можете да възстановите изтрити файлове",
- "No entries found in this folder" : "Няма намерени записи в тази папка",
- "Select all" : "Избери всички",
- "Name" : "Име",
- "Actions" : "Действия"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/bn_BD.js b/apps/files_trashbin/l10n/bn_BD.js
deleted file mode 100644
index 12537a14afb..00000000000
--- a/apps/files_trashbin/l10n/bn_BD.js
+++ /dev/null
@@ -1,14 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "Couldn't delete %s permanently" : "%s স্থায়ীভাবে মুছে ফেলা গেলনা",
- "Couldn't restore %s" : "%s ফেরত আনা গেলনা",
- "Deleted files" : "মুছে ফেলা ফাইলসমূহ",
- "Restore" : "ফিরিয়ে দাও",
- "Delete" : "মুছে",
- "Error" : "সমস্যা",
- "restored" : "পূণঃসংরক্ষিত",
- "Name" : "নাম",
- "Deleted" : "মুছে ফেলা"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/bn_BD.json b/apps/files_trashbin/l10n/bn_BD.json
deleted file mode 100644
index 3630d490455..00000000000
--- a/apps/files_trashbin/l10n/bn_BD.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{ "translations": {
- "Couldn't delete %s permanently" : "%s স্থায়ীভাবে মুছে ফেলা গেলনা",
- "Couldn't restore %s" : "%s ফেরত আনা গেলনা",
- "Deleted files" : "মুছে ফেলা ফাইলসমূহ",
- "Restore" : "ফিরিয়ে দাও",
- "Delete" : "মুছে",
- "Error" : "সমস্যা",
- "restored" : "পূণঃসংরক্ষিত",
- "Name" : "নাম",
- "Deleted" : "মুছে ফেলা"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/br.js b/apps/files_trashbin/l10n/br.js
deleted file mode 100644
index 184d6597585..00000000000
--- a/apps/files_trashbin/l10n/br.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "adkrouet",
- "Deleted files" : "Restroù diverket",
- "Restore" : "Adkrouiñ",
- "Unknown" : "Dianv",
- "All files" : "An holl restroù",
- "Deleted" : "Lamet",
- "Cancel" : "Nullañ",
- "No deleted files" : "Restr lemet ebet",
- "This application enables users to restore files that were deleted from the system." : "Ar meziant-mañ a aotre an implijourienn da adtapout ho restroù a oa bet lamet eus ar sistem.",
- "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ar meziant-mañ a aotre an implijourienn da adkroui ar restroù a zo bet lamet eus ar sistem. Lak a ra da gwelet ur roll restroù lamet en etrefas web, ha dibaboù adkrouiñ ar restroù lamet en teuliadoù an implijer pe lemel anezho da viken eus ar sistem. Adkrouiñ ar restr a adkrou ivez pep stumm restr liammet, ma ez eus eus ar stumm meziant. Pa e vez lamet ur restr eus ur rannadenn, posupl eo adkrouién anezhañ gant memes doare, mes n'eo ket rannet kenn. dre ziouer, chom a ra ar restroù e pad 30 deiz.\nEvit ampechiñ un implijer da gol plas, ar meziant restroù Lamet n'a implijo nemet 50% eus ar lec'h dieub evit ar restrom lamet. Ma vez tremenet ar vevenn gant ar restroù lamet, lamet e vo ar restroù kozhañ betek ma vint en dro dindan ar vevenn. Muioc'h a ditouroù en dielvadur Restroù Lamet.",
- "You will be able to recover deleted files from here" : "Posupl a vo deoc'h adtapout restroù lamet diouzh al lec'h mañ",
- "No entries found in this folder" : "Disoc'h ebet en teuliad-mañ",
- "Select all" : "Dibab pep tra",
- "Name" : "Anv",
- "Actions" : "Oberoù"
-},
-"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);");
diff --git a/apps/files_trashbin/l10n/br.json b/apps/files_trashbin/l10n/br.json
deleted file mode 100644
index cb9b8384574..00000000000
--- a/apps/files_trashbin/l10n/br.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "restored" : "adkrouet",
- "Deleted files" : "Restroù diverket",
- "Restore" : "Adkrouiñ",
- "Unknown" : "Dianv",
- "All files" : "An holl restroù",
- "Deleted" : "Lamet",
- "Cancel" : "Nullañ",
- "No deleted files" : "Restr lemet ebet",
- "This application enables users to restore files that were deleted from the system." : "Ar meziant-mañ a aotre an implijourienn da adtapout ho restroù a oa bet lamet eus ar sistem.",
- "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ar meziant-mañ a aotre an implijourienn da adkroui ar restroù a zo bet lamet eus ar sistem. Lak a ra da gwelet ur roll restroù lamet en etrefas web, ha dibaboù adkrouiñ ar restroù lamet en teuliadoù an implijer pe lemel anezho da viken eus ar sistem. Adkrouiñ ar restr a adkrou ivez pep stumm restr liammet, ma ez eus eus ar stumm meziant. Pa e vez lamet ur restr eus ur rannadenn, posupl eo adkrouién anezhañ gant memes doare, mes n'eo ket rannet kenn. dre ziouer, chom a ra ar restroù e pad 30 deiz.\nEvit ampechiñ un implijer da gol plas, ar meziant restroù Lamet n'a implijo nemet 50% eus ar lec'h dieub evit ar restrom lamet. Ma vez tremenet ar vevenn gant ar restroù lamet, lamet e vo ar restroù kozhañ betek ma vint en dro dindan ar vevenn. Muioc'h a ditouroù en dielvadur Restroù Lamet.",
- "You will be able to recover deleted files from here" : "Posupl a vo deoc'h adtapout restroù lamet diouzh al lec'h mañ",
- "No entries found in this folder" : "Disoc'h ebet en teuliad-mañ",
- "Select all" : "Dibab pep tra",
- "Name" : "Anv",
- "Actions" : "Oberoù"
-},"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/bs.js b/apps/files_trashbin/l10n/bs.js
deleted file mode 100644
index c02d88b07e4..00000000000
--- a/apps/files_trashbin/l10n/bs.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "Restore" : "Obnovi",
- "Delete" : "Izbriši",
- "Error" : "Greška",
- "Select all" : "Označi sve",
- "Name" : "Ime"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files_trashbin/l10n/bs.json b/apps/files_trashbin/l10n/bs.json
deleted file mode 100644
index 00f1105abc6..00000000000
--- a/apps/files_trashbin/l10n/bs.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Restore" : "Obnovi",
- "Delete" : "Izbriši",
- "Error" : "Greška",
- "Select all" : "Označi sve",
- "Name" : "Ime"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/cs.js b/apps/files_trashbin/l10n/cs.js
index 383b3658ebf..1c551eeb576 100644
--- a/apps/files_trashbin/l10n/cs.js
+++ b/apps/files_trashbin/l10n/cs.js
@@ -23,6 +23,8 @@ OC.L10N.register(
"You" : "Vy",
"List of files that have been deleted." : "Seznam souborů, které byly smazány",
"No deleted files" : "Žádné smazané soubory",
- "Files and folders you have deleted will show up here" : "Zde budou zobrazeny soubory a složky, které jste smazali"
+ "Files and folders you have deleted will show up here" : "Zde budou zobrazeny soubory a složky, které jste smazali",
+ "All files have been permanently deleted" : "Veškeré soubory byly nevratně smazány",
+ "Failed to empty deleted files" : "Nepodařilo se vyprázdnit smazané soubory"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
diff --git a/apps/files_trashbin/l10n/cs.json b/apps/files_trashbin/l10n/cs.json
index 8023981f1c4..af9702b3dbb 100644
--- a/apps/files_trashbin/l10n/cs.json
+++ b/apps/files_trashbin/l10n/cs.json
@@ -21,6 +21,8 @@
"You" : "Vy",
"List of files that have been deleted." : "Seznam souborů, které byly smazány",
"No deleted files" : "Žádné smazané soubory",
- "Files and folders you have deleted will show up here" : "Zde budou zobrazeny soubory a složky, které jste smazali"
+ "Files and folders you have deleted will show up here" : "Zde budou zobrazeny soubory a složky, které jste smazali",
+ "All files have been permanently deleted" : "Veškeré soubory byly nevratně smazány",
+ "Failed to empty deleted files" : "Nepodařilo se vyprázdnit smazané soubory"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/cy_GB.js b/apps/files_trashbin/l10n/cy_GB.js
deleted file mode 100644
index e689aa9b52c..00000000000
--- a/apps/files_trashbin/l10n/cy_GB.js
+++ /dev/null
@@ -1,14 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "Couldn't delete %s permanently" : "Methwyd dileu %s yn barhaol",
- "Couldn't restore %s" : "Methwyd adfer %s",
- "Deleted files" : "Ffeiliau ddilewyd",
- "Restore" : "Adfer",
- "Delete" : "Dileu",
- "Delete permanently" : "Dileu'n barhaol",
- "Error" : "Gwall",
- "Name" : "Enw",
- "Deleted" : "Wedi dileu"
-},
-"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;");
diff --git a/apps/files_trashbin/l10n/cy_GB.json b/apps/files_trashbin/l10n/cy_GB.json
deleted file mode 100644
index c42ce3d10ea..00000000000
--- a/apps/files_trashbin/l10n/cy_GB.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{ "translations": {
- "Couldn't delete %s permanently" : "Methwyd dileu %s yn barhaol",
- "Couldn't restore %s" : "Methwyd adfer %s",
- "Deleted files" : "Ffeiliau ddilewyd",
- "Restore" : "Adfer",
- "Delete" : "Dileu",
- "Delete permanently" : "Dileu'n barhaol",
- "Error" : "Gwall",
- "Name" : "Enw",
- "Deleted" : "Wedi dileu"
-},"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/files_trashbin/l10n/de.js b/apps/files_trashbin/l10n/de.js
index 0c623ec6ad0..301e9f8b5ec 100644
--- a/apps/files_trashbin/l10n/de.js
+++ b/apps/files_trashbin/l10n/de.js
@@ -23,6 +23,8 @@ OC.L10N.register(
"You" : "Dir",
"List of files that have been deleted." : "Liste der gelöschten Dateien.",
"No deleted files" : "Keine gelöschten Dateien",
- "Files and folders you have deleted will show up here" : "Die von dir gelöschten Dateien und Ordner werden hier angezeigt"
+ "Files and folders you have deleted will show up here" : "Die von dir gelöschten Dateien und Ordner werden hier angezeigt",
+ "All files have been permanently deleted" : "Alle Dateien wurden dauerhaft gelöscht",
+ "Failed to empty deleted files" : "Gelöschte Dateien konnten nicht geleert werden"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/de.json b/apps/files_trashbin/l10n/de.json
index d68fd5e470b..3a0d2129645 100644
--- a/apps/files_trashbin/l10n/de.json
+++ b/apps/files_trashbin/l10n/de.json
@@ -21,6 +21,8 @@
"You" : "Dir",
"List of files that have been deleted." : "Liste der gelöschten Dateien.",
"No deleted files" : "Keine gelöschten Dateien",
- "Files and folders you have deleted will show up here" : "Die von dir gelöschten Dateien und Ordner werden hier angezeigt"
+ "Files and folders you have deleted will show up here" : "Die von dir gelöschten Dateien und Ordner werden hier angezeigt",
+ "All files have been permanently deleted" : "Alle Dateien wurden dauerhaft gelöscht",
+ "Failed to empty deleted files" : "Gelöschte Dateien konnten nicht geleert werden"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/de_DE.js b/apps/files_trashbin/l10n/de_DE.js
index 27b41dcea4d..58c9ebb01ff 100644
--- a/apps/files_trashbin/l10n/de_DE.js
+++ b/apps/files_trashbin/l10n/de_DE.js
@@ -23,6 +23,8 @@ OC.L10N.register(
"You" : "Ihnen",
"List of files that have been deleted." : "Liste der gelöschten Dateien.",
"No deleted files" : "Keine gelöschten Dateien",
- "Files and folders you have deleted will show up here" : "Die von Ihnen gelöschten Dateien und Ordner werden hier angezeigt"
+ "Files and folders you have deleted will show up here" : "Die von Ihnen gelöschten Dateien und Ordner werden hier angezeigt",
+ "All files have been permanently deleted" : "Alle Dateien wurden dauerhaft gelöscht",
+ "Failed to empty deleted files" : "Gelöschte Dateien konnten nicht geleert werden"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/de_DE.json b/apps/files_trashbin/l10n/de_DE.json
index c4f1ca5ea43..38a7037401b 100644
--- a/apps/files_trashbin/l10n/de_DE.json
+++ b/apps/files_trashbin/l10n/de_DE.json
@@ -21,6 +21,8 @@
"You" : "Ihnen",
"List of files that have been deleted." : "Liste der gelöschten Dateien.",
"No deleted files" : "Keine gelöschten Dateien",
- "Files and folders you have deleted will show up here" : "Die von Ihnen gelöschten Dateien und Ordner werden hier angezeigt"
+ "Files and folders you have deleted will show up here" : "Die von Ihnen gelöschten Dateien und Ordner werden hier angezeigt",
+ "All files have been permanently deleted" : "Alle Dateien wurden dauerhaft gelöscht",
+ "Failed to empty deleted files" : "Gelöschte Dateien konnten nicht geleert werden"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/el.js b/apps/files_trashbin/l10n/el.js
deleted file mode 100644
index 62a28fb2d6f..00000000000
--- a/apps/files_trashbin/l10n/el.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "επαναφέρθηκαν",
- "Deleted files" : "Διεγραμμένα αρχεία",
- "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Διαγραμμένα αρχεία και φάκελοι στον κάδο απορριμμάτων (μπορεί να λήξουν κατά την εξαγωγή, αν δεν έχετε αρκετό αποθηκευτικό χώρο)",
- "Restore" : "Επαναφορά",
- "Cancel" : "Ακύρωση",
- "Deletion cancelled" : "Διαγραφή ακυρώθηκε",
- "Deleted" : "Διαγραμμένα",
- "A long time ago" : "Πριν αρκετό καιρό",
- "Unknown" : "Άγνωστο",
- "All files" : "Όλα τα αρχεία",
- "You" : "Εσύ",
- "No deleted files" : "Κανένα διαγεγραμμένο αρχείο"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/el.json b/apps/files_trashbin/l10n/el.json
deleted file mode 100644
index 3a4f562b54b..00000000000
--- a/apps/files_trashbin/l10n/el.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "επαναφέρθηκαν",
- "Deleted files" : "Διεγραμμένα αρχεία",
- "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Διαγραμμένα αρχεία και φάκελοι στον κάδο απορριμμάτων (μπορεί να λήξουν κατά την εξαγωγή, αν δεν έχετε αρκετό αποθηκευτικό χώρο)",
- "Restore" : "Επαναφορά",
- "Cancel" : "Ακύρωση",
- "Deletion cancelled" : "Διαγραφή ακυρώθηκε",
- "Deleted" : "Διαγραμμένα",
- "A long time ago" : "Πριν αρκετό καιρό",
- "Unknown" : "Άγνωστο",
- "All files" : "Όλα τα αρχεία",
- "You" : "Εσύ",
- "No deleted files" : "Κανένα διαγεγραμμένο αρχείο"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/eo.js b/apps/files_trashbin/l10n/eo.js
deleted file mode 100644
index d55b2138349..00000000000
--- a/apps/files_trashbin/l10n/eo.js
+++ /dev/null
@@ -1,19 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaŭrita",
- "Deleted files" : "Forigitaj dosieroj",
- "Restore" : "Restaŭri",
- "Unknown" : "Nekonata",
- "All files" : "Ĉiuj dosieroj",
- "Deleted" : "Forigita",
- "No deleted files" : "Neniu dosiero foriĝis",
- "This application enables users to restore files that were deleted from the system." : "Per tiu aplikaĵo, uzanto povas restaŭri dosierojn, kiuj estis forigitaj el la sistemo.",
- "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Per tiu aplikaĵo, uzanto povas restaŭri dosierojn, kiuj estis forigitaj el la sistemo. Listo de forigitaj dosieroj montriĝas en la retumila fasado, kun opcio por restaŭri ilin aŭ definitive forigi ilin. Restaŭro de dosiero ankaŭ restaŭras ĉiujn versiojn de tiu dosiero, se la aplikaĵo „Versioj“ estas ŝaltita. Kiam dosiero estas forigita el kunhavo, ĝi restaŭreblas sammaniere, kvankam ĝi ne plu estas kunhavigita. Defaŭlte, la dosieroj restas en la rubujo 30 tagojn.\nPor antaŭmalhelpi al uzanto ne plu havi liberan spacon, tiu ĉi aplikaĵo ne uzos pli ol 50% el la aktuale disponebla libera kvoto por forigitaj dosieroj. Se la forigitaj dosieroj transpasas tiun limon, la aplikaĵo forigas la plej malnovajn dosierojn ĝis irado sub la limo. Pliajn informoj en la dokumentaro.",
- "You will be able to recover deleted files from here" : "Vi eblos restaŭrigi forigitaj dosieroj el tie",
- "No entries found in this folder" : "Neniu enigo troviĝis en ĉi tiu dosierujo",
- "Select all" : "Elekti ĉion",
- "Name" : "Nomo",
- "Actions" : "Agoj"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/eo.json b/apps/files_trashbin/l10n/eo.json
deleted file mode 100644
index cfddef34d75..00000000000
--- a/apps/files_trashbin/l10n/eo.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{ "translations": {
- "restored" : "restaŭrita",
- "Deleted files" : "Forigitaj dosieroj",
- "Restore" : "Restaŭri",
- "Unknown" : "Nekonata",
- "All files" : "Ĉiuj dosieroj",
- "Deleted" : "Forigita",
- "No deleted files" : "Neniu dosiero foriĝis",
- "This application enables users to restore files that were deleted from the system." : "Per tiu aplikaĵo, uzanto povas restaŭri dosierojn, kiuj estis forigitaj el la sistemo.",
- "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Per tiu aplikaĵo, uzanto povas restaŭri dosierojn, kiuj estis forigitaj el la sistemo. Listo de forigitaj dosieroj montriĝas en la retumila fasado, kun opcio por restaŭri ilin aŭ definitive forigi ilin. Restaŭro de dosiero ankaŭ restaŭras ĉiujn versiojn de tiu dosiero, se la aplikaĵo „Versioj“ estas ŝaltita. Kiam dosiero estas forigita el kunhavo, ĝi restaŭreblas sammaniere, kvankam ĝi ne plu estas kunhavigita. Defaŭlte, la dosieroj restas en la rubujo 30 tagojn.\nPor antaŭmalhelpi al uzanto ne plu havi liberan spacon, tiu ĉi aplikaĵo ne uzos pli ol 50% el la aktuale disponebla libera kvoto por forigitaj dosieroj. Se la forigitaj dosieroj transpasas tiun limon, la aplikaĵo forigas la plej malnovajn dosierojn ĝis irado sub la limo. Pliajn informoj en la dokumentaro.",
- "You will be able to recover deleted files from here" : "Vi eblos restaŭrigi forigitaj dosieroj el tie",
- "No entries found in this folder" : "Neniu enigo troviĝis en ĉi tiu dosierujo",
- "Select all" : "Elekti ĉion",
- "Name" : "Nomo",
- "Actions" : "Agoj"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_419.js b/apps/files_trashbin/l10n/es_419.js
deleted file mode 100644
index 10fabba195b..00000000000
--- a/apps/files_trashbin/l10n/es_419.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_419.json b/apps/files_trashbin/l10n/es_419.json
deleted file mode 100644
index fd3c7cd2a7e..00000000000
--- a/apps/files_trashbin/l10n/es_419.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_AR.js b/apps/files_trashbin/l10n/es_AR.js
deleted file mode 100644
index dbf5f78acc2..00000000000
--- a/apps/files_trashbin/l10n/es_AR.js
+++ /dev/null
@@ -1,19 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "recuperado",
- "Deleted files" : "Archivos eliminados",
- "Restore" : "Recuperar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Eliminado",
- "No deleted files" : "No hay archivos eliminados",
- "This application enables users to restore files that were deleted from the system." : "Esta aplicación permite a los usuarios restaurar archivos que fueron eliminados del sistema.",
- "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios restaurar archivos que fueron eliminados del sistema. Muestra una lista de los archivos eliminados en la interfaz web y tiene opciones para restaurar esos archivos eliminados a las carpetas del usuario o eliminarlos permanentemente del sistema. Restaurando un archivo también se restauran las versiones del archivo relacionadas, si la aplicación de versiones está habilitada. Cuando un archivo compartido es eliminado, éste puede ser restaurado de la misma manera, aunque ya no estará compartido. Por defecto, estos archivos permanecen en la papelera por 30 días.\nPara prevenir que un usuario se quede sin espacio en el disco, la aplicación de Archivos eliminados no utilizará mas del 50% de la cuota de espacio libre para archivos eliminados. Si los archivos eliminados exceden este límite, la aplicación elimina los archivos mas antiguos hasta permanecer debajo de ese límite. Más información está disponible en la documentación de Archivos Eliminados.",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos eliminados desde aquí",
- "No entries found in this folder" : "No se encontraron entradas en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_AR.json b/apps/files_trashbin/l10n/es_AR.json
deleted file mode 100644
index 99d7f0ae8b1..00000000000
--- a/apps/files_trashbin/l10n/es_AR.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{ "translations": {
- "restored" : "recuperado",
- "Deleted files" : "Archivos eliminados",
- "Restore" : "Recuperar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Eliminado",
- "No deleted files" : "No hay archivos eliminados",
- "This application enables users to restore files that were deleted from the system." : "Esta aplicación permite a los usuarios restaurar archivos que fueron eliminados del sistema.",
- "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios restaurar archivos que fueron eliminados del sistema. Muestra una lista de los archivos eliminados en la interfaz web y tiene opciones para restaurar esos archivos eliminados a las carpetas del usuario o eliminarlos permanentemente del sistema. Restaurando un archivo también se restauran las versiones del archivo relacionadas, si la aplicación de versiones está habilitada. Cuando un archivo compartido es eliminado, éste puede ser restaurado de la misma manera, aunque ya no estará compartido. Por defecto, estos archivos permanecen en la papelera por 30 días.\nPara prevenir que un usuario se quede sin espacio en el disco, la aplicación de Archivos eliminados no utilizará mas del 50% de la cuota de espacio libre para archivos eliminados. Si los archivos eliminados exceden este límite, la aplicación elimina los archivos mas antiguos hasta permanecer debajo de ese límite. Más información está disponible en la documentación de Archivos Eliminados.",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos eliminados desde aquí",
- "No entries found in this folder" : "No se encontraron entradas en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_CL.js b/apps/files_trashbin/l10n/es_CL.js
deleted file mode 100644
index 10fabba195b..00000000000
--- a/apps/files_trashbin/l10n/es_CL.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_CL.json b/apps/files_trashbin/l10n/es_CL.json
deleted file mode 100644
index fd3c7cd2a7e..00000000000
--- a/apps/files_trashbin/l10n/es_CL.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_CO.js b/apps/files_trashbin/l10n/es_CO.js
deleted file mode 100644
index 10fabba195b..00000000000
--- a/apps/files_trashbin/l10n/es_CO.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_CO.json b/apps/files_trashbin/l10n/es_CO.json
deleted file mode 100644
index fd3c7cd2a7e..00000000000
--- a/apps/files_trashbin/l10n/es_CO.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_CR.js b/apps/files_trashbin/l10n/es_CR.js
deleted file mode 100644
index 10fabba195b..00000000000
--- a/apps/files_trashbin/l10n/es_CR.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_CR.json b/apps/files_trashbin/l10n/es_CR.json
deleted file mode 100644
index fd3c7cd2a7e..00000000000
--- a/apps/files_trashbin/l10n/es_CR.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_DO.js b/apps/files_trashbin/l10n/es_DO.js
deleted file mode 100644
index 10fabba195b..00000000000
--- a/apps/files_trashbin/l10n/es_DO.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_DO.json b/apps/files_trashbin/l10n/es_DO.json
deleted file mode 100644
index fd3c7cd2a7e..00000000000
--- a/apps/files_trashbin/l10n/es_DO.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_EC.js b/apps/files_trashbin/l10n/es_EC.js
deleted file mode 100644
index 1675080ce8b..00000000000
--- a/apps/files_trashbin/l10n/es_EC.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Archivos y carpetas eliminados en la papelera de reciclaje (pueden expirar durante la exportación si tienes poco espacio de almacenamiento)",
- "Restore" : "Restaurar",
- "Cancel" : "Cancelar",
- "Deleted" : "Borrado",
- "A long time ago" : "Hace mucho tiempo.",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "List of files that have been deleted." : "Lista de archivos que han sido eliminados.",
- "No deleted files" : "No hay archivos borrados",
- "Files and folders you have deleted will show up here" : "Los archivos y carpetas que has eliminado aparecerán aquí. "
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_EC.json b/apps/files_trashbin/l10n/es_EC.json
deleted file mode 100644
index 9865975acd6..00000000000
--- a/apps/files_trashbin/l10n/es_EC.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Archivos y carpetas eliminados en la papelera de reciclaje (pueden expirar durante la exportación si tienes poco espacio de almacenamiento)",
- "Restore" : "Restaurar",
- "Cancel" : "Cancelar",
- "Deleted" : "Borrado",
- "A long time ago" : "Hace mucho tiempo.",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "List of files that have been deleted." : "Lista de archivos que han sido eliminados.",
- "No deleted files" : "No hay archivos borrados",
- "Files and folders you have deleted will show up here" : "Los archivos y carpetas que has eliminado aparecerán aquí. "
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_GT.js b/apps/files_trashbin/l10n/es_GT.js
deleted file mode 100644
index 10fabba195b..00000000000
--- a/apps/files_trashbin/l10n/es_GT.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_GT.json b/apps/files_trashbin/l10n/es_GT.json
deleted file mode 100644
index fd3c7cd2a7e..00000000000
--- a/apps/files_trashbin/l10n/es_GT.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_HN.js b/apps/files_trashbin/l10n/es_HN.js
deleted file mode 100644
index 10fabba195b..00000000000
--- a/apps/files_trashbin/l10n/es_HN.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_HN.json b/apps/files_trashbin/l10n/es_HN.json
deleted file mode 100644
index fd3c7cd2a7e..00000000000
--- a/apps/files_trashbin/l10n/es_HN.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_NI.js b/apps/files_trashbin/l10n/es_NI.js
deleted file mode 100644
index 10fabba195b..00000000000
--- a/apps/files_trashbin/l10n/es_NI.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_NI.json b/apps/files_trashbin/l10n/es_NI.json
deleted file mode 100644
index fd3c7cd2a7e..00000000000
--- a/apps/files_trashbin/l10n/es_NI.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_PA.js b/apps/files_trashbin/l10n/es_PA.js
deleted file mode 100644
index 10fabba195b..00000000000
--- a/apps/files_trashbin/l10n/es_PA.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_PA.json b/apps/files_trashbin/l10n/es_PA.json
deleted file mode 100644
index fd3c7cd2a7e..00000000000
--- a/apps/files_trashbin/l10n/es_PA.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_PE.js b/apps/files_trashbin/l10n/es_PE.js
deleted file mode 100644
index 10fabba195b..00000000000
--- a/apps/files_trashbin/l10n/es_PE.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_PE.json b/apps/files_trashbin/l10n/es_PE.json
deleted file mode 100644
index fd3c7cd2a7e..00000000000
--- a/apps/files_trashbin/l10n/es_PE.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_PR.js b/apps/files_trashbin/l10n/es_PR.js
deleted file mode 100644
index 10fabba195b..00000000000
--- a/apps/files_trashbin/l10n/es_PR.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_PR.json b/apps/files_trashbin/l10n/es_PR.json
deleted file mode 100644
index fd3c7cd2a7e..00000000000
--- a/apps/files_trashbin/l10n/es_PR.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_PY.js b/apps/files_trashbin/l10n/es_PY.js
deleted file mode 100644
index a7fd87452f7..00000000000
--- a/apps/files_trashbin/l10n/es_PY.js
+++ /dev/null
@@ -1,16 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "All files" : "Todos los archivos",
- "No deleted files" : "No hay archivos borrados",
- "Deleted" : "Borrado",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_PY.json b/apps/files_trashbin/l10n/es_PY.json
deleted file mode 100644
index c5119b42fd5..00000000000
--- a/apps/files_trashbin/l10n/es_PY.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "All files" : "Todos los archivos",
- "No deleted files" : "No hay archivos borrados",
- "Deleted" : "Borrado",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_SV.js b/apps/files_trashbin/l10n/es_SV.js
deleted file mode 100644
index 10fabba195b..00000000000
--- a/apps/files_trashbin/l10n/es_SV.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_SV.json b/apps/files_trashbin/l10n/es_SV.json
deleted file mode 100644
index fd3c7cd2a7e..00000000000
--- a/apps/files_trashbin/l10n/es_SV.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/es_UY.js b/apps/files_trashbin/l10n/es_UY.js
deleted file mode 100644
index 10fabba195b..00000000000
--- a/apps/files_trashbin/l10n/es_UY.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/es_UY.json b/apps/files_trashbin/l10n/es_UY.json
deleted file mode 100644
index fd3c7cd2a7e..00000000000
--- a/apps/files_trashbin/l10n/es_UY.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurado",
- "Deleted files" : "Archivos borrados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconocido",
- "All files" : "Todos los archivos",
- "Deleted" : "Borrado",
- "No deleted files" : "No hay archivos borrados",
- "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Select all" : "Seleccionar todo",
- "Name" : "Nombre",
- "Actions" : "Acciones"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/et_EE.js b/apps/files_trashbin/l10n/et_EE.js
index 0e1b4ed1ae5..26968b2cdaa 100644
--- a/apps/files_trashbin/l10n/et_EE.js
+++ b/apps/files_trashbin/l10n/et_EE.js
@@ -23,6 +23,8 @@ OC.L10N.register(
"You" : "Sina",
"List of files that have been deleted." : "Kustutatud failide loend.",
"No deleted files" : "Kustutatud faile pole",
- "Files and folders you have deleted will show up here" : "Sinu kustutatud failid ja kaustad on nähtavad siin"
+ "Files and folders you have deleted will show up here" : "Sinu kustutatud failid ja kaustad on nähtavad siin",
+ "All files have been permanently deleted" : "Kõik failid on kustutatud jäädavalt",
+ "Failed to empty deleted files" : "Kustutatud failide eemaldamine ei õnnestunud"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/et_EE.json b/apps/files_trashbin/l10n/et_EE.json
index a3253ba0760..99ecf77c9ec 100644
--- a/apps/files_trashbin/l10n/et_EE.json
+++ b/apps/files_trashbin/l10n/et_EE.json
@@ -21,6 +21,8 @@
"You" : "Sina",
"List of files that have been deleted." : "Kustutatud failide loend.",
"No deleted files" : "Kustutatud faile pole",
- "Files and folders you have deleted will show up here" : "Sinu kustutatud failid ja kaustad on nähtavad siin"
+ "Files and folders you have deleted will show up here" : "Sinu kustutatud failid ja kaustad on nähtavad siin",
+ "All files have been permanently deleted" : "Kõik failid on kustutatud jäädavalt",
+ "Failed to empty deleted files" : "Kustutatud failide eemaldamine ei õnnestunud"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/fr.js b/apps/files_trashbin/l10n/fr.js
index e79051e9182..7fa10abb4b6 100644
--- a/apps/files_trashbin/l10n/fr.js
+++ b/apps/files_trashbin/l10n/fr.js
@@ -23,6 +23,8 @@ OC.L10N.register(
"You" : "Vous",
"List of files that have been deleted." : "Liste des fichiers qui ont été supprimés.",
"No deleted files" : "Aucun fichier supprimé",
- "Files and folders you have deleted will show up here" : "Les fichiers et dossiers que vous avez supprimés apparaîtront ici"
+ "Files and folders you have deleted will show up here" : "Les fichiers et dossiers que vous avez supprimés apparaîtront ici",
+ "All files have been permanently deleted" : "Tous les fichiers ont été définitivement supprimés",
+ "Failed to empty deleted files" : "Échec de la vidange des fichiers supprimés"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/fr.json b/apps/files_trashbin/l10n/fr.json
index 4f8e1aefcd0..651e674f964 100644
--- a/apps/files_trashbin/l10n/fr.json
+++ b/apps/files_trashbin/l10n/fr.json
@@ -21,6 +21,8 @@
"You" : "Vous",
"List of files that have been deleted." : "Liste des fichiers qui ont été supprimés.",
"No deleted files" : "Aucun fichier supprimé",
- "Files and folders you have deleted will show up here" : "Les fichiers et dossiers que vous avez supprimés apparaîtront ici"
+ "Files and folders you have deleted will show up here" : "Les fichiers et dossiers que vous avez supprimés apparaîtront ici",
+ "All files have been permanently deleted" : "Tous les fichiers ont été définitivement supprimés",
+ "Failed to empty deleted files" : "Échec de la vidange des fichiers supprimés"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/he.js b/apps/files_trashbin/l10n/he.js
deleted file mode 100644
index 85941f16684..00000000000
--- a/apps/files_trashbin/l10n/he.js
+++ /dev/null
@@ -1,19 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "שוחזר",
- "Deleted files" : "קבצים שנמחקו",
- "Restore" : "שחזור",
- "Unknown" : "לא ידוע",
- "All files" : "כל הקבצים",
- "Deleted" : "נמחק",
- "Cancel" : "ביטול",
- "No deleted files" : "אין קבצים שנמחקו",
- "This application enables users to restore files that were deleted from the system." : "יישומון זה מאפשר למשתמשים לשחזר קבצים שנמחקו מהמערכת.",
- "You will be able to recover deleted files from here" : "ניתן לבטל מחיקת קבצים מכאן",
- "No entries found in this folder" : "לא נמצאו כניסות לתיקייה זו",
- "Select all" : "לבחור הכול",
- "Name" : "שם",
- "Actions" : "פעולולת"
-},
-"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;");
diff --git a/apps/files_trashbin/l10n/he.json b/apps/files_trashbin/l10n/he.json
deleted file mode 100644
index 4532f307655..00000000000
--- a/apps/files_trashbin/l10n/he.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{ "translations": {
- "restored" : "שוחזר",
- "Deleted files" : "קבצים שנמחקו",
- "Restore" : "שחזור",
- "Unknown" : "לא ידוע",
- "All files" : "כל הקבצים",
- "Deleted" : "נמחק",
- "Cancel" : "ביטול",
- "No deleted files" : "אין קבצים שנמחקו",
- "This application enables users to restore files that were deleted from the system." : "יישומון זה מאפשר למשתמשים לשחזר קבצים שנמחקו מהמערכת.",
- "You will be able to recover deleted files from here" : "ניתן לבטל מחיקת קבצים מכאן",
- "No entries found in this folder" : "לא נמצאו כניסות לתיקייה זו",
- "Select all" : "לבחור הכול",
- "Name" : "שם",
- "Actions" : "פעולולת"
-},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/hr.js b/apps/files_trashbin/l10n/hr.js
deleted file mode 100644
index 9ce19066e82..00000000000
--- a/apps/files_trashbin/l10n/hr.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "vraćeno",
- "Deleted files" : "Izbrisane datoteke",
- "Restore" : "Vrati",
- "Unknown" : "Nepoznata pogreška",
- "All files" : "Sve datoteke",
- "Deleted" : "Izbrisano",
- "Cancel" : "Odustani",
- "No deleted files" : "Nema izbrisanih datoteka",
- "This application enables users to restore files that were deleted from the system." : "Ova aplikacija omogućuje korisnicima vraćanje datoteka izbrisanih iz sustava.",
- "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ova aplikacija omogućuje korisnicima vraćanje datoteka izbrisanih iz sustava. Prikazuje popis izbrisanih datoteka u web sučelju i nudi mogućnosti vraćanja tih izbrisanih datoteka natrag u direktorij s datotekama korisnika ili trajnog uklanjanja iz sustava. Vraćanjem datoteke također se vraćaju povezane inačice datoteke ako je omogućena aplikacija za upravljanje inačicama. Kad se datoteka izbriše iz dijeljenja, ona se može vratiti na isti način ali se više ne dijeli. Te datoteke prema zadanim postavkama ostaju u kanti za smeće 30 dana.\nKako bi se spriječilo da korisnik ostane bez prostora na disku, aplikacija Izbrisane datoteke neće koristiti više od 50 % trenutno dostupne besplatne kvote za izbrisane datoteke. Ako izbrisane datoteke premaše ovo ograničenje, aplikacija briše najstarije datoteke dok se količina iskorištenog prostora ne spusti ispod ove granice. Više informacija dostupno je u dokumentaciji Izbrisane datoteke.",
- "You will be able to recover deleted files from here" : "Ovdje ćete moći vratiti izbrisane datoteke",
- "No entries found in this folder" : "U ovoj mapi nisu pronađeni nikakvi zapisi",
- "Select all" : "Odaberi sve",
- "Name" : "Naziv",
- "Actions" : "Radnje"
-},
-"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/hr.json b/apps/files_trashbin/l10n/hr.json
deleted file mode 100644
index 31891f4cf96..00000000000
--- a/apps/files_trashbin/l10n/hr.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "restored" : "vraćeno",
- "Deleted files" : "Izbrisane datoteke",
- "Restore" : "Vrati",
- "Unknown" : "Nepoznata pogreška",
- "All files" : "Sve datoteke",
- "Deleted" : "Izbrisano",
- "Cancel" : "Odustani",
- "No deleted files" : "Nema izbrisanih datoteka",
- "This application enables users to restore files that were deleted from the system." : "Ova aplikacija omogućuje korisnicima vraćanje datoteka izbrisanih iz sustava.",
- "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ova aplikacija omogućuje korisnicima vraćanje datoteka izbrisanih iz sustava. Prikazuje popis izbrisanih datoteka u web sučelju i nudi mogućnosti vraćanja tih izbrisanih datoteka natrag u direktorij s datotekama korisnika ili trajnog uklanjanja iz sustava. Vraćanjem datoteke također se vraćaju povezane inačice datoteke ako je omogućena aplikacija za upravljanje inačicama. Kad se datoteka izbriše iz dijeljenja, ona se može vratiti na isti način ali se više ne dijeli. Te datoteke prema zadanim postavkama ostaju u kanti za smeće 30 dana.\nKako bi se spriječilo da korisnik ostane bez prostora na disku, aplikacija Izbrisane datoteke neće koristiti više od 50 % trenutno dostupne besplatne kvote za izbrisane datoteke. Ako izbrisane datoteke premaše ovo ograničenje, aplikacija briše najstarije datoteke dok se količina iskorištenog prostora ne spusti ispod ove granice. Više informacija dostupno je u dokumentaciji Izbrisane datoteke.",
- "You will be able to recover deleted files from here" : "Ovdje ćete moći vratiti izbrisane datoteke",
- "No entries found in this folder" : "U ovoj mapi nisu pronađeni nikakvi zapisi",
- "Select all" : "Odaberi sve",
- "Name" : "Naziv",
- "Actions" : "Radnje"
-},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/hy.js b/apps/files_trashbin/l10n/hy.js
deleted file mode 100644
index b5f14a21117..00000000000
--- a/apps/files_trashbin/l10n/hy.js
+++ /dev/null
@@ -1,15 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "Couldn't restore %s" : "Չկարողացա վերականգնել %s",
- "Deleted files" : "Ջնջված ֆայլեր",
- "Restore" : "Վերականգնել",
- "Delete" : "Ջնջել",
- "Delete permanently" : "Ջնջել ընդմիշտ",
- "Error" : "Սխալ",
- "No deleted files" : "Ջնջված ֆայլեր չկան",
- "Select all" : "Նշել բոլորը",
- "Name" : "Անուն",
- "Deleted" : "Ջնջված"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/hy.json b/apps/files_trashbin/l10n/hy.json
deleted file mode 100644
index 4cdf8121c67..00000000000
--- a/apps/files_trashbin/l10n/hy.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{ "translations": {
- "Couldn't restore %s" : "Չկարողացա վերականգնել %s",
- "Deleted files" : "Ջնջված ֆայլեր",
- "Restore" : "Վերականգնել",
- "Delete" : "Ջնջել",
- "Delete permanently" : "Ջնջել ընդմիշտ",
- "Error" : "Սխալ",
- "No deleted files" : "Ջնջված ֆայլեր չկան",
- "Select all" : "Նշել բոլորը",
- "Name" : "Անուն",
- "Deleted" : "Ջնջված"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/ia.js b/apps/files_trashbin/l10n/ia.js
deleted file mode 100644
index a97095225b9..00000000000
--- a/apps/files_trashbin/l10n/ia.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurate",
- "Deleted files" : "Files delite",
- "Restore" : "Restaurar",
- "Unknown" : "Incognite",
- "All files" : "Tote files",
- "Deleted" : "Delite",
- "No deleted files" : "Nulle files delite",
- "You will be able to recover deleted files from here" : "Tu potera recuperar files delite desde ci",
- "No entries found in this folder" : "Nulle entratas trovate in iste dossier",
- "Select all" : "Selectionar toto",
- "Name" : "Nomine",
- "Actions" : "Actiones"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/ia.json b/apps/files_trashbin/l10n/ia.json
deleted file mode 100644
index a5d169faff5..00000000000
--- a/apps/files_trashbin/l10n/ia.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurate",
- "Deleted files" : "Files delite",
- "Restore" : "Restaurar",
- "Unknown" : "Incognite",
- "All files" : "Tote files",
- "Deleted" : "Delite",
- "No deleted files" : "Nulle files delite",
- "You will be able to recover deleted files from here" : "Tu potera recuperar files delite desde ci",
- "No entries found in this folder" : "Nulle entratas trovate in iste dossier",
- "Select all" : "Selectionar toto",
- "Name" : "Nomine",
- "Actions" : "Actiones"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/id.js b/apps/files_trashbin/l10n/id.js
deleted file mode 100644
index 011b3fce91a..00000000000
--- a/apps/files_trashbin/l10n/id.js
+++ /dev/null
@@ -1,19 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "dipulihkan",
- "Deleted files" : "Berkas yang dihapus",
- "Restore" : "Pulihkan",
- "Unknown" : "Tidak diketahui",
- "All files" : "Semua berkas",
- "Deleted" : "Dihapus",
- "Cancel" : "Batal",
- "No deleted files" : "Tidak ada berkas yang dihapus",
- "This application enables users to restore files that were deleted from the system." : "Aplikasi ini memungkinkan pengguna untuk memulihkan berkas terhapus dari sistem.",
- "You will be able to recover deleted files from here" : "Anda dapat memulihkan berkas yang dihapus dari sini",
- "No entries found in this folder" : "Tidak ada entri yang ditemukan dalam folder ini",
- "Select all" : "Pilih Semua",
- "Name" : "Nama",
- "Actions" : "Tindakan"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_trashbin/l10n/id.json b/apps/files_trashbin/l10n/id.json
deleted file mode 100644
index 0785ecf0b10..00000000000
--- a/apps/files_trashbin/l10n/id.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{ "translations": {
- "restored" : "dipulihkan",
- "Deleted files" : "Berkas yang dihapus",
- "Restore" : "Pulihkan",
- "Unknown" : "Tidak diketahui",
- "All files" : "Semua berkas",
- "Deleted" : "Dihapus",
- "Cancel" : "Batal",
- "No deleted files" : "Tidak ada berkas yang dihapus",
- "This application enables users to restore files that were deleted from the system." : "Aplikasi ini memungkinkan pengguna untuk memulihkan berkas terhapus dari sistem.",
- "You will be able to recover deleted files from here" : "Anda dapat memulihkan berkas yang dihapus dari sini",
- "No entries found in this folder" : "Tidak ada entri yang ditemukan dalam folder ini",
- "Select all" : "Pilih Semua",
- "Name" : "Nama",
- "Actions" : "Tindakan"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/ka.js b/apps/files_trashbin/l10n/ka.js
deleted file mode 100644
index 48b15c6b09d..00000000000
--- a/apps/files_trashbin/l10n/ka.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restored",
- "Deleted files" : "Deleted files",
- "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)",
- "Restore" : "Restore",
- "Cancel" : "Cancel",
- "Deleted" : "Deleted",
- "Unknown" : "Unknown",
- "All files" : "All files",
- "You" : "You",
- "List of files that have been deleted." : "List of files that have been deleted.",
- "No deleted files" : "No deleted files",
- "Files and folders you have deleted will show up here" : "Files and folders you have deleted will show up here"
-},
-"nplurals=2; plural=(n!=1);");
diff --git a/apps/files_trashbin/l10n/ka.json b/apps/files_trashbin/l10n/ka.json
deleted file mode 100644
index 046fff19f6b..00000000000
--- a/apps/files_trashbin/l10n/ka.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restored",
- "Deleted files" : "Deleted files",
- "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)",
- "Restore" : "Restore",
- "Cancel" : "Cancel",
- "Deleted" : "Deleted",
- "Unknown" : "Unknown",
- "All files" : "All files",
- "You" : "You",
- "List of files that have been deleted." : "List of files that have been deleted.",
- "No deleted files" : "No deleted files",
- "Files and folders you have deleted will show up here" : "Files and folders you have deleted will show up here"
-},"pluralForm" :"nplurals=2; plural=(n!=1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/ka_GE.js b/apps/files_trashbin/l10n/ka_GE.js
deleted file mode 100644
index b472933090e..00000000000
--- a/apps/files_trashbin/l10n/ka_GE.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "აღდგენილია",
- "Deleted files" : "წაშლილი ფაილები",
- "Restore" : "აღდგენა",
- "Unknown" : "უცნობია",
- "All files" : "ყველა ფაილი",
- "Deleted" : "წაშლილი",
- "No deleted files" : "წაშლილი ფაილები ვერ მოიძებნა",
- "You will be able to recover deleted files from here" : "წაშლილი ფაილების აღდგენა შესაძლებელია აქ",
- "No entries found in this folder" : "დირექტორიაში ჩანაწერები ვერ მოიძებნა",
- "Select all" : "ყველას მონიშვნა",
- "Name" : "სახელი",
- "Actions" : "მოქმედებები"
-},
-"nplurals=2; plural=(n!=1);");
diff --git a/apps/files_trashbin/l10n/ka_GE.json b/apps/files_trashbin/l10n/ka_GE.json
deleted file mode 100644
index 4af86b3295f..00000000000
--- a/apps/files_trashbin/l10n/ka_GE.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "აღდგენილია",
- "Deleted files" : "წაშლილი ფაილები",
- "Restore" : "აღდგენა",
- "Unknown" : "უცნობია",
- "All files" : "ყველა ფაილი",
- "Deleted" : "წაშლილი",
- "No deleted files" : "წაშლილი ფაილები ვერ მოიძებნა",
- "You will be able to recover deleted files from here" : "წაშლილი ფაილების აღდგენა შესაძლებელია აქ",
- "No entries found in this folder" : "დირექტორიაში ჩანაწერები ვერ მოიძებნა",
- "Select all" : "ყველას მონიშვნა",
- "Name" : "სახელი",
- "Actions" : "მოქმედებები"
-},"pluralForm" :"nplurals=2; plural=(n!=1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/km.js b/apps/files_trashbin/l10n/km.js
deleted file mode 100644
index b568abde589..00000000000
--- a/apps/files_trashbin/l10n/km.js
+++ /dev/null
@@ -1,15 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "Couldn't delete %s permanently" : "មិន​អាច​លុប %s ចោល​ជា​អចិន្ត្រៃយ៍​ទេ",
- "Couldn't restore %s" : "មិន​អាច​ស្ដារ %s ឡើង​វិញ​បាន​ទេ",
- "Deleted files" : "ឯកសារ​ដែល​បាន​លុប",
- "Restore" : "ស្ដារ​មក​វិញ",
- "Delete" : "លុប",
- "Delete permanently" : "លុប​ជា​អចិន្ត្រៃយ៍",
- "Error" : "កំហុស",
- "restored" : "បាន​ស្ដារ​វិញ",
- "Name" : "ឈ្មោះ",
- "Deleted" : "បាន​លុប"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_trashbin/l10n/km.json b/apps/files_trashbin/l10n/km.json
deleted file mode 100644
index 14481c4f2e7..00000000000
--- a/apps/files_trashbin/l10n/km.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{ "translations": {
- "Couldn't delete %s permanently" : "មិន​អាច​លុប %s ចោល​ជា​អចិន្ត្រៃយ៍​ទេ",
- "Couldn't restore %s" : "មិន​អាច​ស្ដារ %s ឡើង​វិញ​បាន​ទេ",
- "Deleted files" : "ឯកសារ​ដែល​បាន​លុប",
- "Restore" : "ស្ដារ​មក​វិញ",
- "Delete" : "លុប",
- "Delete permanently" : "លុប​ជា​អចិន្ត្រៃយ៍",
- "Error" : "កំហុស",
- "restored" : "បាន​ស្ដារ​វិញ",
- "Name" : "ឈ្មោះ",
- "Deleted" : "បាន​លុប"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/kn.js b/apps/files_trashbin/l10n/kn.js
deleted file mode 100644
index c9e17d94c58..00000000000
--- a/apps/files_trashbin/l10n/kn.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "Restore" : "ಮರುಸ್ಥಾಪಿಸು",
- "Delete" : "ಅಳಿಸಿ",
- "Error" : "ತಪ್ಪಾಗಿದೆ",
- "Select all" : "ಎಲ್ಲಾ ಆಯ್ಕೆ ಮಾಡಿ",
- "Name" : "ಹೆಸರು"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_trashbin/l10n/kn.json b/apps/files_trashbin/l10n/kn.json
deleted file mode 100644
index 3bd9118dfce..00000000000
--- a/apps/files_trashbin/l10n/kn.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Restore" : "ಮರುಸ್ಥಾಪಿಸು",
- "Delete" : "ಅಳಿಸಿ",
- "Error" : "ತಪ್ಪಾಗಿದೆ",
- "Select all" : "ಎಲ್ಲಾ ಆಯ್ಕೆ ಮಾಡಿ",
- "Name" : "ಹೆಸರು"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/lb.js b/apps/files_trashbin/l10n/lb.js
deleted file mode 100644
index e98308cd22c..00000000000
--- a/apps/files_trashbin/l10n/lb.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "erëmhiergestallt",
- "Deleted files" : "Geläscht Fichieren",
- "Restore" : "Erëmhierstellen",
- "Unknown" : "Onbekannt",
- "All files" : "All d'Fichieren",
- "Deleted" : "Geläscht",
- "No deleted files" : "Keng geläscht Fichieren",
- "You will be able to recover deleted files from here" : "Du kanns geläscht Fichieren aus desëm Dossier erëmhierstellen",
- "No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt",
- "Select all" : "All auswielen",
- "Name" : "Numm",
- "Actions" : "Aktiounen"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/lb.json b/apps/files_trashbin/l10n/lb.json
deleted file mode 100644
index 2b5690ccc7f..00000000000
--- a/apps/files_trashbin/l10n/lb.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "erëmhiergestallt",
- "Deleted files" : "Geläscht Fichieren",
- "Restore" : "Erëmhierstellen",
- "Unknown" : "Onbekannt",
- "All files" : "All d'Fichieren",
- "Deleted" : "Geläscht",
- "No deleted files" : "Keng geläscht Fichieren",
- "You will be able to recover deleted files from here" : "Du kanns geläscht Fichieren aus desëm Dossier erëmhierstellen",
- "No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt",
- "Select all" : "All auswielen",
- "Name" : "Numm",
- "Actions" : "Aktiounen"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/lv.js b/apps/files_trashbin/l10n/lv.js
deleted file mode 100644
index 4839332c29d..00000000000
--- a/apps/files_trashbin/l10n/lv.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "atjaunots",
- "Deleted files" : "Izdzēstās datnes",
- "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Atkritnē esošās izdzēstās datnes un mapes (var izbeigties izgūšanas laikā, ja trūkst krātuves vietas)",
- "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Šī lietotne sniedz cilvēkiem iespēju atjaunot datnes, kas tika izdzēstas no sistēmas. Tā tīmekļa saskarnē attēlo izdzēsto datņu sarakstu, un tai ir iespējas tās atjaunot cilvēku datņu mapēs vai neatgriezeniski noņemt no sistēmas. Datnes atjaunošana atjauno arī saistītās datnes versijas, ja ir iespējota versiju lietotne. Kad datne tiek izdzēsta no koplietojuma, to var atjaunot tādā pašā veidā, tomēr tā vairs nebūs koplietota. Pēc noklusējuma izdzēstās datnes atkritnē atrodas 30 dienas.\nLai novērstu konta diska vietas pārtēriņu, izdzēstās datnes neaizņems vairāk kā 50% no pašreiz pieejamās brīvās vietas izdzēstajām datnēm. Ja izdzēstās datnes pārsniegs šo ierobežojumu, lietotne izdzēsīs vecākās datnes, līdz tajā atkal iekļausies. Vairāk informācijas ir pieejama izdzēsto datņu dokumentācijā.",
- "Restore" : "Atjaunot",
- "Empty deleted files" : "Iztukšot izdzēstās datnes",
- "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Vai tiešām neatgriezeniski izdzēst visas atkritnē esošās datnes un mapes? To nevar atdarīt.",
- "Cancel" : "Atcelt",
- "Deleted" : "Izdzēsts",
- "Unknown" : "Nezināms",
- "All files" : "Visas datnes",
- "No deleted files" : "Nav izdzēstu datņu"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/files_trashbin/l10n/lv.json b/apps/files_trashbin/l10n/lv.json
deleted file mode 100644
index 421470ba333..00000000000
--- a/apps/files_trashbin/l10n/lv.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "atjaunots",
- "Deleted files" : "Izdzēstās datnes",
- "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Atkritnē esošās izdzēstās datnes un mapes (var izbeigties izgūšanas laikā, ja trūkst krātuves vietas)",
- "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Šī lietotne sniedz cilvēkiem iespēju atjaunot datnes, kas tika izdzēstas no sistēmas. Tā tīmekļa saskarnē attēlo izdzēsto datņu sarakstu, un tai ir iespējas tās atjaunot cilvēku datņu mapēs vai neatgriezeniski noņemt no sistēmas. Datnes atjaunošana atjauno arī saistītās datnes versijas, ja ir iespējota versiju lietotne. Kad datne tiek izdzēsta no koplietojuma, to var atjaunot tādā pašā veidā, tomēr tā vairs nebūs koplietota. Pēc noklusējuma izdzēstās datnes atkritnē atrodas 30 dienas.\nLai novērstu konta diska vietas pārtēriņu, izdzēstās datnes neaizņems vairāk kā 50% no pašreiz pieejamās brīvās vietas izdzēstajām datnēm. Ja izdzēstās datnes pārsniegs šo ierobežojumu, lietotne izdzēsīs vecākās datnes, līdz tajā atkal iekļausies. Vairāk informācijas ir pieejama izdzēsto datņu dokumentācijā.",
- "Restore" : "Atjaunot",
- "Empty deleted files" : "Iztukšot izdzēstās datnes",
- "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Vai tiešām neatgriezeniski izdzēst visas atkritnē esošās datnes un mapes? To nevar atdarīt.",
- "Cancel" : "Atcelt",
- "Deleted" : "Izdzēsts",
- "Unknown" : "Nezināms",
- "All files" : "Visas datnes",
- "No deleted files" : "Nav izdzēstu datņu"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/mn.js b/apps/files_trashbin/l10n/mn.js
deleted file mode 100644
index b81cfed77a2..00000000000
--- a/apps/files_trashbin/l10n/mn.js
+++ /dev/null
@@ -1,16 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "Deleted files" : "Устгасан файлууд",
- "Restore" : "Сэргээх",
- "Delete permanently" : "Үүрд устгах",
- "This operation is forbidden" : "Энэ үйлдэл хориотой",
- "This directory is unavailable, please check the logs or contact the administrator" : "Энэ хавтас байхгүй байна, үйлдлийн лог шалгах эсвэл админ хэрэглэгчтэй холбогдоно уу.",
- "Deleted" : "Устгагдсан",
- "No entries found in this folder" : "Энэ хавтаст юм олдсонгүй",
- "Select all" : "Бүгдийг сонгох",
- "Name" : "Нэр",
- "Actions" : "Үйл ажиллагаа",
- "Delete" : "Устгах"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/mn.json b/apps/files_trashbin/l10n/mn.json
deleted file mode 100644
index 08c5e9a4630..00000000000
--- a/apps/files_trashbin/l10n/mn.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{ "translations": {
- "Deleted files" : "Устгасан файлууд",
- "Restore" : "Сэргээх",
- "Delete permanently" : "Үүрд устгах",
- "This operation is forbidden" : "Энэ үйлдэл хориотой",
- "This directory is unavailable, please check the logs or contact the administrator" : "Энэ хавтас байхгүй байна, үйлдлийн лог шалгах эсвэл админ хэрэглэгчтэй холбогдоно уу.",
- "Deleted" : "Устгагдсан",
- "No entries found in this folder" : "Энэ хавтаст юм олдсонгүй",
- "Select all" : "Бүгдийг сонгох",
- "Name" : "Нэр",
- "Actions" : "Үйл ажиллагаа",
- "Delete" : "Устгах"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/ms_MY.js b/apps/files_trashbin/l10n/ms_MY.js
deleted file mode 100644
index 22680ff254d..00000000000
--- a/apps/files_trashbin/l10n/ms_MY.js
+++ /dev/null
@@ -1,14 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "Couldn't delete %s permanently" : "Tidak dapat menghapuskan %s secara kekal",
- "Couldn't restore %s" : "Tidak dapat memulihkan %s",
- "Deleted files" : "Fail dipadam",
- "Restore" : "Pulihkan",
- "Delete" : "Padam",
- "Error" : "Ralat",
- "restored" : "dipulihkan",
- "Name" : "Nama",
- "Deleted" : "Dipadam"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_trashbin/l10n/ms_MY.json b/apps/files_trashbin/l10n/ms_MY.json
deleted file mode 100644
index 340b46e78a1..00000000000
--- a/apps/files_trashbin/l10n/ms_MY.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{ "translations": {
- "Couldn't delete %s permanently" : "Tidak dapat menghapuskan %s secara kekal",
- "Couldn't restore %s" : "Tidak dapat memulihkan %s",
- "Deleted files" : "Fail dipadam",
- "Restore" : "Pulihkan",
- "Delete" : "Padam",
- "Error" : "Ralat",
- "restored" : "dipulihkan",
- "Name" : "Nama",
- "Deleted" : "Dipadam"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/nn_NO.js b/apps/files_trashbin/l10n/nn_NO.js
deleted file mode 100644
index a3779d14135..00000000000
--- a/apps/files_trashbin/l10n/nn_NO.js
+++ /dev/null
@@ -1,16 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "gjenoppretta",
- "Deleted files" : "Sletta filer",
- "Restore" : "Gjenopprett",
- "Unknown" : "Ukjend",
- "All files" : "Alle filer",
- "No deleted files" : "Ingen sletta filer",
- "Deleted" : "Sletta",
- "No entries found in this folder" : "Ingen oppføringar funne i denne mappa",
- "Select all" : "Merk alt",
- "Name" : "Namn",
- "Actions" : "Handlingar"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/nn_NO.json b/apps/files_trashbin/l10n/nn_NO.json
deleted file mode 100644
index 73ee98c639c..00000000000
--- a/apps/files_trashbin/l10n/nn_NO.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{ "translations": {
- "restored" : "gjenoppretta",
- "Deleted files" : "Sletta filer",
- "Restore" : "Gjenopprett",
- "Unknown" : "Ukjend",
- "All files" : "Alle filer",
- "No deleted files" : "Ingen sletta filer",
- "Deleted" : "Sletta",
- "No entries found in this folder" : "Ingen oppføringar funne i denne mappa",
- "Select all" : "Merk alt",
- "Name" : "Namn",
- "Actions" : "Handlingar"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/oc.js b/apps/files_trashbin/l10n/oc.js
deleted file mode 100644
index 762d7a9b424..00000000000
--- a/apps/files_trashbin/l10n/oc.js
+++ /dev/null
@@ -1,21 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "Couldn't delete %s permanently" : "Impossible de suprimir %s definitivament",
- "Couldn't restore %s" : "Impossible de restablir %s",
- "Deleted files" : "Fichièrs suprimits",
- "Restore" : "Restablir",
- "Delete" : "Suprimir",
- "Delete permanently" : "Suprimir de faiçon definitiva",
- "Error" : "Error",
- "This operation is forbidden" : "L'operacion es interdicha",
- "This directory is unavailable, please check the logs or contact the administrator" : "Aqueste repertòri es pas disponible. Consultatz los logs o contactatz vòstre administrator",
- "restored" : "restablit",
- "No deleted files" : "Cap de fichièr pas suprimit",
- "You will be able to recover deleted files from here" : "Poiretz restablir vòstres fichièrs suprimits aicí",
- "No entries found in this folder" : "Cap d'entrada pas trobada dins aqueste dorsièr",
- "Select all" : "Seleccionar tot",
- "Name" : "Nom",
- "Deleted" : "Escafat"
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_trashbin/l10n/oc.json b/apps/files_trashbin/l10n/oc.json
deleted file mode 100644
index a48b12e0c6e..00000000000
--- a/apps/files_trashbin/l10n/oc.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{ "translations": {
- "Couldn't delete %s permanently" : "Impossible de suprimir %s definitivament",
- "Couldn't restore %s" : "Impossible de restablir %s",
- "Deleted files" : "Fichièrs suprimits",
- "Restore" : "Restablir",
- "Delete" : "Suprimir",
- "Delete permanently" : "Suprimir de faiçon definitiva",
- "Error" : "Error",
- "This operation is forbidden" : "L'operacion es interdicha",
- "This directory is unavailable, please check the logs or contact the administrator" : "Aqueste repertòri es pas disponible. Consultatz los logs o contactatz vòstre administrator",
- "restored" : "restablit",
- "No deleted files" : "Cap de fichièr pas suprimit",
- "You will be able to recover deleted files from here" : "Poiretz restablir vòstres fichièrs suprimits aicí",
- "No entries found in this folder" : "Cap d'entrada pas trobada dins aqueste dorsièr",
- "Select all" : "Seleccionar tot",
- "Name" : "Nom",
- "Deleted" : "Escafat"
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/pl.js b/apps/files_trashbin/l10n/pl.js
index 6262c8ce684..4e555ba4e4d 100644
--- a/apps/files_trashbin/l10n/pl.js
+++ b/apps/files_trashbin/l10n/pl.js
@@ -7,6 +7,7 @@ OC.L10N.register(
"This application enables people to restore files that were deleted from the system." : "Ta aplikacja umożliwia przywracanie plików, które zostały usunięte z systemu.",
"This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ta aplikacja umożliwia ludziom przywracanie plików, które zostały usunięte z systemu. Wyświetla listę usuniętych plików w interfejsie internetowym i oferuje opcje przywracania usuniętych plików z powrotem do katalogów plików osób lub trwałego usuwania ich z systemu. Przywracanie pliku przywraca również powiązane wersje plików, jeśli włączona jest aplikacja wersji. Gdy plik zostanie usunięty z udziału, można go przywrócić w ten sam sposób, chociaż nie jest już udostępniany. Domyślnie pliki te pozostają w koszu przez 30 dni.\nAby zapobiec wyczerpaniu się miejsca na dysku, aplikacja Usunięte pliki nie wykorzysta więcej niż 50% aktualnie dostępnego bezpłatnego miejsca na usunięte pliki. Jeśli usunięte pliki przekroczą ten limit, aplikacja usunie najstarsze pliki, aż spadnie poniżej tego limitu. Więcej informacji można znaleźć w dokumentacji usuniętych plików.",
"Restore" : "Przywróć",
+ "Not enough free space to restore the file/folder" : "Brak miejsca na dysku na odzyskanie pliku/folderu",
"Empty deleted files" : "Opróżnij usunięte pliki",
"Confirm permanent deletion" : "Potwierdź trwałe usunięcie",
"Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Czy na pewno chcesz trwale usunąć wszystkie pliki i katalogi w koszu? Tego nie można cofnąć.",
@@ -15,6 +16,7 @@ OC.L10N.register(
"Original location" : "Oryginalna lokalizacja",
"Deleted by" : "Usunięto przez",
"Deleted" : "Usunięto",
+ "few seconds ago" : "kilka sekund temu",
"A long time ago" : "Dawno temu",
"Unknown" : "Nieznany",
"All files" : "Wszystkie pliki",
diff --git a/apps/files_trashbin/l10n/pl.json b/apps/files_trashbin/l10n/pl.json
index d193345a74d..24fd5b2f473 100644
--- a/apps/files_trashbin/l10n/pl.json
+++ b/apps/files_trashbin/l10n/pl.json
@@ -5,6 +5,7 @@
"This application enables people to restore files that were deleted from the system." : "Ta aplikacja umożliwia przywracanie plików, które zostały usunięte z systemu.",
"This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ta aplikacja umożliwia ludziom przywracanie plików, które zostały usunięte z systemu. Wyświetla listę usuniętych plików w interfejsie internetowym i oferuje opcje przywracania usuniętych plików z powrotem do katalogów plików osób lub trwałego usuwania ich z systemu. Przywracanie pliku przywraca również powiązane wersje plików, jeśli włączona jest aplikacja wersji. Gdy plik zostanie usunięty z udziału, można go przywrócić w ten sam sposób, chociaż nie jest już udostępniany. Domyślnie pliki te pozostają w koszu przez 30 dni.\nAby zapobiec wyczerpaniu się miejsca na dysku, aplikacja Usunięte pliki nie wykorzysta więcej niż 50% aktualnie dostępnego bezpłatnego miejsca na usunięte pliki. Jeśli usunięte pliki przekroczą ten limit, aplikacja usunie najstarsze pliki, aż spadnie poniżej tego limitu. Więcej informacji można znaleźć w dokumentacji usuniętych plików.",
"Restore" : "Przywróć",
+ "Not enough free space to restore the file/folder" : "Brak miejsca na dysku na odzyskanie pliku/folderu",
"Empty deleted files" : "Opróżnij usunięte pliki",
"Confirm permanent deletion" : "Potwierdź trwałe usunięcie",
"Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Czy na pewno chcesz trwale usunąć wszystkie pliki i katalogi w koszu? Tego nie można cofnąć.",
@@ -13,6 +14,7 @@
"Original location" : "Oryginalna lokalizacja",
"Deleted by" : "Usunięto przez",
"Deleted" : "Usunięto",
+ "few seconds ago" : "kilka sekund temu",
"A long time ago" : "Dawno temu",
"Unknown" : "Nieznany",
"All files" : "Wszystkie pliki",
diff --git a/apps/files_trashbin/l10n/pt_BR.js b/apps/files_trashbin/l10n/pt_BR.js
index 425819efc42..f1e360f82c0 100644
--- a/apps/files_trashbin/l10n/pt_BR.js
+++ b/apps/files_trashbin/l10n/pt_BR.js
@@ -23,6 +23,8 @@ OC.L10N.register(
"You" : "Você",
"List of files that have been deleted." : "Lista de arquivos que foram excluídos.",
"No deleted files" : "Nenhum arquivo excluído",
- "Files and folders you have deleted will show up here" : "Arquivos e pastas que você excluiu aparecerão aqui"
+ "Files and folders you have deleted will show up here" : "Arquivos e pastas que você excluiu aparecerão aqui",
+ "All files have been permanently deleted" : "Todos os arquivos foram excluídos permanentemente",
+ "Failed to empty deleted files" : "Falha ao esvaziar arquivos excluídos"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/pt_BR.json b/apps/files_trashbin/l10n/pt_BR.json
index 9eafa1b21c6..da1f67d35ed 100644
--- a/apps/files_trashbin/l10n/pt_BR.json
+++ b/apps/files_trashbin/l10n/pt_BR.json
@@ -21,6 +21,8 @@
"You" : "Você",
"List of files that have been deleted." : "Lista de arquivos que foram excluídos.",
"No deleted files" : "Nenhum arquivo excluído",
- "Files and folders you have deleted will show up here" : "Arquivos e pastas que você excluiu aparecerão aqui"
+ "Files and folders you have deleted will show up here" : "Arquivos e pastas que você excluiu aparecerão aqui",
+ "All files have been permanently deleted" : "Todos os arquivos foram excluídos permanentemente",
+ "Failed to empty deleted files" : "Falha ao esvaziar arquivos excluídos"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/pt_PT.js b/apps/files_trashbin/l10n/pt_PT.js
deleted file mode 100644
index b571e26de4e..00000000000
--- a/apps/files_trashbin/l10n/pt_PT.js
+++ /dev/null
@@ -1,19 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "Restaurado",
- "Deleted files" : "Ficheiros eliminados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconhecido",
- "All files" : "Todos os ficheiros",
- "You" : "Vovê",
- "Deleted" : "Eliminado",
- "Cancel" : "Cancelar",
- "No deleted files" : "Sem ficheiros eliminados",
- "You will be able to recover deleted files from here" : "Poderá recuperar ficheiros eliminados a partir daqui",
- "No entries found in this folder" : "Não foram encontradas entradas nesta pasta",
- "Select all" : "Selecionar tudo",
- "Name" : "Nome",
- "Actions" : "Ações"
-},
-"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_trashbin/l10n/pt_PT.json b/apps/files_trashbin/l10n/pt_PT.json
deleted file mode 100644
index a29bde30726..00000000000
--- a/apps/files_trashbin/l10n/pt_PT.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{ "translations": {
- "restored" : "Restaurado",
- "Deleted files" : "Ficheiros eliminados",
- "Restore" : "Restaurar",
- "Unknown" : "Desconhecido",
- "All files" : "Todos os ficheiros",
- "You" : "Vovê",
- "Deleted" : "Eliminado",
- "Cancel" : "Cancelar",
- "No deleted files" : "Sem ficheiros eliminados",
- "You will be able to recover deleted files from here" : "Poderá recuperar ficheiros eliminados a partir daqui",
- "No entries found in this folder" : "Não foram encontradas entradas nesta pasta",
- "Select all" : "Selecionar tudo",
- "Name" : "Nome",
- "Actions" : "Ações"
-},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/ro.js b/apps/files_trashbin/l10n/ro.js
deleted file mode 100644
index 947a82a4cea..00000000000
--- a/apps/files_trashbin/l10n/ro.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "restaurat",
- "Deleted files" : "Fișiere șterse",
- "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Fișierele și folderele șterse din coșul de gunoi (pot expira în timpul exportului dacă spațiul de stocare e limitat)",
- "Restore" : "Restaurare",
- "Cancel" : "Anulare",
- "Deleted" : "A fost șters.",
- "Unknown" : "Necunoscut",
- "All files" : "Toate fișierele",
- "You" : "Tu",
- "List of files that have been deleted." : "Lista fișierelor șterse.",
- "No deleted files" : "Nu sunt fișiere șterse",
- "Files and folders you have deleted will show up here" : "Fișierele și dosarele șterse vor fi afișate aici"
-},
-"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/files_trashbin/l10n/ro.json b/apps/files_trashbin/l10n/ro.json
deleted file mode 100644
index 3b5b67ded9b..00000000000
--- a/apps/files_trashbin/l10n/ro.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "restaurat",
- "Deleted files" : "Fișiere șterse",
- "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Fișierele și folderele șterse din coșul de gunoi (pot expira în timpul exportului dacă spațiul de stocare e limitat)",
- "Restore" : "Restaurare",
- "Cancel" : "Anulare",
- "Deleted" : "A fost șters.",
- "Unknown" : "Necunoscut",
- "All files" : "Toate fișierele",
- "You" : "Tu",
- "List of files that have been deleted." : "Lista fișierelor șterse.",
- "No deleted files" : "Nu sunt fișiere șterse",
- "Files and folders you have deleted will show up here" : "Fișierele și dosarele șterse vor fi afișate aici"
-},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/sc.js b/apps/files_trashbin/l10n/sc.js
deleted file mode 100644
index 55b2e1f8a78..00000000000
--- a/apps/files_trashbin/l10n/sc.js
+++ /dev/null
@@ -1,21 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "recuperados",
- "Deleted files" : "Archìvios cantzellados",
- "Restore" : "Riprìstina",
- "Unknown" : "Disconnotu",
- "All files" : "Totu is archìvios",
- "You" : "Tue",
- "Deleted" : "Cantzelladu",
- "Cancel" : "Annulla",
- "No deleted files" : "Archìvios no cantzellados",
- "This application enables users to restore files that were deleted from the system." : "Custa aplicatzione permitit a is utentes de recuperare archìvios chi sunt istados cantzellados dae su sistema.",
- "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Custa aplicatzione permitit a is utentes de recuperare archìvios chi sunt istados cantzellados dae su sistema. Mustrat una lista de is archìvios cantzellados in s'interfache web, e tenet sèberos pro ripristinare is archìvios in is cartellas de is utentes o nche ddos bogare definitivamente dae su sistema. Su recùperu de un'archìviu riprìstinat puru is versiones relativas, si s'aplicatzione de is versiones est ativa. Si un'archìviu est cantzelladu dae una cumpartzidura, si podet recuperare in sa pròpria manera, mancari non siat prus cumpartzidu. In manera predefinida, custos archìvios abarrant in s'àlia pro 30 dies.\nPro impedire a un'utente de abarrare chene logu in su discu, s'aplicatzione Archìvios cantzellados no at a impreare prus de su 50% de sa cuota lìbera a disponimentu. Si is archìvios cantzellados passant custu lìmite, s'aplicatzione cantzellat is archìvios prus betzos finas a torrare suta de custu lìmite. Àteras informatziones sunt a disponimentu in sa dicumentatzione de Archìvios cantzellados.",
- "You will be able to recover deleted files from here" : "As a pòdere recuperare is archìvios cantzellados dae inoghe",
- "No entries found in this folder" : "Perunu elementu agatadu in custa cartella",
- "Select all" : "Seletziona totu",
- "Name" : "Nùmene",
- "Actions" : "Atziones"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/sc.json b/apps/files_trashbin/l10n/sc.json
deleted file mode 100644
index 89f0d5fdfd9..00000000000
--- a/apps/files_trashbin/l10n/sc.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{ "translations": {
- "restored" : "recuperados",
- "Deleted files" : "Archìvios cantzellados",
- "Restore" : "Riprìstina",
- "Unknown" : "Disconnotu",
- "All files" : "Totu is archìvios",
- "You" : "Tue",
- "Deleted" : "Cantzelladu",
- "Cancel" : "Annulla",
- "No deleted files" : "Archìvios no cantzellados",
- "This application enables users to restore files that were deleted from the system." : "Custa aplicatzione permitit a is utentes de recuperare archìvios chi sunt istados cantzellados dae su sistema.",
- "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Custa aplicatzione permitit a is utentes de recuperare archìvios chi sunt istados cantzellados dae su sistema. Mustrat una lista de is archìvios cantzellados in s'interfache web, e tenet sèberos pro ripristinare is archìvios in is cartellas de is utentes o nche ddos bogare definitivamente dae su sistema. Su recùperu de un'archìviu riprìstinat puru is versiones relativas, si s'aplicatzione de is versiones est ativa. Si un'archìviu est cantzelladu dae una cumpartzidura, si podet recuperare in sa pròpria manera, mancari non siat prus cumpartzidu. In manera predefinida, custos archìvios abarrant in s'àlia pro 30 dies.\nPro impedire a un'utente de abarrare chene logu in su discu, s'aplicatzione Archìvios cantzellados no at a impreare prus de su 50% de sa cuota lìbera a disponimentu. Si is archìvios cantzellados passant custu lìmite, s'aplicatzione cantzellat is archìvios prus betzos finas a torrare suta de custu lìmite. Àteras informatziones sunt a disponimentu in sa dicumentatzione de Archìvios cantzellados.",
- "You will be able to recover deleted files from here" : "As a pòdere recuperare is archìvios cantzellados dae inoghe",
- "No entries found in this folder" : "Perunu elementu agatadu in custa cartella",
- "Select all" : "Seletziona totu",
- "Name" : "Nùmene",
- "Actions" : "Atziones"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/sl.js b/apps/files_trashbin/l10n/sl.js
deleted file mode 100644
index 1f12d70ea00..00000000000
--- a/apps/files_trashbin/l10n/sl.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "obnovljeno",
- "Deleted files" : "Izbrisane datoteke",
- "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Izbrisane datoteke in mape v smeteh (nabor je odvisen od velikosti prostora)",
- "Restore" : "Obnovi",
- "Cancel" : "Prekliči",
- "Deletion cancelled" : "Brisanje je bilo preklicano",
- "Deleted" : "Izbrisano",
- "Unknown" : "Neznano",
- "All files" : "Vse datoteke",
- "You" : "Jaz",
- "List of files that have been deleted." : "Seznam datotek, ki so bile izbrisane.",
- "No deleted files" : "Ni izbrisanih datotek"
-},
-"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/files_trashbin/l10n/sl.json b/apps/files_trashbin/l10n/sl.json
deleted file mode 100644
index 2e27afe6cab..00000000000
--- a/apps/files_trashbin/l10n/sl.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "obnovljeno",
- "Deleted files" : "Izbrisane datoteke",
- "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Izbrisane datoteke in mape v smeteh (nabor je odvisen od velikosti prostora)",
- "Restore" : "Obnovi",
- "Cancel" : "Prekliči",
- "Deletion cancelled" : "Brisanje je bilo preklicano",
- "Deleted" : "Izbrisano",
- "Unknown" : "Neznano",
- "All files" : "Vse datoteke",
- "You" : "Jaz",
- "List of files that have been deleted." : "Seznam datotek, ki so bile izbrisane.",
- "No deleted files" : "Ni izbrisanih datotek"
-},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/sq.js b/apps/files_trashbin/l10n/sq.js
deleted file mode 100644
index 7d4770f13ce..00000000000
--- a/apps/files_trashbin/l10n/sq.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "u rikthye",
- "Deleted files" : "Kartela të fshira",
- "Restore" : "Riktheje",
- "Unknown" : "I panjohur",
- "All files" : "Të gjithë skedarët",
- "Deleted" : "U fshi",
- "No deleted files" : "Pa kartela të fshira",
- "You will be able to recover deleted files from here" : "Që këtu do të jeni në gjendje të rimerrni kartela të fshira",
- "No entries found in this folder" : "Në këtë dosje s’u gjetën zëra",
- "Select all" : "Përzgjidhi krejt",
- "Name" : "Emër",
- "Actions" : "Veprimet"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/sq.json b/apps/files_trashbin/l10n/sq.json
deleted file mode 100644
index f574e3408fe..00000000000
--- a/apps/files_trashbin/l10n/sq.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "u rikthye",
- "Deleted files" : "Kartela të fshira",
- "Restore" : "Riktheje",
- "Unknown" : "I panjohur",
- "All files" : "Të gjithë skedarët",
- "Deleted" : "U fshi",
- "No deleted files" : "Pa kartela të fshira",
- "You will be able to recover deleted files from here" : "Që këtu do të jeni në gjendje të rimerrni kartela të fshira",
- "No entries found in this folder" : "Në këtë dosje s’u gjetën zëra",
- "Select all" : "Përzgjidhi krejt",
- "Name" : "Emër",
- "Actions" : "Veprimet"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/sr@latin.js b/apps/files_trashbin/l10n/sr@latin.js
deleted file mode 100644
index e6eb817ccf3..00000000000
--- a/apps/files_trashbin/l10n/sr@latin.js
+++ /dev/null
@@ -1,19 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "Couldn't delete %s permanently" : "Ne mogu zauvek da obrišem %s",
- "Couldn't restore %s" : "Ne mogu da vratim %s",
- "Deleted files" : "Obrisani fajlovi",
- "Restore" : "Vrati",
- "Delete" : "Obriši",
- "Delete permanently" : "Obriši zauvek",
- "Error" : "Greška",
- "restored" : "vraćeno",
- "No deleted files" : "Nema obrisanih fajlova",
- "You will be able to recover deleted files from here" : "Odavde ćete moći da povratite obrisane fajlove",
- "No entries found in this folder" : "Nema ničega u ovoj fascikli",
- "Select all" : "Označi sve",
- "Name" : "Naziv",
- "Deleted" : "Obrisano"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files_trashbin/l10n/sr@latin.json b/apps/files_trashbin/l10n/sr@latin.json
deleted file mode 100644
index 462e2f21e2a..00000000000
--- a/apps/files_trashbin/l10n/sr@latin.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{ "translations": {
- "Couldn't delete %s permanently" : "Ne mogu zauvek da obrišem %s",
- "Couldn't restore %s" : "Ne mogu da vratim %s",
- "Deleted files" : "Obrisani fajlovi",
- "Restore" : "Vrati",
- "Delete" : "Obriši",
- "Delete permanently" : "Obriši zauvek",
- "Error" : "Greška",
- "restored" : "vraćeno",
- "No deleted files" : "Nema obrisanih fajlova",
- "You will be able to recover deleted files from here" : "Odavde ćete moći da povratite obrisane fajlove",
- "No entries found in this folder" : "Nema ničega u ovoj fascikli",
- "Select all" : "Označi sve",
- "Name" : "Naziv",
- "Deleted" : "Obrisano"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/sv.js b/apps/files_trashbin/l10n/sv.js
index 265736af1c8..8f84f5c04f4 100644
--- a/apps/files_trashbin/l10n/sv.js
+++ b/apps/files_trashbin/l10n/sv.js
@@ -23,6 +23,8 @@ OC.L10N.register(
"You" : "Du",
"List of files that have been deleted." : "Lista över filer som har tagits bort.",
"No deleted files" : "Inga borttagna filer",
- "Files and folders you have deleted will show up here" : "Filer och mappar som du har tagit bort kommer att visas här"
+ "Files and folders you have deleted will show up here" : "Filer och mappar som du har tagit bort kommer att visas här",
+ "All files have been permanently deleted" : "Alla filer har raderats permanent",
+ "Failed to empty deleted files" : "Kunde inte tömma raderade filer"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/sv.json b/apps/files_trashbin/l10n/sv.json
index c2ebb95fced..2d4dcfb7d6f 100644
--- a/apps/files_trashbin/l10n/sv.json
+++ b/apps/files_trashbin/l10n/sv.json
@@ -21,6 +21,8 @@
"You" : "Du",
"List of files that have been deleted." : "Lista över filer som har tagits bort.",
"No deleted files" : "Inga borttagna filer",
- "Files and folders you have deleted will show up here" : "Filer och mappar som du har tagit bort kommer att visas här"
+ "Files and folders you have deleted will show up here" : "Filer och mappar som du har tagit bort kommer att visas här",
+ "All files have been permanently deleted" : "Alla filer har raderats permanent",
+ "Failed to empty deleted files" : "Kunde inte tömma raderade filer"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/th.js b/apps/files_trashbin/l10n/th.js
deleted file mode 100644
index 5b6078d6928..00000000000
--- a/apps/files_trashbin/l10n/th.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "restored" : "เรียกคืนแล้ว",
- "Deleted files" : "ไฟล์ที่ถูกลบ",
- "Restore" : "คืนค่า",
- "Unknown" : "ไม่ทราบ",
- "All files" : "ไฟล์ทั้งหมด",
- "Deleted" : "ลบแล้ว",
- "No deleted files" : "ไม่มีไฟล์ที่ถูกลบ",
- "You will be able to recover deleted files from here" : "คุณจะสามารถกู้คืนไฟล์ที่ถูกได้ลบจากที่นี่",
- "No entries found in this folder" : "ไม่พบรายการในโฟลเดอร์นี้",
- "Select all" : "เลือกทั้งหมด",
- "Name" : "ชื่อ",
- "Actions" : "การกระทำ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_trashbin/l10n/th.json b/apps/files_trashbin/l10n/th.json
deleted file mode 100644
index 77668f1bdd4..00000000000
--- a/apps/files_trashbin/l10n/th.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "restored" : "เรียกคืนแล้ว",
- "Deleted files" : "ไฟล์ที่ถูกลบ",
- "Restore" : "คืนค่า",
- "Unknown" : "ไม่ทราบ",
- "All files" : "ไฟล์ทั้งหมด",
- "Deleted" : "ลบแล้ว",
- "No deleted files" : "ไม่มีไฟล์ที่ถูกลบ",
- "You will be able to recover deleted files from here" : "คุณจะสามารถกู้คืนไฟล์ที่ถูกได้ลบจากที่นี่",
- "No entries found in this folder" : "ไม่พบรายการในโฟลเดอร์นี้",
- "Select all" : "เลือกทั้งหมด",
- "Name" : "ชื่อ",
- "Actions" : "การกระทำ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/tr.js b/apps/files_trashbin/l10n/tr.js
index 216fc650ccc..ab14ad7cad8 100644
--- a/apps/files_trashbin/l10n/tr.js
+++ b/apps/files_trashbin/l10n/tr.js
@@ -5,8 +5,9 @@ OC.L10N.register(
"Deleted files" : "Silinmiş dosyalar",
"Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Çöp kutusundaki silinmiş dosya ve klasörler (depolama alanınız azsa dışa aktarma sırasında tükenebilir)",
"This application enables people to restore files that were deleted from the system." : "Bu uygulama kişilerin sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar.",
- "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Bu uygulama kişilerin sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar. Site arayüzünde silinmiş dosyaların listesini ve kullanıcı klasörlerine geri yükleme ya da kalıcı olarak silme seçeneklerini görüntüler. Sürümler uygulaması etkin ise, geri yüklenen dosyaların önceki sürümleri de geri yüklenir. Paylaşım üzerinden silinen dosyalar da aynı şekilde ancak paylaşılmamış olarak geri yüklenebilir. Silinmiş dosyalar varsayılan olarak 30 gün boyunca çöp kutusunda tutulur.\nSilinmiş dosyalar uygulaması kişilerin disk alanının dolmasını engellemek için, hesap depolama alanının en çok %50 oranındaki bölümünü kullanır. Silinmiş dosyaların boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski silinmiş dosyalar silinir. Ayrıntılı bilgi almak için Silinmiş Dosyalar uygulamasının belgelerine bakabilirsiniz.",
+ "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Bu uygulama kişilerin sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar. Site arayüzünde silinmiş dosyaların listesini ve kullanıcı klasörlerine geri yükleme ya da kalıcı olarak silme seçeneklerini görüntüler. Sürümler uygulaması kullanıma alınmış ise, geri yüklenen dosyaların önceki sürümleri de geri yüklenir. Paylaşım üzerinden silinen dosyalar da aynı şekilde ancak paylaşılmamış olarak geri yüklenebilir. Silinmiş dosyalar varsayılan olarak 30 gün boyunca çöp kutusunda tutulur.\nSilinmiş dosyalar uygulaması kişilerin disk alanının dolmasını engellemek için, hesap depolama alanının en çok %50 oranındaki bölümünü kullanır. Silinmiş dosyaların boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski silinmiş dosyalar silinir. Ayrıntılı bilgi almak için Silinmiş Dosyalar uygulamasının belgelerine bakabilirsiniz.",
"Restore" : "Geri yükle",
+ "Not enough free space to restore the file/folder" : "Dosyayı veya klasörü geri yüklemek için yeterli boş alan yok",
"Empty deleted files" : "Silinmiş dosyaları yok et",
"Confirm permanent deletion" : "Kalıcı olarak silmeyi onaylayın",
"Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Çöp kutusundaki tüm dosyaları ve klasörleri kalıcı olarak silmek istediğinize emin misiniz? Bu işlem geri alınamaz.",
@@ -15,12 +16,15 @@ OC.L10N.register(
"Original location" : "Özgün konum",
"Deleted by" : "Silen",
"Deleted" : "Silindi",
+ "few seconds ago" : "bir kaç saniye önce",
"A long time ago" : "Uzun süre önce",
"Unknown" : "Bilinmiyor",
"All files" : "Tüm dosyalar",
"You" : "Siz",
"List of files that have been deleted." : "Silinmiş dosyaların listesi",
"No deleted files" : "Silinmiş bir dosya yok",
- "Files and folders you have deleted will show up here" : "Sildiğiniz dosya ve klasörler burada görüntülenir"
+ "Files and folders you have deleted will show up here" : "Sildiğiniz dosya ve klasörler burada görüntülenir",
+ "All files have been permanently deleted" : "Tüm dosyalar kalıcı olarak silindi",
+ "Failed to empty deleted files" : "Silinmiş dosyalar bölümü boşaltılamadı"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_trashbin/l10n/tr.json b/apps/files_trashbin/l10n/tr.json
index 0a5f7c83b66..0d86ecf3639 100644
--- a/apps/files_trashbin/l10n/tr.json
+++ b/apps/files_trashbin/l10n/tr.json
@@ -3,8 +3,9 @@
"Deleted files" : "Silinmiş dosyalar",
"Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Çöp kutusundaki silinmiş dosya ve klasörler (depolama alanınız azsa dışa aktarma sırasında tükenebilir)",
"This application enables people to restore files that were deleted from the system." : "Bu uygulama kişilerin sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar.",
- "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Bu uygulama kişilerin sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar. Site arayüzünde silinmiş dosyaların listesini ve kullanıcı klasörlerine geri yükleme ya da kalıcı olarak silme seçeneklerini görüntüler. Sürümler uygulaması etkin ise, geri yüklenen dosyaların önceki sürümleri de geri yüklenir. Paylaşım üzerinden silinen dosyalar da aynı şekilde ancak paylaşılmamış olarak geri yüklenebilir. Silinmiş dosyalar varsayılan olarak 30 gün boyunca çöp kutusunda tutulur.\nSilinmiş dosyalar uygulaması kişilerin disk alanının dolmasını engellemek için, hesap depolama alanının en çok %50 oranındaki bölümünü kullanır. Silinmiş dosyaların boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski silinmiş dosyalar silinir. Ayrıntılı bilgi almak için Silinmiş Dosyalar uygulamasının belgelerine bakabilirsiniz.",
+ "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Bu uygulama kişilerin sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar. Site arayüzünde silinmiş dosyaların listesini ve kullanıcı klasörlerine geri yükleme ya da kalıcı olarak silme seçeneklerini görüntüler. Sürümler uygulaması kullanıma alınmış ise, geri yüklenen dosyaların önceki sürümleri de geri yüklenir. Paylaşım üzerinden silinen dosyalar da aynı şekilde ancak paylaşılmamış olarak geri yüklenebilir. Silinmiş dosyalar varsayılan olarak 30 gün boyunca çöp kutusunda tutulur.\nSilinmiş dosyalar uygulaması kişilerin disk alanının dolmasını engellemek için, hesap depolama alanının en çok %50 oranındaki bölümünü kullanır. Silinmiş dosyaların boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski silinmiş dosyalar silinir. Ayrıntılı bilgi almak için Silinmiş Dosyalar uygulamasının belgelerine bakabilirsiniz.",
"Restore" : "Geri yükle",
+ "Not enough free space to restore the file/folder" : "Dosyayı veya klasörü geri yüklemek için yeterli boş alan yok",
"Empty deleted files" : "Silinmiş dosyaları yok et",
"Confirm permanent deletion" : "Kalıcı olarak silmeyi onaylayın",
"Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Çöp kutusundaki tüm dosyaları ve klasörleri kalıcı olarak silmek istediğinize emin misiniz? Bu işlem geri alınamaz.",
@@ -13,12 +14,15 @@
"Original location" : "Özgün konum",
"Deleted by" : "Silen",
"Deleted" : "Silindi",
+ "few seconds ago" : "bir kaç saniye önce",
"A long time ago" : "Uzun süre önce",
"Unknown" : "Bilinmiyor",
"All files" : "Tüm dosyalar",
"You" : "Siz",
"List of files that have been deleted." : "Silinmiş dosyaların listesi",
"No deleted files" : "Silinmiş bir dosya yok",
- "Files and folders you have deleted will show up here" : "Sildiğiniz dosya ve klasörler burada görüntülenir"
+ "Files and folders you have deleted will show up here" : "Sildiğiniz dosya ve klasörler burada görüntülenir",
+ "All files have been permanently deleted" : "Tüm dosyalar kalıcı olarak silindi",
+ "Failed to empty deleted files" : "Silinmiş dosyalar bölümü boşaltılamadı"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files_trashbin/l10n/ur_PK.js b/apps/files_trashbin/l10n/ur_PK.js
deleted file mode 100644
index eaa9dca8e34..00000000000
--- a/apps/files_trashbin/l10n/ur_PK.js
+++ /dev/null
@@ -1,14 +0,0 @@
-OC.L10N.register(
- "files_trashbin",
- {
- "Couldn't delete %s permanently" : "حذف نہیں ہو سکتا %s مستقل طور پر",
- "Couldn't restore %s" : "بحال نہيں کيا جا سکتا %s",
- "Deleted files" : "حذف شدہ فائليں",
- "Restore" : "بحال",
- "Delete" : "حذف کریں",
- "Error" : "ایرر",
- "restored" : "بحال شدہ",
- "Name" : "اسم",
- "Deleted" : "حذف شدہ "
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_trashbin/l10n/ur_PK.json b/apps/files_trashbin/l10n/ur_PK.json
deleted file mode 100644
index fd88573d62a..00000000000
--- a/apps/files_trashbin/l10n/ur_PK.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{ "translations": {
- "Couldn't delete %s permanently" : "حذف نہیں ہو سکتا %s مستقل طور پر",
- "Couldn't restore %s" : "بحال نہيں کيا جا سکتا %s",
- "Deleted files" : "حذف شدہ فائليں",
- "Restore" : "بحال",
- "Delete" : "حذف کریں",
- "Error" : "ایرر",
- "restored" : "بحال شدہ",
- "Name" : "اسم",
- "Deleted" : "حذف شدہ "
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/af.js b/apps/files_versions/l10n/af.js
deleted file mode 100644
index 7986f018877..00000000000
--- a/apps/files_versions/l10n/af.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Weergawes",
- "Failed to revert {file} to revision {timestamp}." : "Kon nie {file} na {timestamp} se hersiening terugstel nie.",
- "_%n byte_::_%n bytes_" : ["%n greep","%n grepe"],
- "Restore" : "Herstel"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/af.json b/apps/files_versions/l10n/af.json
deleted file mode 100644
index 23f30920b9e..00000000000
--- a/apps/files_versions/l10n/af.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Weergawes",
- "Failed to revert {file} to revision {timestamp}." : "Kon nie {file} na {timestamp} se hersiening terugstel nie.",
- "_%n byte_::_%n bytes_" : ["%n greep","%n grepe"],
- "Restore" : "Herstel"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/az.js b/apps/files_versions/l10n/az.js
deleted file mode 100644
index 34c9ddf1c9b..00000000000
--- a/apps/files_versions/l10n/az.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiyaları",
- "Failed to revert {file} to revision {timestamp}." : "{timestamp} yenidən baxılması üçün {file} geri qaytarmaq mümkün olmadı.",
- "Restore" : "Geri qaytar",
- "No other versions available" : "Başqa versiyalar mövcud deyil"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/az.json b/apps/files_versions/l10n/az.json
deleted file mode 100644
index dd67d6ca403..00000000000
--- a/apps/files_versions/l10n/az.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiyaları",
- "Failed to revert {file} to revision {timestamp}." : "{timestamp} yenidən baxılması üçün {file} geri qaytarmaq mümkün olmadı.",
- "Restore" : "Geri qaytar",
- "No other versions available" : "Başqa versiyalar mövcud deyil"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/bn_BD.js b/apps/files_versions/l10n/bn_BD.js
deleted file mode 100644
index 4466198c4f3..00000000000
--- a/apps/files_versions/l10n/bn_BD.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "সংষ্করন",
- "Failed to revert {file} to revision {timestamp}." : " {file} সংশোধিত {timestamp} এ ফিরে যেতে ব্যার্থ হলো।",
- "Restore" : "ফিরিয়ে দাও",
- "No other versions available" : "আর কোন সংষ্করণ প্রাপ্তব্য নয়"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/bn_BD.json b/apps/files_versions/l10n/bn_BD.json
deleted file mode 100644
index 09ac6eae066..00000000000
--- a/apps/files_versions/l10n/bn_BD.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "সংষ্করন",
- "Failed to revert {file} to revision {timestamp}." : " {file} সংশোধিত {timestamp} এ ফিরে যেতে ব্যার্থ হলো।",
- "Restore" : "ফিরিয়ে দাও",
- "No other versions available" : "আর কোন সংষ্করণ প্রাপ্তব্য নয়"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/br.js b/apps/files_versions/l10n/br.js
deleted file mode 100644
index 2b6cc838a27..00000000000
--- a/apps/files_versions/l10n/br.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Stumm",
- "This application automatically maintains older versions of files that are changed." : "Ar meziant-man a laosk en un doare otomatek stumm ar resrtoù kozh a vez cheñchet",
- "Version" : "Stumm",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ar meziant a dalc'h en un doare otomatek stummoù kozh ar restroù cheñchet. P'az eo aotreet, un teuliad koachet a vez roet e pep teuliad an implijour evit gwarn stummoù kozh ar restr. An implijer a c'hel adkemer ur stumm kozh n'eus forz peseurt amzer dre an etrefas web. Ar meziant a ra war dro teuliad ar stummoù evit bezhañ sur ez eus traouac'h a cQuota gant an implijer.\n\t\tOuzhpenn ar stumm diskarzed, stumm ar meziant a ra ma ne vefe ket implijet muioc'h eget 50% eus a plass vak an implijer. M'a vez dibaset e vo lemmet gant ar meziant ar stumm kozhañ da gentañ. Muioc'h titouriù en dielvadur Versions. ",
- "Failed to revert {file} to revision {timestamp}." : "C'hwitet m ar mon en dro {file} evit adober {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n okted","%n okted","%n okted","%n okted","%n octed"],
- "Restore" : "Adkrouiñ",
- "No other versions available" : "Stumm all ebet kavet"
-},
-"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);");
diff --git a/apps/files_versions/l10n/br.json b/apps/files_versions/l10n/br.json
deleted file mode 100644
index 5ebdc584bee..00000000000
--- a/apps/files_versions/l10n/br.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "Versions" : "Stumm",
- "This application automatically maintains older versions of files that are changed." : "Ar meziant-man a laosk en un doare otomatek stumm ar resrtoù kozh a vez cheñchet",
- "Version" : "Stumm",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ar meziant a dalc'h en un doare otomatek stummoù kozh ar restroù cheñchet. P'az eo aotreet, un teuliad koachet a vez roet e pep teuliad an implijour evit gwarn stummoù kozh ar restr. An implijer a c'hel adkemer ur stumm kozh n'eus forz peseurt amzer dre an etrefas web. Ar meziant a ra war dro teuliad ar stummoù evit bezhañ sur ez eus traouac'h a cQuota gant an implijer.\n\t\tOuzhpenn ar stumm diskarzed, stumm ar meziant a ra ma ne vefe ket implijet muioc'h eget 50% eus a plass vak an implijer. M'a vez dibaset e vo lemmet gant ar meziant ar stumm kozhañ da gentañ. Muioc'h titouriù en dielvadur Versions. ",
- "Failed to revert {file} to revision {timestamp}." : "C'hwitet m ar mon en dro {file} evit adober {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n okted","%n okted","%n okted","%n okted","%n octed"],
- "Restore" : "Adkrouiñ",
- "No other versions available" : "Stumm all ebet kavet"
-},"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/bs.js b/apps/files_versions/l10n/bs.js
deleted file mode 100644
index 2a971f48b21..00000000000
--- a/apps/files_versions/l10n/bs.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Verzije",
- "Failed to revert {file} to revision {timestamp}." : "Nije uspelo vraćanje {file} na reviziju {timestamp}.",
- "Restore" : "Obnovi",
- "No other versions available" : "Druge verzije su nedostupne"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files_versions/l10n/bs.json b/apps/files_versions/l10n/bs.json
deleted file mode 100644
index c4c20540e14..00000000000
--- a/apps/files_versions/l10n/bs.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Verzije",
- "Failed to revert {file} to revision {timestamp}." : "Nije uspelo vraćanje {file} na reviziju {timestamp}.",
- "Restore" : "Obnovi",
- "No other versions available" : "Druge verzije su nedostupne"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/cy_GB.js b/apps/files_versions/l10n/cy_GB.js
deleted file mode 100644
index e5285e2e157..00000000000
--- a/apps/files_versions/l10n/cy_GB.js
+++ /dev/null
@@ -1,6 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Restore" : "Adfer"
-},
-"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;");
diff --git a/apps/files_versions/l10n/cy_GB.json b/apps/files_versions/l10n/cy_GB.json
deleted file mode 100644
index 5ad23a5ac6f..00000000000
--- a/apps/files_versions/l10n/cy_GB.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "translations": {
- "Restore" : "Adfer"
-},"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/files_versions/l10n/eo.js b/apps/files_versions/l10n/eo.js
deleted file mode 100644
index 90c2546c3c2..00000000000
--- a/apps/files_versions/l10n/eo.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versioj",
- "This application automatically maintains older versions of files that are changed." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis.",
- "Version" : "Versio",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis. Kiam ĝi estas ebligita, kaŝita dosierujo por enteni versiojn kreiĝas en ĉiu uzantodosierujo kaj uziĝas por konservi la antaŭajn versiojn de dosieroj. Uzanto povas reveni al antaŭa versio pere de la TTT-a fasado iam ajn, kaj la anstataŭigita dosiero iĝas versio. La aplikaĵo aŭtomate observas la versian dosierujon por garantii, ke la uzanto ne transpasu sian kvoton pro troaj versioj.\n\t\tKrom la eksvalidiĝo de versioj, la aplikaĵo neniam uzas pli ol 50 % de la aktuala libera spaco de la uzanto. Se la konservitaj versioj transpasos tiun limon, la aplikaĵo forigos la plej antaŭajn versiojn ĝis atingo de la limo. Pliaj informoj disponeblas en la dokumentaro pri Versioj.",
- "Failed to revert {file} to revision {timestamp}." : "Malsukcesis remeti {file} al la revizio {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n bajto","%n bajtoj"],
- "Restore" : "Restaŭri",
- "No other versions available" : "Neniu alia versio disponeblas"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/eo.json b/apps/files_versions/l10n/eo.json
deleted file mode 100644
index 8a76db600d7..00000000000
--- a/apps/files_versions/l10n/eo.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "Versions" : "Versioj",
- "This application automatically maintains older versions of files that are changed." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis.",
- "Version" : "Versio",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis. Kiam ĝi estas ebligita, kaŝita dosierujo por enteni versiojn kreiĝas en ĉiu uzantodosierujo kaj uziĝas por konservi la antaŭajn versiojn de dosieroj. Uzanto povas reveni al antaŭa versio pere de la TTT-a fasado iam ajn, kaj la anstataŭigita dosiero iĝas versio. La aplikaĵo aŭtomate observas la versian dosierujon por garantii, ke la uzanto ne transpasu sian kvoton pro troaj versioj.\n\t\tKrom la eksvalidiĝo de versioj, la aplikaĵo neniam uzas pli ol 50 % de la aktuala libera spaco de la uzanto. Se la konservitaj versioj transpasos tiun limon, la aplikaĵo forigos la plej antaŭajn versiojn ĝis atingo de la limo. Pliaj informoj disponeblas en la dokumentaro pri Versioj.",
- "Failed to revert {file} to revision {timestamp}." : "Malsukcesis remeti {file} al la revizio {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n bajto","%n bajtoj"],
- "Restore" : "Restaŭri",
- "No other versions available" : "Neniu alia versio disponeblas"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_419.js b/apps/files_versions/l10n/es_419.js
deleted file mode 100644
index 5d974ef3480..00000000000
--- a/apps/files_versions/l10n/es_419.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_419.json b/apps/files_versions/l10n/es_419.json
deleted file mode 100644
index 4348982b777..00000000000
--- a/apps/files_versions/l10n/es_419.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_AR.js b/apps/files_versions/l10n/es_AR.js
deleted file mode 100644
index 4f6573a0e18..00000000000
--- a/apps/files_versions/l10n/es_AR.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {archivo} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar",
- "No other versions available" : "No hay más versiones disponibles"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_AR.json b/apps/files_versions/l10n/es_AR.json
deleted file mode 100644
index b00cf1b0550..00000000000
--- a/apps/files_versions/l10n/es_AR.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {archivo} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar",
- "No other versions available" : "No hay más versiones disponibles"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_CL.js b/apps/files_versions/l10n/es_CL.js
deleted file mode 100644
index 5d974ef3480..00000000000
--- a/apps/files_versions/l10n/es_CL.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_CL.json b/apps/files_versions/l10n/es_CL.json
deleted file mode 100644
index 4348982b777..00000000000
--- a/apps/files_versions/l10n/es_CL.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_CO.js b/apps/files_versions/l10n/es_CO.js
deleted file mode 100644
index 5d974ef3480..00000000000
--- a/apps/files_versions/l10n/es_CO.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_CO.json b/apps/files_versions/l10n/es_CO.json
deleted file mode 100644
index 4348982b777..00000000000
--- a/apps/files_versions/l10n/es_CO.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_CR.js b/apps/files_versions/l10n/es_CR.js
deleted file mode 100644
index 5d974ef3480..00000000000
--- a/apps/files_versions/l10n/es_CR.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_CR.json b/apps/files_versions/l10n/es_CR.json
deleted file mode 100644
index 4348982b777..00000000000
--- a/apps/files_versions/l10n/es_CR.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_DO.js b/apps/files_versions/l10n/es_DO.js
deleted file mode 100644
index 5d974ef3480..00000000000
--- a/apps/files_versions/l10n/es_DO.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_DO.json b/apps/files_versions/l10n/es_DO.json
deleted file mode 100644
index 4348982b777..00000000000
--- a/apps/files_versions/l10n/es_DO.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_GT.js b/apps/files_versions/l10n/es_GT.js
deleted file mode 100644
index 5d974ef3480..00000000000
--- a/apps/files_versions/l10n/es_GT.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_GT.json b/apps/files_versions/l10n/es_GT.json
deleted file mode 100644
index 4348982b777..00000000000
--- a/apps/files_versions/l10n/es_GT.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_HN.js b/apps/files_versions/l10n/es_HN.js
deleted file mode 100644
index 5d974ef3480..00000000000
--- a/apps/files_versions/l10n/es_HN.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_HN.json b/apps/files_versions/l10n/es_HN.json
deleted file mode 100644
index 4348982b777..00000000000
--- a/apps/files_versions/l10n/es_HN.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_NI.js b/apps/files_versions/l10n/es_NI.js
deleted file mode 100644
index 5d974ef3480..00000000000
--- a/apps/files_versions/l10n/es_NI.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_NI.json b/apps/files_versions/l10n/es_NI.json
deleted file mode 100644
index 4348982b777..00000000000
--- a/apps/files_versions/l10n/es_NI.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_PA.js b/apps/files_versions/l10n/es_PA.js
deleted file mode 100644
index 5d974ef3480..00000000000
--- a/apps/files_versions/l10n/es_PA.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_PA.json b/apps/files_versions/l10n/es_PA.json
deleted file mode 100644
index 4348982b777..00000000000
--- a/apps/files_versions/l10n/es_PA.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_PE.js b/apps/files_versions/l10n/es_PE.js
deleted file mode 100644
index 5d974ef3480..00000000000
--- a/apps/files_versions/l10n/es_PE.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_PE.json b/apps/files_versions/l10n/es_PE.json
deleted file mode 100644
index 4348982b777..00000000000
--- a/apps/files_versions/l10n/es_PE.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_PR.js b/apps/files_versions/l10n/es_PR.js
deleted file mode 100644
index 5d974ef3480..00000000000
--- a/apps/files_versions/l10n/es_PR.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_PR.json b/apps/files_versions/l10n/es_PR.json
deleted file mode 100644
index 4348982b777..00000000000
--- a/apps/files_versions/l10n/es_PR.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_PY.js b/apps/files_versions/l10n/es_PY.js
deleted file mode 100644
index 5d974ef3480..00000000000
--- a/apps/files_versions/l10n/es_PY.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_PY.json b/apps/files_versions/l10n/es_PY.json
deleted file mode 100644
index 4348982b777..00000000000
--- a/apps/files_versions/l10n/es_PY.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_SV.js b/apps/files_versions/l10n/es_SV.js
deleted file mode 100644
index 5d974ef3480..00000000000
--- a/apps/files_versions/l10n/es_SV.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_SV.json b/apps/files_versions/l10n/es_SV.json
deleted file mode 100644
index 4348982b777..00000000000
--- a/apps/files_versions/l10n/es_SV.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_UY.js b/apps/files_versions/l10n/es_UY.js
deleted file mode 100644
index 5d974ef3480..00000000000
--- a/apps/files_versions/l10n/es_UY.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_UY.json b/apps/files_versions/l10n/es_UY.json
deleted file mode 100644
index 4348982b777..00000000000
--- a/apps/files_versions/l10n/es_UY.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/he.js b/apps/files_versions/l10n/he.js
deleted file mode 100644
index edeac4bb278..00000000000
--- a/apps/files_versions/l10n/he.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "גרסאות",
- "This application automatically maintains older versions of files that are changed." : "יישומון זה שומר אוטומטית על גרסאות קודמות של קבצים שהשתנו.",
- "Version" : "גרסה",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "יישום זה מתחזק באופן אוטומטי גרסאות ישנות יותר של קבצים שמשתנים. כאשר היא מופעלת, תיקייה של גרסאות נסתרות מסופקת בספריה של כל משתמש, ומשמשת לאחסן גרסאות קבצים ישנות. משתמש יכול לחזור לגרסה ישנה יותר באמצעות ממשק האינטרנט בכל עת, כאשר הקובץ שהוחלף יהפוך לגרסה. האפליקציה מנהלת באופן אוטומטי את תיקיית הגרסאות כדי להבטיח שלמשתמש לא נגמר המכסה בגלל גרסאות.\nבנוסף לתום תפוגת הגרסאות, אפליקציית הגרסאות מקפידה שלא להשתמש ביותר מ -50% מהשטח הפנוי של המשתמש הזמין כרגע. אם גרסאות מאוחסנות חורגות ממגבלה זו, האפליקציה תמחק תחילה את הגרסאות העתיקות ביותר, עד שתעמוד במגבלה זו. מידע נוסף זמין בתיעוד ה-Versions.",
- "Failed to revert {file} to revision {timestamp}." : "נכשל אחזור {file} לגרסה {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n בייט","%n בייטים","%n בייטים","%n בייטים"],
- "Restore" : "שחזור",
- "No other versions available" : "אין גרסאות אחרות זמינות"
-},
-"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
diff --git a/apps/files_versions/l10n/he.json b/apps/files_versions/l10n/he.json
deleted file mode 100644
index 91c9f75130d..00000000000
--- a/apps/files_versions/l10n/he.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "Versions" : "גרסאות",
- "This application automatically maintains older versions of files that are changed." : "יישומון זה שומר אוטומטית על גרסאות קודמות של קבצים שהשתנו.",
- "Version" : "גרסה",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "יישום זה מתחזק באופן אוטומטי גרסאות ישנות יותר של קבצים שמשתנים. כאשר היא מופעלת, תיקייה של גרסאות נסתרות מסופקת בספריה של כל משתמש, ומשמשת לאחסן גרסאות קבצים ישנות. משתמש יכול לחזור לגרסה ישנה יותר באמצעות ממשק האינטרנט בכל עת, כאשר הקובץ שהוחלף יהפוך לגרסה. האפליקציה מנהלת באופן אוטומטי את תיקיית הגרסאות כדי להבטיח שלמשתמש לא נגמר המכסה בגלל גרסאות.\nבנוסף לתום תפוגת הגרסאות, אפליקציית הגרסאות מקפידה שלא להשתמש ביותר מ -50% מהשטח הפנוי של המשתמש הזמין כרגע. אם גרסאות מאוחסנות חורגות ממגבלה זו, האפליקציה תמחק תחילה את הגרסאות העתיקות ביותר, עד שתעמוד במגבלה זו. מידע נוסף זמין בתיעוד ה-Versions.",
- "Failed to revert {file} to revision {timestamp}." : "נכשל אחזור {file} לגרסה {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n בייט","%n בייטים","%n בייטים","%n בייטים"],
- "Restore" : "שחזור",
- "No other versions available" : "אין גרסאות אחרות זמינות"
-},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/hr.js b/apps/files_versions/l10n/hr.js
deleted file mode 100644
index a5a02529866..00000000000
--- a/apps/files_versions/l10n/hr.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Inačice",
- "This application automatically maintains older versions of files that are changed." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene.",
- "Version" : "Inačica",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene. Kad se omogući, u direktoriju svakog korisnika stvori se skrivena mapa s inačicama i koristi za pohranu starih inačica datoteka. Korisnik se u bilo kojem trenutku može vratiti na stariju inačicu putem web sučelja, a zamijenjena datoteka postaje inačica. Aplikacija automatski upravlja mapom s inačicama kako bi se osiguralo da korisnik ne ostane bez prostora zbog brojnih inačica.\n\t\tOsim isteka inačica, aplikacija za inačice pazi da nikada ne iskoristite više od 50 % trenutno dostupnog slobodnog prostora. Ako pohranjene inačice premaše ovo ograničenje, aplikacija će najprije izbrisati najstarije inačice tako da dosegne navedeno ograničenje. Više informacija dostupno je u dokumentaciji Inačice.",
- "Failed to revert {file} to revision {timestamp}." : "Neuspješno vraćanje {file} na reviziju {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtova","%n bajtova"],
- "Restore" : "Vrati",
- "No other versions available" : "Nema drugih inačica"
-},
-"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/files_versions/l10n/hr.json b/apps/files_versions/l10n/hr.json
deleted file mode 100644
index 76607baf3e9..00000000000
--- a/apps/files_versions/l10n/hr.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "Versions" : "Inačice",
- "This application automatically maintains older versions of files that are changed." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene.",
- "Version" : "Inačica",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene. Kad se omogući, u direktoriju svakog korisnika stvori se skrivena mapa s inačicama i koristi za pohranu starih inačica datoteka. Korisnik se u bilo kojem trenutku može vratiti na stariju inačicu putem web sučelja, a zamijenjena datoteka postaje inačica. Aplikacija automatski upravlja mapom s inačicama kako bi se osiguralo da korisnik ne ostane bez prostora zbog brojnih inačica.\n\t\tOsim isteka inačica, aplikacija za inačice pazi da nikada ne iskoristite više od 50 % trenutno dostupnog slobodnog prostora. Ako pohranjene inačice premaše ovo ograničenje, aplikacija će najprije izbrisati najstarije inačice tako da dosegne navedeno ograničenje. Više informacija dostupno je u dokumentaciji Inačice.",
- "Failed to revert {file} to revision {timestamp}." : "Neuspješno vraćanje {file} na reviziju {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtova","%n bajtova"],
- "Restore" : "Vrati",
- "No other versions available" : "Nema drugih inačica"
-},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/hy.js b/apps/files_versions/l10n/hy.js
deleted file mode 100644
index d48487a9a84..00000000000
--- a/apps/files_versions/l10n/hy.js
+++ /dev/null
@@ -1,8 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Տարբերակներ",
- "Restore" : "Վերականգնել",
- "No other versions available" : "Այլ տարբերակներ չկան"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/hy.json b/apps/files_versions/l10n/hy.json
deleted file mode 100644
index 579b9240310..00000000000
--- a/apps/files_versions/l10n/hy.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{ "translations": {
- "Versions" : "Տարբերակներ",
- "Restore" : "Վերականգնել",
- "No other versions available" : "Այլ տարբերակներ չկան"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/ia.js b/apps/files_versions/l10n/ia.js
deleted file mode 100644
index 46aa143e4a7..00000000000
--- a/apps/files_versions/l10n/ia.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Il falleva a reverter {file} a revision {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
- "Restore" : "Restaurar",
- "No other versions available" : "Nulle altere versiones disponibile"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/ia.json b/apps/files_versions/l10n/ia.json
deleted file mode 100644
index 10c18bab080..00000000000
--- a/apps/files_versions/l10n/ia.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "Failed to revert {file} to revision {timestamp}." : "Il falleva a reverter {file} a revision {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
- "Restore" : "Restaurar",
- "No other versions available" : "Nulle altere versiones disponibile"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/id.js b/apps/files_versions/l10n/id.js
deleted file mode 100644
index 35ad4ded36e..00000000000
--- a/apps/files_versions/l10n/id.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versi",
- "This application automatically maintains older versions of files that are changed." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah.",
- "Version" : "Versi",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah. Saat diaktifkan, suatu folder tersembunyi akan dibuat pada semua direktori pengguna, dan digunakan sebagai wadah penyimpanan versi-versi berkas. Secara otomatis akan mengelola folder versi-versi untuk memastikan pengguna tidak kehabisan kuota dikarenakan versi yang ada.\n\t\tSebagai tambahan dari kedaluwarsa suatu versi, aplikasi ini memastikan tidak akan menggunakan kuota 50% lebih dari sisa kapasitas yang dimiliki oleh pengguna. Jika versi yang tersimpan melampaui batasan, maka versi tertua akan dihapus lebih dahulu sampai batasan kembali sesuai ketentuan. Informasi lebih lanjut mengenai Versi dapat dilihat pada dokumentasi",
- "Failed to revert {file} to revision {timestamp}." : "Gagal mengembalikan {file} ke revisi {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n bytes"],
- "Restore" : "Pulihkan",
- "No other versions available" : "Tidak ada versi lain yang tersedia"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/id.json b/apps/files_versions/l10n/id.json
deleted file mode 100644
index 4b38ca58c70..00000000000
--- a/apps/files_versions/l10n/id.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "Versions" : "Versi",
- "This application automatically maintains older versions of files that are changed." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah.",
- "Version" : "Versi",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah. Saat diaktifkan, suatu folder tersembunyi akan dibuat pada semua direktori pengguna, dan digunakan sebagai wadah penyimpanan versi-versi berkas. Secara otomatis akan mengelola folder versi-versi untuk memastikan pengguna tidak kehabisan kuota dikarenakan versi yang ada.\n\t\tSebagai tambahan dari kedaluwarsa suatu versi, aplikasi ini memastikan tidak akan menggunakan kuota 50% lebih dari sisa kapasitas yang dimiliki oleh pengguna. Jika versi yang tersimpan melampaui batasan, maka versi tertua akan dihapus lebih dahulu sampai batasan kembali sesuai ketentuan. Informasi lebih lanjut mengenai Versi dapat dilihat pada dokumentasi",
- "Failed to revert {file} to revision {timestamp}." : "Gagal mengembalikan {file} ke revisi {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n bytes"],
- "Restore" : "Pulihkan",
- "No other versions available" : "Tidak ada versi lain yang tersedia"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/ka_GE.js b/apps/files_versions/l10n/ka_GE.js
deleted file mode 100644
index 598dd4e40e3..00000000000
--- a/apps/files_versions/l10n/ka_GE.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "ვერსიები",
- "Failed to revert {file} to revision {timestamp}." : "ფაილის {file} დაბრუნება რევიზიაზე {timestamp} ვერ ხერხდება.",
- "_%n byte_::_%n bytes_" : ["%n ბაიტი","%n ბაიტი"],
- "Restore" : "აღდგენა"
-},
-"nplurals=2; plural=(n!=1);");
diff --git a/apps/files_versions/l10n/ka_GE.json b/apps/files_versions/l10n/ka_GE.json
deleted file mode 100644
index 1b2607a309b..00000000000
--- a/apps/files_versions/l10n/ka_GE.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "ვერსიები",
- "Failed to revert {file} to revision {timestamp}." : "ფაილის {file} დაბრუნება რევიზიაზე {timestamp} ვერ ხერხდება.",
- "_%n byte_::_%n bytes_" : ["%n ბაიტი","%n ბაიტი"],
- "Restore" : "აღდგენა"
-},"pluralForm" :"nplurals=2; plural=(n!=1);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/km.js b/apps/files_versions/l10n/km.js
deleted file mode 100644
index a459413b284..00000000000
--- a/apps/files_versions/l10n/km.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "កំណែ",
- "Failed to revert {file} to revision {timestamp}." : "មិន​អាច​ត្រឡប់ {file} ទៅ​កំណែ​សម្រួល {timestamp} បាន​ទេ។",
- "Restore" : "ស្ដារ​មក​វិញ",
- "No other versions available" : "មិន​មាន​កំណែ​ផ្សេង​ទៀត​ទេ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/km.json b/apps/files_versions/l10n/km.json
deleted file mode 100644
index b2e34f4fb35..00000000000
--- a/apps/files_versions/l10n/km.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "កំណែ",
- "Failed to revert {file} to revision {timestamp}." : "មិន​អាច​ត្រឡប់ {file} ទៅ​កំណែ​សម្រួល {timestamp} បាន​ទេ។",
- "Restore" : "ស្ដារ​មក​វិញ",
- "No other versions available" : "មិន​មាន​កំណែ​ផ្សេង​ទៀត​ទេ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/kn.js b/apps/files_versions/l10n/kn.js
deleted file mode 100644
index db64a419828..00000000000
--- a/apps/files_versions/l10n/kn.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "ಆವೃತ್ತಿಗಳು",
- "Failed to revert {file} to revision {timestamp}." : "{timestamp} ದ ಪರಿಷ್ಕರಣೆ ಇಂದ {file} ಕಡತವನ್ನು ಹಿಂದಿರುಗಿಸಲು ವಿಫಲವಾಗಿದೆ.",
- "Restore" : "ಮರುಸ್ಥಾಪಿಸು",
- "No other versions available" : "ಇನ್ನಿತರೆ ಯಾವುದೇ ಆವೃತ್ತಿಗಳು ಲಭ್ಯವಿಲ್ಲ"
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_versions/l10n/kn.json b/apps/files_versions/l10n/kn.json
deleted file mode 100644
index d7226c306eb..00000000000
--- a/apps/files_versions/l10n/kn.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "ಆವೃತ್ತಿಗಳು",
- "Failed to revert {file} to revision {timestamp}." : "{timestamp} ದ ಪರಿಷ್ಕರಣೆ ಇಂದ {file} ಕಡತವನ್ನು ಹಿಂದಿರುಗಿಸಲು ವಿಫಲವಾಗಿದೆ.",
- "Restore" : "ಮರುಸ್ಥಾಪಿಸು",
- "No other versions available" : "ಇನ್ನಿತರೆ ಯಾವುದೇ ಆವೃತ್ತಿಗಳು ಲಭ್ಯವಿಲ್ಲ"
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/lb.js b/apps/files_versions/l10n/lb.js
deleted file mode 100644
index d0339a4fd2a..00000000000
--- a/apps/files_versions/l10n/lb.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiounen",
- "Failed to revert {file} to revision {timestamp}." : "Konnt {file} net op d'Versioun {timestamp} zrécksetzen.",
- "_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"],
- "Restore" : "Zrécksetzen",
- "No other versions available" : "Keng aner Versiounen disponibel"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/lb.json b/apps/files_versions/l10n/lb.json
deleted file mode 100644
index 68b63f27485..00000000000
--- a/apps/files_versions/l10n/lb.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Versions" : "Versiounen",
- "Failed to revert {file} to revision {timestamp}." : "Konnt {file} net op d'Versioun {timestamp} zrécksetzen.",
- "_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"],
- "Restore" : "Zrécksetzen",
- "No other versions available" : "Keng aner Versiounen disponibel"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/lv.js b/apps/files_versions/l10n/lv.js
deleted file mode 100644
index 109c867101d..00000000000
--- a/apps/files_versions/l10n/lv.js
+++ /dev/null
@@ -1,12 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versijas",
- "This application automatically maintains older versions of files that are changed." : "Šī lietotne automātiski uztur vecākas versijas datnēm, kas tiek izmainītas.",
- "Version" : "Versija",
- "Failed to revert {file} to revision {timestamp}." : "Neizdevās atjaunot {file} no rediģējuma {timestamp} ",
- "_%n byte_::_%n bytes_" : ["%n baiti","%n baiti","%n baiti"],
- "Restore" : "Atjaunot",
- "No other versions available" : "Citas versijas nav pieejamas"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/files_versions/l10n/lv.json b/apps/files_versions/l10n/lv.json
deleted file mode 100644
index 46d90c62b7a..00000000000
--- a/apps/files_versions/l10n/lv.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{ "translations": {
- "Versions" : "Versijas",
- "This application automatically maintains older versions of files that are changed." : "Šī lietotne automātiski uztur vecākas versijas datnēm, kas tiek izmainītas.",
- "Version" : "Versija",
- "Failed to revert {file} to revision {timestamp}." : "Neizdevās atjaunot {file} no rediģējuma {timestamp} ",
- "_%n byte_::_%n bytes_" : ["%n baiti","%n baiti","%n baiti"],
- "Restore" : "Atjaunot",
- "No other versions available" : "Citas versijas nav pieejamas"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/ms_MY.js b/apps/files_versions/l10n/ms_MY.js
deleted file mode 100644
index 4ec22f9b141..00000000000
--- a/apps/files_versions/l10n/ms_MY.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versi",
- "Failed to revert {file} to revision {timestamp}." : "Gagal kembalikan {file} ke semakan {timestamp}.",
- "Restore" : "Pulihkan",
- "No other versions available" : "Tiada lagi versi lain"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/ms_MY.json b/apps/files_versions/l10n/ms_MY.json
deleted file mode 100644
index 7510c52ceb8..00000000000
--- a/apps/files_versions/l10n/ms_MY.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versi",
- "Failed to revert {file} to revision {timestamp}." : "Gagal kembalikan {file} ke semakan {timestamp}.",
- "Restore" : "Pulihkan",
- "No other versions available" : "Tiada lagi versi lain"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/nn_NO.js b/apps/files_versions/l10n/nn_NO.js
deleted file mode 100644
index 16ed15afe20..00000000000
--- a/apps/files_versions/l10n/nn_NO.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Utgåver",
- "Failed to revert {file} to revision {timestamp}." : "Klarte ikkje å tilbakestilla {file} til utgåva {timestamp}.",
- "Restore" : "Gjenopprett",
- "No other versions available" : "Ingen andre utgåver tilgjengeleg"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/nn_NO.json b/apps/files_versions/l10n/nn_NO.json
deleted file mode 100644
index ea92d533333..00000000000
--- a/apps/files_versions/l10n/nn_NO.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Utgåver",
- "Failed to revert {file} to revision {timestamp}." : "Klarte ikkje å tilbakestilla {file} til utgåva {timestamp}.",
- "Restore" : "Gjenopprett",
- "No other versions available" : "Ingen andre utgåver tilgjengeleg"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/oc.js b/apps/files_versions/l10n/oc.js
deleted file mode 100644
index c5f8550abe0..00000000000
--- a/apps/files_versions/l10n/oc.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versions",
- "_%n byte_::_%n bytes_" : ["%n octet","%n octets"],
- "Restore" : "Restaurar",
- "No other versions available" : "Cap d’autra version pas disponibla"
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_versions/l10n/oc.json b/apps/files_versions/l10n/oc.json
deleted file mode 100644
index af314939d07..00000000000
--- a/apps/files_versions/l10n/oc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Versions" : "Versions",
- "_%n byte_::_%n bytes_" : ["%n octet","%n octets"],
- "Restore" : "Restaurar",
- "No other versions available" : "Cap d’autra version pas disponibla"
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/pt_PT.js b/apps/files_versions/l10n/pt_PT.js
deleted file mode 100644
index 2af884961af..00000000000
--- a/apps/files_versions/l10n/pt_PT.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versões",
- "Failed to revert {file} to revision {timestamp}." : "Falhou a recuperação do ficheiro {file} para a revisão {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar",
- "No other versions available" : "Nenhuma outra versão disponível"
-},
-"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/pt_PT.json b/apps/files_versions/l10n/pt_PT.json
deleted file mode 100644
index 94cafae4a6e..00000000000
--- a/apps/files_versions/l10n/pt_PT.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Versions" : "Versões",
- "Failed to revert {file} to revision {timestamp}." : "Falhou a recuperação do ficheiro {file} para a revisão {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
- "Restore" : "Restaurar",
- "No other versions available" : "Nenhuma outra versão disponível"
-},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/ro.js b/apps/files_versions/l10n/ro.js
deleted file mode 100644
index 55279ebf913..00000000000
--- a/apps/files_versions/l10n/ro.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiuni",
- "This application automatically maintains older versions of files that are changed." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.",
- "Version" : "Versiune",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.Când este activată un dosar ascuns este creeat în dosarul personal al fiecărui utilizator pentru a memora versiunile mai vechi. Un utilizator poate să revină la o versiune mai veche folosind interfața web în orice moment, cu fișierul înlocuit devenind o versiune păstrată. Aplicația are grijă să nu rămână fără spațiu.\n\t\tDe asemenea aplicația are grijă să nu folosească mai mult de 50% din spațiul disponibil. Dacă veriunile vechi depășec această valoare atunci versiunile mai vechi vor fi șterse. Mai multe informații sunt disponibile în documentația aplicației Versiuni.",
- "Failed to revert {file} to revision {timestamp}." : "S-a eșuat restaurarea fișierului {file} la revizia {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n byți","%n byți"],
- "Restore" : "Restaurare",
- "No other versions available" : "Nu există alte versiuni disponibile"
-},
-"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/files_versions/l10n/ro.json b/apps/files_versions/l10n/ro.json
deleted file mode 100644
index 87c70af4531..00000000000
--- a/apps/files_versions/l10n/ro.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "Versions" : "Versiuni",
- "This application automatically maintains older versions of files that are changed." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.",
- "Version" : "Versiune",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.Când este activată un dosar ascuns este creeat în dosarul personal al fiecărui utilizator pentru a memora versiunile mai vechi. Un utilizator poate să revină la o versiune mai veche folosind interfața web în orice moment, cu fișierul înlocuit devenind o versiune păstrată. Aplicația are grijă să nu rămână fără spațiu.\n\t\tDe asemenea aplicația are grijă să nu folosească mai mult de 50% din spațiul disponibil. Dacă veriunile vechi depășec această valoare atunci versiunile mai vechi vor fi șterse. Mai multe informații sunt disponibile în documentația aplicației Versiuni.",
- "Failed to revert {file} to revision {timestamp}." : "S-a eșuat restaurarea fișierului {file} la revizia {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n byte","%n byți","%n byți"],
- "Restore" : "Restaurare",
- "No other versions available" : "Nu există alte versiuni disponibile"
-},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/sc.js b/apps/files_versions/l10n/sc.js
deleted file mode 100644
index 05799b22a12..00000000000
--- a/apps/files_versions/l10n/sc.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versiones",
- "This application automatically maintains older versions of files that are changed." : "Custa aplicatzione allogat de manera automàtica is versiones prus bècias de documentos modificados.",
- "Version" : "Versione",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Custa aplicatzione allogat in manera automàtica is versiones prus bècias de documentos modificados. Cando est ativa, frunit una cartella cuada de versiones in cada directory de s'utente e dda impreat pro allogare is versiones bècias de su documentu. S'utente podet semper torrare a una versione prus bècias cun s'interface de internet, e su documentu cambiadu benet a èssere una versione. S'aplicatzione gestit de manera automàtica is cartellas de versiones pro assegurare chi s'utente doesn’t run out of Quota because of versions.\n\t\t In prus de s'iscadèntzia de is versiones, s'aplicatzione assegurat de no impreare mai prus de su 50% de su logu lìberu a disponimentu de s'utente. Chi is versiones allogadas bàrigant custu lìmite, s'aplicatzione at a cantzellare innantis is versione prus bècias finas a lòmpere a su lìmite. Sunt disponìbiles prus informatziones in sa documentatzione de Versions.",
- "Failed to revert {file} to revision {timestamp}." : "Non s'at pòdidu torrare a {documentu} pro sa revisione {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%nbyte","%n bytes"],
- "Restore" : "Recùpera",
- "No other versions available" : "Peruna àtera versione disponìbile"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/sc.json b/apps/files_versions/l10n/sc.json
deleted file mode 100644
index add70007130..00000000000
--- a/apps/files_versions/l10n/sc.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "Versions" : "Versiones",
- "This application automatically maintains older versions of files that are changed." : "Custa aplicatzione allogat de manera automàtica is versiones prus bècias de documentos modificados.",
- "Version" : "Versione",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Custa aplicatzione allogat in manera automàtica is versiones prus bècias de documentos modificados. Cando est ativa, frunit una cartella cuada de versiones in cada directory de s'utente e dda impreat pro allogare is versiones bècias de su documentu. S'utente podet semper torrare a una versione prus bècias cun s'interface de internet, e su documentu cambiadu benet a èssere una versione. S'aplicatzione gestit de manera automàtica is cartellas de versiones pro assegurare chi s'utente doesn’t run out of Quota because of versions.\n\t\t In prus de s'iscadèntzia de is versiones, s'aplicatzione assegurat de no impreare mai prus de su 50% de su logu lìberu a disponimentu de s'utente. Chi is versiones allogadas bàrigant custu lìmite, s'aplicatzione at a cantzellare innantis is versione prus bècias finas a lòmpere a su lìmite. Sunt disponìbiles prus informatziones in sa documentatzione de Versions.",
- "Failed to revert {file} to revision {timestamp}." : "Non s'at pòdidu torrare a {documentu} pro sa revisione {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%nbyte","%n bytes"],
- "Restore" : "Recùpera",
- "No other versions available" : "Peruna àtera versione disponìbile"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/sq.js b/apps/files_versions/l10n/sq.js
deleted file mode 100644
index 59d42371c2f..00000000000
--- a/apps/files_versions/l10n/sq.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "Versione",
- "Failed to revert {file} to revision {timestamp}." : "Dështoi në rikthimin e {file} te rishikimi {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n bajte","%n bajte"],
- "Restore" : "Riktheje",
- "No other versions available" : "Nuk ka versione të tjera të gatshme"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/sq.json b/apps/files_versions/l10n/sq.json
deleted file mode 100644
index 73fe6d0ab58..00000000000
--- a/apps/files_versions/l10n/sq.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Versions" : "Versione",
- "Failed to revert {file} to revision {timestamp}." : "Dështoi në rikthimin e {file} te rishikimi {timestamp}.",
- "_%n byte_::_%n bytes_" : ["%n bajte","%n bajte"],
- "Restore" : "Riktheje",
- "No other versions available" : "Nuk ka versione të tjera të gatshme"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/sr@latin.js b/apps/files_versions/l10n/sr@latin.js
deleted file mode 100644
index 627d70eb51b..00000000000
--- a/apps/files_versions/l10n/sr@latin.js
+++ /dev/null
@@ -1,11 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Could not revert: %s" : "Ne mogu da vratim: %s",
- "Versions" : "Verzije",
- "Failed to revert {file} to revision {timestamp}." : "Ne mogu da vratim {file} na reviziju {timestamp}.",
- "Restore" : "Vrati",
- "No other versions available" : "Nema drugih verzija",
- "More versions..." : "Još verzija..."
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files_versions/l10n/sr@latin.json b/apps/files_versions/l10n/sr@latin.json
deleted file mode 100644
index 63fe55cf50e..00000000000
--- a/apps/files_versions/l10n/sr@latin.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{ "translations": {
- "Could not revert: %s" : "Ne mogu da vratim: %s",
- "Versions" : "Verzije",
- "Failed to revert {file} to revision {timestamp}." : "Ne mogu da vratim {file} na reviziju {timestamp}.",
- "Restore" : "Vrati",
- "No other versions available" : "Nema drugih verzija",
- "More versions..." : "Još verzija..."
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/th.js b/apps/files_versions/l10n/th.js
deleted file mode 100644
index e86c92c3e8b..00000000000
--- a/apps/files_versions/l10n/th.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Versions" : "รุ่น",
- "Failed to revert {file} to revision {timestamp}." : "{file} ล้มเหลวที่จะย้อนกลับไปยังการแก้ไขเมื่อ {timestamp}",
- "_%n byte_::_%n bytes_" : ["%n ไบต์"],
- "Restore" : "คืนค่า",
- "No other versions available" : "ไม่มีรุ่นอื่น ๆ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/th.json b/apps/files_versions/l10n/th.json
deleted file mode 100644
index c46285ab31f..00000000000
--- a/apps/files_versions/l10n/th.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Versions" : "รุ่น",
- "Failed to revert {file} to revision {timestamp}." : "{file} ล้มเหลวที่จะย้อนกลับไปยังการแก้ไขเมื่อ {timestamp}",
- "_%n byte_::_%n bytes_" : ["%n ไบต์"],
- "Restore" : "คืนค่า",
- "No other versions available" : "ไม่มีรุ่นอื่น ๆ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files_versions/l10n/tr.js b/apps/files_versions/l10n/tr.js
index 5d4b0ca44de..dc216107c52 100644
--- a/apps/files_versions/l10n/tr.js
+++ b/apps/files_versions/l10n/tr.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Versions" : "Sürümler",
"This application automatically maintains older versions of files that are changed." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar.",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the account does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the account's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. Etkinleştirildiğinde, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar site arayüzünü kullanarak istedikleri zaman dosyalarının daha önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle hesabın kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, hesabın depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz.",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the account does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the account's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. Kullanıma alındığında, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar site arayüzünü kullanarak istedikleri zaman dosyalarının önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle hesabın kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, hesabın depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz.",
"Current version" : "Geçerli sürüm",
"Initial version" : "İlk sürüm",
"You" : "Siz",
diff --git a/apps/files_versions/l10n/tr.json b/apps/files_versions/l10n/tr.json
index f0f0aff89f4..e914457e8bd 100644
--- a/apps/files_versions/l10n/tr.json
+++ b/apps/files_versions/l10n/tr.json
@@ -1,7 +1,7 @@
{ "translations": {
"Versions" : "Sürümler",
"This application automatically maintains older versions of files that are changed." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar.",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the account does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the account's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. Etkinleştirildiğinde, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar site arayüzünü kullanarak istedikleri zaman dosyalarının daha önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle hesabın kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, hesabın depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz.",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the account does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the account's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. Kullanıma alındığında, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar site arayüzünü kullanarak istedikleri zaman dosyalarının önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle hesabın kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, hesabın depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz.",
"Current version" : "Geçerli sürüm",
"Initial version" : "İlk sürüm",
"You" : "Siz",
diff --git a/apps/files_versions/l10n/ur_PK.js b/apps/files_versions/l10n/ur_PK.js
deleted file mode 100644
index ae55363a2dd..00000000000
--- a/apps/files_versions/l10n/ur_PK.js
+++ /dev/null
@@ -1,6 +0,0 @@
-OC.L10N.register(
- "files_versions",
- {
- "Restore" : "بحال"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/ur_PK.json b/apps/files_versions/l10n/ur_PK.json
deleted file mode 100644
index bfbcb42de28..00000000000
--- a/apps/files_versions/l10n/ur_PK.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "translations": {
- "Restore" : "بحال"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/oauth2/l10n/af.js b/apps/oauth2/l10n/af.js
deleted file mode 100644
index dbc8eeb71d3..00000000000
--- a/apps/oauth2/l10n/af.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "oauth2",
- {
- "OAuth 2.0" : "OAuth 2.0",
- "OAuth 2.0 clients" : "OAuth 2.0-kliënte",
- "Name" : "Naam",
- "Redirection URI" : "Herverwysings-URI",
- "Client Identifier" : "Kliëntidentifiseerder",
- "Add client" : "Voeg kliënt toe",
- "Add" : "Voeg toe",
- "Delete" : "Skrap"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/oauth2/l10n/af.json b/apps/oauth2/l10n/af.json
deleted file mode 100644
index 9f8e49b2d5a..00000000000
--- a/apps/oauth2/l10n/af.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "OAuth 2.0" : "OAuth 2.0",
- "OAuth 2.0 clients" : "OAuth 2.0-kliënte",
- "Name" : "Naam",
- "Redirection URI" : "Herverwysings-URI",
- "Client Identifier" : "Kliëntidentifiseerder",
- "Add client" : "Voeg kliënt toe",
- "Add" : "Voeg toe",
- "Delete" : "Skrap"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/oauth2/l10n/es_419.js b/apps/oauth2/l10n/es_419.js
deleted file mode 100644
index e40806c627d..00000000000
--- a/apps/oauth2/l10n/es_419.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "oauth2",
- {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/oauth2/l10n/es_419.json b/apps/oauth2/l10n/es_419.json
deleted file mode 100644
index 0e63ef8d72e..00000000000
--- a/apps/oauth2/l10n/es_419.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/oauth2/l10n/es_HN.js b/apps/oauth2/l10n/es_HN.js
deleted file mode 100644
index e40806c627d..00000000000
--- a/apps/oauth2/l10n/es_HN.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "oauth2",
- {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/oauth2/l10n/es_HN.json b/apps/oauth2/l10n/es_HN.json
deleted file mode 100644
index 0e63ef8d72e..00000000000
--- a/apps/oauth2/l10n/es_HN.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/oauth2/l10n/es_NI.js b/apps/oauth2/l10n/es_NI.js
deleted file mode 100644
index e40806c627d..00000000000
--- a/apps/oauth2/l10n/es_NI.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "oauth2",
- {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/oauth2/l10n/es_NI.json b/apps/oauth2/l10n/es_NI.json
deleted file mode 100644
index 0e63ef8d72e..00000000000
--- a/apps/oauth2/l10n/es_NI.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/oauth2/l10n/es_PA.js b/apps/oauth2/l10n/es_PA.js
deleted file mode 100644
index e40806c627d..00000000000
--- a/apps/oauth2/l10n/es_PA.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "oauth2",
- {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/oauth2/l10n/es_PA.json b/apps/oauth2/l10n/es_PA.json
deleted file mode 100644
index 0e63ef8d72e..00000000000
--- a/apps/oauth2/l10n/es_PA.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/oauth2/l10n/es_PE.js b/apps/oauth2/l10n/es_PE.js
deleted file mode 100644
index e40806c627d..00000000000
--- a/apps/oauth2/l10n/es_PE.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "oauth2",
- {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/oauth2/l10n/es_PE.json b/apps/oauth2/l10n/es_PE.json
deleted file mode 100644
index 0e63ef8d72e..00000000000
--- a/apps/oauth2/l10n/es_PE.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/oauth2/l10n/es_PR.js b/apps/oauth2/l10n/es_PR.js
deleted file mode 100644
index e40806c627d..00000000000
--- a/apps/oauth2/l10n/es_PR.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "oauth2",
- {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/oauth2/l10n/es_PR.json b/apps/oauth2/l10n/es_PR.json
deleted file mode 100644
index 0e63ef8d72e..00000000000
--- a/apps/oauth2/l10n/es_PR.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/oauth2/l10n/es_PY.js b/apps/oauth2/l10n/es_PY.js
deleted file mode 100644
index e40806c627d..00000000000
--- a/apps/oauth2/l10n/es_PY.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "oauth2",
- {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/oauth2/l10n/es_PY.json b/apps/oauth2/l10n/es_PY.json
deleted file mode 100644
index 0e63ef8d72e..00000000000
--- a/apps/oauth2/l10n/es_PY.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/oauth2/l10n/es_UY.js b/apps/oauth2/l10n/es_UY.js
deleted file mode 100644
index e40806c627d..00000000000
--- a/apps/oauth2/l10n/es_UY.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "oauth2",
- {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/oauth2/l10n/es_UY.json b/apps/oauth2/l10n/es_UY.json
deleted file mode 100644
index 0e63ef8d72e..00000000000
--- a/apps/oauth2/l10n/es_UY.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "OAuth 2.0 clients" : "Clientes OAuth 2.0",
- "Name" : "Nombre",
- "Redirection URI" : "URI para redirección",
- "Client Identifier" : "Identificador del cliente",
- "Secret key" : "Llave secreta",
- "Add client" : "Agregar cliente",
- "Add" : "Agregar",
- "Delete" : "Borrar"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/oauth2/l10n/hu.js b/apps/oauth2/l10n/hu.js
index d584b3e8f83..eddb2928651 100644
--- a/apps/oauth2/l10n/hu.js
+++ b/apps/oauth2/l10n/hu.js
@@ -9,12 +9,15 @@ OC.L10N.register(
"OAuth 2.0 clients" : "OAuth 2.0 kliensek",
"OAuth 2.0 allows external services to request access to {instanceName}." : "Az OAuth 2.0 engedélyezi, hogy külső szolgáltatások hozzáférést kérjenek a következőhöz: {instanceName}.",
"Name" : "Név",
- "Redirection URI" : "Átirányítési URI",
+ "Redirection URI" : "Átirányítási URI",
"Client Identifier" : "Ügyfélazonosító",
"Secret key" : "Titkos kulcs",
+ "Delete client" : "Kliens törlése",
+ "Make sure you store the secret key, it cannot be recovered." : "Győződjön meg róla tárolja a titkos kulcsot, mert nem nyerhető vissza.",
"Add client" : "Kliens hozzáadása",
"Add" : "Hozzáadás",
- "Show client secret" : "Kliens titkának megjelenítése",
+ "Show client secret" : "Klienstitok megjelenítése",
+ "Hide client secret" : "Klienstitok elrejtése",
"Delete" : "Törlés"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/oauth2/l10n/hu.json b/apps/oauth2/l10n/hu.json
index 99888640fbc..2e0a9c4de02 100644
--- a/apps/oauth2/l10n/hu.json
+++ b/apps/oauth2/l10n/hu.json
@@ -7,12 +7,15 @@
"OAuth 2.0 clients" : "OAuth 2.0 kliensek",
"OAuth 2.0 allows external services to request access to {instanceName}." : "Az OAuth 2.0 engedélyezi, hogy külső szolgáltatások hozzáférést kérjenek a következőhöz: {instanceName}.",
"Name" : "Név",
- "Redirection URI" : "Átirányítési URI",
+ "Redirection URI" : "Átirányítási URI",
"Client Identifier" : "Ügyfélazonosító",
"Secret key" : "Titkos kulcs",
+ "Delete client" : "Kliens törlése",
+ "Make sure you store the secret key, it cannot be recovered." : "Győződjön meg róla tárolja a titkos kulcsot, mert nem nyerhető vissza.",
"Add client" : "Kliens hozzáadása",
"Add" : "Hozzáadás",
- "Show client secret" : "Kliens titkának megjelenítése",
+ "Show client secret" : "Klienstitok megjelenítése",
+ "Hide client secret" : "Klienstitok elrejtése",
"Delete" : "Törlés"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/oauth2/l10n/id.js b/apps/oauth2/l10n/id.js
deleted file mode 100644
index 7be61f59d20..00000000000
--- a/apps/oauth2/l10n/id.js
+++ /dev/null
@@ -1,13 +0,0 @@
-OC.L10N.register(
- "oauth2",
- {
- "OAuth 2.0 clients" : "Klien OAuth 2.0",
- "Name" : "Nama",
- "Redirection URI" : "URI Pengalihan",
- "Client Identifier" : "Identifier klien",
- "Secret key" : "Kunci rahasia",
- "Add client" : "Tambah klien",
- "Add" : "Tambah",
- "Delete" : "Hapus"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/oauth2/l10n/id.json b/apps/oauth2/l10n/id.json
deleted file mode 100644
index 430b92957b8..00000000000
--- a/apps/oauth2/l10n/id.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "translations": {
- "OAuth 2.0 clients" : "Klien OAuth 2.0",
- "Name" : "Nama",
- "Redirection URI" : "URI Pengalihan",
- "Client Identifier" : "Identifier klien",
- "Secret key" : "Kunci rahasia",
- "Add client" : "Tambah klien",
- "Add" : "Tambah",
- "Delete" : "Hapus"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/bg.js b/apps/provisioning_api/l10n/bg.js
deleted file mode 100644
index 65f85f8e42a..00000000000
--- a/apps/provisioning_api/l10n/bg.js
+++ /dev/null
@@ -1,18 +0,0 @@
-OC.L10N.register(
- "provisioning_api",
- {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Влезлият потребител трябва да е администратор или да има разрешение за редактиране на тази настройка.",
- "User already exists" : "Вече съществува потребител",
- "Email confirmation" : "Потвърждение по имейл",
- "To enable the email address %s please click the button below." : "За да активирате имейл адреса %s, моля, щракнете върху долния бутон.",
- "Confirm" : "Потвърди",
- "Email was already removed from account and cannot be confirmed anymore." : "Имейлът вече е премахнат от профила и не може да бъде потвърден повече.",
- "Could not verify mail because the token is expired." : "Не можа да се потвърди пощата, защото токенът е изтекъл.",
- "Could not verify mail because the token is invalid." : "Не можа да се потвърди пощата, защото токенът е невалиден.",
- "An unexpected error occurred. Please contact your admin." : "Възникна неочаквана грешка. Моля, свържете се с вашия администратор.",
- "Email confirmation successful" : "Потвърждението по имейл е успешно",
- "Provisioning API" : "Осигуряващ API",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Това приложение активира набор от API, които външните системи могат да използват за управление на потребители, групи и приложения.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Това приложение активира набор от API, които външните системи могат да използват за създаване, редактиране, изтриване и запитване на потребител\n\t\tатрибути, заявка, задаване и премахване на групи, задаване на квота и заявка за общо хранилище, използвано в Nextcloud. Потребители с администратор на групата\n\t\tможе също да подава заявка към Nextcloud и да изпълнява същите функции като администратор за групи, които управляват. API също позволява\n\t\tадминистратор, който да потърси активни приложения Nextcloud, информация за приложението и да активира или деактивира приложение от разстояние.\n\t\tСлед като приложението е активирано, HTTP заявките могат да се използват чрез Basic Auth заглавка за изпълнение на някоя от функциите\n\t\tизброени по-горе. Повече информация е налична в документацията на API за предоставяне, включително примерни повиквания\n\t\tи отговори на сървъра."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/provisioning_api/l10n/bg.json b/apps/provisioning_api/l10n/bg.json
deleted file mode 100644
index 52b2fdb313f..00000000000
--- a/apps/provisioning_api/l10n/bg.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{ "translations": {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Влезлият потребител трябва да е администратор или да има разрешение за редактиране на тази настройка.",
- "User already exists" : "Вече съществува потребител",
- "Email confirmation" : "Потвърждение по имейл",
- "To enable the email address %s please click the button below." : "За да активирате имейл адреса %s, моля, щракнете върху долния бутон.",
- "Confirm" : "Потвърди",
- "Email was already removed from account and cannot be confirmed anymore." : "Имейлът вече е премахнат от профила и не може да бъде потвърден повече.",
- "Could not verify mail because the token is expired." : "Не можа да се потвърди пощата, защото токенът е изтекъл.",
- "Could not verify mail because the token is invalid." : "Не можа да се потвърди пощата, защото токенът е невалиден.",
- "An unexpected error occurred. Please contact your admin." : "Възникна неочаквана грешка. Моля, свържете се с вашия администратор.",
- "Email confirmation successful" : "Потвърждението по имейл е успешно",
- "Provisioning API" : "Осигуряващ API",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Това приложение активира набор от API, които външните системи могат да използват за управление на потребители, групи и приложения.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Това приложение активира набор от API, които външните системи могат да използват за създаване, редактиране, изтриване и запитване на потребител\n\t\tатрибути, заявка, задаване и премахване на групи, задаване на квота и заявка за общо хранилище, използвано в Nextcloud. Потребители с администратор на групата\n\t\tможе също да подава заявка към Nextcloud и да изпълнява същите функции като администратор за групи, които управляват. API също позволява\n\t\tадминистратор, който да потърси активни приложения Nextcloud, информация за приложението и да активира или деактивира приложение от разстояние.\n\t\tСлед като приложението е активирано, HTTP заявките могат да се използват чрез Basic Auth заглавка за изпълнение на някоя от функциите\n\t\tизброени по-горе. Повече информация е налична в документацията на API за предоставяне, включително примерни повиквания\n\t\tи отговори на сървъра."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/el.js b/apps/provisioning_api/l10n/el.js
deleted file mode 100644
index 5b10b4adafe..00000000000
--- a/apps/provisioning_api/l10n/el.js
+++ /dev/null
@@ -1,16 +0,0 @@
-OC.L10N.register(
- "provisioning_api",
- {
- "User already exists" : "Ο χρήστης υπάρχει ήδη",
- "Email confirmation" : "Επιβεβαίωση ηλεκτρονικού ταχυδρομείου",
- "To enable the email address %s please click the button below." : "Για να ενεργοποιήσετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου %s κάντε κλικ στο παρακάτω κουμπί.",
- "Confirm" : "Επιβεβαίωση",
- "Email was already removed from account and cannot be confirmed anymore." : "Η διεύθυνση ηλεκτρονικού ταχυδρομείου έχει ήδη αφαιρεθεί από τον λογαριασμό και δεν μπορεί πλέον να επιβεβαιωθεί.",
- "Could not verify mail because the token is expired." : "Δεν ήταν δυνατή η επαλήθευση της αλληλογραφίας επειδή το διακριτικό έχει λήξει.",
- "Could not verify mail because the token is invalid." : "Αδυναμία επαλήθευσης ηλεκτρονικής αλληλογραφίας επειδή το διακριτικό δεν είναι έγκυρο.",
- "Email confirmation successful" : "Η επιβεβαίωση μέσω ηλεκτρονικού ταχυδρομείου ήταν επιτυχής",
- "Provisioning API" : "API παροχής",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Αυτή η εφαρμογή επιτρέπει ένα σύνολο API που μπορούν να χρησιμοποιήσουν τα εξωτερικά συστήματα για τη διαχείριση χρηστών, ομάδων και εφαρμογών.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Αυτή η εφαρμογή επιτρέπει ένα σύνολο API που μπορούν να χρησιμοποιήσουν τα εξωτερικά συστήματα για να δημιουργήσουν, να επεξεργαστούν, να διαγράψουν και να ρωτήσουν τις ιδιότητες των χρηστών, το ερώτημα, να ορίσουν και να αφαιρέσουν ομάδες, να ορίσουν το όριο και το συνολικό χώρο αποθήκευσης ερωτημάτων που χρησιμοποιούνται στο Nextcloud. Οι χρήστες διαχειριστή ομάδας μπορούν επίσης να υποβάλουν ερώτημα στο Nextcloud και να εκτελούν τις ίδιες λειτουργίες με έναν διαχειριστή για ομάδες που αυτοί διαχειρίζονται. Το API επιτρέπει επίσης σε έναν διαχειριστή να υποβάλλει ερώτημα για ενεργές εφαρμογές Nextcloud, πληροφορίες εφαρμογής και να ενεργοποιήσει ή να απενεργοποιήσει μια εφαρμογή από απόσταση. Μόλις ενεργοποιηθεί η εφαρμογή, τα αιτήματα HTTP μπορούν να χρησιμοποιηθούν μέσω κεφαλίδας Basic Auth για να εκτελέσουν οποιαδήποτε των λειτουργιών που αναφέρονται παραπάνω. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση Provisioning API, συμπεριλαμβανομένων παραδειγμάτων κλήσεων και απαντήσεων διακομιστή."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/provisioning_api/l10n/el.json b/apps/provisioning_api/l10n/el.json
deleted file mode 100644
index 525148a11a8..00000000000
--- a/apps/provisioning_api/l10n/el.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{ "translations": {
- "User already exists" : "Ο χρήστης υπάρχει ήδη",
- "Email confirmation" : "Επιβεβαίωση ηλεκτρονικού ταχυδρομείου",
- "To enable the email address %s please click the button below." : "Για να ενεργοποιήσετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου %s κάντε κλικ στο παρακάτω κουμπί.",
- "Confirm" : "Επιβεβαίωση",
- "Email was already removed from account and cannot be confirmed anymore." : "Η διεύθυνση ηλεκτρονικού ταχυδρομείου έχει ήδη αφαιρεθεί από τον λογαριασμό και δεν μπορεί πλέον να επιβεβαιωθεί.",
- "Could not verify mail because the token is expired." : "Δεν ήταν δυνατή η επαλήθευση της αλληλογραφίας επειδή το διακριτικό έχει λήξει.",
- "Could not verify mail because the token is invalid." : "Αδυναμία επαλήθευσης ηλεκτρονικής αλληλογραφίας επειδή το διακριτικό δεν είναι έγκυρο.",
- "Email confirmation successful" : "Η επιβεβαίωση μέσω ηλεκτρονικού ταχυδρομείου ήταν επιτυχής",
- "Provisioning API" : "API παροχής",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Αυτή η εφαρμογή επιτρέπει ένα σύνολο API που μπορούν να χρησιμοποιήσουν τα εξωτερικά συστήματα για τη διαχείριση χρηστών, ομάδων και εφαρμογών.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Αυτή η εφαρμογή επιτρέπει ένα σύνολο API που μπορούν να χρησιμοποιήσουν τα εξωτερικά συστήματα για να δημιουργήσουν, να επεξεργαστούν, να διαγράψουν και να ρωτήσουν τις ιδιότητες των χρηστών, το ερώτημα, να ορίσουν και να αφαιρέσουν ομάδες, να ορίσουν το όριο και το συνολικό χώρο αποθήκευσης ερωτημάτων που χρησιμοποιούνται στο Nextcloud. Οι χρήστες διαχειριστή ομάδας μπορούν επίσης να υποβάλουν ερώτημα στο Nextcloud και να εκτελούν τις ίδιες λειτουργίες με έναν διαχειριστή για ομάδες που αυτοί διαχειρίζονται. Το API επιτρέπει επίσης σε έναν διαχειριστή να υποβάλλει ερώτημα για ενεργές εφαρμογές Nextcloud, πληροφορίες εφαρμογής και να ενεργοποιήσει ή να απενεργοποιήσει μια εφαρμογή από απόσταση. Μόλις ενεργοποιηθεί η εφαρμογή, τα αιτήματα HTTP μπορούν να χρησιμοποιηθούν μέσω κεφαλίδας Basic Auth για να εκτελέσουν οποιαδήποτε των λειτουργιών που αναφέρονται παραπάνω. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση Provisioning API, συμπεριλαμβανομένων παραδειγμάτων κλήσεων και απαντήσεων διακομιστή."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/es_EC.js b/apps/provisioning_api/l10n/es_EC.js
deleted file mode 100644
index 5f62f67c552..00000000000
--- a/apps/provisioning_api/l10n/es_EC.js
+++ /dev/null
@@ -1,18 +0,0 @@
-OC.L10N.register(
- "provisioning_api",
- {
- "Logged in user must be an administrator or have authorization to edit this setting." : "El usuario conectado debe ser un administrador o tener autorización para editar esta configuración.",
- "User already exists" : "El usuario ya existe",
- "Email confirmation" : "Confirmación de correo electrónico",
- "To enable the email address %s please click the button below." : "Para habilitar la dirección de correo electrónico %s, haz clic en el botón de abajo.",
- "Confirm" : "Confirmar",
- "Email was already removed from account and cannot be confirmed anymore." : "El correo electrónico ya fue eliminado de la cuenta y no se puede confirmar.",
- "Could not verify mail because the token is expired." : "No se pudo verificar el correo porque el token ha expirado.",
- "Could not verify mail because the token is invalid." : "No se pudo verificar el correo porque el token no es válido.",
- "An unexpected error occurred. Please contact your admin." : "Se produjo un error inesperado. Por favor, contacta al administrador.",
- "Email confirmation successful" : "Confirmación de correo electrónico exitosa",
- "Provisioning API" : "API de aprovisionamiento",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Esta aplicación habilita un conjunto de API que los sistemas externos pueden usar para administrar usuarios, grupos y aplicaciones.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Esta aplicación habilita un conjunto de API que los sistemas externos pueden usar para crear, editar, eliminar y consultar atributos de usuarios, consultar, establecer y eliminar grupos, establecer cuotas y consultar el almacenamiento total utilizado en Nextcloud. Los usuarios administradores de grupos también pueden consultar Nextcloud y realizar las mismas funciones que un administrador para los grupos que administran. La API también permite a un administrador consultar las aplicaciones activas de Nextcloud, la información de las aplicaciones y habilitar o deshabilitar una aplicación de forma remota. Una vez que la aplicación está habilitada, se pueden utilizar solicitudes HTTP a través de un encabezado de autenticación básica para realizar cualquiera de las funciones mencionadas anteriormente. Hay más información disponible en la documentación de la API de aprovisionamiento, que incluye ejemplos de llamadas y respuestas del servidor."
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/provisioning_api/l10n/es_EC.json b/apps/provisioning_api/l10n/es_EC.json
deleted file mode 100644
index f37c9a17418..00000000000
--- a/apps/provisioning_api/l10n/es_EC.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{ "translations": {
- "Logged in user must be an administrator or have authorization to edit this setting." : "El usuario conectado debe ser un administrador o tener autorización para editar esta configuración.",
- "User already exists" : "El usuario ya existe",
- "Email confirmation" : "Confirmación de correo electrónico",
- "To enable the email address %s please click the button below." : "Para habilitar la dirección de correo electrónico %s, haz clic en el botón de abajo.",
- "Confirm" : "Confirmar",
- "Email was already removed from account and cannot be confirmed anymore." : "El correo electrónico ya fue eliminado de la cuenta y no se puede confirmar.",
- "Could not verify mail because the token is expired." : "No se pudo verificar el correo porque el token ha expirado.",
- "Could not verify mail because the token is invalid." : "No se pudo verificar el correo porque el token no es válido.",
- "An unexpected error occurred. Please contact your admin." : "Se produjo un error inesperado. Por favor, contacta al administrador.",
- "Email confirmation successful" : "Confirmación de correo electrónico exitosa",
- "Provisioning API" : "API de aprovisionamiento",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Esta aplicación habilita un conjunto de API que los sistemas externos pueden usar para administrar usuarios, grupos y aplicaciones.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Esta aplicación habilita un conjunto de API que los sistemas externos pueden usar para crear, editar, eliminar y consultar atributos de usuarios, consultar, establecer y eliminar grupos, establecer cuotas y consultar el almacenamiento total utilizado en Nextcloud. Los usuarios administradores de grupos también pueden consultar Nextcloud y realizar las mismas funciones que un administrador para los grupos que administran. La API también permite a un administrador consultar las aplicaciones activas de Nextcloud, la información de las aplicaciones y habilitar o deshabilitar una aplicación de forma remota. Una vez que la aplicación está habilitada, se pueden utilizar solicitudes HTTP a través de un encabezado de autenticación básica para realizar cualquiera de las funciones mencionadas anteriormente. Hay más información disponible en la documentación de la API de aprovisionamiento, que incluye ejemplos de llamadas y respuestas del servidor."
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/fa.js b/apps/provisioning_api/l10n/fa.js
deleted file mode 100644
index be264dd36af..00000000000
--- a/apps/provisioning_api/l10n/fa.js
+++ /dev/null
@@ -1,18 +0,0 @@
-OC.L10N.register(
- "provisioning_api",
- {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Logged in user must be an administrator or have authorization to edit this setting.",
- "User already exists" : "User already exists",
- "Email confirmation" : "Email confirmation",
- "To enable the email address %s please click the button below." : "To enable the email address %s please click the button below.",
- "Confirm" : "تائید",
- "Email was already removed from account and cannot be confirmed anymore." : "Email was already removed from account and cannot be confirmed anymore.",
- "Could not verify mail because the token is expired." : "Could not verify mail because the token is expired.",
- "Could not verify mail because the token is invalid." : "Could not verify mail because the token is invalid.",
- "An unexpected error occurred. Please contact your admin." : "An unexpected error occurred. Please contact your admin.",
- "Email confirmation successful" : "Email confirmation successful",
- "Provisioning API" : "Provisioning API",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "This application enables a set of APIs that external systems can use to manage users, groups and apps.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses."
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/provisioning_api/l10n/fa.json b/apps/provisioning_api/l10n/fa.json
deleted file mode 100644
index bffa08e9c25..00000000000
--- a/apps/provisioning_api/l10n/fa.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{ "translations": {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Logged in user must be an administrator or have authorization to edit this setting.",
- "User already exists" : "User already exists",
- "Email confirmation" : "Email confirmation",
- "To enable the email address %s please click the button below." : "To enable the email address %s please click the button below.",
- "Confirm" : "تائید",
- "Email was already removed from account and cannot be confirmed anymore." : "Email was already removed from account and cannot be confirmed anymore.",
- "Could not verify mail because the token is expired." : "Could not verify mail because the token is expired.",
- "Could not verify mail because the token is invalid." : "Could not verify mail because the token is invalid.",
- "An unexpected error occurred. Please contact your admin." : "An unexpected error occurred. Please contact your admin.",
- "Email confirmation successful" : "Email confirmation successful",
- "Provisioning API" : "Provisioning API",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "This application enables a set of APIs that external systems can use to manage users, groups and apps.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses."
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/hr.js b/apps/provisioning_api/l10n/hr.js
deleted file mode 100644
index 5c94beac555..00000000000
--- a/apps/provisioning_api/l10n/hr.js
+++ /dev/null
@@ -1,18 +0,0 @@
-OC.L10N.register(
- "provisioning_api",
- {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Korisnik koji je prijavljen mora biti administrator ili imati ovlaštenje za uređivanje ove postavke.",
- "User already exists" : "Korisnik već postoji",
- "Email confirmation" : "Potvrda e-poštom",
- "To enable the email address %s please click the button below." : "Kliknite na gumb u nastavku kako biste omogućili adresu e-pošte %s.",
- "Confirm" : "Potvrdi",
- "Email was already removed from account and cannot be confirmed anymore." : "Adresa e-pošte uklonjena je iz računa i nije je moguće potvrditi.",
- "Could not verify mail because the token is expired." : "Potvrđivanje adrese e-pošte nije moguće jer je token istekao.",
- "Could not verify mail because the token is invalid." : "Potvrđivanje adrese e-pošte nije moguće jer je token nevažeći.",
- "An unexpected error occurred. Please contact your admin." : "Došlo je do neočekivane pogreške. Obratite se svom administratoru.",
- "Email confirmation successful" : "Adresa e-pošte uspješno je potvrđena",
- "Provisioning API" : "API za uvođenje u rad",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Ova aplikacija omogućuje uporabu skupa API-ja koje vanjski sustavi mogu iskoristiti za upravljanje korisnicima, grupama i aplikacijama.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Ova aplikacija omogućuje skup API-ja koje vanjski sustavi mogu iskoristiti za stvaranje, uređivanje, brisanje i upućivanje upita o korisničkim\n\t\tatributima, postavljanje i uklanjanje grupa, postavljanje kvota i provjeravanje ukupne količine pohrane koju upotrebljava Nextcloud. Korisnici administratori grupe\n\t\ttakođer mogu upućivati upite Nextcloudu i izvršavati iste funkcije kao i administrator grupe kojima upravljaju. API također omogućuje\n\t\tadministratoru upućivanje upita o aktivnim aplikacijama u Nextcloudu, traženje informacija o aplikacijama i daljinsko omogućavanje ili onemogućavanje aplikacije.\n\t\tKad je aplikacija omogućena, HTTP zahtjevi mogu se slati putem Basic Auth zaglavlja za izvršavanje bilo koje od\n\t\tnavedenih funkcija. Više informacija možete pronaći u dokumentaciji API-ja, uključujući primjere poziva\n\t\ti odgovora poslužitelja."
-},
-"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/provisioning_api/l10n/hr.json b/apps/provisioning_api/l10n/hr.json
deleted file mode 100644
index f2270c9f90d..00000000000
--- a/apps/provisioning_api/l10n/hr.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{ "translations": {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Korisnik koji je prijavljen mora biti administrator ili imati ovlaštenje za uređivanje ove postavke.",
- "User already exists" : "Korisnik već postoji",
- "Email confirmation" : "Potvrda e-poštom",
- "To enable the email address %s please click the button below." : "Kliknite na gumb u nastavku kako biste omogućili adresu e-pošte %s.",
- "Confirm" : "Potvrdi",
- "Email was already removed from account and cannot be confirmed anymore." : "Adresa e-pošte uklonjena je iz računa i nije je moguće potvrditi.",
- "Could not verify mail because the token is expired." : "Potvrđivanje adrese e-pošte nije moguće jer je token istekao.",
- "Could not verify mail because the token is invalid." : "Potvrđivanje adrese e-pošte nije moguće jer je token nevažeći.",
- "An unexpected error occurred. Please contact your admin." : "Došlo je do neočekivane pogreške. Obratite se svom administratoru.",
- "Email confirmation successful" : "Adresa e-pošte uspješno je potvrđena",
- "Provisioning API" : "API za uvođenje u rad",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Ova aplikacija omogućuje uporabu skupa API-ja koje vanjski sustavi mogu iskoristiti za upravljanje korisnicima, grupama i aplikacijama.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Ova aplikacija omogućuje skup API-ja koje vanjski sustavi mogu iskoristiti za stvaranje, uređivanje, brisanje i upućivanje upita o korisničkim\n\t\tatributima, postavljanje i uklanjanje grupa, postavljanje kvota i provjeravanje ukupne količine pohrane koju upotrebljava Nextcloud. Korisnici administratori grupe\n\t\ttakođer mogu upućivati upite Nextcloudu i izvršavati iste funkcije kao i administrator grupe kojima upravljaju. API također omogućuje\n\t\tadministratoru upućivanje upita o aktivnim aplikacijama u Nextcloudu, traženje informacija o aplikacijama i daljinsko omogućavanje ili onemogućavanje aplikacije.\n\t\tKad je aplikacija omogućena, HTTP zahtjevi mogu se slati putem Basic Auth zaglavlja za izvršavanje bilo koje od\n\t\tnavedenih funkcija. Više informacija možete pronaći u dokumentaciji API-ja, uključujući primjere poziva\n\t\ti odgovora poslužitelja."
-},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/hu.js b/apps/provisioning_api/l10n/hu.js
deleted file mode 100644
index df4aef6fd00..00000000000
--- a/apps/provisioning_api/l10n/hu.js
+++ /dev/null
@@ -1,18 +0,0 @@
-OC.L10N.register(
- "provisioning_api",
- {
- "Logged in user must be an administrator or have authorization to edit this setting." : "A bejelentkezett felhasználónak rendszergazdának kell lennie, vagy engedéllyel kell rendelkeznie, hogy szerkessze ezt a beállítást.",
- "User already exists" : "A felhasználó már létezik",
- "Email confirmation" : "E-mail-cím megerősítése",
- "To enable the email address %s please click the button below." : "A(z) %s e-mail-cím engedélyezéséhez kattintson a lenti gombra.",
- "Confirm" : "Megerősítés",
- "Email was already removed from account and cannot be confirmed anymore." : "Az e-mail már el lett távolítva a fiókból, és már nem erősíthető meg.",
- "Could not verify mail because the token is expired." : "Az e-mail-címet nem lehet megerősíteni, mert a token lejárt.",
- "Could not verify mail because the token is invalid." : "Az e-mail-címet nem lehet megerősíteni, mert a token érvénytelen.",
- "An unexpected error occurred. Please contact your admin." : "Váratlan hiba történt. Lépjen kapcsolatba a rendszergazdával.",
- "Email confirmation successful" : "Az e-mail-cím megerősítése sikeres",
- "Provisioning API" : "Felügyeleti API",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Ez az alkalmazás bekapcsol egy API készletet, melyeket külső rendszerek arra használhatnak, hogy a felhasználókat, csoportokat és alkalmazásokat kezeljenek.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Ez az alkalmazás bekapcsol egy API készletet, melyeket külső rendszerek használhatnak a felhasználók létrehozására,\n\t\tszerkesztésére, törlésére és attribútumok lekérdezésére, csoportok beállítására, eltávolítására és\n\t\tlekérdezésére, kvóta beállítására és a teljes tárhely lekérdezésére a Nextcloudban. A csoport admin felhasználók\n\t\tlekérdezhetik a Nextcloudot, és ugyanazokat a funkciókat hajthatják végre, mint az adminisztrátor az általuk\n\t\tkezelt csoportoknál. Az API szintén megengedi a rendszergazdának az aktív nextcloudos alkalmazások,\n\t\talkalmazásinformációk lekérdezését, valamint az alkalmazások távoli engedélyezését vagy letiltását. Miután\n\t\tengedélyezte az alkalmazást, a HTTP-kéréseket a Basic hitelesítési fejlécen keresztül fel lehet használni\n\t\tbármely, a feljebb felsorolt funkció végrehajtására. További információ a Provisioning API dokumentációjában\n\t\ttalálható, beleértve a példahívásokat és a kiszolgáló válaszait is."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/provisioning_api/l10n/hu.json b/apps/provisioning_api/l10n/hu.json
deleted file mode 100644
index 4a08b9acae8..00000000000
--- a/apps/provisioning_api/l10n/hu.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{ "translations": {
- "Logged in user must be an administrator or have authorization to edit this setting." : "A bejelentkezett felhasználónak rendszergazdának kell lennie, vagy engedéllyel kell rendelkeznie, hogy szerkessze ezt a beállítást.",
- "User already exists" : "A felhasználó már létezik",
- "Email confirmation" : "E-mail-cím megerősítése",
- "To enable the email address %s please click the button below." : "A(z) %s e-mail-cím engedélyezéséhez kattintson a lenti gombra.",
- "Confirm" : "Megerősítés",
- "Email was already removed from account and cannot be confirmed anymore." : "Az e-mail már el lett távolítva a fiókból, és már nem erősíthető meg.",
- "Could not verify mail because the token is expired." : "Az e-mail-címet nem lehet megerősíteni, mert a token lejárt.",
- "Could not verify mail because the token is invalid." : "Az e-mail-címet nem lehet megerősíteni, mert a token érvénytelen.",
- "An unexpected error occurred. Please contact your admin." : "Váratlan hiba történt. Lépjen kapcsolatba a rendszergazdával.",
- "Email confirmation successful" : "Az e-mail-cím megerősítése sikeres",
- "Provisioning API" : "Felügyeleti API",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Ez az alkalmazás bekapcsol egy API készletet, melyeket külső rendszerek arra használhatnak, hogy a felhasználókat, csoportokat és alkalmazásokat kezeljenek.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Ez az alkalmazás bekapcsol egy API készletet, melyeket külső rendszerek használhatnak a felhasználók létrehozására,\n\t\tszerkesztésére, törlésére és attribútumok lekérdezésére, csoportok beállítására, eltávolítására és\n\t\tlekérdezésére, kvóta beállítására és a teljes tárhely lekérdezésére a Nextcloudban. A csoport admin felhasználók\n\t\tlekérdezhetik a Nextcloudot, és ugyanazokat a funkciókat hajthatják végre, mint az adminisztrátor az általuk\n\t\tkezelt csoportoknál. Az API szintén megengedi a rendszergazdának az aktív nextcloudos alkalmazások,\n\t\talkalmazásinformációk lekérdezését, valamint az alkalmazások távoli engedélyezését vagy letiltását. Miután\n\t\tengedélyezte az alkalmazást, a HTTP-kéréseket a Basic hitelesítési fejlécen keresztül fel lehet használni\n\t\tbármely, a feljebb felsorolt funkció végrehajtására. További információ a Provisioning API dokumentációjában\n\t\ttalálható, beleértve a példahívásokat és a kiszolgáló válaszait is."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/is.js b/apps/provisioning_api/l10n/is.js
deleted file mode 100644
index 1e84328cd81..00000000000
--- a/apps/provisioning_api/l10n/is.js
+++ /dev/null
@@ -1,15 +0,0 @@
-OC.L10N.register(
- "provisioning_api",
- {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Innskráður notandi verður að vera kerfisstjóri eða hafa fengið sérstaka aðgangsheimild fyrir þessa stillingu.",
- "User already exists" : "Notandi er þegar til",
- "Email confirmation" : "Staðfesting tölvupósts",
- "To enable the email address %s please click the button below." : "Til að virkja tölvupóstfangið %s skaltu ýta á hnappinn hér fyrir neðan.",
- "Confirm" : "Staðfesta",
- "Email was already removed from account and cannot be confirmed anymore." : "Tölvupóstfangið hefur þegar verið fjarlægt úr aðgangnum og er ekki lengur hægt að staðfesta það.",
- "Could not verify mail because the token is expired." : "Gat ekki staðfest tölvupóstfang vegna þess að teiknið er útrunnið.",
- "Could not verify mail because the token is invalid." : "Gat ekki staðfest tölvupóstfang vegna þess að teiknið er ógilt.",
- "An unexpected error occurred. Please contact your admin." : "Óvænt villa kom upp. Hafðu samband við kerfisstjóra.",
- "Email confirmation successful" : "Staðfesting tölvupósts tókst"
-},
-"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/provisioning_api/l10n/is.json b/apps/provisioning_api/l10n/is.json
deleted file mode 100644
index 727ac3a9c09..00000000000
--- a/apps/provisioning_api/l10n/is.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{ "translations": {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Innskráður notandi verður að vera kerfisstjóri eða hafa fengið sérstaka aðgangsheimild fyrir þessa stillingu.",
- "User already exists" : "Notandi er þegar til",
- "Email confirmation" : "Staðfesting tölvupósts",
- "To enable the email address %s please click the button below." : "Til að virkja tölvupóstfangið %s skaltu ýta á hnappinn hér fyrir neðan.",
- "Confirm" : "Staðfesta",
- "Email was already removed from account and cannot be confirmed anymore." : "Tölvupóstfangið hefur þegar verið fjarlægt úr aðgangnum og er ekki lengur hægt að staðfesta það.",
- "Could not verify mail because the token is expired." : "Gat ekki staðfest tölvupóstfang vegna þess að teiknið er útrunnið.",
- "Could not verify mail because the token is invalid." : "Gat ekki staðfest tölvupóstfang vegna þess að teiknið er ógilt.",
- "An unexpected error occurred. Please contact your admin." : "Óvænt villa kom upp. Hafðu samband við kerfisstjóra.",
- "Email confirmation successful" : "Staðfesting tölvupósts tókst"
-},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
-} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/it.js b/apps/provisioning_api/l10n/it.js
deleted file mode 100644
index d9c7c0352e2..00000000000
--- a/apps/provisioning_api/l10n/it.js
+++ /dev/null
@@ -1,18 +0,0 @@
-OC.L10N.register(
- "provisioning_api",
- {
- "Logged in user must be an administrator or have authorization to edit this setting." : "L'utente connesso deve essere un amministratore o avere il permesso di modificare questa impostazione.",
- "User already exists" : "L'utente esiste già",
- "Email confirmation" : "Conferma email",
- "To enable the email address %s please click the button below." : "Per attivare l'indirizzo email %s fai clic sul pulsante sottostante.",
- "Confirm" : "Conferma",
- "Email was already removed from account and cannot be confirmed anymore." : "L'email era già stata rimossa dall'account e non può più essere confermata.",
- "Could not verify mail because the token is expired." : "Impossibile verificare l'email perché il token è scaduto.",
- "Could not verify mail because the token is invalid." : "Impossibile verificare l'email perché il token non è valido.",
- "An unexpected error occurred. Please contact your admin." : "Si è verificato un errore imprevisto. Contatta l'amministratore.",
- "Email confirmation successful" : "Conferma email riuscita",
- "Provisioning API" : "API di approvvigionamento",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Questa applicazione abilita un insiemw di API che sistemi esterni possono usare per gestire utenti, gruppi e applicazioni.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Questa applicazione abilita un insieme di API che sistemi esterni possono usare per creare, modificare, eliminare e rilevare attributi\n\t\tutente, interrogare, impostare e rimuovere gruppi, limitare e rilevare lo spazio totale usato in Nextcloud. Gli utenti amministratori di un gruppo\n\t\tpossono anche interrogare Nextcloud e fare le stesse azioni degli amministratori per i gruppi che gestiscono. L'API permette anche\n\t\ta un amministratore di interrogare le applicazioni Nextcloud attive, informazioni sulle applicazioni, e di abilitare e disabilitare un'applicazione da remoto.\n\t\tUna volta che l'applicazione è abilitata, possono essere utilizzate richieste HTTP attraverso un'intestazione Basic Auth per eseguire qualsiasi funzione\n\telencata sopra. Ulteriori informazioni sono disponibili nella documentazione dell'API di approvvigionamento, incluse chiamate di esempio\n\t\te risposte del server."
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/provisioning_api/l10n/it.json b/apps/provisioning_api/l10n/it.json
deleted file mode 100644
index a1493bda9f7..00000000000
--- a/apps/provisioning_api/l10n/it.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{ "translations": {
- "Logged in user must be an administrator or have authorization to edit this setting." : "L'utente connesso deve essere un amministratore o avere il permesso di modificare questa impostazione.",
- "User already exists" : "L'utente esiste già",
- "Email confirmation" : "Conferma email",
- "To enable the email address %s please click the button below." : "Per attivare l'indirizzo email %s fai clic sul pulsante sottostante.",
- "Confirm" : "Conferma",
- "Email was already removed from account and cannot be confirmed anymore." : "L'email era già stata rimossa dall'account e non può più essere confermata.",
- "Could not verify mail because the token is expired." : "Impossibile verificare l'email perché il token è scaduto.",
- "Could not verify mail because the token is invalid." : "Impossibile verificare l'email perché il token non è valido.",
- "An unexpected error occurred. Please contact your admin." : "Si è verificato un errore imprevisto. Contatta l'amministratore.",
- "Email confirmation successful" : "Conferma email riuscita",
- "Provisioning API" : "API di approvvigionamento",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Questa applicazione abilita un insiemw di API che sistemi esterni possono usare per gestire utenti, gruppi e applicazioni.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Questa applicazione abilita un insieme di API che sistemi esterni possono usare per creare, modificare, eliminare e rilevare attributi\n\t\tutente, interrogare, impostare e rimuovere gruppi, limitare e rilevare lo spazio totale usato in Nextcloud. Gli utenti amministratori di un gruppo\n\t\tpossono anche interrogare Nextcloud e fare le stesse azioni degli amministratori per i gruppi che gestiscono. L'API permette anche\n\t\ta un amministratore di interrogare le applicazioni Nextcloud attive, informazioni sulle applicazioni, e di abilitare e disabilitare un'applicazione da remoto.\n\t\tUna volta che l'applicazione è abilitata, possono essere utilizzate richieste HTTP attraverso un'intestazione Basic Auth per eseguire qualsiasi funzione\n\telencata sopra. Ulteriori informazioni sono disponibili nella documentazione dell'API di approvvigionamento, incluse chiamate di esempio\n\t\te risposte del server."
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/nl.js b/apps/provisioning_api/l10n/nl.js
deleted file mode 100644
index 0a5cb60fc79..00000000000
--- a/apps/provisioning_api/l10n/nl.js
+++ /dev/null
@@ -1,18 +0,0 @@
-OC.L10N.register(
- "provisioning_api",
- {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Ingelogde gebruiker moet een beheerder zijn of geautoriseerd zijn om deze instelling aan te passen",
- "User already exists" : "Gebruiker bestaat al",
- "Email confirmation" : "E-mailbevestiging",
- "To enable the email address %s please click the button below." : "Klik op de onderstaande knop om het e-mail adres %s in te schakelen.",
- "Confirm" : "Bevestigen",
- "Email was already removed from account and cannot be confirmed anymore." : "E-mail was reeds verwijderd van de account en kan niet meer bevestigd worden.",
- "Could not verify mail because the token is expired." : "Kon de mail niet verifiëren omdat de token verlopen is.",
- "Could not verify mail because the token is invalid." : "Kon de mail niet verifiëren omdat de token ongeldig is.",
- "An unexpected error occurred. Please contact your admin." : "Een onverwachte fout trad op. Neem contact op met je beheerder.",
- "Email confirmation successful" : "E-mailbevestiging succesvol",
- "Provisioning API" : "Provisioning API",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Deze applicatie maakt een reeks API's mogelijk die externe systemen kunnen gebruiken om gebruikers, groepen en apps te beheren.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Deze applicatie maakt een reeks API's mogelijk die externe systemen kunnen gebruiken om gebruikers te creëren, bewerken, verwijderen en bevragen\n\t\tattributen, query's uitvoeren, groepen instellen en verwijderen, quota instellen en de totale opslagruimte opvragen die wordt gebruikt in Nextcloud. Groepsbeheerders\n\t\tkunnen ook Nextcloud opvragen en dezelfde functies uitvoeren als een beheerder voor groepen die ze beheert. De API maakt het ook\n\t\tmogelijk voor een beheerder om te vragen naar actieve Nextcloud-applicaties, applicatie-info en om een app op afstand in- of uit te schakelen.\n\t\tZodra de app is ingeschakeld, kunnen HTTP-verzoeken worden gebruikt via een Basic Auth-header om de functies \n\t\thierboven uit te voeren. Meer informatie is beschikbaar in de Provisioning API-documentatie, inclusief voorbeeldoproepen\n\t\ten serverreacties."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/provisioning_api/l10n/nl.json b/apps/provisioning_api/l10n/nl.json
deleted file mode 100644
index 6b79cc3fd5c..00000000000
--- a/apps/provisioning_api/l10n/nl.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{ "translations": {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Ingelogde gebruiker moet een beheerder zijn of geautoriseerd zijn om deze instelling aan te passen",
- "User already exists" : "Gebruiker bestaat al",
- "Email confirmation" : "E-mailbevestiging",
- "To enable the email address %s please click the button below." : "Klik op de onderstaande knop om het e-mail adres %s in te schakelen.",
- "Confirm" : "Bevestigen",
- "Email was already removed from account and cannot be confirmed anymore." : "E-mail was reeds verwijderd van de account en kan niet meer bevestigd worden.",
- "Could not verify mail because the token is expired." : "Kon de mail niet verifiëren omdat de token verlopen is.",
- "Could not verify mail because the token is invalid." : "Kon de mail niet verifiëren omdat de token ongeldig is.",
- "An unexpected error occurred. Please contact your admin." : "Een onverwachte fout trad op. Neem contact op met je beheerder.",
- "Email confirmation successful" : "E-mailbevestiging succesvol",
- "Provisioning API" : "Provisioning API",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Deze applicatie maakt een reeks API's mogelijk die externe systemen kunnen gebruiken om gebruikers, groepen en apps te beheren.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Deze applicatie maakt een reeks API's mogelijk die externe systemen kunnen gebruiken om gebruikers te creëren, bewerken, verwijderen en bevragen\n\t\tattributen, query's uitvoeren, groepen instellen en verwijderen, quota instellen en de totale opslagruimte opvragen die wordt gebruikt in Nextcloud. Groepsbeheerders\n\t\tkunnen ook Nextcloud opvragen en dezelfde functies uitvoeren als een beheerder voor groepen die ze beheert. De API maakt het ook\n\t\tmogelijk voor een beheerder om te vragen naar actieve Nextcloud-applicaties, applicatie-info en om een app op afstand in- of uit te schakelen.\n\t\tZodra de app is ingeschakeld, kunnen HTTP-verzoeken worden gebruikt via een Basic Auth-header om de functies \n\t\thierboven uit te voeren. Meer informatie is beschikbaar in de Provisioning API-documentatie, inclusief voorbeeldoproepen\n\t\ten serverreacties."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/pl.js b/apps/provisioning_api/l10n/pl.js
deleted file mode 100644
index 1a3b3c554f8..00000000000
--- a/apps/provisioning_api/l10n/pl.js
+++ /dev/null
@@ -1,18 +0,0 @@
-OC.L10N.register(
- "provisioning_api",
- {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Zalogowany użytkownik musi być administratorem lub mieć uprawnienia do edycji tego ustawienia.",
- "User already exists" : "Użytkownik już istnieje",
- "Email confirmation" : "Potwierdzenie e-mailem",
- "To enable the email address %s please click the button below." : "Aby włączyć adres e-mail %s, kliknij poniższy przycisk.",
- "Confirm" : "Potwierdź",
- "Email was already removed from account and cannot be confirmed anymore." : "E-mail został już usunięty z konta i nie można go już potwierdzić.",
- "Could not verify mail because the token is expired." : "Nie można zweryfikować poczty, ponieważ token wygasł.",
- "Could not verify mail because the token is invalid." : "Nie można zweryfikować poczty, ponieważ token jest nieprawidłowy.",
- "An unexpected error occurred. Please contact your admin." : "Wystąpił nieoczekiwany błąd. Skontaktuj się z administratorem.",
- "Email confirmation successful" : "Potwierdzenie e-maila powiodło się",
- "Provisioning API" : "API obsługi administracyjnej",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Aplikacja udostępnia zestaw interfejsów API, których systemy zewnętrzne mogą używać ich do zarządzania użytkownikami, grupami i aplikacjami.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Aplikacja udostępnia zestaw interfejsów API, których systemy zewnętrzne mogą używać ich do tworzenia, edytowania, usuwania i wysyłania zapytań o atrybuty użytkowników,\n\t\tkonfigurowania i usuwania grup, ustawiania przydziałów i zapytań o całkowitą pamięć używaną w Nextcloud. Użytkownicy będący administratorami grup\n\t\tmogą również wysyłać zapytania do Nextcloud i wykonywać te same funkcje, co administrator w zarządzanych przez siebie grupach. API umożliwia również\n\t\tadministratorowi do wysyłania zapytań o aktywne aplikacje Nextcloud, informacje o aplikacji oraz do zdalnego włączania lub wyłączania aplikacji.\n\t\tPo włączeniu aplikacji można używać żądań HTTP za pośrednictwem nagłówka Basic Auth do wykonywania dowolnej funkcji\n\t\twymienionej powyżej. Więcej informacji można znaleźć w dokumentacji interfejsu API do obsługi administracyjnej, w tym przykładowe wywołania\n\t\ti odpowiedzi serwera."
-},
-"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/apps/provisioning_api/l10n/pl.json b/apps/provisioning_api/l10n/pl.json
deleted file mode 100644
index e35ae0c4279..00000000000
--- a/apps/provisioning_api/l10n/pl.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{ "translations": {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Zalogowany użytkownik musi być administratorem lub mieć uprawnienia do edycji tego ustawienia.",
- "User already exists" : "Użytkownik już istnieje",
- "Email confirmation" : "Potwierdzenie e-mailem",
- "To enable the email address %s please click the button below." : "Aby włączyć adres e-mail %s, kliknij poniższy przycisk.",
- "Confirm" : "Potwierdź",
- "Email was already removed from account and cannot be confirmed anymore." : "E-mail został już usunięty z konta i nie można go już potwierdzić.",
- "Could not verify mail because the token is expired." : "Nie można zweryfikować poczty, ponieważ token wygasł.",
- "Could not verify mail because the token is invalid." : "Nie można zweryfikować poczty, ponieważ token jest nieprawidłowy.",
- "An unexpected error occurred. Please contact your admin." : "Wystąpił nieoczekiwany błąd. Skontaktuj się z administratorem.",
- "Email confirmation successful" : "Potwierdzenie e-maila powiodło się",
- "Provisioning API" : "API obsługi administracyjnej",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Aplikacja udostępnia zestaw interfejsów API, których systemy zewnętrzne mogą używać ich do zarządzania użytkownikami, grupami i aplikacjami.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Aplikacja udostępnia zestaw interfejsów API, których systemy zewnętrzne mogą używać ich do tworzenia, edytowania, usuwania i wysyłania zapytań o atrybuty użytkowników,\n\t\tkonfigurowania i usuwania grup, ustawiania przydziałów i zapytań o całkowitą pamięć używaną w Nextcloud. Użytkownicy będący administratorami grup\n\t\tmogą również wysyłać zapytania do Nextcloud i wykonywać te same funkcje, co administrator w zarządzanych przez siebie grupach. API umożliwia również\n\t\tadministratorowi do wysyłania zapytań o aktywne aplikacje Nextcloud, informacje o aplikacji oraz do zdalnego włączania lub wyłączania aplikacji.\n\t\tPo włączeniu aplikacji można używać żądań HTTP za pośrednictwem nagłówka Basic Auth do wykonywania dowolnej funkcji\n\t\twymienionej powyżej. Więcej informacji można znaleźć w dokumentacji interfejsu API do obsługi administracyjnej, w tym przykładowe wywołania\n\t\ti odpowiedzi serwera."
-},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
-} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/pt_PT.js b/apps/provisioning_api/l10n/pt_PT.js
deleted file mode 100644
index 88f90905de4..00000000000
--- a/apps/provisioning_api/l10n/pt_PT.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "provisioning_api",
- {
- "Logged in user must be an administrator or have authorization to edit this setting." : "O usuário conectado deve ser um administrador ou ter autorização para editar esta configuração. ",
- "Email confirmation" : "Verificação de correio eletrónico.",
- "To enable the email address %s please click the button below." : "Para habilitar o endereço de correio eletrónico %s por favor pressione o botão abaixo.",
- "Confirm" : "Confirmar",
- "Email was already removed from account and cannot be confirmed anymore." : "O endereço já foi removido da conta e não pode mais ser confirmado.",
- "Could not verify mail because the token is expired." : "Não foi possível verificar o endereço porque o marcador expirou.",
- "Could not verify mail because the token is invalid." : "Não foi possível verificar o endereço porque o marcador é inválido.",
- "An unexpected error occurred. Please contact your admin." : "Ocorreu um erro inesperado. Contacte o seu administrador de sistemas.",
- "Email confirmation successful" : "Endereço confirmado com sucesso",
- "Provisioning API" : "API de aprovisionamento",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Esta aplicação ativa um conjunto de API que sistemas externos podem usar para gerir utilizadores, grupos e aplicações.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Esta aplicação ativa um conjunto de API que sistemas externos podem usar para gerir criar, editar, apagar ou pesquisar atributos de utilizadores,\n\t\tpesquisar, definir e remover grupos, definir cotas e consultar o armazenamento total usado em Nextcloud. Utilizadores administradores de grupos\n\t\ttambém podem pesquisar no Nextcloud e executar as mesmas funções que um administrador para os grupos que gerem. A API também permite\n\t\tque um administrador possa consultar aplicações ativas no Nextcloud, informações das mesmas e para ativar ou desativar uma aplicação remotamente.\n\t\tDepois de ativar uma aplicação, podem-se usar pedidos HTTP com um cabeçalho Basic Auth para executar qualquer uma das funções\n\t\tacima indicadas. Mais informações estão disponíveis na documentação da API de aprovisionamento, incluindo pedidos de exemplo\n\t\te respostas do servidor."
-},
-"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/provisioning_api/l10n/pt_PT.json b/apps/provisioning_api/l10n/pt_PT.json
deleted file mode 100644
index bbb9fb9754b..00000000000
--- a/apps/provisioning_api/l10n/pt_PT.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "Logged in user must be an administrator or have authorization to edit this setting." : "O usuário conectado deve ser um administrador ou ter autorização para editar esta configuração. ",
- "Email confirmation" : "Verificação de correio eletrónico.",
- "To enable the email address %s please click the button below." : "Para habilitar o endereço de correio eletrónico %s por favor pressione o botão abaixo.",
- "Confirm" : "Confirmar",
- "Email was already removed from account and cannot be confirmed anymore." : "O endereço já foi removido da conta e não pode mais ser confirmado.",
- "Could not verify mail because the token is expired." : "Não foi possível verificar o endereço porque o marcador expirou.",
- "Could not verify mail because the token is invalid." : "Não foi possível verificar o endereço porque o marcador é inválido.",
- "An unexpected error occurred. Please contact your admin." : "Ocorreu um erro inesperado. Contacte o seu administrador de sistemas.",
- "Email confirmation successful" : "Endereço confirmado com sucesso",
- "Provisioning API" : "API de aprovisionamento",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Esta aplicação ativa um conjunto de API que sistemas externos podem usar para gerir utilizadores, grupos e aplicações.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Esta aplicação ativa um conjunto de API que sistemas externos podem usar para gerir criar, editar, apagar ou pesquisar atributos de utilizadores,\n\t\tpesquisar, definir e remover grupos, definir cotas e consultar o armazenamento total usado em Nextcloud. Utilizadores administradores de grupos\n\t\ttambém podem pesquisar no Nextcloud e executar as mesmas funções que um administrador para os grupos que gerem. A API também permite\n\t\tque um administrador possa consultar aplicações ativas no Nextcloud, informações das mesmas e para ativar ou desativar uma aplicação remotamente.\n\t\tDepois de ativar uma aplicação, podem-se usar pedidos HTTP com um cabeçalho Basic Auth para executar qualquer uma das funções\n\t\tacima indicadas. Mais informações estão disponíveis na documentação da API de aprovisionamento, incluindo pedidos de exemplo\n\t\te respostas do servidor."
-},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/ro.js b/apps/provisioning_api/l10n/ro.js
deleted file mode 100644
index ee35fa15cd8..00000000000
--- a/apps/provisioning_api/l10n/ro.js
+++ /dev/null
@@ -1,18 +0,0 @@
-OC.L10N.register(
- "provisioning_api",
- {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Utilizatorul trebuie să fie un administrator sau să fie autorizat să editeze această setare.",
- "User already exists" : "Utilizatorul există deja",
- "Email confirmation" : "Confirmare email",
- "To enable the email address %s please click the button below." : "Pentru a activa adresa de mail %s apăsați butonul de mai jos.",
- "Confirm" : "Confirmă",
- "Email was already removed from account and cannot be confirmed anymore." : "Emailul a fost eliminat din cont și nu mai poate fi reconfirmat.",
- "Could not verify mail because the token is expired." : "Nu se poate verifica emailul deoarece tokenul a exirat.",
- "Could not verify mail because the token is invalid." : "Nu se poate verifica emailul deoarece tokenul este invalid.",
- "An unexpected error occurred. Please contact your admin." : "A apărut o eroare neașteptată. Contactați administratorul.",
- "Email confirmation successful" : "Confirmare email cu succes",
- "Provisioning API" : "API de provizionare",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Această aplicație pornește un set de API-uri ce pot fi folosite de systemele externe pentru a gestiona utilizatori, grupuri și aplicații. ",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Această aplicație permite unui set de API-uri ce pot fi folosite de sustemele externe pentru a creea, edita, șterge și a interoga utilizatori\n\t\tatribute, interogare, setare și eliminare grupuri, setare cote și interogare stocare totală utilizată în Nextcloud. Utilizatorii grupului admin\n\t\tpot de asemenea iteroga Nextcloud și îndeplini aceleași funcții ca și grupul de admini pe care îi și gestionează. API-ul permite \n\t\tunui administrator să caute aplicații active Nextcloud, informații despre aplicații și informații legate de activarea sau dezactivarea unei aplicații de la distanță.\n\t\tOdată ce aplicația este activată, solicitările HTTP pot fi utilizate printr-un antet Basic Auth pentru a efectua oricare dintre funcțiile\n\t\tmenționate mai sus. Mai multe informații sunt prezente în documentatie de provizionare de API, inclusiv exemple de interogări\n\t\tși răspunsul primit de la server."
-},
-"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/provisioning_api/l10n/ro.json b/apps/provisioning_api/l10n/ro.json
deleted file mode 100644
index eafdab0876b..00000000000
--- a/apps/provisioning_api/l10n/ro.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{ "translations": {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Utilizatorul trebuie să fie un administrator sau să fie autorizat să editeze această setare.",
- "User already exists" : "Utilizatorul există deja",
- "Email confirmation" : "Confirmare email",
- "To enable the email address %s please click the button below." : "Pentru a activa adresa de mail %s apăsați butonul de mai jos.",
- "Confirm" : "Confirmă",
- "Email was already removed from account and cannot be confirmed anymore." : "Emailul a fost eliminat din cont și nu mai poate fi reconfirmat.",
- "Could not verify mail because the token is expired." : "Nu se poate verifica emailul deoarece tokenul a exirat.",
- "Could not verify mail because the token is invalid." : "Nu se poate verifica emailul deoarece tokenul este invalid.",
- "An unexpected error occurred. Please contact your admin." : "A apărut o eroare neașteptată. Contactați administratorul.",
- "Email confirmation successful" : "Confirmare email cu succes",
- "Provisioning API" : "API de provizionare",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Această aplicație pornește un set de API-uri ce pot fi folosite de systemele externe pentru a gestiona utilizatori, grupuri și aplicații. ",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Această aplicație permite unui set de API-uri ce pot fi folosite de sustemele externe pentru a creea, edita, șterge și a interoga utilizatori\n\t\tatribute, interogare, setare și eliminare grupuri, setare cote și interogare stocare totală utilizată în Nextcloud. Utilizatorii grupului admin\n\t\tpot de asemenea iteroga Nextcloud și îndeplini aceleași funcții ca și grupul de admini pe care îi și gestionează. API-ul permite \n\t\tunui administrator să caute aplicații active Nextcloud, informații despre aplicații și informații legate de activarea sau dezactivarea unei aplicații de la distanță.\n\t\tOdată ce aplicația este activată, solicitările HTTP pot fi utilizate printr-un antet Basic Auth pentru a efectua oricare dintre funcțiile\n\t\tmenționate mai sus. Mai multe informații sunt prezente în documentatie de provizionare de API, inclusiv exemple de interogări\n\t\tși răspunsul primit de la server."
-},"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/provisioning_api/l10n/sc.js b/apps/provisioning_api/l10n/sc.js
deleted file mode 100644
index e5331408419..00000000000
--- a/apps/provisioning_api/l10n/sc.js
+++ /dev/null
@@ -1,8 +0,0 @@
-OC.L10N.register(
- "provisioning_api",
- {
- "Provisioning API" : "Frunidura API",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Custa aplicatzione ativat unas cantas API chi is sistemas esternos podint impreare pro organizare utentes, grupos e aplicatziones.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Custa aplicatzione ativat unas cantas API chi is sistemas esternos podent impreare pro creare, modificare, cantzellare e chircare\n\t\tatributos de s'utèntzia, chircare, impostare e eliminare grupos, impostare su lìmite e chircare totu su chi est allogadu in Nextcloud. Is chi amministrant unu grupu\n\t\tpodint puru pregontare a Nextcloud e acumprire is pròpias funtziones de un'amministradore pro su grupu chi amministrant. S'API ativat\n\t\tpermitit puru a un'amministradore de pedire aplicatziones Nextcloud ativas, informatziones de is aplicatziones e de ativare o disativare dae tesu. \n\t\t Cando s'ativat s'aplicatzione, is preguntas HTTP si podent impreare cun una intestatzione de autenticatzione bàsica pro acumprire cale si siat funtzione in s'elencu. \n\t\t Àteras informatziones a disponimentu in sa documentatzione de Frunidura API, inclùdidos esèmpios de mutidas\n\t\t e rispostas de su serbidore."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/provisioning_api/l10n/sc.json b/apps/provisioning_api/l10n/sc.json
deleted file mode 100644
index 9c411e484e7..00000000000
--- a/apps/provisioning_api/l10n/sc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{ "translations": {
- "Provisioning API" : "Frunidura API",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Custa aplicatzione ativat unas cantas API chi is sistemas esternos podint impreare pro organizare utentes, grupos e aplicatziones.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Custa aplicatzione ativat unas cantas API chi is sistemas esternos podent impreare pro creare, modificare, cantzellare e chircare\n\t\tatributos de s'utèntzia, chircare, impostare e eliminare grupos, impostare su lìmite e chircare totu su chi est allogadu in Nextcloud. Is chi amministrant unu grupu\n\t\tpodint puru pregontare a Nextcloud e acumprire is pròpias funtziones de un'amministradore pro su grupu chi amministrant. S'API ativat\n\t\tpermitit puru a un'amministradore de pedire aplicatziones Nextcloud ativas, informatziones de is aplicatziones e de ativare o disativare dae tesu. \n\t\t Cando s'ativat s'aplicatzione, is preguntas HTTP si podent impreare cun una intestatzione de autenticatzione bàsica pro acumprire cale si siat funtzione in s'elencu. \n\t\t Àteras informatziones a disponimentu in sa documentatzione de Frunidura API, inclùdidos esèmpios de mutidas\n\t\t e rispostas de su serbidore."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/sl.js b/apps/provisioning_api/l10n/sl.js
deleted file mode 100644
index 96bf5c7e3b2..00000000000
--- a/apps/provisioning_api/l10n/sl.js
+++ /dev/null
@@ -1,12 +0,0 @@
-OC.L10N.register(
- "provisioning_api",
- {
- "User already exists" : "Uporabnik že obstaja",
- "Email confirmation" : "Potrditev elektronskega naslova",
- "Confirm" : "Potrdi",
- "Email confirmation successful" : "Potrditev elektronskega naslov je uspela.",
- "Provisioning API" : "Vmesnik API za povezovanje",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Program omogoča nastavitev vmesnikov API, ki jih zunanji sistemi lahko uporabijo za upravljanje uporabnikov, skupin in programov.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Program omogoča uporabo različnih vmesnikov, ki jih lahko zunanji sistemi uporabijo za ustvarjanje, urejanje, upravljanje in preverjanje\n\t\tatributov uporabnikov, poizvedb, upravljanje skupin, količinskih omejitev in nadzor na skupno uporabljenim prostorom v okolju. Skrbniki skupin\n\t\tlahko prav tako izvajajo dejavnosti za upravljanje skupin znotraj okolja. Vmesnik API omogoča\n\t\tskrbnikom pregled nad dejavnimi programi, podrobnostmi in upravljanje tudi na daljavo.\n\t\tKo je program enkrat zagnan, je mogoče pošiljati zahteve za izvajanje osnovnega postopka overjanja.\n\t\tVeč podrobnosti je na voljo v dokumentaciji za uporabo vmesnika, vključno s\n\t\tprimeri sklicev in odzivov strežnika."
-},
-"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/provisioning_api/l10n/sl.json b/apps/provisioning_api/l10n/sl.json
deleted file mode 100644
index 44572066c09..00000000000
--- a/apps/provisioning_api/l10n/sl.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{ "translations": {
- "User already exists" : "Uporabnik že obstaja",
- "Email confirmation" : "Potrditev elektronskega naslova",
- "Confirm" : "Potrdi",
- "Email confirmation successful" : "Potrditev elektronskega naslov je uspela.",
- "Provisioning API" : "Vmesnik API za povezovanje",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Program omogoča nastavitev vmesnikov API, ki jih zunanji sistemi lahko uporabijo za upravljanje uporabnikov, skupin in programov.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Program omogoča uporabo različnih vmesnikov, ki jih lahko zunanji sistemi uporabijo za ustvarjanje, urejanje, upravljanje in preverjanje\n\t\tatributov uporabnikov, poizvedb, upravljanje skupin, količinskih omejitev in nadzor na skupno uporabljenim prostorom v okolju. Skrbniki skupin\n\t\tlahko prav tako izvajajo dejavnosti za upravljanje skupin znotraj okolja. Vmesnik API omogoča\n\t\tskrbnikom pregled nad dejavnimi programi, podrobnostmi in upravljanje tudi na daljavo.\n\t\tKo je program enkrat zagnan, je mogoče pošiljati zahteve za izvajanje osnovnega postopka overjanja.\n\t\tVeč podrobnosti je na voljo v dokumentaciji za uporabo vmesnika, vključno s\n\t\tprimeri sklicev in odzivov strežnika."
-},"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/provisioning_api/l10n/tr.js b/apps/provisioning_api/l10n/tr.js
index 2c3c00a0f55..db6d11429bb 100644
--- a/apps/provisioning_api/l10n/tr.js
+++ b/apps/provisioning_api/l10n/tr.js
@@ -38,6 +38,6 @@ OC.L10N.register(
"Email confirmation successful" : "E-posta onaylandı",
"Provisioning API" : "Karşılama API",
"This application enables a set of APIs that external systems can use to manage accounts, groups and apps." : "Bu uygulama, dış sistemlerin hesapları, grupları ve uygulamaları yönetmek için kullanabileceği bir dizi API uygulaması sağlar.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Bu uygulama, dış sistemlerin hesap özelliklerini eklemesi, düzenlemesi ve sorgulaması, grupları ayarlaması\n\t\tve silmesi ile Nextcloud tarafından kullanılan toplam depolama alanını sorgulaması için kullanabileceği\n\t\t bir dizi API uygulaması sağlar. Grup yöneticisi olan hesaplar da Nextcloud sorguları yürüterek yönettikleri\n\t\tgruplar üzerinde aynı işlemleri yöneticiler gibi yapabilirler. API uygulaması ayrıca etkinleştirilmiş Nextcloud uygulamalarını\n\t\t ve uygulama bilgilerini sorgulayabilir ve uygulamaları uzaktan etkinleştirilip, devre dışı bırakılabilir. Uygulama\n\t\tkullanıma alındıktan sonra yukarıdaki işlemleri yapmak için Temel Kimlik doğrulaması üst bilgisi ile HTTP istekleri\n\t\tkullanılabilir. Ayrıntılı bilgi almak ve örnek çağrılar ile sunucu yanıtlarını görmek için API hazırlama belgesine bakabilirsiniz."
+ "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Bu uygulama, dış sistemlerin hesap özelliklerini eklemesi, düzenlemesi ve sorgulaması, grupları ayarlaması\n\t\tve silmesi ile Nextcloud tarafından kullanılan toplam depolama alanını sorgulaması için kullanabileceği\n\t\t bir dizi API uygulaması sağlar. Grup yöneticisi olan hesaplar da Nextcloud sorguları yürüterek yönettikleri\n\t\tgruplar üzerinde aynı işlemleri yöneticiler gibi yapabilirler. API uygulaması ayrıca kullanıma alınmış Nextcloud uygulamalarını\n\t\t ve uygulama bilgilerini sorgulayabilir ve uygulamaları uzaktan kullanıma alıp, kullanımdan kaldırabilir. Uygulama\n\t\tkullanıma alındıktan sonra yukarıdaki işlemleri yapmak için Temel kimlik doğrulaması üst bilgisi ile HTTP istekleri\n\t\tyapılabilir. Ayrıntılı bilgi almak ve örnek çağrılar ile sunucu yanıtlarını görmek için API hazırlama belgesine bakabilirsiniz."
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/provisioning_api/l10n/tr.json b/apps/provisioning_api/l10n/tr.json
index d27cf67a1e5..3e4a591bb5f 100644
--- a/apps/provisioning_api/l10n/tr.json
+++ b/apps/provisioning_api/l10n/tr.json
@@ -36,6 +36,6 @@
"Email confirmation successful" : "E-posta onaylandı",
"Provisioning API" : "Karşılama API",
"This application enables a set of APIs that external systems can use to manage accounts, groups and apps." : "Bu uygulama, dış sistemlerin hesapları, grupları ve uygulamaları yönetmek için kullanabileceği bir dizi API uygulaması sağlar.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Bu uygulama, dış sistemlerin hesap özelliklerini eklemesi, düzenlemesi ve sorgulaması, grupları ayarlaması\n\t\tve silmesi ile Nextcloud tarafından kullanılan toplam depolama alanını sorgulaması için kullanabileceği\n\t\t bir dizi API uygulaması sağlar. Grup yöneticisi olan hesaplar da Nextcloud sorguları yürüterek yönettikleri\n\t\tgruplar üzerinde aynı işlemleri yöneticiler gibi yapabilirler. API uygulaması ayrıca etkinleştirilmiş Nextcloud uygulamalarını\n\t\t ve uygulama bilgilerini sorgulayabilir ve uygulamaları uzaktan etkinleştirilip, devre dışı bırakılabilir. Uygulama\n\t\tkullanıma alındıktan sonra yukarıdaki işlemleri yapmak için Temel Kimlik doğrulaması üst bilgisi ile HTTP istekleri\n\t\tkullanılabilir. Ayrıntılı bilgi almak ve örnek çağrılar ile sunucu yanıtlarını görmek için API hazırlama belgesine bakabilirsiniz."
+ "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Bu uygulama, dış sistemlerin hesap özelliklerini eklemesi, düzenlemesi ve sorgulaması, grupları ayarlaması\n\t\tve silmesi ile Nextcloud tarafından kullanılan toplam depolama alanını sorgulaması için kullanabileceği\n\t\t bir dizi API uygulaması sağlar. Grup yöneticisi olan hesaplar da Nextcloud sorguları yürüterek yönettikleri\n\t\tgruplar üzerinde aynı işlemleri yöneticiler gibi yapabilirler. API uygulaması ayrıca kullanıma alınmış Nextcloud uygulamalarını\n\t\t ve uygulama bilgilerini sorgulayabilir ve uygulamaları uzaktan kullanıma alıp, kullanımdan kaldırabilir. Uygulama\n\t\tkullanıma alındıktan sonra yukarıdaki işlemleri yapmak için Temel kimlik doğrulaması üst bilgisi ile HTTP istekleri\n\t\tyapılabilir. Ayrıntılı bilgi almak ve örnek çağrılar ile sunucu yanıtlarını görmek için API hazırlama belgesine bakabilirsiniz."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/af.js b/apps/settings/l10n/af.js
deleted file mode 100644
index 07122872763..00000000000
--- a/apps/settings/l10n/af.js
+++ /dev/null
@@ -1,117 +0,0 @@
-OC.L10N.register(
- "settings",
- {
- "Private" : "Privaat",
- "Published" : "Gepubliseer",
- "Very weak password" : "Baie swak wagwoord",
- "Weak password" : "Swak wagwoord",
- "So-so password" : "Gemiddelde wagwoord",
- "Good password" : "Goeie wagwoord",
- "Strong password" : "Sterk wagwoord",
- "Groups" : "Groepe",
- "Group list is empty" : "Groeplys is leeg",
- "Unable to retrieve the group list" : "Kan nie die groeplys ophaal nie",
- "{actor} changed your password" : "{actor} het u wagwoord verander",
- "You changed your password" : "U het u wagwoord verander",
- "Your password was reset by an administrator" : "U wagwoord is deur ’n administrateur herstel",
- "{actor} changed your email address" : "{actor} het u e-posadres verander",
- "You changed your email address" : "U het u e-posadres verander",
- "Your email address was changed by an administrator" : "U e-posadres is deur ’n administrateur verander",
- "Security" : "Sekuriteit",
- "Your <strong>password</strong> or <strong>email</strong> was modified" : "U <strong>wagwoord</strong> of <strong>e-pos</strong> is gewysig",
- "Apps" : "Toeps",
- "Wrong password" : "Verkeerde wagwoord",
- "Saved" : "Bewaar",
- "No user supplied" : "Geen gebruiker verskaf nie",
- "Administrator documentation" : "Administrateurdokumentasie",
- "User documentation" : "Gebruikerdokumentasie",
- "Well done, %s!" : "Welgedaan %s!",
- "Users" : "Gebruikers",
- "Invalid user" : "Ongeldige gebruiker",
- "Invalid mail address" : "Ongeldige posadres",
- "Settings saved" : "Instellings gestoor",
- "Go to %s" : "Gaan na %s",
- "Settings" : "Instellings",
- "Personal" : "Persoonlik",
- "Calendar" : "Kalender",
- "Personal info" : "Persoonlike inligting",
- "Create" : "Skep",
- "Delete" : "Skrap",
- "Unlimited" : "Onbeperkte",
- "None" : "Geen",
- "Save changes" : "Bewaar veranderinge",
- "All" : "Alle",
- "Update to {version}" : "Werk by na {version}",
- "Remove" : "Verwyder",
- "Disable" : "Deaktiveer",
- "View in store" : "Bekyk in winkel",
- "Visit website" : "Besoek webwerf",
- "Admin documentation" : "Admindokumentasie",
- "Developer documentation" : "Ontwikkelaardokumentasie",
- "Rename" : "Hernoem",
- "Device" : "Toestel",
- "App name" : "Toepnaam",
- "Create new app password" : "Skep nuwe toepwagwoord",
- "Username" : "Gebruikersnaam",
- "Password" : "Wagwoord",
- "Done" : "Gereed",
- "Copied!" : "Gekopieer!",
- "Copy" : "Kopieer",
- "Profile" : "Profiel",
- "Enable" : "Aktiveer",
- "Current password" : "Huidige wagwoord",
- "New password" : "Nuwe wagwoord",
- "Change password" : "Verander wagwoord",
- "Cancel" : "Kanselleer",
- "Details" : "Besonderhede",
- "Your email address" : "U e-posadres",
- "No email address set" : "Geen e-posadres ingestel",
- "Language" : "Taal",
- "Help translate" : "Help met vertaling",
- "Your phone number" : "U foonnommer",
- "Your Twitter handle" : "U Twitter-handvatsel",
- "Your website" : "U webwerf",
- "Add" : "Voeg by",
- "Display name" : "Vertoonnaam",
- "Email" : "E-pos",
- "Quota" : "Kwota",
- "Group admin for" : "Groepadmin vir",
- "Last login" : "Laaste aantekening",
- "Default quota" : "Verstekkwota",
- "Unnamed device" : "Onbenoemde toestel",
- "Your apps" : "U toeps",
- "Changelog" : "Veranderingslog",
- "Active users" : "Aktiewe gebruikers",
- "Email sent" : "E-pos gestuur",
- "Location" : "Ligging",
- "Profile picture" : "Profielprent",
- "About" : "Oor",
- "Full name" : "Volle naam",
- "Phone number" : "Foonnommer",
- "Twitter" : "Twitter",
- "Website" : "Webwerf",
- "Disabled apps" : "Gedeaktiveerde toeps",
- "Updates" : "Bywerkings",
- "App bundles" : "Toepbundels",
- "Never" : "Nooit",
- "Documentation" : "Dokumentasie",
- "Forum" : "Forum",
- "Login" : "Teken aan",
- "Open documentation" : "Open dokumentasie",
- "Encryption" : "Enkripsie",
- "Server address" : "Bedieneradres",
- "Port" : "Poort",
- "Authentication required" : "Verifikasie word vereis",
- "SMTP Password" : "SMTP-wagwoord",
- "Save" : "Stoor",
- "Version" : "Weergawe",
- "Like our Facebook page" : "Hou van ons Facebook-blad",
- "Follow us on Twitter" : "Volg ons op Twitter",
- "Check out our blog" : "Besoek ons woernaal",
- "Subscribe to our newsletter" : "Teken in op ons nuusbrief",
- "png or jpg, max. 20 MB" : "png of jpg, maks. 20 MB",
- "Send email to new user" : "Stuur e-pos aan nuwe gebruiker",
- "SSL/TLS" : "SSL/TLS",
- "STARTTLS" : "STARTTLS"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/af.json b/apps/settings/l10n/af.json
deleted file mode 100644
index bc2e1dcebe1..00000000000
--- a/apps/settings/l10n/af.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{ "translations": {
- "Private" : "Privaat",
- "Published" : "Gepubliseer",
- "Very weak password" : "Baie swak wagwoord",
- "Weak password" : "Swak wagwoord",
- "So-so password" : "Gemiddelde wagwoord",
- "Good password" : "Goeie wagwoord",
- "Strong password" : "Sterk wagwoord",
- "Groups" : "Groepe",
- "Group list is empty" : "Groeplys is leeg",
- "Unable to retrieve the group list" : "Kan nie die groeplys ophaal nie",
- "{actor} changed your password" : "{actor} het u wagwoord verander",
- "You changed your password" : "U het u wagwoord verander",
- "Your password was reset by an administrator" : "U wagwoord is deur ’n administrateur herstel",
- "{actor} changed your email address" : "{actor} het u e-posadres verander",
- "You changed your email address" : "U het u e-posadres verander",
- "Your email address was changed by an administrator" : "U e-posadres is deur ’n administrateur verander",
- "Security" : "Sekuriteit",
- "Your <strong>password</strong> or <strong>email</strong> was modified" : "U <strong>wagwoord</strong> of <strong>e-pos</strong> is gewysig",
- "Apps" : "Toeps",
- "Wrong password" : "Verkeerde wagwoord",
- "Saved" : "Bewaar",
- "No user supplied" : "Geen gebruiker verskaf nie",
- "Administrator documentation" : "Administrateurdokumentasie",
- "User documentation" : "Gebruikerdokumentasie",
- "Well done, %s!" : "Welgedaan %s!",
- "Users" : "Gebruikers",
- "Invalid user" : "Ongeldige gebruiker",
- "Invalid mail address" : "Ongeldige posadres",
- "Settings saved" : "Instellings gestoor",
- "Go to %s" : "Gaan na %s",
- "Settings" : "Instellings",
- "Personal" : "Persoonlik",
- "Calendar" : "Kalender",
- "Personal info" : "Persoonlike inligting",
- "Create" : "Skep",
- "Delete" : "Skrap",
- "Unlimited" : "Onbeperkte",
- "None" : "Geen",
- "Save changes" : "Bewaar veranderinge",
- "All" : "Alle",
- "Update to {version}" : "Werk by na {version}",
- "Remove" : "Verwyder",
- "Disable" : "Deaktiveer",
- "View in store" : "Bekyk in winkel",
- "Visit website" : "Besoek webwerf",
- "Admin documentation" : "Admindokumentasie",
- "Developer documentation" : "Ontwikkelaardokumentasie",
- "Rename" : "Hernoem",
- "Device" : "Toestel",
- "App name" : "Toepnaam",
- "Create new app password" : "Skep nuwe toepwagwoord",
- "Username" : "Gebruikersnaam",
- "Password" : "Wagwoord",
- "Done" : "Gereed",
- "Copied!" : "Gekopieer!",
- "Copy" : "Kopieer",
- "Profile" : "Profiel",
- "Enable" : "Aktiveer",
- "Current password" : "Huidige wagwoord",
- "New password" : "Nuwe wagwoord",
- "Change password" : "Verander wagwoord",
- "Cancel" : "Kanselleer",
- "Details" : "Besonderhede",
- "Your email address" : "U e-posadres",
- "No email address set" : "Geen e-posadres ingestel",
- "Language" : "Taal",
- "Help translate" : "Help met vertaling",
- "Your phone number" : "U foonnommer",
- "Your Twitter handle" : "U Twitter-handvatsel",
- "Your website" : "U webwerf",
- "Add" : "Voeg by",
- "Display name" : "Vertoonnaam",
- "Email" : "E-pos",
- "Quota" : "Kwota",
- "Group admin for" : "Groepadmin vir",
- "Last login" : "Laaste aantekening",
- "Default quota" : "Verstekkwota",
- "Unnamed device" : "Onbenoemde toestel",
- "Your apps" : "U toeps",
- "Changelog" : "Veranderingslog",
- "Active users" : "Aktiewe gebruikers",
- "Email sent" : "E-pos gestuur",
- "Location" : "Ligging",
- "Profile picture" : "Profielprent",
- "About" : "Oor",
- "Full name" : "Volle naam",
- "Phone number" : "Foonnommer",
- "Twitter" : "Twitter",
- "Website" : "Webwerf",
- "Disabled apps" : "Gedeaktiveerde toeps",
- "Updates" : "Bywerkings",
- "App bundles" : "Toepbundels",
- "Never" : "Nooit",
- "Documentation" : "Dokumentasie",
- "Forum" : "Forum",
- "Login" : "Teken aan",
- "Open documentation" : "Open dokumentasie",
- "Encryption" : "Enkripsie",
- "Server address" : "Bedieneradres",
- "Port" : "Poort",
- "Authentication required" : "Verifikasie word vereis",
- "SMTP Password" : "SMTP-wagwoord",
- "Save" : "Stoor",
- "Version" : "Weergawe",
- "Like our Facebook page" : "Hou van ons Facebook-blad",
- "Follow us on Twitter" : "Volg ons op Twitter",
- "Check out our blog" : "Besoek ons woernaal",
- "Subscribe to our newsletter" : "Teken in op ons nuusbrief",
- "png or jpg, max. 20 MB" : "png of jpg, maks. 20 MB",
- "Send email to new user" : "Stuur e-pos aan nuwe gebruiker",
- "SSL/TLS" : "SSL/TLS",
- "STARTTLS" : "STARTTLS"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/settings/l10n/ar.js b/apps/settings/l10n/ar.js
index 0a9d06a2801..7fda2c285f7 100644
--- a/apps/settings/l10n/ar.js
+++ b/apps/settings/l10n/ar.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "ترويسات الـ HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- لم يتم تعيين ترويسة الـ HTTP ـ `%1$s` إلى `%2$s`. يمكن ألّا تعمل بعض الخصائص بالشكل الصحيح بسبب عدم ضبط هذا الإعداد كما يجب.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- لم يتم تعيين ترويسة الـ HTTP ـ `%1$s` إلى `%2$s`. يمكن أن يٌشكِّل هذا تهديداً محتملاً للأمن و الخصوصية بسبب عدم ضبط هذا الإعداد كما يجب.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- ترويسة الـ HTTP ـ `%1$s` لا تحتوي على `%2$s`. يمكن أن يٌشكِّل هذا تهديداً محتملاً للأمن و الخصوصية بسبب عدم ضبط هذا الإعداد كما يجب.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- ترويسة الـ HTTP ـ `%1$s` لم يتم ضبطها على `%2$s`, أو `%3$s`, أو `%4$s`, أو `%5$s`، أو `%6$s`. يمكن أن يؤدي هذا إلى تسريب معلومات المرجِع . للمزيد، أنظُر: {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- ترويسة HTTP للنقل الآمن `Strict-Transport-Security` لم يتم ضبطها على `%d` ثوانٍ على الأقل (القيمة الحالية: `%d`). لتعزيز الأمن، يُوصى باستعمال سياسة HSTS طويلة.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- ترويسة HTTP للنقل الآمن `Strict-Transport-Security` ـ : `%s`. لتعزيز الأمن، يُنصح بتمكين HSTS.",
@@ -443,97 +442,6 @@ OC.L10N.register(
"Could not load section content from app store." : "تعذّر تحميل محتوى القسم من متجر التطبيقات",
"Loading" : "التحميل جارٍ...",
"Fetching the latest news…" : "تحميل آخر الأخبار...",
- "Carousel" : "دوَّار",
- "Previous slide" : "الشريحة السابقة",
- "Next slide" : "الشريحة التالية",
- "Choose slide to display" : "إختر شريحة للعرض",
- "{index} of {total}" : "{index} من {total}",
- "Daemon" : "برنامج خفي Daemon",
- "Deploy Daemon" : "نشر البرنامج الخفي",
- "Type" : "النوع",
- "Display Name" : "إسم العرض",
- "GPUs support" : "دعم وحدات المعالجة الرسومية GPU",
- "Compute device" : "إحسب الجهاز",
- "Advanced deploy options" : "خيارات النشر المتقدمة",
- "Edit ExApp deploy options before installation" : "قُم بتعديل خيارات نشر التطبيقات الخارجية ExAPP قبل التثبيت",
- "Configured ExApp deploy options. Can be set only during installation" : "الخيارات المُهيَّأة لنشر التطبيقات الخارجية ExAPP، يمكن تعيينها فقط أثناء التثبيت",
- "Learn more" : "تعلم المزيد",
- "Environment variables" : "متغيرات البيئة",
- "ExApp container environment variables" : "متغيرات بيئة حاوية التطبيقات الخارجية ExApp",
- "No environment variables defined" : "لم يتم تعريف أي متغيرات بيئية",
- "Mounts" : "نقاط تثبيت",
- "Define host folder mounts to bind to the ExApp container" : "قم بتحديد مجلدات المضيف المراد ربطها بحاوية التطبيق الخارجي ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "يجب أن يكون موجوداً على مضيف البرنامج المُقِيم للنشر Deploy daemon قبل تثبيت التطبيق الخارجي ExApp",
- "Host path" : "مسار المُضِيف",
- "Container path" : "مسار الحاوية",
- "Read-only" : "للقراءة فقط",
- "Remove mount" : "إزالة نقطة تثبيت",
- "New mount" : "نقطة تثبيت جديدة",
- "Enter path to host folder" : "أدخِل مسار مجلد الاسضافة",
- "Enter path to container folder" : "أدخِل مسار مجلد الحاوية",
- "Toggle read-only mode" : "تبديل وضعية \"للقراءة فقط\"",
- "Confirm adding new mount" : "أكِّد على إضافة نقطة التثبيت الجديدة",
- "Confirm" : "تأكيد",
- "Cancel adding mount" : "إلغاء إضافة نقطة التثبيت",
- "Cancel" : "إلغاء",
- "Add mount" : "إضافة نقطة تثبيت",
- "ExApp container mounts" : "نقاط تثبيت حاوية التطبيق الخارجي ExApp",
- "No mounts defined" : "لم يتم تعريف أي نقاط تثبيت",
- "Description" : "الوصف",
- "View in store" : "العرض في المتجر store",
- "Visit website" : "زيارة الموقع",
- "Usage documentation" : "توثيق المُستخدِم",
- "Admin documentation" : "دليل المدير",
- "Developer documentation" : "دليل المُطوّر",
- "Details" : "التفاصيل",
- "All" : "الكل",
- "Limit app usage to groups" : "قصر استخدام التطبيق على بعض المجموعات",
- "No results" : "لا نتائج",
- "Update to {version}" : "التحديث إلى {version}",
- "Deploy options" : "خيارات النشر",
- "Default Deploy daemon is not accessible" : "الوصول إلى البرنامج الخفي التلقائي لنشر التطبيقات Default Deploy Daemon غير ممكن.",
- "Delete data on remove" : "إحذف البيانات عند الإزالة",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "هذا التطبيق لم يُحدّد فيه أقدم إصدار متوافق معه من نكست كلاود. هذا قد يسبب خطأ في المستقبل.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "هذا التطبيق لم يُحدّد فيه أحدث إصدار متوافق معه من نكست كلاود. هذا قد يسبب خطأ في المستقبل.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "تعذّر تنصيب التطبيق بسبب عدم توافر التَبعِيّات dependencies التالية:",
- "Latest updated" : "آخر ما تمّ تحديثه",
- "Author" : "الكاتب",
- "Categories" : "التصنيفات",
- "Resources" : "الموارد",
- "Documentation" : "توثيق النظام",
- "Interact" : "تفاعل",
- "Report a bug" : "الإبلاغ عن خطإٍ",
- "Request feature" : "طلب خاصّيّةٍ",
- "Ask questions or discuss" : "إسأل أو ناقش",
- "Rate the app" : "قَيِّم التطبيق",
- "Rate" : "تقييم",
- "Changelog" : "سجل التغييرات",
- "Google Chrome for Android" : "مُتصفِّح \"كرُوم\" على الأندرويد من قوقل Chrome ",
- "{productName} iOS app" : "تطبيق iOS ـ {productName} ",
- "{productName} Android app" : "تطبيق أندرويد ـ {productName} ",
- "{productName} Talk for iOS" : "تطبيق المحادثة Talk على iOS ـ {productName} ",
- "{productName} Talk for Android" : "تطبيق المحادثة Talk على أندرويد ـ {productName} ",
- "Sync client" : "مُزامنة العميل",
- "This session" : "هذه الجلسة",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "اسم الجهاز",
- "Cancel renaming" : "إلغِ إعادة التسمية",
- "Save new name" : "حفظ الاسم الجديد",
- "Marked for remote wipe" : "مُعلَّمٌ ليتم مَحوُه عن بُعدٍ",
- "Device settings" : "إعدادات الجهاز",
- "Allow filesystem access" : "السماح بالنفاذ إلى نظام الملفات",
- "Rename" : "تعديل الاسم",
- "Revoke" : "سحب ",
- "Wipe device" : "مَحوُ الجهاز",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "إبطال رمز Token قد يتسبب في منع محو جهازك إذا لم تكن عملية المحو قد بدأت حتى الآن",
- "Device" : "الجهاز",
- "Last activity" : "آخر حركة",
- "Devices & sessions" : "الأجهزة والجلسات",
- "Web, desktop and mobile clients currently logged in to your account." : "تطبيق الويب وسطح المكتب والجوال المسجل دخولهم حالياً في حسابك.",
- "Error while creating device token" : "حدث خطأ اثناء إنشاء أَمَارَة token للجهاز",
- "App name" : "اسم التطبيق",
- "Create new app password" : "إنشاء كلمة مرور جديدة للتطبيق",
"App password copied!" : "تمّ نسخ كلمة مرور التطبيق!",
"Copy app password" : "إنسَخ كلمة مرور التطبيق",
"Login name copied!" : "اسم الدخول تمّ نسخه!",
@@ -585,202 +493,10 @@ OC.L10N.register(
"Refer to the admin documentation on how to manually also encrypt existing files." : "إرجِع إلى توثيق المُشرِف حول كيفية تشفير الملفات الموجودة يدويّاً أيضاً.",
"This is the final warning: Do you really want to enable encryption?" : "هذا هو التحذير الاخير: هل تريد حقا تفعيل خاصية التشفير؟",
"Please confirm the group removal" : "رجاءً، قم بتأكيد حذف المجموعة",
+ "Cancel" : "إلغاء",
+ "Confirm" : "تأكيد",
"Submit" : "إرسال ",
"Rename group" : "تغيير تسمية مجموعة",
- "Current password" : "كلمة المرور الحالية",
- "New password" : "كلمة المرور الجديدة",
- "Change password" : "تغيير كلمة المرور",
- "Choose your profile picture" : "إختر صورة ملفك الشخصي",
- "Please select a valid png or jpg file" : "رجاءً، إختر ملف PNG أو JPG صالح",
- "Error setting profile picture" : "حدث خطأُ أثناء تعيين صورة الملف الشخصي",
- "Error cropping profile picture" : "حدث خطأُ أثناء قصقصة cropping صورة الملف الشخصي",
- "Error saving profile picture" : "حدث خطأُ أثناء حفظ صورة الملف الشخصي",
- "Error removing profile picture" : "حدث خطأُ أثناء حذف صورة الملف الشخصي",
- "Your profile picture" : "صورة ملفك الشخصي",
- "Upload profile picture" : "إرفع صورة ملفك الشخصي",
- "Choose profile picture from Files" : "إختر صورة ملفك الشخصي من الملفات",
- "Remove profile picture" : "حذف صورة ملفك الشخصي",
- "The file must be a PNG or JPG" : "يحب أن يكون الملف PNG أو JPG",
- "Picture provided by original account" : "الصورة المستخدمة من الحساب الاصلي",
- "Set as profile picture" : "تعيين كصورة للملف الشخصي",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "يرجى ملاحظة أن الأمر قد يستغرق ما يصل إلى 24 ساعة حتى يتم تحديث صورة ملفك الشخصي في كل مكان.",
- "Your biography. Markdown is supported." : "سيرتك الذاتية. تنسيق \"ماركداون\" مدعوم أيضاً.",
- "Unable to update date of birth" : "يتعذّر تحديث تاريخ الميلاد",
- "Enter your date of birth" : "أدخل تاريخ ميلادك",
- "You are using {s}{usage}{/s}" : "أنت تستعمل {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "أنت تستعمل {s}{usage}{/s} من {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "أنت عضو في المجموعات التالية:",
- "Your full name" : "اسمك الكامل",
- "Email options" : "خيارات الإيميل",
- "Options for additional email address {index}" : "خيارات عنوان البريد الإلكتروني الإضافي {index}",
- "Remove primary email" : "حذف حساب البريد الالكتروني الأساسي",
- "Delete email" : "حذف الإيميل",
- "This address is not confirmed" : "هذا العنوان غير مؤكد",
- "Unset as primary email" : "إلغاء التعيين كحساب بريد الكتروني أساسي",
- "Set as primary email" : "تعيين كحساب بريد الكتروني أساسي",
- "Additional email address {index}" : "إيميل إضافي {index}",
- "Unable to delete primary email address" : "تعذّر حذف حساب البريد الالكتروني الأساسي",
- "Unable to update primary email address" : "تعذّر تحديث حساب البريد الالكتروني الأساسي",
- "Unable to add additional email address" : "تعذّرت إضافة حساب بريد الكتروني إضافي",
- "Unable to update additional email address" : "تعذّر تحديث حساب البريد الالكتروني الإضافي",
- "Unable to delete additional email address" : "تعذّرت إضافة حساب بريد الكتروني إضافي",
- "Primary email for password reset and notifications" : "البريد الإلكتروني الأساسي لإعادة تعيين كلمة المرور والإشعارات",
- "No email address set" : "لم يتم تعيين أي إيميل",
- "Your handle" : "حسابك",
- "Derived from your locale ({weekDayName})" : "مشتق من إعدادات منطقتك ({weekDayName})",
- "Unable to update first day of week" : "تعذّر تحديث اليوم الأول في الأسبوع",
- "Day to use as the first day of week" : "اليوم الذي سيتم اعتباره أول يوم في الأسبوع",
- "Your headline" : "عنوان ملفك الشخصي",
- "Unable to update language" : "تعذّر تحديث اللغة",
- "Languages" : "اللغات",
- "Help translate" : "المساعدة في الترجمة",
- "No language set" : "لم يتم تعيين أيّ لغةٍ",
- "Unable to update locale" : "تعذر تحديث إعدادات المنطقة",
- "Locales" : "الدول والمناطق",
- "Week starts on {firstDayOfWeek}" : "يبدأ الأسبوع بيوم {firstDayOfWeek}",
- "No locale set" : "لم يتم تعيين أي إعدادات للمنطقة",
- "Your city" : "مدينتك",
- "Your organisation" : "مؤسستك",
- "Your phone number" : "رقم هاتفك",
- "Edit your Profile visibility" : "حدّد من يستطيع أن يرى ملفك الشخصي",
- "Unable to update profile enabled state" : "تعذّر تحديث حالة الملف الشخصي المُفعّلة profile enabled state",
- "Enable profile" : "تمكين الملف الشخصي",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "الإعداد الأكثر تقييدًا للرؤية أو النطاق في ملف تعريفك الشخصي هو الذي سيتم تطبيقه. على سبيل المثال، إذا تم تعيين الرؤية على \"إظهار للجميع\" و تم تعيين النطاق على \"خاص\"، فسيتم تطبيق \"خاص\".",
- "Unable to update visibility of {displayId}" : "تعذر تحديث رؤية {displayId}",
- "she/her" : "هو/هي",
- "he/him" : "هو",
- "they/them" : "هم",
- "Your role" : "وظيفتك",
- "Your X (formerly Twitter) handle" : "حساب منصة X (تويتر سابقاً)",
- "Your website" : "صفحتك على الويب",
- "Invalid value" : "قيمة غير صحيحة",
- "Unable to update {property}" : "تعذّر تحديث {property}",
- "No {property} set" : "لم يتم تعيين أي {property} ",
- "Change scope level of {property}, current scope is {scope}" : "تمّ تغيير مستوى نطاق scope level ـ {property}. النطاق الحالي {scope}",
- "Unable to update federation scope of the primary {property}" : "تعذّر تحديث نطاق الاتحاد لـ {property} الأساسي/الأساسية",
- "Unable to update federation scope of additional {property}" : "تعذّر تحديث نطاق الاتحاد لـ {property} الإضافي/الإضافي",
- "Add additional email" : "إضافة بريد إلكتروني إضافي",
- "Add" : "إضافة",
- "Create" : "إنشاء",
- "Change" : "تعديل",
- "Delete" : "إلغاء",
- "Reshare" : "إعادة المشاركة",
- "Default language" : "اللغة الافتراضية",
- "Common languages" : "اللغات الشائعة",
- "Other languages" : "لُغات أخرى",
- "Password change is disabled because the master key is disabled" : "تم تعطيل تغيير كلمة المرور لأن المفتاح الرئيسي master key معطلٌ",
- "No accounts" : "لا توجد أي حسابات",
- "Loading accounts …" : "تحميل الحسابات ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "قائمة الحسابات. لم يتم تقديم هذه القائمة بالكامل لأسباب تتعلق بسرعة الأداء. سيتم عرض باقي الحسابات أثناء التنقل عبر القائمة.",
- "Manager" : "مدير",
- "Set line manager" : "تعيين الرئيس المباشر",
- "Account name will be autogenerated" : "سيتم توليد اسم الحساب تلقائيّاً",
- "Account name (required)" : "اسم الحساب (مطلوب)",
- "Failed to search groups" : "فشل البحث في المجموعات",
- "New account" : "حساب جديد",
- "Display name" : "اسم العرض",
- "Either password or email is required" : "يتطلب كلمة المرور أو البريد الإلكتروني",
- "Password (required)" : "كلمة المرور (مطلوب)",
- "Email (required)" : "البريد الالكتروني (مطلوب)",
- "Email" : "البريد الإلكتروني",
- "Member of the following groups (required)" : "عضو في المجموعات التالية ( مطلوب)",
- "Member of the following groups" : "عضو في المجموعات التالية",
- "Set account groups" : "تعيين مجموعات الحساب",
- "Admin of the following groups" : "مدير في المجموعات التالية",
- "Set account as admin for …" : "تعيين الحساب كمدير على ...",
- "Quota" : "الحصة التخزينية",
- "Set account quota" : "تعيين الحصة التخزينية للحساب",
- "Language" : "اللغة",
- "Set default language" : "تعيين اللغة الافتراضية",
- "Add new account" : "إضافة حساب جديد",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} حساب …","{userCount} حساب …","{userCount} حساب …","{userCount} حسابات …","{userCount} حساب …","{userCount} حساب …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} حساب ","{userCount} حساب ","{userCount} حساب ","{userCount} حسابات","{userCount} حساب ","{userCount} حساب "],
- "Total rows summary" : "ملخص مجموع الأسطر",
- "Scroll to load more rows" : "مرِّر على القائمة لتحميل المزيد من الصفوف",
- "Password or insufficient permissions message" : "رسالة حول كلمة المرور أو عدم كفاية الأذونات",
- "Avatar" : "صورة الملف الشخصي الرمزية",
- "Account name" : "اسم الحساب",
- "Group admin for" : "مدير المجموعة لـ",
- "Account backend" : "الواجهة الخلفية للحساب",
- "Storage location" : "مسار التخزين",
- "First login" : "أول دخول",
- "Last login" : "آخِر تسجيلٍ للدخول",
- "Account actions" : "إجراءات الحساب",
- "{size} used" : "تم استهلاك{size} ",
- "Delete account" : "حذف الحساب",
- "Disconnect all devices and delete local data" : "قطع اتصال جميع الأجهزة وحذف البيانات المحلية فيها",
- "Disable account" : "تعطيل الحساب",
- "Enable account" : "تمكين الحساب",
- "Resend welcome email" : "إعادة إرسال الإيميل الترحيبي",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "في حالة فقد الجهاز أو ترك العمل بالمؤسسة، يمكن مَحْو بيانات نكست كلاود عن بُعد من جميع الأجهزة المرتبطة بـ {userid}. يعمل فقط إذا كانت الأجهزة متصلة بالإنترنت.",
- "Remote wipe of devices" : "مَحْو الأجهزة عن بُعدٍ",
- "Wipe {userid}'s devices" : "قُم بمَحْو أجهزة {userid}",
- "Wiped {userid}'s devices" : "أجهزة {userid} تمّ محوُها",
- "Failed to load groups with details" : "فل تحميل المجموعات مع التفاصيل",
- "Failed to load sub admin groups with details" : "فشل تحميل مجموعات المشرف الفرعي مع التفاصيل",
- "Failed to update line manager" : "تعذّر تحديث الرئيس المباشر",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "حذفُ حساب {userid} بالكامل بما في ذلك جميع ملفاته الشخصية وبيانات التطبيقات و غيرها.",
- "Account deletion" : "حذف حساب",
- "Delete {userid}'s account" : "حذف حساب {userid}",
- "Display name was successfully changed" : "تم تغيير اسم العرض بنجاح",
- "Password can't be empty" : "كلمة المرور لايمكن أن تكون فارغةً",
- "Password was successfully changed" : "تم تغيير كلمة المرور بنجاح",
- "Email can't be empty" : "البريد الإلكتروني لايمكن أن يكون فارغاً",
- "Email was successfully changed" : "تم تغيير البريد الإلكتروني بنجاح",
- "Welcome mail sent!" : "تمّ إرسال إيميل ترحيبي!",
- "Loading account …" : "تحميل حسابات ...",
- "Change display name" : "تعديل اسم العرض",
- "Set new password" : "تعيين كلمة مرور جديدة",
- "You do not have permissions to see the details of this account" : "ليس لديك الإذن بالاطلاع على تفاصيل هذا الحساب",
- "Set new email address" : "تعيين عنوان بريد الكتروني جديد",
- "Add account to group" : "إضافة حساب إلى مجموعة",
- "Set account as admin for" : "تعيين حساب كمدير على ",
- "Select account quota" : "تعيين الحصة التخزينية للحساب",
- "Set the language" : "تعيين اللغة",
- "Toggle account actions menu" : "تبديل قائمة إجراءات الحساب",
- "Done" : "تمّ",
- "Edit" : "تعديل",
- "Account management settings" : "إعدادات إدارة الحساب",
- "Visibility" : "الرؤية",
- "Show language" : "لغة العرض",
- "Show account backend" : "إظهار خلفية الحساب",
- "Show storage path" : "عرض مسار التخزين",
- "Show first login" : "أظهِر أول دخول",
- "Show last login" : "عرض آخر تسجيل دخول",
- "Sorting" : "ترتيب",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "يفرض تكوين النظام فرز المجموعات حسب الاسم. يؤدي هذا أيضًا إلى تعطيل إظهار عدد الأعضاء.",
- "Group list sorting" : "ترتيب قائمة المجموعات",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "ينطبق الترتيب فقط على المجموعات التي تم تحميلها مؤخراً لاسباب تتعلق بالأداء. مزيد من المجموعات سيتم تحميلها كلما تحركت عبر القائمة أو بحثت فيها.",
- "By member count" : "بحسب عدد الأعضاء",
- "By name" : "بحسب الاسم",
- "Send email" : "إرسال بريد إلكتروني",
- "Send welcome email to new accounts" : "إرسال إيميل ترحيبي للحسابات الجديدة",
- "Defaults" : "الافتراضي",
- "Default quota" : "الحصة الافتراضية",
- "Select default quota" : "تعيين الحصة الافتراضية",
- "Server error while trying to complete WebAuthn device registration" : "حدث خطأ في الخادم أثناء محاولة إكمال تسجيل جهاز WebAuthn",
- "Passwordless authentication requires a secure connection." : "تتطلب المصادقة بدون كلمة مرور اتصالاً آمنًا.",
- "Add WebAuthn device" : "إضافة جهاز WebAuthn",
- "Please authorize your WebAuthn device." : "يُرجى منح الإذن لجهاز WebAuthn الخاص بك.",
- "Adding your device …" : "إضافة جهازك جاريةٌ ...",
- "Unnamed device" : "جهاز بدون اسم",
- "Passwordless Authentication" : "المصادقة بدون كلمة مرور",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "قم بإعداد حسابك للمصادقة بدون كلمة مرور وفق معيار FIDO2.",
- "No devices configured." : "لم تتمّ تهيئة أي أجهزة.",
- "The following devices are configured for your account:" : "تمّت تهيئة الأجهزة التالية لحسابك:",
- "Your browser does not support WebAuthn." : "مُتصفِّحُك لا يدعم WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "بصفتك مدير يمكنك ضبط سلوك وآلية عمليات المشاركة. يرجى الاطلاع على التوثيق لمزيد من المعلومات.",
- "You need to enable the File sharing App." : "يلزمك تمكين تطبيق مُشارَكة الملفات File sharing.",
- "App Store" : "متجر التطبيقات",
- "Loading app list" : "تحميل قائمة التطبيقات",
- "Loading categories" : "تحميل الفئات",
- "Developer documentation ↗" : "توثيق المطورين ↗",
- "Version {version}, {license}-licensed" : "النسخة {version}, {license}-مُرخَّصَة",
- "Version {version}" : "الإصدار {version}",
- "All accounts" : "جميع الحسابات",
- "Admins" : "المديرون",
- "Account group: {group}" : "مجموعة الحساب: {group}",
- "Account management" : "إدارة الحساب",
"Sending…" : "الإرسال جارٍ …",
"Email sent" : "تمّ إرسال الإيميل",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "لأسباب تتعلق بالأداء، عندما تقوم بتمكين التشفير على خادوم نكست كلاود، يتم تشفير الملفات الجديدة والمتغيرة فقط.",
@@ -790,6 +506,7 @@ OC.L10N.register(
"Date of birth" : "تاريخ الميلاد",
"Full name" : "الاسم الكامل",
"Additional email" : "إيميل إضافي",
+ "Email" : "البريد الإلكتروني",
"Fediverse (e.g. Mastodon)" : "الحساب على شبكات التواصل الاجتماعي Fediverse (مثل Mastodon)",
"Headline" : "العنوان",
"Organisation" : "المؤسسة",
@@ -799,6 +516,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "منصة X (تويتر سابقاً)",
"Website" : "صفحة الويب",
"Profile visibility" : "رؤية الملف الشخصي",
+ "Language" : "اللغة",
"Locale" : "إعدادات المنطقة واللغة",
"First day of week" : "أول يوم في الأسبوع",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "غير مُتاحٍ لأن هذه الخاصية مطلوبة للوظائف الأساسية بما في ذلك مشاركة الملفات و دعوات التقويم",
@@ -816,6 +534,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "عرض للمسجل دخولهم فقط",
"Hide" : "إخفاء",
"Manually installed apps cannot be updated" : "التطبيقات المثبتة يدويّاً لايمكن تحديثها",
+ "Update to {version}" : "التحديث إلى {version}",
"{progress}% Deploying …" : "{progress}% النشر جارٍ …",
"{progress}% Initializing …" : "{progress}% التهيئة جارية …",
"Health checking" : "فحص الصحة",
@@ -825,6 +544,7 @@ OC.L10N.register(
"Allow untested app" : "السماح للتطبيقات غير المجازة",
"The app will be downloaded from the App Store" : "سيتم تنزيل التطبيق من متجر التطبيقات ",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "لم يتم التعرّف على هذا التطبيق باعتباره متوافقاً مع إصدار نكست كلاود الخاص بك. إذا تابعت، فسيظل بإمكانك تنصيب التطبيق. ولكن يجب ملاحظة أن التطبيق قد لا يعمل بالشكل المتوقع.",
+ "{size} used" : "تم استهلاك{size} ",
"Unknown" : "غير معروف",
"Never" : "أبدا",
"Could not register device: Network error" : "تعذّر تسجيل الجهاز: خطأ في الشبكة",
@@ -843,8 +563,10 @@ OC.L10N.register(
"Could not set group sorting" : "تعذّر تعيين كيفية ترتيب المجموعات",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "الطلبات الموجودة أكثر من الحد المسموح به في الشبكة. أعد المحاولة أو اتصل بمدير النظام.",
"Error" : "خطأ",
+ "Default quota" : "الحصة الافتراضية",
"Account documentation" : "وثائق المستخدم",
"Administration documentation" : "وثائق الإدارة",
+ "Documentation" : "توثيق النظام",
"Forum" : "المنتدى",
"Nextcloud help & privacy resources" : "مصادر للمساعدة والخصوصية حول نكست كلاود",
"General documentation" : "وثائق عامة",
@@ -867,6 +589,7 @@ OC.L10N.register(
"SMTP Password" : "كلمة مرور الـ SMTP",
"Save" : "حفظ",
"Test and verify email settings" : "إختبر و تحقّق من إعدادات البريد الالكتروني",
+ "Send email" : "إرسال بريد إلكتروني",
"Security & setup warnings" : "تحذيرات الإعداد والأمان",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "من المهم لأمان الخادم و مستوى أدائه أن يتم تكوين كل شيء بشكل صحيح. لمساعدتك في ذلك، نقوم ببعض الفحوصات التلقائية. يُرجى الاطلاع على الوثائق ذات الصلة لمزيد من المعلومات.",
"All checks passed." : "تمّ اجتياز جميع الاختبارات بنجاح.",
@@ -892,11 +615,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "حد ذاكرة PHP أقل من القيمة الموصى بها وهي %s.",
"for WebAuthn passwordless login" : "للدخول بدون كلمة مرور passwordless login في WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "للدخول بدون كلمة مرور passwordless login في WebAuthn، و وحدات تخزين SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- ترويسة الـ HTTP ـ `%1$s` لا تحتوي على `%2$s`. يمكن أن يٌشكِّل هذا تهديداً محتملاً للأمن و الخصوصية بسبب عدم ضبط هذا الإعداد كما يجب.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "تمّ اكتشاف الإصدار \"%s\" من PostgreSQL. الإصدارات الموصى بها لأفضل أداء و للثبات و لاكتمال الوظائف مع هذا الإصدار من نكست كلاود هي من 12 إلى 16. ",
- "Set default expiration date for shares" : "تعيين تاريخ إنتهاء الصلاحية للمشاركات",
- "Your biography" : "سيرتك الذاتية",
- "You are using <strong>{usage}</strong>" : "أنت تستعمل <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "أنت تستعمل <strong>{usage}</strong> من <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "فشل تحميل المجموعات الفرعية مع التفاصيل"
+ "Set default expiration date for shares" : "تعيين تاريخ إنتهاء الصلاحية للمشاركات"
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
diff --git a/apps/settings/l10n/ar.json b/apps/settings/l10n/ar.json
index a4dc6b6f069..e3f96de6c10 100644
--- a/apps/settings/l10n/ar.json
+++ b/apps/settings/l10n/ar.json
@@ -294,7 +294,6 @@
"HTTP headers" : "ترويسات الـ HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- لم يتم تعيين ترويسة الـ HTTP ـ `%1$s` إلى `%2$s`. يمكن ألّا تعمل بعض الخصائص بالشكل الصحيح بسبب عدم ضبط هذا الإعداد كما يجب.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- لم يتم تعيين ترويسة الـ HTTP ـ `%1$s` إلى `%2$s`. يمكن أن يٌشكِّل هذا تهديداً محتملاً للأمن و الخصوصية بسبب عدم ضبط هذا الإعداد كما يجب.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- ترويسة الـ HTTP ـ `%1$s` لا تحتوي على `%2$s`. يمكن أن يٌشكِّل هذا تهديداً محتملاً للأمن و الخصوصية بسبب عدم ضبط هذا الإعداد كما يجب.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- ترويسة الـ HTTP ـ `%1$s` لم يتم ضبطها على `%2$s`, أو `%3$s`, أو `%4$s`, أو `%5$s`، أو `%6$s`. يمكن أن يؤدي هذا إلى تسريب معلومات المرجِع . للمزيد، أنظُر: {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- ترويسة HTTP للنقل الآمن `Strict-Transport-Security` لم يتم ضبطها على `%d` ثوانٍ على الأقل (القيمة الحالية: `%d`). لتعزيز الأمن، يُوصى باستعمال سياسة HSTS طويلة.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- ترويسة HTTP للنقل الآمن `Strict-Transport-Security` ـ : `%s`. لتعزيز الأمن، يُنصح بتمكين HSTS.",
@@ -441,97 +440,6 @@
"Could not load section content from app store." : "تعذّر تحميل محتوى القسم من متجر التطبيقات",
"Loading" : "التحميل جارٍ...",
"Fetching the latest news…" : "تحميل آخر الأخبار...",
- "Carousel" : "دوَّار",
- "Previous slide" : "الشريحة السابقة",
- "Next slide" : "الشريحة التالية",
- "Choose slide to display" : "إختر شريحة للعرض",
- "{index} of {total}" : "{index} من {total}",
- "Daemon" : "برنامج خفي Daemon",
- "Deploy Daemon" : "نشر البرنامج الخفي",
- "Type" : "النوع",
- "Display Name" : "إسم العرض",
- "GPUs support" : "دعم وحدات المعالجة الرسومية GPU",
- "Compute device" : "إحسب الجهاز",
- "Advanced deploy options" : "خيارات النشر المتقدمة",
- "Edit ExApp deploy options before installation" : "قُم بتعديل خيارات نشر التطبيقات الخارجية ExAPP قبل التثبيت",
- "Configured ExApp deploy options. Can be set only during installation" : "الخيارات المُهيَّأة لنشر التطبيقات الخارجية ExAPP، يمكن تعيينها فقط أثناء التثبيت",
- "Learn more" : "تعلم المزيد",
- "Environment variables" : "متغيرات البيئة",
- "ExApp container environment variables" : "متغيرات بيئة حاوية التطبيقات الخارجية ExApp",
- "No environment variables defined" : "لم يتم تعريف أي متغيرات بيئية",
- "Mounts" : "نقاط تثبيت",
- "Define host folder mounts to bind to the ExApp container" : "قم بتحديد مجلدات المضيف المراد ربطها بحاوية التطبيق الخارجي ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "يجب أن يكون موجوداً على مضيف البرنامج المُقِيم للنشر Deploy daemon قبل تثبيت التطبيق الخارجي ExApp",
- "Host path" : "مسار المُضِيف",
- "Container path" : "مسار الحاوية",
- "Read-only" : "للقراءة فقط",
- "Remove mount" : "إزالة نقطة تثبيت",
- "New mount" : "نقطة تثبيت جديدة",
- "Enter path to host folder" : "أدخِل مسار مجلد الاسضافة",
- "Enter path to container folder" : "أدخِل مسار مجلد الحاوية",
- "Toggle read-only mode" : "تبديل وضعية \"للقراءة فقط\"",
- "Confirm adding new mount" : "أكِّد على إضافة نقطة التثبيت الجديدة",
- "Confirm" : "تأكيد",
- "Cancel adding mount" : "إلغاء إضافة نقطة التثبيت",
- "Cancel" : "إلغاء",
- "Add mount" : "إضافة نقطة تثبيت",
- "ExApp container mounts" : "نقاط تثبيت حاوية التطبيق الخارجي ExApp",
- "No mounts defined" : "لم يتم تعريف أي نقاط تثبيت",
- "Description" : "الوصف",
- "View in store" : "العرض في المتجر store",
- "Visit website" : "زيارة الموقع",
- "Usage documentation" : "توثيق المُستخدِم",
- "Admin documentation" : "دليل المدير",
- "Developer documentation" : "دليل المُطوّر",
- "Details" : "التفاصيل",
- "All" : "الكل",
- "Limit app usage to groups" : "قصر استخدام التطبيق على بعض المجموعات",
- "No results" : "لا نتائج",
- "Update to {version}" : "التحديث إلى {version}",
- "Deploy options" : "خيارات النشر",
- "Default Deploy daemon is not accessible" : "الوصول إلى البرنامج الخفي التلقائي لنشر التطبيقات Default Deploy Daemon غير ممكن.",
- "Delete data on remove" : "إحذف البيانات عند الإزالة",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "هذا التطبيق لم يُحدّد فيه أقدم إصدار متوافق معه من نكست كلاود. هذا قد يسبب خطأ في المستقبل.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "هذا التطبيق لم يُحدّد فيه أحدث إصدار متوافق معه من نكست كلاود. هذا قد يسبب خطأ في المستقبل.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "تعذّر تنصيب التطبيق بسبب عدم توافر التَبعِيّات dependencies التالية:",
- "Latest updated" : "آخر ما تمّ تحديثه",
- "Author" : "الكاتب",
- "Categories" : "التصنيفات",
- "Resources" : "الموارد",
- "Documentation" : "توثيق النظام",
- "Interact" : "تفاعل",
- "Report a bug" : "الإبلاغ عن خطإٍ",
- "Request feature" : "طلب خاصّيّةٍ",
- "Ask questions or discuss" : "إسأل أو ناقش",
- "Rate the app" : "قَيِّم التطبيق",
- "Rate" : "تقييم",
- "Changelog" : "سجل التغييرات",
- "Google Chrome for Android" : "مُتصفِّح \"كرُوم\" على الأندرويد من قوقل Chrome ",
- "{productName} iOS app" : "تطبيق iOS ـ {productName} ",
- "{productName} Android app" : "تطبيق أندرويد ـ {productName} ",
- "{productName} Talk for iOS" : "تطبيق المحادثة Talk على iOS ـ {productName} ",
- "{productName} Talk for Android" : "تطبيق المحادثة Talk على أندرويد ـ {productName} ",
- "Sync client" : "مُزامنة العميل",
- "This session" : "هذه الجلسة",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "اسم الجهاز",
- "Cancel renaming" : "إلغِ إعادة التسمية",
- "Save new name" : "حفظ الاسم الجديد",
- "Marked for remote wipe" : "مُعلَّمٌ ليتم مَحوُه عن بُعدٍ",
- "Device settings" : "إعدادات الجهاز",
- "Allow filesystem access" : "السماح بالنفاذ إلى نظام الملفات",
- "Rename" : "تعديل الاسم",
- "Revoke" : "سحب ",
- "Wipe device" : "مَحوُ الجهاز",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "إبطال رمز Token قد يتسبب في منع محو جهازك إذا لم تكن عملية المحو قد بدأت حتى الآن",
- "Device" : "الجهاز",
- "Last activity" : "آخر حركة",
- "Devices & sessions" : "الأجهزة والجلسات",
- "Web, desktop and mobile clients currently logged in to your account." : "تطبيق الويب وسطح المكتب والجوال المسجل دخولهم حالياً في حسابك.",
- "Error while creating device token" : "حدث خطأ اثناء إنشاء أَمَارَة token للجهاز",
- "App name" : "اسم التطبيق",
- "Create new app password" : "إنشاء كلمة مرور جديدة للتطبيق",
"App password copied!" : "تمّ نسخ كلمة مرور التطبيق!",
"Copy app password" : "إنسَخ كلمة مرور التطبيق",
"Login name copied!" : "اسم الدخول تمّ نسخه!",
@@ -583,202 +491,10 @@
"Refer to the admin documentation on how to manually also encrypt existing files." : "إرجِع إلى توثيق المُشرِف حول كيفية تشفير الملفات الموجودة يدويّاً أيضاً.",
"This is the final warning: Do you really want to enable encryption?" : "هذا هو التحذير الاخير: هل تريد حقا تفعيل خاصية التشفير؟",
"Please confirm the group removal" : "رجاءً، قم بتأكيد حذف المجموعة",
+ "Cancel" : "إلغاء",
+ "Confirm" : "تأكيد",
"Submit" : "إرسال ",
"Rename group" : "تغيير تسمية مجموعة",
- "Current password" : "كلمة المرور الحالية",
- "New password" : "كلمة المرور الجديدة",
- "Change password" : "تغيير كلمة المرور",
- "Choose your profile picture" : "إختر صورة ملفك الشخصي",
- "Please select a valid png or jpg file" : "رجاءً، إختر ملف PNG أو JPG صالح",
- "Error setting profile picture" : "حدث خطأُ أثناء تعيين صورة الملف الشخصي",
- "Error cropping profile picture" : "حدث خطأُ أثناء قصقصة cropping صورة الملف الشخصي",
- "Error saving profile picture" : "حدث خطأُ أثناء حفظ صورة الملف الشخصي",
- "Error removing profile picture" : "حدث خطأُ أثناء حذف صورة الملف الشخصي",
- "Your profile picture" : "صورة ملفك الشخصي",
- "Upload profile picture" : "إرفع صورة ملفك الشخصي",
- "Choose profile picture from Files" : "إختر صورة ملفك الشخصي من الملفات",
- "Remove profile picture" : "حذف صورة ملفك الشخصي",
- "The file must be a PNG or JPG" : "يحب أن يكون الملف PNG أو JPG",
- "Picture provided by original account" : "الصورة المستخدمة من الحساب الاصلي",
- "Set as profile picture" : "تعيين كصورة للملف الشخصي",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "يرجى ملاحظة أن الأمر قد يستغرق ما يصل إلى 24 ساعة حتى يتم تحديث صورة ملفك الشخصي في كل مكان.",
- "Your biography. Markdown is supported." : "سيرتك الذاتية. تنسيق \"ماركداون\" مدعوم أيضاً.",
- "Unable to update date of birth" : "يتعذّر تحديث تاريخ الميلاد",
- "Enter your date of birth" : "أدخل تاريخ ميلادك",
- "You are using {s}{usage}{/s}" : "أنت تستعمل {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "أنت تستعمل {s}{usage}{/s} من {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "أنت عضو في المجموعات التالية:",
- "Your full name" : "اسمك الكامل",
- "Email options" : "خيارات الإيميل",
- "Options for additional email address {index}" : "خيارات عنوان البريد الإلكتروني الإضافي {index}",
- "Remove primary email" : "حذف حساب البريد الالكتروني الأساسي",
- "Delete email" : "حذف الإيميل",
- "This address is not confirmed" : "هذا العنوان غير مؤكد",
- "Unset as primary email" : "إلغاء التعيين كحساب بريد الكتروني أساسي",
- "Set as primary email" : "تعيين كحساب بريد الكتروني أساسي",
- "Additional email address {index}" : "إيميل إضافي {index}",
- "Unable to delete primary email address" : "تعذّر حذف حساب البريد الالكتروني الأساسي",
- "Unable to update primary email address" : "تعذّر تحديث حساب البريد الالكتروني الأساسي",
- "Unable to add additional email address" : "تعذّرت إضافة حساب بريد الكتروني إضافي",
- "Unable to update additional email address" : "تعذّر تحديث حساب البريد الالكتروني الإضافي",
- "Unable to delete additional email address" : "تعذّرت إضافة حساب بريد الكتروني إضافي",
- "Primary email for password reset and notifications" : "البريد الإلكتروني الأساسي لإعادة تعيين كلمة المرور والإشعارات",
- "No email address set" : "لم يتم تعيين أي إيميل",
- "Your handle" : "حسابك",
- "Derived from your locale ({weekDayName})" : "مشتق من إعدادات منطقتك ({weekDayName})",
- "Unable to update first day of week" : "تعذّر تحديث اليوم الأول في الأسبوع",
- "Day to use as the first day of week" : "اليوم الذي سيتم اعتباره أول يوم في الأسبوع",
- "Your headline" : "عنوان ملفك الشخصي",
- "Unable to update language" : "تعذّر تحديث اللغة",
- "Languages" : "اللغات",
- "Help translate" : "المساعدة في الترجمة",
- "No language set" : "لم يتم تعيين أيّ لغةٍ",
- "Unable to update locale" : "تعذر تحديث إعدادات المنطقة",
- "Locales" : "الدول والمناطق",
- "Week starts on {firstDayOfWeek}" : "يبدأ الأسبوع بيوم {firstDayOfWeek}",
- "No locale set" : "لم يتم تعيين أي إعدادات للمنطقة",
- "Your city" : "مدينتك",
- "Your organisation" : "مؤسستك",
- "Your phone number" : "رقم هاتفك",
- "Edit your Profile visibility" : "حدّد من يستطيع أن يرى ملفك الشخصي",
- "Unable to update profile enabled state" : "تعذّر تحديث حالة الملف الشخصي المُفعّلة profile enabled state",
- "Enable profile" : "تمكين الملف الشخصي",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "الإعداد الأكثر تقييدًا للرؤية أو النطاق في ملف تعريفك الشخصي هو الذي سيتم تطبيقه. على سبيل المثال، إذا تم تعيين الرؤية على \"إظهار للجميع\" و تم تعيين النطاق على \"خاص\"، فسيتم تطبيق \"خاص\".",
- "Unable to update visibility of {displayId}" : "تعذر تحديث رؤية {displayId}",
- "she/her" : "هو/هي",
- "he/him" : "هو",
- "they/them" : "هم",
- "Your role" : "وظيفتك",
- "Your X (formerly Twitter) handle" : "حساب منصة X (تويتر سابقاً)",
- "Your website" : "صفحتك على الويب",
- "Invalid value" : "قيمة غير صحيحة",
- "Unable to update {property}" : "تعذّر تحديث {property}",
- "No {property} set" : "لم يتم تعيين أي {property} ",
- "Change scope level of {property}, current scope is {scope}" : "تمّ تغيير مستوى نطاق scope level ـ {property}. النطاق الحالي {scope}",
- "Unable to update federation scope of the primary {property}" : "تعذّر تحديث نطاق الاتحاد لـ {property} الأساسي/الأساسية",
- "Unable to update federation scope of additional {property}" : "تعذّر تحديث نطاق الاتحاد لـ {property} الإضافي/الإضافي",
- "Add additional email" : "إضافة بريد إلكتروني إضافي",
- "Add" : "إضافة",
- "Create" : "إنشاء",
- "Change" : "تعديل",
- "Delete" : "إلغاء",
- "Reshare" : "إعادة المشاركة",
- "Default language" : "اللغة الافتراضية",
- "Common languages" : "اللغات الشائعة",
- "Other languages" : "لُغات أخرى",
- "Password change is disabled because the master key is disabled" : "تم تعطيل تغيير كلمة المرور لأن المفتاح الرئيسي master key معطلٌ",
- "No accounts" : "لا توجد أي حسابات",
- "Loading accounts …" : "تحميل الحسابات ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "قائمة الحسابات. لم يتم تقديم هذه القائمة بالكامل لأسباب تتعلق بسرعة الأداء. سيتم عرض باقي الحسابات أثناء التنقل عبر القائمة.",
- "Manager" : "مدير",
- "Set line manager" : "تعيين الرئيس المباشر",
- "Account name will be autogenerated" : "سيتم توليد اسم الحساب تلقائيّاً",
- "Account name (required)" : "اسم الحساب (مطلوب)",
- "Failed to search groups" : "فشل البحث في المجموعات",
- "New account" : "حساب جديد",
- "Display name" : "اسم العرض",
- "Either password or email is required" : "يتطلب كلمة المرور أو البريد الإلكتروني",
- "Password (required)" : "كلمة المرور (مطلوب)",
- "Email (required)" : "البريد الالكتروني (مطلوب)",
- "Email" : "البريد الإلكتروني",
- "Member of the following groups (required)" : "عضو في المجموعات التالية ( مطلوب)",
- "Member of the following groups" : "عضو في المجموعات التالية",
- "Set account groups" : "تعيين مجموعات الحساب",
- "Admin of the following groups" : "مدير في المجموعات التالية",
- "Set account as admin for …" : "تعيين الحساب كمدير على ...",
- "Quota" : "الحصة التخزينية",
- "Set account quota" : "تعيين الحصة التخزينية للحساب",
- "Language" : "اللغة",
- "Set default language" : "تعيين اللغة الافتراضية",
- "Add new account" : "إضافة حساب جديد",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} حساب …","{userCount} حساب …","{userCount} حساب …","{userCount} حسابات …","{userCount} حساب …","{userCount} حساب …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} حساب ","{userCount} حساب ","{userCount} حساب ","{userCount} حسابات","{userCount} حساب ","{userCount} حساب "],
- "Total rows summary" : "ملخص مجموع الأسطر",
- "Scroll to load more rows" : "مرِّر على القائمة لتحميل المزيد من الصفوف",
- "Password or insufficient permissions message" : "رسالة حول كلمة المرور أو عدم كفاية الأذونات",
- "Avatar" : "صورة الملف الشخصي الرمزية",
- "Account name" : "اسم الحساب",
- "Group admin for" : "مدير المجموعة لـ",
- "Account backend" : "الواجهة الخلفية للحساب",
- "Storage location" : "مسار التخزين",
- "First login" : "أول دخول",
- "Last login" : "آخِر تسجيلٍ للدخول",
- "Account actions" : "إجراءات الحساب",
- "{size} used" : "تم استهلاك{size} ",
- "Delete account" : "حذف الحساب",
- "Disconnect all devices and delete local data" : "قطع اتصال جميع الأجهزة وحذف البيانات المحلية فيها",
- "Disable account" : "تعطيل الحساب",
- "Enable account" : "تمكين الحساب",
- "Resend welcome email" : "إعادة إرسال الإيميل الترحيبي",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "في حالة فقد الجهاز أو ترك العمل بالمؤسسة، يمكن مَحْو بيانات نكست كلاود عن بُعد من جميع الأجهزة المرتبطة بـ {userid}. يعمل فقط إذا كانت الأجهزة متصلة بالإنترنت.",
- "Remote wipe of devices" : "مَحْو الأجهزة عن بُعدٍ",
- "Wipe {userid}'s devices" : "قُم بمَحْو أجهزة {userid}",
- "Wiped {userid}'s devices" : "أجهزة {userid} تمّ محوُها",
- "Failed to load groups with details" : "فل تحميل المجموعات مع التفاصيل",
- "Failed to load sub admin groups with details" : "فشل تحميل مجموعات المشرف الفرعي مع التفاصيل",
- "Failed to update line manager" : "تعذّر تحديث الرئيس المباشر",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "حذفُ حساب {userid} بالكامل بما في ذلك جميع ملفاته الشخصية وبيانات التطبيقات و غيرها.",
- "Account deletion" : "حذف حساب",
- "Delete {userid}'s account" : "حذف حساب {userid}",
- "Display name was successfully changed" : "تم تغيير اسم العرض بنجاح",
- "Password can't be empty" : "كلمة المرور لايمكن أن تكون فارغةً",
- "Password was successfully changed" : "تم تغيير كلمة المرور بنجاح",
- "Email can't be empty" : "البريد الإلكتروني لايمكن أن يكون فارغاً",
- "Email was successfully changed" : "تم تغيير البريد الإلكتروني بنجاح",
- "Welcome mail sent!" : "تمّ إرسال إيميل ترحيبي!",
- "Loading account …" : "تحميل حسابات ...",
- "Change display name" : "تعديل اسم العرض",
- "Set new password" : "تعيين كلمة مرور جديدة",
- "You do not have permissions to see the details of this account" : "ليس لديك الإذن بالاطلاع على تفاصيل هذا الحساب",
- "Set new email address" : "تعيين عنوان بريد الكتروني جديد",
- "Add account to group" : "إضافة حساب إلى مجموعة",
- "Set account as admin for" : "تعيين حساب كمدير على ",
- "Select account quota" : "تعيين الحصة التخزينية للحساب",
- "Set the language" : "تعيين اللغة",
- "Toggle account actions menu" : "تبديل قائمة إجراءات الحساب",
- "Done" : "تمّ",
- "Edit" : "تعديل",
- "Account management settings" : "إعدادات إدارة الحساب",
- "Visibility" : "الرؤية",
- "Show language" : "لغة العرض",
- "Show account backend" : "إظهار خلفية الحساب",
- "Show storage path" : "عرض مسار التخزين",
- "Show first login" : "أظهِر أول دخول",
- "Show last login" : "عرض آخر تسجيل دخول",
- "Sorting" : "ترتيب",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "يفرض تكوين النظام فرز المجموعات حسب الاسم. يؤدي هذا أيضًا إلى تعطيل إظهار عدد الأعضاء.",
- "Group list sorting" : "ترتيب قائمة المجموعات",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "ينطبق الترتيب فقط على المجموعات التي تم تحميلها مؤخراً لاسباب تتعلق بالأداء. مزيد من المجموعات سيتم تحميلها كلما تحركت عبر القائمة أو بحثت فيها.",
- "By member count" : "بحسب عدد الأعضاء",
- "By name" : "بحسب الاسم",
- "Send email" : "إرسال بريد إلكتروني",
- "Send welcome email to new accounts" : "إرسال إيميل ترحيبي للحسابات الجديدة",
- "Defaults" : "الافتراضي",
- "Default quota" : "الحصة الافتراضية",
- "Select default quota" : "تعيين الحصة الافتراضية",
- "Server error while trying to complete WebAuthn device registration" : "حدث خطأ في الخادم أثناء محاولة إكمال تسجيل جهاز WebAuthn",
- "Passwordless authentication requires a secure connection." : "تتطلب المصادقة بدون كلمة مرور اتصالاً آمنًا.",
- "Add WebAuthn device" : "إضافة جهاز WebAuthn",
- "Please authorize your WebAuthn device." : "يُرجى منح الإذن لجهاز WebAuthn الخاص بك.",
- "Adding your device …" : "إضافة جهازك جاريةٌ ...",
- "Unnamed device" : "جهاز بدون اسم",
- "Passwordless Authentication" : "المصادقة بدون كلمة مرور",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "قم بإعداد حسابك للمصادقة بدون كلمة مرور وفق معيار FIDO2.",
- "No devices configured." : "لم تتمّ تهيئة أي أجهزة.",
- "The following devices are configured for your account:" : "تمّت تهيئة الأجهزة التالية لحسابك:",
- "Your browser does not support WebAuthn." : "مُتصفِّحُك لا يدعم WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "بصفتك مدير يمكنك ضبط سلوك وآلية عمليات المشاركة. يرجى الاطلاع على التوثيق لمزيد من المعلومات.",
- "You need to enable the File sharing App." : "يلزمك تمكين تطبيق مُشارَكة الملفات File sharing.",
- "App Store" : "متجر التطبيقات",
- "Loading app list" : "تحميل قائمة التطبيقات",
- "Loading categories" : "تحميل الفئات",
- "Developer documentation ↗" : "توثيق المطورين ↗",
- "Version {version}, {license}-licensed" : "النسخة {version}, {license}-مُرخَّصَة",
- "Version {version}" : "الإصدار {version}",
- "All accounts" : "جميع الحسابات",
- "Admins" : "المديرون",
- "Account group: {group}" : "مجموعة الحساب: {group}",
- "Account management" : "إدارة الحساب",
"Sending…" : "الإرسال جارٍ …",
"Email sent" : "تمّ إرسال الإيميل",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "لأسباب تتعلق بالأداء، عندما تقوم بتمكين التشفير على خادوم نكست كلاود، يتم تشفير الملفات الجديدة والمتغيرة فقط.",
@@ -788,6 +504,7 @@
"Date of birth" : "تاريخ الميلاد",
"Full name" : "الاسم الكامل",
"Additional email" : "إيميل إضافي",
+ "Email" : "البريد الإلكتروني",
"Fediverse (e.g. Mastodon)" : "الحساب على شبكات التواصل الاجتماعي Fediverse (مثل Mastodon)",
"Headline" : "العنوان",
"Organisation" : "المؤسسة",
@@ -797,6 +514,7 @@
"X (formerly Twitter)" : "منصة X (تويتر سابقاً)",
"Website" : "صفحة الويب",
"Profile visibility" : "رؤية الملف الشخصي",
+ "Language" : "اللغة",
"Locale" : "إعدادات المنطقة واللغة",
"First day of week" : "أول يوم في الأسبوع",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "غير مُتاحٍ لأن هذه الخاصية مطلوبة للوظائف الأساسية بما في ذلك مشاركة الملفات و دعوات التقويم",
@@ -814,6 +532,7 @@
"Show to logged in accounts only" : "عرض للمسجل دخولهم فقط",
"Hide" : "إخفاء",
"Manually installed apps cannot be updated" : "التطبيقات المثبتة يدويّاً لايمكن تحديثها",
+ "Update to {version}" : "التحديث إلى {version}",
"{progress}% Deploying …" : "{progress}% النشر جارٍ …",
"{progress}% Initializing …" : "{progress}% التهيئة جارية …",
"Health checking" : "فحص الصحة",
@@ -823,6 +542,7 @@
"Allow untested app" : "السماح للتطبيقات غير المجازة",
"The app will be downloaded from the App Store" : "سيتم تنزيل التطبيق من متجر التطبيقات ",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "لم يتم التعرّف على هذا التطبيق باعتباره متوافقاً مع إصدار نكست كلاود الخاص بك. إذا تابعت، فسيظل بإمكانك تنصيب التطبيق. ولكن يجب ملاحظة أن التطبيق قد لا يعمل بالشكل المتوقع.",
+ "{size} used" : "تم استهلاك{size} ",
"Unknown" : "غير معروف",
"Never" : "أبدا",
"Could not register device: Network error" : "تعذّر تسجيل الجهاز: خطأ في الشبكة",
@@ -841,8 +561,10 @@
"Could not set group sorting" : "تعذّر تعيين كيفية ترتيب المجموعات",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "الطلبات الموجودة أكثر من الحد المسموح به في الشبكة. أعد المحاولة أو اتصل بمدير النظام.",
"Error" : "خطأ",
+ "Default quota" : "الحصة الافتراضية",
"Account documentation" : "وثائق المستخدم",
"Administration documentation" : "وثائق الإدارة",
+ "Documentation" : "توثيق النظام",
"Forum" : "المنتدى",
"Nextcloud help & privacy resources" : "مصادر للمساعدة والخصوصية حول نكست كلاود",
"General documentation" : "وثائق عامة",
@@ -865,6 +587,7 @@
"SMTP Password" : "كلمة مرور الـ SMTP",
"Save" : "حفظ",
"Test and verify email settings" : "إختبر و تحقّق من إعدادات البريد الالكتروني",
+ "Send email" : "إرسال بريد إلكتروني",
"Security & setup warnings" : "تحذيرات الإعداد والأمان",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "من المهم لأمان الخادم و مستوى أدائه أن يتم تكوين كل شيء بشكل صحيح. لمساعدتك في ذلك، نقوم ببعض الفحوصات التلقائية. يُرجى الاطلاع على الوثائق ذات الصلة لمزيد من المعلومات.",
"All checks passed." : "تمّ اجتياز جميع الاختبارات بنجاح.",
@@ -890,11 +613,8 @@
"The PHP memory limit is below the recommended value of %s." : "حد ذاكرة PHP أقل من القيمة الموصى بها وهي %s.",
"for WebAuthn passwordless login" : "للدخول بدون كلمة مرور passwordless login في WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "للدخول بدون كلمة مرور passwordless login في WebAuthn، و وحدات تخزين SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- ترويسة الـ HTTP ـ `%1$s` لا تحتوي على `%2$s`. يمكن أن يٌشكِّل هذا تهديداً محتملاً للأمن و الخصوصية بسبب عدم ضبط هذا الإعداد كما يجب.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "تمّ اكتشاف الإصدار \"%s\" من PostgreSQL. الإصدارات الموصى بها لأفضل أداء و للثبات و لاكتمال الوظائف مع هذا الإصدار من نكست كلاود هي من 12 إلى 16. ",
- "Set default expiration date for shares" : "تعيين تاريخ إنتهاء الصلاحية للمشاركات",
- "Your biography" : "سيرتك الذاتية",
- "You are using <strong>{usage}</strong>" : "أنت تستعمل <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "أنت تستعمل <strong>{usage}</strong> من <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "فشل تحميل المجموعات الفرعية مع التفاصيل"
+ "Set default expiration date for shares" : "تعيين تاريخ إنتهاء الصلاحية للمشاركات"
},"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/settings/l10n/ast.js b/apps/settings/l10n/ast.js
index b907cc087a2..79a7f365be3 100644
--- a/apps/settings/l10n/ast.js
+++ b/apps/settings/l10n/ast.js
@@ -240,60 +240,6 @@ OC.L10N.register(
"Could not load app discover section" : "Nun se pudo cargar la seición de descubrimientu d'aplicaciones",
"Could not render element" : "Nun se pudo dibuxar l'elementu",
"Loading" : "Cargando",
- "Carousel" : "Carrusel",
- "Previous slide" : "Diapositiva anterior",
- "Next slide" : "Diapositiva siguiente",
- "{index} of {total}" : "{index} de {total}",
- "Daemon" : "Degorriu",
- "Type" : "Tipu",
- "Display Name" : "Nome visible",
- "Learn more" : "Deprendi más",
- "Confirm" : "Confirmar",
- "Cancel" : "Encaboxar",
- "Description" : "Descripción",
- "View in store" : "Ver na tienda",
- "Visit website" : "Visitar el sitiu web",
- "Admin documentation" : "Documentación p'alministradores",
- "Developer documentation" : "Documentación pa desendolcadores",
- "Details" : "Detalles",
- "All" : "Too",
- "No results" : "Nun hai nengún resultáu",
- "Update to {version}" : "Anovar a la versión {version}",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación nun se pue instalar porque nun se cumplen les dependencies siguientes:",
- "Author" : "Autoría",
- "Categories" : "Categories",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Interact" : "Interactuar",
- "Report a bug" : "Informar d'un fallju",
- "Request feature" : "Pidir una función",
- "Ask questions or discuss" : "Entrugar o discutir",
- "Rate" : "Valorar",
- "Changelog" : "Rexistru de cambeos",
- "Google Chrome for Android" : "Google Chrome p'Android",
- "{productName} iOS app" : "Aplicación de {productName} pa iOS",
- "{productName} Android app" : "Aplicación de {productName} p'Android",
- "{productName} Talk for iOS" : "{productName} Talk pa iOS",
- "{productName} Talk for Android" : "{productName} Talk p'Android",
- "Sync client" : "Sincronizar el veceru",
- "This session" : "Esta sesión",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nome del preséu",
- "Cancel renaming" : "Anular el cambéu de nome",
- "Save new name" : "Guardar el nome nuevu",
- "Device settings" : "Configuración del preséu",
- "Allow filesystem access" : "Permitir l'accesu al sistema de ficheros",
- "Rename" : "Renomar",
- "Revoke" : "Revocar",
- "Wipe device" : "Borrar el preséu",
- "Device" : "Preséu",
- "Last activity" : "Última actividá",
- "Devices & sessions" : "Preseos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Los veceros que tienen la sesión aniciada na cuenta.",
- "Error while creating device token" : "Hebo error mentanto se creaba'l pase del preséu",
- "App name" : "Nome de l'aplicación",
- "Create new app password" : "Crear una contraseña d'aplicación",
"App password copied!" : "¡Copióse la contraseña d'aplicación!",
"Copy app password" : "Copiar la contraseña d'aplicación",
"Login name copied!" : "¡Copióse'l nome p'aniciar la sesión!",
@@ -326,136 +272,10 @@ OC.L10N.register(
"Enable encryption" : "Activar el cifráu",
"Please read carefully before activating server-side encryption:" : "Llei con procuru enantes d'activar el cifráu nel sirvidor:",
"Please confirm the group removal" : "Confirma'l desaniciu del grupu",
+ "Cancel" : "Encaboxar",
+ "Confirm" : "Confirmar",
"Submit" : "Unviar",
"Rename group" : "Renomar el grupu",
- "Current password" : "Contraseña actual",
- "New password" : "Contraseña nueva",
- "Change password" : "Camudar la contraseña",
- "Please select a valid png or jpg file" : "Seleiciona un ficheru PNG o JPEG válidu",
- "Error setting profile picture" : "Hebo un error al afitar la semeya del perfil",
- "Error cropping profile picture" : "Hebo un error al recortar la semeya del perfil",
- "Error saving profile picture" : "Hebo un error al guardar la semeya del perfil",
- "Error removing profile picture" : "Hebo un error al quitar la semeya del perfil",
- "Upload profile picture" : "Xubir una semeya del perfil",
- "Choose profile picture from Files" : "Escoyer una semeya de Ficheros",
- "Remove profile picture" : "Quitar la semeya del perfil",
- "The file must be a PNG or JPG" : "El ficheru a ser PNG o JPG",
- "Picture provided by original account" : "La cuenta orixinal fornió la imaxe",
- "Set as profile picture" : "Afitar como semeya del perfil",
- "You are a member of the following groups:" : "Yes miembru de los grupos siguientes:",
- "Your full name" : "Nome completu",
- "Remove primary email" : "Quitar la direición de corréu electrónicu",
- "Delete email" : "Desaniciar la direición de corréu electrónicu",
- "This address is not confirmed" : "Esta direición nun ta confirmada",
- "Set as primary email" : "Afitar como direición de corréu electrónicu primaria",
- "Unable to delete primary email address" : "Nun ye posible desaniciar la direición de corréu electrónicu primaria",
- "Unable to update primary email address" : "Nun ye posible desaniciar la direición de corréu electrónicu primaria",
- "Unable to add additional email address" : "Nun ye posible amestar la direición de corréu electrónicu adicional",
- "Unable to update additional email address" : "Nun ye posible amestar la direición de corréu electrónicu adicional",
- "Unable to delete additional email address" : "Nun ye posible desaniciar la direición de corréu electrónicu adicional",
- "No email address set" : "Nun s'afitó nenguna direición de corréu electrónicu",
- "Unable to update language" : "Nun ye posible anovar la llingua",
- "Languages" : "Llingües",
- "Help translate" : "Ayudar a traducir",
- "No language set" : "Nun s'afitó nenguna llingua",
- "Unable to update locale" : "Nun ye posible anovar la locale",
- "Locales" : "Locales",
- "No locale set" : "Nun s'afitó nenguna locale",
- "Your city" : "Ciudá",
- "Your organisation" : "Organización",
- "Your phone number" : "Númberu de teléfonu",
- "Edit your Profile visibility" : "Editar la visibilidá del perfil",
- "Unable to update profile enabled state" : "Nun ye posible anovar l'estáu d'activación del perfil",
- "Enable profile" : "Activar el perfil",
- "Unable to update visibility of {displayId}" : "Nun ye posible anovar la visibilidá de: {displayId}",
- "Your role" : "El to rol",
- "Your website" : "El to sitiu web",
- "Invalid value" : "El valor ye inválidu",
- "Unable to update {property}" : "Nun ye posible anovar «{property}»",
- "No {property} set" : "Nun s'afitó la propiedá «{property}»",
- "Unable to update federation scope of the primary {property}" : "Nun ye posible anovar l'ámbitu de federación de la propiedá «{property}»",
- "Unable to update federation scope of additional {property}" : "Nun ye posible anovar l'ámbitu de federación de la propiedá adicional «{property}»",
- "Add additional email" : "Direición de corréu electrónicu adicional",
- "Add" : "Amestar",
- "Create" : "Crear",
- "Change" : "Camudar",
- "Delete" : "Desaniciar",
- "Reshare" : "Volver compartir",
- "Default language" : "Llingua predeterminada",
- "Common languages" : "Llingües habituales",
- "Other languages" : "Otres llingües",
- "Password change is disabled because the master key is disabled" : "El cambéu de contraseña ta desactiváu porque la clave maestra ta desactivada",
- "No accounts" : "Nun hai nenguna cuenta",
- "Loading accounts …" : "Cargando les cuentes…",
- "Manager" : "Xestor",
- "Set line manager" : "Afitar el xestor de llinies",
- "New account" : "Cuenta nueva",
- "Display name" : "Nome visible",
- "Password (required)" : "Contraseña (obligatoria)",
- "Email (required)" : "Corréu electrónicu (obligatoriu)",
- "Email" : "Corréu electrónicu",
- "Quota" : "Cuota",
- "Language" : "Llingua",
- "Set default language" : "Predeterminar la llingua",
- "Total rows summary" : "Resume total de fieleres",
- "Scroll to load more rows" : "Desplaza pa cargar fileres",
- "Avatar" : "Avatar",
- "Storage location" : "Llocalización del almacenamientu",
- "Last login" : "Últimu aniciu de la sesión",
- "{size} used" : "{size} n'usu",
- "Delete account" : "Dersaniciar la cuenta",
- "Disconnect all devices and delete local data" : "Desconectar tolos preseos y desaniciar los datos llocales",
- "Disable account" : "Desactivar la cuenta",
- "Enable account" : "Activar la cuenta",
- "Resend welcome email" : "Volver unviar el mensaxe d'acoyida",
- "Remote wipe of devices" : "Borráu remotu de los preseos",
- "Failed to update line manager" : "Nun se pue anovar el xestor de llinies",
- "Account deletion" : "Desaniciu de la cuenta",
- "Delete {userid}'s account" : "Desaniciar la cuenta de: {userid}",
- "Display name was successfully changed" : "El nome visible camudó correutamente",
- "Password was successfully changed" : "La contraseña camudó correutamente",
- "Email was successfully changed" : "La direición de corréu electrónicu camudó correutamente",
- "Welcome mail sent!" : "¡Unvióse'l mensaxe d'acoyida!",
- "Loading account …" : "Cargando la cuenta…",
- "Change display name" : "Camudar el nome visible",
- "Set new password" : "Afitar una contraseña nueva",
- "You do not have permissions to see the details of this account" : "Nun tienes permisu pa ver los detalles d'esta cuenta",
- "Set new email address" : "Afitar una direición de corréu electrónicu nueva",
- "Add account to group" : "Amestar la cuenta al grupu",
- "Set the language" : "Afitar la llingua",
- "Done" : "Fecho",
- "Edit" : "Editar",
- "Account management settings" : "Configuración de la xestión de cuentes",
- "Visibility" : "Visibilidá",
- "Show language" : "Amosar la llingua",
- "Show last login" : "Amosar l'últimu aniciu de la sesión",
- "Sorting" : "Orde",
- "By member count" : "Pol númberu de miembros",
- "By name" : "Pol nome",
- "Send email" : "Unviar un corréu electrónicu",
- "Send welcome email to new accounts" : "Unviar el mensaxe d'acoyida a les cuentes nueves",
- "Defaults" : "Valores predeterminaos",
- "Default quota" : "Cuota predeterminada",
- "Server error while trying to complete WebAuthn device registration" : "Error del sirvidor mentanto se completaba'l rexistru del preséu WebAuthn.",
- "Passwordless authentication requires a secure connection." : "L'autenticación ensin contraseña rique una conexón segura.",
- "Add WebAuthn device" : "Amestar preséu WebAuthn",
- "Please authorize your WebAuthn device." : "Autoriza'l preséu WebAuthn.",
- "Adding your device …" : "Amestando'l preséu…",
- "Unnamed device" : "Preséu ensin nome",
- "Passwordless Authentication" : "Autenticación ensin contraseña",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configura una cuenta pa l'autenticación ensin contraseña siguiendo l'estándar FIDO2.",
- "No devices configured." : "Nun se configuró nengún preséu.",
- "The following devices are configured for your account:" : "Configuráronse los preseos siguientes pa la cuenta:",
- "Your browser does not support WebAuthn." : "El restolador nun ye compatible con WebAuthn.",
- "You need to enable the File sharing App." : "Tienes d'activar l'aplicación de compartir ficheros.",
- "App Store" : "Tienda d'aplicaciones",
- "Loading app list" : "Cargando la llista d'aplicaciones",
- "Loading categories" : "Cargando les categoríes",
- "Developer documentation ↗" : "Documentación pa desendolcadores ↗",
- "Version {version}, {license}-licensed" : "Versión {version}, con llicencia {license}",
- "Admins" : "Alministradores",
- "Account group: {group}" : "Grupu de cuentes: {group}",
- "Account management" : "Xestión de cuentes",
"Sending…" : "Unviando…",
"Email sent" : "Unvióse'l corréu electrónicu",
"Location" : "Llocalización",
@@ -463,6 +283,7 @@ OC.L10N.register(
"About" : "Tocante a",
"Full name" : "Nome completu",
"Additional email" : "Direición de corréu electrónicu adicional",
+ "Email" : "Corréu electrónicu",
"Fediverse (e.g. Mastodon)" : "Fediversu",
"Headline" : "Titular",
"Organisation" : "Organización",
@@ -471,6 +292,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (anteriormente Twitter)",
"Website" : "Sitiu web",
"Profile visibility" : "Visibilidá del perfil",
+ "Language" : "Llingua",
"Locale" : "Locale",
"Discover" : "Descubrir",
"Your apps" : "Les to aplicaciones",
@@ -482,9 +304,11 @@ OC.L10N.register(
"Show to everyone" : "Amosar a tol mundu",
"Show to logged in accounts only" : "Amosar namás a les cuentes cola sesión aniciada",
"Hide" : "Esconder",
+ "Update to {version}" : "Anovar a la versión {version}",
"Download and enable" : "Baxar y activar",
"Disable" : "Desactivar",
"Allow untested app" : "Permitir l'aplicación ensin probar",
+ "{size} used" : "{size} n'usu",
"Unknown" : "Desconocí­u",
"Never" : "Enxamás",
"An error occurred during the request. Unable to proceed." : "Prodúxose un error demientres la solicitú. Nun ye posible siguir.",
@@ -499,8 +323,10 @@ OC.L10N.register(
"Could not set group sorting" : "Nun se pudo afitar l'orde de los grupos",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Ficiéronse milenta solicitúes dende la to rede. Volvi tentalo dempués o ponte en contautu cola alministración si esti mensaxe ye un error.",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
"Account documentation" : "Documentación de la cuenta",
"Administration documentation" : "Documentación de l'alministración",
+ "Documentation" : "Documentación",
"Forum" : "Foru",
"Nextcloud help & privacy resources" : "Ayuda de Nextcloud y recursos de privacidá",
"General documentation" : "Documentación xeneral",
@@ -519,6 +345,7 @@ OC.L10N.register(
"Authentication required" : "L'autenticación ye obligatoria",
"SMTP Password" : "Contraseña de SMTP",
"Save" : "Guardar",
+ "Send email" : "Unviar un corréu electrónicu",
"Security & setup warnings" : "Alvertencies de seguranza y de configuración",
"There are some errors regarding your setup." : "Hai dalgunos errores en rellación a la configuración.",
"There are some warnings regarding your setup." : "Hai dalgunes alvertencies en rellación a la configuración.",
@@ -531,9 +358,6 @@ OC.L10N.register(
"Logged in account must be a subadmin" : "La cuenta qu'anició la sesión ha ser un soalministrador",
"File locking" : "Bloquéu de ficheros",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "El bloquéu de ficheros transaicional ta desactiváu y esto quiciabes produza problemes con condiciones de carrera. Activa «filelocking.enabled» nel ficheru config.php pa evitar estos problemes.",
- "The PHP memory limit is below the recommended value of %s." : "La llende de memoria de PHP ye inferior al valor aconseyáu de %s.",
- "Your biography" : "Biografía",
- "You are using <strong>{usage}</strong>" : "Tas usando <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Tas usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "The PHP memory limit is below the recommended value of %s." : "La llende de memoria de PHP ye inferior al valor aconseyáu de %s."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/ast.json b/apps/settings/l10n/ast.json
index 0c193d60c9e..31fe6bee675 100644
--- a/apps/settings/l10n/ast.json
+++ b/apps/settings/l10n/ast.json
@@ -238,60 +238,6 @@
"Could not load app discover section" : "Nun se pudo cargar la seición de descubrimientu d'aplicaciones",
"Could not render element" : "Nun se pudo dibuxar l'elementu",
"Loading" : "Cargando",
- "Carousel" : "Carrusel",
- "Previous slide" : "Diapositiva anterior",
- "Next slide" : "Diapositiva siguiente",
- "{index} of {total}" : "{index} de {total}",
- "Daemon" : "Degorriu",
- "Type" : "Tipu",
- "Display Name" : "Nome visible",
- "Learn more" : "Deprendi más",
- "Confirm" : "Confirmar",
- "Cancel" : "Encaboxar",
- "Description" : "Descripción",
- "View in store" : "Ver na tienda",
- "Visit website" : "Visitar el sitiu web",
- "Admin documentation" : "Documentación p'alministradores",
- "Developer documentation" : "Documentación pa desendolcadores",
- "Details" : "Detalles",
- "All" : "Too",
- "No results" : "Nun hai nengún resultáu",
- "Update to {version}" : "Anovar a la versión {version}",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación nun se pue instalar porque nun se cumplen les dependencies siguientes:",
- "Author" : "Autoría",
- "Categories" : "Categories",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Interact" : "Interactuar",
- "Report a bug" : "Informar d'un fallju",
- "Request feature" : "Pidir una función",
- "Ask questions or discuss" : "Entrugar o discutir",
- "Rate" : "Valorar",
- "Changelog" : "Rexistru de cambeos",
- "Google Chrome for Android" : "Google Chrome p'Android",
- "{productName} iOS app" : "Aplicación de {productName} pa iOS",
- "{productName} Android app" : "Aplicación de {productName} p'Android",
- "{productName} Talk for iOS" : "{productName} Talk pa iOS",
- "{productName} Talk for Android" : "{productName} Talk p'Android",
- "Sync client" : "Sincronizar el veceru",
- "This session" : "Esta sesión",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nome del preséu",
- "Cancel renaming" : "Anular el cambéu de nome",
- "Save new name" : "Guardar el nome nuevu",
- "Device settings" : "Configuración del preséu",
- "Allow filesystem access" : "Permitir l'accesu al sistema de ficheros",
- "Rename" : "Renomar",
- "Revoke" : "Revocar",
- "Wipe device" : "Borrar el preséu",
- "Device" : "Preséu",
- "Last activity" : "Última actividá",
- "Devices & sessions" : "Preseos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Los veceros que tienen la sesión aniciada na cuenta.",
- "Error while creating device token" : "Hebo error mentanto se creaba'l pase del preséu",
- "App name" : "Nome de l'aplicación",
- "Create new app password" : "Crear una contraseña d'aplicación",
"App password copied!" : "¡Copióse la contraseña d'aplicación!",
"Copy app password" : "Copiar la contraseña d'aplicación",
"Login name copied!" : "¡Copióse'l nome p'aniciar la sesión!",
@@ -324,136 +270,10 @@
"Enable encryption" : "Activar el cifráu",
"Please read carefully before activating server-side encryption:" : "Llei con procuru enantes d'activar el cifráu nel sirvidor:",
"Please confirm the group removal" : "Confirma'l desaniciu del grupu",
+ "Cancel" : "Encaboxar",
+ "Confirm" : "Confirmar",
"Submit" : "Unviar",
"Rename group" : "Renomar el grupu",
- "Current password" : "Contraseña actual",
- "New password" : "Contraseña nueva",
- "Change password" : "Camudar la contraseña",
- "Please select a valid png or jpg file" : "Seleiciona un ficheru PNG o JPEG válidu",
- "Error setting profile picture" : "Hebo un error al afitar la semeya del perfil",
- "Error cropping profile picture" : "Hebo un error al recortar la semeya del perfil",
- "Error saving profile picture" : "Hebo un error al guardar la semeya del perfil",
- "Error removing profile picture" : "Hebo un error al quitar la semeya del perfil",
- "Upload profile picture" : "Xubir una semeya del perfil",
- "Choose profile picture from Files" : "Escoyer una semeya de Ficheros",
- "Remove profile picture" : "Quitar la semeya del perfil",
- "The file must be a PNG or JPG" : "El ficheru a ser PNG o JPG",
- "Picture provided by original account" : "La cuenta orixinal fornió la imaxe",
- "Set as profile picture" : "Afitar como semeya del perfil",
- "You are a member of the following groups:" : "Yes miembru de los grupos siguientes:",
- "Your full name" : "Nome completu",
- "Remove primary email" : "Quitar la direición de corréu electrónicu",
- "Delete email" : "Desaniciar la direición de corréu electrónicu",
- "This address is not confirmed" : "Esta direición nun ta confirmada",
- "Set as primary email" : "Afitar como direición de corréu electrónicu primaria",
- "Unable to delete primary email address" : "Nun ye posible desaniciar la direición de corréu electrónicu primaria",
- "Unable to update primary email address" : "Nun ye posible desaniciar la direición de corréu electrónicu primaria",
- "Unable to add additional email address" : "Nun ye posible amestar la direición de corréu electrónicu adicional",
- "Unable to update additional email address" : "Nun ye posible amestar la direición de corréu electrónicu adicional",
- "Unable to delete additional email address" : "Nun ye posible desaniciar la direición de corréu electrónicu adicional",
- "No email address set" : "Nun s'afitó nenguna direición de corréu electrónicu",
- "Unable to update language" : "Nun ye posible anovar la llingua",
- "Languages" : "Llingües",
- "Help translate" : "Ayudar a traducir",
- "No language set" : "Nun s'afitó nenguna llingua",
- "Unable to update locale" : "Nun ye posible anovar la locale",
- "Locales" : "Locales",
- "No locale set" : "Nun s'afitó nenguna locale",
- "Your city" : "Ciudá",
- "Your organisation" : "Organización",
- "Your phone number" : "Númberu de teléfonu",
- "Edit your Profile visibility" : "Editar la visibilidá del perfil",
- "Unable to update profile enabled state" : "Nun ye posible anovar l'estáu d'activación del perfil",
- "Enable profile" : "Activar el perfil",
- "Unable to update visibility of {displayId}" : "Nun ye posible anovar la visibilidá de: {displayId}",
- "Your role" : "El to rol",
- "Your website" : "El to sitiu web",
- "Invalid value" : "El valor ye inválidu",
- "Unable to update {property}" : "Nun ye posible anovar «{property}»",
- "No {property} set" : "Nun s'afitó la propiedá «{property}»",
- "Unable to update federation scope of the primary {property}" : "Nun ye posible anovar l'ámbitu de federación de la propiedá «{property}»",
- "Unable to update federation scope of additional {property}" : "Nun ye posible anovar l'ámbitu de federación de la propiedá adicional «{property}»",
- "Add additional email" : "Direición de corréu electrónicu adicional",
- "Add" : "Amestar",
- "Create" : "Crear",
- "Change" : "Camudar",
- "Delete" : "Desaniciar",
- "Reshare" : "Volver compartir",
- "Default language" : "Llingua predeterminada",
- "Common languages" : "Llingües habituales",
- "Other languages" : "Otres llingües",
- "Password change is disabled because the master key is disabled" : "El cambéu de contraseña ta desactiváu porque la clave maestra ta desactivada",
- "No accounts" : "Nun hai nenguna cuenta",
- "Loading accounts …" : "Cargando les cuentes…",
- "Manager" : "Xestor",
- "Set line manager" : "Afitar el xestor de llinies",
- "New account" : "Cuenta nueva",
- "Display name" : "Nome visible",
- "Password (required)" : "Contraseña (obligatoria)",
- "Email (required)" : "Corréu electrónicu (obligatoriu)",
- "Email" : "Corréu electrónicu",
- "Quota" : "Cuota",
- "Language" : "Llingua",
- "Set default language" : "Predeterminar la llingua",
- "Total rows summary" : "Resume total de fieleres",
- "Scroll to load more rows" : "Desplaza pa cargar fileres",
- "Avatar" : "Avatar",
- "Storage location" : "Llocalización del almacenamientu",
- "Last login" : "Últimu aniciu de la sesión",
- "{size} used" : "{size} n'usu",
- "Delete account" : "Dersaniciar la cuenta",
- "Disconnect all devices and delete local data" : "Desconectar tolos preseos y desaniciar los datos llocales",
- "Disable account" : "Desactivar la cuenta",
- "Enable account" : "Activar la cuenta",
- "Resend welcome email" : "Volver unviar el mensaxe d'acoyida",
- "Remote wipe of devices" : "Borráu remotu de los preseos",
- "Failed to update line manager" : "Nun se pue anovar el xestor de llinies",
- "Account deletion" : "Desaniciu de la cuenta",
- "Delete {userid}'s account" : "Desaniciar la cuenta de: {userid}",
- "Display name was successfully changed" : "El nome visible camudó correutamente",
- "Password was successfully changed" : "La contraseña camudó correutamente",
- "Email was successfully changed" : "La direición de corréu electrónicu camudó correutamente",
- "Welcome mail sent!" : "¡Unvióse'l mensaxe d'acoyida!",
- "Loading account …" : "Cargando la cuenta…",
- "Change display name" : "Camudar el nome visible",
- "Set new password" : "Afitar una contraseña nueva",
- "You do not have permissions to see the details of this account" : "Nun tienes permisu pa ver los detalles d'esta cuenta",
- "Set new email address" : "Afitar una direición de corréu electrónicu nueva",
- "Add account to group" : "Amestar la cuenta al grupu",
- "Set the language" : "Afitar la llingua",
- "Done" : "Fecho",
- "Edit" : "Editar",
- "Account management settings" : "Configuración de la xestión de cuentes",
- "Visibility" : "Visibilidá",
- "Show language" : "Amosar la llingua",
- "Show last login" : "Amosar l'últimu aniciu de la sesión",
- "Sorting" : "Orde",
- "By member count" : "Pol númberu de miembros",
- "By name" : "Pol nome",
- "Send email" : "Unviar un corréu electrónicu",
- "Send welcome email to new accounts" : "Unviar el mensaxe d'acoyida a les cuentes nueves",
- "Defaults" : "Valores predeterminaos",
- "Default quota" : "Cuota predeterminada",
- "Server error while trying to complete WebAuthn device registration" : "Error del sirvidor mentanto se completaba'l rexistru del preséu WebAuthn.",
- "Passwordless authentication requires a secure connection." : "L'autenticación ensin contraseña rique una conexón segura.",
- "Add WebAuthn device" : "Amestar preséu WebAuthn",
- "Please authorize your WebAuthn device." : "Autoriza'l preséu WebAuthn.",
- "Adding your device …" : "Amestando'l preséu…",
- "Unnamed device" : "Preséu ensin nome",
- "Passwordless Authentication" : "Autenticación ensin contraseña",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configura una cuenta pa l'autenticación ensin contraseña siguiendo l'estándar FIDO2.",
- "No devices configured." : "Nun se configuró nengún preséu.",
- "The following devices are configured for your account:" : "Configuráronse los preseos siguientes pa la cuenta:",
- "Your browser does not support WebAuthn." : "El restolador nun ye compatible con WebAuthn.",
- "You need to enable the File sharing App." : "Tienes d'activar l'aplicación de compartir ficheros.",
- "App Store" : "Tienda d'aplicaciones",
- "Loading app list" : "Cargando la llista d'aplicaciones",
- "Loading categories" : "Cargando les categoríes",
- "Developer documentation ↗" : "Documentación pa desendolcadores ↗",
- "Version {version}, {license}-licensed" : "Versión {version}, con llicencia {license}",
- "Admins" : "Alministradores",
- "Account group: {group}" : "Grupu de cuentes: {group}",
- "Account management" : "Xestión de cuentes",
"Sending…" : "Unviando…",
"Email sent" : "Unvióse'l corréu electrónicu",
"Location" : "Llocalización",
@@ -461,6 +281,7 @@
"About" : "Tocante a",
"Full name" : "Nome completu",
"Additional email" : "Direición de corréu electrónicu adicional",
+ "Email" : "Corréu electrónicu",
"Fediverse (e.g. Mastodon)" : "Fediversu",
"Headline" : "Titular",
"Organisation" : "Organización",
@@ -469,6 +290,7 @@
"X (formerly Twitter)" : "X (anteriormente Twitter)",
"Website" : "Sitiu web",
"Profile visibility" : "Visibilidá del perfil",
+ "Language" : "Llingua",
"Locale" : "Locale",
"Discover" : "Descubrir",
"Your apps" : "Les to aplicaciones",
@@ -480,9 +302,11 @@
"Show to everyone" : "Amosar a tol mundu",
"Show to logged in accounts only" : "Amosar namás a les cuentes cola sesión aniciada",
"Hide" : "Esconder",
+ "Update to {version}" : "Anovar a la versión {version}",
"Download and enable" : "Baxar y activar",
"Disable" : "Desactivar",
"Allow untested app" : "Permitir l'aplicación ensin probar",
+ "{size} used" : "{size} n'usu",
"Unknown" : "Desconocí­u",
"Never" : "Enxamás",
"An error occurred during the request. Unable to proceed." : "Prodúxose un error demientres la solicitú. Nun ye posible siguir.",
@@ -497,8 +321,10 @@
"Could not set group sorting" : "Nun se pudo afitar l'orde de los grupos",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Ficiéronse milenta solicitúes dende la to rede. Volvi tentalo dempués o ponte en contautu cola alministración si esti mensaxe ye un error.",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
"Account documentation" : "Documentación de la cuenta",
"Administration documentation" : "Documentación de l'alministración",
+ "Documentation" : "Documentación",
"Forum" : "Foru",
"Nextcloud help & privacy resources" : "Ayuda de Nextcloud y recursos de privacidá",
"General documentation" : "Documentación xeneral",
@@ -517,6 +343,7 @@
"Authentication required" : "L'autenticación ye obligatoria",
"SMTP Password" : "Contraseña de SMTP",
"Save" : "Guardar",
+ "Send email" : "Unviar un corréu electrónicu",
"Security & setup warnings" : "Alvertencies de seguranza y de configuración",
"There are some errors regarding your setup." : "Hai dalgunos errores en rellación a la configuración.",
"There are some warnings regarding your setup." : "Hai dalgunes alvertencies en rellación a la configuración.",
@@ -529,9 +356,6 @@
"Logged in account must be a subadmin" : "La cuenta qu'anició la sesión ha ser un soalministrador",
"File locking" : "Bloquéu de ficheros",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "El bloquéu de ficheros transaicional ta desactiváu y esto quiciabes produza problemes con condiciones de carrera. Activa «filelocking.enabled» nel ficheru config.php pa evitar estos problemes.",
- "The PHP memory limit is below the recommended value of %s." : "La llende de memoria de PHP ye inferior al valor aconseyáu de %s.",
- "Your biography" : "Biografía",
- "You are using <strong>{usage}</strong>" : "Tas usando <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Tas usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "The PHP memory limit is below the recommended value of %s." : "La llende de memoria de PHP ye inferior al valor aconseyáu de %s."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/az.js b/apps/settings/l10n/az.js
deleted file mode 100644
index e25c0b8549d..00000000000
--- a/apps/settings/l10n/az.js
+++ /dev/null
@@ -1,188 +0,0 @@
-OC.L10N.register(
- "settings",
- {
- "Private" : "Gizli",
- "Local" : "Yerli",
- "Federated" : "Federated",
- "Published" : "Nəşr edilmiş",
- "Verify" : "Təsdiq et",
- "Verifying …" : "Təsdiqlənir ...",
- "Unable to change password" : "Şifrəni dəyişmək olmur",
- "Very weak password" : "Çox asan şifrə",
- "Weak password" : "Asan şifrə",
- "So-so password" : "Elə-belə şifrə",
- "Good password" : "Yaxşı şifrə",
- "Strong password" : "Çətin şifrə",
- "Groups" : "Qruplar",
- "Group list is empty" : "Qrup listi boşdur",
- "Your password was reset" : "Sizin parol yeniləndi",
- "You changed your email address" : "Siz email ünvanınızı dəyişdir",
- "Settings" : "Quraşdırmalar",
- "Could not remove app." : "Tətbiqi silmək olmur.",
- "Could not update app." : "Tətbiqi yeniləmək alınmır",
- "Wrong password" : "Yalnış şifrə",
- "Unable to change personal password" : "Şəxsi parolu dəyişmək alınmadı",
- "Saved" : "Saxlanıldı",
- "Unable to change password. Password too long." : "Parolu dəyişmək alınmadı. Parol çox uzundur.",
- "Authentication error" : "Təyinat metodikası",
- "Wrong admin recovery password. Please check the password and try again." : "İnzibatçı geriyə qayıdış şifrəsi yalnışdır. Xahiş olunur şifrəni yoxlayıb yenidən təkrar edəsiniz.",
- "User documentation" : "İstifadəçi dokumentasiyası",
- "Invalid SMTP password." : "SMTP parol səhvdir",
- "Email setting test" : "Email parametrləriinin testi",
- "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Məktubun yollanmasında səhv baş verdi. Xahiş olunur öz quraşdırmalarınıza yenidən göz yetirəsiniz.(Error: %s)",
- "Invalid mail address" : "Yalnış mail ünvanı",
- "Settings saved" : "Parametrlər yaddaşa verildi",
- "Unable to change full name" : "Tam adı dəyişmək olmur",
- "Your %s account was created" : "Sizin %s hesab yaradıldı",
- "Welcome aboard" : "Xoş gəlmisiniz!",
- "Welcome aboard %s" : "%s-a xoş gəlmisiniz",
- "Set your password" : "Parolunuzu təyin edin",
- "Install Client" : "Müştərini Quraşdır",
- "Apps" : "Tətbiqlər",
- "Personal" : "Şəxsi",
- "Administration" : "İdarəetmə",
- "Users" : "İstifadəçilər",
- "Additional settings" : "Əlavə parametrlər",
- "Overview" : "İcmal",
- "Basic settings" : "İlkin parametrlər",
- "Sharing" : "Paylaşılır",
- "Availability" : "Əlçatanlıq",
- "Calendar" : "Təqvim",
- "Personal info" : "Şəxsi məlumat",
- "Mobile & desktop" : "Mobil & Desktop",
- "Email server" : "Email server",
- "Background jobs" : "Background işlər",
- "Unlimited" : "Limitsiz",
- "Verifying" : "Təsdiqlənir",
- "Disabled" : "Dayandırılıb",
- "The old server-side-encryption format is enabled. We recommend disabling this." : "Server tərəfdən köhnə şifrələnmə formatı aktivdir. Onu söndürməyi tövsiyyə edirik.",
- "Supported" : "Dəstəklənir",
- "Profile information" : "Profil məlumatı",
- "Nextcloud settings" : "Nextcloud parametrləri",
- "None" : "Heç bir",
- "Unable to modify setting" : "Xassələri yeniləmək olmadı",
- "Allow apps to use the Share API" : "Proqramlara izin verin ki, Paylaşım API-sindən istifadə edə bilsinlər.",
- "Allow resharing" : "Yenidən paylaşıma izin",
- "Restrict users to only share with users in their groups" : "İstifadəçiləri yalnız yerləşdikləri qrup üzvləri ilə paylaşım edə bilmələrini məhdudla",
- "Allow public uploads" : "Ümumi yüklənmələrə izin vermək",
- "Enforce password protection" : "Şifrə müdafiəsini həyata keçirmək",
- "Enforce expiration date" : "Bitmə tarixini həyata keçir",
- "Two-Factor Authentication" : "İki faktorlu autentifikasiya",
- "Limit to groups" : "Qruplara limitlə",
- "Save changes" : "Dəyişiklikləri yaddaşa ver",
- "Remove" : "Sil",
- "Featured" : "Seçilmiş",
- "Name" : "Ad",
- "Version" : "Versiya",
- "Actions" : "İşlər",
- "No apps found for your version" : "Sizin versiya üçün proqram tapılmadı",
- "Description" : "Açıqlanma",
- "Details" : "Detallar",
- "All" : "Hamısı",
- "Limit app usage to groups" : "Tətbiqin istifadəsini qruplar üçün limitlə",
- "No results" : "Nəticə yoxdur",
- "Update to {version}" : "{version} dək yenilə",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Bu proqram yüklənə bilməz ona görə ki, göstərilən asılılıqlar yerinə yetirilməyib:",
- "Categories" : "Kateqoriyalar",
- "Resources" : "Resurslar",
- "Documentation" : "Sənədlər",
- "Report a bug" : "Səhv haqqında bildir",
- "View in store" : "Dükanda bax",
- "Visit website" : "Sayta keç",
- "Admin documentation" : "İdarəci dokumentasiyası",
- "Developer documentation" : "Yaradıcı sənədləşməsi",
- "Changelog" : "Dəyişikliklər jurnalı",
- "Device settings" : "Cihazın parametrləri",
- "Rename" : "Adı dəyiş",
- "Wipe device" : "Cihazı silin",
- "Google Chrome for Android" : "Android üçün Google Chrome",
- "{productName} iOS app" : "{productName} iOS tətbiq",
- "{productName} Android app" : "{productName} Android tətbiq",
- "{productName} Talk for iOS" : "{productName} iOS üçün danış",
- "{productName} Talk for Android" : "{productName} Android üçün danış",
- "This session" : "Bu sessiya",
- "Device" : "Cihaz",
- "Last activity" : "Son aktivlik",
- "Devices & sessions" : "Cihaz & sessiyalar",
- "App name" : "Tətbiqin adı",
- "Create new app password" : "Yeni tətbiq parolu yaradın",
- "Login" : "Giriş",
- "Password" : "Şifrə",
- "Show QR code for mobile apps" : "Mobil tətbiqlər üçün QR kodu göstərin",
- "Last job ran {relativeTime}." : "Son işin icra vaxtı {relativeTime}.",
- "AJAX" : "AJAX",
- "Webcron" : "Webcron",
- "Cron (Recommended)" : "Cron (Tövsiyyə edilən)",
- "Profile" : "Profil",
- "Enable" : "İşə sal",
- "Cancel" : "Dayandır",
- "Confirm" : "Təsdiq edin",
- "Rename group" : "Qrupun adını dəyiş",
- "Remove group" : "Qrupu sil",
- "Current password" : "Hazırkı şifrə",
- "New password" : "Yeni şifrə",
- "Change password" : "Şifrəni dəyiş",
- "Your profile picture" : "Sizin profil şəkliniz",
- "Upload profile picture" : "Profil şəklini yüklə",
- "Choose profile picture from Files" : "Profil şəklini Faylalrdan seçin",
- "Remove profile picture" : "Profil şəklini silin",
- "The file must be a PNG or JPG" : "Fayl PNG və ya JPG olmalıdır",
- "Set as profile picture" : "Profil şəkli kimi təyin et",
- "Please select a valid png or jpg file" : "Zəhmət olmasa düzgün png və ya jpg fayl seçin",
- "Error setting profile picture" : "Profil şəklini təyiin edən vaxtı səhv baş verdi",
- "Error saving profile picture" : "Profil şəklini saxlayan vaxtı səhv baş verdi",
- "Error removing profile picture" : "Profil şəklini silən vaxtı səhv baş verdi",
- "No email address set" : "Email ünvanı dəsti yoxdur",
- "Help translate" : "Tərcüməyə kömək",
- "Add" : "Əlavə etmək",
- "Create" : "Yarat",
- "Change" : "Dəyiş",
- "Delete" : "Sil",
- "Email" : "Email",
- "Quota" : "Norma",
- "Language" : "Dil",
- "Resend welcome email" : "Salamlama e-poçtunu yenidən göndərin",
- "Welcome mail sent!" : "Salamlama məktubu göndərildi!",
- "Done" : "Edildi",
- "Edit" : "Dəyişiklik et",
- "Send email" : "Email yolla",
- "Admins" : "İnzibatçılar",
- "Email sent" : "Məktub göndərildi",
- "Location" : "Yerləşdiyiniz ünvan",
- "Profile picture" : "Profil şəkli",
- "About" : "Haqqında",
- "Full name" : "Tam ad",
- "Updates" : "Yenilənmələr",
- "Hide" : "Gizlə",
- "Disable" : "Dayandır",
- "Never" : "Heç vaxt",
- "Confirm wipe" : "Silməni təsdiq edin",
- "Error while updating device token name" : "Cihazın tokeninin adını yeniləyən vaxtı səhv baş verdi",
- "Error" : "Səhv",
- "Forum" : "Forum",
- "SSL" : "SSL",
- "Open documentation" : "Sənədləri aç",
- "Send mode" : "Göndərmə rejimi",
- "Encryption" : "Şifrələnmə",
- "From address" : "Ünvandan",
- "Server address" : "Server ünvanı",
- "Port" : "Port",
- "Authentication" : "Autentifikasiya",
- "Authentication required" : "Qeydiyyat tələb edilir",
- "Credentials" : "Səlahiyyətlər",
- "SMTP Password" : "SMTP Şifrəsi",
- "Save" : "Saxla",
- "Security & setup warnings" : "Təhlükəsizlik & işə salma xəbərdarlıqları",
- "Check out our blog" : "Bizim bloqa baxın",
- "Subscribe to our newsletter" : "Yeniliklərə abunə olun",
- "No user supplied" : "Heç bir istifadəçiyə mənimsədilmir",
- "Invalid user" : "İstifadəçi adı yalnışdır",
- "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "MariaDB \"%s\" versiyası istifadə edilir. Nextcloud 21 və yuxarı versiyaları bunu dəstəkləmir və ən azı MariaDB 10.2 və ya yuxarı versiya tələb edir.",
- "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher." : "MySQL \"%s\" versiyası istifadə edilir. Nextcloud 21 və yuxarı versiyaları bunu dəstəkləmir və ən azı MySQL 8.0 və ya MariaDB 10.2 və ya yuxarı versiya tələb edir.",
- "Exclude groups from sharing" : "Qrupları paylaşımdan ayır",
- "These groups will still be able to receive shares, but not to initiate them." : "Bu qruplar paylaşımları hələdə ala biləcəklər ancaq, yarada bilməyəcəklər",
- "Username" : "İstifadəçi adı",
- "Show user backend" : "Daxili istifadəçini göstər",
- "SMTP Username" : "SMTP İstifadəçi adı"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/az.json b/apps/settings/l10n/az.json
deleted file mode 100644
index e11ce882f5e..00000000000
--- a/apps/settings/l10n/az.json
+++ /dev/null
@@ -1,186 +0,0 @@
-{ "translations": {
- "Private" : "Gizli",
- "Local" : "Yerli",
- "Federated" : "Federated",
- "Published" : "Nəşr edilmiş",
- "Verify" : "Təsdiq et",
- "Verifying …" : "Təsdiqlənir ...",
- "Unable to change password" : "Şifrəni dəyişmək olmur",
- "Very weak password" : "Çox asan şifrə",
- "Weak password" : "Asan şifrə",
- "So-so password" : "Elə-belə şifrə",
- "Good password" : "Yaxşı şifrə",
- "Strong password" : "Çətin şifrə",
- "Groups" : "Qruplar",
- "Group list is empty" : "Qrup listi boşdur",
- "Your password was reset" : "Sizin parol yeniləndi",
- "You changed your email address" : "Siz email ünvanınızı dəyişdir",
- "Settings" : "Quraşdırmalar",
- "Could not remove app." : "Tətbiqi silmək olmur.",
- "Could not update app." : "Tətbiqi yeniləmək alınmır",
- "Wrong password" : "Yalnış şifrə",
- "Unable to change personal password" : "Şəxsi parolu dəyişmək alınmadı",
- "Saved" : "Saxlanıldı",
- "Unable to change password. Password too long." : "Parolu dəyişmək alınmadı. Parol çox uzundur.",
- "Authentication error" : "Təyinat metodikası",
- "Wrong admin recovery password. Please check the password and try again." : "İnzibatçı geriyə qayıdış şifrəsi yalnışdır. Xahiş olunur şifrəni yoxlayıb yenidən təkrar edəsiniz.",
- "User documentation" : "İstifadəçi dokumentasiyası",
- "Invalid SMTP password." : "SMTP parol səhvdir",
- "Email setting test" : "Email parametrləriinin testi",
- "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Məktubun yollanmasında səhv baş verdi. Xahiş olunur öz quraşdırmalarınıza yenidən göz yetirəsiniz.(Error: %s)",
- "Invalid mail address" : "Yalnış mail ünvanı",
- "Settings saved" : "Parametrlər yaddaşa verildi",
- "Unable to change full name" : "Tam adı dəyişmək olmur",
- "Your %s account was created" : "Sizin %s hesab yaradıldı",
- "Welcome aboard" : "Xoş gəlmisiniz!",
- "Welcome aboard %s" : "%s-a xoş gəlmisiniz",
- "Set your password" : "Parolunuzu təyin edin",
- "Install Client" : "Müştərini Quraşdır",
- "Apps" : "Tətbiqlər",
- "Personal" : "Şəxsi",
- "Administration" : "İdarəetmə",
- "Users" : "İstifadəçilər",
- "Additional settings" : "Əlavə parametrlər",
- "Overview" : "İcmal",
- "Basic settings" : "İlkin parametrlər",
- "Sharing" : "Paylaşılır",
- "Availability" : "Əlçatanlıq",
- "Calendar" : "Təqvim",
- "Personal info" : "Şəxsi məlumat",
- "Mobile & desktop" : "Mobil & Desktop",
- "Email server" : "Email server",
- "Background jobs" : "Background işlər",
- "Unlimited" : "Limitsiz",
- "Verifying" : "Təsdiqlənir",
- "Disabled" : "Dayandırılıb",
- "The old server-side-encryption format is enabled. We recommend disabling this." : "Server tərəfdən köhnə şifrələnmə formatı aktivdir. Onu söndürməyi tövsiyyə edirik.",
- "Supported" : "Dəstəklənir",
- "Profile information" : "Profil məlumatı",
- "Nextcloud settings" : "Nextcloud parametrləri",
- "None" : "Heç bir",
- "Unable to modify setting" : "Xassələri yeniləmək olmadı",
- "Allow apps to use the Share API" : "Proqramlara izin verin ki, Paylaşım API-sindən istifadə edə bilsinlər.",
- "Allow resharing" : "Yenidən paylaşıma izin",
- "Restrict users to only share with users in their groups" : "İstifadəçiləri yalnız yerləşdikləri qrup üzvləri ilə paylaşım edə bilmələrini məhdudla",
- "Allow public uploads" : "Ümumi yüklənmələrə izin vermək",
- "Enforce password protection" : "Şifrə müdafiəsini həyata keçirmək",
- "Enforce expiration date" : "Bitmə tarixini həyata keçir",
- "Two-Factor Authentication" : "İki faktorlu autentifikasiya",
- "Limit to groups" : "Qruplara limitlə",
- "Save changes" : "Dəyişiklikləri yaddaşa ver",
- "Remove" : "Sil",
- "Featured" : "Seçilmiş",
- "Name" : "Ad",
- "Version" : "Versiya",
- "Actions" : "İşlər",
- "No apps found for your version" : "Sizin versiya üçün proqram tapılmadı",
- "Description" : "Açıqlanma",
- "Details" : "Detallar",
- "All" : "Hamısı",
- "Limit app usage to groups" : "Tətbiqin istifadəsini qruplar üçün limitlə",
- "No results" : "Nəticə yoxdur",
- "Update to {version}" : "{version} dək yenilə",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Bu proqram yüklənə bilməz ona görə ki, göstərilən asılılıqlar yerinə yetirilməyib:",
- "Categories" : "Kateqoriyalar",
- "Resources" : "Resurslar",
- "Documentation" : "Sənədlər",
- "Report a bug" : "Səhv haqqında bildir",
- "View in store" : "Dükanda bax",
- "Visit website" : "Sayta keç",
- "Admin documentation" : "İdarəci dokumentasiyası",
- "Developer documentation" : "Yaradıcı sənədləşməsi",
- "Changelog" : "Dəyişikliklər jurnalı",
- "Device settings" : "Cihazın parametrləri",
- "Rename" : "Adı dəyiş",
- "Wipe device" : "Cihazı silin",
- "Google Chrome for Android" : "Android üçün Google Chrome",
- "{productName} iOS app" : "{productName} iOS tətbiq",
- "{productName} Android app" : "{productName} Android tətbiq",
- "{productName} Talk for iOS" : "{productName} iOS üçün danış",
- "{productName} Talk for Android" : "{productName} Android üçün danış",
- "This session" : "Bu sessiya",
- "Device" : "Cihaz",
- "Last activity" : "Son aktivlik",
- "Devices & sessions" : "Cihaz & sessiyalar",
- "App name" : "Tətbiqin adı",
- "Create new app password" : "Yeni tətbiq parolu yaradın",
- "Login" : "Giriş",
- "Password" : "Şifrə",
- "Show QR code for mobile apps" : "Mobil tətbiqlər üçün QR kodu göstərin",
- "Last job ran {relativeTime}." : "Son işin icra vaxtı {relativeTime}.",
- "AJAX" : "AJAX",
- "Webcron" : "Webcron",
- "Cron (Recommended)" : "Cron (Tövsiyyə edilən)",
- "Profile" : "Profil",
- "Enable" : "İşə sal",
- "Cancel" : "Dayandır",
- "Confirm" : "Təsdiq edin",
- "Rename group" : "Qrupun adını dəyiş",
- "Remove group" : "Qrupu sil",
- "Current password" : "Hazırkı şifrə",
- "New password" : "Yeni şifrə",
- "Change password" : "Şifrəni dəyiş",
- "Your profile picture" : "Sizin profil şəkliniz",
- "Upload profile picture" : "Profil şəklini yüklə",
- "Choose profile picture from Files" : "Profil şəklini Faylalrdan seçin",
- "Remove profile picture" : "Profil şəklini silin",
- "The file must be a PNG or JPG" : "Fayl PNG və ya JPG olmalıdır",
- "Set as profile picture" : "Profil şəkli kimi təyin et",
- "Please select a valid png or jpg file" : "Zəhmət olmasa düzgün png və ya jpg fayl seçin",
- "Error setting profile picture" : "Profil şəklini təyiin edən vaxtı səhv baş verdi",
- "Error saving profile picture" : "Profil şəklini saxlayan vaxtı səhv baş verdi",
- "Error removing profile picture" : "Profil şəklini silən vaxtı səhv baş verdi",
- "No email address set" : "Email ünvanı dəsti yoxdur",
- "Help translate" : "Tərcüməyə kömək",
- "Add" : "Əlavə etmək",
- "Create" : "Yarat",
- "Change" : "Dəyiş",
- "Delete" : "Sil",
- "Email" : "Email",
- "Quota" : "Norma",
- "Language" : "Dil",
- "Resend welcome email" : "Salamlama e-poçtunu yenidən göndərin",
- "Welcome mail sent!" : "Salamlama məktubu göndərildi!",
- "Done" : "Edildi",
- "Edit" : "Dəyişiklik et",
- "Send email" : "Email yolla",
- "Admins" : "İnzibatçılar",
- "Email sent" : "Məktub göndərildi",
- "Location" : "Yerləşdiyiniz ünvan",
- "Profile picture" : "Profil şəkli",
- "About" : "Haqqında",
- "Full name" : "Tam ad",
- "Updates" : "Yenilənmələr",
- "Hide" : "Gizlə",
- "Disable" : "Dayandır",
- "Never" : "Heç vaxt",
- "Confirm wipe" : "Silməni təsdiq edin",
- "Error while updating device token name" : "Cihazın tokeninin adını yeniləyən vaxtı səhv baş verdi",
- "Error" : "Səhv",
- "Forum" : "Forum",
- "SSL" : "SSL",
- "Open documentation" : "Sənədləri aç",
- "Send mode" : "Göndərmə rejimi",
- "Encryption" : "Şifrələnmə",
- "From address" : "Ünvandan",
- "Server address" : "Server ünvanı",
- "Port" : "Port",
- "Authentication" : "Autentifikasiya",
- "Authentication required" : "Qeydiyyat tələb edilir",
- "Credentials" : "Səlahiyyətlər",
- "SMTP Password" : "SMTP Şifrəsi",
- "Save" : "Saxla",
- "Security & setup warnings" : "Təhlükəsizlik & işə salma xəbərdarlıqları",
- "Check out our blog" : "Bizim bloqa baxın",
- "Subscribe to our newsletter" : "Yeniliklərə abunə olun",
- "No user supplied" : "Heç bir istifadəçiyə mənimsədilmir",
- "Invalid user" : "İstifadəçi adı yalnışdır",
- "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "MariaDB \"%s\" versiyası istifadə edilir. Nextcloud 21 və yuxarı versiyaları bunu dəstəkləmir və ən azı MariaDB 10.2 və ya yuxarı versiya tələb edir.",
- "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher." : "MySQL \"%s\" versiyası istifadə edilir. Nextcloud 21 və yuxarı versiyaları bunu dəstəkləmir və ən azı MySQL 8.0 və ya MariaDB 10.2 və ya yuxarı versiya tələb edir.",
- "Exclude groups from sharing" : "Qrupları paylaşımdan ayır",
- "These groups will still be able to receive shares, but not to initiate them." : "Bu qruplar paylaşımları hələdə ala biləcəklər ancaq, yarada bilməyəcəklər",
- "Username" : "İstifadəçi adı",
- "Show user backend" : "Daxili istifadəçini göstər",
- "SMTP Username" : "SMTP İstifadəçi adı"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/settings/l10n/bg.js b/apps/settings/l10n/bg.js
index b86916420aa..2b422554878 100644
--- a/apps/settings/l10n/bg.js
+++ b/apps/settings/l10n/bg.js
@@ -187,54 +187,6 @@ OC.L10N.register(
"Search groups…" : "Търси в групи ...",
"Loading groups…" : "Зареждане на групи ...",
"Loading" : "Зареждане",
- "Type" : "Тип",
- "Display Name" : "Име за визуализация",
- "Learn more" : "Научете повече",
- "Confirm" : "Потвърдете",
- "Cancel" : "Отказ",
- "Description" : "Описание",
- "View in store" : "Страница в магазина",
- "Visit website" : "Уеб страницата",
- "Admin documentation" : "Документация за администратори",
- "Developer documentation" : "Документация за разработчици",
- "Details" : "Подробности",
- "All" : "Всички",
- "Limit app usage to groups" : "Ограничаване използването на приложението от групи",
- "No results" : "Няма резултати",
- "Update to {version}" : "Актуализирай до {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Това приложение няма присвоена минимална версия на Nextcloud. В бъдеще това ще бъде грешка.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Това приложение няма зададена максимална версия на Nextcloud. В бъдеще това ще бъде грешка.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Приложението не може да бъде инсталирано, защото следните зависимости не са удовлетворени:",
- "Author" : "Автор",
- "Categories" : "Категории",
- "Resources" : "Ресурси",
- "Documentation" : "Документация",
- "Interact" : "Взаимодействайте",
- "Report a bug" : "Докладване на грешка",
- "Request feature" : "Заявете функционалност",
- "Ask questions or discuss" : "Задайте въпрос",
- "Rate" : "Оценяване",
- "Changelog" : "Списък на промените",
- "Google Chrome for Android" : "Google Chrome за Android",
- "{productName} iOS app" : "{productName} приложение за iOS",
- "{productName} Android app" : "{productName} приложение за Android",
- "{productName} Talk for iOS" : "{productName} Talk за iOS",
- "{productName} Talk for Android" : "{productName} Talk за Android",
- "This session" : "Текущата сесия",
- "Marked for remote wipe" : "Маркирано за отдалечено изтриване",
- "Device settings" : "Настройки за устройството",
- "Allow filesystem access" : "Разрешен достъп до файловете",
- "Rename" : "Преименувай",
- "Revoke" : "Отнемане",
- "Wipe device" : "Изтрий устройството",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Отмяната на този маркер може да попречи на изтриването на вашето устройство, ако то все още не е започнало изтриването.",
- "Device" : "Устройство",
- "Last activity" : "Последна активност",
- "Devices & sessions" : "Устройства и сесии",
- "Web, desktop and mobile clients currently logged in to your account." : "Уеб, настолни и мобилни клиенти, които в момента са вписани чрез вашия акаунт.",
- "Error while creating device token" : "Грешка при създаването на токен на устройството",
- "App name" : "Име на приложението",
- "Create new app password" : "Създай парола за приложението",
"Could not copy app password. Please copy it manually." : "Не можа да се копира паролата за приложение. Моля, копирайте я ръчно.",
"Login" : "Вписване",
"Password" : "Парола",
@@ -265,128 +217,10 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Имайте предвид, че криптирането винаги увеличава размера на файла.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Добре е винаги да създавате редовни резервни копия на вашите данни, в случай на криптиране не забравяйте да архивирате ключовете за криптиране заедно с вашите данни.",
"This is the final warning: Do you really want to enable encryption?" : "Това е последно предупреждение: Наистина ли искате да активирате криптирането?",
+ "Cancel" : "Отказ",
+ "Confirm" : "Потвърдете",
"Submit" : "Изпращане",
"Rename group" : "Преименуване на група",
- "Current password" : "Текуща парола",
- "New password" : "Нова парола",
- "Change password" : "Промени паролата",
- "Choose your profile picture" : "Избор на профилна снимка",
- "Please select a valid png or jpg file" : "Моля, изберете валиден png или jpg файл",
- "Error setting profile picture" : "Грешка при задаване на профилната снимка",
- "Error cropping profile picture" : "Грешка при изрязване на профилната снимка",
- "Error saving profile picture" : "Грешка при записване на профилната снимка",
- "Error removing profile picture" : "Грешка при премахване на профилната снимка",
- "Your profile picture" : "Вашата профилна снимка",
- "Upload profile picture" : "Качи профилна снимка",
- "Choose profile picture from Files" : "Избор на профилна снимка от Файлове",
- "Remove profile picture" : "Премахни профилната снимка",
- "The file must be a PNG or JPG" : "Файлът трябва да е във формат PNG или JPG",
- "Picture provided by original account" : "Снимката е предоставена от оригиналния профил",
- "Set as profile picture" : "Задай като профилна снимка",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Моля, имайте предвид, че може да отнеме до 24 часа, докато Вашата профилна снимка бъде актуализирана навсякъде.",
- "Your biography. Markdown is supported." : "Въведете своята биография тук. Поддържа се \"Markdown\".",
- "Unable to update date of birth" : "Неуспешно обновяване на датата на раждане",
- "Enter your date of birth" : "Въведете датата си на раждане",
- "You are using {s}{usage}{/s}" : "Използвате {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Използвате {s}{usage}{/s} от {s}{totalSpace}{/s}({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Членувате в следните групи:",
- "Your full name" : "Вашето пълно име",
- "Email options" : "Опции за имейл",
- "Remove primary email" : "Премахване на основния имейл",
- "Delete email" : "Изтриване на имейл",
- "This address is not confirmed" : "Този адрес не е потвърден",
- "Unset as primary email" : "Премахване на настройка като основен имейл",
- "Set as primary email" : "Задаване като основен имейл",
- "Additional email address {index}" : "Допълнителен имейл адрес {index}",
- "Unable to delete primary email address" : "Не може да се изтрие основният имейл адрес",
- "Unable to update primary email address" : "Основният имейл адрес не може да се актуализира",
- "Unable to add additional email address" : "Не може да се добави допълнителен имейл адрес",
- "Unable to update additional email address" : "Не може да се актуализира допълнителен имейл адрес",
- "Unable to delete additional email address" : "Не може да се изтрие допълнителен имейл адрес",
- "Primary email for password reset and notifications" : "Основен имейл за възстановяване на парола и известия",
- "No email address set" : "Не е въведен имейл адрес",
- "Your handle" : "Вашият идентификатор",
- "Derived from your locale ({weekDayName})" : "Извлечено от Вашите настройки за регион ({weekDayName})",
- "Unable to update first day of week" : "Неуспешно обновяване на първия ден от седмицата",
- "Day to use as the first day of week" : "Денят, в който започва седмицата.",
- "Your headline" : "Вашето заглавие",
- "Unable to update language" : "Езикът не може да се актуализира",
- "Help translate" : "Помогнете с превода",
- "No language set" : "Няма зададен език",
- "Unable to update locale" : "Неуспешно обновяване на регионалните настройки",
- "Locales" : "Регионални настройки",
- "Week starts on {firstDayOfWeek}" : "Седмицата започва от {firstDayOfWeek}",
- "No locale set" : "Няма зададени настройки за регион",
- "Your organisation" : "Вашата организация",
- "Your phone number" : "Вашият тел. номер",
- "Edit your Profile visibility" : "Редактиране на видимостта на Вашия профил",
- "Unable to update profile enabled state" : "Неуспешно обновяване на състоянието на профила",
- "Enable profile" : "Активирай профил",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Прилага се по-ограничаващата настройка за видимост на профила или обхват. Например, ако видимостта е зададена на „Всички“, а обхватът е настроен на „Лично“, „Лично“ ще се приложи за Вашия профил.",
- "Unable to update visibility of {displayId}" : "Не може да се актуализира видимостта на {displayId}",
- "Your role" : "Вашата роля",
- "Your website" : "Вашата уеб страница",
- "Invalid value" : "Невалидна стойност",
- "Unable to update {property}" : "Не може да се актуализира {property}",
- "No {property} set" : "Не е зададено {property}",
- "Change scope level of {property}, current scope is {scope}" : "Променете нивото на обхват на {property}, текущият обхват е {scope}",
- "Unable to update federation scope of the primary {property}" : "Не може да се актуализира обхватът на обединяване на основното {property}",
- "Unable to update federation scope of additional {property}" : "Не може да се актуализира обхватът на обединяване на допълнителното {property}",
- "Add additional email" : "Добавяне на допълнителен имейл",
- "Add" : "Добави",
- "Create" : "Създай",
- "Change" : "Промени",
- "Delete" : "Изтриване",
- "Reshare" : "Повторно споделяне",
- "Default language" : "Стандартен език",
- "Common languages" : "Познати езици",
- "Other languages" : "Други езици",
- "Password change is disabled because the master key is disabled" : "Промяната на паролата е деактивирана, защото главният ключ е деактивиран",
- "No accounts" : "Без сметки",
- "Display name" : "Вписване като",
- "Email" : "Имейл",
- "Quota" : "Квота",
- "Language" : "Език",
- "Total rows summary" : "Обобщение на общия брой редове",
- "Avatar" : "Аватар",
- "Account name" : "Име на профил",
- "Group admin for" : "Групов администратор за",
- "Storage location" : "Дисково пространство",
- "Last login" : "Последно вписване",
- "Account actions" : "Действия на профил",
- "{size} used" : "{size} използвани",
- "Delete account" : "Изтриване на профила",
- "Resend welcome email" : "Повторно изпращане на имейл за добре дошъл ",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "В случай на изгубено устройство или излизане от организацията, това може отдалечено да изтрие данните на Nextcloud от всички устройства, свързани с {userid}. Работи, само ако устройствата са свързани към интернет.",
- "Remote wipe of devices" : "Отдалечено изтриване на устройства",
- "Wipe {userid}'s devices" : "Изтриване на устройствата на {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Напълно изтриване на профил на {userid}, включително всички негови лични файлове, данни от приложения и т.н.",
- "Account deletion" : "Изтриване на профил",
- "Delete {userid}'s account" : "Изтриване на профил на {userid}",
- "Welcome mail sent!" : "Изпратена е поща за добре дошли!",
- "Done" : "Готово",
- "Edit" : "Редактиране",
- "Visibility" : "Видимост",
- "Show storage path" : "Показване на пътя за хранилище",
- "Show last login" : "Показвай последното вписване",
- "Send email" : "Изпрати имейл",
- "Defaults" : "Стойности по подразбиране",
- "Default quota" : "Стандартна квота",
- "Select default quota" : "Изберете стандартна квота",
- "Server error while trying to complete WebAuthn device registration" : "Грешка в сървъра при опит за завършване на регистрация на WebAuthn устройство ",
- "Passwordless authentication requires a secure connection." : "Удостоверяване без парола изисква сигурна връзка.",
- "Add WebAuthn device" : "Добавяне на WebAuthn устройство",
- "Please authorize your WebAuthn device." : "Моля, да упълномощите вашето WebAuthn устройство.",
- "Adding your device …" : "Вашето устройство се добавя …",
- "Unnamed device" : "Устройство без име",
- "Passwordless Authentication" : "Удостоверяване без парола",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Настройте вашият профил за удостоверяване без парола, следвайки стандарта FIDO2.",
- "No devices configured." : "Няма конфигурирани устройства.",
- "The following devices are configured for your account:" : "Следните устройства са конфигурирани за вашия профил:",
- "Your browser does not support WebAuthn." : "Вашият браузър не поддържа WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Като администратор можете да прецизирате поведението на споделяне. Моля, вижте документацията за повече информация.",
- "You need to enable the File sharing App." : "Трябва да активирате приложението за споделяне на файлове.",
- "Admins" : "Администратори",
"Sending…" : "Изпращане...",
"Email sent" : "Имейлът е изпратен",
"Location" : "Местоположение",
@@ -395,6 +229,7 @@ OC.L10N.register(
"Date of birth" : "Дата на раждане",
"Full name" : "Име",
"Additional email" : "Допълнителен имейл",
+ "Email" : "Имейл",
"Fediverse (e.g. Mastodon)" : "Fediverse (напр. Mastodon)",
"Headline" : "Заглавие",
"Organisation" : "Организация",
@@ -403,6 +238,7 @@ OC.L10N.register(
"Role" : "Роля",
"Website" : "Уеб страница",
"Profile visibility" : "Видимост на профил",
+ "Language" : "Език",
"Locale" : "Регионални настройки",
"First day of week" : "Първи ден от седмицата",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Не е налично, тъй като това свойство е нужно за основна функционалност, включително споделяне на файлове и покани в календар",
@@ -416,10 +252,12 @@ OC.L10N.register(
"Featured apps" : "Представени приложения",
"Show to everyone" : "Показване на всички",
"Hide" : "Скриване",
+ "Update to {version}" : "Актуализирай до {version}",
"Download and enable" : "Сваляне и включване",
"Disable" : "Изключване",
"The app will be downloaded from the App Store" : "Приложението ще бъде изтеглено от App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Приложението не е маркирано като съвместимо с вашата версия на Nextcloud. Можете да инсталирате приложението, но е вероятно да не работи безпроблемно.",
+ "{size} used" : "{size} използвани",
"Unknown" : "Неизвестен",
"Never" : "Никога",
"An error occurred during the request. Unable to proceed." : "Възникна грешка по време на заявката. Не може да се продължи.",
@@ -432,6 +270,8 @@ OC.L10N.register(
"Error while updating device token scope" : "Грешка при актуализиране на обхвата на токена на устройството",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Имаше твърде много заявки от вашата мрежа. Опитайте отново по-късно или се свържете с вашия администратор, ако това е грешка.",
"Error" : "Грешка",
+ "Default quota" : "Стандартна квота",
+ "Documentation" : "Документация",
"Forum" : "Форум",
"Legal notice" : "Правна информация",
"Privacy policy" : "Политика за поверителност",
@@ -450,6 +290,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP парола",
"Save" : "Запазване",
"Test and verify email settings" : "Тествайте и потвърждаване на настройките на имейла",
+ "Send email" : "Изпрати имейл",
"Security & setup warnings" : "Предупреждения за сигурността и настройките",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Важно е, от гледна точка на сигурност и производителност, всичко да бъде настроено коректно. За тази цел са създадени автоматични проверки. Прегледайте връзките, към документацията (по-долу), за допълнителна информация.",
"All checks passed." : "Всички проверки са преминати.",
@@ -467,9 +308,6 @@ OC.L10N.register(
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Тази общностна версия на Nextcloud не се поддържа и не са налични незабавни известия.",
"Use a second factor besides your password to increase security for your account." : "Ползвайте двустепенно удостоверяване за да повишите сигурността на профила си.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Ако използвате приложения на трети страни, за да се свържете с Nextcloud, моля, не забравяйте да създадете и конфигурирате парола за приложение за всяко едно от тях, преди да активирате удостоверяване на втория фактор.",
- "Set default expiration date for shares" : "Задай дата за изтичане по подразбиране за споделянията",
- "Your biography" : "Вашата биография",
- "You are using <strong>{usage}</strong>" : "Използвате <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Използвате <strong>{usage}</strong> от <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Задай дата за изтичане по подразбиране за споделянията"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/bg.json b/apps/settings/l10n/bg.json
index 551d6c72024..093cee926b4 100644
--- a/apps/settings/l10n/bg.json
+++ b/apps/settings/l10n/bg.json
@@ -185,54 +185,6 @@
"Search groups…" : "Търси в групи ...",
"Loading groups…" : "Зареждане на групи ...",
"Loading" : "Зареждане",
- "Type" : "Тип",
- "Display Name" : "Име за визуализация",
- "Learn more" : "Научете повече",
- "Confirm" : "Потвърдете",
- "Cancel" : "Отказ",
- "Description" : "Описание",
- "View in store" : "Страница в магазина",
- "Visit website" : "Уеб страницата",
- "Admin documentation" : "Документация за администратори",
- "Developer documentation" : "Документация за разработчици",
- "Details" : "Подробности",
- "All" : "Всички",
- "Limit app usage to groups" : "Ограничаване използването на приложението от групи",
- "No results" : "Няма резултати",
- "Update to {version}" : "Актуализирай до {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Това приложение няма присвоена минимална версия на Nextcloud. В бъдеще това ще бъде грешка.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Това приложение няма зададена максимална версия на Nextcloud. В бъдеще това ще бъде грешка.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Приложението не може да бъде инсталирано, защото следните зависимости не са удовлетворени:",
- "Author" : "Автор",
- "Categories" : "Категории",
- "Resources" : "Ресурси",
- "Documentation" : "Документация",
- "Interact" : "Взаимодействайте",
- "Report a bug" : "Докладване на грешка",
- "Request feature" : "Заявете функционалност",
- "Ask questions or discuss" : "Задайте въпрос",
- "Rate" : "Оценяване",
- "Changelog" : "Списък на промените",
- "Google Chrome for Android" : "Google Chrome за Android",
- "{productName} iOS app" : "{productName} приложение за iOS",
- "{productName} Android app" : "{productName} приложение за Android",
- "{productName} Talk for iOS" : "{productName} Talk за iOS",
- "{productName} Talk for Android" : "{productName} Talk за Android",
- "This session" : "Текущата сесия",
- "Marked for remote wipe" : "Маркирано за отдалечено изтриване",
- "Device settings" : "Настройки за устройството",
- "Allow filesystem access" : "Разрешен достъп до файловете",
- "Rename" : "Преименувай",
- "Revoke" : "Отнемане",
- "Wipe device" : "Изтрий устройството",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Отмяната на този маркер може да попречи на изтриването на вашето устройство, ако то все още не е започнало изтриването.",
- "Device" : "Устройство",
- "Last activity" : "Последна активност",
- "Devices & sessions" : "Устройства и сесии",
- "Web, desktop and mobile clients currently logged in to your account." : "Уеб, настолни и мобилни клиенти, които в момента са вписани чрез вашия акаунт.",
- "Error while creating device token" : "Грешка при създаването на токен на устройството",
- "App name" : "Име на приложението",
- "Create new app password" : "Създай парола за приложението",
"Could not copy app password. Please copy it manually." : "Не можа да се копира паролата за приложение. Моля, копирайте я ръчно.",
"Login" : "Вписване",
"Password" : "Парола",
@@ -263,128 +215,10 @@
"Be aware that encryption always increases the file size." : "Имайте предвид, че криптирането винаги увеличава размера на файла.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Добре е винаги да създавате редовни резервни копия на вашите данни, в случай на криптиране не забравяйте да архивирате ключовете за криптиране заедно с вашите данни.",
"This is the final warning: Do you really want to enable encryption?" : "Това е последно предупреждение: Наистина ли искате да активирате криптирането?",
+ "Cancel" : "Отказ",
+ "Confirm" : "Потвърдете",
"Submit" : "Изпращане",
"Rename group" : "Преименуване на група",
- "Current password" : "Текуща парола",
- "New password" : "Нова парола",
- "Change password" : "Промени паролата",
- "Choose your profile picture" : "Избор на профилна снимка",
- "Please select a valid png or jpg file" : "Моля, изберете валиден png или jpg файл",
- "Error setting profile picture" : "Грешка при задаване на профилната снимка",
- "Error cropping profile picture" : "Грешка при изрязване на профилната снимка",
- "Error saving profile picture" : "Грешка при записване на профилната снимка",
- "Error removing profile picture" : "Грешка при премахване на профилната снимка",
- "Your profile picture" : "Вашата профилна снимка",
- "Upload profile picture" : "Качи профилна снимка",
- "Choose profile picture from Files" : "Избор на профилна снимка от Файлове",
- "Remove profile picture" : "Премахни профилната снимка",
- "The file must be a PNG or JPG" : "Файлът трябва да е във формат PNG или JPG",
- "Picture provided by original account" : "Снимката е предоставена от оригиналния профил",
- "Set as profile picture" : "Задай като профилна снимка",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Моля, имайте предвид, че може да отнеме до 24 часа, докато Вашата профилна снимка бъде актуализирана навсякъде.",
- "Your biography. Markdown is supported." : "Въведете своята биография тук. Поддържа се \"Markdown\".",
- "Unable to update date of birth" : "Неуспешно обновяване на датата на раждане",
- "Enter your date of birth" : "Въведете датата си на раждане",
- "You are using {s}{usage}{/s}" : "Използвате {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Използвате {s}{usage}{/s} от {s}{totalSpace}{/s}({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Членувате в следните групи:",
- "Your full name" : "Вашето пълно име",
- "Email options" : "Опции за имейл",
- "Remove primary email" : "Премахване на основния имейл",
- "Delete email" : "Изтриване на имейл",
- "This address is not confirmed" : "Този адрес не е потвърден",
- "Unset as primary email" : "Премахване на настройка като основен имейл",
- "Set as primary email" : "Задаване като основен имейл",
- "Additional email address {index}" : "Допълнителен имейл адрес {index}",
- "Unable to delete primary email address" : "Не може да се изтрие основният имейл адрес",
- "Unable to update primary email address" : "Основният имейл адрес не може да се актуализира",
- "Unable to add additional email address" : "Не може да се добави допълнителен имейл адрес",
- "Unable to update additional email address" : "Не може да се актуализира допълнителен имейл адрес",
- "Unable to delete additional email address" : "Не може да се изтрие допълнителен имейл адрес",
- "Primary email for password reset and notifications" : "Основен имейл за възстановяване на парола и известия",
- "No email address set" : "Не е въведен имейл адрес",
- "Your handle" : "Вашият идентификатор",
- "Derived from your locale ({weekDayName})" : "Извлечено от Вашите настройки за регион ({weekDayName})",
- "Unable to update first day of week" : "Неуспешно обновяване на първия ден от седмицата",
- "Day to use as the first day of week" : "Денят, в който започва седмицата.",
- "Your headline" : "Вашето заглавие",
- "Unable to update language" : "Езикът не може да се актуализира",
- "Help translate" : "Помогнете с превода",
- "No language set" : "Няма зададен език",
- "Unable to update locale" : "Неуспешно обновяване на регионалните настройки",
- "Locales" : "Регионални настройки",
- "Week starts on {firstDayOfWeek}" : "Седмицата започва от {firstDayOfWeek}",
- "No locale set" : "Няма зададени настройки за регион",
- "Your organisation" : "Вашата организация",
- "Your phone number" : "Вашият тел. номер",
- "Edit your Profile visibility" : "Редактиране на видимостта на Вашия профил",
- "Unable to update profile enabled state" : "Неуспешно обновяване на състоянието на профила",
- "Enable profile" : "Активирай профил",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Прилага се по-ограничаващата настройка за видимост на профила или обхват. Например, ако видимостта е зададена на „Всички“, а обхватът е настроен на „Лично“, „Лично“ ще се приложи за Вашия профил.",
- "Unable to update visibility of {displayId}" : "Не може да се актуализира видимостта на {displayId}",
- "Your role" : "Вашата роля",
- "Your website" : "Вашата уеб страница",
- "Invalid value" : "Невалидна стойност",
- "Unable to update {property}" : "Не може да се актуализира {property}",
- "No {property} set" : "Не е зададено {property}",
- "Change scope level of {property}, current scope is {scope}" : "Променете нивото на обхват на {property}, текущият обхват е {scope}",
- "Unable to update federation scope of the primary {property}" : "Не може да се актуализира обхватът на обединяване на основното {property}",
- "Unable to update federation scope of additional {property}" : "Не може да се актуализира обхватът на обединяване на допълнителното {property}",
- "Add additional email" : "Добавяне на допълнителен имейл",
- "Add" : "Добави",
- "Create" : "Създай",
- "Change" : "Промени",
- "Delete" : "Изтриване",
- "Reshare" : "Повторно споделяне",
- "Default language" : "Стандартен език",
- "Common languages" : "Познати езици",
- "Other languages" : "Други езици",
- "Password change is disabled because the master key is disabled" : "Промяната на паролата е деактивирана, защото главният ключ е деактивиран",
- "No accounts" : "Без сметки",
- "Display name" : "Вписване като",
- "Email" : "Имейл",
- "Quota" : "Квота",
- "Language" : "Език",
- "Total rows summary" : "Обобщение на общия брой редове",
- "Avatar" : "Аватар",
- "Account name" : "Име на профил",
- "Group admin for" : "Групов администратор за",
- "Storage location" : "Дисково пространство",
- "Last login" : "Последно вписване",
- "Account actions" : "Действия на профил",
- "{size} used" : "{size} използвани",
- "Delete account" : "Изтриване на профила",
- "Resend welcome email" : "Повторно изпращане на имейл за добре дошъл ",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "В случай на изгубено устройство или излизане от организацията, това може отдалечено да изтрие данните на Nextcloud от всички устройства, свързани с {userid}. Работи, само ако устройствата са свързани към интернет.",
- "Remote wipe of devices" : "Отдалечено изтриване на устройства",
- "Wipe {userid}'s devices" : "Изтриване на устройствата на {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Напълно изтриване на профил на {userid}, включително всички негови лични файлове, данни от приложения и т.н.",
- "Account deletion" : "Изтриване на профил",
- "Delete {userid}'s account" : "Изтриване на профил на {userid}",
- "Welcome mail sent!" : "Изпратена е поща за добре дошли!",
- "Done" : "Готово",
- "Edit" : "Редактиране",
- "Visibility" : "Видимост",
- "Show storage path" : "Показване на пътя за хранилище",
- "Show last login" : "Показвай последното вписване",
- "Send email" : "Изпрати имейл",
- "Defaults" : "Стойности по подразбиране",
- "Default quota" : "Стандартна квота",
- "Select default quota" : "Изберете стандартна квота",
- "Server error while trying to complete WebAuthn device registration" : "Грешка в сървъра при опит за завършване на регистрация на WebAuthn устройство ",
- "Passwordless authentication requires a secure connection." : "Удостоверяване без парола изисква сигурна връзка.",
- "Add WebAuthn device" : "Добавяне на WebAuthn устройство",
- "Please authorize your WebAuthn device." : "Моля, да упълномощите вашето WebAuthn устройство.",
- "Adding your device …" : "Вашето устройство се добавя …",
- "Unnamed device" : "Устройство без име",
- "Passwordless Authentication" : "Удостоверяване без парола",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Настройте вашият профил за удостоверяване без парола, следвайки стандарта FIDO2.",
- "No devices configured." : "Няма конфигурирани устройства.",
- "The following devices are configured for your account:" : "Следните устройства са конфигурирани за вашия профил:",
- "Your browser does not support WebAuthn." : "Вашият браузър не поддържа WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Като администратор можете да прецизирате поведението на споделяне. Моля, вижте документацията за повече информация.",
- "You need to enable the File sharing App." : "Трябва да активирате приложението за споделяне на файлове.",
- "Admins" : "Администратори",
"Sending…" : "Изпращане...",
"Email sent" : "Имейлът е изпратен",
"Location" : "Местоположение",
@@ -393,6 +227,7 @@
"Date of birth" : "Дата на раждане",
"Full name" : "Име",
"Additional email" : "Допълнителен имейл",
+ "Email" : "Имейл",
"Fediverse (e.g. Mastodon)" : "Fediverse (напр. Mastodon)",
"Headline" : "Заглавие",
"Organisation" : "Организация",
@@ -401,6 +236,7 @@
"Role" : "Роля",
"Website" : "Уеб страница",
"Profile visibility" : "Видимост на профил",
+ "Language" : "Език",
"Locale" : "Регионални настройки",
"First day of week" : "Първи ден от седмицата",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Не е налично, тъй като това свойство е нужно за основна функционалност, включително споделяне на файлове и покани в календар",
@@ -414,10 +250,12 @@
"Featured apps" : "Представени приложения",
"Show to everyone" : "Показване на всички",
"Hide" : "Скриване",
+ "Update to {version}" : "Актуализирай до {version}",
"Download and enable" : "Сваляне и включване",
"Disable" : "Изключване",
"The app will be downloaded from the App Store" : "Приложението ще бъде изтеглено от App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Приложението не е маркирано като съвместимо с вашата версия на Nextcloud. Можете да инсталирате приложението, но е вероятно да не работи безпроблемно.",
+ "{size} used" : "{size} използвани",
"Unknown" : "Неизвестен",
"Never" : "Никога",
"An error occurred during the request. Unable to proceed." : "Възникна грешка по време на заявката. Не може да се продължи.",
@@ -430,6 +268,8 @@
"Error while updating device token scope" : "Грешка при актуализиране на обхвата на токена на устройството",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Имаше твърде много заявки от вашата мрежа. Опитайте отново по-късно или се свържете с вашия администратор, ако това е грешка.",
"Error" : "Грешка",
+ "Default quota" : "Стандартна квота",
+ "Documentation" : "Документация",
"Forum" : "Форум",
"Legal notice" : "Правна информация",
"Privacy policy" : "Политика за поверителност",
@@ -448,6 +288,7 @@
"SMTP Password" : "SMTP парола",
"Save" : "Запазване",
"Test and verify email settings" : "Тествайте и потвърждаване на настройките на имейла",
+ "Send email" : "Изпрати имейл",
"Security & setup warnings" : "Предупреждения за сигурността и настройките",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Важно е, от гледна точка на сигурност и производителност, всичко да бъде настроено коректно. За тази цел са създадени автоматични проверки. Прегледайте връзките, към документацията (по-долу), за допълнителна информация.",
"All checks passed." : "Всички проверки са преминати.",
@@ -465,9 +306,6 @@
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Тази общностна версия на Nextcloud не се поддържа и не са налични незабавни известия.",
"Use a second factor besides your password to increase security for your account." : "Ползвайте двустепенно удостоверяване за да повишите сигурността на профила си.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Ако използвате приложения на трети страни, за да се свържете с Nextcloud, моля, не забравяйте да създадете и конфигурирате парола за приложение за всяко едно от тях, преди да активирате удостоверяване на втория фактор.",
- "Set default expiration date for shares" : "Задай дата за изтичане по подразбиране за споделянията",
- "Your biography" : "Вашата биография",
- "You are using <strong>{usage}</strong>" : "Използвате <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Използвате <strong>{usage}</strong> от <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Задай дата за изтичане по подразбиране за споделянията"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/br.js b/apps/settings/l10n/br.js
index 8c0dcdcc6a1..43e22c681b2 100644
--- a/apps/settings/l10n/br.js
+++ b/apps/settings/l10n/br.js
@@ -144,41 +144,6 @@ OC.L10N.register(
"No apps found for your version" : "Meziant ebet kavet evit ar stumm",
"_%n app has an update available_::_%n apps have an update available_" : ["%n meziant a zo posuple adnevesiñ","%n meziant a zo posuple adnevesiñ","%n meziant a zo posuple adnevesiñ","%n meziant a zo posuple adnevesiñ","%n meziant a zo posuple adnevesiñ"],
"Loading" : "Kargañ",
- "Type" : "Seurt",
- "Learn more" : "Deskiñ muioc'h",
- "Confirm" : "Kadarnañ",
- "Cancel" : "Nullañ",
- "Description" : "Deskrivadur",
- "View in store" : "Gwellet er stall",
- "Visit website" : "Mont war al lec'hienn",
- "Admin documentation" : "Dielvadur ar merour",
- "Developer documentation" : "Diellvadur an digeler",
- "Details" : "Munudoù",
- "All" : "Pep tra",
- "Limit app usage to groups" : "Lakaat ar meziant da veza implijet gant ar strolladoù nemetken",
- "No results" : "Disoc'h ebet",
- "Update to {version}" : "Oc'h adneveziñ da {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "N'en deus ket ar meziant ur stumm izelañ evit Nextcloud. Ur fazi a vo en dazont.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ar meziant n'en deus ket ur stumm huela eus Nextcloud merked. Ur fazi vo en dazont.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "N'eo ket posupl staliañ ar meziant peogwir n'eo ket bet graet war dro an amzalc'hioù :",
- "Categories" : "Rummadoù",
- "Documentation" : "Diellvadur",
- "Report a bug" : "Dugas ur gudenn",
- "Google Chrome for Android" : "Google Chrome evit Android",
- "This session" : "An estez-mañ",
- "Marked for remote wipe" : "Market evit bezañ lamet a bell",
- "Device settings" : "Stummoù ardivink",
- "Allow filesystem access" : "Aotreañ an tremen d'ar restroù sistem",
- "Rename" : "Adenvel",
- "Revoke" : "Digargañ",
- "Wipe device" : "Lemel an dra",
- "Device" : "Ardivink",
- "Last activity" : "Oberenn divezhañ",
- "Devices & sessions" : "Ardivinkoù ha estezioù",
- "Web, desktop and mobile clients currently logged in to your account." : "Ar c'hliant Web, burev ha hezouk a zo kenstaget en ho c'hont.",
- "Error while creating device token" : "Ur fazi a zo bet en ur groiñ jedour an ardivink",
- "App name" : "Anv meziant",
- "Create new app password" : "Krouiñ ur ger-tremen meziant nevez",
"Could not copy app password. Please copy it manually." : "N'eo ket posupl eilan ar ger-tremen meziant. Eilit anezhan gant an dorn.",
"Login" : "Anv arveriad",
"Password" : "Ger-tremen",
@@ -196,63 +161,9 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Gouzit eo vez kemeret muioc'h a blas gant ur restr sifret.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mat eo kaout ur vackup reoliek eus o roadennoù, ha e bezit sur ober ur vackup eus an alrv'hwez sifrañ gant o roadennoù sifret.",
"This is the final warning: Do you really want to enable encryption?" : "Kemenadenn diwall divezhañ : Sur oc'h aotreañ ar sifrañ ?",
+ "Cancel" : "Nullañ",
+ "Confirm" : "Kadarnañ",
"Submit" : "Kinnig",
- "Current password" : "Ger-tremen hiziv",
- "New password" : "Ger-tremen nevez",
- "Change password" : "Cheñch ger-tremen",
- "Picture provided by original account" : "Skeudenn roet gant ar c'hont orin",
- "Unable to update date of birth" : "N'haller ket cheñch an deiziad ganedigezh",
- "Enter your date of birth" : "Lakaat ho teiziad ganedigezh",
- "You are a member of the following groups:" : "Er strolladoù-mañ emaoc'h",
- "No email address set" : "Chom-lec'h postel ebet lakaet",
- "Help translate" : "Sikour treiñ",
- "No language set" : "Yezh ebet lakaet",
- "Your phone number" : "O niverenn pelgomzer",
- "Add" : "Ouzhpennañ",
- "Create" : "Krouiñ",
- "Change" : "Cheñch",
- "Delete" : "Dilemel",
- "Reshare" : "Adrannañ",
- "Default language" : "Yezh dre ziouer",
- "Common languages" : "Yezh boutiñ",
- "Password change is disabled because the master key is disabled" : "N'eo ket aotreet cheñch ger-tremen peogwir n'eo ket aotreet an alc'hwez meur",
- "Display name" : "Anv ardivink",
- "Email" : "Postel",
- "Quota" : "Quota",
- "Language" : "Yezh",
- "Avatar" : "Avatar",
- "Group admin for" : "Strollad merour evit",
- "Storage location" : "Lec'h berniañ",
- "Last login" : "Mont-tre divezhañ",
- "{size} used" : "{size} implijet",
- "Resend welcome email" : "Adkas ar postel degemer mat",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Ma peus kollet o ardivink pe kuitaet ar strollad, posupl e vefe lemet a pell roadennoù Nextcloud eus tout o ardivinkoù liamet gant {userid}. Ne gerzh nemet ma eo kenstaget an ardivinkoù gant internet.",
- "Remote wipe of devices" : "Lemel a bell an ardivink",
- "Wipe {userid}'s devices" : "Lemel ardivink {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Lemet eo bet penn-da-benn kont {userid} gant pep restr personnel, roadennoù meziant, hag-all-hag-all.",
- "Account deletion" : "Lemel ar c'hont",
- "Delete {userid}'s account" : "Dilemel kont {userid}",
- "Welcome mail sent!" : "Postel degemer kaset !",
- "Done" : "Graet",
- "Edit" : "Cheñch",
- "Show storage path" : "Diskouez an hent klenkañ",
- "Show last login" : "Diskouez ar c'hennask diwezhañ",
- "Send email" : "Kas postel",
- "Default quota" : "Quota dre ziouer",
- "Select default quota" : "Choaz ar c'hota dre ziouer",
- "Server error while trying to complete WebAuthn device registration" : "Ur fazi servijour a zo bet pa oa glotaet an ardivink WebAuthn",
- "Passwordless authentication requires a secure connection." : "Ret eo kaout ur c'henstagadur sur evit un dilesa di-ger-tremen.",
- "Add WebAuthn device" : "Ouzhpenn ardivink WebAuthn",
- "Please authorize your WebAuthn device." : "Aotreit o ardivink WebAuthn.",
- "Adding your device …" : "Ouehpennit ho ardivink ...",
- "Unnamed device" : "Ardivink hep anv",
- "Passwordless Authentication" : "Dilesa hep ger-tremen",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Lakaat o c'hont da implij an dilesa hap ger-tremen en ur heuliañ ar standart FIDO2.",
- "No devices configured." : "Ardivink stummet ebet.",
- "The following devices are configured for your account:" : "Stummet eo bet an ardivinkoù ma d'ho c'hont.",
- "Your browser does not support WebAuthn." : "Ne vez ket douget WebAuthn gant o furcher.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Evel ar merour eo posupl deoc'h stumañ pizh penaos e vez rannet. Sellit ouz an diellvadur evit muioc'h a ditouroù.",
- "Admins" : "Merourien",
"Sending…" : "O kas...",
"Email sent" : "Postel kaset",
"Location" : "Lec'hiadur",
@@ -260,9 +171,11 @@ OC.L10N.register(
"About" : "Diwar-benn",
"Date of birth" : "Deiziad ganedigezh",
"Full name" : "Anv klok",
+ "Email" : "Postel",
"Phone number" : "Niverenn bellgomz",
"Role" : "Roll",
"Website" : "Lec'hienn web",
+ "Language" : "Yezh",
"Locale" : "Diabarzh",
"Your apps" : "Ho meziantoù",
"Active apps" : "Meziantoù lakaet en dro",
@@ -271,9 +184,11 @@ OC.L10N.register(
"App bundles" : "Strolladoù meziant",
"Featured apps" : "Meziant perzhiet",
"Hide" : "Kouacha",
+ "Update to {version}" : "Oc'h adneveziñ da {version}",
"Download and enable" : "Pellgargañ ha aotreañ",
"Disable" : "Disaotreañ",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "N'eo ket ar meziant keverlec'h gant stumm Nextcloud. Ma kendalc'hit e o posupl deoc'h staliañ ar meziant. Taolit evez, ne labouro ket ar meziant evel ma zlefe.",
+ "{size} used" : "{size} implijet",
"Unknown" : "Dianv",
"Never" : "James",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aotreet eo bet ar meziant mes ezomm e deus bezhan adnevesaet. Kaset a voc'h d'ar bajenn adneveziñ a benn 5 eilenn.",
@@ -284,6 +199,8 @@ OC.L10N.register(
"Error while updating device token scope" : "Ur fazi a zo bet en ur adnevesiñ pellder ar jedouer",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Re a goulennoù a zo bet eus ar rouedat. Klaskit en dro diwezhatoc'h pe galvit ho merour m'az eus ur fazi.",
"Error" : "Fazi",
+ "Default quota" : "Quota dre ziouer",
+ "Documentation" : "Diellvadur",
"Forum" : "Forum",
"Legal notice" : "Meneg lezenn",
"Open documentation" : "Digeriñ an dielvadur",
@@ -298,6 +215,7 @@ OC.L10N.register(
"Credentials" : "Kretaatoù",
"SMTP Password" : "Ger-tremen SMTP",
"Save" : "Enrollañ",
+ "Send email" : "Kas postel",
"Security & setup warnings" : "Kemmenadennoù suretez ha stumm",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Pouezus eo evit ar surentez hag ar mont en dro ho azgoulenn e vefe pep tra stummet mat. Evit sikour ac'hanoc'h e vez graet gwiradennoù otomatek. Sellit ouz an diellvadur liammet evit muioc'h a ditouroù.",
"All checks passed." : "Pep gwiriekadenn tremenat.",
diff --git a/apps/settings/l10n/br.json b/apps/settings/l10n/br.json
index ec6a68e42fc..c039235f05d 100644
--- a/apps/settings/l10n/br.json
+++ b/apps/settings/l10n/br.json
@@ -142,41 +142,6 @@
"No apps found for your version" : "Meziant ebet kavet evit ar stumm",
"_%n app has an update available_::_%n apps have an update available_" : ["%n meziant a zo posuple adnevesiñ","%n meziant a zo posuple adnevesiñ","%n meziant a zo posuple adnevesiñ","%n meziant a zo posuple adnevesiñ","%n meziant a zo posuple adnevesiñ"],
"Loading" : "Kargañ",
- "Type" : "Seurt",
- "Learn more" : "Deskiñ muioc'h",
- "Confirm" : "Kadarnañ",
- "Cancel" : "Nullañ",
- "Description" : "Deskrivadur",
- "View in store" : "Gwellet er stall",
- "Visit website" : "Mont war al lec'hienn",
- "Admin documentation" : "Dielvadur ar merour",
- "Developer documentation" : "Diellvadur an digeler",
- "Details" : "Munudoù",
- "All" : "Pep tra",
- "Limit app usage to groups" : "Lakaat ar meziant da veza implijet gant ar strolladoù nemetken",
- "No results" : "Disoc'h ebet",
- "Update to {version}" : "Oc'h adneveziñ da {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "N'en deus ket ar meziant ur stumm izelañ evit Nextcloud. Ur fazi a vo en dazont.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ar meziant n'en deus ket ur stumm huela eus Nextcloud merked. Ur fazi vo en dazont.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "N'eo ket posupl staliañ ar meziant peogwir n'eo ket bet graet war dro an amzalc'hioù :",
- "Categories" : "Rummadoù",
- "Documentation" : "Diellvadur",
- "Report a bug" : "Dugas ur gudenn",
- "Google Chrome for Android" : "Google Chrome evit Android",
- "This session" : "An estez-mañ",
- "Marked for remote wipe" : "Market evit bezañ lamet a bell",
- "Device settings" : "Stummoù ardivink",
- "Allow filesystem access" : "Aotreañ an tremen d'ar restroù sistem",
- "Rename" : "Adenvel",
- "Revoke" : "Digargañ",
- "Wipe device" : "Lemel an dra",
- "Device" : "Ardivink",
- "Last activity" : "Oberenn divezhañ",
- "Devices & sessions" : "Ardivinkoù ha estezioù",
- "Web, desktop and mobile clients currently logged in to your account." : "Ar c'hliant Web, burev ha hezouk a zo kenstaget en ho c'hont.",
- "Error while creating device token" : "Ur fazi a zo bet en ur groiñ jedour an ardivink",
- "App name" : "Anv meziant",
- "Create new app password" : "Krouiñ ur ger-tremen meziant nevez",
"Could not copy app password. Please copy it manually." : "N'eo ket posupl eilan ar ger-tremen meziant. Eilit anezhan gant an dorn.",
"Login" : "Anv arveriad",
"Password" : "Ger-tremen",
@@ -194,63 +159,9 @@
"Be aware that encryption always increases the file size." : "Gouzit eo vez kemeret muioc'h a blas gant ur restr sifret.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mat eo kaout ur vackup reoliek eus o roadennoù, ha e bezit sur ober ur vackup eus an alrv'hwez sifrañ gant o roadennoù sifret.",
"This is the final warning: Do you really want to enable encryption?" : "Kemenadenn diwall divezhañ : Sur oc'h aotreañ ar sifrañ ?",
+ "Cancel" : "Nullañ",
+ "Confirm" : "Kadarnañ",
"Submit" : "Kinnig",
- "Current password" : "Ger-tremen hiziv",
- "New password" : "Ger-tremen nevez",
- "Change password" : "Cheñch ger-tremen",
- "Picture provided by original account" : "Skeudenn roet gant ar c'hont orin",
- "Unable to update date of birth" : "N'haller ket cheñch an deiziad ganedigezh",
- "Enter your date of birth" : "Lakaat ho teiziad ganedigezh",
- "You are a member of the following groups:" : "Er strolladoù-mañ emaoc'h",
- "No email address set" : "Chom-lec'h postel ebet lakaet",
- "Help translate" : "Sikour treiñ",
- "No language set" : "Yezh ebet lakaet",
- "Your phone number" : "O niverenn pelgomzer",
- "Add" : "Ouzhpennañ",
- "Create" : "Krouiñ",
- "Change" : "Cheñch",
- "Delete" : "Dilemel",
- "Reshare" : "Adrannañ",
- "Default language" : "Yezh dre ziouer",
- "Common languages" : "Yezh boutiñ",
- "Password change is disabled because the master key is disabled" : "N'eo ket aotreet cheñch ger-tremen peogwir n'eo ket aotreet an alc'hwez meur",
- "Display name" : "Anv ardivink",
- "Email" : "Postel",
- "Quota" : "Quota",
- "Language" : "Yezh",
- "Avatar" : "Avatar",
- "Group admin for" : "Strollad merour evit",
- "Storage location" : "Lec'h berniañ",
- "Last login" : "Mont-tre divezhañ",
- "{size} used" : "{size} implijet",
- "Resend welcome email" : "Adkas ar postel degemer mat",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Ma peus kollet o ardivink pe kuitaet ar strollad, posupl e vefe lemet a pell roadennoù Nextcloud eus tout o ardivinkoù liamet gant {userid}. Ne gerzh nemet ma eo kenstaget an ardivinkoù gant internet.",
- "Remote wipe of devices" : "Lemel a bell an ardivink",
- "Wipe {userid}'s devices" : "Lemel ardivink {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Lemet eo bet penn-da-benn kont {userid} gant pep restr personnel, roadennoù meziant, hag-all-hag-all.",
- "Account deletion" : "Lemel ar c'hont",
- "Delete {userid}'s account" : "Dilemel kont {userid}",
- "Welcome mail sent!" : "Postel degemer kaset !",
- "Done" : "Graet",
- "Edit" : "Cheñch",
- "Show storage path" : "Diskouez an hent klenkañ",
- "Show last login" : "Diskouez ar c'hennask diwezhañ",
- "Send email" : "Kas postel",
- "Default quota" : "Quota dre ziouer",
- "Select default quota" : "Choaz ar c'hota dre ziouer",
- "Server error while trying to complete WebAuthn device registration" : "Ur fazi servijour a zo bet pa oa glotaet an ardivink WebAuthn",
- "Passwordless authentication requires a secure connection." : "Ret eo kaout ur c'henstagadur sur evit un dilesa di-ger-tremen.",
- "Add WebAuthn device" : "Ouzhpenn ardivink WebAuthn",
- "Please authorize your WebAuthn device." : "Aotreit o ardivink WebAuthn.",
- "Adding your device …" : "Ouehpennit ho ardivink ...",
- "Unnamed device" : "Ardivink hep anv",
- "Passwordless Authentication" : "Dilesa hep ger-tremen",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Lakaat o c'hont da implij an dilesa hap ger-tremen en ur heuliañ ar standart FIDO2.",
- "No devices configured." : "Ardivink stummet ebet.",
- "The following devices are configured for your account:" : "Stummet eo bet an ardivinkoù ma d'ho c'hont.",
- "Your browser does not support WebAuthn." : "Ne vez ket douget WebAuthn gant o furcher.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Evel ar merour eo posupl deoc'h stumañ pizh penaos e vez rannet. Sellit ouz an diellvadur evit muioc'h a ditouroù.",
- "Admins" : "Merourien",
"Sending…" : "O kas...",
"Email sent" : "Postel kaset",
"Location" : "Lec'hiadur",
@@ -258,9 +169,11 @@
"About" : "Diwar-benn",
"Date of birth" : "Deiziad ganedigezh",
"Full name" : "Anv klok",
+ "Email" : "Postel",
"Phone number" : "Niverenn bellgomz",
"Role" : "Roll",
"Website" : "Lec'hienn web",
+ "Language" : "Yezh",
"Locale" : "Diabarzh",
"Your apps" : "Ho meziantoù",
"Active apps" : "Meziantoù lakaet en dro",
@@ -269,9 +182,11 @@
"App bundles" : "Strolladoù meziant",
"Featured apps" : "Meziant perzhiet",
"Hide" : "Kouacha",
+ "Update to {version}" : "Oc'h adneveziñ da {version}",
"Download and enable" : "Pellgargañ ha aotreañ",
"Disable" : "Disaotreañ",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "N'eo ket ar meziant keverlec'h gant stumm Nextcloud. Ma kendalc'hit e o posupl deoc'h staliañ ar meziant. Taolit evez, ne labouro ket ar meziant evel ma zlefe.",
+ "{size} used" : "{size} implijet",
"Unknown" : "Dianv",
"Never" : "James",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aotreet eo bet ar meziant mes ezomm e deus bezhan adnevesaet. Kaset a voc'h d'ar bajenn adneveziñ a benn 5 eilenn.",
@@ -282,6 +197,8 @@
"Error while updating device token scope" : "Ur fazi a zo bet en ur adnevesiñ pellder ar jedouer",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Re a goulennoù a zo bet eus ar rouedat. Klaskit en dro diwezhatoc'h pe galvit ho merour m'az eus ur fazi.",
"Error" : "Fazi",
+ "Default quota" : "Quota dre ziouer",
+ "Documentation" : "Diellvadur",
"Forum" : "Forum",
"Legal notice" : "Meneg lezenn",
"Open documentation" : "Digeriñ an dielvadur",
@@ -296,6 +213,7 @@
"Credentials" : "Kretaatoù",
"SMTP Password" : "Ger-tremen SMTP",
"Save" : "Enrollañ",
+ "Send email" : "Kas postel",
"Security & setup warnings" : "Kemmenadennoù suretez ha stumm",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Pouezus eo evit ar surentez hag ar mont en dro ho azgoulenn e vefe pep tra stummet mat. Evit sikour ac'hanoc'h e vez graet gwiradennoù otomatek. Sellit ouz an diellvadur liammet evit muioc'h a ditouroù.",
"All checks passed." : "Pep gwiriekadenn tremenat.",
diff --git a/apps/settings/l10n/bs.js b/apps/settings/l10n/bs.js
deleted file mode 100644
index 0fbc5ad235c..00000000000
--- a/apps/settings/l10n/bs.js
+++ /dev/null
@@ -1,104 +0,0 @@
-OC.L10N.register(
- "settings",
- {
- "Saved" : "Spremljeno",
- "Email sent" : "E-pošta je poslana",
- "Local" : "Lokalno",
- "Unable to change password" : "Promjena lozinke nije moguća",
- "Very weak password" : "Veoma slaba lozinka",
- "Weak password" : "Slaba lozinka",
- "So-so password" : "Tu-i-tamo lozinka",
- "Good password" : "Dobra lozinka",
- "Strong password" : "Jaka lozinka",
- "Select a profile picture" : "Odaberi sliku profila",
- "Groups" : "Grupe",
- "Couldn't remove app." : "Nije moguće ukloniti aplikaciju.",
- "Couldn't update app." : "Ažuriranje aplikacije nije moguće.",
- "Wrong password" : "Pogrešna lozinka",
- "No user supplied" : "Nijedan korisnik nije dostavljen",
- "Authentication error" : "Grešna autentifikacije",
- "Wrong admin recovery password. Please check the password and try again." : "Pogrešna admin lozinka za povratak. Molim provjerite lozinku i pokušajte ponovno.",
- "You need to set your user email before being able to send test emails." : "Prije nego li ste u mogućnosti slati testnu email trebate postaviti svoj korisnički email.",
- "Invalid mail address" : "Nevažeća adresa e-pošte",
- "Unable to change full name" : "Puno ime nije moguće promijeniti",
- "Your %s account was created" : "Vaš %s račun je kreiran",
- "Apps" : "Aplikacije",
- "Settings" : "Podešavanje",
- "Personal" : "Osobno",
- "Sharing" : "Dijeljenje",
- "Create" : "Ustvari",
- "Delete" : "Izbriši",
- "Unlimited" : "Neograničeno",
- "All" : "Sve",
- "Disable" : "Onemogući",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ova aplikacija se ne može instalirati zbog slijedećih neispunjenih ovisnosti:",
- "Rename" : "Preimenuj",
- "Username" : "Korisničko ime",
- "Password" : "Lozinka",
- "Done" : "Done",
- "Copied!" : "Kopirano",
- "Cancel" : "Odustani",
- "Email" : "E-pošta",
- "Quota" : "Kvota",
- "Language" : "Jezik",
- "Add" : "Dodaj",
- "Updates" : "Ažuriranja",
- "Admins" : "Administratori",
- "Show user backend" : "Prikaži korisničku pozadinu (backend)",
- "Send email to new user" : "Pošalji e-poštu novom korisniku",
- "Enable" : "Omogući",
- "Documentation" : "Dokumentacija",
- "Forum" : "Forum",
- "None" : "Ništa",
- "Login" : "Prijava",
- "Plain" : "Čisti tekst",
- "NT LAN Manager" : "NT LAN menedžer",
- "Send mode" : "Način rada za slanje",
- "Encryption" : "Šifriranje",
- "From address" : "S adrese",
- "Authentication method" : "Metoda autentifikacije",
- "Authentication required" : "Potrebna autentifikacija",
- "Server address" : "Adresa servera",
- "Port" : "Priključak",
- "Credentials" : "Vjerodajnice",
- "SMTP Username" : "SMTP Korisničko ime",
- "SMTP Password" : "SMPT Lozinka",
- "Save" : "Spremi",
- "Test email settings" : "Postavke za testnu e-poštu",
- "Send email" : "Pošalji e-poštu",
- "Version" : "Verzija",
- "Allow apps to use the Share API" : "Dozvoli aplikacijama korištenje Share API",
- "Enforce expiration date" : "Nametni datum isteka",
- "Allow public uploads" : "Dozvoli javno učitavanje",
- "Enforce password protection" : "Nametni zaštitu lozinke",
- "Allow resharing" : "Dopustite ponovno dijeljenje",
- "Restrict users to only share with users in their groups" : "Ograniči korisnike na međusobno dijeljenje resursa samo s korisnicima unutar svoje grupe",
- "Exclude groups from sharing" : "Isključite grupe iz dijeljenja",
- "These groups will still be able to receive shares, but not to initiate them." : "Ove će grupe i dalje moći primati dijeljene resurse, ali ne i inicirati ih",
- "Profile picture" : "Slika profila",
- "Upload new" : "Učitaj novu",
- "Remove image" : "Ukloni sliku",
- "Your email address" : "Vaša adresa e-pošte",
- "Address" : "Adresa",
- "Website" : "Web-prezentacija",
- "Help translate" : "Pomozi prevesti",
- "Current password" : "Trenutna lozinka",
- "New password" : "Nova lozinka",
- "Change password" : "Promijeni lozinku",
- "Valid until {date}" : "Validno do {date}",
- "Contacts" : "Kontakti",
- "Public" : "Javno",
- "by" : "od strane",
- "Close" : "Zatvori",
- "Everyone" : "Svi",
- "Common Name" : "Opće Ime",
- "Valid until" : "Validno do",
- "Issued By" : "Izdano od",
- "Valid until %s" : "Validno do %s",
- "mail" : "pošta",
- "Execute one task with each page loaded" : "Izvrši jedan zadatak sa svakom učitanom stranicom",
- "Expire after " : "Istek nakon",
- "days" : "dana",
- "Allow users to share via link" : "Dozvoli korisnicima dijeljenje putem veze"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/settings/l10n/bs.json b/apps/settings/l10n/bs.json
deleted file mode 100644
index 40e626a4cd0..00000000000
--- a/apps/settings/l10n/bs.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{ "translations": {
- "Saved" : "Spremljeno",
- "Email sent" : "E-pošta je poslana",
- "Local" : "Lokalno",
- "Unable to change password" : "Promjena lozinke nije moguća",
- "Very weak password" : "Veoma slaba lozinka",
- "Weak password" : "Slaba lozinka",
- "So-so password" : "Tu-i-tamo lozinka",
- "Good password" : "Dobra lozinka",
- "Strong password" : "Jaka lozinka",
- "Select a profile picture" : "Odaberi sliku profila",
- "Groups" : "Grupe",
- "Couldn't remove app." : "Nije moguće ukloniti aplikaciju.",
- "Couldn't update app." : "Ažuriranje aplikacije nije moguće.",
- "Wrong password" : "Pogrešna lozinka",
- "No user supplied" : "Nijedan korisnik nije dostavljen",
- "Authentication error" : "Grešna autentifikacije",
- "Wrong admin recovery password. Please check the password and try again." : "Pogrešna admin lozinka za povratak. Molim provjerite lozinku i pokušajte ponovno.",
- "You need to set your user email before being able to send test emails." : "Prije nego li ste u mogućnosti slati testnu email trebate postaviti svoj korisnički email.",
- "Invalid mail address" : "Nevažeća adresa e-pošte",
- "Unable to change full name" : "Puno ime nije moguće promijeniti",
- "Your %s account was created" : "Vaš %s račun je kreiran",
- "Apps" : "Aplikacije",
- "Settings" : "Podešavanje",
- "Personal" : "Osobno",
- "Sharing" : "Dijeljenje",
- "Create" : "Ustvari",
- "Delete" : "Izbriši",
- "Unlimited" : "Neograničeno",
- "All" : "Sve",
- "Disable" : "Onemogući",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ova aplikacija se ne može instalirati zbog slijedećih neispunjenih ovisnosti:",
- "Rename" : "Preimenuj",
- "Username" : "Korisničko ime",
- "Password" : "Lozinka",
- "Done" : "Done",
- "Copied!" : "Kopirano",
- "Cancel" : "Odustani",
- "Email" : "E-pošta",
- "Quota" : "Kvota",
- "Language" : "Jezik",
- "Add" : "Dodaj",
- "Updates" : "Ažuriranja",
- "Admins" : "Administratori",
- "Show user backend" : "Prikaži korisničku pozadinu (backend)",
- "Send email to new user" : "Pošalji e-poštu novom korisniku",
- "Enable" : "Omogući",
- "Documentation" : "Dokumentacija",
- "Forum" : "Forum",
- "None" : "Ništa",
- "Login" : "Prijava",
- "Plain" : "Čisti tekst",
- "NT LAN Manager" : "NT LAN menedžer",
- "Send mode" : "Način rada za slanje",
- "Encryption" : "Šifriranje",
- "From address" : "S adrese",
- "Authentication method" : "Metoda autentifikacije",
- "Authentication required" : "Potrebna autentifikacija",
- "Server address" : "Adresa servera",
- "Port" : "Priključak",
- "Credentials" : "Vjerodajnice",
- "SMTP Username" : "SMTP Korisničko ime",
- "SMTP Password" : "SMPT Lozinka",
- "Save" : "Spremi",
- "Test email settings" : "Postavke za testnu e-poštu",
- "Send email" : "Pošalji e-poštu",
- "Version" : "Verzija",
- "Allow apps to use the Share API" : "Dozvoli aplikacijama korištenje Share API",
- "Enforce expiration date" : "Nametni datum isteka",
- "Allow public uploads" : "Dozvoli javno učitavanje",
- "Enforce password protection" : "Nametni zaštitu lozinke",
- "Allow resharing" : "Dopustite ponovno dijeljenje",
- "Restrict users to only share with users in their groups" : "Ograniči korisnike na međusobno dijeljenje resursa samo s korisnicima unutar svoje grupe",
- "Exclude groups from sharing" : "Isključite grupe iz dijeljenja",
- "These groups will still be able to receive shares, but not to initiate them." : "Ove će grupe i dalje moći primati dijeljene resurse, ali ne i inicirati ih",
- "Profile picture" : "Slika profila",
- "Upload new" : "Učitaj novu",
- "Remove image" : "Ukloni sliku",
- "Your email address" : "Vaša adresa e-pošte",
- "Address" : "Adresa",
- "Website" : "Web-prezentacija",
- "Help translate" : "Pomozi prevesti",
- "Current password" : "Trenutna lozinka",
- "New password" : "Nova lozinka",
- "Change password" : "Promijeni lozinku",
- "Valid until {date}" : "Validno do {date}",
- "Contacts" : "Kontakti",
- "Public" : "Javno",
- "by" : "od strane",
- "Close" : "Zatvori",
- "Everyone" : "Svi",
- "Common Name" : "Opće Ime",
- "Valid until" : "Validno do",
- "Issued By" : "Izdano od",
- "Valid until %s" : "Validno do %s",
- "mail" : "pošta",
- "Execute one task with each page loaded" : "Izvrši jedan zadatak sa svakom učitanom stranicom",
- "Expire after " : "Istek nakon",
- "days" : "dana",
- "Allow users to share via link" : "Dozvoli korisnicima dijeljenje putem veze"
-},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
-} \ No newline at end of file
diff --git a/apps/settings/l10n/ca.js b/apps/settings/l10n/ca.js
index 78317fdb107..d4678e33631 100644
--- a/apps/settings/l10n/ca.js
+++ b/apps/settings/l10n/ca.js
@@ -294,7 +294,6 @@ OC.L10N.register(
"HTTP headers" : "Capçaleres HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- La capçalera HTTP `%1$s` no està configurada en `%2$s`. És possible que algunes funcions no funcionin correctament, ja que es recomana ajustar aquesta configuració en conseqüència.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- La capçalera HTTP `%1$s` no està configurada en `%2$s`. Aquest és un risc potencial de seguretat o privadesa, ja que es recomana ajustar aquesta configuració en conseqüència.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- La capçalera HTTP `%1$s` no conté `%2$s`. Aquest és un risc potencial de seguretat o privadesa, ja que es recomana ajustar aquesta configuració en conseqüència.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- La capçalera HTTP `%1$s` no està configurada a `%2$s`, `%3$s`, `%4$s`, `%5$s` o `%6$s`. Això pot filtrar informació de referència. Vegeu la {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- La capçalera HTTP `Strict-Transport-Security` no està configurada com a mínim en `%d` segons (valor actual: `%d`). Per millorar la seguretat, es recomana utilitzar una política HSTS llarga.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- La capçalera HTTP `Strict-Transport-Security` té un format incorrecte: `%s`. Per millorar la seguretat, es recomana activar HSTS.",
@@ -438,97 +437,6 @@ OC.L10N.register(
"Could not load section content from app store." : "No s'ha pogut carregar el contingut de la secció del magatzem d'aplicacions.",
"Loading" : "S'està carregant",
"Fetching the latest news…" : "Recollint les darreres notícies…",
- "Carousel" : "Carrusel",
- "Previous slide" : "Diapositiva anterior",
- "Next slide" : "Diapositiva següent",
- "Choose slide to display" : "Trieu la diapositiva per mostrar",
- "{index} of {total}" : "{index} de {total}",
- "Daemon" : "Dimoni",
- "Deploy Daemon" : "Desplega Dimoni",
- "Type" : "Tipus",
- "Display Name" : "Nom d'usuari",
- "GPUs support" : "Suport de GPU",
- "Compute device" : "Dispositiu de computació",
- "Advanced deploy options" : "Opcions de desplegament avançades",
- "Edit ExApp deploy options before installation" : "Editeu les opcions de desplegament d'ExApp abans de la instal·lació",
- "Configured ExApp deploy options. Can be set only during installation" : "Opcions de desplegament d'ExApp configurades. Només es pot configurar durant la instal·lació",
- "Learn more" : "Més informació",
- "Environment variables" : "Variables d'entorn",
- "ExApp container environment variables" : "Variables d'entorn del contenidor ExApp",
- "No environment variables defined" : "No s'han definit variables d'entorn",
- "Mounts" : "Munts",
- "Define host folder mounts to bind to the ExApp container" : "Definiu els muntatges de carpetes host per vincular-los al contenidor ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Ha d'existir al servidor del dimoni Deploy abans d'instal·lar l'ExApp",
- "Host path" : "Camí del servidor",
- "Container path" : "Camí del contenidor",
- "Read-only" : "Només lectura",
- "Remove mount" : "Suprimir el muntatge",
- "New mount" : "Muntatge nou",
- "Enter path to host folder" : "Introduïu el camí a la carpeta servidora",
- "Enter path to container folder" : "Introduïu el camí a la carpeta contenidora",
- "Toggle read-only mode" : "Commuta el mode de només lectura",
- "Confirm adding new mount" : "Confirmeu l'addició d'un muntatge nou",
- "Confirm" : "Confirma",
- "Cancel adding mount" : "Cancel·la l'addició de muntatge",
- "Cancel" : "Cancel·la",
- "Add mount" : "Afegeix muntatge",
- "ExApp container mounts" : "Muntatge de contenidors ExApp",
- "No mounts defined" : "No s'han definit muntatges",
- "Description" : "Descripció",
- "View in store" : "Mostra-ho al magatzem",
- "Visit website" : "Visita el lloc web",
- "Usage documentation" : "Documentació d'ús",
- "Admin documentation" : "Documentació per a administradors",
- "Developer documentation" : "Documentació per a desenvolupadors",
- "Details" : "Detalls",
- "All" : "Tots",
- "Limit app usage to groups" : "Limita l’ús de l’aplicació als grups",
- "No results" : "No hi ha resultats",
- "Update to {version}" : "Actualitza a {version}",
- "Deploy options" : "Opcions de desplegament",
- "Default Deploy daemon is not accessible" : "El dimoni de desplegament per defecte no és accessible",
- "Delete data on remove" : "Suprimir dades en eliminar",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Aquesta aplicació no té cap versió mínima de Nextcloud assignada. Això serà un error en el futur.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Aquesta aplicació no té cap versió màxima de Nextcloud assignada. Això serà un error en el futur.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Aquesta aplicació no es pot instal·lar perquè les següents dependències no es compleixen:",
- "Latest updated" : "Darrera actualització",
- "Author" : "Autor/a",
- "Categories" : "Categories",
- "Resources" : "Recursos",
- "Documentation" : "Documentació",
- "Interact" : "Interactuar",
- "Report a bug" : "Informa d'un error",
- "Request feature" : "Sol·licitud de característica",
- "Ask questions or discuss" : "Fer preguntes o debatre",
- "Rate the app" : "Valoreu l'aplicació",
- "Rate" : "Puntua",
- "Changelog" : "Registre de canvis",
- "Google Chrome for Android" : "Google Chrome per a Android",
- "{productName} iOS app" : "Aplicació iOS de {productName}",
- "{productName} Android app" : "Aplicació Android de {productName}",
- "{productName} Talk for iOS" : "Talk for iOS de {productName}",
- "{productName} Talk for Android" : "Talk for Android de {productName}",
- "Sync client" : "Client de sincronització",
- "This session" : "Aquesta sessió",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nom del dispositiu",
- "Cancel renaming" : "Cancel·la el canvi de nom",
- "Save new name" : "Desar el nou nom",
- "Marked for remote wipe" : "Marcat per netejar remotament",
- "Device settings" : "Paràmetres del dispositiu",
- "Allow filesystem access" : "Permet l'accés al sistema de fitxers",
- "Rename" : "Canvia el nom",
- "Revoke" : "Revoca",
- "Wipe device" : "Esborra el dispositiu",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revocar aquest testimoni podria evitar la neteja del dispositiu si encara no ha començat.",
- "Device" : "Dispositiu",
- "Last activity" : "Darrera activitat",
- "Devices & sessions" : "Dispositius i sessions",
- "Web, desktop and mobile clients currently logged in to your account." : "Clients Web, d'escriptori i mòbils connectats actualment al vostre compte.",
- "Error while creating device token" : "S'ha produït un error mentre es creava el testimoni del dispositiu",
- "App name" : "Nom de l'aplicació",
- "Create new app password" : "Crea una nova contrasenya d'aplicació",
"App password copied!" : "S'ha copiat la contrasenya de l'aplicació!",
"Copy app password" : "Copia la contrasenya de l'aplicació",
"Login name copied!" : "S'ha copiat el nom d'inici de sessió!",
@@ -580,198 +488,10 @@ OC.L10N.register(
"Refer to the admin documentation on how to manually also encrypt existing files." : "Consulteu la documentació d'administració sobre com xifrar també manualment els fitxers existents.",
"This is the final warning: Do you really want to enable encryption?" : "Avís final: Realment voleu activar xifratge?",
"Please confirm the group removal" : "Confirmeu l'eliminació del grup",
+ "Cancel" : "Cancel·la",
+ "Confirm" : "Confirma",
"Submit" : "Envia",
"Rename group" : "Canvia el nom del grup",
- "Current password" : "Contrasenya actual",
- "New password" : "Contrasenya nova",
- "Change password" : "Canvia la contrasenya",
- "Choose your profile picture" : "Trieu la vostra imatge de perfil",
- "Please select a valid png or jpg file" : "Seleccioneu un fitxer png o jpg vàlid",
- "Error setting profile picture" : "Error en establir la imatge de perfil",
- "Error cropping profile picture" : "Error en retallar la imatge de perfil",
- "Error saving profile picture" : "Error en desar la imatge de perfil",
- "Error removing profile picture" : "Error en treure la imatge de perfil",
- "Your profile picture" : "La vostra imatge de perfil",
- "Upload profile picture" : "Pujar la imatge de perfil",
- "Choose profile picture from Files" : "Trieu la imatge des de Fitxers",
- "Remove profile picture" : "Treu la imatge de perfil",
- "The file must be a PNG or JPG" : "El fitxer ha de ser PNG o JPG",
- "Picture provided by original account" : "Imatge proporcionada pel compte original",
- "Set as profile picture" : "Estableix com a imatge de perfil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Tingueu en compte que la imatge de perfil pot tardar fins a 24 hores a actualitzar-se a tot arreu.",
- "Your biography. Markdown is supported." : "La teva biografia. S'admet Markdown.",
- "Unable to update date of birth" : "No es pot actualitzar la data de naixement",
- "Enter your date of birth" : "Introduïu la vostra data de naixement",
- "You are using {s}{usage}{/s}" : "Esteu utilitzant {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Esteu utilitzant {s}{usage}{/s} de {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Sou membre dels grups següents:",
- "Your full name" : "El vostre nom complet",
- "Email options" : "Opcions de correu electrònic",
- "Options for additional email address {index}" : "Opcions per a l'adreça de correu electrònic addicional {index}",
- "Remove primary email" : "Treu l'adreça de correu electrònic principal",
- "Delete email" : "Treu l'adreça de correu electrònic",
- "This address is not confirmed" : "Aquesta adreça no està confirmada",
- "Unset as primary email" : "Desactivat com a correu electrònic principal",
- "Set as primary email" : "Estableix com a correu electrònic principal",
- "Additional email address {index}" : "Adreça de correu electrònic addicional {index}",
- "Unable to delete primary email address" : "No es pot suprimir l'adreça de correu electrònic principal",
- "Unable to update primary email address" : "No es pot actualitzar l'adreça de correu electrònic principal",
- "Unable to add additional email address" : "No es pot afegir una adreça de correu electrònic addicional",
- "Unable to update additional email address" : "No es pot actualitzar l'adreça de correu electrònic addicional",
- "Unable to delete additional email address" : "No es pot suprimir l'adreça de correu electrònic addicional",
- "Primary email for password reset and notifications" : "Adreça de correu electrònic principal per a restablir la contrasenya i per a les notificacions",
- "No email address set" : "No s'ha establert cap adreça de correu electrònic",
- "Your handle" : "El teu identificador",
- "Derived from your locale ({weekDayName})" : "Derivat de la vostra configuració regional ({weekDayName})",
- "Unable to update first day of week" : "No es pot actualitzar el primer dia de la setmana",
- "Day to use as the first day of week" : "Dia per utilitzar com a primer dia de la setmana",
- "Your headline" : "El teu titular",
- "Unable to update language" : "No es pot actualitzar la llengua",
- "Languages" : "Llengües",
- "Help translate" : "Ajudeu-nos amb la traducció",
- "No language set" : "No s'ha establert cap idioma",
- "Unable to update locale" : "No es pot actualitzar la configuració local",
- "Locales" : "Localitzacions",
- "Week starts on {firstDayOfWeek}" : "La setmana comença el {firstDayOfWeek}",
- "No locale set" : "No s'ha establert cap configuració local",
- "Your city" : "La teva ciutat",
- "Your organisation" : "La vostra organització",
- "Your phone number" : "El vostre número de telèfon",
- "Edit your Profile visibility" : "Edició de la visibilitat del vostre perfil",
- "Unable to update profile enabled state" : "No es pot actualitzar l'estat d'habilitació del perfil",
- "Enable profile" : "Habilita el perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "El paràmetre més restrictiu de visibilitat o abast es respecta al vostre perfil. Per exemple, si la visibilitat s'estableix a \"Mostra a tothom\" i l'abast s'estableix a \"Privat\", es respectarà \"Privat\".",
- "Unable to update visibility of {displayId}" : "No es pot actualitzar la visibilitat de {displayId}",
- "she/her" : "ella/la",
- "he/him" : "ell/el",
- "they/them" : "ells/elles",
- "Your role" : "El teu rol",
- "Your X (formerly Twitter) handle" : "El vostre identificador X (anteriorment Twitter)",
- "Your website" : "El teu lloc web",
- "Invalid value" : "El valor no és vàlid",
- "Unable to update {property}" : "No es pot actualitzar {property}",
- "No {property} set" : "No hi ha {property} establert",
- "Change scope level of {property}, current scope is {scope}" : "Canvia el nivell d'abast de {property}, l'abast actual és {scope}",
- "Unable to update federation scope of the primary {property}" : "No es pot actualitzar l'àmbit de la federació de la {property} principal",
- "Unable to update federation scope of additional {property}" : "No es pot actualitzar l'àmbit de la federació de {property} addicional",
- "Add additional email" : "Afegeix un correu electrònic addicional",
- "Add" : "Afegeix",
- "Create" : "Crea",
- "Change" : "Canvia",
- "Delete" : "Suprimeix",
- "Reshare" : "Tornar a compartir",
- "Default language" : "Llengua per defecte",
- "Common languages" : "Llengües freqüents",
- "Other languages" : "Altres llengües",
- "Password change is disabled because the master key is disabled" : "El canvi de contrasenya està inhabilitat perquè la clau mestra està desactivada",
- "No accounts" : "Sense comptes",
- "Loading accounts …" : "S'estan carregant els comptes …",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Llista de comptes. Aquesta llista no es presenta completament per motius de rendiment. Els comptes es mostraran mentre navegueu per la llista.",
- "Manager" : "Gestor",
- "Set line manager" : "Estableix el gestor de línia",
- "Account name will be autogenerated" : "El nom del compte es generarà automàticament",
- "Account name (required)" : "Nom del compte (obligatori)",
- "New account" : "Nou compte",
- "Display name" : "Nom per mostrar",
- "Either password or email is required" : "Es requereix una contrasenya o un correu electrònic",
- "Password (required)" : "Contrasenya (obligatori)",
- "Email (required)" : "Correu electrònic (obligatori)",
- "Email" : "Correu electrònic",
- "Member of the following groups (required)" : "Membre dels següents grups (obligatori)",
- "Member of the following groups" : "Membre dels següents grups",
- "Set account groups" : "Establir grups de comptes",
- "Admin of the following groups" : "Administrador dels següents grups",
- "Set account as admin for …" : "Estableix el compte com a administrador de …",
- "Quota" : "Quota",
- "Set account quota" : "Estableix la quota del compte",
- "Language" : "Llengua",
- "Set default language" : "Estableix la llengua predeterminada",
- "Add new account" : "Addició d'un compte nou",
- "_{userCount} account …_::_{userCount} accounts …_" : ["compte de {userCount} …","comptes de {userCount} …"],
- "_{userCount} account_::_{userCount} accounts_" : ["compte de {userCount}","comptes de {userCount}"],
- "Total rows summary" : "Resum de totes les files",
- "Scroll to load more rows" : "Desplaceu-vos per carregar més files",
- "Password or insufficient permissions message" : "Contrasenya o missatge de permisos insuficients",
- "Avatar" : "Avatar",
- "Account name" : "Nom de compte",
- "Group admin for" : "Administrador de grup per",
- "Account backend" : "Rerefons del compte",
- "Storage location" : "Ubicació de l'emmagatzematge",
- "First login" : "Primer inici de sessió",
- "Last login" : "Darrer inici de sessió",
- "Account actions" : "Accions del compte",
- "{size} used" : "{size} en ús",
- "Delete account" : "Suprimeix el compte",
- "Disconnect all devices and delete local data" : "Desconnecteu tots els dispositius i suprimiu les dades locals",
- "Disable account" : "Desactiva el compte",
- "Enable account" : "Habilita el compte",
- "Resend welcome email" : "Torna a enviar el correu electrònic de benvinguda",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "En cas de perdre un dispositiu o sortir de l’organització, es pot esborrar de forma remota les dades del Nextcloud de tots els dispositius associats a {userid}. Només funciona si els dispositius estan connectats a Internet.",
- "Remote wipe of devices" : "Neteja remota de dispositius",
- "Wipe {userid}'s devices" : "Neteja els dispositius de {userid}",
- "Wiped {userid}'s devices" : "S'han esborrat els dispositius de {userid}",
- "Failed to update line manager" : "No s'ha pogut actualitzar el gestor de línia",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Suprimir completament el compte de {userid} inclosos tots els seus fitxers personals, dades d'aplicacions, etc.",
- "Account deletion" : "Supressió del compte",
- "Delete {userid}'s account" : "Suprimir el compte de {userid}",
- "Display name was successfully changed" : "El nom a mostrar s'ha canviat correctament",
- "Password can't be empty" : "La contrasenya no pot estar buida",
- "Password was successfully changed" : "La contrasenya s'ha canviat correctament",
- "Email can't be empty" : "El correu electrònic no pot estar buit",
- "Email was successfully changed" : "El correu electrònic s'ha canviat correctament",
- "Welcome mail sent!" : "S'ha enviat el correu electrònic de benvinguda!",
- "Loading account …" : "S'està carregant el compte …",
- "Change display name" : "Canvia el nom de visualització",
- "Set new password" : "Estableix una contrasenya nova",
- "You do not have permissions to see the details of this account" : "No teniu permís per veure els detalls d'aquest compte",
- "Set new email address" : "Estableix una nova adreça de correu electrònic",
- "Add account to group" : "Afegeix un compte al grup",
- "Set account as admin for" : "Estableix el compte com a administrador de",
- "Select account quota" : "Seleccioneu la quota del compte",
- "Set the language" : "Estableix la llengua",
- "Toggle account actions menu" : "Commuta el menú d'accions del compte",
- "Done" : "Fet",
- "Edit" : "Edició",
- "Account management settings" : "Configuració de gestió del compte",
- "Visibility" : "Visibilitat",
- "Show language" : "Mostra la llengua",
- "Show account backend" : "Mostra el rerefons del compte",
- "Show storage path" : "Mostra el camí del magatzem",
- "Show first login" : "Mostra el primer inici de sessió",
- "Show last login" : "Mostra el darrer inici de sessió",
- "Sorting" : "Ordenació",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "La configuració del sistema força a ordenar els grups per nom. Això també desactiva mostrar el recompte de membres.",
- "Group list sorting" : "Ordenació de llista de grups",
- "By member count" : "Per recompte de membres",
- "By name" : "Nom",
- "Send email" : "Envia el correu electrònic",
- "Send welcome email to new accounts" : "Envieu un correu electrònic de benvinguda als comptes nous",
- "Defaults" : "Valors per defecte",
- "Default quota" : "Quota per defecte",
- "Select default quota" : "Seleccioneu la quota per defecte",
- "Server error while trying to complete WebAuthn device registration" : "Error del servidor mentre s'intentava completar el registre del dispositiu WebAuthn",
- "Passwordless authentication requires a secure connection." : "L'autenticació sense contrasenya necessita una connexió segura.",
- "Add WebAuthn device" : "Afegeix un dispositiu WebAuthn",
- "Please authorize your WebAuthn device." : "Si us plau, autoritzeu el vostre dispositiu WebAuthn.",
- "Adding your device …" : "S'està afegint el vostre dispositiu …",
- "Unnamed device" : "Dispositiu sense nom",
- "Passwordless Authentication" : "Autenticació sense Contrasenya",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configura el teu compte per a l'autenticació sense contrasenya seguint l'estàndard FIDO2.",
- "No devices configured." : "No hi han dispositius configurats.",
- "The following devices are configured for your account:" : "Els següents dispositius estan configurats per al vostre compte:",
- "Your browser does not support WebAuthn." : "El vostre navegador no suporta WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Com a administrador, podeu afinar els ajustaments per compartir fitxers. Si us plau, per més informació llegiu la documentació.",
- "You need to enable the File sharing App." : "Heu d'habilitar l'aplicació per compartir Fitxers.",
- "App Store" : "Magatzem d’aplicacions",
- "Loading app list" : "S'està carregant la llista d'aplicacions",
- "Loading categories" : "Carregant categories",
- "Developer documentation ↗" : "Documentació del desenvolupador ↗",
- "Version {version}, {license}-licensed" : "Versió {version}, amb llicència {license}",
- "Version {version}" : "Versió {version}",
- "All accounts" : "Tots els comptes",
- "Admins" : "Administradors",
- "Account group: {group}" : "Grup de comptes: {group}",
- "Account management" : "Gestió de comptes",
"Sending…" : "S'està enviant…",
"Email sent" : "S'ha enviat el correu electrònic",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Per raons de rendiment, quan s'habilita el xifratge en un servidor Nextcloud només es xifren els fitxers nous i els modificats.",
@@ -781,6 +501,7 @@ OC.L10N.register(
"Date of birth" : "Data de naixement",
"Full name" : "Nom complet",
"Additional email" : "Adreça de correu electrònic addicional",
+ "Email" : "Correu electrònic",
"Fediverse (e.g. Mastodon)" : "Fediverse (p. ex. Mastodon)",
"Headline" : "Titular",
"Organisation" : "Organització",
@@ -790,6 +511,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (abans Twitter)",
"Website" : "Lloc web",
"Profile visibility" : "Visibilitat del perfil",
+ "Language" : "Llengua",
"Locale" : "Configuració regional",
"First day of week" : "Primer dia de la setmana",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "No disponible, ja que aquesta propietat és necessària per a les funcions bàsiques, com ara compartir fitxers i invitacions al calendari",
@@ -807,6 +529,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Mostra només als comptes connectats",
"Hide" : "Amaga",
"Manually installed apps cannot be updated" : "Les aplicacions instal·lades manualment no es poden actualitzar",
+ "Update to {version}" : "Actualitza a {version}",
"{progress}% Deploying …" : "{progress}% Desplegant …",
"{progress}% Initializing …" : "{progress}% S'està inicialitzant …",
"Health checking" : "Control de salut",
@@ -816,6 +539,7 @@ OC.L10N.register(
"Allow untested app" : "Permet l'aplicació no provada",
"The app will be downloaded from the App Store" : "L'aplicació es baixarà des del Magatzem d'aplicacions",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Aquesta aplicació no està marcada com a compatible amb la vostra versió de Nextcloud. Si continueu, encara podreu instal·lar l’aplicació. Tingueu en compte que pot ser que l’aplicació no funcioni correctament.",
+ "{size} used" : "{size} en ús",
"Unknown" : "Desconegut",
"Never" : "Mai",
"Could not register device: Network error" : "No s'ha pogut registrar el dispositiu: error de xarxa",
@@ -834,8 +558,10 @@ OC.L10N.register(
"Could not set group sorting" : "No s'ha pogut establir l'ordenació del grup",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Hi havia massa sol·licituds de la seva xarxa. Reintentar més tard o contactar amb l'administrador si això és un error.",
"Error" : "Error",
+ "Default quota" : "Quota per defecte",
"Account documentation" : "Documentació del compte",
"Administration documentation" : "Documentació administrativa",
+ "Documentation" : "Documentació",
"Forum" : "Fòrum",
"Nextcloud help & privacy resources" : "Recursos d'ajuda i privadesa de Nextcloud",
"General documentation" : "Documentació general",
@@ -858,6 +584,7 @@ OC.L10N.register(
"SMTP Password" : "Contrasenya SMTP",
"Save" : "Desa",
"Test and verify email settings" : "Prova i verifica els paràmetres del correu electrònic",
+ "Send email" : "Envia el correu electrònic",
"Security & setup warnings" : "Avisos de seguretat i configuració",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "És important per a la seguretat i el rendiment de la vostra instància que tot estigui configurat correctament. Per ajudar-vos, fem algunes comprovacions automàtiques. Si us plau, consulteu la documentació enllaçada per obtenir més informació.",
"All checks passed." : "Totes les comprovacions correctes.",
@@ -883,10 +610,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "El límit de memòria PHP està per sota del valor recomanat de %s.",
"for WebAuthn passwordless login" : "per a l'inici de sessió sense contrasenya de WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "per a l'inici de sessió sense contrasenya de WebAuthn i emmagatzematge SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- La capçalera HTTP `%1$s` no conté `%2$s`. Aquest és un risc potencial de seguretat o privadesa, ja que es recomana ajustar aquesta configuració en conseqüència.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "S'ha detectat la versió de PostgreSQL \"%s\". Es recomana PostgreSQL >=12 i <=16 per obtenir el millor rendiment, estabilitat i funcionalitat amb aquesta versió de Nextcloud.",
- "Set default expiration date for shares" : "Estableix la data de caducitat per defecte per comparticions",
- "Your biography" : "La vostra biografia",
- "You are using <strong>{usage}</strong>" : "Esteu utilitzant <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Esteu utilitzant <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Estableix la data de caducitat per defecte per comparticions"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/ca.json b/apps/settings/l10n/ca.json
index 7115c52cd4f..ecff344431b 100644
--- a/apps/settings/l10n/ca.json
+++ b/apps/settings/l10n/ca.json
@@ -292,7 +292,6 @@
"HTTP headers" : "Capçaleres HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- La capçalera HTTP `%1$s` no està configurada en `%2$s`. És possible que algunes funcions no funcionin correctament, ja que es recomana ajustar aquesta configuració en conseqüència.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- La capçalera HTTP `%1$s` no està configurada en `%2$s`. Aquest és un risc potencial de seguretat o privadesa, ja que es recomana ajustar aquesta configuració en conseqüència.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- La capçalera HTTP `%1$s` no conté `%2$s`. Aquest és un risc potencial de seguretat o privadesa, ja que es recomana ajustar aquesta configuració en conseqüència.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- La capçalera HTTP `%1$s` no està configurada a `%2$s`, `%3$s`, `%4$s`, `%5$s` o `%6$s`. Això pot filtrar informació de referència. Vegeu la {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- La capçalera HTTP `Strict-Transport-Security` no està configurada com a mínim en `%d` segons (valor actual: `%d`). Per millorar la seguretat, es recomana utilitzar una política HSTS llarga.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- La capçalera HTTP `Strict-Transport-Security` té un format incorrecte: `%s`. Per millorar la seguretat, es recomana activar HSTS.",
@@ -436,97 +435,6 @@
"Could not load section content from app store." : "No s'ha pogut carregar el contingut de la secció del magatzem d'aplicacions.",
"Loading" : "S'està carregant",
"Fetching the latest news…" : "Recollint les darreres notícies…",
- "Carousel" : "Carrusel",
- "Previous slide" : "Diapositiva anterior",
- "Next slide" : "Diapositiva següent",
- "Choose slide to display" : "Trieu la diapositiva per mostrar",
- "{index} of {total}" : "{index} de {total}",
- "Daemon" : "Dimoni",
- "Deploy Daemon" : "Desplega Dimoni",
- "Type" : "Tipus",
- "Display Name" : "Nom d'usuari",
- "GPUs support" : "Suport de GPU",
- "Compute device" : "Dispositiu de computació",
- "Advanced deploy options" : "Opcions de desplegament avançades",
- "Edit ExApp deploy options before installation" : "Editeu les opcions de desplegament d'ExApp abans de la instal·lació",
- "Configured ExApp deploy options. Can be set only during installation" : "Opcions de desplegament d'ExApp configurades. Només es pot configurar durant la instal·lació",
- "Learn more" : "Més informació",
- "Environment variables" : "Variables d'entorn",
- "ExApp container environment variables" : "Variables d'entorn del contenidor ExApp",
- "No environment variables defined" : "No s'han definit variables d'entorn",
- "Mounts" : "Munts",
- "Define host folder mounts to bind to the ExApp container" : "Definiu els muntatges de carpetes host per vincular-los al contenidor ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Ha d'existir al servidor del dimoni Deploy abans d'instal·lar l'ExApp",
- "Host path" : "Camí del servidor",
- "Container path" : "Camí del contenidor",
- "Read-only" : "Només lectura",
- "Remove mount" : "Suprimir el muntatge",
- "New mount" : "Muntatge nou",
- "Enter path to host folder" : "Introduïu el camí a la carpeta servidora",
- "Enter path to container folder" : "Introduïu el camí a la carpeta contenidora",
- "Toggle read-only mode" : "Commuta el mode de només lectura",
- "Confirm adding new mount" : "Confirmeu l'addició d'un muntatge nou",
- "Confirm" : "Confirma",
- "Cancel adding mount" : "Cancel·la l'addició de muntatge",
- "Cancel" : "Cancel·la",
- "Add mount" : "Afegeix muntatge",
- "ExApp container mounts" : "Muntatge de contenidors ExApp",
- "No mounts defined" : "No s'han definit muntatges",
- "Description" : "Descripció",
- "View in store" : "Mostra-ho al magatzem",
- "Visit website" : "Visita el lloc web",
- "Usage documentation" : "Documentació d'ús",
- "Admin documentation" : "Documentació per a administradors",
- "Developer documentation" : "Documentació per a desenvolupadors",
- "Details" : "Detalls",
- "All" : "Tots",
- "Limit app usage to groups" : "Limita l’ús de l’aplicació als grups",
- "No results" : "No hi ha resultats",
- "Update to {version}" : "Actualitza a {version}",
- "Deploy options" : "Opcions de desplegament",
- "Default Deploy daemon is not accessible" : "El dimoni de desplegament per defecte no és accessible",
- "Delete data on remove" : "Suprimir dades en eliminar",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Aquesta aplicació no té cap versió mínima de Nextcloud assignada. Això serà un error en el futur.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Aquesta aplicació no té cap versió màxima de Nextcloud assignada. Això serà un error en el futur.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Aquesta aplicació no es pot instal·lar perquè les següents dependències no es compleixen:",
- "Latest updated" : "Darrera actualització",
- "Author" : "Autor/a",
- "Categories" : "Categories",
- "Resources" : "Recursos",
- "Documentation" : "Documentació",
- "Interact" : "Interactuar",
- "Report a bug" : "Informa d'un error",
- "Request feature" : "Sol·licitud de característica",
- "Ask questions or discuss" : "Fer preguntes o debatre",
- "Rate the app" : "Valoreu l'aplicació",
- "Rate" : "Puntua",
- "Changelog" : "Registre de canvis",
- "Google Chrome for Android" : "Google Chrome per a Android",
- "{productName} iOS app" : "Aplicació iOS de {productName}",
- "{productName} Android app" : "Aplicació Android de {productName}",
- "{productName} Talk for iOS" : "Talk for iOS de {productName}",
- "{productName} Talk for Android" : "Talk for Android de {productName}",
- "Sync client" : "Client de sincronització",
- "This session" : "Aquesta sessió",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nom del dispositiu",
- "Cancel renaming" : "Cancel·la el canvi de nom",
- "Save new name" : "Desar el nou nom",
- "Marked for remote wipe" : "Marcat per netejar remotament",
- "Device settings" : "Paràmetres del dispositiu",
- "Allow filesystem access" : "Permet l'accés al sistema de fitxers",
- "Rename" : "Canvia el nom",
- "Revoke" : "Revoca",
- "Wipe device" : "Esborra el dispositiu",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revocar aquest testimoni podria evitar la neteja del dispositiu si encara no ha començat.",
- "Device" : "Dispositiu",
- "Last activity" : "Darrera activitat",
- "Devices & sessions" : "Dispositius i sessions",
- "Web, desktop and mobile clients currently logged in to your account." : "Clients Web, d'escriptori i mòbils connectats actualment al vostre compte.",
- "Error while creating device token" : "S'ha produït un error mentre es creava el testimoni del dispositiu",
- "App name" : "Nom de l'aplicació",
- "Create new app password" : "Crea una nova contrasenya d'aplicació",
"App password copied!" : "S'ha copiat la contrasenya de l'aplicació!",
"Copy app password" : "Copia la contrasenya de l'aplicació",
"Login name copied!" : "S'ha copiat el nom d'inici de sessió!",
@@ -578,198 +486,10 @@
"Refer to the admin documentation on how to manually also encrypt existing files." : "Consulteu la documentació d'administració sobre com xifrar també manualment els fitxers existents.",
"This is the final warning: Do you really want to enable encryption?" : "Avís final: Realment voleu activar xifratge?",
"Please confirm the group removal" : "Confirmeu l'eliminació del grup",
+ "Cancel" : "Cancel·la",
+ "Confirm" : "Confirma",
"Submit" : "Envia",
"Rename group" : "Canvia el nom del grup",
- "Current password" : "Contrasenya actual",
- "New password" : "Contrasenya nova",
- "Change password" : "Canvia la contrasenya",
- "Choose your profile picture" : "Trieu la vostra imatge de perfil",
- "Please select a valid png or jpg file" : "Seleccioneu un fitxer png o jpg vàlid",
- "Error setting profile picture" : "Error en establir la imatge de perfil",
- "Error cropping profile picture" : "Error en retallar la imatge de perfil",
- "Error saving profile picture" : "Error en desar la imatge de perfil",
- "Error removing profile picture" : "Error en treure la imatge de perfil",
- "Your profile picture" : "La vostra imatge de perfil",
- "Upload profile picture" : "Pujar la imatge de perfil",
- "Choose profile picture from Files" : "Trieu la imatge des de Fitxers",
- "Remove profile picture" : "Treu la imatge de perfil",
- "The file must be a PNG or JPG" : "El fitxer ha de ser PNG o JPG",
- "Picture provided by original account" : "Imatge proporcionada pel compte original",
- "Set as profile picture" : "Estableix com a imatge de perfil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Tingueu en compte que la imatge de perfil pot tardar fins a 24 hores a actualitzar-se a tot arreu.",
- "Your biography. Markdown is supported." : "La teva biografia. S'admet Markdown.",
- "Unable to update date of birth" : "No es pot actualitzar la data de naixement",
- "Enter your date of birth" : "Introduïu la vostra data de naixement",
- "You are using {s}{usage}{/s}" : "Esteu utilitzant {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Esteu utilitzant {s}{usage}{/s} de {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Sou membre dels grups següents:",
- "Your full name" : "El vostre nom complet",
- "Email options" : "Opcions de correu electrònic",
- "Options for additional email address {index}" : "Opcions per a l'adreça de correu electrònic addicional {index}",
- "Remove primary email" : "Treu l'adreça de correu electrònic principal",
- "Delete email" : "Treu l'adreça de correu electrònic",
- "This address is not confirmed" : "Aquesta adreça no està confirmada",
- "Unset as primary email" : "Desactivat com a correu electrònic principal",
- "Set as primary email" : "Estableix com a correu electrònic principal",
- "Additional email address {index}" : "Adreça de correu electrònic addicional {index}",
- "Unable to delete primary email address" : "No es pot suprimir l'adreça de correu electrònic principal",
- "Unable to update primary email address" : "No es pot actualitzar l'adreça de correu electrònic principal",
- "Unable to add additional email address" : "No es pot afegir una adreça de correu electrònic addicional",
- "Unable to update additional email address" : "No es pot actualitzar l'adreça de correu electrònic addicional",
- "Unable to delete additional email address" : "No es pot suprimir l'adreça de correu electrònic addicional",
- "Primary email for password reset and notifications" : "Adreça de correu electrònic principal per a restablir la contrasenya i per a les notificacions",
- "No email address set" : "No s'ha establert cap adreça de correu electrònic",
- "Your handle" : "El teu identificador",
- "Derived from your locale ({weekDayName})" : "Derivat de la vostra configuració regional ({weekDayName})",
- "Unable to update first day of week" : "No es pot actualitzar el primer dia de la setmana",
- "Day to use as the first day of week" : "Dia per utilitzar com a primer dia de la setmana",
- "Your headline" : "El teu titular",
- "Unable to update language" : "No es pot actualitzar la llengua",
- "Languages" : "Llengües",
- "Help translate" : "Ajudeu-nos amb la traducció",
- "No language set" : "No s'ha establert cap idioma",
- "Unable to update locale" : "No es pot actualitzar la configuració local",
- "Locales" : "Localitzacions",
- "Week starts on {firstDayOfWeek}" : "La setmana comença el {firstDayOfWeek}",
- "No locale set" : "No s'ha establert cap configuració local",
- "Your city" : "La teva ciutat",
- "Your organisation" : "La vostra organització",
- "Your phone number" : "El vostre número de telèfon",
- "Edit your Profile visibility" : "Edició de la visibilitat del vostre perfil",
- "Unable to update profile enabled state" : "No es pot actualitzar l'estat d'habilitació del perfil",
- "Enable profile" : "Habilita el perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "El paràmetre més restrictiu de visibilitat o abast es respecta al vostre perfil. Per exemple, si la visibilitat s'estableix a \"Mostra a tothom\" i l'abast s'estableix a \"Privat\", es respectarà \"Privat\".",
- "Unable to update visibility of {displayId}" : "No es pot actualitzar la visibilitat de {displayId}",
- "she/her" : "ella/la",
- "he/him" : "ell/el",
- "they/them" : "ells/elles",
- "Your role" : "El teu rol",
- "Your X (formerly Twitter) handle" : "El vostre identificador X (anteriorment Twitter)",
- "Your website" : "El teu lloc web",
- "Invalid value" : "El valor no és vàlid",
- "Unable to update {property}" : "No es pot actualitzar {property}",
- "No {property} set" : "No hi ha {property} establert",
- "Change scope level of {property}, current scope is {scope}" : "Canvia el nivell d'abast de {property}, l'abast actual és {scope}",
- "Unable to update federation scope of the primary {property}" : "No es pot actualitzar l'àmbit de la federació de la {property} principal",
- "Unable to update federation scope of additional {property}" : "No es pot actualitzar l'àmbit de la federació de {property} addicional",
- "Add additional email" : "Afegeix un correu electrònic addicional",
- "Add" : "Afegeix",
- "Create" : "Crea",
- "Change" : "Canvia",
- "Delete" : "Suprimeix",
- "Reshare" : "Tornar a compartir",
- "Default language" : "Llengua per defecte",
- "Common languages" : "Llengües freqüents",
- "Other languages" : "Altres llengües",
- "Password change is disabled because the master key is disabled" : "El canvi de contrasenya està inhabilitat perquè la clau mestra està desactivada",
- "No accounts" : "Sense comptes",
- "Loading accounts …" : "S'estan carregant els comptes …",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Llista de comptes. Aquesta llista no es presenta completament per motius de rendiment. Els comptes es mostraran mentre navegueu per la llista.",
- "Manager" : "Gestor",
- "Set line manager" : "Estableix el gestor de línia",
- "Account name will be autogenerated" : "El nom del compte es generarà automàticament",
- "Account name (required)" : "Nom del compte (obligatori)",
- "New account" : "Nou compte",
- "Display name" : "Nom per mostrar",
- "Either password or email is required" : "Es requereix una contrasenya o un correu electrònic",
- "Password (required)" : "Contrasenya (obligatori)",
- "Email (required)" : "Correu electrònic (obligatori)",
- "Email" : "Correu electrònic",
- "Member of the following groups (required)" : "Membre dels següents grups (obligatori)",
- "Member of the following groups" : "Membre dels següents grups",
- "Set account groups" : "Establir grups de comptes",
- "Admin of the following groups" : "Administrador dels següents grups",
- "Set account as admin for …" : "Estableix el compte com a administrador de …",
- "Quota" : "Quota",
- "Set account quota" : "Estableix la quota del compte",
- "Language" : "Llengua",
- "Set default language" : "Estableix la llengua predeterminada",
- "Add new account" : "Addició d'un compte nou",
- "_{userCount} account …_::_{userCount} accounts …_" : ["compte de {userCount} …","comptes de {userCount} …"],
- "_{userCount} account_::_{userCount} accounts_" : ["compte de {userCount}","comptes de {userCount}"],
- "Total rows summary" : "Resum de totes les files",
- "Scroll to load more rows" : "Desplaceu-vos per carregar més files",
- "Password or insufficient permissions message" : "Contrasenya o missatge de permisos insuficients",
- "Avatar" : "Avatar",
- "Account name" : "Nom de compte",
- "Group admin for" : "Administrador de grup per",
- "Account backend" : "Rerefons del compte",
- "Storage location" : "Ubicació de l'emmagatzematge",
- "First login" : "Primer inici de sessió",
- "Last login" : "Darrer inici de sessió",
- "Account actions" : "Accions del compte",
- "{size} used" : "{size} en ús",
- "Delete account" : "Suprimeix el compte",
- "Disconnect all devices and delete local data" : "Desconnecteu tots els dispositius i suprimiu les dades locals",
- "Disable account" : "Desactiva el compte",
- "Enable account" : "Habilita el compte",
- "Resend welcome email" : "Torna a enviar el correu electrònic de benvinguda",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "En cas de perdre un dispositiu o sortir de l’organització, es pot esborrar de forma remota les dades del Nextcloud de tots els dispositius associats a {userid}. Només funciona si els dispositius estan connectats a Internet.",
- "Remote wipe of devices" : "Neteja remota de dispositius",
- "Wipe {userid}'s devices" : "Neteja els dispositius de {userid}",
- "Wiped {userid}'s devices" : "S'han esborrat els dispositius de {userid}",
- "Failed to update line manager" : "No s'ha pogut actualitzar el gestor de línia",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Suprimir completament el compte de {userid} inclosos tots els seus fitxers personals, dades d'aplicacions, etc.",
- "Account deletion" : "Supressió del compte",
- "Delete {userid}'s account" : "Suprimir el compte de {userid}",
- "Display name was successfully changed" : "El nom a mostrar s'ha canviat correctament",
- "Password can't be empty" : "La contrasenya no pot estar buida",
- "Password was successfully changed" : "La contrasenya s'ha canviat correctament",
- "Email can't be empty" : "El correu electrònic no pot estar buit",
- "Email was successfully changed" : "El correu electrònic s'ha canviat correctament",
- "Welcome mail sent!" : "S'ha enviat el correu electrònic de benvinguda!",
- "Loading account …" : "S'està carregant el compte …",
- "Change display name" : "Canvia el nom de visualització",
- "Set new password" : "Estableix una contrasenya nova",
- "You do not have permissions to see the details of this account" : "No teniu permís per veure els detalls d'aquest compte",
- "Set new email address" : "Estableix una nova adreça de correu electrònic",
- "Add account to group" : "Afegeix un compte al grup",
- "Set account as admin for" : "Estableix el compte com a administrador de",
- "Select account quota" : "Seleccioneu la quota del compte",
- "Set the language" : "Estableix la llengua",
- "Toggle account actions menu" : "Commuta el menú d'accions del compte",
- "Done" : "Fet",
- "Edit" : "Edició",
- "Account management settings" : "Configuració de gestió del compte",
- "Visibility" : "Visibilitat",
- "Show language" : "Mostra la llengua",
- "Show account backend" : "Mostra el rerefons del compte",
- "Show storage path" : "Mostra el camí del magatzem",
- "Show first login" : "Mostra el primer inici de sessió",
- "Show last login" : "Mostra el darrer inici de sessió",
- "Sorting" : "Ordenació",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "La configuració del sistema força a ordenar els grups per nom. Això també desactiva mostrar el recompte de membres.",
- "Group list sorting" : "Ordenació de llista de grups",
- "By member count" : "Per recompte de membres",
- "By name" : "Nom",
- "Send email" : "Envia el correu electrònic",
- "Send welcome email to new accounts" : "Envieu un correu electrònic de benvinguda als comptes nous",
- "Defaults" : "Valors per defecte",
- "Default quota" : "Quota per defecte",
- "Select default quota" : "Seleccioneu la quota per defecte",
- "Server error while trying to complete WebAuthn device registration" : "Error del servidor mentre s'intentava completar el registre del dispositiu WebAuthn",
- "Passwordless authentication requires a secure connection." : "L'autenticació sense contrasenya necessita una connexió segura.",
- "Add WebAuthn device" : "Afegeix un dispositiu WebAuthn",
- "Please authorize your WebAuthn device." : "Si us plau, autoritzeu el vostre dispositiu WebAuthn.",
- "Adding your device …" : "S'està afegint el vostre dispositiu …",
- "Unnamed device" : "Dispositiu sense nom",
- "Passwordless Authentication" : "Autenticació sense Contrasenya",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configura el teu compte per a l'autenticació sense contrasenya seguint l'estàndard FIDO2.",
- "No devices configured." : "No hi han dispositius configurats.",
- "The following devices are configured for your account:" : "Els següents dispositius estan configurats per al vostre compte:",
- "Your browser does not support WebAuthn." : "El vostre navegador no suporta WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Com a administrador, podeu afinar els ajustaments per compartir fitxers. Si us plau, per més informació llegiu la documentació.",
- "You need to enable the File sharing App." : "Heu d'habilitar l'aplicació per compartir Fitxers.",
- "App Store" : "Magatzem d’aplicacions",
- "Loading app list" : "S'està carregant la llista d'aplicacions",
- "Loading categories" : "Carregant categories",
- "Developer documentation ↗" : "Documentació del desenvolupador ↗",
- "Version {version}, {license}-licensed" : "Versió {version}, amb llicència {license}",
- "Version {version}" : "Versió {version}",
- "All accounts" : "Tots els comptes",
- "Admins" : "Administradors",
- "Account group: {group}" : "Grup de comptes: {group}",
- "Account management" : "Gestió de comptes",
"Sending…" : "S'està enviant…",
"Email sent" : "S'ha enviat el correu electrònic",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Per raons de rendiment, quan s'habilita el xifratge en un servidor Nextcloud només es xifren els fitxers nous i els modificats.",
@@ -779,6 +499,7 @@
"Date of birth" : "Data de naixement",
"Full name" : "Nom complet",
"Additional email" : "Adreça de correu electrònic addicional",
+ "Email" : "Correu electrònic",
"Fediverse (e.g. Mastodon)" : "Fediverse (p. ex. Mastodon)",
"Headline" : "Titular",
"Organisation" : "Organització",
@@ -788,6 +509,7 @@
"X (formerly Twitter)" : "X (abans Twitter)",
"Website" : "Lloc web",
"Profile visibility" : "Visibilitat del perfil",
+ "Language" : "Llengua",
"Locale" : "Configuració regional",
"First day of week" : "Primer dia de la setmana",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "No disponible, ja que aquesta propietat és necessària per a les funcions bàsiques, com ara compartir fitxers i invitacions al calendari",
@@ -805,6 +527,7 @@
"Show to logged in accounts only" : "Mostra només als comptes connectats",
"Hide" : "Amaga",
"Manually installed apps cannot be updated" : "Les aplicacions instal·lades manualment no es poden actualitzar",
+ "Update to {version}" : "Actualitza a {version}",
"{progress}% Deploying …" : "{progress}% Desplegant …",
"{progress}% Initializing …" : "{progress}% S'està inicialitzant …",
"Health checking" : "Control de salut",
@@ -814,6 +537,7 @@
"Allow untested app" : "Permet l'aplicació no provada",
"The app will be downloaded from the App Store" : "L'aplicació es baixarà des del Magatzem d'aplicacions",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Aquesta aplicació no està marcada com a compatible amb la vostra versió de Nextcloud. Si continueu, encara podreu instal·lar l’aplicació. Tingueu en compte que pot ser que l’aplicació no funcioni correctament.",
+ "{size} used" : "{size} en ús",
"Unknown" : "Desconegut",
"Never" : "Mai",
"Could not register device: Network error" : "No s'ha pogut registrar el dispositiu: error de xarxa",
@@ -832,8 +556,10 @@
"Could not set group sorting" : "No s'ha pogut establir l'ordenació del grup",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Hi havia massa sol·licituds de la seva xarxa. Reintentar més tard o contactar amb l'administrador si això és un error.",
"Error" : "Error",
+ "Default quota" : "Quota per defecte",
"Account documentation" : "Documentació del compte",
"Administration documentation" : "Documentació administrativa",
+ "Documentation" : "Documentació",
"Forum" : "Fòrum",
"Nextcloud help & privacy resources" : "Recursos d'ajuda i privadesa de Nextcloud",
"General documentation" : "Documentació general",
@@ -856,6 +582,7 @@
"SMTP Password" : "Contrasenya SMTP",
"Save" : "Desa",
"Test and verify email settings" : "Prova i verifica els paràmetres del correu electrònic",
+ "Send email" : "Envia el correu electrònic",
"Security & setup warnings" : "Avisos de seguretat i configuració",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "És important per a la seguretat i el rendiment de la vostra instància que tot estigui configurat correctament. Per ajudar-vos, fem algunes comprovacions automàtiques. Si us plau, consulteu la documentació enllaçada per obtenir més informació.",
"All checks passed." : "Totes les comprovacions correctes.",
@@ -881,10 +608,8 @@
"The PHP memory limit is below the recommended value of %s." : "El límit de memòria PHP està per sota del valor recomanat de %s.",
"for WebAuthn passwordless login" : "per a l'inici de sessió sense contrasenya de WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "per a l'inici de sessió sense contrasenya de WebAuthn i emmagatzematge SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- La capçalera HTTP `%1$s` no conté `%2$s`. Aquest és un risc potencial de seguretat o privadesa, ja que es recomana ajustar aquesta configuració en conseqüència.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "S'ha detectat la versió de PostgreSQL \"%s\". Es recomana PostgreSQL >=12 i <=16 per obtenir el millor rendiment, estabilitat i funcionalitat amb aquesta versió de Nextcloud.",
- "Set default expiration date for shares" : "Estableix la data de caducitat per defecte per comparticions",
- "Your biography" : "La vostra biografia",
- "You are using <strong>{usage}</strong>" : "Esteu utilitzant <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Esteu utilitzant <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Estableix la data de caducitat per defecte per comparticions"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/cs.js b/apps/settings/l10n/cs.js
index a39adab6030..3535d03ce18 100644
--- a/apps/settings/l10n/cs.js
+++ b/apps/settings/l10n/cs.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP hlavičky",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- HTTP hlavička `%1$s` není nastavena na `%2$s`. To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP hlavička `%1$s` není nastavena na `%2$s`. To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP hlavička `%1$s` neobsahuje `%2$s`. To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- HTTP hlavička `%1$s` není nastavena na `%2$s`, `%3$s`, `%4$s`, `%5$s` nebo `%6$s`. Kvůli tomu může uniknout referer údaj. Podrobnosti viz {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- HTTP hlavička `Strict-Transport-Security` není nastavena na hodnotu alespoň `%d` sekund (stávající hodnota: `%d`). Pro zlepšení zabezpečení je doporučeno použít dlouhou zásadu HSTS.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- HTTP hlavička `Strict-Transport-Security` HTTP nemá správnou podobu: `%s`. Pro zlepšení zabezpečení je doporučeno zapnout HSTS.",
@@ -447,97 +446,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Nepodařilo se načíst obsah sekce z katalogu aplikací.",
"Loading" : "Načítání",
"Fetching the latest news…" : "Získávání nejnovějších zpráv…",
- "Carousel" : "Kolotoč",
- "Previous slide" : "Předchozí snímek",
- "Next slide" : "Následující snímek",
- "Choose slide to display" : "Zvolte snímek který zobrazit",
- "{index} of {total}" : "{index} z {total}",
- "Daemon" : "Proces služby",
- "Deploy Daemon" : "Nasadit proces služby",
- "Type" : "Typ",
- "Display Name" : "Zobrazované jméno",
- "GPUs support" : "Podpora pro výpočty na GPU",
- "Compute device" : "Výpočetní zařízení",
- "Advanced deploy options" : "Pokročilé předvolby pro nasazení",
- "Edit ExApp deploy options before installation" : "Předvolby nasazení ExApp před instalací",
- "Configured ExApp deploy options. Can be set only during installation" : "Nastavené předvolby nasazení ExAPP. Je možné nastavovat pouze při instalaci",
- "Learn more" : "Zjistit více",
- "Environment variables" : "Proměnné prostředí",
- "ExApp container environment variables" : "Proměnné prostředí pro kontejner s ExApp",
- "No environment variables defined" : "Nedefinovány žádné proměnné prostředí",
- "Mounts" : "Připojení",
- "Define host folder mounts to bind to the ExApp container" : "Definovat připojení hostitelské složky pro napojení na kontejner s ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Je třeba, aby existovalo na hostiteli procesu nasazovací služby ještě před instalací ExApp",
- "Host path" : "Popis umístění hostitele",
- "Container path" : "Popis umístění kontejneru",
- "Read-only" : "Pouze pro čtení",
- "Remove mount" : "Odebrat připojení",
- "New mount" : "Nové připojení",
- "Enter path to host folder" : "Zadejte popis umístění složky hostitele",
- "Enter path to container folder" : "Zadejte popis umístění složky kontejneru",
- "Toggle read-only mode" : "Vyp/zap. režim pouze pro čtení",
- "Confirm adding new mount" : "Potvrďte přidání nového připojení",
- "Confirm" : "Potvrdit",
- "Cancel adding mount" : "Zrušit přidávání připojení",
- "Cancel" : "Storno",
- "Add mount" : "Přidat připojení",
- "ExApp container mounts" : "Připojení kontejneru s ExApp",
- "No mounts defined" : "Nedefinována žádná připojení",
- "Description" : "Popis",
- "View in store" : "Zobrazit v katalogu",
- "Visit website" : "Navštívit webovou stránku",
- "Usage documentation" : "Dokumentace k používání",
- "Admin documentation" : "Dokumentace pro správce",
- "Developer documentation" : "Dokumentace pro vývojáře",
- "Details" : "Podrobnosti",
- "All" : "Vše",
- "Limit app usage to groups" : "Omezit používání aplikace na skupiny",
- "No results" : "Žádné výsledky",
- "Update to {version}" : "Aktualizovat na {version}",
- "Deploy options" : "Předvolby nasazení",
- "Default Deploy daemon is not accessible" : "Výchozí proces služby nasazování není dostupný",
- "Delete data on remove" : "Při odebrání smazat data",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Tato aplikace nemá nastavený žádný požadavek na minimální verzi Nextcloud. To v budoucnu bude hodnoceno jako chyba.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Tato aplikace nemá nastavenou žádnou nejvyšší podporovanou verzi Nextcloud. To v budoucnu bude hodnoceno jako chyba.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Tuto aplikaci nelze nainstalovat, protože nejsou splněny následující závislosti:",
- "Latest updated" : "Naposledy aktualizováno",
- "Author" : "Autor",
- "Categories" : "Kategorie",
- "Resources" : "Prostředky",
- "Documentation" : "Dokumentace",
- "Interact" : "Interakce",
- "Report a bug" : "Nahlásit chybu",
- "Request feature" : "Požádat o přidání funkce",
- "Ask questions or discuss" : "Položit dotaz či diskutovat",
- "Rate the app" : "Ohodnotit aplikaci",
- "Rate" : "Hodnotit",
- "Changelog" : "Souhrn změn",
- "Google Chrome for Android" : "Google Chrome pro Android",
- "{productName} iOS app" : "{productName} aplikace pro iOS",
- "{productName} Android app" : "{productName} aplikace pro Android",
- "{productName} Talk for iOS" : "{productName} Talk pro iOS",
- "{productName} Talk for Android" : "{productName} Talk pro Android",
- "Sync client" : "Synchronizační klient",
- "This session" : "Toto sezení",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Název zařízení",
- "Cancel renaming" : "Zrušit přejmenovávání",
- "Save new name" : "Uložit nový název",
- "Marked for remote wipe" : "Označeno k vymazání obsahu na dálku",
- "Device settings" : "Nastavení zařízení",
- "Allow filesystem access" : "Povolit přístup k souborovému systému",
- "Rename" : "Přejmenovat",
- "Revoke" : "Odvolat",
- "Wipe device" : "Vymazat obsah zařízení",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Odvolání platnosti tohoto tokenu může zabránit vymazání obsahu zařízení, pokud proces vymazání ještě nebyl do teď zahájen.",
- "Device" : "Zařízení",
- "Last activity" : "Poslední aktivita",
- "Devices & sessions" : "Zařízení a sezení",
- "Web, desktop and mobile clients currently logged in to your account." : "Weboví, desktopoví a mobilní klienti aktuálně přihlášení k vašemu účtu.",
- "Error while creating device token" : "Chyba při vytváření tokenu zařízení",
- "App name" : "Název aplikace",
- "Create new app password" : "Vytvořit nové heslo aplikace",
"App password copied!" : "Heslo pro aplikaci zkopírováno!",
"Copy app password" : "Zkopírovat heslo pro aplikaci",
"Login name copied!" : "Přihlašovací jméno zkopírováno!",
@@ -591,203 +499,11 @@ OC.L10N.register(
"Failed to delete group \"{group}\"" : "Nepodařilo se vytvořit skupinu „{group}“",
"Please confirm the group removal" : "Potvrďte odstranění skupiny",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Chystáte se smazat skupinu „{group}“. Účty k ní přiřazené nebudou smazány.",
+ "Cancel" : "Storno",
+ "Confirm" : "Potvrdit",
"Submit" : "Odeslat",
"Rename group" : "Přejmenovat skupinu",
"Delete group" : "Smazat skupinu",
- "Current password" : "Stávající heslo",
- "New password" : "Nové heslo",
- "Change password" : "Změnit heslo",
- "Choose your profile picture" : "Vyberte si svůj profilový obrázek",
- "Please select a valid png or jpg file" : "Vyberte platný png nebo jpg soubor",
- "Error setting profile picture" : "Chyba při nastavování profilového obrázku",
- "Error cropping profile picture" : "Chyba při ořezávání profilového obrázku",
- "Error saving profile picture" : "Chyba při ukládání profilového obrázku",
- "Error removing profile picture" : "Chyba při odebírání profilového obrázku",
- "Your profile picture" : "Váš profilový obrázek",
- "Upload profile picture" : "Nahrát profilový obrázek",
- "Choose profile picture from Files" : "Zvolit profilový obrázek ze Souborů",
- "Remove profile picture" : "Odebrat profilový obrázek",
- "The file must be a PNG or JPG" : "Je třeba, aby soubor by PNG nebo JPG",
- "Picture provided by original account" : "Obrázek poskytovaný původním účtem",
- "Set as profile picture" : "Nastavit jako profilový obrázek",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Mějte na paměti, že může trvat až 24 hodin, než bude váš profilový obrázek aktualizován všude.",
- "Your biography. Markdown is supported." : "Váš životopis. Jsou podporovány Markdown značky.",
- "Unable to update date of birth" : "Nedaří se aktualizovat datum narození",
- "Enter your date of birth" : "Zadejte datum svého narození",
- "You are using {s}{usage}{/s}" : "Využíváte {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Využíváte {s}{usage}{/s} z {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Jste členy následujících skupin:",
- "Your full name" : "Vaše celé jméno",
- "Email options" : "Předvolby e-mailu",
- "Options for additional email address {index}" : "Volby pro dodatečnou e-mailovou adresu {index}",
- "Remove primary email" : "Odebrat hlavní e-mail",
- "Delete email" : "Smazat e-mail",
- "This address is not confirmed" : "Z této adresy jste ještě nepotvrdili ověřovací e-mail",
- "Unset as primary email" : "Zrušeno nastavení coby hlavního e-mailu",
- "Set as primary email" : "Nastavit jako hlavní e-mail",
- "Additional email address {index}" : "Další e-mailová adresa {index}",
- "Unable to delete primary email address" : "Nepodařilo se smazat hlavní e-mailovou adresu",
- "Unable to update primary email address" : "Nepodařilo se aktualizovat hlavní e-mailovou adresu",
- "Unable to add additional email address" : "Nepodařilo se přidat další e-mailovou adresu",
- "Unable to update additional email address" : "Nepodařilo se aktualizovat další e-mailovou adresu",
- "Unable to delete additional email address" : "Nepodařilo se smazat další e-mailovou adresu",
- "Primary email for password reset and notifications" : "Hlavní e-mail pro resetování hesla a oznamování",
- "No email address set" : "E-mailová adresa není nastavena",
- "Your handle" : "Váš identifikátor (handle)",
- "Derived from your locale ({weekDayName})" : "Odvozeno od místních a jazykových nastavení ({weekDayName})",
- "Unable to update first day of week" : "Nepodařilo se zaktualizovat nastavení prvního dne týdne",
- "Day to use as the first day of week" : "Den který používat jako první den týdne",
- "Your headline" : "Váš nadpis",
- "Unable to update language" : "Jazyk se nedaří aktualizovat",
- "Languages" : "Jazyky",
- "Help translate" : "Pomoci s překladem",
- "No language set" : "Není nastaven jazyk",
- "Unable to update locale" : "Nedaří se aktualizovat místní a jazyková nastavení",
- "Locales" : "Místní jazyková nastavení",
- "Week starts on {firstDayOfWeek}" : "Týden začíná {firstDayOfWeek}",
- "No locale set" : "Nenastaveno žádné místní a jazykové nastavení",
- "Your city" : "Město ve kterém/poblíž kterého žijete",
- "Your organisation" : "Vaše organizace",
- "Your phone number" : "Vaše telefonní číslo",
- "Edit your Profile visibility" : "Upravit viditelnost profilu",
- "Unable to update profile enabled state" : "Nedaří se aktualizovat stav zapnutí profilu",
- "Enable profile" : "Zapnout profil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Ohledně vašeho profilu bude respektována to více omezující nastavení – například, pokud je viditelnost nastavená na „Zobrazit všem“ a rozsah je nastavený na „Soukromé“, je respektováno „Soukromé.",
- "Unable to update visibility of {displayId}" : "Nedaří se aktualizovat viditelnost {displayId}",
- "she/her" : "ona/jí",
- "he/him" : "on/jemu",
- "they/them" : "oni/jim",
- "Your role" : "Vaše úloha",
- "Your X (formerly Twitter) handle" : "Vaše přezdívka na X (dříve Twitter)",
- "Your website" : "Vlastní webová stránka",
- "Invalid value" : "Neplatná hodnota",
- "Unable to update {property}" : "Nedaří se aktualizovat {property}",
- "No {property} set" : "Nenastaveno žádné {property}",
- "Change scope level of {property}, current scope is {scope}" : "Změnit stupeň rozsahu {property}, stávající je {scope}",
- "Unable to update federation scope of the primary {property}" : "Nedaří se aktualizovat rozsah federování primární {property}",
- "Unable to update federation scope of additional {property}" : "Nedaří se aktualizovat rozsah federování dodatečné {property}",
- "Add additional email" : "Přidat další e-mail",
- "Add" : "Přidat",
- "Create" : "Vytvořit",
- "Change" : "Změnit",
- "Delete" : "Smazat",
- "Reshare" : "Sdílet dál dalším",
- "Default language" : "Výchozí jazyk",
- "Common languages" : "Běžné jazyky",
- "Other languages" : "Ostatní jazyky",
- "Password change is disabled because the master key is disabled" : "Změna hesla je vypnutá protože je vypnutý hlavní klíč",
- "No accounts" : "Žádné účty",
- "Loading accounts …" : "Načítání účtů…",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Seznam účtů. Není vykreslen celý z důvodu nároků na výkon. Účty budou dokreslovány, jak se budete posouvat seznamem.",
- "Manager" : "Nástroj pro správu",
- "Set line manager" : "Nastavit přímého nadřízeného",
- "Account name will be autogenerated" : "Název účtu bude vytvořen automaticky",
- "Account name (required)" : "Název účtu (vyžadováno)",
- "Failed to search groups" : "Nepodařilo se prohledat skupiny",
- "New account" : "Nový účet",
- "Display name" : "Zobrazované jméno",
- "Either password or email is required" : "Je zapotřebí heslo nebo e-mail",
- "Password (required)" : "Heslo (vyžadováno)",
- "Email (required)" : "E-mail (vyžadováno)",
- "Email" : "E-mail",
- "Member of the following groups (required)" : "Člen následujících skupin (vyžadováno)",
- "Member of the following groups" : "Člen následujících skupin",
- "Set account groups" : "Nastavit skupiny účtu",
- "Admin of the following groups" : "Správce následujících skupin",
- "Set account as admin for …" : "Nastavit účet správce pro…",
- "Quota" : "Kvóta",
- "Set account quota" : "Nastavit kvótu pro účet",
- "Language" : "Jazyk",
- "Set default language" : "Nastavit výchozí jazyk",
- "Add new account" : "Přidat nový účet",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} účet …","{userCount} účty …","{userCount} účtů …","{userCount} účty …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} účet","{userCount} účty","{userCount} účtů","{userCount} účty"],
- "Total rows summary" : "Celkový souhrn řádek",
- "Scroll to load more rows" : "Další řádky načtete posunutím dolů",
- "Password or insufficient permissions message" : "Zpráva o heslu nebo nedostatečném oprávnění",
- "Avatar" : "Profilový obrázek",
- "Account name" : "Název účtu",
- "Group admin for" : "Správce skupiny",
- "Account backend" : "Podpůrná vrstva účtu",
- "Storage location" : "Úložiště dat",
- "First login" : "První přihlášení",
- "Last login" : "Poslední přihlášení",
- "Account actions" : "Akce ohledně účtu",
- "{size} used" : "{size} použito",
- "Delete account" : "Smazat účet",
- "Disconnect all devices and delete local data" : "Odpojit veškerá zařízení a smazat data na nich",
- "Disable account" : "Vypnout účet",
- "Enable account" : "Zapnout účet",
- "Resend welcome email" : "Znovu poslat uvítací e-mail",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "V případě ztráty zařízení, nebo např. odchodu z firmy, toto může vzdáleně vymazat Nextcloud data ze všech zařízení asociovaných s uživatelem {userid}. Funguje jen pokud se zařízení připojí k Internetu.",
- "Remote wipe of devices" : "Vymazat obsah zařízení na dálku",
- "Wipe {userid}'s devices" : "Vymazat obsah ze zařízení uživatele {userid}",
- "Wiped {userid}'s devices" : "Data ze zařízení uživatele {userid} vymazána",
- "Failed to load groups with details" : "Nepodařilo se načíst skupiny s podrobnostmi",
- "Failed to load sub admin groups with details" : "Nepodařilo se načíst skupiny dílčích správců s podrobnostmi",
- "Failed to update line manager" : "Nepodařilo se aktualizovat přímého nadřízeného",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Úplně vymazat účet {userid}, včetně veškerých osobní souborů, dat aplikací, atd.",
- "Account deletion" : "Smazání účtu",
- "Delete {userid}'s account" : "Smazat účet {userid}",
- "Display name was successfully changed" : "Zobrazené jméno bylo úspěšně změněno",
- "Password can't be empty" : "Heslo je třeba vyplnit",
- "Password was successfully changed" : "Heslo bylo úspěšně změněno",
- "Email can't be empty" : "E-mail je třeba vyplnit",
- "Email was successfully changed" : "E-mail byl úspěšně změněn",
- "Welcome mail sent!" : "Uvítací e-mail odeslán!",
- "Loading account …" : "Načítání účtu…",
- "Change display name" : "Změnit zobrazované jméno",
- "Set new password" : "Nastavit nové heslo",
- "You do not have permissions to see the details of this account" : "Nemáte oprávnění zobrazit si podrobností o tomto účtu",
- "Set new email address" : "Nastavit novou e-mailovou adresu",
- "Add account to group" : "Přidat účet do skupiny",
- "Set account as admin for" : "Nastavit účet coby správce pro",
- "Select account quota" : "Vyberte kvótu pro účet",
- "Set the language" : "Nastavit jazyk",
- "Toggle account actions menu" : "Vyp/zap. nabídku akcí účtu",
- "Done" : "Dokončeno",
- "Edit" : "Upravit",
- "Account management settings" : "Nastavení správy uživatelských účtů",
- "Visibility" : "Viditelnost",
- "Show language" : "Zobrazit jazyk",
- "Show account backend" : "Zobrazit podpůrnou vrstvu účtu",
- "Show storage path" : "Zobrazit popis umístění úložiště",
- "Show first login" : "Zobrazit první přihlášení",
- "Show last login" : "Zobrazit poslední přihlášení",
- "Sorting" : "Řazení",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Nastavení systému vynucuje řazení skupin podle názvu. Toto také vypíná zobrazování počtu členů.",
- "Group list sorting" : "Řazení seznamu skupin",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Z výkonnostních důvodů bude řazení uplatněno pouze na v tuto chvíli načtené skupiny. Ty budou načteny jak se budete pohybovat seznamem nebo ho prohledávat.",
- "By member count" : "Podle počtu členů",
- "By name" : "Podle názvu",
- "Send email" : "Odeslat e-mail",
- "Send welcome email to new accounts" : "Novým účtům posílat uvítací e-maily",
- "Defaults" : "Výchozí",
- "Default quota" : "Výchozí kvóta",
- "Select default quota" : "Vybrat výchozí kvótu",
- "Server error while trying to complete WebAuthn device registration" : "Chyba serveru při pokusu o dokončení registrace WebAuthn zařízení",
- "Passwordless authentication requires a secure connection." : "Ověřování se bez hesla vyžaduje zabezpečené připojení.",
- "Add WebAuthn device" : "Přidat WebAuthn zařízení",
- "Please authorize your WebAuthn device." : "Udělte pověření vámi využívanému WebAuthn zařízení.",
- "Adding your device …" : "Přidávání zařízení…",
- "Unnamed device" : "Nepojmenované zařízení",
- "Passwordless Authentication" : "Ověřování se bez zadávání hesla",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Nastavte svůj účet pro využívání ověřování se bez hesla pomocí standardu FIDO2.",
- "No devices configured." : "Není nastavené žádné zařízení.",
- "The following devices are configured for your account:" : "U svého účtu máte nastavená následující zařízení:",
- "Your browser does not support WebAuthn." : "Vámi používaný prohlížeč nepodporuje WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Jako správce můžete upravit chování sdílení. Více informací naleznete v dokumentaci.",
- "You need to enable the File sharing App." : "Je třeba zapnout aplikaci pro sdílení souborů.",
- "App Store" : "Katalog aplikací",
- "Loading app list" : "Načítání seznamu aplikací…",
- "Loading categories" : "Načítání kategorií…",
- "Developer documentation ↗" : "Dokumentace pro vývojáře ↗",
- "Version {version}, {license}-licensed" : "Verze {version}, {license}-licencováno",
- "Version {version}" : "Verze {version}",
- "All accounts" : "Veškeré účty",
- "Admins" : "Správci",
- "Account group: {group}" : "Skupina účtu: {group}",
- "Account management" : "Správa účtů",
"Sending…" : "Odesílání…",
"Email sent" : "E-mail odeslán",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Z výkonových důvodů, pokud zapnete šifrování na Nextcloud serveru, budou šifrovány pouze nové a změněné soubory.",
@@ -797,6 +513,7 @@ OC.L10N.register(
"Date of birth" : "Datum narození",
"Full name" : "Celé jméno",
"Additional email" : "Další e-mail",
+ "Email" : "E-mail",
"Fediverse (e.g. Mastodon)" : "Fediverse (např. Mastodon)",
"Headline" : "Nadpis",
"Organisation" : "Organizace",
@@ -806,6 +523,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (dříve Twitter)",
"Website" : "Webová stránka",
"Profile visibility" : "Viditelnost profilu",
+ "Language" : "Jazyk",
"Locale" : "Místní a jazyková nastavení",
"First day of week" : "První den v týdnu",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Není k dispozici, protože tato vlastnost je vyžadována pro hlavní funkce, včetně sdílení souborů a pozvánek v kalendáři",
@@ -823,6 +541,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Ukázat jen přihlášeným účtům",
"Hide" : "Skrýt",
"Manually installed apps cannot be updated" : "Ručně nainstalované aplikace není možné zaktualizovat",
+ "Update to {version}" : "Aktualizovat na {version}",
"{progress}% Deploying …" : "{progress}% nasazování…",
"{progress}% Initializing …" : "{progress}% inicializace…",
"Health checking" : "Kontrola stavu",
@@ -832,6 +551,7 @@ OC.L10N.register(
"Allow untested app" : "Umožnit nevyzkoušenou aplikaci",
"The app will be downloaded from the App Store" : "Aplikace bude stažena z katalogu aplikací",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Tato aplikace není označena jako kompatibilní s vámi používanou verzí Nexcloud. Pokud budete pokračovat, pořád budete moci aplikaci nainstalovat. Uvědomte si ale, že aplikace nemusí fungovat, jak je očekáváno.",
+ "{size} used" : "{size} použito",
"Unknown" : "Neznámé",
"Never" : "Nikdy",
"Could not register device: Network error" : "Zařízení se nepodařilo zaregistrovat: chyba sítě",
@@ -850,8 +570,10 @@ OC.L10N.register(
"Could not set group sorting" : "Nepodařilo se nastavit řazení skupiny",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Z vaší sítě bylo příliš mnoho požadavků. Zkuste to později nebo (pokud je toto chyba) se obraťte na svého správce.",
"Error" : "Chyba",
+ "Default quota" : "Výchozí kvóta",
"Account documentation" : "Dokumentace k účtům",
"Administration documentation" : "Dokumentace ke správě",
+ "Documentation" : "Dokumentace",
"Forum" : "Diskuzní fórum",
"Nextcloud help & privacy resources" : "Nápověda k Nextcloud a prostředky k soukromí",
"General documentation" : "Obecná dokumentace",
@@ -874,6 +596,7 @@ OC.L10N.register(
"SMTP Password" : "Heslo pro SMTP",
"Save" : "Uložit",
"Test and verify email settings" : "Vyzkoušet a ověřit nastavení e-mailu",
+ "Send email" : "Odeslat e-mail",
"Security & setup warnings" : "Varování ohledně zabezpečení a nastavení",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Pro zabezpečení a optimální výkon instance Nextcloud je důležité, aby vše bylo správně nastaveno. Jako pomoc, instance samotná automaticky ověřuje některá nastavení. Další informace naleznete v odkazované dokumentaci.",
"All checks passed." : "Všechny kontroly dopadly dobře.",
@@ -899,11 +622,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "Limit paměti pro PHP je nastaven na níže než doporučenou hodnotu %s.",
"for WebAuthn passwordless login" : "pro WebAuthn přihlášení bez hesla",
"for WebAuthn passwordless login, and SFTP storage" : "pro WebAuthn přihlášení bez hesla a SFTP úložiště",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP hlavička `%1$s` neobsahuje `%2$s`. To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Zjištěna verze PostgreSQL „%s“. Pro nejlepší výkon, stabilitu a funkčnost s touto verzí Nextcloud je doporučeno PostgreSQL >=12 a <=16.",
- "Set default expiration date for shares" : "Nastavit výchozí datum skončení platnosti pro sdílení",
- "Your biography" : "Váš životopis",
- "You are using <strong>{usage}</strong>" : "Využíváte <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Využíváte <strong>{usage}</strong> z <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Nepodařilo se načíst skupiny dílčích správců s podrobnostmi"
+ "Set default expiration date for shares" : "Nastavit výchozí datum skončení platnosti pro sdílení"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
diff --git a/apps/settings/l10n/cs.json b/apps/settings/l10n/cs.json
index 7f9ab60d49f..69fe3bccbe1 100644
--- a/apps/settings/l10n/cs.json
+++ b/apps/settings/l10n/cs.json
@@ -294,7 +294,6 @@
"HTTP headers" : "HTTP hlavičky",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- HTTP hlavička `%1$s` není nastavena na `%2$s`. To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP hlavička `%1$s` není nastavena na `%2$s`. To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP hlavička `%1$s` neobsahuje `%2$s`. To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- HTTP hlavička `%1$s` není nastavena na `%2$s`, `%3$s`, `%4$s`, `%5$s` nebo `%6$s`. Kvůli tomu může uniknout referer údaj. Podrobnosti viz {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- HTTP hlavička `Strict-Transport-Security` není nastavena na hodnotu alespoň `%d` sekund (stávající hodnota: `%d`). Pro zlepšení zabezpečení je doporučeno použít dlouhou zásadu HSTS.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- HTTP hlavička `Strict-Transport-Security` HTTP nemá správnou podobu: `%s`. Pro zlepšení zabezpečení je doporučeno zapnout HSTS.",
@@ -445,97 +444,6 @@
"Could not load section content from app store." : "Nepodařilo se načíst obsah sekce z katalogu aplikací.",
"Loading" : "Načítání",
"Fetching the latest news…" : "Získávání nejnovějších zpráv…",
- "Carousel" : "Kolotoč",
- "Previous slide" : "Předchozí snímek",
- "Next slide" : "Následující snímek",
- "Choose slide to display" : "Zvolte snímek který zobrazit",
- "{index} of {total}" : "{index} z {total}",
- "Daemon" : "Proces služby",
- "Deploy Daemon" : "Nasadit proces služby",
- "Type" : "Typ",
- "Display Name" : "Zobrazované jméno",
- "GPUs support" : "Podpora pro výpočty na GPU",
- "Compute device" : "Výpočetní zařízení",
- "Advanced deploy options" : "Pokročilé předvolby pro nasazení",
- "Edit ExApp deploy options before installation" : "Předvolby nasazení ExApp před instalací",
- "Configured ExApp deploy options. Can be set only during installation" : "Nastavené předvolby nasazení ExAPP. Je možné nastavovat pouze při instalaci",
- "Learn more" : "Zjistit více",
- "Environment variables" : "Proměnné prostředí",
- "ExApp container environment variables" : "Proměnné prostředí pro kontejner s ExApp",
- "No environment variables defined" : "Nedefinovány žádné proměnné prostředí",
- "Mounts" : "Připojení",
- "Define host folder mounts to bind to the ExApp container" : "Definovat připojení hostitelské složky pro napojení na kontejner s ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Je třeba, aby existovalo na hostiteli procesu nasazovací služby ještě před instalací ExApp",
- "Host path" : "Popis umístění hostitele",
- "Container path" : "Popis umístění kontejneru",
- "Read-only" : "Pouze pro čtení",
- "Remove mount" : "Odebrat připojení",
- "New mount" : "Nové připojení",
- "Enter path to host folder" : "Zadejte popis umístění složky hostitele",
- "Enter path to container folder" : "Zadejte popis umístění složky kontejneru",
- "Toggle read-only mode" : "Vyp/zap. režim pouze pro čtení",
- "Confirm adding new mount" : "Potvrďte přidání nového připojení",
- "Confirm" : "Potvrdit",
- "Cancel adding mount" : "Zrušit přidávání připojení",
- "Cancel" : "Storno",
- "Add mount" : "Přidat připojení",
- "ExApp container mounts" : "Připojení kontejneru s ExApp",
- "No mounts defined" : "Nedefinována žádná připojení",
- "Description" : "Popis",
- "View in store" : "Zobrazit v katalogu",
- "Visit website" : "Navštívit webovou stránku",
- "Usage documentation" : "Dokumentace k používání",
- "Admin documentation" : "Dokumentace pro správce",
- "Developer documentation" : "Dokumentace pro vývojáře",
- "Details" : "Podrobnosti",
- "All" : "Vše",
- "Limit app usage to groups" : "Omezit používání aplikace na skupiny",
- "No results" : "Žádné výsledky",
- "Update to {version}" : "Aktualizovat na {version}",
- "Deploy options" : "Předvolby nasazení",
- "Default Deploy daemon is not accessible" : "Výchozí proces služby nasazování není dostupný",
- "Delete data on remove" : "Při odebrání smazat data",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Tato aplikace nemá nastavený žádný požadavek na minimální verzi Nextcloud. To v budoucnu bude hodnoceno jako chyba.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Tato aplikace nemá nastavenou žádnou nejvyšší podporovanou verzi Nextcloud. To v budoucnu bude hodnoceno jako chyba.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Tuto aplikaci nelze nainstalovat, protože nejsou splněny následující závislosti:",
- "Latest updated" : "Naposledy aktualizováno",
- "Author" : "Autor",
- "Categories" : "Kategorie",
- "Resources" : "Prostředky",
- "Documentation" : "Dokumentace",
- "Interact" : "Interakce",
- "Report a bug" : "Nahlásit chybu",
- "Request feature" : "Požádat o přidání funkce",
- "Ask questions or discuss" : "Položit dotaz či diskutovat",
- "Rate the app" : "Ohodnotit aplikaci",
- "Rate" : "Hodnotit",
- "Changelog" : "Souhrn změn",
- "Google Chrome for Android" : "Google Chrome pro Android",
- "{productName} iOS app" : "{productName} aplikace pro iOS",
- "{productName} Android app" : "{productName} aplikace pro Android",
- "{productName} Talk for iOS" : "{productName} Talk pro iOS",
- "{productName} Talk for Android" : "{productName} Talk pro Android",
- "Sync client" : "Synchronizační klient",
- "This session" : "Toto sezení",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Název zařízení",
- "Cancel renaming" : "Zrušit přejmenovávání",
- "Save new name" : "Uložit nový název",
- "Marked for remote wipe" : "Označeno k vymazání obsahu na dálku",
- "Device settings" : "Nastavení zařízení",
- "Allow filesystem access" : "Povolit přístup k souborovému systému",
- "Rename" : "Přejmenovat",
- "Revoke" : "Odvolat",
- "Wipe device" : "Vymazat obsah zařízení",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Odvolání platnosti tohoto tokenu může zabránit vymazání obsahu zařízení, pokud proces vymazání ještě nebyl do teď zahájen.",
- "Device" : "Zařízení",
- "Last activity" : "Poslední aktivita",
- "Devices & sessions" : "Zařízení a sezení",
- "Web, desktop and mobile clients currently logged in to your account." : "Weboví, desktopoví a mobilní klienti aktuálně přihlášení k vašemu účtu.",
- "Error while creating device token" : "Chyba při vytváření tokenu zařízení",
- "App name" : "Název aplikace",
- "Create new app password" : "Vytvořit nové heslo aplikace",
"App password copied!" : "Heslo pro aplikaci zkopírováno!",
"Copy app password" : "Zkopírovat heslo pro aplikaci",
"Login name copied!" : "Přihlašovací jméno zkopírováno!",
@@ -589,203 +497,11 @@
"Failed to delete group \"{group}\"" : "Nepodařilo se vytvořit skupinu „{group}“",
"Please confirm the group removal" : "Potvrďte odstranění skupiny",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Chystáte se smazat skupinu „{group}“. Účty k ní přiřazené nebudou smazány.",
+ "Cancel" : "Storno",
+ "Confirm" : "Potvrdit",
"Submit" : "Odeslat",
"Rename group" : "Přejmenovat skupinu",
"Delete group" : "Smazat skupinu",
- "Current password" : "Stávající heslo",
- "New password" : "Nové heslo",
- "Change password" : "Změnit heslo",
- "Choose your profile picture" : "Vyberte si svůj profilový obrázek",
- "Please select a valid png or jpg file" : "Vyberte platný png nebo jpg soubor",
- "Error setting profile picture" : "Chyba při nastavování profilového obrázku",
- "Error cropping profile picture" : "Chyba při ořezávání profilového obrázku",
- "Error saving profile picture" : "Chyba při ukládání profilového obrázku",
- "Error removing profile picture" : "Chyba při odebírání profilového obrázku",
- "Your profile picture" : "Váš profilový obrázek",
- "Upload profile picture" : "Nahrát profilový obrázek",
- "Choose profile picture from Files" : "Zvolit profilový obrázek ze Souborů",
- "Remove profile picture" : "Odebrat profilový obrázek",
- "The file must be a PNG or JPG" : "Je třeba, aby soubor by PNG nebo JPG",
- "Picture provided by original account" : "Obrázek poskytovaný původním účtem",
- "Set as profile picture" : "Nastavit jako profilový obrázek",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Mějte na paměti, že může trvat až 24 hodin, než bude váš profilový obrázek aktualizován všude.",
- "Your biography. Markdown is supported." : "Váš životopis. Jsou podporovány Markdown značky.",
- "Unable to update date of birth" : "Nedaří se aktualizovat datum narození",
- "Enter your date of birth" : "Zadejte datum svého narození",
- "You are using {s}{usage}{/s}" : "Využíváte {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Využíváte {s}{usage}{/s} z {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Jste členy následujících skupin:",
- "Your full name" : "Vaše celé jméno",
- "Email options" : "Předvolby e-mailu",
- "Options for additional email address {index}" : "Volby pro dodatečnou e-mailovou adresu {index}",
- "Remove primary email" : "Odebrat hlavní e-mail",
- "Delete email" : "Smazat e-mail",
- "This address is not confirmed" : "Z této adresy jste ještě nepotvrdili ověřovací e-mail",
- "Unset as primary email" : "Zrušeno nastavení coby hlavního e-mailu",
- "Set as primary email" : "Nastavit jako hlavní e-mail",
- "Additional email address {index}" : "Další e-mailová adresa {index}",
- "Unable to delete primary email address" : "Nepodařilo se smazat hlavní e-mailovou adresu",
- "Unable to update primary email address" : "Nepodařilo se aktualizovat hlavní e-mailovou adresu",
- "Unable to add additional email address" : "Nepodařilo se přidat další e-mailovou adresu",
- "Unable to update additional email address" : "Nepodařilo se aktualizovat další e-mailovou adresu",
- "Unable to delete additional email address" : "Nepodařilo se smazat další e-mailovou adresu",
- "Primary email for password reset and notifications" : "Hlavní e-mail pro resetování hesla a oznamování",
- "No email address set" : "E-mailová adresa není nastavena",
- "Your handle" : "Váš identifikátor (handle)",
- "Derived from your locale ({weekDayName})" : "Odvozeno od místních a jazykových nastavení ({weekDayName})",
- "Unable to update first day of week" : "Nepodařilo se zaktualizovat nastavení prvního dne týdne",
- "Day to use as the first day of week" : "Den který používat jako první den týdne",
- "Your headline" : "Váš nadpis",
- "Unable to update language" : "Jazyk se nedaří aktualizovat",
- "Languages" : "Jazyky",
- "Help translate" : "Pomoci s překladem",
- "No language set" : "Není nastaven jazyk",
- "Unable to update locale" : "Nedaří se aktualizovat místní a jazyková nastavení",
- "Locales" : "Místní jazyková nastavení",
- "Week starts on {firstDayOfWeek}" : "Týden začíná {firstDayOfWeek}",
- "No locale set" : "Nenastaveno žádné místní a jazykové nastavení",
- "Your city" : "Město ve kterém/poblíž kterého žijete",
- "Your organisation" : "Vaše organizace",
- "Your phone number" : "Vaše telefonní číslo",
- "Edit your Profile visibility" : "Upravit viditelnost profilu",
- "Unable to update profile enabled state" : "Nedaří se aktualizovat stav zapnutí profilu",
- "Enable profile" : "Zapnout profil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Ohledně vašeho profilu bude respektována to více omezující nastavení – například, pokud je viditelnost nastavená na „Zobrazit všem“ a rozsah je nastavený na „Soukromé“, je respektováno „Soukromé.",
- "Unable to update visibility of {displayId}" : "Nedaří se aktualizovat viditelnost {displayId}",
- "she/her" : "ona/jí",
- "he/him" : "on/jemu",
- "they/them" : "oni/jim",
- "Your role" : "Vaše úloha",
- "Your X (formerly Twitter) handle" : "Vaše přezdívka na X (dříve Twitter)",
- "Your website" : "Vlastní webová stránka",
- "Invalid value" : "Neplatná hodnota",
- "Unable to update {property}" : "Nedaří se aktualizovat {property}",
- "No {property} set" : "Nenastaveno žádné {property}",
- "Change scope level of {property}, current scope is {scope}" : "Změnit stupeň rozsahu {property}, stávající je {scope}",
- "Unable to update federation scope of the primary {property}" : "Nedaří se aktualizovat rozsah federování primární {property}",
- "Unable to update federation scope of additional {property}" : "Nedaří se aktualizovat rozsah federování dodatečné {property}",
- "Add additional email" : "Přidat další e-mail",
- "Add" : "Přidat",
- "Create" : "Vytvořit",
- "Change" : "Změnit",
- "Delete" : "Smazat",
- "Reshare" : "Sdílet dál dalším",
- "Default language" : "Výchozí jazyk",
- "Common languages" : "Běžné jazyky",
- "Other languages" : "Ostatní jazyky",
- "Password change is disabled because the master key is disabled" : "Změna hesla je vypnutá protože je vypnutý hlavní klíč",
- "No accounts" : "Žádné účty",
- "Loading accounts …" : "Načítání účtů…",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Seznam účtů. Není vykreslen celý z důvodu nároků na výkon. Účty budou dokreslovány, jak se budete posouvat seznamem.",
- "Manager" : "Nástroj pro správu",
- "Set line manager" : "Nastavit přímého nadřízeného",
- "Account name will be autogenerated" : "Název účtu bude vytvořen automaticky",
- "Account name (required)" : "Název účtu (vyžadováno)",
- "Failed to search groups" : "Nepodařilo se prohledat skupiny",
- "New account" : "Nový účet",
- "Display name" : "Zobrazované jméno",
- "Either password or email is required" : "Je zapotřebí heslo nebo e-mail",
- "Password (required)" : "Heslo (vyžadováno)",
- "Email (required)" : "E-mail (vyžadováno)",
- "Email" : "E-mail",
- "Member of the following groups (required)" : "Člen následujících skupin (vyžadováno)",
- "Member of the following groups" : "Člen následujících skupin",
- "Set account groups" : "Nastavit skupiny účtu",
- "Admin of the following groups" : "Správce následujících skupin",
- "Set account as admin for …" : "Nastavit účet správce pro…",
- "Quota" : "Kvóta",
- "Set account quota" : "Nastavit kvótu pro účet",
- "Language" : "Jazyk",
- "Set default language" : "Nastavit výchozí jazyk",
- "Add new account" : "Přidat nový účet",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} účet …","{userCount} účty …","{userCount} účtů …","{userCount} účty …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} účet","{userCount} účty","{userCount} účtů","{userCount} účty"],
- "Total rows summary" : "Celkový souhrn řádek",
- "Scroll to load more rows" : "Další řádky načtete posunutím dolů",
- "Password or insufficient permissions message" : "Zpráva o heslu nebo nedostatečném oprávnění",
- "Avatar" : "Profilový obrázek",
- "Account name" : "Název účtu",
- "Group admin for" : "Správce skupiny",
- "Account backend" : "Podpůrná vrstva účtu",
- "Storage location" : "Úložiště dat",
- "First login" : "První přihlášení",
- "Last login" : "Poslední přihlášení",
- "Account actions" : "Akce ohledně účtu",
- "{size} used" : "{size} použito",
- "Delete account" : "Smazat účet",
- "Disconnect all devices and delete local data" : "Odpojit veškerá zařízení a smazat data na nich",
- "Disable account" : "Vypnout účet",
- "Enable account" : "Zapnout účet",
- "Resend welcome email" : "Znovu poslat uvítací e-mail",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "V případě ztráty zařízení, nebo např. odchodu z firmy, toto může vzdáleně vymazat Nextcloud data ze všech zařízení asociovaných s uživatelem {userid}. Funguje jen pokud se zařízení připojí k Internetu.",
- "Remote wipe of devices" : "Vymazat obsah zařízení na dálku",
- "Wipe {userid}'s devices" : "Vymazat obsah ze zařízení uživatele {userid}",
- "Wiped {userid}'s devices" : "Data ze zařízení uživatele {userid} vymazána",
- "Failed to load groups with details" : "Nepodařilo se načíst skupiny s podrobnostmi",
- "Failed to load sub admin groups with details" : "Nepodařilo se načíst skupiny dílčích správců s podrobnostmi",
- "Failed to update line manager" : "Nepodařilo se aktualizovat přímého nadřízeného",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Úplně vymazat účet {userid}, včetně veškerých osobní souborů, dat aplikací, atd.",
- "Account deletion" : "Smazání účtu",
- "Delete {userid}'s account" : "Smazat účet {userid}",
- "Display name was successfully changed" : "Zobrazené jméno bylo úspěšně změněno",
- "Password can't be empty" : "Heslo je třeba vyplnit",
- "Password was successfully changed" : "Heslo bylo úspěšně změněno",
- "Email can't be empty" : "E-mail je třeba vyplnit",
- "Email was successfully changed" : "E-mail byl úspěšně změněn",
- "Welcome mail sent!" : "Uvítací e-mail odeslán!",
- "Loading account …" : "Načítání účtu…",
- "Change display name" : "Změnit zobrazované jméno",
- "Set new password" : "Nastavit nové heslo",
- "You do not have permissions to see the details of this account" : "Nemáte oprávnění zobrazit si podrobností o tomto účtu",
- "Set new email address" : "Nastavit novou e-mailovou adresu",
- "Add account to group" : "Přidat účet do skupiny",
- "Set account as admin for" : "Nastavit účet coby správce pro",
- "Select account quota" : "Vyberte kvótu pro účet",
- "Set the language" : "Nastavit jazyk",
- "Toggle account actions menu" : "Vyp/zap. nabídku akcí účtu",
- "Done" : "Dokončeno",
- "Edit" : "Upravit",
- "Account management settings" : "Nastavení správy uživatelských účtů",
- "Visibility" : "Viditelnost",
- "Show language" : "Zobrazit jazyk",
- "Show account backend" : "Zobrazit podpůrnou vrstvu účtu",
- "Show storage path" : "Zobrazit popis umístění úložiště",
- "Show first login" : "Zobrazit první přihlášení",
- "Show last login" : "Zobrazit poslední přihlášení",
- "Sorting" : "Řazení",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Nastavení systému vynucuje řazení skupin podle názvu. Toto také vypíná zobrazování počtu členů.",
- "Group list sorting" : "Řazení seznamu skupin",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Z výkonnostních důvodů bude řazení uplatněno pouze na v tuto chvíli načtené skupiny. Ty budou načteny jak se budete pohybovat seznamem nebo ho prohledávat.",
- "By member count" : "Podle počtu členů",
- "By name" : "Podle názvu",
- "Send email" : "Odeslat e-mail",
- "Send welcome email to new accounts" : "Novým účtům posílat uvítací e-maily",
- "Defaults" : "Výchozí",
- "Default quota" : "Výchozí kvóta",
- "Select default quota" : "Vybrat výchozí kvótu",
- "Server error while trying to complete WebAuthn device registration" : "Chyba serveru při pokusu o dokončení registrace WebAuthn zařízení",
- "Passwordless authentication requires a secure connection." : "Ověřování se bez hesla vyžaduje zabezpečené připojení.",
- "Add WebAuthn device" : "Přidat WebAuthn zařízení",
- "Please authorize your WebAuthn device." : "Udělte pověření vámi využívanému WebAuthn zařízení.",
- "Adding your device …" : "Přidávání zařízení…",
- "Unnamed device" : "Nepojmenované zařízení",
- "Passwordless Authentication" : "Ověřování se bez zadávání hesla",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Nastavte svůj účet pro využívání ověřování se bez hesla pomocí standardu FIDO2.",
- "No devices configured." : "Není nastavené žádné zařízení.",
- "The following devices are configured for your account:" : "U svého účtu máte nastavená následující zařízení:",
- "Your browser does not support WebAuthn." : "Vámi používaný prohlížeč nepodporuje WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Jako správce můžete upravit chování sdílení. Více informací naleznete v dokumentaci.",
- "You need to enable the File sharing App." : "Je třeba zapnout aplikaci pro sdílení souborů.",
- "App Store" : "Katalog aplikací",
- "Loading app list" : "Načítání seznamu aplikací…",
- "Loading categories" : "Načítání kategorií…",
- "Developer documentation ↗" : "Dokumentace pro vývojáře ↗",
- "Version {version}, {license}-licensed" : "Verze {version}, {license}-licencováno",
- "Version {version}" : "Verze {version}",
- "All accounts" : "Veškeré účty",
- "Admins" : "Správci",
- "Account group: {group}" : "Skupina účtu: {group}",
- "Account management" : "Správa účtů",
"Sending…" : "Odesílání…",
"Email sent" : "E-mail odeslán",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Z výkonových důvodů, pokud zapnete šifrování na Nextcloud serveru, budou šifrovány pouze nové a změněné soubory.",
@@ -795,6 +511,7 @@
"Date of birth" : "Datum narození",
"Full name" : "Celé jméno",
"Additional email" : "Další e-mail",
+ "Email" : "E-mail",
"Fediverse (e.g. Mastodon)" : "Fediverse (např. Mastodon)",
"Headline" : "Nadpis",
"Organisation" : "Organizace",
@@ -804,6 +521,7 @@
"X (formerly Twitter)" : "X (dříve Twitter)",
"Website" : "Webová stránka",
"Profile visibility" : "Viditelnost profilu",
+ "Language" : "Jazyk",
"Locale" : "Místní a jazyková nastavení",
"First day of week" : "První den v týdnu",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Není k dispozici, protože tato vlastnost je vyžadována pro hlavní funkce, včetně sdílení souborů a pozvánek v kalendáři",
@@ -821,6 +539,7 @@
"Show to logged in accounts only" : "Ukázat jen přihlášeným účtům",
"Hide" : "Skrýt",
"Manually installed apps cannot be updated" : "Ručně nainstalované aplikace není možné zaktualizovat",
+ "Update to {version}" : "Aktualizovat na {version}",
"{progress}% Deploying …" : "{progress}% nasazování…",
"{progress}% Initializing …" : "{progress}% inicializace…",
"Health checking" : "Kontrola stavu",
@@ -830,6 +549,7 @@
"Allow untested app" : "Umožnit nevyzkoušenou aplikaci",
"The app will be downloaded from the App Store" : "Aplikace bude stažena z katalogu aplikací",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Tato aplikace není označena jako kompatibilní s vámi používanou verzí Nexcloud. Pokud budete pokračovat, pořád budete moci aplikaci nainstalovat. Uvědomte si ale, že aplikace nemusí fungovat, jak je očekáváno.",
+ "{size} used" : "{size} použito",
"Unknown" : "Neznámé",
"Never" : "Nikdy",
"Could not register device: Network error" : "Zařízení se nepodařilo zaregistrovat: chyba sítě",
@@ -848,8 +568,10 @@
"Could not set group sorting" : "Nepodařilo se nastavit řazení skupiny",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Z vaší sítě bylo příliš mnoho požadavků. Zkuste to později nebo (pokud je toto chyba) se obraťte na svého správce.",
"Error" : "Chyba",
+ "Default quota" : "Výchozí kvóta",
"Account documentation" : "Dokumentace k účtům",
"Administration documentation" : "Dokumentace ke správě",
+ "Documentation" : "Dokumentace",
"Forum" : "Diskuzní fórum",
"Nextcloud help & privacy resources" : "Nápověda k Nextcloud a prostředky k soukromí",
"General documentation" : "Obecná dokumentace",
@@ -872,6 +594,7 @@
"SMTP Password" : "Heslo pro SMTP",
"Save" : "Uložit",
"Test and verify email settings" : "Vyzkoušet a ověřit nastavení e-mailu",
+ "Send email" : "Odeslat e-mail",
"Security & setup warnings" : "Varování ohledně zabezpečení a nastavení",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Pro zabezpečení a optimální výkon instance Nextcloud je důležité, aby vše bylo správně nastaveno. Jako pomoc, instance samotná automaticky ověřuje některá nastavení. Další informace naleznete v odkazované dokumentaci.",
"All checks passed." : "Všechny kontroly dopadly dobře.",
@@ -897,11 +620,8 @@
"The PHP memory limit is below the recommended value of %s." : "Limit paměti pro PHP je nastaven na níže než doporučenou hodnotu %s.",
"for WebAuthn passwordless login" : "pro WebAuthn přihlášení bez hesla",
"for WebAuthn passwordless login, and SFTP storage" : "pro WebAuthn přihlášení bez hesla a SFTP úložiště",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP hlavička `%1$s` neobsahuje `%2$s`. To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Zjištěna verze PostgreSQL „%s“. Pro nejlepší výkon, stabilitu a funkčnost s touto verzí Nextcloud je doporučeno PostgreSQL >=12 a <=16.",
- "Set default expiration date for shares" : "Nastavit výchozí datum skončení platnosti pro sdílení",
- "Your biography" : "Váš životopis",
- "You are using <strong>{usage}</strong>" : "Využíváte <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Využíváte <strong>{usage}</strong> z <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Nepodařilo se načíst skupiny dílčích správců s podrobnostmi"
+ "Set default expiration date for shares" : "Nastavit výchozí datum skončení platnosti pro sdílení"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/da.js b/apps/settings/l10n/da.js
index 88519c24316..c897036afbd 100644
--- a/apps/settings/l10n/da.js
+++ b/apps/settings/l10n/da.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP headere",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- The ' %1$s' HTTP- header er ikke indstillet til ' %2$s'. Nogle funktioner virker måske ikke korrekt, da det anbefales at justere denne indstilling i overensstemmelse hermed.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- The ' %1$s' HTTP- header er ikke indstillet til ' %2$s'. Dette er en potentiel sikkerheds- eller fortrolighedsrisiko, da det anbefales at justere denne indstilling i overensstemmelse hermed.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP- headeren ' %1$s' indeholder ikke ' %2$s'. Dette er en potentiel sikkerheds- eller fortrolighedsrisiko, da det anbefales at justere denne indstilling i overensstemmelse hermed.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- `%1$s` HTTP header er ikke indstillet til `%2$s`, `%3$s`, `%4$s`, `%5$s` eller `%6$s`. Dette kan lække reference information. Se mere {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- The 'Strict-Transport-Security' HTTP- header er ikke indstillet til mindst '%d' sekunder (aktuel værdi: '%d'). For øget sikkerhed, anbefales det at bruge en lang HSTS politik.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- The 'Strict-Transport-Security' HTTP- header er misdannet: '%s'. For øget sikkerhed anbefales det at aktivere HSTS.",
@@ -443,97 +442,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Kunne ikke hente det valgte indhold fra app store.",
"Loading" : "Loader",
"Fetching the latest news…" : "Henter seneste nyt...",
- "Carousel" : "Karrusel",
- "Previous slide" : "Forrige slide",
- "Next slide" : "Næste slide",
- "Choose slide to display" : "Vælg slide til visning",
- "{index} of {total}" : "{index} ud af {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Implementer Daemon",
- "Type" : "Type",
- "Display Name" : "Vist navn",
- "GPUs support" : "GPUs understøttelse",
- "Compute device" : "Beregningsapparat",
- "Advanced deploy options" : "Avancerede implementeringsmuligheder",
- "Edit ExApp deploy options before installation" : "Rediger ExApp implementeringsindstillinger før installation",
- "Configured ExApp deploy options. Can be set only during installation" : "Konfigurerede ExApp implementeringsmuligheder. Kan kun indstilles under installationen",
- "Learn more" : "Lær mere",
- "Environment variables" : "Miljøvariabler",
- "ExApp container environment variables" : "ExApp container miljøvariabler",
- "No environment variables defined" : "Ingen miljøvariabler defineret",
- "Mounts" : "Monteringer",
- "Define host folder mounts to bind to the ExApp container" : "Definer værtsmappemonteringer for at binde til ExApp beholderen",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Skal eksistere på Deploy daemon værten, før installation af ExApp",
- "Host path" : "Host stien",
- "Container path" : "Beholderstien",
- "Read-only" : "Skrivebeskyttet",
- "Remove mount" : "Fjern montering",
- "New mount" : "Ny montering",
- "Enter path to host folder" : "Indtast stien til host mappen",
- "Enter path to container folder" : "Indtast stien til beholdermappen",
- "Toggle read-only mode" : "Skift skrivebeskyttet tilstand",
- "Confirm adding new mount" : "Bekræft tilføjelse af ny montering",
- "Confirm" : "Bekræft",
- "Cancel adding mount" : "Annuller tilføjelse af montering",
- "Cancel" : "Annuller",
- "Add mount" : "Tilføj montering",
- "ExApp container mounts" : "ExApp beholdermonteringer",
- "No mounts defined" : "Der er ikke defineret nogen monteringer",
- "Description" : "Beskrivelse",
- "View in store" : "Se i butik",
- "Visit website" : "Besøg hjemmeside",
- "Usage documentation" : "Anvendelsesdokumentation",
- "Admin documentation" : "Admin-dokumentation",
- "Developer documentation" : "Dokumentation for udviklere",
- "Details" : "Detaljer",
- "All" : "Alle",
- "Limit app usage to groups" : "Begræns appanvendelse til grupper",
- "No results" : "Ingen resultater",
- "Update to {version}" : "Opdateret til {version}",
- "Deploy options" : "Implementeringsmuligheder",
- "Default Deploy daemon is not accessible" : "Standard udrulningsdaemon er ikke tilgængelig",
- "Delete data on remove" : "Slet data ved fjernelse",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Denne app har ikke angivet en minimums understøttet version af Nextcloud. I fremtiden vil dette medføre en fejl.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Denne app har ikke angivet en maksimums understøttet version af Nextcloud. I fremtiden vil dette medføre en fejl.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Dette program kan ikke installeres, da følgende afhængigheder ikke imødekommes:",
- "Latest updated" : "Sidst opdaterede",
- "Author" : "Forfatter",
- "Categories" : "Kategorier",
- "Resources" : "Resourcer",
- "Documentation" : "Dokumentation",
- "Interact" : "Interager",
- "Report a bug" : "Rapporter en fejl",
- "Request feature" : "Foreslå feature",
- "Ask questions or discuss" : "Stil spørgsmål eller diskuter",
- "Rate the app" : "Bedøm appen",
- "Rate" : "Bedøm",
- "Changelog" : "Ændringslog",
- "Google Chrome for Android" : "Google Chrome til Android",
- "{productName} iOS app" : "{productName} iOS app",
- "{productName} Android app" : "{productName} Android app",
- "{productName} Talk for iOS" : "{productName} Snak til iOS",
- "{productName} Talk for Android" : "{productName} Snak til Android",
- "Sync client" : "Synkroniser klient",
- "This session" : "Sessionen",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Enheds navn",
- "Cancel renaming" : "Annuller omdøbning",
- "Save new name" : "Gem nyt navn",
- "Marked for remote wipe" : "Markeret til fjernsletning",
- "Device settings" : "Enhedsindstillinger",
- "Allow filesystem access" : "Tillad filsystem adgang",
- "Rename" : "Omdøb",
- "Revoke" : "Tilbagekald",
- "Wipe device" : "Slet enhed",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Tilbagekaldelse af denne token kan muligvis forhindre sletning af din enhed, hvis sletningen endnu ikke er startet.",
- "Device" : "Enhed",
- "Last activity" : "Sidste aktivitet",
- "Devices & sessions" : "Enheder og sessioner",
- "Web, desktop and mobile clients currently logged in to your account." : "Web, stationære og mobile klienter, der er logget ind på din konto.",
- "Error while creating device token" : "Fejl ved oprettelse af enhedsnøgle",
- "App name" : "App navn",
- "Create new app password" : "Opret nyt app kodeord",
"App password copied!" : "App adgangskode kopieret!",
"Copy app password" : "Kopier app adgangskode",
"Login name copied!" : "Log på navn kopieret!",
@@ -585,202 +493,10 @@ OC.L10N.register(
"Refer to the admin documentation on how to manually also encrypt existing files." : "Se administratordokumentationen om, hvordan man manuelt også krypterer eksisterende filer.",
"This is the final warning: Do you really want to enable encryption?" : "Dette er den sidste advarsel: Sikker på at du vil slå kryptering til?",
"Please confirm the group removal" : "Bekræft venligst sletning af gruppen",
+ "Cancel" : "Annuller",
+ "Confirm" : "Bekræft",
"Submit" : "Tilføj",
"Rename group" : "Omdøb gruppe",
- "Current password" : "Nuværende adgangskode",
- "New password" : "Ny adgangskode",
- "Change password" : "Skift kodeord",
- "Choose your profile picture" : "Vælg dit profil billede",
- "Please select a valid png or jpg file" : "Vælg en gyldig PNG eller JPG fil",
- "Error setting profile picture" : "Fejl; profil billede ikke gyldigt",
- "Error cropping profile picture" : "Fejl, kunne ikke beskære profil billede",
- "Error saving profile picture" : "Fejl; kunne ikke gemme profil billede",
- "Error removing profile picture" : "Fejl; kunne ikke slette profil billede",
- "Your profile picture" : "Dit profil billede",
- "Upload profile picture" : "Upload profil billede",
- "Choose profile picture from Files" : "Vælg profil billede fra Filer",
- "Remove profile picture" : "Fjern profil billede",
- "The file must be a PNG or JPG" : "Fil format: PNG eller JPG",
- "Picture provided by original account" : "Billede leveret af den oprindelige konto",
- "Set as profile picture" : "Indstil som profil billede",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Bemærk; det tager op til 24 timer for dit profil billede, at blive opdateret alle steder.",
- "Your biography. Markdown is supported." : "Din biografi. Markdown understøttes.",
- "Unable to update date of birth" : "Kunne ikke opdatere fødselsdato",
- "Enter your date of birth" : "Indtast din fødselsdato",
- "You are using {s}{usage}{/s}" : "Du anvender {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Du anvender {s}{usage}{/s} af {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Du er medlem af følgende grupper:",
- "Your full name" : "Dit fulde navn",
- "Email options" : "E-mail indstillinger",
- "Options for additional email address {index}" : "Muligheder for yderligere email {index}",
- "Remove primary email" : "Fjern primær e-mail",
- "Delete email" : "Slet e-mail",
- "This address is not confirmed" : "Denne adresse er ikke bekræftet",
- "Unset as primary email" : "Deaktiveret som primær e-mail",
- "Set as primary email" : "Indstil som primær e-mail",
- "Additional email address {index}" : "Yderligere e-mailadresse {index}",
- "Unable to delete primary email address" : "Den primære e-mailadresse kunne ikke slettes",
- "Unable to update primary email address" : "Den primære e-mailadresse kunne ikke opdateres",
- "Unable to add additional email address" : "Kan ikke tilføje yderligere e-mailadresse",
- "Unable to update additional email address" : "Kan ikke opdatere yderligere e-mailadresse",
- "Unable to delete additional email address" : "Kan ikke slette yderligere e-mailadresse",
- "Primary email for password reset and notifications" : "Primær e-mail til nulstilling af adgangskode og meddelelser",
- "No email address set" : "Der er ikke angivet e-mailadresse",
- "Your handle" : "Dit kendetegn",
- "Derived from your locale ({weekDayName})" : "Afledt af systemindstillinger ({weekDayName})",
- "Unable to update first day of week" : "Kunne ikke opdatere indstillingerne for første ugedag",
- "Day to use as the first day of week" : "Første dag i ugen",
- "Your headline" : "Din overskrift",
- "Unable to update language" : "Kunne ikke opdatere sproget",
- "Languages" : "Sprog",
- "Help translate" : "Hjælp med oversættelsen",
- "No language set" : "Intet sprog indstillet",
- "Unable to update locale" : "Kunne ikke opdaterer lokalitet",
- "Locales" : "Lokaliteter",
- "Week starts on {firstDayOfWeek}" : "Første ugedag: {firstDayOfWeek}",
- "No locale set" : "Ingen lokalitet indstillet",
- "Your city" : "Din by",
- "Your organisation" : "Din organisation",
- "Your phone number" : "Dit telefon nummer",
- "Edit your Profile visibility" : "Rediger din profils synlighed",
- "Unable to update profile enabled state" : "Kan ikke opdatere profilaktiveret tilstand",
- "Enable profile" : "Aktiver profil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Den mere restriktive indstilling af enten synlighed eller omfang respekteres på din profil. For eksempel, hvis synlighed er indstillet til \"Vis til alle\", og omfanget er indstillet til \"Privat\", så respekteres \"Privat\".",
- "Unable to update visibility of {displayId}" : "Kan ikke opdatere synligheden af {displayId}",
- "she/her" : "hun/hende",
- "he/him" : "han/ham",
- "they/them" : "de/dem",
- "Your role" : "Din rolle",
- "Your X (formerly Twitter) handle" : "Dit X (tidligere Twitter) brugernavn",
- "Your website" : "Vores hjemmeside",
- "Invalid value" : "Ugyldig værdi",
- "Unable to update {property}" : "Kunne ikke opdaterer {property}",
- "No {property} set" : "Ingen {property} indstillet",
- "Change scope level of {property}, current scope is {scope}" : "Skift omfangsniveau for {property}, nuværende omfang er {scope}",
- "Unable to update federation scope of the primary {property}" : "Kan ikke opdatere sammenkoblings scope for den primære {property}",
- "Unable to update federation scope of additional {property}" : "Kan ikke opdatere sammenkoblings scope for yderligere {property}",
- "Add additional email" : "Tilføj yderligere e-mail",
- "Add" : "Tilføj",
- "Create" : "Opret",
- "Change" : "Ændr",
- "Delete" : "Slet",
- "Reshare" : "Videredel",
- "Default language" : "Standardsprog",
- "Common languages" : "Hyppigt anvendte sprog",
- "Other languages" : "Andre sprog",
- "Password change is disabled because the master key is disabled" : "Adgangskodeændring er deaktiveret, fordi hovednøglen er deaktiveret",
- "No accounts" : "Ingen konto",
- "Loading accounts …" : "Indlæser kontoerne...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Brugerkonti. Hele listen er ikke hentet, af hensyn til størrelsen. Listen vil blive hentet løbende som du kører igennem listen.",
- "Manager" : "Administrer",
- "Set line manager" : "Sæt linjeleder",
- "Account name will be autogenerated" : "Brugernavnet vil blive genereret automatisk",
- "Account name (required)" : "Brugernavn (påkrævet)",
- "Failed to search groups" : "Fejl under søgning af grupper",
- "New account" : "Ny konto",
- "Display name" : "Vist navn",
- "Either password or email is required" : "Adgangskode eller e-mail er påkrævet",
- "Password (required)" : "Adgangskode (påkrævet)",
- "Email (required)" : "E-mail (påkrævet)",
- "Email" : "E-mail",
- "Member of the following groups (required)" : "Medlem af følgende grupper (påkrævet)",
- "Member of the following groups" : "Medlem af følgende grupper",
- "Set account groups" : "Indstil bruger grupper",
- "Admin of the following groups" : "Administrator for følgende grupper",
- "Set account as admin for …" : "Sæt konto som administrator for ...",
- "Quota" : "Kvote",
- "Set account quota" : "Sæt konto kvote",
- "Language" : "Sprog",
- "Set default language" : "Vælg standard sprog",
- "Add new account" : "Tilføj ny konto",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} konto …","{userCount} konti …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} konto","{userCount} konti"],
- "Total rows summary" : "Samlet række antal",
- "Scroll to load more rows" : "Rul for at indlæse flere rækker",
- "Password or insufficient permissions message" : "Besked om adgangskode eller manglende rettigheder",
- "Avatar" : "Avatar",
- "Account name" : "Kontonavn",
- "Group admin for" : "Gruppeadministrator for",
- "Account backend" : "Konto backend",
- "Storage location" : "Placering af lageret",
- "First login" : "Første log på",
- "Last login" : "Seneste login",
- "Account actions" : "Kontohandlinger",
- "{size} used" : "{size} brugt",
- "Delete account" : "Slet konto",
- "Disconnect all devices and delete local data" : "Afbryd forbindelsen til alle indloggede enheder og slet lokale data",
- "Disable account" : "Deaktiver konto",
- "Enable account" : "Aktiver konto",
- "Resend welcome email" : "Send velkomstemail igen",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "I tilfælde af en tabt enhed eller at en forlader organisationen, så kan dette fjernslette Nextcloud-dataene fra alle enheder, der er knyttet til {userid}. Virker kun, hvis enhederne er forbundet til internettet.",
- "Remote wipe of devices" : "Fjernsletning af enheder",
- "Wipe {userid}'s devices" : "Slet {userid}'s enheder",
- "Wiped {userid}'s devices" : "Slettede {userid}'s enheder",
- "Failed to load groups with details" : "Kunne ikke indlæse grupper med detaljer",
- "Failed to load sub admin groups with details" : "Kunne ikke indlæse underadministratorgrupper med detaljer",
- "Failed to update line manager" : "Kunne ikke opdatere linjeleder",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Slet {userid}s konto fuldstændigt, inklusiv alle deres personlige filer, appdata osv.",
- "Account deletion" : "Sletning af konto",
- "Delete {userid}'s account" : "Slet {userid}s konto",
- "Display name was successfully changed" : "Vist navn er ændret",
- "Password can't be empty" : "Adgangskode kan ikke være tom",
- "Password was successfully changed" : "Adgangskode er ændret",
- "Email can't be empty" : "E-mail kan ikke være tom",
- "Email was successfully changed" : "E-mail adresse er ændret",
- "Welcome mail sent!" : "Velkomstemail sendt!",
- "Loading account …" : "Indlæser konto ...",
- "Change display name" : "Rediger vist navn",
- "Set new password" : "Angiv ny adgangskode",
- "You do not have permissions to see the details of this account" : "Du har ikke tilladelse til at se denne brugers detaljer",
- "Set new email address" : "Angiv ny e-mail adresse",
- "Add account to group" : "Føj bruger til gruppe",
- "Set account as admin for" : "Sæt konto som administrator for ...",
- "Select account quota" : "Sæt konto kvote",
- "Set the language" : "Indstil sproget",
- "Toggle account actions menu" : "Skift kontohandlingsmenu",
- "Done" : "Færdig",
- "Edit" : "Rediger",
- "Account management settings" : "Kontoadministrationsindstillinger",
- "Visibility" : "Synlighed",
- "Show language" : "Vis sprog",
- "Show account backend" : "Vis backend konto",
- "Show storage path" : "Vis lagersti",
- "Show first login" : "Vis første log på",
- "Show last login" : "Vis seneste login",
- "Sorting" : "Sortering",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Systemkonfigurationen gennemtvinger sortering af grupperne efter navn. Dette deaktiverer også visning af medlemsantallet.",
- "Group list sorting" : "Gruppeliste sortering",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Sortering gælder kun for de aktuelt indlæste grupper af hensyn til ydeevne. Grupper vil blive indlæst som du navigere eller søge gennem listen.",
- "By member count" : "Efter medlemstal",
- "By name" : "Efter navn",
- "Send email" : "Send e-mail",
- "Send welcome email to new accounts" : "Send velkomstmail til nye konti",
- "Defaults" : "Standarder",
- "Default quota" : "Standard kvote",
- "Select default quota" : "Vælg standardkvote",
- "Server error while trying to complete WebAuthn device registration" : "Serverfejl under forsøg på at fuldføre WebAuthn-enhedsregistrering",
- "Passwordless authentication requires a secure connection." : "Adgangskodefri godkendelse kræver en sikker forbindelse.",
- "Add WebAuthn device" : "Tilføj WebAuthn-enhed",
- "Please authorize your WebAuthn device." : "Godkend venligst din WebAuthn-enhed.",
- "Adding your device …" : "Tilføjer din enhed...",
- "Unnamed device" : "Unavngiven enhed",
- "Passwordless Authentication" : "Adgangskodeløs godkendelse",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Konfigurer din konto til adgangskodefri godkendelse efter FIDO2-standarden.",
- "No devices configured." : "Ingen enheder konfigureret.",
- "The following devices are configured for your account:" : "Følgende enheder er konfigureret til din konto:",
- "Your browser does not support WebAuthn." : "Din browser understøtter ikke WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Som administrator kan du finjustere delingsadfærden. Se venligst dokumentationen for mere information.",
- "You need to enable the File sharing App." : "Du skal aktivere fildelingsappen.",
- "App Store" : "App Store",
- "Loading app list" : "Send velkomstmail til nye konti",
- "Loading categories" : "Indlæser kategorier",
- "Developer documentation ↗" : "Udviklerdokumentation ↗",
- "Version {version}, {license}-licensed" : "Version {version}, {license}-licenseret",
- "Version {version}" : "Version {version}",
- "All accounts" : "Alle konti",
- "Admins" : "Administratorer",
- "Account group: {group}" : "Konto gruppe: {group}",
- "Account management" : "Kontostyring",
"Sending…" : "Sender...",
"Email sent" : "E-mail afsendt",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Af hensyn til performancemæssige, så er det kun nye og ændrede filer, der krypteres, når du aktiverer kryptering på en Nextcloud server.",
@@ -790,6 +506,7 @@ OC.L10N.register(
"Date of birth" : "Fødselsdato",
"Full name" : "Fulde navn",
"Additional email" : "Yderligere e-mail",
+ "Email" : "E-mail",
"Fediverse (e.g. Mastodon)" : "Fediverse (fx Mastodon)",
"Headline" : "Overskrift",
"Organisation" : "Organisation",
@@ -799,6 +516,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (tidligere Twitter)",
"Website" : "Hjemmeside",
"Profile visibility" : "Profilsynlighed",
+ "Language" : "Sprog",
"Locale" : "Lokalitet",
"First day of week" : "Første dag i ugen",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Ikke tilgængelig, da denne egenskab er påkrævet for kernefunktionalitet, herunder fildeling og kalenderinvitationer",
@@ -816,6 +534,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Vis kun til påloggede konti",
"Hide" : "Skjul",
"Manually installed apps cannot be updated" : "Manuelt installerede apps kan ikke opdateres",
+ "Update to {version}" : "Opdateret til {version}",
"{progress}% Deploying …" : "{progress}% Udruller …",
"{progress}% Initializing …" : "{progress}% Initialiserer …",
"Health checking" : "Sundhedskontrol",
@@ -825,6 +544,7 @@ OC.L10N.register(
"Allow untested app" : "Tillad ikke-testet app",
"The app will be downloaded from the App Store" : "Appen vil blive downloadet fra App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Denne app er ikke markeret som kompatibel med din Nextcloud version. Hvis du fortsætter, vil du stadig være i stand til at installere appen. Bemærk, at appen muligvis ikke fungerer som forventet.",
+ "{size} used" : "{size} brugt",
"Unknown" : "Ukendt",
"Never" : "Aldrig",
"Could not register device: Network error" : "Kunne ikke registrere apparat: Netværksfejl",
@@ -843,8 +563,10 @@ OC.L10N.register(
"Could not set group sorting" : "Kunne ikke indstille gruppesortering",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Der har været for mange forespørgsmåler fra dit netværk. Forsøg igen senere eller kontakt din administrator hvis dette er en fejl.",
"Error" : "Fejl",
+ "Default quota" : "Standard kvote",
"Account documentation" : "Konto dokumentation",
"Administration documentation" : "Administrations dokumentation",
+ "Documentation" : "Dokumentation",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud hjælpe- og privatlivsressourcer",
"General documentation" : "Overordnet dokumentation",
@@ -867,6 +589,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP Kodeord",
"Save" : "Gem",
"Test and verify email settings" : "Afprøv og bekræft indstillinger",
+ "Send email" : "Send e-mail",
"Security & setup warnings" : "Advarsler om sikkerhed og opsætning",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Det er vigtigt for sikkerheden og ydeevnen af din instans, at alt er konfigureret korrekt. For at hjælpe dig med det, så laver vi foretager vi nogle automatiske kontroller. Se venligst den linkede dokumentation for mere information.",
"All checks passed." : "Alle tjek blev bestået.",
@@ -892,11 +615,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "PHP hukommelsesgræsen er under den anbefalede værdi på %s.",
"for WebAuthn passwordless login" : "til WebAuthn adgangskodeløst login",
"for WebAuthn passwordless login, and SFTP storage" : "til WebAuthn adgangskodeløst login, og SFTP lagring",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP- headeren ' %1$s' indeholder ikke ' %2$s'. Dette er en potentiel sikkerheds- eller fortrolighedsrisiko, da det anbefales at justere denne indstilling i overensstemmelse hermed.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL- version \"%s\" fundet. PostgreSQL > = 12 og < = 16 er foreslået for bedste ydeevne, stabilitet og funktionalitet med denne version af Nextcloud.",
- "Set default expiration date for shares" : "Indstil standardudløbsdato for delinger",
- "Your biography" : "Din biografi",
- "You are using <strong>{usage}</strong>" : "Forbrug: <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Forbrug: <strong>{usage}</strong> af <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Kunne ikke indlæse subadmin grupper med detaljer"
+ "Set default expiration date for shares" : "Indstil standardudløbsdato for delinger"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/da.json b/apps/settings/l10n/da.json
index 63a24147ad4..66e7a16f99a 100644
--- a/apps/settings/l10n/da.json
+++ b/apps/settings/l10n/da.json
@@ -294,7 +294,6 @@
"HTTP headers" : "HTTP headere",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- The ' %1$s' HTTP- header er ikke indstillet til ' %2$s'. Nogle funktioner virker måske ikke korrekt, da det anbefales at justere denne indstilling i overensstemmelse hermed.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- The ' %1$s' HTTP- header er ikke indstillet til ' %2$s'. Dette er en potentiel sikkerheds- eller fortrolighedsrisiko, da det anbefales at justere denne indstilling i overensstemmelse hermed.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP- headeren ' %1$s' indeholder ikke ' %2$s'. Dette er en potentiel sikkerheds- eller fortrolighedsrisiko, da det anbefales at justere denne indstilling i overensstemmelse hermed.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- `%1$s` HTTP header er ikke indstillet til `%2$s`, `%3$s`, `%4$s`, `%5$s` eller `%6$s`. Dette kan lække reference information. Se mere {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- The 'Strict-Transport-Security' HTTP- header er ikke indstillet til mindst '%d' sekunder (aktuel værdi: '%d'). For øget sikkerhed, anbefales det at bruge en lang HSTS politik.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- The 'Strict-Transport-Security' HTTP- header er misdannet: '%s'. For øget sikkerhed anbefales det at aktivere HSTS.",
@@ -441,97 +440,6 @@
"Could not load section content from app store." : "Kunne ikke hente det valgte indhold fra app store.",
"Loading" : "Loader",
"Fetching the latest news…" : "Henter seneste nyt...",
- "Carousel" : "Karrusel",
- "Previous slide" : "Forrige slide",
- "Next slide" : "Næste slide",
- "Choose slide to display" : "Vælg slide til visning",
- "{index} of {total}" : "{index} ud af {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Implementer Daemon",
- "Type" : "Type",
- "Display Name" : "Vist navn",
- "GPUs support" : "GPUs understøttelse",
- "Compute device" : "Beregningsapparat",
- "Advanced deploy options" : "Avancerede implementeringsmuligheder",
- "Edit ExApp deploy options before installation" : "Rediger ExApp implementeringsindstillinger før installation",
- "Configured ExApp deploy options. Can be set only during installation" : "Konfigurerede ExApp implementeringsmuligheder. Kan kun indstilles under installationen",
- "Learn more" : "Lær mere",
- "Environment variables" : "Miljøvariabler",
- "ExApp container environment variables" : "ExApp container miljøvariabler",
- "No environment variables defined" : "Ingen miljøvariabler defineret",
- "Mounts" : "Monteringer",
- "Define host folder mounts to bind to the ExApp container" : "Definer værtsmappemonteringer for at binde til ExApp beholderen",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Skal eksistere på Deploy daemon værten, før installation af ExApp",
- "Host path" : "Host stien",
- "Container path" : "Beholderstien",
- "Read-only" : "Skrivebeskyttet",
- "Remove mount" : "Fjern montering",
- "New mount" : "Ny montering",
- "Enter path to host folder" : "Indtast stien til host mappen",
- "Enter path to container folder" : "Indtast stien til beholdermappen",
- "Toggle read-only mode" : "Skift skrivebeskyttet tilstand",
- "Confirm adding new mount" : "Bekræft tilføjelse af ny montering",
- "Confirm" : "Bekræft",
- "Cancel adding mount" : "Annuller tilføjelse af montering",
- "Cancel" : "Annuller",
- "Add mount" : "Tilføj montering",
- "ExApp container mounts" : "ExApp beholdermonteringer",
- "No mounts defined" : "Der er ikke defineret nogen monteringer",
- "Description" : "Beskrivelse",
- "View in store" : "Se i butik",
- "Visit website" : "Besøg hjemmeside",
- "Usage documentation" : "Anvendelsesdokumentation",
- "Admin documentation" : "Admin-dokumentation",
- "Developer documentation" : "Dokumentation for udviklere",
- "Details" : "Detaljer",
- "All" : "Alle",
- "Limit app usage to groups" : "Begræns appanvendelse til grupper",
- "No results" : "Ingen resultater",
- "Update to {version}" : "Opdateret til {version}",
- "Deploy options" : "Implementeringsmuligheder",
- "Default Deploy daemon is not accessible" : "Standard udrulningsdaemon er ikke tilgængelig",
- "Delete data on remove" : "Slet data ved fjernelse",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Denne app har ikke angivet en minimums understøttet version af Nextcloud. I fremtiden vil dette medføre en fejl.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Denne app har ikke angivet en maksimums understøttet version af Nextcloud. I fremtiden vil dette medføre en fejl.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Dette program kan ikke installeres, da følgende afhængigheder ikke imødekommes:",
- "Latest updated" : "Sidst opdaterede",
- "Author" : "Forfatter",
- "Categories" : "Kategorier",
- "Resources" : "Resourcer",
- "Documentation" : "Dokumentation",
- "Interact" : "Interager",
- "Report a bug" : "Rapporter en fejl",
- "Request feature" : "Foreslå feature",
- "Ask questions or discuss" : "Stil spørgsmål eller diskuter",
- "Rate the app" : "Bedøm appen",
- "Rate" : "Bedøm",
- "Changelog" : "Ændringslog",
- "Google Chrome for Android" : "Google Chrome til Android",
- "{productName} iOS app" : "{productName} iOS app",
- "{productName} Android app" : "{productName} Android app",
- "{productName} Talk for iOS" : "{productName} Snak til iOS",
- "{productName} Talk for Android" : "{productName} Snak til Android",
- "Sync client" : "Synkroniser klient",
- "This session" : "Sessionen",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Enheds navn",
- "Cancel renaming" : "Annuller omdøbning",
- "Save new name" : "Gem nyt navn",
- "Marked for remote wipe" : "Markeret til fjernsletning",
- "Device settings" : "Enhedsindstillinger",
- "Allow filesystem access" : "Tillad filsystem adgang",
- "Rename" : "Omdøb",
- "Revoke" : "Tilbagekald",
- "Wipe device" : "Slet enhed",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Tilbagekaldelse af denne token kan muligvis forhindre sletning af din enhed, hvis sletningen endnu ikke er startet.",
- "Device" : "Enhed",
- "Last activity" : "Sidste aktivitet",
- "Devices & sessions" : "Enheder og sessioner",
- "Web, desktop and mobile clients currently logged in to your account." : "Web, stationære og mobile klienter, der er logget ind på din konto.",
- "Error while creating device token" : "Fejl ved oprettelse af enhedsnøgle",
- "App name" : "App navn",
- "Create new app password" : "Opret nyt app kodeord",
"App password copied!" : "App adgangskode kopieret!",
"Copy app password" : "Kopier app adgangskode",
"Login name copied!" : "Log på navn kopieret!",
@@ -583,202 +491,10 @@
"Refer to the admin documentation on how to manually also encrypt existing files." : "Se administratordokumentationen om, hvordan man manuelt også krypterer eksisterende filer.",
"This is the final warning: Do you really want to enable encryption?" : "Dette er den sidste advarsel: Sikker på at du vil slå kryptering til?",
"Please confirm the group removal" : "Bekræft venligst sletning af gruppen",
+ "Cancel" : "Annuller",
+ "Confirm" : "Bekræft",
"Submit" : "Tilføj",
"Rename group" : "Omdøb gruppe",
- "Current password" : "Nuværende adgangskode",
- "New password" : "Ny adgangskode",
- "Change password" : "Skift kodeord",
- "Choose your profile picture" : "Vælg dit profil billede",
- "Please select a valid png or jpg file" : "Vælg en gyldig PNG eller JPG fil",
- "Error setting profile picture" : "Fejl; profil billede ikke gyldigt",
- "Error cropping profile picture" : "Fejl, kunne ikke beskære profil billede",
- "Error saving profile picture" : "Fejl; kunne ikke gemme profil billede",
- "Error removing profile picture" : "Fejl; kunne ikke slette profil billede",
- "Your profile picture" : "Dit profil billede",
- "Upload profile picture" : "Upload profil billede",
- "Choose profile picture from Files" : "Vælg profil billede fra Filer",
- "Remove profile picture" : "Fjern profil billede",
- "The file must be a PNG or JPG" : "Fil format: PNG eller JPG",
- "Picture provided by original account" : "Billede leveret af den oprindelige konto",
- "Set as profile picture" : "Indstil som profil billede",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Bemærk; det tager op til 24 timer for dit profil billede, at blive opdateret alle steder.",
- "Your biography. Markdown is supported." : "Din biografi. Markdown understøttes.",
- "Unable to update date of birth" : "Kunne ikke opdatere fødselsdato",
- "Enter your date of birth" : "Indtast din fødselsdato",
- "You are using {s}{usage}{/s}" : "Du anvender {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Du anvender {s}{usage}{/s} af {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Du er medlem af følgende grupper:",
- "Your full name" : "Dit fulde navn",
- "Email options" : "E-mail indstillinger",
- "Options for additional email address {index}" : "Muligheder for yderligere email {index}",
- "Remove primary email" : "Fjern primær e-mail",
- "Delete email" : "Slet e-mail",
- "This address is not confirmed" : "Denne adresse er ikke bekræftet",
- "Unset as primary email" : "Deaktiveret som primær e-mail",
- "Set as primary email" : "Indstil som primær e-mail",
- "Additional email address {index}" : "Yderligere e-mailadresse {index}",
- "Unable to delete primary email address" : "Den primære e-mailadresse kunne ikke slettes",
- "Unable to update primary email address" : "Den primære e-mailadresse kunne ikke opdateres",
- "Unable to add additional email address" : "Kan ikke tilføje yderligere e-mailadresse",
- "Unable to update additional email address" : "Kan ikke opdatere yderligere e-mailadresse",
- "Unable to delete additional email address" : "Kan ikke slette yderligere e-mailadresse",
- "Primary email for password reset and notifications" : "Primær e-mail til nulstilling af adgangskode og meddelelser",
- "No email address set" : "Der er ikke angivet e-mailadresse",
- "Your handle" : "Dit kendetegn",
- "Derived from your locale ({weekDayName})" : "Afledt af systemindstillinger ({weekDayName})",
- "Unable to update first day of week" : "Kunne ikke opdatere indstillingerne for første ugedag",
- "Day to use as the first day of week" : "Første dag i ugen",
- "Your headline" : "Din overskrift",
- "Unable to update language" : "Kunne ikke opdatere sproget",
- "Languages" : "Sprog",
- "Help translate" : "Hjælp med oversættelsen",
- "No language set" : "Intet sprog indstillet",
- "Unable to update locale" : "Kunne ikke opdaterer lokalitet",
- "Locales" : "Lokaliteter",
- "Week starts on {firstDayOfWeek}" : "Første ugedag: {firstDayOfWeek}",
- "No locale set" : "Ingen lokalitet indstillet",
- "Your city" : "Din by",
- "Your organisation" : "Din organisation",
- "Your phone number" : "Dit telefon nummer",
- "Edit your Profile visibility" : "Rediger din profils synlighed",
- "Unable to update profile enabled state" : "Kan ikke opdatere profilaktiveret tilstand",
- "Enable profile" : "Aktiver profil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Den mere restriktive indstilling af enten synlighed eller omfang respekteres på din profil. For eksempel, hvis synlighed er indstillet til \"Vis til alle\", og omfanget er indstillet til \"Privat\", så respekteres \"Privat\".",
- "Unable to update visibility of {displayId}" : "Kan ikke opdatere synligheden af {displayId}",
- "she/her" : "hun/hende",
- "he/him" : "han/ham",
- "they/them" : "de/dem",
- "Your role" : "Din rolle",
- "Your X (formerly Twitter) handle" : "Dit X (tidligere Twitter) brugernavn",
- "Your website" : "Vores hjemmeside",
- "Invalid value" : "Ugyldig værdi",
- "Unable to update {property}" : "Kunne ikke opdaterer {property}",
- "No {property} set" : "Ingen {property} indstillet",
- "Change scope level of {property}, current scope is {scope}" : "Skift omfangsniveau for {property}, nuværende omfang er {scope}",
- "Unable to update federation scope of the primary {property}" : "Kan ikke opdatere sammenkoblings scope for den primære {property}",
- "Unable to update federation scope of additional {property}" : "Kan ikke opdatere sammenkoblings scope for yderligere {property}",
- "Add additional email" : "Tilføj yderligere e-mail",
- "Add" : "Tilføj",
- "Create" : "Opret",
- "Change" : "Ændr",
- "Delete" : "Slet",
- "Reshare" : "Videredel",
- "Default language" : "Standardsprog",
- "Common languages" : "Hyppigt anvendte sprog",
- "Other languages" : "Andre sprog",
- "Password change is disabled because the master key is disabled" : "Adgangskodeændring er deaktiveret, fordi hovednøglen er deaktiveret",
- "No accounts" : "Ingen konto",
- "Loading accounts …" : "Indlæser kontoerne...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Brugerkonti. Hele listen er ikke hentet, af hensyn til størrelsen. Listen vil blive hentet løbende som du kører igennem listen.",
- "Manager" : "Administrer",
- "Set line manager" : "Sæt linjeleder",
- "Account name will be autogenerated" : "Brugernavnet vil blive genereret automatisk",
- "Account name (required)" : "Brugernavn (påkrævet)",
- "Failed to search groups" : "Fejl under søgning af grupper",
- "New account" : "Ny konto",
- "Display name" : "Vist navn",
- "Either password or email is required" : "Adgangskode eller e-mail er påkrævet",
- "Password (required)" : "Adgangskode (påkrævet)",
- "Email (required)" : "E-mail (påkrævet)",
- "Email" : "E-mail",
- "Member of the following groups (required)" : "Medlem af følgende grupper (påkrævet)",
- "Member of the following groups" : "Medlem af følgende grupper",
- "Set account groups" : "Indstil bruger grupper",
- "Admin of the following groups" : "Administrator for følgende grupper",
- "Set account as admin for …" : "Sæt konto som administrator for ...",
- "Quota" : "Kvote",
- "Set account quota" : "Sæt konto kvote",
- "Language" : "Sprog",
- "Set default language" : "Vælg standard sprog",
- "Add new account" : "Tilføj ny konto",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} konto …","{userCount} konti …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} konto","{userCount} konti"],
- "Total rows summary" : "Samlet række antal",
- "Scroll to load more rows" : "Rul for at indlæse flere rækker",
- "Password or insufficient permissions message" : "Besked om adgangskode eller manglende rettigheder",
- "Avatar" : "Avatar",
- "Account name" : "Kontonavn",
- "Group admin for" : "Gruppeadministrator for",
- "Account backend" : "Konto backend",
- "Storage location" : "Placering af lageret",
- "First login" : "Første log på",
- "Last login" : "Seneste login",
- "Account actions" : "Kontohandlinger",
- "{size} used" : "{size} brugt",
- "Delete account" : "Slet konto",
- "Disconnect all devices and delete local data" : "Afbryd forbindelsen til alle indloggede enheder og slet lokale data",
- "Disable account" : "Deaktiver konto",
- "Enable account" : "Aktiver konto",
- "Resend welcome email" : "Send velkomstemail igen",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "I tilfælde af en tabt enhed eller at en forlader organisationen, så kan dette fjernslette Nextcloud-dataene fra alle enheder, der er knyttet til {userid}. Virker kun, hvis enhederne er forbundet til internettet.",
- "Remote wipe of devices" : "Fjernsletning af enheder",
- "Wipe {userid}'s devices" : "Slet {userid}'s enheder",
- "Wiped {userid}'s devices" : "Slettede {userid}'s enheder",
- "Failed to load groups with details" : "Kunne ikke indlæse grupper med detaljer",
- "Failed to load sub admin groups with details" : "Kunne ikke indlæse underadministratorgrupper med detaljer",
- "Failed to update line manager" : "Kunne ikke opdatere linjeleder",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Slet {userid}s konto fuldstændigt, inklusiv alle deres personlige filer, appdata osv.",
- "Account deletion" : "Sletning af konto",
- "Delete {userid}'s account" : "Slet {userid}s konto",
- "Display name was successfully changed" : "Vist navn er ændret",
- "Password can't be empty" : "Adgangskode kan ikke være tom",
- "Password was successfully changed" : "Adgangskode er ændret",
- "Email can't be empty" : "E-mail kan ikke være tom",
- "Email was successfully changed" : "E-mail adresse er ændret",
- "Welcome mail sent!" : "Velkomstemail sendt!",
- "Loading account …" : "Indlæser konto ...",
- "Change display name" : "Rediger vist navn",
- "Set new password" : "Angiv ny adgangskode",
- "You do not have permissions to see the details of this account" : "Du har ikke tilladelse til at se denne brugers detaljer",
- "Set new email address" : "Angiv ny e-mail adresse",
- "Add account to group" : "Føj bruger til gruppe",
- "Set account as admin for" : "Sæt konto som administrator for ...",
- "Select account quota" : "Sæt konto kvote",
- "Set the language" : "Indstil sproget",
- "Toggle account actions menu" : "Skift kontohandlingsmenu",
- "Done" : "Færdig",
- "Edit" : "Rediger",
- "Account management settings" : "Kontoadministrationsindstillinger",
- "Visibility" : "Synlighed",
- "Show language" : "Vis sprog",
- "Show account backend" : "Vis backend konto",
- "Show storage path" : "Vis lagersti",
- "Show first login" : "Vis første log på",
- "Show last login" : "Vis seneste login",
- "Sorting" : "Sortering",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Systemkonfigurationen gennemtvinger sortering af grupperne efter navn. Dette deaktiverer også visning af medlemsantallet.",
- "Group list sorting" : "Gruppeliste sortering",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Sortering gælder kun for de aktuelt indlæste grupper af hensyn til ydeevne. Grupper vil blive indlæst som du navigere eller søge gennem listen.",
- "By member count" : "Efter medlemstal",
- "By name" : "Efter navn",
- "Send email" : "Send e-mail",
- "Send welcome email to new accounts" : "Send velkomstmail til nye konti",
- "Defaults" : "Standarder",
- "Default quota" : "Standard kvote",
- "Select default quota" : "Vælg standardkvote",
- "Server error while trying to complete WebAuthn device registration" : "Serverfejl under forsøg på at fuldføre WebAuthn-enhedsregistrering",
- "Passwordless authentication requires a secure connection." : "Adgangskodefri godkendelse kræver en sikker forbindelse.",
- "Add WebAuthn device" : "Tilføj WebAuthn-enhed",
- "Please authorize your WebAuthn device." : "Godkend venligst din WebAuthn-enhed.",
- "Adding your device …" : "Tilføjer din enhed...",
- "Unnamed device" : "Unavngiven enhed",
- "Passwordless Authentication" : "Adgangskodeløs godkendelse",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Konfigurer din konto til adgangskodefri godkendelse efter FIDO2-standarden.",
- "No devices configured." : "Ingen enheder konfigureret.",
- "The following devices are configured for your account:" : "Følgende enheder er konfigureret til din konto:",
- "Your browser does not support WebAuthn." : "Din browser understøtter ikke WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Som administrator kan du finjustere delingsadfærden. Se venligst dokumentationen for mere information.",
- "You need to enable the File sharing App." : "Du skal aktivere fildelingsappen.",
- "App Store" : "App Store",
- "Loading app list" : "Send velkomstmail til nye konti",
- "Loading categories" : "Indlæser kategorier",
- "Developer documentation ↗" : "Udviklerdokumentation ↗",
- "Version {version}, {license}-licensed" : "Version {version}, {license}-licenseret",
- "Version {version}" : "Version {version}",
- "All accounts" : "Alle konti",
- "Admins" : "Administratorer",
- "Account group: {group}" : "Konto gruppe: {group}",
- "Account management" : "Kontostyring",
"Sending…" : "Sender...",
"Email sent" : "E-mail afsendt",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Af hensyn til performancemæssige, så er det kun nye og ændrede filer, der krypteres, når du aktiverer kryptering på en Nextcloud server.",
@@ -788,6 +504,7 @@
"Date of birth" : "Fødselsdato",
"Full name" : "Fulde navn",
"Additional email" : "Yderligere e-mail",
+ "Email" : "E-mail",
"Fediverse (e.g. Mastodon)" : "Fediverse (fx Mastodon)",
"Headline" : "Overskrift",
"Organisation" : "Organisation",
@@ -797,6 +514,7 @@
"X (formerly Twitter)" : "X (tidligere Twitter)",
"Website" : "Hjemmeside",
"Profile visibility" : "Profilsynlighed",
+ "Language" : "Sprog",
"Locale" : "Lokalitet",
"First day of week" : "Første dag i ugen",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Ikke tilgængelig, da denne egenskab er påkrævet for kernefunktionalitet, herunder fildeling og kalenderinvitationer",
@@ -814,6 +532,7 @@
"Show to logged in accounts only" : "Vis kun til påloggede konti",
"Hide" : "Skjul",
"Manually installed apps cannot be updated" : "Manuelt installerede apps kan ikke opdateres",
+ "Update to {version}" : "Opdateret til {version}",
"{progress}% Deploying …" : "{progress}% Udruller …",
"{progress}% Initializing …" : "{progress}% Initialiserer …",
"Health checking" : "Sundhedskontrol",
@@ -823,6 +542,7 @@
"Allow untested app" : "Tillad ikke-testet app",
"The app will be downloaded from the App Store" : "Appen vil blive downloadet fra App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Denne app er ikke markeret som kompatibel med din Nextcloud version. Hvis du fortsætter, vil du stadig være i stand til at installere appen. Bemærk, at appen muligvis ikke fungerer som forventet.",
+ "{size} used" : "{size} brugt",
"Unknown" : "Ukendt",
"Never" : "Aldrig",
"Could not register device: Network error" : "Kunne ikke registrere apparat: Netværksfejl",
@@ -841,8 +561,10 @@
"Could not set group sorting" : "Kunne ikke indstille gruppesortering",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Der har været for mange forespørgsmåler fra dit netværk. Forsøg igen senere eller kontakt din administrator hvis dette er en fejl.",
"Error" : "Fejl",
+ "Default quota" : "Standard kvote",
"Account documentation" : "Konto dokumentation",
"Administration documentation" : "Administrations dokumentation",
+ "Documentation" : "Dokumentation",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud hjælpe- og privatlivsressourcer",
"General documentation" : "Overordnet dokumentation",
@@ -865,6 +587,7 @@
"SMTP Password" : "SMTP Kodeord",
"Save" : "Gem",
"Test and verify email settings" : "Afprøv og bekræft indstillinger",
+ "Send email" : "Send e-mail",
"Security & setup warnings" : "Advarsler om sikkerhed og opsætning",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Det er vigtigt for sikkerheden og ydeevnen af din instans, at alt er konfigureret korrekt. For at hjælpe dig med det, så laver vi foretager vi nogle automatiske kontroller. Se venligst den linkede dokumentation for mere information.",
"All checks passed." : "Alle tjek blev bestået.",
@@ -890,11 +613,8 @@
"The PHP memory limit is below the recommended value of %s." : "PHP hukommelsesgræsen er under den anbefalede værdi på %s.",
"for WebAuthn passwordless login" : "til WebAuthn adgangskodeløst login",
"for WebAuthn passwordless login, and SFTP storage" : "til WebAuthn adgangskodeløst login, og SFTP lagring",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP- headeren ' %1$s' indeholder ikke ' %2$s'. Dette er en potentiel sikkerheds- eller fortrolighedsrisiko, da det anbefales at justere denne indstilling i overensstemmelse hermed.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL- version \"%s\" fundet. PostgreSQL > = 12 og < = 16 er foreslået for bedste ydeevne, stabilitet og funktionalitet med denne version af Nextcloud.",
- "Set default expiration date for shares" : "Indstil standardudløbsdato for delinger",
- "Your biography" : "Din biografi",
- "You are using <strong>{usage}</strong>" : "Forbrug: <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Forbrug: <strong>{usage}</strong> af <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Kunne ikke indlæse subadmin grupper med detaljer"
+ "Set default expiration date for shares" : "Indstil standardudløbsdato for delinger"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/de.js b/apps/settings/l10n/de.js
index 91e260f30d2..6064d3213ef 100644
--- a/apps/settings/l10n/de.js
+++ b/apps/settings/l10n/de.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP-Header",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- Der `%1$s`-HTTP-Header ist nicht auf `%2$s` gesetzt. Einige Funktionen arbeiten möglicherweise nicht richtig. Es wird daher empfohlen, diese Einstellung entsprechend anzupassen.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Der HTTP-Header `%1$s` ist nicht auf `%2$s` gesetzt. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Der HTTP-Header `%1$s` enthält nicht `%2$s`. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- Der HTTP-Header `%1$s` ist nicht auf \"%2$s\", \"%3$s\", \"%4$s\", \"%5$s\" oder \"%6$s\" gesetzt. Dadurch können Verweisinformationen preisgegeben werden. Siehe die {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- Der HTTP-Header `Strict-Transport-Security` ist nicht auf mindestens `%d` Sekunden eingestellt (aktueller Wert: `%d`). Für erhöhte Sicherheit wird die Verwendung einer langen HSTS-Richtlinie empfohlen.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- Der `Strict-Transport-Security`-HTTP-Header ist fehlerhaft: `%s`. Für erhöhte Sicherheit wird empfohlen, HSTS zu aktivieren.",
@@ -447,97 +446,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Abschnittsinhalt konnte nicht aus dem App Store geladen werden.",
"Loading" : "Lade",
"Fetching the latest news…" : "Aktuelle Nachrichten werden abgerufen…",
- "Carousel" : "Karussell",
- "Previous slide" : "Vorherige Folie",
- "Next slide" : "Nächste Folie",
- "Choose slide to display" : "Folie zum Anzeigen auswählen",
- "{index} of {total}" : "{index} von {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Daemon bereitstellen",
- "Type" : "Typ",
- "Display Name" : "Anzeigename",
- "GPUs support" : "GPUs Unterstützung",
- "Compute device" : "Compute-Gerät",
- "Advanced deploy options" : "Erweiterte Bereitstellungsoptionen",
- "Edit ExApp deploy options before installation" : "Bereitstellungsoptionen von ExApp vor der Installation bearbeiten",
- "Configured ExApp deploy options. Can be set only during installation" : "Eingestellte ExApp-Bereitstellungsoptionen. Kann nur während der Installation festgelegt werden",
- "Learn more" : "Mehr erfahren",
- "Environment variables" : "Umgebungsvariablen",
- "ExApp container environment variables" : "Umgebungsvariablen für ExApp-Container",
- "No environment variables defined" : "Keine Umgebungsvariablen definiert",
- "Mounts" : "Einhängepunkte",
- "Define host folder mounts to bind to the ExApp container" : "Host-Ordner-Mounts zum Binden an den ExApp-Container definieren",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Muss auf dem Deploy-Daemon-Host vorhanden sein, bevor die ExApp installiert wird",
- "Host path" : "Hostpfad",
- "Container path" : "Containerpfad",
- "Read-only" : "Schreibgeschützt",
- "Remove mount" : "Einhängepunkt entfernen",
- "New mount" : "Neuer Einhängepunkt",
- "Enter path to host folder" : "Pfad zum Hostordner eingeben",
- "Enter path to container folder" : "Pfad zum Containerordner eingeben",
- "Toggle read-only mode" : "Schreibschutz umschalten",
- "Confirm adding new mount" : "Hinzufügen des neuen Einhängepunkts bestätigen",
- "Confirm" : "Bestätigen",
- "Cancel adding mount" : "Hinzufügen des Einhängepunkts abbrechen",
- "Cancel" : "Abbrechen",
- "Add mount" : "Einhängepunkt hinzufügen",
- "ExApp container mounts" : "ExApp-Container-Einhängepunkte",
- "No mounts defined" : "Keine Einhängepunkte definiert",
- "Description" : "Beschreibung",
- "View in store" : "Im Store anzeigen",
- "Visit website" : "Webseite besuchen",
- "Usage documentation" : "Nutzungsdokumentation",
- "Admin documentation" : "Dokumentation für die Administration",
- "Developer documentation" : "Dokumentation für Entwickler",
- "Details" : "Details",
- "All" : "Alle",
- "Limit app usage to groups" : "App-Verwendung auf Gruppen beschränken",
- "No results" : "Keine Ergebnisse",
- "Update to {version}" : "Aktualisieren auf {version}",
- "Deploy options" : "Bereitstellungsoptionen",
- "Default Deploy daemon is not accessible" : "Der Standard-Deploy-Daemon ist nicht zugänglich",
- "Delete data on remove" : "Daten beim Entfernen löschen",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Für diese App wurde keine untere Versionsgrenze für Nextcloud gesetzt. Dies wird zukünftig als Fehler behandelt.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Für diese App wurde keine obere Versionsgrenze für Nextcloud gesetzt. Dies wird zukünftig als Fehler behandelt.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Diese App kann nicht installiert werden, weil die folgenden Abhängigkeiten nicht erfüllt sind:",
- "Latest updated" : "Zuletzt aktualisiert",
- "Author" : "Autor",
- "Categories" : "Kategorien",
- "Resources" : "Ressourcen",
- "Documentation" : "Dokumentation",
- "Interact" : "Interagieren",
- "Report a bug" : "Einen technischen Fehler melden",
- "Request feature" : "Funktion vorschlagen",
- "Ask questions or discuss" : "Fragen stellen oder diskutieren",
- "Rate the app" : "App bewerten",
- "Rate" : "Bewerten",
- "Changelog" : "Liste der Veränderungen",
- "Google Chrome for Android" : "Google Chrome für Android",
- "{productName} iOS app" : "{productName} iOS-App",
- "{productName} Android app" : "{productName} Android-App",
- "{productName} Talk for iOS" : "{productName} Talk für iOS",
- "{productName} Talk for Android" : "{productName} Talk für Android",
- "Sync client" : "Sync-Client",
- "This session" : "Diese Sitzung",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Gerätename",
- "Cancel renaming" : "Umbenennen abbrechen",
- "Save new name" : "Neuen Namen speichern",
- "Marked for remote wipe" : "Für Fernlöschung markiert",
- "Device settings" : "Geräteeinstellungen",
- "Allow filesystem access" : "Erlaube Dateisystem-Zugriff",
- "Rename" : "Umbenennen",
- "Revoke" : "Widerrufen",
- "Wipe device" : "Gerät löschen",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Zurückziehen dieses Tokens könnte das Löschen deines Gerät verhindern, so lange die Löschung noch nicht gestartet wurde.",
- "Device" : "Gerät",
- "Last activity" : "Letzte Aktivität",
- "Devices & sessions" : "Geräte & Sitzungen",
- "Web, desktop and mobile clients currently logged in to your account." : "Aktuell in deinem Konto angemeldete Web-, Desktop- und Mobil-Clients:",
- "Error while creating device token" : "Fehler beim Erstellen des Geräte-Tokens",
- "App name" : "App-Name",
- "Create new app password" : "Neues App-Passwort erstellen",
"App password copied!" : "App-Passwort kopiert!",
"Copy app password" : "App-Passwort kopieren",
"Login name copied!" : "Anmeldename kopiert!",
@@ -591,203 +499,11 @@ OC.L10N.register(
"Failed to delete group \"{group}\"" : "Die Gruppe \"{group}\" konnte nicht gelöscht werden",
"Please confirm the group removal" : "Bitte die Löschung der Gruppe bestätigen",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Du bist im Begriff, die Gruppe \"{group}\" zu löschen. Die Konten werden NICHT gelöscht.",
+ "Cancel" : "Abbrechen",
+ "Confirm" : "Bestätigen",
"Submit" : "Übermitteln",
"Rename group" : "Gruppe umbenennen",
"Delete group" : "Gruppe löschen",
- "Current password" : "Aktuelles Passwort",
- "New password" : "Neues Passwort",
- "Change password" : "Passwort ändern",
- "Choose your profile picture" : "Wähle dein Profilbild aus.",
- "Please select a valid png or jpg file" : "Bitte eine gültige PNG- oder JPG-Datei auswählen",
- "Error setting profile picture" : "Fehler beim Einstellen des Profilbilds",
- "Error cropping profile picture" : "Fehler beim Zuschneiden des Profilbilds",
- "Error saving profile picture" : "Fehler beim Speichern des Profilbilds",
- "Error removing profile picture" : "Fehler beim Entfernen des Profilbilds",
- "Your profile picture" : "Dein Profilbild",
- "Upload profile picture" : "Profilbild hochladen",
- "Choose profile picture from Files" : "Profilbild aus Dateien wählen",
- "Remove profile picture" : "Profilbild entfernen",
- "The file must be a PNG or JPG" : "Die Datei muss im PNG- oder JPG-Format sein",
- "Picture provided by original account" : "Bild von Original-Konto zur Verfügung gestellt",
- "Set as profile picture" : "Als Profilbild festlegen",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Bitte beachten, dass es bis zu 24 Stunden dauern kann, bis das Profilbild überall aktualisiert wird.",
- "Your biography. Markdown is supported." : "Deine Biographie. Markdown wird unterstützt.",
- "Unable to update date of birth" : "Geburtsdatum konnte nicht aktualisiert werden",
- "Enter your date of birth" : "Gib dein Geburtsdatum ein",
- "You are using {s}{usage}{/s}" : "Du verwendest {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Du verwendest {s}{usage}{/s} von {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Du bist Mitglied folgender Gruppen:",
- "Your full name" : "Dein vollständiger Name",
- "Email options" : "E-Mail-Optionen",
- "Options for additional email address {index}" : "Optionen für zusätzliche E-Mail-Adresse {index}",
- "Remove primary email" : "Primäre E-Mail-Adresse entfernen",
- "Delete email" : "E-Mail löschen",
- "This address is not confirmed" : "Diese Adresse ist nicht bestätigt",
- "Unset as primary email" : "Als primäre E-Mail-Adresse deaktivieren",
- "Set as primary email" : "Als primäre E-Mail-Adresse festlegen",
- "Additional email address {index}" : "Zusätzliche E-Mail-Adresse {index}",
- "Unable to delete primary email address" : "Primäre E-Mail-Adresse konnte nicht gelöscht werden",
- "Unable to update primary email address" : "Primäre E-Mail-Adresse konnte nicht aktualisiert werden",
- "Unable to add additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht hinzugefügt werden",
- "Unable to update additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht aktualisiert werden",
- "Unable to delete additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht gelöscht werden",
- "Primary email for password reset and notifications" : "Primäre E-Mail-Adresse für Benachrichtigungen und zum Zurücksetzen des Passworts",
- "No email address set" : "Keine E-Mail-Adresse angegeben",
- "Your handle" : "Dein Online-Name",
- "Derived from your locale ({weekDayName})" : "Abgeleitet von deinem Gebietsschema ({weekDayName})",
- "Unable to update first day of week" : "Der erste Tag der Woche kann nicht aktualisiert werden",
- "Day to use as the first day of week" : "Tag, der als erster Tag der Woche verwendet werden soll",
- "Your headline" : "Deine Überschrift",
- "Unable to update language" : "Sprache konnte nicht aktualisiert werden",
- "Languages" : "Sprachen",
- "Help translate" : "Hilf bei der Übersetzung mit",
- "No language set" : "Keine Sprache eingestellt.",
- "Unable to update locale" : "Gebietsschema konnte nicht aktualisiert werden.",
- "Locales" : "Gebietsschemen",
- "Week starts on {firstDayOfWeek}" : "Woche beginnt am {firstDayOfWeek}",
- "No locale set" : "Kein Gebietsschema festgelegt",
- "Your city" : "Deine Stadt",
- "Your organisation" : "Deine Organisation",
- "Your phone number" : "Deine Telefonnummer",
- "Edit your Profile visibility" : "Sichtbarkeit des Profils anpassen",
- "Unable to update profile enabled state" : "Der Status „Profil aktiviert“ kann nicht aktualisiert werden.",
- "Enable profile" : "Profil aktivieren",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Die restriktivere Einstellung von Sichtbarkeit oder Bereich wird in deinem Profil berücksichtigt. Wenn beispielsweise die Sichtbarkeit auf \"Für alle sichtbar\" und der Bereich auf \"Privat\" festgelegt ist, wird \"Privat\" respektiert.",
- "Unable to update visibility of {displayId}" : "Sichtbarkeit von {displayId} kann nicht aktualisiert werden",
- "she/her" : "sie/ihr",
- "he/him" : "er/sein",
- "they/them" : "sie/sie",
- "Your role" : "Deine Funktion",
- "Your X (formerly Twitter) handle" : "Dein X (früher Twitter)-Handle",
- "Your website" : "Deine Webseite",
- "Invalid value" : "Ungültiger Wert",
- "Unable to update {property}" : "{property} konnte nicht aktualisiert werden.",
- "No {property} set" : "Keine {property} eingestellt",
- "Change scope level of {property}, current scope is {scope}" : "Den Geltungsbereich von {property} ändern, aktueller Bereich ist {scope}",
- "Unable to update federation scope of the primary {property}" : "Der Federations-Bereich des primären {property} kann nicht aktualisiert werden.",
- "Unable to update federation scope of additional {property}" : "Der Federations-Bereich des zusätzlichen {property} kann nicht aktualisiert werden.",
- "Add additional email" : "Zusätzliche E-Mail-Adresse hinzufügen",
- "Add" : "Hinzufügen",
- "Create" : "Erstellen",
- "Change" : "Ändern",
- "Delete" : "Löschen",
- "Reshare" : "Weiterteilen",
- "Default language" : "Standard-Sprache",
- "Common languages" : "Gängige Sprachen",
- "Other languages" : "Weitere Sprachen",
- "Password change is disabled because the master key is disabled" : "Das Ändern des Passwortes ist deaktiviert, da der Master-Schlüssel deaktiviert ist",
- "No accounts" : "Keine Konten",
- "Loading accounts …" : "Lade Konten …",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Kontenliste. Diese Liste wird aus Performance-Gründen nicht vollständig ausgegeben. Die Konten werden ausgegeben, wenn durch die Liste navigiert wird.",
- "Manager" : "Manager",
- "Set line manager" : "Linien-Manager festlegen",
- "Account name will be autogenerated" : "Kontenname wird automatisch erstellt",
- "Account name (required)" : "Kontoname (erforderlich)",
- "Failed to search groups" : "Suche nach Gruppen fehlgeschlagen",
- "New account" : "Neues Konto",
- "Display name" : "Anzeigename",
- "Either password or email is required" : "Passwort oder E-Mail-Adresse ist erforderlich.",
- "Password (required)" : "Passwort (erforderlich)",
- "Email (required)" : "E-Mail-Adresse (erforderlich)",
- "Email" : "E-Mail-Adresse",
- "Member of the following groups (required)" : "Mitglied der folgenden Gruppen (erforderlich)",
- "Member of the following groups" : "Mitglied der folgenden Gruppen",
- "Set account groups" : "Kontengruppen setzen",
- "Admin of the following groups" : "Administration der folgenden Gruppen",
- "Set account as admin for …" : "Konto als Administration setzen für …",
- "Quota" : "Kontingent",
- "Set account quota" : "Kontokontigent setzen",
- "Language" : "Sprache",
- "Set default language" : "Standard-Sprache einstellen",
- "Add new account" : "Neues Konto hinzufügen",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} Konto …","{userCount} Konten …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} Konto","{userCount} Konten"],
- "Total rows summary" : "Zusammenfassung aller Zeilen",
- "Scroll to load more rows" : "Scrollen, um weitere Zeilen zu laden",
- "Password or insufficient permissions message" : "Passwort oder unzureichende Berechtigungen Nachricht",
- "Avatar" : "Avatar",
- "Account name" : "Kontoname",
- "Group admin for" : "Gruppenadministration für",
- "Account backend" : "Konto-Backend",
- "Storage location" : "Speicherort",
- "First login" : "Erste Anmeldung",
- "Last login" : "Letzte Anmeldung",
- "Account actions" : "Konto-Aktionen",
- "{size} used" : "{size} verwendet",
- "Delete account" : "Konto löschen",
- "Disconnect all devices and delete local data" : "Alle Geräte trennen und lokale Daten löschen",
- "Disable account" : "Konto deaktivieren",
- "Enable account" : "Konto aktivieren",
- "Resend welcome email" : "Willkommens-E-Mail erneut senden",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Im Falle des Verlusts des Gerätes oder der Verlassens der Organisation können mit dieser Funktion sämtliche Nextcloud-Daten von allen Geräten die mit {userid} verbunden sind gelöscht werden. Funktioniert nur wenn das Gerät mit dem Internet verbunden ist.",
- "Remote wipe of devices" : "Fernlöschung von Geräten",
- "Wipe {userid}'s devices" : "Lösche {userid}s Geräte",
- "Wiped {userid}'s devices" : "{userid}s Geräte bereinigt",
- "Failed to load groups with details" : "Gruppen mit Details konnten nicht geladen werden",
- "Failed to load sub admin groups with details" : "Unteradministrations-Gruppen mit Details konnten nicht geladen werden",
- "Failed to update line manager" : "Manager konnte nicht aktualisiert werden",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Vollständig {userid}s Konto löschen inklusive aller persönlichen Dateien, App-Daten, usw.",
- "Account deletion" : "Kontenlöschung",
- "Delete {userid}'s account" : "Konto von {userid} löschen",
- "Display name was successfully changed" : "Der Anzeigename wurde geändert",
- "Password can't be empty" : "Passwort darf nicht leer sein",
- "Password was successfully changed" : "Das Passwort wurde geändert",
- "Email can't be empty" : "E-Mail darf nicht leer sein",
- "Email was successfully changed" : "E-Mail wurde geändert",
- "Welcome mail sent!" : "Willkommens-E-Mail gesendet!",
- "Loading account …" : "Lade Konto …",
- "Change display name" : "Anzeigename ändern",
- "Set new password" : "Neues Passwort setzen",
- "You do not have permissions to see the details of this account" : "Keine Berechtigung, die Details dieses Kontos anzusehen.",
- "Set new email address" : "Neue E-Mail-Adresse setzen",
- "Add account to group" : "Konto zur Gruppe hinzufügen",
- "Set account as admin for" : "Konto als Administration festlegen für",
- "Select account quota" : "Kontokontigent auswählen",
- "Set the language" : "Sprache einstellen",
- "Toggle account actions menu" : "Kontenaktionsmenü umschalten",
- "Done" : "Erledigt",
- "Edit" : "Bearbeiten",
- "Account management settings" : "Kontoverwaltungseinstellungen",
- "Visibility" : "Sichtbarkeit",
- "Show language" : "Sprache anzeigen",
- "Show account backend" : "Konto-Backend anzeigen",
- "Show storage path" : "Speicherpfad anzeigen",
- "Show first login" : "Erste Anmeldung anzeigen",
- "Show last login" : "Letzte Anmeldung anzeigen",
- "Sorting" : "Sortiere",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Die Systemkonfiguration erzwingt die Sortierung der Gruppen nach Namen. Dadurch wird auch die Anzeige der Mitgliederzahl deaktiviert.",
- "Group list sorting" : "Sortierung der Gruppenliste",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Aus Leistungsgründen wird die Sortierung nur auf die aktuell geladenen Gruppen angewendet. Gruppen werden beim Navigieren oder Suchen geladen.",
- "By member count" : "Nach Mitgliederzahl",
- "By name" : "Nach Name",
- "Send email" : "E-Mail senden",
- "Send welcome email to new accounts" : "Begrüßungs-E-Mail an neuen Konten senden",
- "Defaults" : "Standardeinstellungen",
- "Default quota" : "Standardkontingent",
- "Select default quota" : "Standardkontingent auswählen",
- "Server error while trying to complete WebAuthn device registration" : "Serverfehler beim Versuch die WebAuthn-Geräte-Registrierung abzuschließen",
- "Passwordless authentication requires a secure connection." : "Die Anmeldung ohne Passwort erfordert eine sichere Verbindung.",
- "Add WebAuthn device" : "WebAuthn-Gerät hinzufügen",
- "Please authorize your WebAuthn device." : "Bitte das WebAuthn-Gerät autorisieren.",
- "Adding your device …" : "Dieses Gerät hinzufügen …",
- "Unnamed device" : "Unbenanntes Gerät",
- "Passwordless Authentication" : "Authentifizierung ohne Passwort",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Dieses Konto für die Authentifizierung ohne Passwort nach dem FIDO2-Standard einrichten.",
- "No devices configured." : "Keine Geräte eingerichtet.",
- "The following devices are configured for your account:" : "Die folgenden Geräte sind für dein Konto eingerichtet:",
- "Your browser does not support WebAuthn." : "Dein Browser unterstützt kein WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Die Administration kann das Teilen-Verhalten fein abstimmen. Weitere Informationen finden sich in der Dokumentation.",
- "You need to enable the File sharing App." : "Die App \"File sharing\" muss aktiviert werden.",
- "App Store" : "App Store",
- "Loading app list" : "Lade App-Liste",
- "Loading categories" : "Lade Kategorien",
- "Developer documentation ↗" : "Entwickler-Dokumentation ↗",
- "Version {version}, {license}-licensed" : "Version {version}, {license}-lizensiert",
- "Version {version}" : "Version {version}",
- "All accounts" : "Alle Konten",
- "Admins" : "Administration",
- "Account group: {group}" : "Kontengruppe: {group}",
- "Account management" : "Kontoverwaltung",
"Sending…" : "Sende…",
"Email sent" : "E-Mail gesendet",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Beim Aktivieren der Verschlüsselung auf einem Nextcloud-Server werden aus Leistungsgründen nur neue und geänderte Dateien verschlüsselt.",
@@ -797,6 +513,7 @@ OC.L10N.register(
"Date of birth" : "Geburtsdatum",
"Full name" : "Vollständiger Name",
"Additional email" : "Zusätzliche E-Mail-Adresse",
+ "Email" : "E-Mail-Adresse",
"Fediverse (e.g. Mastodon)" : "Fediverse (wie z. B. Mastodon)",
"Headline" : "Überschrift",
"Organisation" : "Organisation",
@@ -806,6 +523,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (früher Twitter)",
"Website" : "Webseite",
"Profile visibility" : "Sichtbarkeit des Profils",
+ "Language" : "Sprache",
"Locale" : "Gebietsschema",
"First day of week" : "Erster Tag der Woche",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nicht verfügbar, da diese Eigenschaft für Kernfunktionen wie Dateifreigabe und Kalendereinladungen erforderlich ist.",
@@ -823,6 +541,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Nur angemeldeten Konten anzeigen",
"Hide" : "Ausblenden",
"Manually installed apps cannot be updated" : "Manuell installierte Apps können nicht aktualisiert werden",
+ "Update to {version}" : "Aktualisieren auf {version}",
"{progress}% Deploying …" : "{progress}% Bereitstellen …",
"{progress}% Initializing …" : "{progress}% Initialisierung …",
"Health checking" : "Gesundheitsprüfung",
@@ -832,6 +551,7 @@ OC.L10N.register(
"Allow untested app" : "Ungetestete App zulassen",
"The app will be downloaded from the App Store" : "Die App wird aus dem App-Store heruntergeladen",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Diese App ist als nicht-kompatibel mit dieser Nextcloud-Version markiert. Fortfahren um die App dennoch zu installieren. Es kann jedoch sein, dass die App nicht wie erwartet funktioniert.",
+ "{size} used" : "{size} verwendet",
"Unknown" : "Unbekannt",
"Never" : "Niemals",
"Could not register device: Network error" : "Gerät konnte nicht registriert werden: Netzwerkfehler",
@@ -850,8 +570,10 @@ OC.L10N.register(
"Could not set group sorting" : "Die Gruppensortierung konnte nicht festgelegt werden",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Zu viele Anfragen aus diesem Netzwerk. Bitte später erneut versuchen oder an die Administration wenden, wenn dies ein Fehler sein sollte.",
"Error" : "Fehler",
+ "Default quota" : "Standardkontingent",
"Account documentation" : "Kontodokumentation",
"Administration documentation" : "Administrationsdokumentation",
+ "Documentation" : "Dokumentation",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud-Hilfe & Datenschutz-Ressourcen",
"General documentation" : "Allgemeine Dokumentation",
@@ -874,6 +596,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP-Passwort",
"Save" : "Speichern",
"Test and verify email settings" : "Testen und überprüfen der E-Mail-Einstellungen",
+ "Send email" : "E-Mail senden",
"Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Für die Sicherheit und Leistung deiner Instanz ist es von großer Bedeutung, dass alles richtig konfiguriert ist. Um dich dabei zu unterstützen, werden einige automatische Prüfungen durchgeführt. Weitere Informationen findest du in der verlinkten Dokumentation.",
"All checks passed." : "Alle Überprüfungen bestanden.",
@@ -899,11 +622,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "Die PHP-Speichergrenze liegt unterhalb des empfohlenen Wertes von %s.",
"for WebAuthn passwordless login" : "für WebAuthn passwortlose Anmeldung",
"for WebAuthn passwordless login, and SFTP storage" : "für WebAuthn passwortlose Anmeldung und SFTP-Speicher",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Der HTTP-Header `%1$s` enthält nicht `%2$s`. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL-Version \"%s\" erkannt. Für optimale Leistung, Stabilität und Funktionalität mit dieser Version von Nextcloud wird PostgreSQL >=12 und <=16 empfohlen.",
- "Set default expiration date for shares" : "Lege das Standardablaufdatum für Freigaben fest",
- "Your biography" : "Deine Biografie",
- "You are using <strong>{usage}</strong>" : "Du benutzt <strong>{usage}</strong>.",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Du benutzt <strong>{usage}</strong> von <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>).",
- "Failed to load subadmin groups with details" : "Unteradministrations-Gruppen mit Details konnten nicht geladen werden"
+ "Set default expiration date for shares" : "Lege das Standardablaufdatum für Freigaben fest"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/de.json b/apps/settings/l10n/de.json
index b16e4a100ca..afd4eedb7a0 100644
--- a/apps/settings/l10n/de.json
+++ b/apps/settings/l10n/de.json
@@ -294,7 +294,6 @@
"HTTP headers" : "HTTP-Header",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- Der `%1$s`-HTTP-Header ist nicht auf `%2$s` gesetzt. Einige Funktionen arbeiten möglicherweise nicht richtig. Es wird daher empfohlen, diese Einstellung entsprechend anzupassen.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Der HTTP-Header `%1$s` ist nicht auf `%2$s` gesetzt. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Der HTTP-Header `%1$s` enthält nicht `%2$s`. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- Der HTTP-Header `%1$s` ist nicht auf \"%2$s\", \"%3$s\", \"%4$s\", \"%5$s\" oder \"%6$s\" gesetzt. Dadurch können Verweisinformationen preisgegeben werden. Siehe die {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- Der HTTP-Header `Strict-Transport-Security` ist nicht auf mindestens `%d` Sekunden eingestellt (aktueller Wert: `%d`). Für erhöhte Sicherheit wird die Verwendung einer langen HSTS-Richtlinie empfohlen.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- Der `Strict-Transport-Security`-HTTP-Header ist fehlerhaft: `%s`. Für erhöhte Sicherheit wird empfohlen, HSTS zu aktivieren.",
@@ -445,97 +444,6 @@
"Could not load section content from app store." : "Abschnittsinhalt konnte nicht aus dem App Store geladen werden.",
"Loading" : "Lade",
"Fetching the latest news…" : "Aktuelle Nachrichten werden abgerufen…",
- "Carousel" : "Karussell",
- "Previous slide" : "Vorherige Folie",
- "Next slide" : "Nächste Folie",
- "Choose slide to display" : "Folie zum Anzeigen auswählen",
- "{index} of {total}" : "{index} von {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Daemon bereitstellen",
- "Type" : "Typ",
- "Display Name" : "Anzeigename",
- "GPUs support" : "GPUs Unterstützung",
- "Compute device" : "Compute-Gerät",
- "Advanced deploy options" : "Erweiterte Bereitstellungsoptionen",
- "Edit ExApp deploy options before installation" : "Bereitstellungsoptionen von ExApp vor der Installation bearbeiten",
- "Configured ExApp deploy options. Can be set only during installation" : "Eingestellte ExApp-Bereitstellungsoptionen. Kann nur während der Installation festgelegt werden",
- "Learn more" : "Mehr erfahren",
- "Environment variables" : "Umgebungsvariablen",
- "ExApp container environment variables" : "Umgebungsvariablen für ExApp-Container",
- "No environment variables defined" : "Keine Umgebungsvariablen definiert",
- "Mounts" : "Einhängepunkte",
- "Define host folder mounts to bind to the ExApp container" : "Host-Ordner-Mounts zum Binden an den ExApp-Container definieren",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Muss auf dem Deploy-Daemon-Host vorhanden sein, bevor die ExApp installiert wird",
- "Host path" : "Hostpfad",
- "Container path" : "Containerpfad",
- "Read-only" : "Schreibgeschützt",
- "Remove mount" : "Einhängepunkt entfernen",
- "New mount" : "Neuer Einhängepunkt",
- "Enter path to host folder" : "Pfad zum Hostordner eingeben",
- "Enter path to container folder" : "Pfad zum Containerordner eingeben",
- "Toggle read-only mode" : "Schreibschutz umschalten",
- "Confirm adding new mount" : "Hinzufügen des neuen Einhängepunkts bestätigen",
- "Confirm" : "Bestätigen",
- "Cancel adding mount" : "Hinzufügen des Einhängepunkts abbrechen",
- "Cancel" : "Abbrechen",
- "Add mount" : "Einhängepunkt hinzufügen",
- "ExApp container mounts" : "ExApp-Container-Einhängepunkte",
- "No mounts defined" : "Keine Einhängepunkte definiert",
- "Description" : "Beschreibung",
- "View in store" : "Im Store anzeigen",
- "Visit website" : "Webseite besuchen",
- "Usage documentation" : "Nutzungsdokumentation",
- "Admin documentation" : "Dokumentation für die Administration",
- "Developer documentation" : "Dokumentation für Entwickler",
- "Details" : "Details",
- "All" : "Alle",
- "Limit app usage to groups" : "App-Verwendung auf Gruppen beschränken",
- "No results" : "Keine Ergebnisse",
- "Update to {version}" : "Aktualisieren auf {version}",
- "Deploy options" : "Bereitstellungsoptionen",
- "Default Deploy daemon is not accessible" : "Der Standard-Deploy-Daemon ist nicht zugänglich",
- "Delete data on remove" : "Daten beim Entfernen löschen",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Für diese App wurde keine untere Versionsgrenze für Nextcloud gesetzt. Dies wird zukünftig als Fehler behandelt.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Für diese App wurde keine obere Versionsgrenze für Nextcloud gesetzt. Dies wird zukünftig als Fehler behandelt.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Diese App kann nicht installiert werden, weil die folgenden Abhängigkeiten nicht erfüllt sind:",
- "Latest updated" : "Zuletzt aktualisiert",
- "Author" : "Autor",
- "Categories" : "Kategorien",
- "Resources" : "Ressourcen",
- "Documentation" : "Dokumentation",
- "Interact" : "Interagieren",
- "Report a bug" : "Einen technischen Fehler melden",
- "Request feature" : "Funktion vorschlagen",
- "Ask questions or discuss" : "Fragen stellen oder diskutieren",
- "Rate the app" : "App bewerten",
- "Rate" : "Bewerten",
- "Changelog" : "Liste der Veränderungen",
- "Google Chrome for Android" : "Google Chrome für Android",
- "{productName} iOS app" : "{productName} iOS-App",
- "{productName} Android app" : "{productName} Android-App",
- "{productName} Talk for iOS" : "{productName} Talk für iOS",
- "{productName} Talk for Android" : "{productName} Talk für Android",
- "Sync client" : "Sync-Client",
- "This session" : "Diese Sitzung",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Gerätename",
- "Cancel renaming" : "Umbenennen abbrechen",
- "Save new name" : "Neuen Namen speichern",
- "Marked for remote wipe" : "Für Fernlöschung markiert",
- "Device settings" : "Geräteeinstellungen",
- "Allow filesystem access" : "Erlaube Dateisystem-Zugriff",
- "Rename" : "Umbenennen",
- "Revoke" : "Widerrufen",
- "Wipe device" : "Gerät löschen",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Zurückziehen dieses Tokens könnte das Löschen deines Gerät verhindern, so lange die Löschung noch nicht gestartet wurde.",
- "Device" : "Gerät",
- "Last activity" : "Letzte Aktivität",
- "Devices & sessions" : "Geräte & Sitzungen",
- "Web, desktop and mobile clients currently logged in to your account." : "Aktuell in deinem Konto angemeldete Web-, Desktop- und Mobil-Clients:",
- "Error while creating device token" : "Fehler beim Erstellen des Geräte-Tokens",
- "App name" : "App-Name",
- "Create new app password" : "Neues App-Passwort erstellen",
"App password copied!" : "App-Passwort kopiert!",
"Copy app password" : "App-Passwort kopieren",
"Login name copied!" : "Anmeldename kopiert!",
@@ -589,203 +497,11 @@
"Failed to delete group \"{group}\"" : "Die Gruppe \"{group}\" konnte nicht gelöscht werden",
"Please confirm the group removal" : "Bitte die Löschung der Gruppe bestätigen",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Du bist im Begriff, die Gruppe \"{group}\" zu löschen. Die Konten werden NICHT gelöscht.",
+ "Cancel" : "Abbrechen",
+ "Confirm" : "Bestätigen",
"Submit" : "Übermitteln",
"Rename group" : "Gruppe umbenennen",
"Delete group" : "Gruppe löschen",
- "Current password" : "Aktuelles Passwort",
- "New password" : "Neues Passwort",
- "Change password" : "Passwort ändern",
- "Choose your profile picture" : "Wähle dein Profilbild aus.",
- "Please select a valid png or jpg file" : "Bitte eine gültige PNG- oder JPG-Datei auswählen",
- "Error setting profile picture" : "Fehler beim Einstellen des Profilbilds",
- "Error cropping profile picture" : "Fehler beim Zuschneiden des Profilbilds",
- "Error saving profile picture" : "Fehler beim Speichern des Profilbilds",
- "Error removing profile picture" : "Fehler beim Entfernen des Profilbilds",
- "Your profile picture" : "Dein Profilbild",
- "Upload profile picture" : "Profilbild hochladen",
- "Choose profile picture from Files" : "Profilbild aus Dateien wählen",
- "Remove profile picture" : "Profilbild entfernen",
- "The file must be a PNG or JPG" : "Die Datei muss im PNG- oder JPG-Format sein",
- "Picture provided by original account" : "Bild von Original-Konto zur Verfügung gestellt",
- "Set as profile picture" : "Als Profilbild festlegen",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Bitte beachten, dass es bis zu 24 Stunden dauern kann, bis das Profilbild überall aktualisiert wird.",
- "Your biography. Markdown is supported." : "Deine Biographie. Markdown wird unterstützt.",
- "Unable to update date of birth" : "Geburtsdatum konnte nicht aktualisiert werden",
- "Enter your date of birth" : "Gib dein Geburtsdatum ein",
- "You are using {s}{usage}{/s}" : "Du verwendest {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Du verwendest {s}{usage}{/s} von {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Du bist Mitglied folgender Gruppen:",
- "Your full name" : "Dein vollständiger Name",
- "Email options" : "E-Mail-Optionen",
- "Options for additional email address {index}" : "Optionen für zusätzliche E-Mail-Adresse {index}",
- "Remove primary email" : "Primäre E-Mail-Adresse entfernen",
- "Delete email" : "E-Mail löschen",
- "This address is not confirmed" : "Diese Adresse ist nicht bestätigt",
- "Unset as primary email" : "Als primäre E-Mail-Adresse deaktivieren",
- "Set as primary email" : "Als primäre E-Mail-Adresse festlegen",
- "Additional email address {index}" : "Zusätzliche E-Mail-Adresse {index}",
- "Unable to delete primary email address" : "Primäre E-Mail-Adresse konnte nicht gelöscht werden",
- "Unable to update primary email address" : "Primäre E-Mail-Adresse konnte nicht aktualisiert werden",
- "Unable to add additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht hinzugefügt werden",
- "Unable to update additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht aktualisiert werden",
- "Unable to delete additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht gelöscht werden",
- "Primary email for password reset and notifications" : "Primäre E-Mail-Adresse für Benachrichtigungen und zum Zurücksetzen des Passworts",
- "No email address set" : "Keine E-Mail-Adresse angegeben",
- "Your handle" : "Dein Online-Name",
- "Derived from your locale ({weekDayName})" : "Abgeleitet von deinem Gebietsschema ({weekDayName})",
- "Unable to update first day of week" : "Der erste Tag der Woche kann nicht aktualisiert werden",
- "Day to use as the first day of week" : "Tag, der als erster Tag der Woche verwendet werden soll",
- "Your headline" : "Deine Überschrift",
- "Unable to update language" : "Sprache konnte nicht aktualisiert werden",
- "Languages" : "Sprachen",
- "Help translate" : "Hilf bei der Übersetzung mit",
- "No language set" : "Keine Sprache eingestellt.",
- "Unable to update locale" : "Gebietsschema konnte nicht aktualisiert werden.",
- "Locales" : "Gebietsschemen",
- "Week starts on {firstDayOfWeek}" : "Woche beginnt am {firstDayOfWeek}",
- "No locale set" : "Kein Gebietsschema festgelegt",
- "Your city" : "Deine Stadt",
- "Your organisation" : "Deine Organisation",
- "Your phone number" : "Deine Telefonnummer",
- "Edit your Profile visibility" : "Sichtbarkeit des Profils anpassen",
- "Unable to update profile enabled state" : "Der Status „Profil aktiviert“ kann nicht aktualisiert werden.",
- "Enable profile" : "Profil aktivieren",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Die restriktivere Einstellung von Sichtbarkeit oder Bereich wird in deinem Profil berücksichtigt. Wenn beispielsweise die Sichtbarkeit auf \"Für alle sichtbar\" und der Bereich auf \"Privat\" festgelegt ist, wird \"Privat\" respektiert.",
- "Unable to update visibility of {displayId}" : "Sichtbarkeit von {displayId} kann nicht aktualisiert werden",
- "she/her" : "sie/ihr",
- "he/him" : "er/sein",
- "they/them" : "sie/sie",
- "Your role" : "Deine Funktion",
- "Your X (formerly Twitter) handle" : "Dein X (früher Twitter)-Handle",
- "Your website" : "Deine Webseite",
- "Invalid value" : "Ungültiger Wert",
- "Unable to update {property}" : "{property} konnte nicht aktualisiert werden.",
- "No {property} set" : "Keine {property} eingestellt",
- "Change scope level of {property}, current scope is {scope}" : "Den Geltungsbereich von {property} ändern, aktueller Bereich ist {scope}",
- "Unable to update federation scope of the primary {property}" : "Der Federations-Bereich des primären {property} kann nicht aktualisiert werden.",
- "Unable to update federation scope of additional {property}" : "Der Federations-Bereich des zusätzlichen {property} kann nicht aktualisiert werden.",
- "Add additional email" : "Zusätzliche E-Mail-Adresse hinzufügen",
- "Add" : "Hinzufügen",
- "Create" : "Erstellen",
- "Change" : "Ändern",
- "Delete" : "Löschen",
- "Reshare" : "Weiterteilen",
- "Default language" : "Standard-Sprache",
- "Common languages" : "Gängige Sprachen",
- "Other languages" : "Weitere Sprachen",
- "Password change is disabled because the master key is disabled" : "Das Ändern des Passwortes ist deaktiviert, da der Master-Schlüssel deaktiviert ist",
- "No accounts" : "Keine Konten",
- "Loading accounts …" : "Lade Konten …",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Kontenliste. Diese Liste wird aus Performance-Gründen nicht vollständig ausgegeben. Die Konten werden ausgegeben, wenn durch die Liste navigiert wird.",
- "Manager" : "Manager",
- "Set line manager" : "Linien-Manager festlegen",
- "Account name will be autogenerated" : "Kontenname wird automatisch erstellt",
- "Account name (required)" : "Kontoname (erforderlich)",
- "Failed to search groups" : "Suche nach Gruppen fehlgeschlagen",
- "New account" : "Neues Konto",
- "Display name" : "Anzeigename",
- "Either password or email is required" : "Passwort oder E-Mail-Adresse ist erforderlich.",
- "Password (required)" : "Passwort (erforderlich)",
- "Email (required)" : "E-Mail-Adresse (erforderlich)",
- "Email" : "E-Mail-Adresse",
- "Member of the following groups (required)" : "Mitglied der folgenden Gruppen (erforderlich)",
- "Member of the following groups" : "Mitglied der folgenden Gruppen",
- "Set account groups" : "Kontengruppen setzen",
- "Admin of the following groups" : "Administration der folgenden Gruppen",
- "Set account as admin for …" : "Konto als Administration setzen für …",
- "Quota" : "Kontingent",
- "Set account quota" : "Kontokontigent setzen",
- "Language" : "Sprache",
- "Set default language" : "Standard-Sprache einstellen",
- "Add new account" : "Neues Konto hinzufügen",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} Konto …","{userCount} Konten …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} Konto","{userCount} Konten"],
- "Total rows summary" : "Zusammenfassung aller Zeilen",
- "Scroll to load more rows" : "Scrollen, um weitere Zeilen zu laden",
- "Password or insufficient permissions message" : "Passwort oder unzureichende Berechtigungen Nachricht",
- "Avatar" : "Avatar",
- "Account name" : "Kontoname",
- "Group admin for" : "Gruppenadministration für",
- "Account backend" : "Konto-Backend",
- "Storage location" : "Speicherort",
- "First login" : "Erste Anmeldung",
- "Last login" : "Letzte Anmeldung",
- "Account actions" : "Konto-Aktionen",
- "{size} used" : "{size} verwendet",
- "Delete account" : "Konto löschen",
- "Disconnect all devices and delete local data" : "Alle Geräte trennen und lokale Daten löschen",
- "Disable account" : "Konto deaktivieren",
- "Enable account" : "Konto aktivieren",
- "Resend welcome email" : "Willkommens-E-Mail erneut senden",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Im Falle des Verlusts des Gerätes oder der Verlassens der Organisation können mit dieser Funktion sämtliche Nextcloud-Daten von allen Geräten die mit {userid} verbunden sind gelöscht werden. Funktioniert nur wenn das Gerät mit dem Internet verbunden ist.",
- "Remote wipe of devices" : "Fernlöschung von Geräten",
- "Wipe {userid}'s devices" : "Lösche {userid}s Geräte",
- "Wiped {userid}'s devices" : "{userid}s Geräte bereinigt",
- "Failed to load groups with details" : "Gruppen mit Details konnten nicht geladen werden",
- "Failed to load sub admin groups with details" : "Unteradministrations-Gruppen mit Details konnten nicht geladen werden",
- "Failed to update line manager" : "Manager konnte nicht aktualisiert werden",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Vollständig {userid}s Konto löschen inklusive aller persönlichen Dateien, App-Daten, usw.",
- "Account deletion" : "Kontenlöschung",
- "Delete {userid}'s account" : "Konto von {userid} löschen",
- "Display name was successfully changed" : "Der Anzeigename wurde geändert",
- "Password can't be empty" : "Passwort darf nicht leer sein",
- "Password was successfully changed" : "Das Passwort wurde geändert",
- "Email can't be empty" : "E-Mail darf nicht leer sein",
- "Email was successfully changed" : "E-Mail wurde geändert",
- "Welcome mail sent!" : "Willkommens-E-Mail gesendet!",
- "Loading account …" : "Lade Konto …",
- "Change display name" : "Anzeigename ändern",
- "Set new password" : "Neues Passwort setzen",
- "You do not have permissions to see the details of this account" : "Keine Berechtigung, die Details dieses Kontos anzusehen.",
- "Set new email address" : "Neue E-Mail-Adresse setzen",
- "Add account to group" : "Konto zur Gruppe hinzufügen",
- "Set account as admin for" : "Konto als Administration festlegen für",
- "Select account quota" : "Kontokontigent auswählen",
- "Set the language" : "Sprache einstellen",
- "Toggle account actions menu" : "Kontenaktionsmenü umschalten",
- "Done" : "Erledigt",
- "Edit" : "Bearbeiten",
- "Account management settings" : "Kontoverwaltungseinstellungen",
- "Visibility" : "Sichtbarkeit",
- "Show language" : "Sprache anzeigen",
- "Show account backend" : "Konto-Backend anzeigen",
- "Show storage path" : "Speicherpfad anzeigen",
- "Show first login" : "Erste Anmeldung anzeigen",
- "Show last login" : "Letzte Anmeldung anzeigen",
- "Sorting" : "Sortiere",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Die Systemkonfiguration erzwingt die Sortierung der Gruppen nach Namen. Dadurch wird auch die Anzeige der Mitgliederzahl deaktiviert.",
- "Group list sorting" : "Sortierung der Gruppenliste",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Aus Leistungsgründen wird die Sortierung nur auf die aktuell geladenen Gruppen angewendet. Gruppen werden beim Navigieren oder Suchen geladen.",
- "By member count" : "Nach Mitgliederzahl",
- "By name" : "Nach Name",
- "Send email" : "E-Mail senden",
- "Send welcome email to new accounts" : "Begrüßungs-E-Mail an neuen Konten senden",
- "Defaults" : "Standardeinstellungen",
- "Default quota" : "Standardkontingent",
- "Select default quota" : "Standardkontingent auswählen",
- "Server error while trying to complete WebAuthn device registration" : "Serverfehler beim Versuch die WebAuthn-Geräte-Registrierung abzuschließen",
- "Passwordless authentication requires a secure connection." : "Die Anmeldung ohne Passwort erfordert eine sichere Verbindung.",
- "Add WebAuthn device" : "WebAuthn-Gerät hinzufügen",
- "Please authorize your WebAuthn device." : "Bitte das WebAuthn-Gerät autorisieren.",
- "Adding your device …" : "Dieses Gerät hinzufügen …",
- "Unnamed device" : "Unbenanntes Gerät",
- "Passwordless Authentication" : "Authentifizierung ohne Passwort",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Dieses Konto für die Authentifizierung ohne Passwort nach dem FIDO2-Standard einrichten.",
- "No devices configured." : "Keine Geräte eingerichtet.",
- "The following devices are configured for your account:" : "Die folgenden Geräte sind für dein Konto eingerichtet:",
- "Your browser does not support WebAuthn." : "Dein Browser unterstützt kein WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Die Administration kann das Teilen-Verhalten fein abstimmen. Weitere Informationen finden sich in der Dokumentation.",
- "You need to enable the File sharing App." : "Die App \"File sharing\" muss aktiviert werden.",
- "App Store" : "App Store",
- "Loading app list" : "Lade App-Liste",
- "Loading categories" : "Lade Kategorien",
- "Developer documentation ↗" : "Entwickler-Dokumentation ↗",
- "Version {version}, {license}-licensed" : "Version {version}, {license}-lizensiert",
- "Version {version}" : "Version {version}",
- "All accounts" : "Alle Konten",
- "Admins" : "Administration",
- "Account group: {group}" : "Kontengruppe: {group}",
- "Account management" : "Kontoverwaltung",
"Sending…" : "Sende…",
"Email sent" : "E-Mail gesendet",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Beim Aktivieren der Verschlüsselung auf einem Nextcloud-Server werden aus Leistungsgründen nur neue und geänderte Dateien verschlüsselt.",
@@ -795,6 +511,7 @@
"Date of birth" : "Geburtsdatum",
"Full name" : "Vollständiger Name",
"Additional email" : "Zusätzliche E-Mail-Adresse",
+ "Email" : "E-Mail-Adresse",
"Fediverse (e.g. Mastodon)" : "Fediverse (wie z. B. Mastodon)",
"Headline" : "Überschrift",
"Organisation" : "Organisation",
@@ -804,6 +521,7 @@
"X (formerly Twitter)" : "X (früher Twitter)",
"Website" : "Webseite",
"Profile visibility" : "Sichtbarkeit des Profils",
+ "Language" : "Sprache",
"Locale" : "Gebietsschema",
"First day of week" : "Erster Tag der Woche",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nicht verfügbar, da diese Eigenschaft für Kernfunktionen wie Dateifreigabe und Kalendereinladungen erforderlich ist.",
@@ -821,6 +539,7 @@
"Show to logged in accounts only" : "Nur angemeldeten Konten anzeigen",
"Hide" : "Ausblenden",
"Manually installed apps cannot be updated" : "Manuell installierte Apps können nicht aktualisiert werden",
+ "Update to {version}" : "Aktualisieren auf {version}",
"{progress}% Deploying …" : "{progress}% Bereitstellen …",
"{progress}% Initializing …" : "{progress}% Initialisierung …",
"Health checking" : "Gesundheitsprüfung",
@@ -830,6 +549,7 @@
"Allow untested app" : "Ungetestete App zulassen",
"The app will be downloaded from the App Store" : "Die App wird aus dem App-Store heruntergeladen",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Diese App ist als nicht-kompatibel mit dieser Nextcloud-Version markiert. Fortfahren um die App dennoch zu installieren. Es kann jedoch sein, dass die App nicht wie erwartet funktioniert.",
+ "{size} used" : "{size} verwendet",
"Unknown" : "Unbekannt",
"Never" : "Niemals",
"Could not register device: Network error" : "Gerät konnte nicht registriert werden: Netzwerkfehler",
@@ -848,8 +568,10 @@
"Could not set group sorting" : "Die Gruppensortierung konnte nicht festgelegt werden",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Zu viele Anfragen aus diesem Netzwerk. Bitte später erneut versuchen oder an die Administration wenden, wenn dies ein Fehler sein sollte.",
"Error" : "Fehler",
+ "Default quota" : "Standardkontingent",
"Account documentation" : "Kontodokumentation",
"Administration documentation" : "Administrationsdokumentation",
+ "Documentation" : "Dokumentation",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud-Hilfe & Datenschutz-Ressourcen",
"General documentation" : "Allgemeine Dokumentation",
@@ -872,6 +594,7 @@
"SMTP Password" : "SMTP-Passwort",
"Save" : "Speichern",
"Test and verify email settings" : "Testen und überprüfen der E-Mail-Einstellungen",
+ "Send email" : "E-Mail senden",
"Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Für die Sicherheit und Leistung deiner Instanz ist es von großer Bedeutung, dass alles richtig konfiguriert ist. Um dich dabei zu unterstützen, werden einige automatische Prüfungen durchgeführt. Weitere Informationen findest du in der verlinkten Dokumentation.",
"All checks passed." : "Alle Überprüfungen bestanden.",
@@ -897,11 +620,8 @@
"The PHP memory limit is below the recommended value of %s." : "Die PHP-Speichergrenze liegt unterhalb des empfohlenen Wertes von %s.",
"for WebAuthn passwordless login" : "für WebAuthn passwortlose Anmeldung",
"for WebAuthn passwordless login, and SFTP storage" : "für WebAuthn passwortlose Anmeldung und SFTP-Speicher",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Der HTTP-Header `%1$s` enthält nicht `%2$s`. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL-Version \"%s\" erkannt. Für optimale Leistung, Stabilität und Funktionalität mit dieser Version von Nextcloud wird PostgreSQL >=12 und <=16 empfohlen.",
- "Set default expiration date for shares" : "Lege das Standardablaufdatum für Freigaben fest",
- "Your biography" : "Deine Biografie",
- "You are using <strong>{usage}</strong>" : "Du benutzt <strong>{usage}</strong>.",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Du benutzt <strong>{usage}</strong> von <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>).",
- "Failed to load subadmin groups with details" : "Unteradministrations-Gruppen mit Details konnten nicht geladen werden"
+ "Set default expiration date for shares" : "Lege das Standardablaufdatum für Freigaben fest"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/de_DE.js b/apps/settings/l10n/de_DE.js
index 802ba9a1362..950d324f060 100644
--- a/apps/settings/l10n/de_DE.js
+++ b/apps/settings/l10n/de_DE.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP-Header",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- Der `%1$s`-HTTP-Header ist nicht auf `%2$s` gesetzt. Einige Funktionen arbeiten möglicherweise nicht richtig. Es wird daher empfohlen, diese Einstellung entsprechend anzupassen.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Der HTTP-Header `%1$s` ist nicht auf `%2$s` gesetzt. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Der HTTP-Header `%1$s` enthält nicht `%2$s`. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- Der HTTP-Header `%1$s` ist nicht auf \"%2$s\", \"%3$s\", \"%4$s\", \"%5$s\" oder \"%6$s\" gesetzt. Dadurch können Verweisinformationen preisgegeben werden. Siehe die {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- Der HTTP-Header `Strict-Transport-Security` ist nicht auf mindestens `%d` Sekunden eingestellt (aktueller Wert: `%d`). Für erhöhte Sicherheit wird die Verwendung einer langen HSTS-Richtlinie empfohlen.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- Der `Strict-Transport-Security`-HTTP-Header ist fehlerhaft: `%s`. Für erhöhte Sicherheit wird empfohlen, HSTS zu aktivieren.",
@@ -447,97 +446,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Abschnittsinhalt konnte nicht aus dem App Store geladen werden.",
"Loading" : "Lade",
"Fetching the latest news…" : "Aktuelle Nachrichten werden abgerufen…",
- "Carousel" : "Karussell",
- "Previous slide" : "Vorherige Folie",
- "Next slide" : "Nächste Folie",
- "Choose slide to display" : "Folie zum Anzeigen auswählen",
- "{index} of {total}" : "{index} von {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Daemon bereitstellen",
- "Type" : "Typ",
- "Display Name" : "Anzeigename",
- "GPUs support" : "GPUs-Unterstützung",
- "Compute device" : "Compute-Gerät",
- "Advanced deploy options" : "Erweiterte Bereitstellungsoptionen",
- "Edit ExApp deploy options before installation" : "Bereitstellungsoptionen von ExApp vor der Installation bearbeiten",
- "Configured ExApp deploy options. Can be set only during installation" : "Eingestellte ExApp-Bereitstellungsoptionen. Kann nur während der Installation festgelegt werden",
- "Learn more" : "Mehr erfahren",
- "Environment variables" : "Umgebungsvariablen",
- "ExApp container environment variables" : "Umgebungsvariablen für ExApp-Container",
- "No environment variables defined" : "Keine Umgebungsvariablen definiert",
- "Mounts" : "Einhängepunkte",
- "Define host folder mounts to bind to the ExApp container" : "Host-Ordner-Mounts zum Binden an den ExApp-Container definieren",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Muss auf dem Deploy-Daemon-Host vorhanden sein, bevor die ExApp installiert wird",
- "Host path" : "Hostpfad",
- "Container path" : "Containerpfad",
- "Read-only" : "Schreibgeschützt",
- "Remove mount" : "Einhängepunkt entfernen",
- "New mount" : "Neuer Einhängepunkt",
- "Enter path to host folder" : "Pfad zum Hostordner eingeben",
- "Enter path to container folder" : "Pfad zum Containerordner eingeben",
- "Toggle read-only mode" : "Schreibschutz umschalten",
- "Confirm adding new mount" : "Hinzufügen des neuen Einhängepunkts bestätigen",
- "Confirm" : "Bestätigen",
- "Cancel adding mount" : "Hinzufügen des Einhängepunkts abbrechen",
- "Cancel" : "Abbrechen",
- "Add mount" : "Einhängepunkt hinzufügen",
- "ExApp container mounts" : "ExApp-Container-Einhängepunkte",
- "No mounts defined" : "Keine Einhängepunkte definiert",
- "Description" : "Beschreibung",
- "View in store" : "Im Store anzeigen",
- "Visit website" : "Webseite besuchen",
- "Usage documentation" : "Nutzungsdokumentation",
- "Admin documentation" : "Dokumentation für die Administration",
- "Developer documentation" : "Dokumentation für Entwickler",
- "Details" : "Details",
- "All" : "Alle",
- "Limit app usage to groups" : "App-Verwendung auf Gruppen beschränken",
- "No results" : "Keine Ergebnisse",
- "Update to {version}" : "Aktualisieren auf {version}",
- "Deploy options" : "Bereitstellungsoptionen",
- "Default Deploy daemon is not accessible" : "Der Standard-Deploy-Daemon ist nicht zugänglich",
- "Delete data on remove" : "Daten beim Entfernen löschen",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Für diese App wurde keine untere Versionsgrenze für Nextcloud gesetzt. Dies wird zukünftig als Fehler behandelt.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Für diese App wurde keine obere Versionsgrenze für Nextcloud gesetzt. Dies wird zukünftig als Fehler behandelt.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Diese App kann nicht installiert werden, weil die folgenden Abhängigkeiten nicht erfüllt sind:",
- "Latest updated" : "Zuletzt aktualisiert",
- "Author" : "Autor",
- "Categories" : "Kategorien",
- "Resources" : "Ressourcen",
- "Documentation" : "Dokumentation",
- "Interact" : "Interagieren",
- "Report a bug" : "Einen technischen Fehler melden",
- "Request feature" : "Funktion vorschlagen",
- "Ask questions or discuss" : "Fragen stellen oder diskutieren",
- "Rate the app" : "App bewerten",
- "Rate" : "Bewerten",
- "Changelog" : "Liste der Änderungen",
- "Google Chrome for Android" : "Google Chrome für Android",
- "{productName} iOS app" : "{productName} iOS-App",
- "{productName} Android app" : "{productName} Android-App",
- "{productName} Talk for iOS" : "{productName} Talk für iOS",
- "{productName} Talk for Android" : "{productName} Talk für Android",
- "Sync client" : "Sync-Client",
- "This session" : "Diese Sitzung",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Gerätename",
- "Cancel renaming" : "Umbenennen abbrechen",
- "Save new name" : "Neuen Namen speichern",
- "Marked for remote wipe" : "Für Fernlöschung markiert",
- "Device settings" : "Geräteeinstellungen",
- "Allow filesystem access" : "Erlaube Dateisystem-Zugriff",
- "Rename" : "Umbenennen",
- "Revoke" : "Widerrufen",
- "Wipe device" : "Gerät löschen",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Zurückziehen dieses Tokens könnte das Löschen von Ihrem Gerät verhindern, wenn die Löschung noch nicht gestartet wurde.",
- "Device" : "Gerät",
- "Last activity" : "Letzte Aktivität",
- "Devices & sessions" : "Geräte & Sitzungen",
- "Web, desktop and mobile clients currently logged in to your account." : "Aktuell in Ihrem Konto angemeldete Web-, Desktop- und Mobil-Clients.",
- "Error while creating device token" : "Fehler beim Erstellen des Geräte-Tokens",
- "App name" : "App-Name",
- "Create new app password" : "Neues App-Passwort erstellen",
"App password copied!" : "App-Passwort kopiert!",
"Copy app password" : "App-Passwort kopieren",
"Login name copied!" : "Anmeldename kopiert!",
@@ -591,203 +499,11 @@ OC.L10N.register(
"Failed to delete group \"{group}\"" : "Die Gruppe \"{group}\" konnte nicht gelöscht werden",
"Please confirm the group removal" : "Bitte die Löschung der Gruppe bestätigen",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Sie sind im Begriff, die Gruppe \"{group}\" zu löschen. Die Konten werden NICHT gelöscht.",
+ "Cancel" : "Abbrechen",
+ "Confirm" : "Bestätigen",
"Submit" : "Übermitteln",
"Rename group" : "Gruppe umbenennen",
"Delete group" : "Gruppe löschen",
- "Current password" : "Aktuelles Passwort",
- "New password" : "Neues Passwort",
- "Change password" : "Passwort ändern",
- "Choose your profile picture" : "Wählen Sie Ihr Profilbild aus.",
- "Please select a valid png or jpg file" : "Bitte eine gültige PNG- oder JPG-Datei auswählen",
- "Error setting profile picture" : "Fehler beim Einstellen des Profilbilds",
- "Error cropping profile picture" : "Fehler beim Zuschneiden des Profilbilds",
- "Error saving profile picture" : "Fehler beim Speichern des Profilbilds",
- "Error removing profile picture" : "Fehler beim Entfernen des Profilbilds",
- "Your profile picture" : "Ihr Profilbild",
- "Upload profile picture" : "Profilbild hochladen",
- "Choose profile picture from Files" : "Profilbild aus Dateien wählen",
- "Remove profile picture" : "Profilbild entfernen",
- "The file must be a PNG or JPG" : "Die Datei muss im PNG- oder JPG-Format sein",
- "Picture provided by original account" : "Bild von Original-Konto zur Verfügung gestellt",
- "Set as profile picture" : "Als Profilbild festlegen",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Bitte beachten, dass es bis zu 24 Stunden dauern kann, bis Ihr Profilbild überall aktualisiert ist.",
- "Your biography. Markdown is supported." : "Ihre Biographie. Markdown wird unterstützt.",
- "Unable to update date of birth" : "Geburtsdatum konnte nicht aktualisiert werden",
- "Enter your date of birth" : "Geben Sie Ihr Geburtsdatum ein",
- "You are using {s}{usage}{/s}" : "Sie verwenden {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Sie verwenden {s}{usage}{/s} von {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Sie sind Mitglied folgender Gruppen:",
- "Your full name" : "Ihr vollständiger Name",
- "Email options" : "E-Mail-Optionen",
- "Options for additional email address {index}" : "Optionen für zusätzliche E-Mail-Adresse {index}",
- "Remove primary email" : "Primäre E-Mail-Adresse entfernen",
- "Delete email" : "E-Mail löschen",
- "This address is not confirmed" : "Diese Adresse ist nicht bestätigt",
- "Unset as primary email" : "Als primäre E-Mail-Adresse deaktiviert",
- "Set as primary email" : "Als primäre E-Mail-Adresse festlegen",
- "Additional email address {index}" : "Zusätzliche E-Mail-Adresse {index}",
- "Unable to delete primary email address" : "Primäre E-Mail-Adresse konnte nicht gelöscht werden",
- "Unable to update primary email address" : "Primäre E-Mail-Adresse konnte nicht aktualisiert werden",
- "Unable to add additional email address" : "Zusätzliche E-Mail-Adresse kann nicht hinzugefügt werden",
- "Unable to update additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht aktualisiert werden",
- "Unable to delete additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht gelöscht werden",
- "Primary email for password reset and notifications" : "Primäre E-Mail-Adresse für Benachrichtigungen und zum Zurücksetzen des Passworts",
- "No email address set" : "Keine E-Mail-Adresse angegeben",
- "Your handle" : "Ihr Online-Name",
- "Derived from your locale ({weekDayName})" : "Abgeleitet von Ihrem Gebietsschema ({weekDayName})",
- "Unable to update first day of week" : "Der erste Tag der Woche kann nicht aktualisiert werden",
- "Day to use as the first day of week" : "Tag, der als erster Tag der Woche verwendet werden soll",
- "Your headline" : "Ihre Überschrift",
- "Unable to update language" : "Sprache konnte nicht aktualisiert werden",
- "Languages" : "Sprachen",
- "Help translate" : "Helfen Sie bei der Übersetzung",
- "No language set" : "Keine Sprache eingestellt",
- "Unable to update locale" : "Gebietsschema kann nicht aktualisiert werden",
- "Locales" : "Gebietsschemen",
- "Week starts on {firstDayOfWeek}" : "Woche beginnt am {firstDayOfWeek}",
- "No locale set" : "Kein Gebietsschema festgelegt",
- "Your city" : "Ihre Stadt",
- "Your organisation" : "Ihre Organisation",
- "Your phone number" : "Ihre Telefonnummer",
- "Edit your Profile visibility" : "Sichtbarkeit des Profils anpassen",
- "Unable to update profile enabled state" : "Der Status für aktiviertes Profil konnte nicht aktualisiert werden",
- "Enable profile" : "Profil aktivieren",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Die restriktivere Einstellung von Sichtbarkeit oder Bereich wird in Ihrem Profil berücksichtigt. Wenn beispielsweise die Sichtbarkeit auf \"Für alle sichtbar\" und der Bereich auf \"Privat\" festgelegt ist, wird \"Privat\" respektiert.",
- "Unable to update visibility of {displayId}" : "Sichtbarkeit von {displayId} kann nicht aktualisiert werden",
- "she/her" : "sie/ihr",
- "he/him" : "er/sein",
- "they/them" : "sie/sie",
- "Your role" : "Ihre Funktion",
- "Your X (formerly Twitter) handle" : "Ihr X (früher Twitter)-Handle",
- "Your website" : "Ihre Webseite",
- "Invalid value" : "Ungültiger Wert",
- "Unable to update {property}" : "{property} konnte nicht aktualisiert werden",
- "No {property} set" : "Keine {property} gesetzt",
- "Change scope level of {property}, current scope is {scope}" : "Ändern des Geltungsbereich von {property}, aktueller Bereich ist {scope}",
- "Unable to update federation scope of the primary {property}" : "Der Federation-Bereich des primären {property} kann nicht aktualisiert werden",
- "Unable to update federation scope of additional {property}" : "Der Federation-Bereich des zusätzlichen {property} kann nicht aktualisiert werden",
- "Add additional email" : "Zusätzliche E-Mail-Adresse hinzufügen",
- "Add" : "Hinzufügen",
- "Create" : "Erstellen",
- "Change" : "Ändern",
- "Delete" : "Löschen",
- "Reshare" : "Weiterteilen",
- "Default language" : "Standard-Sprache",
- "Common languages" : "Gebräuchliche Sprachen",
- "Other languages" : "Weitere Sprachen",
- "Password change is disabled because the master key is disabled" : "Das Ändern des Passwortes ist deaktiviert, da der Master-Schlüssel deaktiviert ist",
- "No accounts" : "Keine Konten",
- "Loading accounts …" : "Lade Konten …",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Kontenliste. Diese Liste wird aus Performance-Gründen nicht vollständig ausgegeben. Die Konten werden ausgegeben, wenn Sie durch die Liste navigieren.",
- "Manager" : "Manager",
- "Set line manager" : "Manager festlegen",
- "Account name will be autogenerated" : "Kontenname wird automatisch erstellt",
- "Account name (required)" : "Kontoname (erforderlich)",
- "Failed to search groups" : "Gruppen konnten nicht gesucht werden",
- "New account" : "Neues Konto",
- "Display name" : "Anzeigename",
- "Either password or email is required" : "Passwort oder E-Mail-Adresse ist erforderlich",
- "Password (required)" : "Passwort (erforderlich)",
- "Email (required)" : "E-Mail-Adresse (erforderlich)",
- "Email" : "E-Mail-Adresse",
- "Member of the following groups (required)" : "Mitglied der folgenden Gruppen (erforderlich)",
- "Member of the following groups" : "Mitglied der folgenden Gruppen",
- "Set account groups" : "Kontengruppen setzen",
- "Admin of the following groups" : "Administration der folgenden Gruppen",
- "Set account as admin for …" : "Konto als Administration setzen für …",
- "Quota" : "Kontingent",
- "Set account quota" : "Kontokontigent setzen",
- "Language" : "Sprache",
- "Set default language" : "Standard-Sprache einstellen",
- "Add new account" : "Neues Konto hinzufügen",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} Konto …","{userCount} Konten …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} Konto","{userCount} Konten"],
- "Total rows summary" : "Zusammenfassung aller Zeilen",
- "Scroll to load more rows" : "Scrollen, um weitere Zeilen zu laden",
- "Password or insufficient permissions message" : "Passwort oder unzureichende Berechtigungen Nachricht",
- "Avatar" : "Avatar",
- "Account name" : "Kontoname",
- "Group admin for" : "Gruppenadministration für",
- "Account backend" : "Konto-Backend",
- "Storage location" : "Speicherort",
- "First login" : "Erste Anmeldung",
- "Last login" : "Letzte Anmeldung",
- "Account actions" : "Konto-Aktionen",
- "{size} used" : "{size} verwendet",
- "Delete account" : "Konto löschen",
- "Disconnect all devices and delete local data" : "Alle Geräte trennen und lokale Daten löschen",
- "Disable account" : "Konto deaktivieren",
- "Enable account" : "Konto aktivieren",
- "Resend welcome email" : "Willkommens-E-Mail erneut senden",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Im Falle des Verlusts des Gerätes oder des Verlassens der Organisation können mit dieser Funktion sämtliche Nextcloud-Daten von allen Geräten, die mit {userid} verbunden sind, gelöscht werden. Funktioniert nur, wenn das Gerät mit dem Internet verbunden ist.",
- "Remote wipe of devices" : "Fernlöschung von Geräten",
- "Wipe {userid}'s devices" : "Lösche {userid}s Geräte",
- "Wiped {userid}'s devices" : "{userid}s Geräte gelöscht",
- "Failed to load groups with details" : "Gruppen mit Details konnten nicht geladen werden",
- "Failed to load sub admin groups with details" : "Unteradministrations-Gruppen mit Details konnten nicht geladen werden",
- "Failed to update line manager" : "Manager konnte nicht aktualisiert werden",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Lösche {userid}s Konto vollständig inklusive aller persönlichen Dateien, App-Daten, usw.",
- "Account deletion" : "Löschung des Kontos",
- "Delete {userid}'s account" : "Konto von {userid} löschen",
- "Display name was successfully changed" : "Der Anzeigename wurde geändert",
- "Password can't be empty" : "Passwort darf nicht leer sein",
- "Password was successfully changed" : "Das Passwort wurde geändert",
- "Email can't be empty" : "E-Mail darf nicht leer sein",
- "Email was successfully changed" : "E-Mail-Adresse wurde geändert",
- "Welcome mail sent!" : "Willkommens-E-Mail gesendet!",
- "Loading account …" : "Lade Konto …",
- "Change display name" : "Anzeigename ändern",
- "Set new password" : "Neues Passwort setzen",
- "You do not have permissions to see the details of this account" : "Keine Berechtigung, die Details dieses Kontos anzusehen.",
- "Set new email address" : "Neue E-Mail-Adresse setzen",
- "Add account to group" : "Konto zur Gruppe hinzufügen",
- "Set account as admin for" : "Konto als Administration festlegen für",
- "Select account quota" : "Kontokontigent auswählen",
- "Set the language" : "Sprache einstellen",
- "Toggle account actions menu" : "Kontenaktionsmenü umschalten",
- "Done" : "Erledigt",
- "Edit" : "Bearbeiten",
- "Account management settings" : "Kontoverwaltungseinstellungen",
- "Visibility" : "Sichtbarkeit",
- "Show language" : "Sprache anzeigen",
- "Show account backend" : "Konto-Backend anzeigen",
- "Show storage path" : "Speicherpfad anzeigen",
- "Show first login" : "Erste Anmeldung anzeigen",
- "Show last login" : "Letzte Anmeldung anzeigen",
- "Sorting" : "Sortierung",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Die Systemkonfiguration erzwingt die Sortierung der Gruppen nach Namen. Dadurch wird auch die Anzeige der Kontenzahl deaktiviert.",
- "Group list sorting" : "Sortierung der Gruppenliste",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Aus Leistungsgründen wird die Sortierung nur auf die aktuell geladenen Gruppen angewendet. Gruppen werden beim Navigieren oder Suchen geladen.",
- "By member count" : "Nach Kontenzahl",
- "By name" : "Nach Name",
- "Send email" : "E-Mail senden",
- "Send welcome email to new accounts" : "Begrüßungs-E-Mail an neuen Konten senden",
- "Defaults" : "Standardeinstellungen",
- "Default quota" : "Standard Speicherkontingent ",
- "Select default quota" : "Standardkontingent auswählen",
- "Server error while trying to complete WebAuthn device registration" : "Serverfehler beim Versuch die WebAuthn-Geräte-Registrierung abzuschließen",
- "Passwordless authentication requires a secure connection." : "Die Anmeldung ohne Passwort erfordert eine sichere Verbindung.",
- "Add WebAuthn device" : "WebAuthn-Gerät hinzufügen",
- "Please authorize your WebAuthn device." : "Bitte das WebAuthn-Gerät autorisieren.",
- "Adding your device …" : "Dieses Gerät hinzufügen …",
- "Unnamed device" : "Unbenanntes Gerät",
- "Passwordless Authentication" : "Authentifizierung ohne Passwort",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Dieses Konto für die Authentifizierung ohne Passwort nach dem FIDO2-Standard einrichten.",
- "No devices configured." : "Keine Geräte eingerichtet.",
- "The following devices are configured for your account:" : "Die folgenden Geräte sind für Ihr Konto eingerichtet:",
- "Your browser does not support WebAuthn." : "Ihr Browser unterstützt kein WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als Administration können Sie das Teilen-Verhalten feinabstimmen. Weitere Informationen finden Sie in der Dokumentation.",
- "You need to enable the File sharing App." : "Die App \"File sharing\" muss aktiviert werden.",
- "App Store" : "App Store",
- "Loading app list" : "Lade App-Liste",
- "Loading categories" : "Lade Kategorien",
- "Developer documentation ↗" : "Entwickler-Dokumentation ↗",
- "Version {version}, {license}-licensed" : "Version {version}, {license}-lizensiert",
- "Version {version}" : "Version {version}",
- "All accounts" : "Alle Konten",
- "Admins" : "Administration",
- "Account group: {group}" : "Kontengruppe: {group}",
- "Account management" : "Kontoverwaltung",
"Sending…" : "Senden…",
"Email sent" : "E-Mail gesendet",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Beim Aktivieren der Verschlüsselung auf einem Nextcloud-Server werden aus Leistungsgründen nur neue und geänderte Dateien verschlüsselt.",
@@ -797,6 +513,7 @@ OC.L10N.register(
"Date of birth" : "Geburtsdatum",
"Full name" : "Vollständiger Name",
"Additional email" : "Zusätzliche E-Mail-Adresse",
+ "Email" : "E-Mail-Adresse",
"Fediverse (e.g. Mastodon)" : "Fediverse (wie z. B. Mastodon)",
"Headline" : "Überschrift",
"Organisation" : "Organisation",
@@ -806,6 +523,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (früher Twitter)",
"Website" : "Webseite",
"Profile visibility" : "Sichtbarkeit des Profils",
+ "Language" : "Sprache",
"Locale" : "Gebietsschema",
"First day of week" : "Erster Tag der Woche",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nicht verfügbar, da diese Eigenschaft für Kernfunktionen wie Dateifreigabe und Kalendereinladungen erforderlich ist.",
@@ -823,6 +541,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Nur angemeldeten Konten anzeigen",
"Hide" : "Ausblenden",
"Manually installed apps cannot be updated" : "Manuell installierte Apps können nicht aktualisiert werden",
+ "Update to {version}" : "Aktualisieren auf {version}",
"{progress}% Deploying …" : "{progress}% bereitstellen …",
"{progress}% Initializing …" : "{progress}% initialisiere …",
"Health checking" : "Gesundheitsprüfung",
@@ -832,6 +551,7 @@ OC.L10N.register(
"Allow untested app" : "Ungetestete App zulassen",
"The app will be downloaded from the App Store" : "Die App wird aus dem App-Store heruntergeladen",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Diese App ist als nicht-kompatibel mit Ihrer Nextcloud-Version markiert. Wenn Sie fortfahren, so können Sie die App installieren. Bitte beachten Sie, dass die App nicht wie erwartet funktionieren könnte.",
+ "{size} used" : "{size} verwendet",
"Unknown" : "Unbekannt",
"Never" : "Niemals",
"Could not register device: Network error" : "Gerät konnte nicht registriert werden: Netzwerkfehler",
@@ -850,8 +570,10 @@ OC.L10N.register(
"Could not set group sorting" : "Die Gruppensortierung konnte nicht festgelegt werden",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Zu viele Anfragen aus Ihrem Netzwerk. Versuchen Sie es später erneut oder wenden Sie sich an Ihre Administration, wenn dies ein Fehler sein sollte.",
"Error" : "Fehler",
+ "Default quota" : "Standard Speicherkontingent ",
"Account documentation" : "Kontodokumentation",
"Administration documentation" : "Administrationsdokumentation",
+ "Documentation" : "Dokumentation",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud-Hilfe & Datenschutz-Ressourcen",
"General documentation" : "Allgemeine Dokumentation",
@@ -874,6 +596,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP-Passwort",
"Save" : "Speichern",
"Test and verify email settings" : "Testen und Überprüfen der E-Mail-Einstellungen",
+ "Send email" : "E-Mail senden",
"Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Für die Sicherheit und Leistung Ihrer Instanz ist es von großer Bedeutung, dass alles richtig konfiguriert ist. Um Sie dabei zu unterstützen, werden einige automatische Prüfungen durchgeführt. Weitere Informationen finden Sie in der verlinkten Dokumentation.",
"All checks passed." : "Alle Überprüfungen bestanden.",
@@ -899,11 +622,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "Das PHP-Speicherllmit liegt unterhalb des empfohlenen Wertes von %s.",
"for WebAuthn passwordless login" : "für WebAuthn passwortlose Anmeldung",
"for WebAuthn passwordless login, and SFTP storage" : "für WebAuthn passwortlose Anmeldung und SFTP-Speicher",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Der HTTP-Header `%1$s` enthält nicht `%2$s`. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL-Version \"%s\" erkannt. Für optimale Leistung, Stabilität und Funktionalität mit dieser Version von Nextcloud wird PostgreSQL >=12 und <=16 empfohlen.",
- "Set default expiration date for shares" : "Legen Sie das Standardablaufdatum für Freigaben fest",
- "Your biography" : "Ihre Biografie",
- "You are using <strong>{usage}</strong>" : "Sie benutzen <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Sie benutzen <strong>{usage}</strong> von <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Unteradministrations-Gruppen mit Details konnten nicht geladen werden"
+ "Set default expiration date for shares" : "Legen Sie das Standardablaufdatum für Freigaben fest"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/de_DE.json b/apps/settings/l10n/de_DE.json
index dd1e563e36e..1c5cc1b55c8 100644
--- a/apps/settings/l10n/de_DE.json
+++ b/apps/settings/l10n/de_DE.json
@@ -294,7 +294,6 @@
"HTTP headers" : "HTTP-Header",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- Der `%1$s`-HTTP-Header ist nicht auf `%2$s` gesetzt. Einige Funktionen arbeiten möglicherweise nicht richtig. Es wird daher empfohlen, diese Einstellung entsprechend anzupassen.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Der HTTP-Header `%1$s` ist nicht auf `%2$s` gesetzt. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Der HTTP-Header `%1$s` enthält nicht `%2$s`. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- Der HTTP-Header `%1$s` ist nicht auf \"%2$s\", \"%3$s\", \"%4$s\", \"%5$s\" oder \"%6$s\" gesetzt. Dadurch können Verweisinformationen preisgegeben werden. Siehe die {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- Der HTTP-Header `Strict-Transport-Security` ist nicht auf mindestens `%d` Sekunden eingestellt (aktueller Wert: `%d`). Für erhöhte Sicherheit wird die Verwendung einer langen HSTS-Richtlinie empfohlen.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- Der `Strict-Transport-Security`-HTTP-Header ist fehlerhaft: `%s`. Für erhöhte Sicherheit wird empfohlen, HSTS zu aktivieren.",
@@ -445,97 +444,6 @@
"Could not load section content from app store." : "Abschnittsinhalt konnte nicht aus dem App Store geladen werden.",
"Loading" : "Lade",
"Fetching the latest news…" : "Aktuelle Nachrichten werden abgerufen…",
- "Carousel" : "Karussell",
- "Previous slide" : "Vorherige Folie",
- "Next slide" : "Nächste Folie",
- "Choose slide to display" : "Folie zum Anzeigen auswählen",
- "{index} of {total}" : "{index} von {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Daemon bereitstellen",
- "Type" : "Typ",
- "Display Name" : "Anzeigename",
- "GPUs support" : "GPUs-Unterstützung",
- "Compute device" : "Compute-Gerät",
- "Advanced deploy options" : "Erweiterte Bereitstellungsoptionen",
- "Edit ExApp deploy options before installation" : "Bereitstellungsoptionen von ExApp vor der Installation bearbeiten",
- "Configured ExApp deploy options. Can be set only during installation" : "Eingestellte ExApp-Bereitstellungsoptionen. Kann nur während der Installation festgelegt werden",
- "Learn more" : "Mehr erfahren",
- "Environment variables" : "Umgebungsvariablen",
- "ExApp container environment variables" : "Umgebungsvariablen für ExApp-Container",
- "No environment variables defined" : "Keine Umgebungsvariablen definiert",
- "Mounts" : "Einhängepunkte",
- "Define host folder mounts to bind to the ExApp container" : "Host-Ordner-Mounts zum Binden an den ExApp-Container definieren",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Muss auf dem Deploy-Daemon-Host vorhanden sein, bevor die ExApp installiert wird",
- "Host path" : "Hostpfad",
- "Container path" : "Containerpfad",
- "Read-only" : "Schreibgeschützt",
- "Remove mount" : "Einhängepunkt entfernen",
- "New mount" : "Neuer Einhängepunkt",
- "Enter path to host folder" : "Pfad zum Hostordner eingeben",
- "Enter path to container folder" : "Pfad zum Containerordner eingeben",
- "Toggle read-only mode" : "Schreibschutz umschalten",
- "Confirm adding new mount" : "Hinzufügen des neuen Einhängepunkts bestätigen",
- "Confirm" : "Bestätigen",
- "Cancel adding mount" : "Hinzufügen des Einhängepunkts abbrechen",
- "Cancel" : "Abbrechen",
- "Add mount" : "Einhängepunkt hinzufügen",
- "ExApp container mounts" : "ExApp-Container-Einhängepunkte",
- "No mounts defined" : "Keine Einhängepunkte definiert",
- "Description" : "Beschreibung",
- "View in store" : "Im Store anzeigen",
- "Visit website" : "Webseite besuchen",
- "Usage documentation" : "Nutzungsdokumentation",
- "Admin documentation" : "Dokumentation für die Administration",
- "Developer documentation" : "Dokumentation für Entwickler",
- "Details" : "Details",
- "All" : "Alle",
- "Limit app usage to groups" : "App-Verwendung auf Gruppen beschränken",
- "No results" : "Keine Ergebnisse",
- "Update to {version}" : "Aktualisieren auf {version}",
- "Deploy options" : "Bereitstellungsoptionen",
- "Default Deploy daemon is not accessible" : "Der Standard-Deploy-Daemon ist nicht zugänglich",
- "Delete data on remove" : "Daten beim Entfernen löschen",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Für diese App wurde keine untere Versionsgrenze für Nextcloud gesetzt. Dies wird zukünftig als Fehler behandelt.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Für diese App wurde keine obere Versionsgrenze für Nextcloud gesetzt. Dies wird zukünftig als Fehler behandelt.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Diese App kann nicht installiert werden, weil die folgenden Abhängigkeiten nicht erfüllt sind:",
- "Latest updated" : "Zuletzt aktualisiert",
- "Author" : "Autor",
- "Categories" : "Kategorien",
- "Resources" : "Ressourcen",
- "Documentation" : "Dokumentation",
- "Interact" : "Interagieren",
- "Report a bug" : "Einen technischen Fehler melden",
- "Request feature" : "Funktion vorschlagen",
- "Ask questions or discuss" : "Fragen stellen oder diskutieren",
- "Rate the app" : "App bewerten",
- "Rate" : "Bewerten",
- "Changelog" : "Liste der Änderungen",
- "Google Chrome for Android" : "Google Chrome für Android",
- "{productName} iOS app" : "{productName} iOS-App",
- "{productName} Android app" : "{productName} Android-App",
- "{productName} Talk for iOS" : "{productName} Talk für iOS",
- "{productName} Talk for Android" : "{productName} Talk für Android",
- "Sync client" : "Sync-Client",
- "This session" : "Diese Sitzung",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Gerätename",
- "Cancel renaming" : "Umbenennen abbrechen",
- "Save new name" : "Neuen Namen speichern",
- "Marked for remote wipe" : "Für Fernlöschung markiert",
- "Device settings" : "Geräteeinstellungen",
- "Allow filesystem access" : "Erlaube Dateisystem-Zugriff",
- "Rename" : "Umbenennen",
- "Revoke" : "Widerrufen",
- "Wipe device" : "Gerät löschen",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Zurückziehen dieses Tokens könnte das Löschen von Ihrem Gerät verhindern, wenn die Löschung noch nicht gestartet wurde.",
- "Device" : "Gerät",
- "Last activity" : "Letzte Aktivität",
- "Devices & sessions" : "Geräte & Sitzungen",
- "Web, desktop and mobile clients currently logged in to your account." : "Aktuell in Ihrem Konto angemeldete Web-, Desktop- und Mobil-Clients.",
- "Error while creating device token" : "Fehler beim Erstellen des Geräte-Tokens",
- "App name" : "App-Name",
- "Create new app password" : "Neues App-Passwort erstellen",
"App password copied!" : "App-Passwort kopiert!",
"Copy app password" : "App-Passwort kopieren",
"Login name copied!" : "Anmeldename kopiert!",
@@ -589,203 +497,11 @@
"Failed to delete group \"{group}\"" : "Die Gruppe \"{group}\" konnte nicht gelöscht werden",
"Please confirm the group removal" : "Bitte die Löschung der Gruppe bestätigen",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Sie sind im Begriff, die Gruppe \"{group}\" zu löschen. Die Konten werden NICHT gelöscht.",
+ "Cancel" : "Abbrechen",
+ "Confirm" : "Bestätigen",
"Submit" : "Übermitteln",
"Rename group" : "Gruppe umbenennen",
"Delete group" : "Gruppe löschen",
- "Current password" : "Aktuelles Passwort",
- "New password" : "Neues Passwort",
- "Change password" : "Passwort ändern",
- "Choose your profile picture" : "Wählen Sie Ihr Profilbild aus.",
- "Please select a valid png or jpg file" : "Bitte eine gültige PNG- oder JPG-Datei auswählen",
- "Error setting profile picture" : "Fehler beim Einstellen des Profilbilds",
- "Error cropping profile picture" : "Fehler beim Zuschneiden des Profilbilds",
- "Error saving profile picture" : "Fehler beim Speichern des Profilbilds",
- "Error removing profile picture" : "Fehler beim Entfernen des Profilbilds",
- "Your profile picture" : "Ihr Profilbild",
- "Upload profile picture" : "Profilbild hochladen",
- "Choose profile picture from Files" : "Profilbild aus Dateien wählen",
- "Remove profile picture" : "Profilbild entfernen",
- "The file must be a PNG or JPG" : "Die Datei muss im PNG- oder JPG-Format sein",
- "Picture provided by original account" : "Bild von Original-Konto zur Verfügung gestellt",
- "Set as profile picture" : "Als Profilbild festlegen",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Bitte beachten, dass es bis zu 24 Stunden dauern kann, bis Ihr Profilbild überall aktualisiert ist.",
- "Your biography. Markdown is supported." : "Ihre Biographie. Markdown wird unterstützt.",
- "Unable to update date of birth" : "Geburtsdatum konnte nicht aktualisiert werden",
- "Enter your date of birth" : "Geben Sie Ihr Geburtsdatum ein",
- "You are using {s}{usage}{/s}" : "Sie verwenden {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Sie verwenden {s}{usage}{/s} von {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Sie sind Mitglied folgender Gruppen:",
- "Your full name" : "Ihr vollständiger Name",
- "Email options" : "E-Mail-Optionen",
- "Options for additional email address {index}" : "Optionen für zusätzliche E-Mail-Adresse {index}",
- "Remove primary email" : "Primäre E-Mail-Adresse entfernen",
- "Delete email" : "E-Mail löschen",
- "This address is not confirmed" : "Diese Adresse ist nicht bestätigt",
- "Unset as primary email" : "Als primäre E-Mail-Adresse deaktiviert",
- "Set as primary email" : "Als primäre E-Mail-Adresse festlegen",
- "Additional email address {index}" : "Zusätzliche E-Mail-Adresse {index}",
- "Unable to delete primary email address" : "Primäre E-Mail-Adresse konnte nicht gelöscht werden",
- "Unable to update primary email address" : "Primäre E-Mail-Adresse konnte nicht aktualisiert werden",
- "Unable to add additional email address" : "Zusätzliche E-Mail-Adresse kann nicht hinzugefügt werden",
- "Unable to update additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht aktualisiert werden",
- "Unable to delete additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht gelöscht werden",
- "Primary email for password reset and notifications" : "Primäre E-Mail-Adresse für Benachrichtigungen und zum Zurücksetzen des Passworts",
- "No email address set" : "Keine E-Mail-Adresse angegeben",
- "Your handle" : "Ihr Online-Name",
- "Derived from your locale ({weekDayName})" : "Abgeleitet von Ihrem Gebietsschema ({weekDayName})",
- "Unable to update first day of week" : "Der erste Tag der Woche kann nicht aktualisiert werden",
- "Day to use as the first day of week" : "Tag, der als erster Tag der Woche verwendet werden soll",
- "Your headline" : "Ihre Überschrift",
- "Unable to update language" : "Sprache konnte nicht aktualisiert werden",
- "Languages" : "Sprachen",
- "Help translate" : "Helfen Sie bei der Übersetzung",
- "No language set" : "Keine Sprache eingestellt",
- "Unable to update locale" : "Gebietsschema kann nicht aktualisiert werden",
- "Locales" : "Gebietsschemen",
- "Week starts on {firstDayOfWeek}" : "Woche beginnt am {firstDayOfWeek}",
- "No locale set" : "Kein Gebietsschema festgelegt",
- "Your city" : "Ihre Stadt",
- "Your organisation" : "Ihre Organisation",
- "Your phone number" : "Ihre Telefonnummer",
- "Edit your Profile visibility" : "Sichtbarkeit des Profils anpassen",
- "Unable to update profile enabled state" : "Der Status für aktiviertes Profil konnte nicht aktualisiert werden",
- "Enable profile" : "Profil aktivieren",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Die restriktivere Einstellung von Sichtbarkeit oder Bereich wird in Ihrem Profil berücksichtigt. Wenn beispielsweise die Sichtbarkeit auf \"Für alle sichtbar\" und der Bereich auf \"Privat\" festgelegt ist, wird \"Privat\" respektiert.",
- "Unable to update visibility of {displayId}" : "Sichtbarkeit von {displayId} kann nicht aktualisiert werden",
- "she/her" : "sie/ihr",
- "he/him" : "er/sein",
- "they/them" : "sie/sie",
- "Your role" : "Ihre Funktion",
- "Your X (formerly Twitter) handle" : "Ihr X (früher Twitter)-Handle",
- "Your website" : "Ihre Webseite",
- "Invalid value" : "Ungültiger Wert",
- "Unable to update {property}" : "{property} konnte nicht aktualisiert werden",
- "No {property} set" : "Keine {property} gesetzt",
- "Change scope level of {property}, current scope is {scope}" : "Ändern des Geltungsbereich von {property}, aktueller Bereich ist {scope}",
- "Unable to update federation scope of the primary {property}" : "Der Federation-Bereich des primären {property} kann nicht aktualisiert werden",
- "Unable to update federation scope of additional {property}" : "Der Federation-Bereich des zusätzlichen {property} kann nicht aktualisiert werden",
- "Add additional email" : "Zusätzliche E-Mail-Adresse hinzufügen",
- "Add" : "Hinzufügen",
- "Create" : "Erstellen",
- "Change" : "Ändern",
- "Delete" : "Löschen",
- "Reshare" : "Weiterteilen",
- "Default language" : "Standard-Sprache",
- "Common languages" : "Gebräuchliche Sprachen",
- "Other languages" : "Weitere Sprachen",
- "Password change is disabled because the master key is disabled" : "Das Ändern des Passwortes ist deaktiviert, da der Master-Schlüssel deaktiviert ist",
- "No accounts" : "Keine Konten",
- "Loading accounts …" : "Lade Konten …",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Kontenliste. Diese Liste wird aus Performance-Gründen nicht vollständig ausgegeben. Die Konten werden ausgegeben, wenn Sie durch die Liste navigieren.",
- "Manager" : "Manager",
- "Set line manager" : "Manager festlegen",
- "Account name will be autogenerated" : "Kontenname wird automatisch erstellt",
- "Account name (required)" : "Kontoname (erforderlich)",
- "Failed to search groups" : "Gruppen konnten nicht gesucht werden",
- "New account" : "Neues Konto",
- "Display name" : "Anzeigename",
- "Either password or email is required" : "Passwort oder E-Mail-Adresse ist erforderlich",
- "Password (required)" : "Passwort (erforderlich)",
- "Email (required)" : "E-Mail-Adresse (erforderlich)",
- "Email" : "E-Mail-Adresse",
- "Member of the following groups (required)" : "Mitglied der folgenden Gruppen (erforderlich)",
- "Member of the following groups" : "Mitglied der folgenden Gruppen",
- "Set account groups" : "Kontengruppen setzen",
- "Admin of the following groups" : "Administration der folgenden Gruppen",
- "Set account as admin for …" : "Konto als Administration setzen für …",
- "Quota" : "Kontingent",
- "Set account quota" : "Kontokontigent setzen",
- "Language" : "Sprache",
- "Set default language" : "Standard-Sprache einstellen",
- "Add new account" : "Neues Konto hinzufügen",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} Konto …","{userCount} Konten …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} Konto","{userCount} Konten"],
- "Total rows summary" : "Zusammenfassung aller Zeilen",
- "Scroll to load more rows" : "Scrollen, um weitere Zeilen zu laden",
- "Password or insufficient permissions message" : "Passwort oder unzureichende Berechtigungen Nachricht",
- "Avatar" : "Avatar",
- "Account name" : "Kontoname",
- "Group admin for" : "Gruppenadministration für",
- "Account backend" : "Konto-Backend",
- "Storage location" : "Speicherort",
- "First login" : "Erste Anmeldung",
- "Last login" : "Letzte Anmeldung",
- "Account actions" : "Konto-Aktionen",
- "{size} used" : "{size} verwendet",
- "Delete account" : "Konto löschen",
- "Disconnect all devices and delete local data" : "Alle Geräte trennen und lokale Daten löschen",
- "Disable account" : "Konto deaktivieren",
- "Enable account" : "Konto aktivieren",
- "Resend welcome email" : "Willkommens-E-Mail erneut senden",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Im Falle des Verlusts des Gerätes oder des Verlassens der Organisation können mit dieser Funktion sämtliche Nextcloud-Daten von allen Geräten, die mit {userid} verbunden sind, gelöscht werden. Funktioniert nur, wenn das Gerät mit dem Internet verbunden ist.",
- "Remote wipe of devices" : "Fernlöschung von Geräten",
- "Wipe {userid}'s devices" : "Lösche {userid}s Geräte",
- "Wiped {userid}'s devices" : "{userid}s Geräte gelöscht",
- "Failed to load groups with details" : "Gruppen mit Details konnten nicht geladen werden",
- "Failed to load sub admin groups with details" : "Unteradministrations-Gruppen mit Details konnten nicht geladen werden",
- "Failed to update line manager" : "Manager konnte nicht aktualisiert werden",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Lösche {userid}s Konto vollständig inklusive aller persönlichen Dateien, App-Daten, usw.",
- "Account deletion" : "Löschung des Kontos",
- "Delete {userid}'s account" : "Konto von {userid} löschen",
- "Display name was successfully changed" : "Der Anzeigename wurde geändert",
- "Password can't be empty" : "Passwort darf nicht leer sein",
- "Password was successfully changed" : "Das Passwort wurde geändert",
- "Email can't be empty" : "E-Mail darf nicht leer sein",
- "Email was successfully changed" : "E-Mail-Adresse wurde geändert",
- "Welcome mail sent!" : "Willkommens-E-Mail gesendet!",
- "Loading account …" : "Lade Konto …",
- "Change display name" : "Anzeigename ändern",
- "Set new password" : "Neues Passwort setzen",
- "You do not have permissions to see the details of this account" : "Keine Berechtigung, die Details dieses Kontos anzusehen.",
- "Set new email address" : "Neue E-Mail-Adresse setzen",
- "Add account to group" : "Konto zur Gruppe hinzufügen",
- "Set account as admin for" : "Konto als Administration festlegen für",
- "Select account quota" : "Kontokontigent auswählen",
- "Set the language" : "Sprache einstellen",
- "Toggle account actions menu" : "Kontenaktionsmenü umschalten",
- "Done" : "Erledigt",
- "Edit" : "Bearbeiten",
- "Account management settings" : "Kontoverwaltungseinstellungen",
- "Visibility" : "Sichtbarkeit",
- "Show language" : "Sprache anzeigen",
- "Show account backend" : "Konto-Backend anzeigen",
- "Show storage path" : "Speicherpfad anzeigen",
- "Show first login" : "Erste Anmeldung anzeigen",
- "Show last login" : "Letzte Anmeldung anzeigen",
- "Sorting" : "Sortierung",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Die Systemkonfiguration erzwingt die Sortierung der Gruppen nach Namen. Dadurch wird auch die Anzeige der Kontenzahl deaktiviert.",
- "Group list sorting" : "Sortierung der Gruppenliste",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Aus Leistungsgründen wird die Sortierung nur auf die aktuell geladenen Gruppen angewendet. Gruppen werden beim Navigieren oder Suchen geladen.",
- "By member count" : "Nach Kontenzahl",
- "By name" : "Nach Name",
- "Send email" : "E-Mail senden",
- "Send welcome email to new accounts" : "Begrüßungs-E-Mail an neuen Konten senden",
- "Defaults" : "Standardeinstellungen",
- "Default quota" : "Standard Speicherkontingent ",
- "Select default quota" : "Standardkontingent auswählen",
- "Server error while trying to complete WebAuthn device registration" : "Serverfehler beim Versuch die WebAuthn-Geräte-Registrierung abzuschließen",
- "Passwordless authentication requires a secure connection." : "Die Anmeldung ohne Passwort erfordert eine sichere Verbindung.",
- "Add WebAuthn device" : "WebAuthn-Gerät hinzufügen",
- "Please authorize your WebAuthn device." : "Bitte das WebAuthn-Gerät autorisieren.",
- "Adding your device …" : "Dieses Gerät hinzufügen …",
- "Unnamed device" : "Unbenanntes Gerät",
- "Passwordless Authentication" : "Authentifizierung ohne Passwort",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Dieses Konto für die Authentifizierung ohne Passwort nach dem FIDO2-Standard einrichten.",
- "No devices configured." : "Keine Geräte eingerichtet.",
- "The following devices are configured for your account:" : "Die folgenden Geräte sind für Ihr Konto eingerichtet:",
- "Your browser does not support WebAuthn." : "Ihr Browser unterstützt kein WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als Administration können Sie das Teilen-Verhalten feinabstimmen. Weitere Informationen finden Sie in der Dokumentation.",
- "You need to enable the File sharing App." : "Die App \"File sharing\" muss aktiviert werden.",
- "App Store" : "App Store",
- "Loading app list" : "Lade App-Liste",
- "Loading categories" : "Lade Kategorien",
- "Developer documentation ↗" : "Entwickler-Dokumentation ↗",
- "Version {version}, {license}-licensed" : "Version {version}, {license}-lizensiert",
- "Version {version}" : "Version {version}",
- "All accounts" : "Alle Konten",
- "Admins" : "Administration",
- "Account group: {group}" : "Kontengruppe: {group}",
- "Account management" : "Kontoverwaltung",
"Sending…" : "Senden…",
"Email sent" : "E-Mail gesendet",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Beim Aktivieren der Verschlüsselung auf einem Nextcloud-Server werden aus Leistungsgründen nur neue und geänderte Dateien verschlüsselt.",
@@ -795,6 +511,7 @@
"Date of birth" : "Geburtsdatum",
"Full name" : "Vollständiger Name",
"Additional email" : "Zusätzliche E-Mail-Adresse",
+ "Email" : "E-Mail-Adresse",
"Fediverse (e.g. Mastodon)" : "Fediverse (wie z. B. Mastodon)",
"Headline" : "Überschrift",
"Organisation" : "Organisation",
@@ -804,6 +521,7 @@
"X (formerly Twitter)" : "X (früher Twitter)",
"Website" : "Webseite",
"Profile visibility" : "Sichtbarkeit des Profils",
+ "Language" : "Sprache",
"Locale" : "Gebietsschema",
"First day of week" : "Erster Tag der Woche",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nicht verfügbar, da diese Eigenschaft für Kernfunktionen wie Dateifreigabe und Kalendereinladungen erforderlich ist.",
@@ -821,6 +539,7 @@
"Show to logged in accounts only" : "Nur angemeldeten Konten anzeigen",
"Hide" : "Ausblenden",
"Manually installed apps cannot be updated" : "Manuell installierte Apps können nicht aktualisiert werden",
+ "Update to {version}" : "Aktualisieren auf {version}",
"{progress}% Deploying …" : "{progress}% bereitstellen …",
"{progress}% Initializing …" : "{progress}% initialisiere …",
"Health checking" : "Gesundheitsprüfung",
@@ -830,6 +549,7 @@
"Allow untested app" : "Ungetestete App zulassen",
"The app will be downloaded from the App Store" : "Die App wird aus dem App-Store heruntergeladen",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Diese App ist als nicht-kompatibel mit Ihrer Nextcloud-Version markiert. Wenn Sie fortfahren, so können Sie die App installieren. Bitte beachten Sie, dass die App nicht wie erwartet funktionieren könnte.",
+ "{size} used" : "{size} verwendet",
"Unknown" : "Unbekannt",
"Never" : "Niemals",
"Could not register device: Network error" : "Gerät konnte nicht registriert werden: Netzwerkfehler",
@@ -848,8 +568,10 @@
"Could not set group sorting" : "Die Gruppensortierung konnte nicht festgelegt werden",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Zu viele Anfragen aus Ihrem Netzwerk. Versuchen Sie es später erneut oder wenden Sie sich an Ihre Administration, wenn dies ein Fehler sein sollte.",
"Error" : "Fehler",
+ "Default quota" : "Standard Speicherkontingent ",
"Account documentation" : "Kontodokumentation",
"Administration documentation" : "Administrationsdokumentation",
+ "Documentation" : "Dokumentation",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud-Hilfe & Datenschutz-Ressourcen",
"General documentation" : "Allgemeine Dokumentation",
@@ -872,6 +594,7 @@
"SMTP Password" : "SMTP-Passwort",
"Save" : "Speichern",
"Test and verify email settings" : "Testen und Überprüfen der E-Mail-Einstellungen",
+ "Send email" : "E-Mail senden",
"Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Für die Sicherheit und Leistung Ihrer Instanz ist es von großer Bedeutung, dass alles richtig konfiguriert ist. Um Sie dabei zu unterstützen, werden einige automatische Prüfungen durchgeführt. Weitere Informationen finden Sie in der verlinkten Dokumentation.",
"All checks passed." : "Alle Überprüfungen bestanden.",
@@ -897,11 +620,8 @@
"The PHP memory limit is below the recommended value of %s." : "Das PHP-Speicherllmit liegt unterhalb des empfohlenen Wertes von %s.",
"for WebAuthn passwordless login" : "für WebAuthn passwortlose Anmeldung",
"for WebAuthn passwordless login, and SFTP storage" : "für WebAuthn passwortlose Anmeldung und SFTP-Speicher",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Der HTTP-Header `%1$s` enthält nicht `%2$s`. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL-Version \"%s\" erkannt. Für optimale Leistung, Stabilität und Funktionalität mit dieser Version von Nextcloud wird PostgreSQL >=12 und <=16 empfohlen.",
- "Set default expiration date for shares" : "Legen Sie das Standardablaufdatum für Freigaben fest",
- "Your biography" : "Ihre Biografie",
- "You are using <strong>{usage}</strong>" : "Sie benutzen <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Sie benutzen <strong>{usage}</strong> von <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Unteradministrations-Gruppen mit Details konnten nicht geladen werden"
+ "Set default expiration date for shares" : "Legen Sie das Standardablaufdatum für Freigaben fest"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/el.js b/apps/settings/l10n/el.js
index cb72e8d87e8..aefd1209da0 100644
--- a/apps/settings/l10n/el.js
+++ b/apps/settings/l10n/el.js
@@ -294,7 +294,6 @@ OC.L10N.register(
"HTTP headers" : "Επικεφαλίδες HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- Η επικεφαλίδα HTTP `%1$s` δεν έχει οριστεί σε `%2$s`. Ορισμένες λειτουργίες ενδέχεται να μην λειτουργούν σωστά, καθώς συνιστάται η προσαρμογή αυτής της ρύθμισης ανάλογα.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Η επικεφαλίδα HTTP `%1$s` δεν έχει οριστεί σε `%2$s`. Αυτό αποτελεί πιθανό κίνδυνο ασφαλείας ή απορρήτου, καθώς συνιστάται η προσαρμογή αυτής της ρύθμισης ανάλογα.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Η επικεφαλίδα HTTP `%1$s` δεν περιέχει `%2$s`. Αυτό αποτελεί πιθανό κίνδυνο ασφαλείας ή απορρήτου, καθώς συνιστάται η προσαρμογή αυτής της ρύθμισης ανάλογα.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- Η επικεφαλίδα HTTP `%1$s` δεν έχει οριστεί σε `%2$s`, `%3$s`, `%4$s`, `%5$s` ή `%6$s`. Αυτό μπορεί να διαρρεύσει πληροφορίες referer. Δείτε την {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- Η επικεφαλίδα HTTP `Strict-Transport-Security` δεν έχει οριστεί σε τουλάχιστον `%d` δευτερόλεπτα (τρέχουσα τιμή: `%d`). Για ενισχυμένη ασφάλεια, συνιστάται η χρήση μιας μακροπρόθεσμης πολιτικής HSTS.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- Η επικεφαλίδα HTTP `Strict-Transport-Security` είναι εσφαλμένη: `%s`. Για ενισχυμένη ασφάλεια, συνιστάται η ενεργοποίηση του HSTS.",
@@ -438,97 +437,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Δεν ήταν δυνατή η φόρτωση του περιεχομένου της ενότητας από το κατάστημα εφαρμογών.",
"Loading" : "Γίνεται φόρτωση",
"Fetching the latest news…" : "Ανάκτηση των τελευταίων ειδήσεων…",
- "Carousel" : "Καρουσέλ",
- "Previous slide" : "Προηγούμενη διαφάνεια",
- "Next slide" : "Επόμενη διαφάνεια",
- "Choose slide to display" : "Επιλέξτε διαφάνεια για εμφάνιση",
- "{index} of {total}" : "{index} από {total}",
- "Daemon" : "Υπηρεσία",
- "Deploy Daemon" : "Υπηρεσία Ανάπτυξης",
- "Type" : "Τύπος",
- "Display Name" : "Εμφανιζόμενο όνομα",
- "GPUs support" : "Υποστήριξη GPUs",
- "Compute device" : "Συσκευή υπολογισμού",
- "Advanced deploy options" : "Προηγμένες επιλογές ανάπτυξης",
- "Edit ExApp deploy options before installation" : "Επεξεργασία επιλογών ανάπτυξης ExApp πριν την εγκατάσταση",
- "Configured ExApp deploy options. Can be set only during installation" : "Ρυθμισμένες επιλογές ανάπτυξης ExApp. Μπορούν να ρυθμιστούν μόνο κατά την εγκατάσταση",
- "Learn more" : "Μάθετε περισσότερα",
- "Environment variables" : "Μεταβλητές περιβάλλοντος",
- "ExApp container environment variables" : "Μεταβλητές περιβάλλοντος ExApp container",
- "No environment variables defined" : "Δεν έχουν οριστεί μεταβλητές περιβάλλοντος",
- "Mounts" : "Σημεία προσάρτησης",
- "Define host folder mounts to bind to the ExApp container" : "Ορίστε σημεία προσάρτησης φακέλων του host για σύνδεση με το ExApp container",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Πρέπει να υπάρχει στον host του Deploy daemon πριν από την εγκατάσταση του ExApp",
- "Host path" : "Διαδρομή host",
- "Container path" : "Διαδρομή container",
- "Read-only" : "Μόνο για ανάγνωση",
- "Remove mount" : "Αφαίρεση σημείου προσάρτησης",
- "New mount" : "Νέο σημείο προσάρτησης",
- "Enter path to host folder" : "Εισάγετε τη διαδρομή προς τον φάκελο του host",
- "Enter path to container folder" : "Εισάγετε τη διαδρομή προς τον φάκελο του container",
- "Toggle read-only mode" : "Εναλλαγή λειτουργίας μόνο για ανάγνωση",
- "Confirm adding new mount" : "Επιβεβαίωση προσθήκης νέου σημείου προσάρτησης",
- "Confirm" : "Επιβεβαίωση",
- "Cancel adding mount" : "Ακύρωση προσθήκης σημείου προσάρτησης",
- "Cancel" : "Άκυρο",
- "Add mount" : "Προσθήκη σημείου προσάρτησης",
- "ExApp container mounts" : "Σημεία προσάρτησης ExApp container",
- "No mounts defined" : "Δεν έχουν οριστεί σημεία προσάρτησης",
- "Description" : "Περιγραφή",
- "View in store" : "Προβολή στο κέντρο εφαρμογών",
- "Visit website" : "Επισκεφθείτε την ιστοσελίδα",
- "Usage documentation" : "Τεκμηρίωση χρήσης",
- "Admin documentation" : "Τεκμηρίωση Διαχειριστή",
- "Developer documentation" : "Τεκμηρίωση προγραμματιστή",
- "Details" : "Λεπτομέρειες",
- "All" : "Όλες",
- "Limit app usage to groups" : "Περιορίστε τη χρήση της εφαρμογής σε ομάδες",
- "No results" : "Κανένα αποτέλεσμα",
- "Update to {version}" : "Ενημέρωση στην έκδοση {version}",
- "Deploy options" : "Επιλογές ανάπτυξης",
- "Default Deploy daemon is not accessible" : "Το προεπιλεγμένο Deploy daemon δεν είναι προσβάσιμο",
- "Delete data on remove" : "Διαγραφή δεδομένων κατά την αφαίρεση",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Αυτή η εφαρμογή δεν έχει ελάχιστη έκδοση του Nextcloud ανατεθειμένη. Αυτό θα αποτελεί σφάλμα στο μέλλον.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Αυτή η εφαρμογή δεν έχει μέγιστη έκδοση του Nextcloud ανατεθειμένη. Αυτό θα αποτελεί σφάλμα στο μέλλον.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Αυτή η εφαρμογή δεν μπορεί να εγκατασταθεί διότι δεν εκπληρώνονται οι ακόλουθες εξαρτήσεις:",
- "Latest updated" : "Τελευταία ενημέρωση",
- "Author" : "Δημιουργός",
- "Categories" : "Κατηγορίες",
- "Resources" : "Πηγές",
- "Documentation" : "Τεκμηρίωση",
- "Interact" : "Αλληλεπίδραση",
- "Report a bug" : "Αναφορά σφάλματος",
- "Request feature" : "Αίτημα δυνατότητας",
- "Ask questions or discuss" : "Κάνε ερωτήσεις ή συζήτηση",
- "Rate the app" : "Βαθμολόγησε την εφαρμογή",
- "Rate" : "Αξιολογήστε",
- "Changelog" : "Αρχείο καταγραφής αλλαγών",
- "Google Chrome for Android" : "Google Chrome για Android",
- "{productName} iOS app" : "{productName} εφαρμογή iOS",
- "{productName} Android app" : "{productName} εφαρμογή Android",
- "{productName} Talk for iOS" : "{productName} Talk για iOS",
- "{productName} Talk for Android" : "{productName} Talk για Android",
- "Sync client" : "Συγχρονισμός πελάτη",
- "This session" : "Αυτή η συνεδρία",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Όνομα συσκευής",
- "Cancel renaming" : "Ακύρωση μετονομασίας",
- "Save new name" : "Αποθήκευση νέου ονόματος",
- "Marked for remote wipe" : "Επισημάνθηκε για απομακρυσμένη εκκαθάριση",
- "Device settings" : "Ρυθμίσεις συσκευής",
- "Allow filesystem access" : "Επιτρέπεται η πρόσβαση στο σύστημα αρχείων",
- "Rename" : "Μετονομασία",
- "Revoke" : "Ανάκληση",
- "Wipe device" : "Εκκαθάριση συσκευής",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Η κατάργηση αυτού του αναγνωριστικού ενδέχεται να αποτρέψει την εκκαθάριση της συσκευής σας αν δεν έχει ξεκινήσει ακόμα.",
- "Device" : "Συσκευή",
- "Last activity" : "Τελευταία δραστηριότητα",
- "Devices & sessions" : "Συσκευές & συνδέσεις",
- "Web, desktop and mobile clients currently logged in to your account." : "Έχουν συνδεθεί στον λογαριασμό σας εφαρμογές από περιηγητή ιστού, υπολογιστή και εφαρμογή τηλεφώνου.",
- "Error while creating device token" : "Σφάλμα κατά τη δημιουργία διακριτικού συσκευής",
- "App name" : "Όνομα εφαρμογής",
- "Create new app password" : "Δημιουργία νέου συνθηματικού εφαρμογής",
"App password copied!" : "Το συνθηματικό εφαρμογής αντιγράφηκε!",
"Copy app password" : "Αντιγραφή συνθηματικού εφαρμογής",
"Login name copied!" : "Το όνομα σύνδεσης αντιγράφηκε!",
@@ -579,198 +487,10 @@ OC.L10N.register(
"Refer to the admin documentation on how to manually also encrypt existing files." : "Ανατρέξτε στην τεκμηρίωση του διαχειριστή για το πώς να κρυπτογραφήσετε χειροκίνητα τα υπάρχοντα αρχεία.",
"This is the final warning: Do you really want to enable encryption?" : "Αυτή είναι η τελευταία προειδοποίηση: Θέλετε πραγματικά να ενεργοποιήσετε την κρυπτογράφηση;",
"Please confirm the group removal" : "Παρακαλώ επιβεβαιώστε την αφαίρεση της ομάδας",
+ "Cancel" : "Άκυρο",
+ "Confirm" : "Επιβεβαίωση",
"Submit" : "Υποβολή",
"Rename group" : "Μετονομασία ομάδας",
- "Current password" : "Τρέχον συνθηματικό",
- "New password" : "Νέο συνθηματικό",
- "Change password" : "Αλλαγή συνθηματικού",
- "Choose your profile picture" : "Επιλέξτε την εικόνα προφίλ σας",
- "Please select a valid png or jpg file" : "Παρακαλούμε επιλέξτε συμβατό αρχείο png ή jpg",
- "Error setting profile picture" : "Σφάλμα ορισμού εικόνας προφίλ",
- "Error cropping profile picture" : "Σφάλμα περικοπής εικόνας προφίλ",
- "Error saving profile picture" : "Σφάλμα αποθήκευσης εικόνας προφίλ",
- "Error removing profile picture" : "Σφάλμα αφαίρεσης εικόνας προφίλ",
- "Your profile picture" : "Η εικόνα του προφίλ σας",
- "Upload profile picture" : "Μεταφόρτωση εικόνας προφίλ",
- "Choose profile picture from Files" : "Επιλέξτε εικόνα προφίλ από τα Αρχεία",
- "Remove profile picture" : "Αφαίρεση εικόνας προφίλ",
- "The file must be a PNG or JPG" : "Το αρχείο πρέπει να είναι τύπου PNG ή JPG",
- "Picture provided by original account" : "Φωτογραφία που παρέχεται από τον πρωτότυπο λογαριασμό",
- "Set as profile picture" : "Ορισμός ως εικόνας προφίλ",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Λάβετε υπόψη ότι μπορεί να χρειαστούν έως και 24 ώρες για να ενημερωθεί παντού η εικόνα του προφίλ σας.",
- "Your biography. Markdown is supported." : "Το βιογραφικό σας. Υποστηρίζεται Markdown.",
- "Unable to update date of birth" : "Δεν είναι δυνατή η ενημέρωση της ημερομηνίας γέννησης",
- "Enter your date of birth" : "Εισάγετε την ημερομηνία γέννησής σας",
- "You are using {s}{usage}{/s}" : "Χρησιμοποιείτε {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Χρησιμοποιείτε {s}{usage}{/s} από {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Είστε μέλος των ακόλουθων ομάδων:",
- "Your full name" : "Το ονοματεπώνυμο σας",
- "Email options" : "Επιλογές email",
- "Options for additional email address {index}" : "Επιλογές για πρόσθετη διεύθυνση email {index}",
- "Remove primary email" : "Κατάργηση κύριου email",
- "Delete email" : "Διαγραφή email",
- "This address is not confirmed" : "Αυτή η διεύθυνση email δεν έχει επιβεβαιωθεί",
- "Unset as primary email" : "Κατάργηση ορισμού ως κύριου email",
- "Set as primary email" : "Ορισμός ως κύριου email",
- "Additional email address {index}" : "Πρόσθετη διεύθυνση email {index}",
- "Unable to delete primary email address" : "Δεν είναι δυνατή η διαγραφή της κύριας διεύθυνσης email",
- "Unable to update primary email address" : "Δεν είναι δυνατή η ενημέρωση της κύριας διεύθυνσης email",
- "Unable to add additional email address" : "Δεν είναι δυνατή η προσθήκη πρόσθετης διεύθυνσης email",
- "Unable to update additional email address" : "Δεν είναι δυνατή η ενημέρωση της πρόσθετης διεύθυνσης email",
- "Unable to delete additional email address" : "Δεν είναι δυνατή η διαγραφή της πρόσθετης διεύθυνσης email",
- "Primary email for password reset and notifications" : "Κύριο email για επαναφορά συνθηματικού και ειδοποιήσεις",
- "No email address set" : "Δεν ορίστηκε διεύθυνση email",
- "Your handle" : "Το handle σας",
- "Derived from your locale ({weekDayName})" : "Προέρχεται από τις ρυθμίσεις τοποθεσίας σας ({weekDayName})",
- "Unable to update first day of week" : "Δεν είναι δυνατή η ενημέρωση της πρώτης ημέρας της εβδομάδας",
- "Day to use as the first day of week" : "Ημέρα που χρησιμοποιείται ως πρώτη ημέρα της εβδομάδας",
- "Your headline" : "Ο τίτλος σας",
- "Unable to update language" : "Δεν είναι δυνατή η ενημέρωση της γλώσσας",
- "Languages" : "Γλώσσες",
- "Help translate" : "Βοηθήστε στη μετάφραση",
- "No language set" : "Δεν ορίστηκε γλώσσα",
- "Unable to update locale" : "Δεν είναι δυνατή η ενημέρωση των ρυθμίσεων τοποθεσίας",
- "Locales" : "Ρυθμίσεις τοποθεσίας",
- "Week starts on {firstDayOfWeek}" : "Η εβδομάδα ξεκινά την {firstDayOfWeek}",
- "No locale set" : "Δεν ορίστηκαν ρυθμίσεις τοποθεσίας",
- "Your city" : "Η πόλη σας",
- "Your organisation" : "Ο οργανισμός σας",
- "Your phone number" : "Ο αριθμός τηλεφώνου σας",
- "Edit your Profile visibility" : "Επεξεργασία της ορατότητας του Προφίλ σας",
- "Unable to update profile enabled state" : "Δεν είναι δυνατή η ενημέρωση της κατάστασης του προφίλ",
- "Enable profile" : "Ενεργοποίηση προφίλ",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Η πιο περιοριστική ρύθμιση ορατότητας ή εύρους τηρείται στο Προφίλ σας. Για παράδειγμα, εάν η ορατότητα έχει οριστεί σε \"Εμφάνιση σε όλους\" και το εύρος έχει οριστεί σε \"Ιδιωτικό\", το \"Ιδιωτικό\" τηρείται.",
- "Unable to update visibility of {displayId}" : "Δεν είναι δυνατή η ενημέρωση της ορατότητας του {displayId}",
- "she/her" : "αυτή/της",
- "he/him" : "αυτός/του",
- "they/them" : "αυτοί/τους",
- "Your role" : "Ο ρόλος σας",
- "Your X (formerly Twitter) handle" : "Το handle σας στο X (πρώην Twitter)",
- "Your website" : "Η ιστοσελίδα σας",
- "Invalid value" : "Μη έγκυρη τιμή",
- "Unable to update {property}" : "Δεν είναι δυνατή η ενημέρωση του {property}",
- "No {property} set" : "Δεν ορίστηκε {property}",
- "Change scope level of {property}, current scope is {scope}" : "Αλλαγή επιπέδου εύρους του {property}, το τρέχον εύρος είναι {scope}",
- "Unable to update federation scope of the primary {property}" : "Δεν είναι δυνατή η ενημέρωση του εύρους ομοσπονδίας του κύριου {property}",
- "Unable to update federation scope of additional {property}" : "Δεν είναι δυνατή η ενημέρωση του εύρους ομοσπονδίας του πρόσθετου {property}",
- "Add additional email" : "Προσθέστε επιπλέον email",
- "Add" : "Προσθήκη",
- "Create" : "Δημιουργία",
- "Change" : "Αλλαγή",
- "Delete" : "Διαγραφή",
- "Reshare" : "Επαναδιαμοιρασμός",
- "Default language" : "Προεπιλεγμένη γλώσσα",
- "Common languages" : "Κοινές γλώσσες",
- "Other languages" : "Άλλες γλώσσες",
- "Password change is disabled because the master key is disabled" : "Η αλλαγή συνθηματικού είναι απενεργοποιημένη επειδή το κεντρικό κλειδί είναι απενεργοποιημένο",
- "No accounts" : "Δεν υπάρχουν λογαριασμοί",
- "Loading accounts …" : "Φόρτωση λογαριασμών …",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Λίστα λογαριασμών. Αυτή η λίστα δεν αποδίδεται πλήρως για λόγους απόδοσης. Οι λογαριασμοί θα αποδίδονται καθώς πλοηγείστε στη λίστα.",
- "Manager" : "Διαχειριστής",
- "Set line manager" : "Ορισμός γραμμικού διαχειριστή",
- "Account name will be autogenerated" : "Το όνομα λογαριασμού θα δημιουργηθεί αυτόματα",
- "Account name (required)" : "Όνομα λογαριασμού (απαιτείται)",
- "New account" : "Νέος λογαριασμός",
- "Display name" : "Εμφανιζόμενο όνομα",
- "Either password or email is required" : "Απαιτείται είτε συνθηματικό είτε email",
- "Password (required)" : "Συνθηματικό (απαιτείται)",
- "Email (required)" : "Email (απαιτείται)",
- "Email" : "Email",
- "Member of the following groups (required)" : "Μέλος των ακόλουθων ομάδων (απαιτείται)",
- "Member of the following groups" : "Μέλος των ακόλουθων ομάδων",
- "Set account groups" : "Ορισμός ομάδων λογαριασμού",
- "Admin of the following groups" : "Διαχειριστής των ακόλουθων ομάδων",
- "Set account as admin for …" : "Ορισμός λογαριασμού ως διαχειριστή για …",
- "Quota" : "Χωρητικότητα",
- "Set account quota" : "Ορισμός χωρητικότητας λογαριασμού",
- "Language" : "Γλώσσα",
- "Set default language" : "Ορισμός προεπιλεγμένης γλώσσας",
- "Add new account" : "Προσθήκη νέου λογαριασμού",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} λογαριασμός …","{userCount} λογαριασμοί …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} λογαριασμός","{userCount} λογαριασμοί"],
- "Total rows summary" : "Συνολική σύνοψη γραμμών",
- "Scroll to load more rows" : "Κυλήστε για να φορτώσετε περισσότερες γραμμές",
- "Password or insufficient permissions message" : "Συνθηματικό ή μήνυμα ανεπαρκών δικαιωμάτων",
- "Avatar" : "Εικόνα προφίλ",
- "Account name" : "Όνομα λογαριασμού",
- "Group admin for" : "Ομαδα διαχειριστή για",
- "Account backend" : "Σύστημα υποστήριξης λογαριασμού",
- "Storage location" : "Τοποθεσία αποθηκευτικού χώρου",
- "First login" : "Πρώτη σύνδεση",
- "Last login" : "Τελευταία είσοδος",
- "Account actions" : "Δραστηριότητα λογαριασμού",
- "{size} used" : "{size} που χρησιμοποιείται",
- "Delete account" : "Διαγραφή λογαριασμού",
- "Disconnect all devices and delete local data" : "Αποσύνδεση όλων των συσκευών και διαγραφή τοπικών δεδομένων",
- "Disable account" : "Απενεργοποίηση λογαριασμού",
- "Enable account" : "Ενεργοποίηση λογαριασμού",
- "Resend welcome email" : "Επαναποστολή αλληλογραφίας καλωσορίσματος",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Σε περίπτωση απώλειας συσκευής ή αποχώρησης από τον οργανισμό, μπορεί να γίνει εκκαθάριση των δεδομένων του Nextcloud από όλες τις συσκευές σε σχέση με το {userid}. Λειτουργεί μόνο εάν οι συσκευές είναι συνδεμένες στο ίντερνετ.",
- "Remote wipe of devices" : "Απομακρυσμένη εκκαθάριση συσκευών",
- "Wipe {userid}'s devices" : "Εκκαθάριση συσκευών του {userid}",
- "Wiped {userid}'s devices" : "Εκκαθάριση συσκευών του {userid}",
- "Failed to update line manager" : "Αποτυχία ενημέρωσης γραμμικού διαχειριστή",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Διαγραφή λογαριασμού του {userid} και όλων των προσωπικών αρχείων, δεδομένων εφαρμογών, κτλ.",
- "Account deletion" : "Διαγραφή λογαριασμού",
- "Delete {userid}'s account" : "Διαγραφή λογαριασμού του {userid}",
- "Display name was successfully changed" : "Το εμφανιζόμενο όνομα άλλαξε επιτυχώς",
- "Password can't be empty" : "Το συνθηματικό δεν μπορεί να είναι κενό",
- "Password was successfully changed" : "Το συνθηματικό άλλαξε επιτυχώς",
- "Email can't be empty" : "Το email δεν μπορεί να είναι κενό",
- "Email was successfully changed" : "Το email άλλαξε επιτυχώς",
- "Welcome mail sent!" : "Απεστάλη το μήνυμα καλωσορίσματος!",
- "Loading account …" : "Φόρτωση λογαριασμού …",
- "Change display name" : "Αλλαγή εμφανιζόμενου ονόματος",
- "Set new password" : "Ορισμός νέου συνθηματικού",
- "You do not have permissions to see the details of this account" : "Δεν έχετε δικαιώματα για να δείτε τις λεπτομέρειες αυτού του λογαριασμού",
- "Set new email address" : "Ορισμός νέας διεύθυνσης email",
- "Add account to group" : "Προσθήκη λογαριασμού σε ομάδα",
- "Set account as admin for" : "Ορισμός λογαριασμού ως διαχειριστή για",
- "Select account quota" : "Επιλογή χωρητικότητας λογαριασμού",
- "Set the language" : "Ορισμός γλώσσας",
- "Toggle account actions menu" : "Εναλλαγή μενού ενεργειών λογαριασμού",
- "Done" : "Ολοκληρώθηκε",
- "Edit" : "Επεξεργασία",
- "Account management settings" : "Ρυθμίσεις διαχείρισης λογαριασμών",
- "Visibility" : "Ορατότητα",
- "Show language" : "Εμφάνιση γλώσσας",
- "Show account backend" : "Εμφάνιση συστήματος υποστήριξης λογαριασμού",
- "Show storage path" : "Εμφάνιση διαδρομής αποθήκευσης",
- "Show first login" : "Εμφάνιση πρώτης σύνδεσης",
- "Show last login" : "Εμφάνιση τελευταίας σύνδεσης",
- "Sorting" : "Ταξινόμηση",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Η διαμόρφωση του συστήματος επιβάλλει την ταξινόμηση των ομάδων κατά όνομα. Αυτό απενεργοποιεί επίσης την εμφάνιση του αριθμού των μελών.",
- "Group list sorting" : "Ταξινόμηση λίστας ομάδων",
- "By member count" : "Κατά αριθμό μελών",
- "By name" : "Κατά όνομα",
- "Send email" : "Αποστολή email",
- "Send welcome email to new accounts" : "Αποστολή email καλωσορίσματος σε νέους λογαριασμούς",
- "Defaults" : "Προεπιλογές",
- "Default quota" : "Προεπιλεγμένη χωρητικότητα",
- "Select default quota" : "Επιλογή προεπιλεγμένης χωρητικότητας",
- "Server error while trying to complete WebAuthn device registration" : "Σφάλμα διακομιστή κατά την εγγραφή συσκευής WebAuthn",
- "Passwordless authentication requires a secure connection." : "Η σύνδεση χωρίς συνθηματικό απαιτεί ασφαλή σύνδεση.",
- "Add WebAuthn device" : "Προσθήκη συσκευής WebAuthn",
- "Please authorize your WebAuthn device." : "Παρακαλώ εξουσιοδοτήστε την συσκευή σας WebAuthn.",
- "Adding your device …" : "Προσθήκη της συσκευής σας …",
- "Unnamed device" : "Ανώνυμη συσκευή",
- "Passwordless Authentication" : "Πιστοποίηση χωρίς συνθηματικό",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Ρυθμίστε τον λογαριασμό σας για πιστοποίηση χωρίς κωδικό ακολουθώντας τα πρότυπα του FIDO2.",
- "No devices configured." : "Καμιά συσκευή δεν ρυθμίστηκε.",
- "The following devices are configured for your account:" : "Οι ακόλουθες συσκευές ρυθμίστηκαν για τον λογαριασμό σας:",
- "Your browser does not support WebAuthn." : "Ο περιηγητής σας δεν υποστηρίζει το WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Ως διαχειριστής μπορείτε να ρυθμίσετε λεπτομερώς την συμπεριφορά διαμοιρασμού.\nΠαρακαλούμε ανατρέξτε στην τεκμηρίωση για περισσότερες πληροφορίες.",
- "You need to enable the File sharing App." : "Πρέπει να ενεργοποιήσετε την εφαρμογή Διαμοιρασμός Αρχείων.",
- "App Store" : "Κατάστημα εφαρμογών",
- "Loading app list" : "Φόρτωση λίστας εφαρμογών",
- "Loading categories" : "Φόρτωση κατηγοριών",
- "Developer documentation ↗" : "Τεκμηρίωση προγραμματιστή ↗",
- "Version {version}, {license}-licensed" : "Έκδοση {version}, άδεια χρήσης {license}",
- "Version {version}" : "Έκδοση {version}",
- "All accounts" : "Όλοι οι λογαριασμοί",
- "Admins" : "Διαχειριστές",
- "Account group: {group}" : "Ομάδα λογαριασμού: {group}",
- "Account management" : "Διαχείριση λογαριασμών",
"Sending…" : "Γίνεται αποστολή…",
"Email sent" : "Το Email απεστάλη",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Για λόγους απόδοσης, όταν ενεργοποιείτε την κρυπτογράφηση σε έναν διακομιστή Nextcloud, μόνο τα νέα και τα τροποποιημένα αρχεία κρυπτογραφούνται.",
@@ -780,6 +500,7 @@ OC.L10N.register(
"Date of birth" : "Ημερομηνία γέννησης",
"Full name" : "Πλήρες όνομα",
"Additional email" : "Πρόσθετες διευθύνσεις email",
+ "Email" : "Email",
"Fediverse (e.g. Mastodon)" : "Fediverse (π.χ. Mastodon)",
"Headline" : "Τίτλος",
"Organisation" : "Οργανισμός",
@@ -789,6 +510,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (πρώην Twitter)",
"Website" : "Ιστοσελίδα",
"Profile visibility" : "Ορατότητα προφίλ",
+ "Language" : "Γλώσσα",
"Locale" : "Ρυθμίσεις τοποθεσίας",
"First day of week" : "Πρώτη ημέρα της εβδομάδας",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Δεν είναι διαθέσιμη, καθώς αυτή η ιδιότητα απαιτείται για βασικές λειτουργίες, συμπεριλαμβανομένης της κοινής χρήσης αρχείων και των προσκλήσεων ημερολογίου",
@@ -806,6 +528,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Εμφάνιση μόνο σε συνδεδεμένους λογαριασμούς",
"Hide" : "Απόκρυψη",
"Manually installed apps cannot be updated" : "Οι εγκατεστημένες εφαρμογές χειροκίνητα δεν μπορούν να ενημερωθούν",
+ "Update to {version}" : "Ενημέρωση στην έκδοση {version}",
"{progress}% Deploying …" : "{progress}% Ανάπτυξη …",
"{progress}% Initializing …" : "{progress}% Αρχικοποίηση …",
"Health checking" : "Έλεγχος υγείας",
@@ -815,6 +538,7 @@ OC.L10N.register(
"Allow untested app" : "Επιτρέψτε μη δοκιμασμένες εφαρμογές",
"The app will be downloaded from the App Store" : "Θα γίνει λήψη της εφαρμογής από το App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Η εφαρμογή δεν είναι συμβατή με την έκδοση Nextcloud σας. Εάν συνεχίσετε μπορείτε να εγκαταστήσετε την εφαρμογή. Η εφαρμογή ίσως να μην λειτουργεί σωστά.",
+ "{size} used" : "{size} που χρησιμοποιείται",
"Unknown" : "Άγνωστο",
"Never" : "Ποτέ",
"Could not register device: Network error" : "Δεν ήταν δυνατή η εγγραφή της συσκευής: Σφάλμα δικτύου",
@@ -833,8 +557,10 @@ OC.L10N.register(
"Could not set group sorting" : "Δεν ήταν δυνατός ο ορισμός της ταξινόμησης ομάδων",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Υπήρχαν πάρα πολλά αιτήματα από το δίκτυό σας. Δοκιμάστε ξανά αργότερα ή επικοινωνήστε με τον διαχειριστή σας εάν πρόκειται για σφάλμα.",
"Error" : "Σφάλμα",
+ "Default quota" : "Προεπιλεγμένη χωρητικότητα",
"Account documentation" : "Τεκμηρίωση λογαριασμού",
"Administration documentation" : "Τεκμηρίωση Διαχειριστή",
+ "Documentation" : "Τεκμηρίωση",
"Forum" : "Φόρουμ",
"Nextcloud help & privacy resources" : "Βοήθεια και πόροι απορρήτου του Nextcloud",
"General documentation" : "Γενική τεκμηρίωση",
@@ -857,6 +583,7 @@ OC.L10N.register(
"SMTP Password" : "Συνθηματικό SMTP",
"Save" : "Αποθήκευση",
"Test and verify email settings" : "Δοκιμή και επαλήθευση τις ρυθμίσεων email",
+ "Send email" : "Αποστολή email",
"Security & setup warnings" : "Προειδοποιήσεις ασφάλειας & ρυθμίσεων",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Είναι σημαντικό για την ασφάλεια και την απόδοση του συστήματός σας ότι όλα έχουν ρυθμιστεί σωστά. Για να σας βοηθήσουμε, κάνουμε μερικούς αυτόματους ελέγχους. Για περισσότερες πληροφορίες, ανατρέξτε στη σχετική τεκμηρίωση.",
"All checks passed." : "Όλοι οι έλεγχοι επιτυχείς.",
@@ -882,10 +609,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "Το όριο μνήμης της PHP είναι κάτω από την προτεινόμενη τιμή των %s.",
"for WebAuthn passwordless login" : "για σύνδεση χωρίς συνθηματικό με WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "για σύνδεση χωρίς συνθηματικό με WebAuthn και αποθήκευση SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Η επικεφαλίδα HTTP `%1$s` δεν περιέχει `%2$s`. Αυτό αποτελεί πιθανό κίνδυνο ασφαλείας ή απορρήτου, καθώς συνιστάται η προσαρμογή αυτής της ρύθμισης ανάλογα.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Ανιχνεύθηκε η έκδοση PostgreSQL \"%s\". Προτείνεται PostgreSQL >=12 και <=16 για την καλύτερη απόδοση, σταθερότητα και λειτουργικότητα με αυτήν την έκδοση του Nextcloud.",
- "Set default expiration date for shares" : "Ορισμός προεπιλεγμένης ημερομηνίας λήξης για τα κοινόχρηστα",
- "Your biography" : "Το βιογραφικό σας",
- "You are using <strong>{usage}</strong>" : "Χρησιμοποιείτε <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Χρησιμοποιείτε <strong>{usage}</strong> από <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Ορισμός προεπιλεγμένης ημερομηνίας λήξης για τα κοινόχρηστα"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/el.json b/apps/settings/l10n/el.json
index 3ed97a9b0d2..18aee222b29 100644
--- a/apps/settings/l10n/el.json
+++ b/apps/settings/l10n/el.json
@@ -292,7 +292,6 @@
"HTTP headers" : "Επικεφαλίδες HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- Η επικεφαλίδα HTTP `%1$s` δεν έχει οριστεί σε `%2$s`. Ορισμένες λειτουργίες ενδέχεται να μην λειτουργούν σωστά, καθώς συνιστάται η προσαρμογή αυτής της ρύθμισης ανάλογα.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Η επικεφαλίδα HTTP `%1$s` δεν έχει οριστεί σε `%2$s`. Αυτό αποτελεί πιθανό κίνδυνο ασφαλείας ή απορρήτου, καθώς συνιστάται η προσαρμογή αυτής της ρύθμισης ανάλογα.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Η επικεφαλίδα HTTP `%1$s` δεν περιέχει `%2$s`. Αυτό αποτελεί πιθανό κίνδυνο ασφαλείας ή απορρήτου, καθώς συνιστάται η προσαρμογή αυτής της ρύθμισης ανάλογα.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- Η επικεφαλίδα HTTP `%1$s` δεν έχει οριστεί σε `%2$s`, `%3$s`, `%4$s`, `%5$s` ή `%6$s`. Αυτό μπορεί να διαρρεύσει πληροφορίες referer. Δείτε την {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- Η επικεφαλίδα HTTP `Strict-Transport-Security` δεν έχει οριστεί σε τουλάχιστον `%d` δευτερόλεπτα (τρέχουσα τιμή: `%d`). Για ενισχυμένη ασφάλεια, συνιστάται η χρήση μιας μακροπρόθεσμης πολιτικής HSTS.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- Η επικεφαλίδα HTTP `Strict-Transport-Security` είναι εσφαλμένη: `%s`. Για ενισχυμένη ασφάλεια, συνιστάται η ενεργοποίηση του HSTS.",
@@ -436,97 +435,6 @@
"Could not load section content from app store." : "Δεν ήταν δυνατή η φόρτωση του περιεχομένου της ενότητας από το κατάστημα εφαρμογών.",
"Loading" : "Γίνεται φόρτωση",
"Fetching the latest news…" : "Ανάκτηση των τελευταίων ειδήσεων…",
- "Carousel" : "Καρουσέλ",
- "Previous slide" : "Προηγούμενη διαφάνεια",
- "Next slide" : "Επόμενη διαφάνεια",
- "Choose slide to display" : "Επιλέξτε διαφάνεια για εμφάνιση",
- "{index} of {total}" : "{index} από {total}",
- "Daemon" : "Υπηρεσία",
- "Deploy Daemon" : "Υπηρεσία Ανάπτυξης",
- "Type" : "Τύπος",
- "Display Name" : "Εμφανιζόμενο όνομα",
- "GPUs support" : "Υποστήριξη GPUs",
- "Compute device" : "Συσκευή υπολογισμού",
- "Advanced deploy options" : "Προηγμένες επιλογές ανάπτυξης",
- "Edit ExApp deploy options before installation" : "Επεξεργασία επιλογών ανάπτυξης ExApp πριν την εγκατάσταση",
- "Configured ExApp deploy options. Can be set only during installation" : "Ρυθμισμένες επιλογές ανάπτυξης ExApp. Μπορούν να ρυθμιστούν μόνο κατά την εγκατάσταση",
- "Learn more" : "Μάθετε περισσότερα",
- "Environment variables" : "Μεταβλητές περιβάλλοντος",
- "ExApp container environment variables" : "Μεταβλητές περιβάλλοντος ExApp container",
- "No environment variables defined" : "Δεν έχουν οριστεί μεταβλητές περιβάλλοντος",
- "Mounts" : "Σημεία προσάρτησης",
- "Define host folder mounts to bind to the ExApp container" : "Ορίστε σημεία προσάρτησης φακέλων του host για σύνδεση με το ExApp container",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Πρέπει να υπάρχει στον host του Deploy daemon πριν από την εγκατάσταση του ExApp",
- "Host path" : "Διαδρομή host",
- "Container path" : "Διαδρομή container",
- "Read-only" : "Μόνο για ανάγνωση",
- "Remove mount" : "Αφαίρεση σημείου προσάρτησης",
- "New mount" : "Νέο σημείο προσάρτησης",
- "Enter path to host folder" : "Εισάγετε τη διαδρομή προς τον φάκελο του host",
- "Enter path to container folder" : "Εισάγετε τη διαδρομή προς τον φάκελο του container",
- "Toggle read-only mode" : "Εναλλαγή λειτουργίας μόνο για ανάγνωση",
- "Confirm adding new mount" : "Επιβεβαίωση προσθήκης νέου σημείου προσάρτησης",
- "Confirm" : "Επιβεβαίωση",
- "Cancel adding mount" : "Ακύρωση προσθήκης σημείου προσάρτησης",
- "Cancel" : "Άκυρο",
- "Add mount" : "Προσθήκη σημείου προσάρτησης",
- "ExApp container mounts" : "Σημεία προσάρτησης ExApp container",
- "No mounts defined" : "Δεν έχουν οριστεί σημεία προσάρτησης",
- "Description" : "Περιγραφή",
- "View in store" : "Προβολή στο κέντρο εφαρμογών",
- "Visit website" : "Επισκεφθείτε την ιστοσελίδα",
- "Usage documentation" : "Τεκμηρίωση χρήσης",
- "Admin documentation" : "Τεκμηρίωση Διαχειριστή",
- "Developer documentation" : "Τεκμηρίωση προγραμματιστή",
- "Details" : "Λεπτομέρειες",
- "All" : "Όλες",
- "Limit app usage to groups" : "Περιορίστε τη χρήση της εφαρμογής σε ομάδες",
- "No results" : "Κανένα αποτέλεσμα",
- "Update to {version}" : "Ενημέρωση στην έκδοση {version}",
- "Deploy options" : "Επιλογές ανάπτυξης",
- "Default Deploy daemon is not accessible" : "Το προεπιλεγμένο Deploy daemon δεν είναι προσβάσιμο",
- "Delete data on remove" : "Διαγραφή δεδομένων κατά την αφαίρεση",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Αυτή η εφαρμογή δεν έχει ελάχιστη έκδοση του Nextcloud ανατεθειμένη. Αυτό θα αποτελεί σφάλμα στο μέλλον.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Αυτή η εφαρμογή δεν έχει μέγιστη έκδοση του Nextcloud ανατεθειμένη. Αυτό θα αποτελεί σφάλμα στο μέλλον.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Αυτή η εφαρμογή δεν μπορεί να εγκατασταθεί διότι δεν εκπληρώνονται οι ακόλουθες εξαρτήσεις:",
- "Latest updated" : "Τελευταία ενημέρωση",
- "Author" : "Δημιουργός",
- "Categories" : "Κατηγορίες",
- "Resources" : "Πηγές",
- "Documentation" : "Τεκμηρίωση",
- "Interact" : "Αλληλεπίδραση",
- "Report a bug" : "Αναφορά σφάλματος",
- "Request feature" : "Αίτημα δυνατότητας",
- "Ask questions or discuss" : "Κάνε ερωτήσεις ή συζήτηση",
- "Rate the app" : "Βαθμολόγησε την εφαρμογή",
- "Rate" : "Αξιολογήστε",
- "Changelog" : "Αρχείο καταγραφής αλλαγών",
- "Google Chrome for Android" : "Google Chrome για Android",
- "{productName} iOS app" : "{productName} εφαρμογή iOS",
- "{productName} Android app" : "{productName} εφαρμογή Android",
- "{productName} Talk for iOS" : "{productName} Talk για iOS",
- "{productName} Talk for Android" : "{productName} Talk για Android",
- "Sync client" : "Συγχρονισμός πελάτη",
- "This session" : "Αυτή η συνεδρία",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Όνομα συσκευής",
- "Cancel renaming" : "Ακύρωση μετονομασίας",
- "Save new name" : "Αποθήκευση νέου ονόματος",
- "Marked for remote wipe" : "Επισημάνθηκε για απομακρυσμένη εκκαθάριση",
- "Device settings" : "Ρυθμίσεις συσκευής",
- "Allow filesystem access" : "Επιτρέπεται η πρόσβαση στο σύστημα αρχείων",
- "Rename" : "Μετονομασία",
- "Revoke" : "Ανάκληση",
- "Wipe device" : "Εκκαθάριση συσκευής",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Η κατάργηση αυτού του αναγνωριστικού ενδέχεται να αποτρέψει την εκκαθάριση της συσκευής σας αν δεν έχει ξεκινήσει ακόμα.",
- "Device" : "Συσκευή",
- "Last activity" : "Τελευταία δραστηριότητα",
- "Devices & sessions" : "Συσκευές & συνδέσεις",
- "Web, desktop and mobile clients currently logged in to your account." : "Έχουν συνδεθεί στον λογαριασμό σας εφαρμογές από περιηγητή ιστού, υπολογιστή και εφαρμογή τηλεφώνου.",
- "Error while creating device token" : "Σφάλμα κατά τη δημιουργία διακριτικού συσκευής",
- "App name" : "Όνομα εφαρμογής",
- "Create new app password" : "Δημιουργία νέου συνθηματικού εφαρμογής",
"App password copied!" : "Το συνθηματικό εφαρμογής αντιγράφηκε!",
"Copy app password" : "Αντιγραφή συνθηματικού εφαρμογής",
"Login name copied!" : "Το όνομα σύνδεσης αντιγράφηκε!",
@@ -577,198 +485,10 @@
"Refer to the admin documentation on how to manually also encrypt existing files." : "Ανατρέξτε στην τεκμηρίωση του διαχειριστή για το πώς να κρυπτογραφήσετε χειροκίνητα τα υπάρχοντα αρχεία.",
"This is the final warning: Do you really want to enable encryption?" : "Αυτή είναι η τελευταία προειδοποίηση: Θέλετε πραγματικά να ενεργοποιήσετε την κρυπτογράφηση;",
"Please confirm the group removal" : "Παρακαλώ επιβεβαιώστε την αφαίρεση της ομάδας",
+ "Cancel" : "Άκυρο",
+ "Confirm" : "Επιβεβαίωση",
"Submit" : "Υποβολή",
"Rename group" : "Μετονομασία ομάδας",
- "Current password" : "Τρέχον συνθηματικό",
- "New password" : "Νέο συνθηματικό",
- "Change password" : "Αλλαγή συνθηματικού",
- "Choose your profile picture" : "Επιλέξτε την εικόνα προφίλ σας",
- "Please select a valid png or jpg file" : "Παρακαλούμε επιλέξτε συμβατό αρχείο png ή jpg",
- "Error setting profile picture" : "Σφάλμα ορισμού εικόνας προφίλ",
- "Error cropping profile picture" : "Σφάλμα περικοπής εικόνας προφίλ",
- "Error saving profile picture" : "Σφάλμα αποθήκευσης εικόνας προφίλ",
- "Error removing profile picture" : "Σφάλμα αφαίρεσης εικόνας προφίλ",
- "Your profile picture" : "Η εικόνα του προφίλ σας",
- "Upload profile picture" : "Μεταφόρτωση εικόνας προφίλ",
- "Choose profile picture from Files" : "Επιλέξτε εικόνα προφίλ από τα Αρχεία",
- "Remove profile picture" : "Αφαίρεση εικόνας προφίλ",
- "The file must be a PNG or JPG" : "Το αρχείο πρέπει να είναι τύπου PNG ή JPG",
- "Picture provided by original account" : "Φωτογραφία που παρέχεται από τον πρωτότυπο λογαριασμό",
- "Set as profile picture" : "Ορισμός ως εικόνας προφίλ",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Λάβετε υπόψη ότι μπορεί να χρειαστούν έως και 24 ώρες για να ενημερωθεί παντού η εικόνα του προφίλ σας.",
- "Your biography. Markdown is supported." : "Το βιογραφικό σας. Υποστηρίζεται Markdown.",
- "Unable to update date of birth" : "Δεν είναι δυνατή η ενημέρωση της ημερομηνίας γέννησης",
- "Enter your date of birth" : "Εισάγετε την ημερομηνία γέννησής σας",
- "You are using {s}{usage}{/s}" : "Χρησιμοποιείτε {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Χρησιμοποιείτε {s}{usage}{/s} από {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Είστε μέλος των ακόλουθων ομάδων:",
- "Your full name" : "Το ονοματεπώνυμο σας",
- "Email options" : "Επιλογές email",
- "Options for additional email address {index}" : "Επιλογές για πρόσθετη διεύθυνση email {index}",
- "Remove primary email" : "Κατάργηση κύριου email",
- "Delete email" : "Διαγραφή email",
- "This address is not confirmed" : "Αυτή η διεύθυνση email δεν έχει επιβεβαιωθεί",
- "Unset as primary email" : "Κατάργηση ορισμού ως κύριου email",
- "Set as primary email" : "Ορισμός ως κύριου email",
- "Additional email address {index}" : "Πρόσθετη διεύθυνση email {index}",
- "Unable to delete primary email address" : "Δεν είναι δυνατή η διαγραφή της κύριας διεύθυνσης email",
- "Unable to update primary email address" : "Δεν είναι δυνατή η ενημέρωση της κύριας διεύθυνσης email",
- "Unable to add additional email address" : "Δεν είναι δυνατή η προσθήκη πρόσθετης διεύθυνσης email",
- "Unable to update additional email address" : "Δεν είναι δυνατή η ενημέρωση της πρόσθετης διεύθυνσης email",
- "Unable to delete additional email address" : "Δεν είναι δυνατή η διαγραφή της πρόσθετης διεύθυνσης email",
- "Primary email for password reset and notifications" : "Κύριο email για επαναφορά συνθηματικού και ειδοποιήσεις",
- "No email address set" : "Δεν ορίστηκε διεύθυνση email",
- "Your handle" : "Το handle σας",
- "Derived from your locale ({weekDayName})" : "Προέρχεται από τις ρυθμίσεις τοποθεσίας σας ({weekDayName})",
- "Unable to update first day of week" : "Δεν είναι δυνατή η ενημέρωση της πρώτης ημέρας της εβδομάδας",
- "Day to use as the first day of week" : "Ημέρα που χρησιμοποιείται ως πρώτη ημέρα της εβδομάδας",
- "Your headline" : "Ο τίτλος σας",
- "Unable to update language" : "Δεν είναι δυνατή η ενημέρωση της γλώσσας",
- "Languages" : "Γλώσσες",
- "Help translate" : "Βοηθήστε στη μετάφραση",
- "No language set" : "Δεν ορίστηκε γλώσσα",
- "Unable to update locale" : "Δεν είναι δυνατή η ενημέρωση των ρυθμίσεων τοποθεσίας",
- "Locales" : "Ρυθμίσεις τοποθεσίας",
- "Week starts on {firstDayOfWeek}" : "Η εβδομάδα ξεκινά την {firstDayOfWeek}",
- "No locale set" : "Δεν ορίστηκαν ρυθμίσεις τοποθεσίας",
- "Your city" : "Η πόλη σας",
- "Your organisation" : "Ο οργανισμός σας",
- "Your phone number" : "Ο αριθμός τηλεφώνου σας",
- "Edit your Profile visibility" : "Επεξεργασία της ορατότητας του Προφίλ σας",
- "Unable to update profile enabled state" : "Δεν είναι δυνατή η ενημέρωση της κατάστασης του προφίλ",
- "Enable profile" : "Ενεργοποίηση προφίλ",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Η πιο περιοριστική ρύθμιση ορατότητας ή εύρους τηρείται στο Προφίλ σας. Για παράδειγμα, εάν η ορατότητα έχει οριστεί σε \"Εμφάνιση σε όλους\" και το εύρος έχει οριστεί σε \"Ιδιωτικό\", το \"Ιδιωτικό\" τηρείται.",
- "Unable to update visibility of {displayId}" : "Δεν είναι δυνατή η ενημέρωση της ορατότητας του {displayId}",
- "she/her" : "αυτή/της",
- "he/him" : "αυτός/του",
- "they/them" : "αυτοί/τους",
- "Your role" : "Ο ρόλος σας",
- "Your X (formerly Twitter) handle" : "Το handle σας στο X (πρώην Twitter)",
- "Your website" : "Η ιστοσελίδα σας",
- "Invalid value" : "Μη έγκυρη τιμή",
- "Unable to update {property}" : "Δεν είναι δυνατή η ενημέρωση του {property}",
- "No {property} set" : "Δεν ορίστηκε {property}",
- "Change scope level of {property}, current scope is {scope}" : "Αλλαγή επιπέδου εύρους του {property}, το τρέχον εύρος είναι {scope}",
- "Unable to update federation scope of the primary {property}" : "Δεν είναι δυνατή η ενημέρωση του εύρους ομοσπονδίας του κύριου {property}",
- "Unable to update federation scope of additional {property}" : "Δεν είναι δυνατή η ενημέρωση του εύρους ομοσπονδίας του πρόσθετου {property}",
- "Add additional email" : "Προσθέστε επιπλέον email",
- "Add" : "Προσθήκη",
- "Create" : "Δημιουργία",
- "Change" : "Αλλαγή",
- "Delete" : "Διαγραφή",
- "Reshare" : "Επαναδιαμοιρασμός",
- "Default language" : "Προεπιλεγμένη γλώσσα",
- "Common languages" : "Κοινές γλώσσες",
- "Other languages" : "Άλλες γλώσσες",
- "Password change is disabled because the master key is disabled" : "Η αλλαγή συνθηματικού είναι απενεργοποιημένη επειδή το κεντρικό κλειδί είναι απενεργοποιημένο",
- "No accounts" : "Δεν υπάρχουν λογαριασμοί",
- "Loading accounts …" : "Φόρτωση λογαριασμών …",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Λίστα λογαριασμών. Αυτή η λίστα δεν αποδίδεται πλήρως για λόγους απόδοσης. Οι λογαριασμοί θα αποδίδονται καθώς πλοηγείστε στη λίστα.",
- "Manager" : "Διαχειριστής",
- "Set line manager" : "Ορισμός γραμμικού διαχειριστή",
- "Account name will be autogenerated" : "Το όνομα λογαριασμού θα δημιουργηθεί αυτόματα",
- "Account name (required)" : "Όνομα λογαριασμού (απαιτείται)",
- "New account" : "Νέος λογαριασμός",
- "Display name" : "Εμφανιζόμενο όνομα",
- "Either password or email is required" : "Απαιτείται είτε συνθηματικό είτε email",
- "Password (required)" : "Συνθηματικό (απαιτείται)",
- "Email (required)" : "Email (απαιτείται)",
- "Email" : "Email",
- "Member of the following groups (required)" : "Μέλος των ακόλουθων ομάδων (απαιτείται)",
- "Member of the following groups" : "Μέλος των ακόλουθων ομάδων",
- "Set account groups" : "Ορισμός ομάδων λογαριασμού",
- "Admin of the following groups" : "Διαχειριστής των ακόλουθων ομάδων",
- "Set account as admin for …" : "Ορισμός λογαριασμού ως διαχειριστή για …",
- "Quota" : "Χωρητικότητα",
- "Set account quota" : "Ορισμός χωρητικότητας λογαριασμού",
- "Language" : "Γλώσσα",
- "Set default language" : "Ορισμός προεπιλεγμένης γλώσσας",
- "Add new account" : "Προσθήκη νέου λογαριασμού",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} λογαριασμός …","{userCount} λογαριασμοί …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} λογαριασμός","{userCount} λογαριασμοί"],
- "Total rows summary" : "Συνολική σύνοψη γραμμών",
- "Scroll to load more rows" : "Κυλήστε για να φορτώσετε περισσότερες γραμμές",
- "Password or insufficient permissions message" : "Συνθηματικό ή μήνυμα ανεπαρκών δικαιωμάτων",
- "Avatar" : "Εικόνα προφίλ",
- "Account name" : "Όνομα λογαριασμού",
- "Group admin for" : "Ομαδα διαχειριστή για",
- "Account backend" : "Σύστημα υποστήριξης λογαριασμού",
- "Storage location" : "Τοποθεσία αποθηκευτικού χώρου",
- "First login" : "Πρώτη σύνδεση",
- "Last login" : "Τελευταία είσοδος",
- "Account actions" : "Δραστηριότητα λογαριασμού",
- "{size} used" : "{size} που χρησιμοποιείται",
- "Delete account" : "Διαγραφή λογαριασμού",
- "Disconnect all devices and delete local data" : "Αποσύνδεση όλων των συσκευών και διαγραφή τοπικών δεδομένων",
- "Disable account" : "Απενεργοποίηση λογαριασμού",
- "Enable account" : "Ενεργοποίηση λογαριασμού",
- "Resend welcome email" : "Επαναποστολή αλληλογραφίας καλωσορίσματος",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Σε περίπτωση απώλειας συσκευής ή αποχώρησης από τον οργανισμό, μπορεί να γίνει εκκαθάριση των δεδομένων του Nextcloud από όλες τις συσκευές σε σχέση με το {userid}. Λειτουργεί μόνο εάν οι συσκευές είναι συνδεμένες στο ίντερνετ.",
- "Remote wipe of devices" : "Απομακρυσμένη εκκαθάριση συσκευών",
- "Wipe {userid}'s devices" : "Εκκαθάριση συσκευών του {userid}",
- "Wiped {userid}'s devices" : "Εκκαθάριση συσκευών του {userid}",
- "Failed to update line manager" : "Αποτυχία ενημέρωσης γραμμικού διαχειριστή",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Διαγραφή λογαριασμού του {userid} και όλων των προσωπικών αρχείων, δεδομένων εφαρμογών, κτλ.",
- "Account deletion" : "Διαγραφή λογαριασμού",
- "Delete {userid}'s account" : "Διαγραφή λογαριασμού του {userid}",
- "Display name was successfully changed" : "Το εμφανιζόμενο όνομα άλλαξε επιτυχώς",
- "Password can't be empty" : "Το συνθηματικό δεν μπορεί να είναι κενό",
- "Password was successfully changed" : "Το συνθηματικό άλλαξε επιτυχώς",
- "Email can't be empty" : "Το email δεν μπορεί να είναι κενό",
- "Email was successfully changed" : "Το email άλλαξε επιτυχώς",
- "Welcome mail sent!" : "Απεστάλη το μήνυμα καλωσορίσματος!",
- "Loading account …" : "Φόρτωση λογαριασμού …",
- "Change display name" : "Αλλαγή εμφανιζόμενου ονόματος",
- "Set new password" : "Ορισμός νέου συνθηματικού",
- "You do not have permissions to see the details of this account" : "Δεν έχετε δικαιώματα για να δείτε τις λεπτομέρειες αυτού του λογαριασμού",
- "Set new email address" : "Ορισμός νέας διεύθυνσης email",
- "Add account to group" : "Προσθήκη λογαριασμού σε ομάδα",
- "Set account as admin for" : "Ορισμός λογαριασμού ως διαχειριστή για",
- "Select account quota" : "Επιλογή χωρητικότητας λογαριασμού",
- "Set the language" : "Ορισμός γλώσσας",
- "Toggle account actions menu" : "Εναλλαγή μενού ενεργειών λογαριασμού",
- "Done" : "Ολοκληρώθηκε",
- "Edit" : "Επεξεργασία",
- "Account management settings" : "Ρυθμίσεις διαχείρισης λογαριασμών",
- "Visibility" : "Ορατότητα",
- "Show language" : "Εμφάνιση γλώσσας",
- "Show account backend" : "Εμφάνιση συστήματος υποστήριξης λογαριασμού",
- "Show storage path" : "Εμφάνιση διαδρομής αποθήκευσης",
- "Show first login" : "Εμφάνιση πρώτης σύνδεσης",
- "Show last login" : "Εμφάνιση τελευταίας σύνδεσης",
- "Sorting" : "Ταξινόμηση",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Η διαμόρφωση του συστήματος επιβάλλει την ταξινόμηση των ομάδων κατά όνομα. Αυτό απενεργοποιεί επίσης την εμφάνιση του αριθμού των μελών.",
- "Group list sorting" : "Ταξινόμηση λίστας ομάδων",
- "By member count" : "Κατά αριθμό μελών",
- "By name" : "Κατά όνομα",
- "Send email" : "Αποστολή email",
- "Send welcome email to new accounts" : "Αποστολή email καλωσορίσματος σε νέους λογαριασμούς",
- "Defaults" : "Προεπιλογές",
- "Default quota" : "Προεπιλεγμένη χωρητικότητα",
- "Select default quota" : "Επιλογή προεπιλεγμένης χωρητικότητας",
- "Server error while trying to complete WebAuthn device registration" : "Σφάλμα διακομιστή κατά την εγγραφή συσκευής WebAuthn",
- "Passwordless authentication requires a secure connection." : "Η σύνδεση χωρίς συνθηματικό απαιτεί ασφαλή σύνδεση.",
- "Add WebAuthn device" : "Προσθήκη συσκευής WebAuthn",
- "Please authorize your WebAuthn device." : "Παρακαλώ εξουσιοδοτήστε την συσκευή σας WebAuthn.",
- "Adding your device …" : "Προσθήκη της συσκευής σας …",
- "Unnamed device" : "Ανώνυμη συσκευή",
- "Passwordless Authentication" : "Πιστοποίηση χωρίς συνθηματικό",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Ρυθμίστε τον λογαριασμό σας για πιστοποίηση χωρίς κωδικό ακολουθώντας τα πρότυπα του FIDO2.",
- "No devices configured." : "Καμιά συσκευή δεν ρυθμίστηκε.",
- "The following devices are configured for your account:" : "Οι ακόλουθες συσκευές ρυθμίστηκαν για τον λογαριασμό σας:",
- "Your browser does not support WebAuthn." : "Ο περιηγητής σας δεν υποστηρίζει το WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Ως διαχειριστής μπορείτε να ρυθμίσετε λεπτομερώς την συμπεριφορά διαμοιρασμού.\nΠαρακαλούμε ανατρέξτε στην τεκμηρίωση για περισσότερες πληροφορίες.",
- "You need to enable the File sharing App." : "Πρέπει να ενεργοποιήσετε την εφαρμογή Διαμοιρασμός Αρχείων.",
- "App Store" : "Κατάστημα εφαρμογών",
- "Loading app list" : "Φόρτωση λίστας εφαρμογών",
- "Loading categories" : "Φόρτωση κατηγοριών",
- "Developer documentation ↗" : "Τεκμηρίωση προγραμματιστή ↗",
- "Version {version}, {license}-licensed" : "Έκδοση {version}, άδεια χρήσης {license}",
- "Version {version}" : "Έκδοση {version}",
- "All accounts" : "Όλοι οι λογαριασμοί",
- "Admins" : "Διαχειριστές",
- "Account group: {group}" : "Ομάδα λογαριασμού: {group}",
- "Account management" : "Διαχείριση λογαριασμών",
"Sending…" : "Γίνεται αποστολή…",
"Email sent" : "Το Email απεστάλη",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Για λόγους απόδοσης, όταν ενεργοποιείτε την κρυπτογράφηση σε έναν διακομιστή Nextcloud, μόνο τα νέα και τα τροποποιημένα αρχεία κρυπτογραφούνται.",
@@ -778,6 +498,7 @@
"Date of birth" : "Ημερομηνία γέννησης",
"Full name" : "Πλήρες όνομα",
"Additional email" : "Πρόσθετες διευθύνσεις email",
+ "Email" : "Email",
"Fediverse (e.g. Mastodon)" : "Fediverse (π.χ. Mastodon)",
"Headline" : "Τίτλος",
"Organisation" : "Οργανισμός",
@@ -787,6 +508,7 @@
"X (formerly Twitter)" : "X (πρώην Twitter)",
"Website" : "Ιστοσελίδα",
"Profile visibility" : "Ορατότητα προφίλ",
+ "Language" : "Γλώσσα",
"Locale" : "Ρυθμίσεις τοποθεσίας",
"First day of week" : "Πρώτη ημέρα της εβδομάδας",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Δεν είναι διαθέσιμη, καθώς αυτή η ιδιότητα απαιτείται για βασικές λειτουργίες, συμπεριλαμβανομένης της κοινής χρήσης αρχείων και των προσκλήσεων ημερολογίου",
@@ -804,6 +526,7 @@
"Show to logged in accounts only" : "Εμφάνιση μόνο σε συνδεδεμένους λογαριασμούς",
"Hide" : "Απόκρυψη",
"Manually installed apps cannot be updated" : "Οι εγκατεστημένες εφαρμογές χειροκίνητα δεν μπορούν να ενημερωθούν",
+ "Update to {version}" : "Ενημέρωση στην έκδοση {version}",
"{progress}% Deploying …" : "{progress}% Ανάπτυξη …",
"{progress}% Initializing …" : "{progress}% Αρχικοποίηση …",
"Health checking" : "Έλεγχος υγείας",
@@ -813,6 +536,7 @@
"Allow untested app" : "Επιτρέψτε μη δοκιμασμένες εφαρμογές",
"The app will be downloaded from the App Store" : "Θα γίνει λήψη της εφαρμογής από το App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Η εφαρμογή δεν είναι συμβατή με την έκδοση Nextcloud σας. Εάν συνεχίσετε μπορείτε να εγκαταστήσετε την εφαρμογή. Η εφαρμογή ίσως να μην λειτουργεί σωστά.",
+ "{size} used" : "{size} που χρησιμοποιείται",
"Unknown" : "Άγνωστο",
"Never" : "Ποτέ",
"Could not register device: Network error" : "Δεν ήταν δυνατή η εγγραφή της συσκευής: Σφάλμα δικτύου",
@@ -831,8 +555,10 @@
"Could not set group sorting" : "Δεν ήταν δυνατός ο ορισμός της ταξινόμησης ομάδων",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Υπήρχαν πάρα πολλά αιτήματα από το δίκτυό σας. Δοκιμάστε ξανά αργότερα ή επικοινωνήστε με τον διαχειριστή σας εάν πρόκειται για σφάλμα.",
"Error" : "Σφάλμα",
+ "Default quota" : "Προεπιλεγμένη χωρητικότητα",
"Account documentation" : "Τεκμηρίωση λογαριασμού",
"Administration documentation" : "Τεκμηρίωση Διαχειριστή",
+ "Documentation" : "Τεκμηρίωση",
"Forum" : "Φόρουμ",
"Nextcloud help & privacy resources" : "Βοήθεια και πόροι απορρήτου του Nextcloud",
"General documentation" : "Γενική τεκμηρίωση",
@@ -855,6 +581,7 @@
"SMTP Password" : "Συνθηματικό SMTP",
"Save" : "Αποθήκευση",
"Test and verify email settings" : "Δοκιμή και επαλήθευση τις ρυθμίσεων email",
+ "Send email" : "Αποστολή email",
"Security & setup warnings" : "Προειδοποιήσεις ασφάλειας & ρυθμίσεων",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Είναι σημαντικό για την ασφάλεια και την απόδοση του συστήματός σας ότι όλα έχουν ρυθμιστεί σωστά. Για να σας βοηθήσουμε, κάνουμε μερικούς αυτόματους ελέγχους. Για περισσότερες πληροφορίες, ανατρέξτε στη σχετική τεκμηρίωση.",
"All checks passed." : "Όλοι οι έλεγχοι επιτυχείς.",
@@ -880,10 +607,8 @@
"The PHP memory limit is below the recommended value of %s." : "Το όριο μνήμης της PHP είναι κάτω από την προτεινόμενη τιμή των %s.",
"for WebAuthn passwordless login" : "για σύνδεση χωρίς συνθηματικό με WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "για σύνδεση χωρίς συνθηματικό με WebAuthn και αποθήκευση SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Η επικεφαλίδα HTTP `%1$s` δεν περιέχει `%2$s`. Αυτό αποτελεί πιθανό κίνδυνο ασφαλείας ή απορρήτου, καθώς συνιστάται η προσαρμογή αυτής της ρύθμισης ανάλογα.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Ανιχνεύθηκε η έκδοση PostgreSQL \"%s\". Προτείνεται PostgreSQL >=12 και <=16 για την καλύτερη απόδοση, σταθερότητα και λειτουργικότητα με αυτήν την έκδοση του Nextcloud.",
- "Set default expiration date for shares" : "Ορισμός προεπιλεγμένης ημερομηνίας λήξης για τα κοινόχρηστα",
- "Your biography" : "Το βιογραφικό σας",
- "You are using <strong>{usage}</strong>" : "Χρησιμοποιείτε <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Χρησιμοποιείτε <strong>{usage}</strong> από <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Ορισμός προεπιλεγμένης ημερομηνίας λήξης για τα κοινόχρηστα"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/en_GB.js b/apps/settings/l10n/en_GB.js
index 6d127073390..f5c0842220d 100644
--- a/apps/settings/l10n/en_GB.js
+++ b/apps/settings/l10n/en_GB.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP headers",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS.",
@@ -447,97 +446,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Could not load section content from app store.",
"Loading" : "Loading",
"Fetching the latest news…" : "Fetching the latest news…",
- "Carousel" : "Carousel",
- "Previous slide" : "Previous slide",
- "Next slide" : "Next slide",
- "Choose slide to display" : "Choose slide to display",
- "{index} of {total}" : "{index} of {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Deploy Daemon",
- "Type" : "Type",
- "Display Name" : "Display Name",
- "GPUs support" : "GPUs support",
- "Compute device" : "Compute device",
- "Advanced deploy options" : "Advanced deploy options",
- "Edit ExApp deploy options before installation" : "Edit ExApp deploy options before installation",
- "Configured ExApp deploy options. Can be set only during installation" : "Configured ExApp deploy options. Can be set only during installation",
- "Learn more" : "Learn more",
- "Environment variables" : "Environment variables",
- "ExApp container environment variables" : "ExApp container environment variables",
- "No environment variables defined" : "No environment variables defined",
- "Mounts" : "Mounts",
- "Define host folder mounts to bind to the ExApp container" : "Define host folder mounts to bind to the ExApp container",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Must exist on the Deploy daemon host prior to installing the ExApp",
- "Host path" : "Host path",
- "Container path" : "Container path",
- "Read-only" : "Read-only",
- "Remove mount" : "Remove mount",
- "New mount" : "New mount",
- "Enter path to host folder" : "Enter path to host folder",
- "Enter path to container folder" : "Enter path to container folder",
- "Toggle read-only mode" : "Toggle read-only mode",
- "Confirm adding new mount" : "Confirm adding new mount",
- "Confirm" : "Confirm",
- "Cancel adding mount" : "Cancel adding mount",
- "Cancel" : "Cancel",
- "Add mount" : "Add mount",
- "ExApp container mounts" : "ExApp container mounts",
- "No mounts defined" : "No mounts defined",
- "Description" : "Description",
- "View in store" : "View in store",
- "Visit website" : "Visit website",
- "Usage documentation" : "Usage documentation",
- "Admin documentation" : "Admin documentation",
- "Developer documentation" : "Developer documentation",
- "Details" : "Details",
- "All" : "All",
- "Limit app usage to groups" : "Limit app usage to groups",
- "No results" : "No results",
- "Update to {version}" : "Update to {version}",
- "Deploy options" : "Deploy options",
- "Default Deploy daemon is not accessible" : "Default Deploy daemon is not accessible",
- "Delete data on remove" : "Delete data on remove",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "This app has no minimum Nextcloud version assigned. This will cause an error in the future.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "This app has no maximum Nextcloud version assigned. This will cause an error in the future.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "This app cannot be installed because the following dependencies are not fulfilled:",
- "Latest updated" : "Latest updated",
- "Author" : "Author",
- "Categories" : "Categories",
- "Resources" : "Resources",
- "Documentation" : "Documentation",
- "Interact" : "Interact",
- "Report a bug" : "Report a bug",
- "Request feature" : "Request feature",
- "Ask questions or discuss" : "Ask questions or discuss",
- "Rate the app" : "Rate the app",
- "Rate" : "Rate",
- "Changelog" : "Changelog",
- "Google Chrome for Android" : "Google Chrome for Android",
- "{productName} iOS app" : "{productName} iOS app",
- "{productName} Android app" : "{productName} Android app",
- "{productName} Talk for iOS" : "{productName} Talk for iOS",
- "{productName} Talk for Android" : "{productName} Talk for Android",
- "Sync client" : "Sync client",
- "This session" : "This session",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Device name",
- "Cancel renaming" : "Cancel renaming",
- "Save new name" : "Save new name",
- "Marked for remote wipe" : "Marked for remote wipe",
- "Device settings" : "Device settings",
- "Allow filesystem access" : "Allow filesystem access",
- "Rename" : "Rename",
- "Revoke" : "Revoke",
- "Wipe device" : "Wipe device",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revoking this token might prevent the wiping of your device if it has not started the wipe yet.",
- "Device" : "Device",
- "Last activity" : "Last activity",
- "Devices & sessions" : "Devices & sessions",
- "Web, desktop and mobile clients currently logged in to your account." : "Web, desktop and mobile clients currently logged in to your account.",
- "Error while creating device token" : "Error while creating device token",
- "App name" : "App name",
- "Create new app password" : "Create new app password",
"App password copied!" : "App password copied!",
"Copy app password" : "Copy app password",
"Login name copied!" : "Login name copied!",
@@ -591,203 +499,11 @@ OC.L10N.register(
"Failed to delete group \"{group}\"" : "Failed to delete group \"{group}\"",
"Please confirm the group removal" : "Please confirm the group removal",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "You are about to delete the group \"{group}\". The accounts will NOT be deleted.",
+ "Cancel" : "Cancel",
+ "Confirm" : "Confirm",
"Submit" : "Submit",
"Rename group" : "Rename group",
"Delete group" : "Delete group",
- "Current password" : "Current password",
- "New password" : "New password",
- "Change password" : "Change password",
- "Choose your profile picture" : "Choose your profile picture",
- "Please select a valid png or jpg file" : "Please select a valid png or jpg file",
- "Error setting profile picture" : "Error setting profile picture",
- "Error cropping profile picture" : "Error cropping profile picture",
- "Error saving profile picture" : "Error saving profile picture",
- "Error removing profile picture" : "Error removing profile picture",
- "Your profile picture" : "Your profile picture",
- "Upload profile picture" : "Upload profile picture",
- "Choose profile picture from Files" : "Choose profile picture from Files",
- "Remove profile picture" : "Remove profile picture",
- "The file must be a PNG or JPG" : "The file must be a PNG or JPG",
- "Picture provided by original account" : "Picture provided by original account",
- "Set as profile picture" : "Set as profile picture",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Please note that it can take up to 24 hours for your profile picture to be updated everywhere.",
- "Your biography. Markdown is supported." : "Your biography. Markdown is supported.",
- "Unable to update date of birth" : "Unable to update date of birth",
- "Enter your date of birth" : "Enter your date of birth",
- "You are using {s}{usage}{/s}" : "You are using {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "You are a member of the following groups:",
- "Your full name" : "Your full name",
- "Email options" : "Email options",
- "Options for additional email address {index}" : "Options for additional email address {index}",
- "Remove primary email" : "Remove primary email",
- "Delete email" : "Delete email",
- "This address is not confirmed" : "This address is not confirmed",
- "Unset as primary email" : "Unset as primary email",
- "Set as primary email" : "Set as primary email",
- "Additional email address {index}" : "Additional email address {index}",
- "Unable to delete primary email address" : "Unable to delete primary email address",
- "Unable to update primary email address" : "Unable to update primary email address",
- "Unable to add additional email address" : "Unable to add additional email address",
- "Unable to update additional email address" : "Unable to update additional email address",
- "Unable to delete additional email address" : "Unable to delete additional email address",
- "Primary email for password reset and notifications" : "Primary email for password reset and notifications",
- "No email address set" : "No email address set",
- "Your handle" : "Your handle",
- "Derived from your locale ({weekDayName})" : "Derived from your locale ({weekDayName})",
- "Unable to update first day of week" : "Unable to update first day of week",
- "Day to use as the first day of week" : "Day to use as the first day of week",
- "Your headline" : "Your headline",
- "Unable to update language" : "Unable to update language",
- "Languages" : "Languages",
- "Help translate" : "Help translate",
- "No language set" : "No language set",
- "Unable to update locale" : "Unable to update locale",
- "Locales" : "Locales",
- "Week starts on {firstDayOfWeek}" : "Week starts on {firstDayOfWeek}",
- "No locale set" : "No locale set",
- "Your city" : "Your city",
- "Your organisation" : "Your organisation",
- "Your phone number" : "Your phone number",
- "Edit your Profile visibility" : "Edit your Profile visibility",
- "Unable to update profile enabled state" : "Unable to update profile enabled state",
- "Enable profile" : "Enable profile",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.",
- "Unable to update visibility of {displayId}" : "Unable to update visibility of {displayId}",
- "she/her" : "she/her",
- "he/him" : "he/him",
- "they/them" : "they/them",
- "Your role" : "Your role",
- "Your X (formerly Twitter) handle" : "Your X (formerly Twitter) handle",
- "Your website" : "Your website",
- "Invalid value" : "Invalid value",
- "Unable to update {property}" : "Unable to update {property}",
- "No {property} set" : "No {property} set",
- "Change scope level of {property}, current scope is {scope}" : "Change scope level of {property}, current scope is {scope}",
- "Unable to update federation scope of the primary {property}" : "Unable to update federation scope of the primary {property}",
- "Unable to update federation scope of additional {property}" : "Unable to update federation scope of additional {property}",
- "Add additional email" : "Add additional email",
- "Add" : "Add",
- "Create" : "Create",
- "Change" : "Change",
- "Delete" : "Delete",
- "Reshare" : "Reshare",
- "Default language" : "Default language",
- "Common languages" : "Common languages",
- "Other languages" : "Other languages",
- "Password change is disabled because the master key is disabled" : "Password change is disabled because the master key is disabled",
- "No accounts" : "No accounts",
- "Loading accounts …" : "Loading accounts …",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list.",
- "Manager" : "Manager",
- "Set line manager" : "Set line manager",
- "Account name will be autogenerated" : "Account name will be autogenerated",
- "Account name (required)" : "Account name (required)",
- "Failed to search groups" : "Failed to search groups",
- "New account" : "New account",
- "Display name" : "Display name",
- "Either password or email is required" : "Either password or email is required",
- "Password (required)" : "Password (required)",
- "Email (required)" : "Email (required)",
- "Email" : "Email",
- "Member of the following groups (required)" : "Member of the following groups (required)",
- "Member of the following groups" : "Member of the following groups",
- "Set account groups" : "Set account groups",
- "Admin of the following groups" : "Admin of the following groups",
- "Set account as admin for …" : "Set account as admin for …",
- "Quota" : "Quota",
- "Set account quota" : "Set account quota",
- "Language" : "Language",
- "Set default language" : "Set default language",
- "Add new account" : "Add new account",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} account …","{userCount} accounts …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} account","{userCount} accounts"],
- "Total rows summary" : "Total rows summary",
- "Scroll to load more rows" : "Scroll to load more rows",
- "Password or insufficient permissions message" : "Password or insufficient permissions message",
- "Avatar" : "Avatar",
- "Account name" : "Account name",
- "Group admin for" : "Group admin for",
- "Account backend" : "Account backend",
- "Storage location" : "Storage location",
- "First login" : "First login",
- "Last login" : "Last login",
- "Account actions" : "Account actions",
- "{size} used" : "{size} used",
- "Delete account" : "Delete account",
- "Disconnect all devices and delete local data" : "Disconnect all devices and delete local data",
- "Disable account" : "Disable account",
- "Enable account" : "Enable account",
- "Resend welcome email" : "Resend welcome email",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.",
- "Remote wipe of devices" : "Remote wipe of devices",
- "Wipe {userid}'s devices" : "Wipe {userid}'s devices",
- "Wiped {userid}'s devices" : "Wiped {userid}'s devices",
- "Failed to load groups with details" : "Failed to load groups with details",
- "Failed to load sub admin groups with details" : "Failed to load sub admin groups with details",
- "Failed to update line manager" : "Failed to update line manager",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Fully delete {userid}'s account including all their personal files, app data, etc.",
- "Account deletion" : "Account deletion",
- "Delete {userid}'s account" : "Delete {userid}'s account",
- "Display name was successfully changed" : "Display name was successfully changed",
- "Password can't be empty" : "Password can't be empty",
- "Password was successfully changed" : "Password was successfully changed",
- "Email can't be empty" : "Email can't be empty",
- "Email was successfully changed" : "Email was successfully changed",
- "Welcome mail sent!" : "Welcome mail sent!",
- "Loading account …" : "Loading account …",
- "Change display name" : "Change display name",
- "Set new password" : "Set new password",
- "You do not have permissions to see the details of this account" : "You do not have permissions to see the details of this account",
- "Set new email address" : "Set new email address",
- "Add account to group" : "Add account to group",
- "Set account as admin for" : "Set account as admin for",
- "Select account quota" : "Select account quota",
- "Set the language" : "Set the language",
- "Toggle account actions menu" : "Toggle account actions menu",
- "Done" : "Done",
- "Edit" : "Edit",
- "Account management settings" : "Account management settings",
- "Visibility" : "Visibility",
- "Show language" : "Show language",
- "Show account backend" : "Show account backend",
- "Show storage path" : "Show storage path",
- "Show first login" : "Show first login",
- "Show last login" : "Show last login",
- "Sorting" : "Sorting",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "The system config enforces sorting the groups by name. This also disables showing the member count.",
- "Group list sorting" : "Group list sorting",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list.",
- "By member count" : "By member count",
- "By name" : "By name",
- "Send email" : "Send email",
- "Send welcome email to new accounts" : "Send welcome email to new accounts",
- "Defaults" : "Defaults",
- "Default quota" : "Default quota",
- "Select default quota" : "Select default quota",
- "Server error while trying to complete WebAuthn device registration" : "Server error while trying to complete WebAuthn device registration",
- "Passwordless authentication requires a secure connection." : "Passwordless authentication requires a secure connection.",
- "Add WebAuthn device" : "Add WebAuthn device",
- "Please authorize your WebAuthn device." : "Please authorise your WebAuthn device.",
- "Adding your device …" : "Adding your device …",
- "Unnamed device" : "Unnamed device",
- "Passwordless Authentication" : "Passwordless Authentication",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Set up your account for passwordless authentication following the FIDO2 standard.",
- "No devices configured." : "No devices configured.",
- "The following devices are configured for your account:" : "The following devices are configured for your account:",
- "Your browser does not support WebAuthn." : "Your browser does not support WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "As admin you can fine-tune the sharing behavior. Please see the documentation for more information.",
- "You need to enable the File sharing App." : "You need to enable the File sharing App.",
- "App Store" : "App Store",
- "Loading app list" : "Loading app list",
- "Loading categories" : "Loading categories",
- "Developer documentation ↗" : "Developer documentation ↗",
- "Version {version}, {license}-licensed" : "Version {version}, {license}-licensed",
- "Version {version}" : "Version {version}",
- "All accounts" : "All accounts",
- "Admins" : "Admins",
- "Account group: {group}" : "Account group: {group}",
- "Account management" : "Account management",
"Sending…" : "Sending…",
"Email sent" : "Email sent",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted.",
@@ -797,6 +513,7 @@ OC.L10N.register(
"Date of birth" : "Date of birth",
"Full name" : "Full name",
"Additional email" : "Additional email",
+ "Email" : "Email",
"Fediverse (e.g. Mastodon)" : "Fediverse (e.g. Mastodon)",
"Headline" : "Headline",
"Organisation" : "Organisation",
@@ -806,6 +523,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (formerly Twitter)",
"Website" : "Website",
"Profile visibility" : "Profile visibility",
+ "Language" : "Language",
"Locale" : "Locale",
"First day of week" : "First day of week",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Not available as this property is required for core functionality including file sharing and calendar invitations",
@@ -823,6 +541,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Show to logged in accounts only",
"Hide" : "Hide",
"Manually installed apps cannot be updated" : "Manually installed apps cannot be updated",
+ "Update to {version}" : "Update to {version}",
"{progress}% Deploying …" : "{progress}% Deploying …",
"{progress}% Initializing …" : "{progress}% Initializing …",
"Health checking" : "Health checking",
@@ -832,6 +551,7 @@ OC.L10N.register(
"Allow untested app" : "Allow untested app",
"The app will be downloaded from the App Store" : "The app will be downloaded from the App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.",
+ "{size} used" : "{size} used",
"Unknown" : "Unknown",
"Never" : "Never",
"Could not register device: Network error" : "Could not register device: Network error",
@@ -850,8 +570,10 @@ OC.L10N.register(
"Could not set group sorting" : "Could not set group sorting",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "There were too many requests from your network. Retry later or contact your administrator if this is an error.",
"Error" : "Error",
+ "Default quota" : "Default quota",
"Account documentation" : "Account documentation",
"Administration documentation" : "Administration documentation",
+ "Documentation" : "Documentation",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud help & privacy resources",
"General documentation" : "General documentation",
@@ -874,6 +596,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP Password",
"Save" : "Save",
"Test and verify email settings" : "Test and verify email settings",
+ "Send email" : "Send email",
"Security & setup warnings" : "Security & setup warnings",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information.",
"All checks passed." : "All checks passed.",
@@ -899,11 +622,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "The PHP memory limit is below the recommended value of %s.",
"for WebAuthn passwordless login" : "for WebAuthn passwordless login",
"for WebAuthn passwordless login, and SFTP storage" : "for WebAuthn passwordless login, and SFTP storage",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud.",
- "Set default expiration date for shares" : "Set default expiration date for shares",
- "Your biography" : "Your biography",
- "You are using <strong>{usage}</strong>" : "You are using <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Failed to load subadmin groups with details"
+ "Set default expiration date for shares" : "Set default expiration date for shares"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/en_GB.json b/apps/settings/l10n/en_GB.json
index 43c5bd06674..d893b3424d9 100644
--- a/apps/settings/l10n/en_GB.json
+++ b/apps/settings/l10n/en_GB.json
@@ -294,7 +294,6 @@
"HTTP headers" : "HTTP headers",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS.",
@@ -445,97 +444,6 @@
"Could not load section content from app store." : "Could not load section content from app store.",
"Loading" : "Loading",
"Fetching the latest news…" : "Fetching the latest news…",
- "Carousel" : "Carousel",
- "Previous slide" : "Previous slide",
- "Next slide" : "Next slide",
- "Choose slide to display" : "Choose slide to display",
- "{index} of {total}" : "{index} of {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Deploy Daemon",
- "Type" : "Type",
- "Display Name" : "Display Name",
- "GPUs support" : "GPUs support",
- "Compute device" : "Compute device",
- "Advanced deploy options" : "Advanced deploy options",
- "Edit ExApp deploy options before installation" : "Edit ExApp deploy options before installation",
- "Configured ExApp deploy options. Can be set only during installation" : "Configured ExApp deploy options. Can be set only during installation",
- "Learn more" : "Learn more",
- "Environment variables" : "Environment variables",
- "ExApp container environment variables" : "ExApp container environment variables",
- "No environment variables defined" : "No environment variables defined",
- "Mounts" : "Mounts",
- "Define host folder mounts to bind to the ExApp container" : "Define host folder mounts to bind to the ExApp container",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Must exist on the Deploy daemon host prior to installing the ExApp",
- "Host path" : "Host path",
- "Container path" : "Container path",
- "Read-only" : "Read-only",
- "Remove mount" : "Remove mount",
- "New mount" : "New mount",
- "Enter path to host folder" : "Enter path to host folder",
- "Enter path to container folder" : "Enter path to container folder",
- "Toggle read-only mode" : "Toggle read-only mode",
- "Confirm adding new mount" : "Confirm adding new mount",
- "Confirm" : "Confirm",
- "Cancel adding mount" : "Cancel adding mount",
- "Cancel" : "Cancel",
- "Add mount" : "Add mount",
- "ExApp container mounts" : "ExApp container mounts",
- "No mounts defined" : "No mounts defined",
- "Description" : "Description",
- "View in store" : "View in store",
- "Visit website" : "Visit website",
- "Usage documentation" : "Usage documentation",
- "Admin documentation" : "Admin documentation",
- "Developer documentation" : "Developer documentation",
- "Details" : "Details",
- "All" : "All",
- "Limit app usage to groups" : "Limit app usage to groups",
- "No results" : "No results",
- "Update to {version}" : "Update to {version}",
- "Deploy options" : "Deploy options",
- "Default Deploy daemon is not accessible" : "Default Deploy daemon is not accessible",
- "Delete data on remove" : "Delete data on remove",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "This app has no minimum Nextcloud version assigned. This will cause an error in the future.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "This app has no maximum Nextcloud version assigned. This will cause an error in the future.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "This app cannot be installed because the following dependencies are not fulfilled:",
- "Latest updated" : "Latest updated",
- "Author" : "Author",
- "Categories" : "Categories",
- "Resources" : "Resources",
- "Documentation" : "Documentation",
- "Interact" : "Interact",
- "Report a bug" : "Report a bug",
- "Request feature" : "Request feature",
- "Ask questions or discuss" : "Ask questions or discuss",
- "Rate the app" : "Rate the app",
- "Rate" : "Rate",
- "Changelog" : "Changelog",
- "Google Chrome for Android" : "Google Chrome for Android",
- "{productName} iOS app" : "{productName} iOS app",
- "{productName} Android app" : "{productName} Android app",
- "{productName} Talk for iOS" : "{productName} Talk for iOS",
- "{productName} Talk for Android" : "{productName} Talk for Android",
- "Sync client" : "Sync client",
- "This session" : "This session",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Device name",
- "Cancel renaming" : "Cancel renaming",
- "Save new name" : "Save new name",
- "Marked for remote wipe" : "Marked for remote wipe",
- "Device settings" : "Device settings",
- "Allow filesystem access" : "Allow filesystem access",
- "Rename" : "Rename",
- "Revoke" : "Revoke",
- "Wipe device" : "Wipe device",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revoking this token might prevent the wiping of your device if it has not started the wipe yet.",
- "Device" : "Device",
- "Last activity" : "Last activity",
- "Devices & sessions" : "Devices & sessions",
- "Web, desktop and mobile clients currently logged in to your account." : "Web, desktop and mobile clients currently logged in to your account.",
- "Error while creating device token" : "Error while creating device token",
- "App name" : "App name",
- "Create new app password" : "Create new app password",
"App password copied!" : "App password copied!",
"Copy app password" : "Copy app password",
"Login name copied!" : "Login name copied!",
@@ -589,203 +497,11 @@
"Failed to delete group \"{group}\"" : "Failed to delete group \"{group}\"",
"Please confirm the group removal" : "Please confirm the group removal",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "You are about to delete the group \"{group}\". The accounts will NOT be deleted.",
+ "Cancel" : "Cancel",
+ "Confirm" : "Confirm",
"Submit" : "Submit",
"Rename group" : "Rename group",
"Delete group" : "Delete group",
- "Current password" : "Current password",
- "New password" : "New password",
- "Change password" : "Change password",
- "Choose your profile picture" : "Choose your profile picture",
- "Please select a valid png or jpg file" : "Please select a valid png or jpg file",
- "Error setting profile picture" : "Error setting profile picture",
- "Error cropping profile picture" : "Error cropping profile picture",
- "Error saving profile picture" : "Error saving profile picture",
- "Error removing profile picture" : "Error removing profile picture",
- "Your profile picture" : "Your profile picture",
- "Upload profile picture" : "Upload profile picture",
- "Choose profile picture from Files" : "Choose profile picture from Files",
- "Remove profile picture" : "Remove profile picture",
- "The file must be a PNG or JPG" : "The file must be a PNG or JPG",
- "Picture provided by original account" : "Picture provided by original account",
- "Set as profile picture" : "Set as profile picture",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Please note that it can take up to 24 hours for your profile picture to be updated everywhere.",
- "Your biography. Markdown is supported." : "Your biography. Markdown is supported.",
- "Unable to update date of birth" : "Unable to update date of birth",
- "Enter your date of birth" : "Enter your date of birth",
- "You are using {s}{usage}{/s}" : "You are using {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "You are a member of the following groups:",
- "Your full name" : "Your full name",
- "Email options" : "Email options",
- "Options for additional email address {index}" : "Options for additional email address {index}",
- "Remove primary email" : "Remove primary email",
- "Delete email" : "Delete email",
- "This address is not confirmed" : "This address is not confirmed",
- "Unset as primary email" : "Unset as primary email",
- "Set as primary email" : "Set as primary email",
- "Additional email address {index}" : "Additional email address {index}",
- "Unable to delete primary email address" : "Unable to delete primary email address",
- "Unable to update primary email address" : "Unable to update primary email address",
- "Unable to add additional email address" : "Unable to add additional email address",
- "Unable to update additional email address" : "Unable to update additional email address",
- "Unable to delete additional email address" : "Unable to delete additional email address",
- "Primary email for password reset and notifications" : "Primary email for password reset and notifications",
- "No email address set" : "No email address set",
- "Your handle" : "Your handle",
- "Derived from your locale ({weekDayName})" : "Derived from your locale ({weekDayName})",
- "Unable to update first day of week" : "Unable to update first day of week",
- "Day to use as the first day of week" : "Day to use as the first day of week",
- "Your headline" : "Your headline",
- "Unable to update language" : "Unable to update language",
- "Languages" : "Languages",
- "Help translate" : "Help translate",
- "No language set" : "No language set",
- "Unable to update locale" : "Unable to update locale",
- "Locales" : "Locales",
- "Week starts on {firstDayOfWeek}" : "Week starts on {firstDayOfWeek}",
- "No locale set" : "No locale set",
- "Your city" : "Your city",
- "Your organisation" : "Your organisation",
- "Your phone number" : "Your phone number",
- "Edit your Profile visibility" : "Edit your Profile visibility",
- "Unable to update profile enabled state" : "Unable to update profile enabled state",
- "Enable profile" : "Enable profile",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.",
- "Unable to update visibility of {displayId}" : "Unable to update visibility of {displayId}",
- "she/her" : "she/her",
- "he/him" : "he/him",
- "they/them" : "they/them",
- "Your role" : "Your role",
- "Your X (formerly Twitter) handle" : "Your X (formerly Twitter) handle",
- "Your website" : "Your website",
- "Invalid value" : "Invalid value",
- "Unable to update {property}" : "Unable to update {property}",
- "No {property} set" : "No {property} set",
- "Change scope level of {property}, current scope is {scope}" : "Change scope level of {property}, current scope is {scope}",
- "Unable to update federation scope of the primary {property}" : "Unable to update federation scope of the primary {property}",
- "Unable to update federation scope of additional {property}" : "Unable to update federation scope of additional {property}",
- "Add additional email" : "Add additional email",
- "Add" : "Add",
- "Create" : "Create",
- "Change" : "Change",
- "Delete" : "Delete",
- "Reshare" : "Reshare",
- "Default language" : "Default language",
- "Common languages" : "Common languages",
- "Other languages" : "Other languages",
- "Password change is disabled because the master key is disabled" : "Password change is disabled because the master key is disabled",
- "No accounts" : "No accounts",
- "Loading accounts …" : "Loading accounts …",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list.",
- "Manager" : "Manager",
- "Set line manager" : "Set line manager",
- "Account name will be autogenerated" : "Account name will be autogenerated",
- "Account name (required)" : "Account name (required)",
- "Failed to search groups" : "Failed to search groups",
- "New account" : "New account",
- "Display name" : "Display name",
- "Either password or email is required" : "Either password or email is required",
- "Password (required)" : "Password (required)",
- "Email (required)" : "Email (required)",
- "Email" : "Email",
- "Member of the following groups (required)" : "Member of the following groups (required)",
- "Member of the following groups" : "Member of the following groups",
- "Set account groups" : "Set account groups",
- "Admin of the following groups" : "Admin of the following groups",
- "Set account as admin for …" : "Set account as admin for …",
- "Quota" : "Quota",
- "Set account quota" : "Set account quota",
- "Language" : "Language",
- "Set default language" : "Set default language",
- "Add new account" : "Add new account",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} account …","{userCount} accounts …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} account","{userCount} accounts"],
- "Total rows summary" : "Total rows summary",
- "Scroll to load more rows" : "Scroll to load more rows",
- "Password or insufficient permissions message" : "Password or insufficient permissions message",
- "Avatar" : "Avatar",
- "Account name" : "Account name",
- "Group admin for" : "Group admin for",
- "Account backend" : "Account backend",
- "Storage location" : "Storage location",
- "First login" : "First login",
- "Last login" : "Last login",
- "Account actions" : "Account actions",
- "{size} used" : "{size} used",
- "Delete account" : "Delete account",
- "Disconnect all devices and delete local data" : "Disconnect all devices and delete local data",
- "Disable account" : "Disable account",
- "Enable account" : "Enable account",
- "Resend welcome email" : "Resend welcome email",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.",
- "Remote wipe of devices" : "Remote wipe of devices",
- "Wipe {userid}'s devices" : "Wipe {userid}'s devices",
- "Wiped {userid}'s devices" : "Wiped {userid}'s devices",
- "Failed to load groups with details" : "Failed to load groups with details",
- "Failed to load sub admin groups with details" : "Failed to load sub admin groups with details",
- "Failed to update line manager" : "Failed to update line manager",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Fully delete {userid}'s account including all their personal files, app data, etc.",
- "Account deletion" : "Account deletion",
- "Delete {userid}'s account" : "Delete {userid}'s account",
- "Display name was successfully changed" : "Display name was successfully changed",
- "Password can't be empty" : "Password can't be empty",
- "Password was successfully changed" : "Password was successfully changed",
- "Email can't be empty" : "Email can't be empty",
- "Email was successfully changed" : "Email was successfully changed",
- "Welcome mail sent!" : "Welcome mail sent!",
- "Loading account …" : "Loading account …",
- "Change display name" : "Change display name",
- "Set new password" : "Set new password",
- "You do not have permissions to see the details of this account" : "You do not have permissions to see the details of this account",
- "Set new email address" : "Set new email address",
- "Add account to group" : "Add account to group",
- "Set account as admin for" : "Set account as admin for",
- "Select account quota" : "Select account quota",
- "Set the language" : "Set the language",
- "Toggle account actions menu" : "Toggle account actions menu",
- "Done" : "Done",
- "Edit" : "Edit",
- "Account management settings" : "Account management settings",
- "Visibility" : "Visibility",
- "Show language" : "Show language",
- "Show account backend" : "Show account backend",
- "Show storage path" : "Show storage path",
- "Show first login" : "Show first login",
- "Show last login" : "Show last login",
- "Sorting" : "Sorting",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "The system config enforces sorting the groups by name. This also disables showing the member count.",
- "Group list sorting" : "Group list sorting",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list.",
- "By member count" : "By member count",
- "By name" : "By name",
- "Send email" : "Send email",
- "Send welcome email to new accounts" : "Send welcome email to new accounts",
- "Defaults" : "Defaults",
- "Default quota" : "Default quota",
- "Select default quota" : "Select default quota",
- "Server error while trying to complete WebAuthn device registration" : "Server error while trying to complete WebAuthn device registration",
- "Passwordless authentication requires a secure connection." : "Passwordless authentication requires a secure connection.",
- "Add WebAuthn device" : "Add WebAuthn device",
- "Please authorize your WebAuthn device." : "Please authorise your WebAuthn device.",
- "Adding your device …" : "Adding your device …",
- "Unnamed device" : "Unnamed device",
- "Passwordless Authentication" : "Passwordless Authentication",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Set up your account for passwordless authentication following the FIDO2 standard.",
- "No devices configured." : "No devices configured.",
- "The following devices are configured for your account:" : "The following devices are configured for your account:",
- "Your browser does not support WebAuthn." : "Your browser does not support WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "As admin you can fine-tune the sharing behavior. Please see the documentation for more information.",
- "You need to enable the File sharing App." : "You need to enable the File sharing App.",
- "App Store" : "App Store",
- "Loading app list" : "Loading app list",
- "Loading categories" : "Loading categories",
- "Developer documentation ↗" : "Developer documentation ↗",
- "Version {version}, {license}-licensed" : "Version {version}, {license}-licensed",
- "Version {version}" : "Version {version}",
- "All accounts" : "All accounts",
- "Admins" : "Admins",
- "Account group: {group}" : "Account group: {group}",
- "Account management" : "Account management",
"Sending…" : "Sending…",
"Email sent" : "Email sent",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted.",
@@ -795,6 +511,7 @@
"Date of birth" : "Date of birth",
"Full name" : "Full name",
"Additional email" : "Additional email",
+ "Email" : "Email",
"Fediverse (e.g. Mastodon)" : "Fediverse (e.g. Mastodon)",
"Headline" : "Headline",
"Organisation" : "Organisation",
@@ -804,6 +521,7 @@
"X (formerly Twitter)" : "X (formerly Twitter)",
"Website" : "Website",
"Profile visibility" : "Profile visibility",
+ "Language" : "Language",
"Locale" : "Locale",
"First day of week" : "First day of week",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Not available as this property is required for core functionality including file sharing and calendar invitations",
@@ -821,6 +539,7 @@
"Show to logged in accounts only" : "Show to logged in accounts only",
"Hide" : "Hide",
"Manually installed apps cannot be updated" : "Manually installed apps cannot be updated",
+ "Update to {version}" : "Update to {version}",
"{progress}% Deploying …" : "{progress}% Deploying …",
"{progress}% Initializing …" : "{progress}% Initializing …",
"Health checking" : "Health checking",
@@ -830,6 +549,7 @@
"Allow untested app" : "Allow untested app",
"The app will be downloaded from the App Store" : "The app will be downloaded from the App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.",
+ "{size} used" : "{size} used",
"Unknown" : "Unknown",
"Never" : "Never",
"Could not register device: Network error" : "Could not register device: Network error",
@@ -848,8 +568,10 @@
"Could not set group sorting" : "Could not set group sorting",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "There were too many requests from your network. Retry later or contact your administrator if this is an error.",
"Error" : "Error",
+ "Default quota" : "Default quota",
"Account documentation" : "Account documentation",
"Administration documentation" : "Administration documentation",
+ "Documentation" : "Documentation",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud help & privacy resources",
"General documentation" : "General documentation",
@@ -872,6 +594,7 @@
"SMTP Password" : "SMTP Password",
"Save" : "Save",
"Test and verify email settings" : "Test and verify email settings",
+ "Send email" : "Send email",
"Security & setup warnings" : "Security & setup warnings",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information.",
"All checks passed." : "All checks passed.",
@@ -897,11 +620,8 @@
"The PHP memory limit is below the recommended value of %s." : "The PHP memory limit is below the recommended value of %s.",
"for WebAuthn passwordless login" : "for WebAuthn passwordless login",
"for WebAuthn passwordless login, and SFTP storage" : "for WebAuthn passwordless login, and SFTP storage",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud.",
- "Set default expiration date for shares" : "Set default expiration date for shares",
- "Your biography" : "Your biography",
- "You are using <strong>{usage}</strong>" : "You are using <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Failed to load subadmin groups with details"
+ "Set default expiration date for shares" : "Set default expiration date for shares"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/eo.js b/apps/settings/l10n/eo.js
index 06e28ba9947..681d00bebb4 100644
--- a/apps/settings/l10n/eo.js
+++ b/apps/settings/l10n/eo.js
@@ -139,46 +139,6 @@ OC.L10N.register(
"No apps found for your version" : "Neniu aplikaĵo trovita por via versio",
"Group name" : "Gruponomo",
"Loading" : "Ŝargado",
- "Type" : "Tipo",
- "Learn more" : "Scii pli",
- "Confirm" : "Konfirmi",
- "Cancel" : "Nuligi",
- "Description" : "Priskribo",
- "View in store" : "Vidi en butiko",
- "Visit website" : "Viziti retejon",
- "Admin documentation" : "Dokumentaro por administranto",
- "Developer documentation" : "Dokumentaro por programisto",
- "Details" : "Detaloj",
- "All" : "Ĉio",
- "Limit app usage to groups" : "Limigi aplikaĵan uzon al grupoj",
- "No results" : "Neniu rezulto",
- "Update to {version}" : "Ĝisdatigi al {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Tiu aplikaĵo ne postulas minimuman Nextcloud-version. Tio estos eraro en la estonteco.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Tiu aplikaĵo ne postulas maksimuman Nextcloud-version. Tio estos eraro en la estonteco.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Tiu aplikaĵo ne instaliĝas, ĉar la jenaj dependecoj ne plenumiĝas:",
- "Categories" : "Kategorioj",
- "Resources" : "Rimedoj",
- "Documentation" : "Dokumentaro",
- "Report a bug" : "Raporti problemon",
- "Request feature" : "Peti novan funkcion",
- "Ask questions or discuss" : "Demandi aŭ priparoli",
- "Rate" : "Pritakso",
- "Changelog" : "Ŝanĝoprotokolo",
- "Google Chrome for Android" : "Google Chrome por Android",
- "This session" : "Tiu ĉi seanco",
- "Marked for remote wipe" : "Elektita por fora forviŝado",
- "Device settings" : "Aparataj agordoj",
- "Allow filesystem access" : "Permesi aliron al dosiersistemo",
- "Rename" : "Alinomi",
- "Revoke" : "Senvalidigi",
- "Wipe device" : "Forviŝi aparaton",
- "Device" : "Aparato",
- "Last activity" : "Lasta aktivaĵo",
- "Devices & sessions" : "Aparatoj kaj seancoj",
- "Web, desktop and mobile clients currently logged in to your account." : "Reta, surtabla kaj portebla klientoj nun konektitaj al via konto.",
- "Error while creating device token" : "Eraro dum kreo de aparata ĵetono",
- "App name" : "Aplikaĵa nomo",
- "Create new app password" : "Krei novan aplikaĵan pasvorton",
"Could not copy app password. Please copy it manually." : "Ne eblis kopii la aplikaĵan pasvorton. Bv. kopii ĝin permane.",
"Login" : "Ensaluti",
"Password" : "Pasvorto",
@@ -196,59 +156,19 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Atentu, ke ĉifrado ĉiam pligrandigas dosierojn.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ĉiam estas bone krei savkopiojn de viaj datumoj. Se tiuj ĉi lastaj estas ĉifritaj, certigu, ke vi savkopias ankaŭ la ĉifroŝlosilon kune kun la datumoj.",
"This is the final warning: Do you really want to enable encryption?" : "Jen la fina averto: ĉu vi certe volas ŝalti ĉifradon?",
+ "Cancel" : "Nuligi",
+ "Confirm" : "Konfirmi",
"Submit" : "Sendi",
- "Current password" : "Nuna pasvorto",
- "New password" : "Nova pasvorto",
- "Change password" : "Ŝanĝi la pasvorton",
- "Picture provided by original account" : "Bildo el la origina konto",
- "You are a member of the following groups:" : "Vi estas membro el la jenaj grupoj:",
- "No email address set" : "Neniu retpoŝta adreso agordita",
- "Languages" : "Lingvoj",
- "Help translate" : "Helpu traduki",
- "No language set" : "Neniu lingvo agordita",
- "Your phone number" : "Via telefonnumero",
- "Add" : "Aldoni",
- "Create" : "Krei",
- "Change" : "Ŝanĝi",
- "Delete" : "Forigi",
- "Default language" : "Defaŭlta lingvo",
- "Common languages" : "Ordinaraj lingvoj",
- "Password change is disabled because the master key is disabled" : "Pasvorta ŝanĝo ne eblas, ĉar la ĉefa ŝlosilo estas neebligita",
- "Display name" : "Vidiga nomo",
- "Email" : "Retpoŝtadreso",
- "Quota" : "Kvoto",
- "Language" : "Lingvo",
- "Avatar" : "Avataro",
- "Group admin for" : "Grupadministranto por",
- "Storage location" : "Konserveja loko",
- "Last login" : "Lasta ensaluto",
- "{size} used" : "{size} uzataj",
- "Delete account" : "Forigi konton",
- "Resend welcome email" : "Resendi bonvenan retpoŝtmesaĝon",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Okaze de perdo de aparato aŭ eliro de la organizaĵo, tio povas defore forviŝi la datumojn de Nextcloud el ĉiuj aparatoj ligitaj per {userid}. Nur funkcias, se la aparatoj estas konektitaj al interreto.",
- "Remote wipe of devices" : "Defora forviŝado de aparatoj",
- "Wipe {userid}'s devices" : "Forviŝi la aparatojn de {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Forigi la tuton de la konto de {userid}, inkluzive de ĉiuj ties personaj dosieroj, datumoj el aplikaĵoj, k.t.p.",
- "Account deletion" : "Forigo de konto",
- "Delete {userid}'s account" : "Forigi konton de {userid}",
- "Welcome mail sent!" : "Bonvena retpoŝtmesaĝo sendita!",
- "Done" : "Farita",
- "Edit" : "Modifi",
- "Show storage path" : "Montri vojon al konservejo",
- "Show last login" : "Montri lastan ensaluton",
- "Send email" : "Sendi retpoŝtmesaĝon",
- "Default quota" : "Defaŭlta kvoto",
- "Select default quota" : "Elekti defaŭltan kvoton",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Kiel administranto, vi povas agordi plidetale la kunhavigon. Bv. vidi la dokumentaron pri tio.",
- "Admins" : "Administrantoj",
"Sending…" : "Sendado...",
"Email sent" : "La retpoŝtaĵo sendiĝis",
"Location" : "Loko",
"Profile picture" : "Profila bildo",
"About" : "Pri",
"Full name" : "Plena nomo",
+ "Email" : "Retpoŝtadreso",
"Phone number" : "Telefonnumero",
"Website" : "Retejo",
+ "Language" : "Lingvo",
"Locale" : "Lokaĵaro",
"Your apps" : "Viaj aplikaĵoj",
"Active apps" : "Aktivaj aplikaĵoj",
@@ -256,9 +176,11 @@ OC.L10N.register(
"Updates" : "Ĝisdatigoj",
"App bundles" : "Aplikaĵaj kuniĝoj",
"Hide" : "Malmontri",
+ "Update to {version}" : "Ĝisdatigi al {version}",
"Download and enable" : "Elŝuti kaj ŝalti",
"Disable" : "Malŝalti",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Tiu aplikaĵo ne kongruas kun via Nextcloud-versio. Se vi daŭrigas, vi tamen povos instali ĝin, sed eble tiu aplikaĵo ne funkcios bone.",
+ "{size} used" : "{size} uzataj",
"Unknown" : "Nekonata",
"Never" : "Neniam",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplikaĵo estis ŝaltita, sed ĝi bezonas ĝisdatiĝi. Vi estos direktita al ĝisdatiga paĝon post 5 sekundoj.",
@@ -269,6 +191,8 @@ OC.L10N.register(
"Error while updating device token scope" : "Eraro dum ĝisdatigo de la amplekso de la aparataj ĵetonoj",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Estis tro multaj petoj de via reto. Reprovu poste aŭ kontaktu vian administranton se tio estas eraro.",
"Error" : "Eraro",
+ "Default quota" : "Defaŭlta kvoto",
+ "Documentation" : "Dokumentaro",
"Forum" : "Forumo",
"Legal notice" : "Leĝa regularo",
"Privacy policy" : "Privateca regularo",
@@ -286,6 +210,7 @@ OC.L10N.register(
"Credentials" : "Aŭtentigiloj",
"SMTP Password" : "SMTP-pasvorto",
"Save" : "Konservi",
+ "Send email" : "Sendi retpoŝtmesaĝon",
"Security & setup warnings" : "Avertoj pri sekureco kaj agordoj",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Gravas por sekureco kaj rapideco de via servilo, ke ĉio estu agordita bone. Por helpi vin pri tio, ni faras kelkajn aŭtomatajn testojn. Bv. vidi la dokumentaron por pli da informoj.",
"All checks passed." : "Ĉiuj testoj sukcese trapasitaj.",
diff --git a/apps/settings/l10n/eo.json b/apps/settings/l10n/eo.json
index 69066da132a..5f21fabd439 100644
--- a/apps/settings/l10n/eo.json
+++ b/apps/settings/l10n/eo.json
@@ -137,46 +137,6 @@
"No apps found for your version" : "Neniu aplikaĵo trovita por via versio",
"Group name" : "Gruponomo",
"Loading" : "Ŝargado",
- "Type" : "Tipo",
- "Learn more" : "Scii pli",
- "Confirm" : "Konfirmi",
- "Cancel" : "Nuligi",
- "Description" : "Priskribo",
- "View in store" : "Vidi en butiko",
- "Visit website" : "Viziti retejon",
- "Admin documentation" : "Dokumentaro por administranto",
- "Developer documentation" : "Dokumentaro por programisto",
- "Details" : "Detaloj",
- "All" : "Ĉio",
- "Limit app usage to groups" : "Limigi aplikaĵan uzon al grupoj",
- "No results" : "Neniu rezulto",
- "Update to {version}" : "Ĝisdatigi al {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Tiu aplikaĵo ne postulas minimuman Nextcloud-version. Tio estos eraro en la estonteco.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Tiu aplikaĵo ne postulas maksimuman Nextcloud-version. Tio estos eraro en la estonteco.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Tiu aplikaĵo ne instaliĝas, ĉar la jenaj dependecoj ne plenumiĝas:",
- "Categories" : "Kategorioj",
- "Resources" : "Rimedoj",
- "Documentation" : "Dokumentaro",
- "Report a bug" : "Raporti problemon",
- "Request feature" : "Peti novan funkcion",
- "Ask questions or discuss" : "Demandi aŭ priparoli",
- "Rate" : "Pritakso",
- "Changelog" : "Ŝanĝoprotokolo",
- "Google Chrome for Android" : "Google Chrome por Android",
- "This session" : "Tiu ĉi seanco",
- "Marked for remote wipe" : "Elektita por fora forviŝado",
- "Device settings" : "Aparataj agordoj",
- "Allow filesystem access" : "Permesi aliron al dosiersistemo",
- "Rename" : "Alinomi",
- "Revoke" : "Senvalidigi",
- "Wipe device" : "Forviŝi aparaton",
- "Device" : "Aparato",
- "Last activity" : "Lasta aktivaĵo",
- "Devices & sessions" : "Aparatoj kaj seancoj",
- "Web, desktop and mobile clients currently logged in to your account." : "Reta, surtabla kaj portebla klientoj nun konektitaj al via konto.",
- "Error while creating device token" : "Eraro dum kreo de aparata ĵetono",
- "App name" : "Aplikaĵa nomo",
- "Create new app password" : "Krei novan aplikaĵan pasvorton",
"Could not copy app password. Please copy it manually." : "Ne eblis kopii la aplikaĵan pasvorton. Bv. kopii ĝin permane.",
"Login" : "Ensaluti",
"Password" : "Pasvorto",
@@ -194,59 +154,19 @@
"Be aware that encryption always increases the file size." : "Atentu, ke ĉifrado ĉiam pligrandigas dosierojn.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ĉiam estas bone krei savkopiojn de viaj datumoj. Se tiuj ĉi lastaj estas ĉifritaj, certigu, ke vi savkopias ankaŭ la ĉifroŝlosilon kune kun la datumoj.",
"This is the final warning: Do you really want to enable encryption?" : "Jen la fina averto: ĉu vi certe volas ŝalti ĉifradon?",
+ "Cancel" : "Nuligi",
+ "Confirm" : "Konfirmi",
"Submit" : "Sendi",
- "Current password" : "Nuna pasvorto",
- "New password" : "Nova pasvorto",
- "Change password" : "Ŝanĝi la pasvorton",
- "Picture provided by original account" : "Bildo el la origina konto",
- "You are a member of the following groups:" : "Vi estas membro el la jenaj grupoj:",
- "No email address set" : "Neniu retpoŝta adreso agordita",
- "Languages" : "Lingvoj",
- "Help translate" : "Helpu traduki",
- "No language set" : "Neniu lingvo agordita",
- "Your phone number" : "Via telefonnumero",
- "Add" : "Aldoni",
- "Create" : "Krei",
- "Change" : "Ŝanĝi",
- "Delete" : "Forigi",
- "Default language" : "Defaŭlta lingvo",
- "Common languages" : "Ordinaraj lingvoj",
- "Password change is disabled because the master key is disabled" : "Pasvorta ŝanĝo ne eblas, ĉar la ĉefa ŝlosilo estas neebligita",
- "Display name" : "Vidiga nomo",
- "Email" : "Retpoŝtadreso",
- "Quota" : "Kvoto",
- "Language" : "Lingvo",
- "Avatar" : "Avataro",
- "Group admin for" : "Grupadministranto por",
- "Storage location" : "Konserveja loko",
- "Last login" : "Lasta ensaluto",
- "{size} used" : "{size} uzataj",
- "Delete account" : "Forigi konton",
- "Resend welcome email" : "Resendi bonvenan retpoŝtmesaĝon",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Okaze de perdo de aparato aŭ eliro de la organizaĵo, tio povas defore forviŝi la datumojn de Nextcloud el ĉiuj aparatoj ligitaj per {userid}. Nur funkcias, se la aparatoj estas konektitaj al interreto.",
- "Remote wipe of devices" : "Defora forviŝado de aparatoj",
- "Wipe {userid}'s devices" : "Forviŝi la aparatojn de {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Forigi la tuton de la konto de {userid}, inkluzive de ĉiuj ties personaj dosieroj, datumoj el aplikaĵoj, k.t.p.",
- "Account deletion" : "Forigo de konto",
- "Delete {userid}'s account" : "Forigi konton de {userid}",
- "Welcome mail sent!" : "Bonvena retpoŝtmesaĝo sendita!",
- "Done" : "Farita",
- "Edit" : "Modifi",
- "Show storage path" : "Montri vojon al konservejo",
- "Show last login" : "Montri lastan ensaluton",
- "Send email" : "Sendi retpoŝtmesaĝon",
- "Default quota" : "Defaŭlta kvoto",
- "Select default quota" : "Elekti defaŭltan kvoton",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Kiel administranto, vi povas agordi plidetale la kunhavigon. Bv. vidi la dokumentaron pri tio.",
- "Admins" : "Administrantoj",
"Sending…" : "Sendado...",
"Email sent" : "La retpoŝtaĵo sendiĝis",
"Location" : "Loko",
"Profile picture" : "Profila bildo",
"About" : "Pri",
"Full name" : "Plena nomo",
+ "Email" : "Retpoŝtadreso",
"Phone number" : "Telefonnumero",
"Website" : "Retejo",
+ "Language" : "Lingvo",
"Locale" : "Lokaĵaro",
"Your apps" : "Viaj aplikaĵoj",
"Active apps" : "Aktivaj aplikaĵoj",
@@ -254,9 +174,11 @@
"Updates" : "Ĝisdatigoj",
"App bundles" : "Aplikaĵaj kuniĝoj",
"Hide" : "Malmontri",
+ "Update to {version}" : "Ĝisdatigi al {version}",
"Download and enable" : "Elŝuti kaj ŝalti",
"Disable" : "Malŝalti",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Tiu aplikaĵo ne kongruas kun via Nextcloud-versio. Se vi daŭrigas, vi tamen povos instali ĝin, sed eble tiu aplikaĵo ne funkcios bone.",
+ "{size} used" : "{size} uzataj",
"Unknown" : "Nekonata",
"Never" : "Neniam",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplikaĵo estis ŝaltita, sed ĝi bezonas ĝisdatiĝi. Vi estos direktita al ĝisdatiga paĝon post 5 sekundoj.",
@@ -267,6 +189,8 @@
"Error while updating device token scope" : "Eraro dum ĝisdatigo de la amplekso de la aparataj ĵetonoj",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Estis tro multaj petoj de via reto. Reprovu poste aŭ kontaktu vian administranton se tio estas eraro.",
"Error" : "Eraro",
+ "Default quota" : "Defaŭlta kvoto",
+ "Documentation" : "Dokumentaro",
"Forum" : "Forumo",
"Legal notice" : "Leĝa regularo",
"Privacy policy" : "Privateca regularo",
@@ -284,6 +208,7 @@
"Credentials" : "Aŭtentigiloj",
"SMTP Password" : "SMTP-pasvorto",
"Save" : "Konservi",
+ "Send email" : "Sendi retpoŝtmesaĝon",
"Security & setup warnings" : "Avertoj pri sekureco kaj agordoj",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Gravas por sekureco kaj rapideco de via servilo, ke ĉio estu agordita bone. Por helpi vin pri tio, ni faras kelkajn aŭtomatajn testojn. Bv. vidi la dokumentaron por pli da informoj.",
"All checks passed." : "Ĉiuj testoj sukcese trapasitaj.",
diff --git a/apps/settings/l10n/es.js b/apps/settings/l10n/es.js
index a3fa87392a5..6b04b394727 100644
--- a/apps/settings/l10n/es.js
+++ b/apps/settings/l10n/es.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "Encabezados HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- El encabezado HTTP `%1$s` no está configurado a `%2$s`. Algunas características podrían no funcionar correctamente, por lo que se recomienda ajustar esta configuración adecuadamente.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- El encabezado HTTP `%1$s` no está configurado a `%2$s`. Este es un riesgo potencial de seguridad o privacidad, por lo que se recomienda ajustar esta configuración adecuadamente.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- El encabezado HTTP `%1$s` no contiene `%2$s`. Este es un riesgo potencial de seguridad o privacidad, por lo que se recomienda ajustar esta configuración adecuadamente.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- El encabezado HTTP `%1$s` no está configurado a `%2$s`, `%3$s`, `%4$s`, `%5$s` ó `%6$s`. Esto podría filtrar la información de referidos. Vea las recomendaciones de la W3C en {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- El encabezado HTTP `Strict-Transport-Security` no está configurado a al menos `%d` segundos (valor actual: `%d`). Para una seguridad mejorada, se recomienda usar una política HSTS larga.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- El encabezado HTTP `Strict-Transport-Security` HTTP esta malformado: `%s`. Para una seguridad mejorada, se recomienda habilitar HSTS.",
@@ -443,97 +442,6 @@ OC.L10N.register(
"Could not load section content from app store." : "No se pudo cargar el contenido de la sección desde la tienda de aplicaciones.",
"Loading" : "Cargando",
"Fetching the latest news…" : "Obteniendo las últimas noticias...",
- "Carousel" : "Carrusel",
- "Previous slide" : "Diapositiva anterior",
- "Next slide" : "Diapositiva siguiente",
- "Choose slide to display" : "Elegir diapositiva a mostrar",
- "{index} of {total}" : "{index} de {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Daemon de despligue",
- "Type" : "Tipo",
- "Display Name" : "Nombre a mostrar",
- "GPUs support" : "Soporte a GPUs",
- "Compute device" : "Dispositivo de cómputo",
- "Advanced deploy options" : "Opciones avanzadas del despliegue",
- "Edit ExApp deploy options before installation" : "Editar las opciones de despliegue de ExApp antes de la instalación",
- "Configured ExApp deploy options. Can be set only during installation" : "Opciones de despliegue de ExApp configuradas. Sólo pueden configurarse durante la instalación",
- "Learn more" : "Aprender más",
- "Environment variables" : "Variables de entorno",
- "ExApp container environment variables" : "Variables de entorno del contenedor ExApp ",
- "No environment variables defined" : "No hay variables de entorno definidas",
- "Mounts" : "Montajes",
- "Define host folder mounts to bind to the ExApp container" : "Definir la carpeta de montajes del host para enlazar con el contenedor ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Debe existir en el host el daemon Deploy antes de instalar ExApp",
- "Host path" : "Carpeta del host",
- "Container path" : "Carpeta del contenedor",
- "Read-only" : "Solo lectura",
- "Remove mount" : "Eliminar montaje",
- "New mount" : "Montar nuevo",
- "Enter path to host folder" : "Introduzca la ubicación de la carpeta del host",
- "Enter path to container folder" : "Introduzca la ubicación de la carpeta del contenedor",
- "Toggle read-only mode" : "Alternar modo solo lectura",
- "Confirm adding new mount" : "Confirmar añadir montaje",
- "Confirm" : "Confirmar",
- "Cancel adding mount" : "Cancelar añadir montaje",
- "Cancel" : "Cancelar",
- "Add mount" : "Añadir montaje",
- "ExApp container mounts" : "Montajes del contenedor ExApp",
- "No mounts defined" : "No hay montajes definidos",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visite el sitio web",
- "Usage documentation" : "Documentación de uso",
- "Admin documentation" : "Documentación de administrador",
- "Developer documentation" : "Documentación de desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "Limit app usage to groups" : "Limitar uso de apps a grupos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "Deploy options" : "Opciones del despliegue",
- "Default Deploy daemon is not accessible" : "No se puede acceder al Daemon de despliegue predeterminado",
- "Delete data on remove" : "Eliminar datos al borrar",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta app no tiene una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta app no tiene una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede instalarse porque las siguientes dependencias no están cumplimentadas:",
- "Latest updated" : "Última actualización",
- "Author" : "Autor",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Interact" : "Interactuar",
- "Report a bug" : "Notificar un error",
- "Request feature" : "Solicitar característica",
- "Ask questions or discuss" : "Preguntar o discutir",
- "Rate the app" : "Calificar la aplicación",
- "Rate" : "Calificar",
- "Changelog" : "Historial de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "{productName} iOS app" : "{productName} iOS app",
- "{productName} Android app" : "{productName} Android app",
- "{productName} Talk for iOS" : "{productName} Talk for iOS",
- "{productName} Talk for Android" : "{productName} Talk for Android",
- "Sync client" : "Cliente de sincronización",
- "This session" : "Esta sesión",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nombre del dispositivo",
- "Cancel renaming" : "Cancelar renombrado",
- "Save new name" : "Guardar nombre nuevo",
- "Marked for remote wipe" : "Marcado para borrado remoto",
- "Device settings" : "Configuración del dispositivo",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Anular",
- "Wipe device" : "Borrar dispositivo",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Anular este token podría evitar el borrado de tu dispositivo si no ha empezado todavía.",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, móviles y de escritorio actualmente conectados a su cuenta.",
- "Error while creating device token" : "Error al crear \"token\" de dispositivo",
- "App name" : "Nombre de la app",
- "Create new app password" : "Crear nueva contraseña de app",
"App password copied!" : "¡Se copió la contraseña de aplicación!",
"Copy app password" : "Copiar contraseña de aplicación",
"Login name copied!" : "¡Se copió el nombre de inicio de sesión!",
@@ -585,202 +493,10 @@ OC.L10N.register(
"Refer to the admin documentation on how to manually also encrypt existing files." : "Consulta la documentación del administrador para saber cómo cifrar manualmente también los archivos existentes.",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente quiere activar el cifrado?",
"Please confirm the group removal" : "Por favor, confirme la eliminación del grupo",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
"Rename group" : "Renombrar grupo",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Choose your profile picture" : "Seleccione su imagen de perfil",
- "Please select a valid png or jpg file" : "Por favor, seleccione un archivo png o jpg válido",
- "Error setting profile picture" : "Error configurando imagen del perfil",
- "Error cropping profile picture" : "Error recortando imagen del perfil",
- "Error saving profile picture" : "Error guardando imagen del perfil",
- "Error removing profile picture" : "Error eliminando imagen del perfil",
- "Your profile picture" : "Su imagen de perfil",
- "Upload profile picture" : "Subir imagen del perfil",
- "Choose profile picture from Files" : "Seleccionar imagen del perfil desde los archivos",
- "Remove profile picture" : "Eliminar imagen del perfil",
- "The file must be a PNG or JPG" : "El archivo debe ser un PNG o JPG",
- "Picture provided by original account" : "Imagen provista por la cuenta original",
- "Set as profile picture" : "Establecer como imagen del perfil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Tenga en cuenta que puede tomar hasta 24 horas para que su imagen del perfil sea actualizada en todas partes",
- "Your biography. Markdown is supported." : "Tu biografía. Se admite Markdown.",
- "Unable to update date of birth" : "No se puede actualizar su fecha de nacimiento",
- "Enter your date of birth" : "Indica tu fecha de nacimiento",
- "You are using {s}{usage}{/s}" : "Estás usando {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Estás usando {s}{usage}{/s} de {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Eres miembro de los siguientes grupos:",
- "Your full name" : "Tu nombre completo",
- "Email options" : "Opciones de email",
- "Options for additional email address {index}" : "Opciones para direcciones de correo electrónico adicionales {index}",
- "Remove primary email" : "Borrar email principal",
- "Delete email" : "Borrar email",
- "This address is not confirmed" : "Esta dirección no está confirmada",
- "Unset as primary email" : "Quitar como email principal",
- "Set as primary email" : "Establecer como email principal",
- "Additional email address {index}" : "Direcciones email adicionales {index}",
- "Unable to delete primary email address" : "No se pudo borrar tu dirección de email principal",
- "Unable to update primary email address" : "No se pudo actualizar tu dirección de email principal",
- "Unable to add additional email address" : "No se pudo añadir una dirección de email adicional",
- "Unable to update additional email address" : "No se pudo actualizar la dirección de email adicional",
- "Unable to delete additional email address" : "No se pudo borrar la dirección de email adicional",
- "Primary email for password reset and notifications" : "Dirección email principal para restablecer contraseña y notificaciones",
- "No email address set" : "No hay establecida ninguna dirección de correo",
- "Your handle" : "Su identificador",
- "Derived from your locale ({weekDayName})" : "Obtenido de su región ({weekDayName})",
- "Unable to update first day of week" : "No se pudo modificar el primer día de la semana",
- "Day to use as the first day of week" : "Primer día de la semana",
- "Your headline" : "Su titular",
- "Unable to update language" : "No se pudo actualizar tu idioma",
- "Languages" : "Idiomas",
- "Help translate" : "Ayúdanos a traducir",
- "No language set" : "No se ha establecido ningún idioma",
- "Unable to update locale" : "No fue posible actualizar el idioma",
- "Locales" : "Configuración regional",
- "Week starts on {firstDayOfWeek}" : "La semana comienza en {firstDayOfWeek}",
- "No locale set" : "No se ha establecido el idioma",
- "Your city" : "Su ciudad",
- "Your organisation" : "Su organización",
- "Your phone number" : "Su número de teléfono",
- "Edit your Profile visibility" : "Editar la visibilidad de tu perfil",
- "Unable to update profile enabled state" : "No se pudo actualizar el estado habilitado del perfil",
- "Enable profile" : "Habilitar perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Se respetará en su perfil el ajuste más restrictivo entre visibilidad y alcance. Por ejemplo, si la visibilidad está configurada en \"Mostrar a todos\" y el alcance en \"Privado\", los ajustes de \"Privado\" se respetarán.",
- "Unable to update visibility of {displayId}" : "No se pudo actualizar la visibilidad de {displayId}",
- "she/her" : "ella",
- "he/him" : "él",
- "they/them" : "elle",
- "Your role" : "Su rol",
- "Your X (formerly Twitter) handle" : "Tu usuario de X (anteriormente Twitter)",
- "Your website" : "La dirección de su sitio web",
- "Invalid value" : "Valor inválido",
- "Unable to update {property}" : "Imposible actualizar {property}",
- "No {property} set" : "No se ha establecido {property}",
- "Change scope level of {property}, current scope is {scope}" : "Cambiar el nivel de privacidad de {property}, el valor actual es {scope}",
- "Unable to update federation scope of the primary {property}" : "No se puede actualizar el alcance de federación del principal {property}",
- "Unable to update federation scope of additional {property}" : "No se puede actualizar el alcance de federación adicional de {property}",
- "Add additional email" : "Añadir un email adicional",
- "Add" : "Añadir",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Eliminar",
- "Reshare" : "Volver a compartir",
- "Default language" : "Idioma predeterminado",
- "Common languages" : "Idiomas habituales",
- "Other languages" : "Otros idiomas",
- "Password change is disabled because the master key is disabled" : "El cambio de contraseña está desactivado porque la clave maestra está desactivada",
- "No accounts" : "Sin cuentas",
- "Loading accounts …" : "Cargando cuentas ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Lista de cuentas. Esta lista no se muestra completa por razones de rendimiento. Las cuentas se mostrarán a medida que navegue por la lista.",
- "Manager" : "Administrador",
- "Set line manager" : "Establecer el administrador",
- "Account name will be autogenerated" : "El nombre de la cuenta se generará automáticamente",
- "Account name (required)" : "Nombre de la cuenta (requerido)",
- "Failed to search groups" : "Fallo al buscar grupos",
- "New account" : "Nueva cuenta",
- "Display name" : "Nombre para mostrar",
- "Either password or email is required" : "Se requiere contraseña o correo electrónico",
- "Password (required)" : "Contraseña (requerido)",
- "Email (required)" : "Email (requerido)",
- "Email" : "Correo electrónico",
- "Member of the following groups (required)" : "Miembro de los siguientes grupos (requerido)",
- "Member of the following groups" : "Miembro de los siguientes grupos",
- "Set account groups" : "Definir grupos de la cuenta",
- "Admin of the following groups" : "Administrador de los siguientes grupos",
- "Set account as admin for …" : "Establecer cuenta de administrador a ...",
- "Quota" : "Espacio asignado",
- "Set account quota" : "Definir cuota de la cuenta",
- "Language" : "Idioma",
- "Set default language" : "Establecer idioma por defecto",
- "Add new account" : "Añadir nueva cuenta",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} cuenta …","{userCount} cuentas …","{userCount} cuentas …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} cuenta","{userCount} cuentas","{userCount} cuentas"],
- "Total rows summary" : "Resumen de filas totales",
- "Scroll to load more rows" : "Desplácese para cargar más filas",
- "Password or insufficient permissions message" : "Contraseña o mensaje de permisos insuficientes",
- "Avatar" : "Avatar",
- "Account name" : "Nombre de cuenta",
- "Group admin for" : "Administrador de grupo para",
- "Account backend" : "Backend de cuenta",
- "Storage location" : "Ubicación de los datos",
- "First login" : "Primer inicio de sesión",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usados",
- "Delete account" : "Borrar cuenta",
- "Disconnect all devices and delete local data" : "Desconectar todos los dispositivos y eliminar los datos locales",
- "Disable account" : "Deshabilitar cuenta",
- "Enable account" : "Habilitar cuenta",
- "Resend welcome email" : "Volver a enviar correo de bienvenida",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "En caso de pérdida del dispositivo o dejar la organización, esto puede eliminar remotamente los datos de Nextcloud de todos los dispositivos asociados con {userid}. Nota: sólo funciona si los dispositivos están conectados a Internet.",
- "Remote wipe of devices" : "Eliminación remota de dispositivos",
- "Wipe {userid}'s devices" : "Eliminar dispositivos de {userid}",
- "Wiped {userid}'s devices" : "Dispositivos de {userid} borrados",
- "Failed to load groups with details" : "Fallo al cargar grupos con detalles",
- "Failed to load sub admin groups with details" : "Fallo al cargar grupos de subadministradores con detalles",
- "Failed to update line manager" : "No se pudo actualizar el administrador",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Eliminar completamente la cuenta de {userid}, incluyendo todos sus archivos personales, datos de las apps, etc.",
- "Account deletion" : "Eliminación de la cuenta",
- "Delete {userid}'s account" : "Eliminar cuentas de {userid}",
- "Display name was successfully changed" : "El nombre para mostrar se ha cambiado correctamente",
- "Password can't be empty" : "La contraseña no puede estar vacía",
- "Password was successfully changed" : "La contraseña se ha cambiado correctamente",
- "Email can't be empty" : "El correo electrónico no puede estar vacío",
- "Email was successfully changed" : "El email se ha cambiado correctamente",
- "Welcome mail sent!" : "¡Correo de bienvenida enviado!",
- "Loading account …" : "Cargando cuenta ...",
- "Change display name" : "Cambiar nombre a mostrar",
- "Set new password" : "Establecer contraseña nueva",
- "You do not have permissions to see the details of this account" : "No tiene los permisos para ver los detalles de esta cuenta",
- "Set new email address" : "Establecer correo electrónico nuevo",
- "Add account to group" : "Añadir cuenta al grupo",
- "Set account as admin for" : "Establecer cuenta como administrador de",
- "Select account quota" : "Seleccionar cuota de cuenta",
- "Set the language" : "Establecer el idioma",
- "Toggle account actions menu" : "Alternar menú de acciones de cuenta",
- "Done" : "Hecho",
- "Edit" : "Editar",
- "Account management settings" : "Ajustes de administración de cuentas",
- "Visibility" : "Visibilidad",
- "Show language" : "Mostrar lenguaje",
- "Show account backend" : "Mostrar backend de la cuenta",
- "Show storage path" : "Mostrar ruta de almacenamiento",
- "Show first login" : "Mostrar primer inicio de sesión",
- "Show last login" : "Mostrar último inicio de sesión",
- "Sorting" : "Orden",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "La configuración de sistema obliga a que los grupos sean ordenados por nombre. Esto también impide mostrar la cantidad de miembros.",
- "Group list sorting" : "Ordenado de la lista de grupos",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "El ordenamiento sólo aplica a los grupos actualmente cargados por razones de rendimiento. Los grupos se cargarán a medida que navegue o busque en la lista.",
- "By member count" : "Por número de miembros",
- "By name" : "Por nombre",
- "Send email" : "Enviar mensaje",
- "Send welcome email to new accounts" : "Enviar correo de bienvenida a usuarios nuevos",
- "Defaults" : "Valores por defecto",
- "Default quota" : "Cuota predeterminada",
- "Select default quota" : "Seleccionar cuota predeterminada",
- "Server error while trying to complete WebAuthn device registration" : "Error del servidor al intentar completar el registro del dispositivo WebAuthn",
- "Passwordless authentication requires a secure connection." : "La autenticación sin contraseña requiere una conexión segura.",
- "Add WebAuthn device" : "Añadir dispositivo WebAuthn",
- "Please authorize your WebAuthn device." : "Autorice a su dispositivo WebAuthn, por favor.",
- "Adding your device …" : "Añadiendo tu dispositivo...",
- "Unnamed device" : "Dispositivo sin nombre",
- "Passwordless Authentication" : "Autenticación sin contraseña",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configure su cuenta para autenticación sin contraseña siguiendo el estándar FIDO2.",
- "No devices configured." : "No hay dispositivos configurados.",
- "The following devices are configured for your account:" : "Los siguientes dispositivos están configurados en su cuenta:",
- "Your browser does not support WebAuthn." : "Tu navegador no soporta WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador puede ajustar el comportamiento de compartir. Por favor, lea la documentación para más información.",
- "You need to enable the File sharing App." : "Tiene que activar la app File sharing",
- "App Store" : "Tienda de aplicaciones",
- "Loading app list" : "Cargando la lista de aplicaciones",
- "Loading categories" : "Cargando categorías",
- "Developer documentation ↗" : "Documentación del desarrollador ↗",
- "Version {version}, {license}-licensed" : "Versión {version}, licenciado bajo {license}",
- "Version {version}" : "Versión {version}",
- "All accounts" : "Todas las cuentas",
- "Admins" : "Administradores",
- "Account group: {group}" : "Grupo de cuentas: {group}",
- "Account management" : "Administración de cuentas",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Por razones de rendimiento, cuando activas el cifrado en un servidor Nextcloud sólo se cifrarán los archivos nuevos y modificados.",
@@ -790,6 +506,7 @@ OC.L10N.register(
"Date of birth" : "Fecha de nacimiento",
"Full name" : "Nombre completo",
"Additional email" : "Email adicional",
+ "Email" : "Correo electrónico",
"Fediverse (e.g. Mastodon)" : "Fediverso (p.ej. Mastodon)",
"Headline" : "Titular",
"Organisation" : "Organización",
@@ -799,6 +516,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (anteriormente Twitter)",
"Website" : "Sitio web",
"Profile visibility" : "Visibilidad del perfil",
+ "Language" : "Idioma",
"Locale" : "Región",
"First day of week" : "Primer día de la semana",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "No está disponible, ya que esta característica es necesaria para la funcionalidad principal, incluyendo el intercambio de archivos y las invitaciones de calendario",
@@ -816,6 +534,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Mostrar únicamente a usuarios con sesión iniciada",
"Hide" : "Ocultar",
"Manually installed apps cannot be updated" : "Las aplicaciones instaladas manualmente no pueden ser actualizadas",
+ "Update to {version}" : "Actualizar a {version}",
"{progress}% Deploying …" : "{progress}% Desplegando …",
"{progress}% Initializing …" : "{progress}% Iniciando …",
"Health checking" : "Revisión de salud del servidor",
@@ -825,6 +544,7 @@ OC.L10N.register(
"Allow untested app" : "Habillitar aplicación no probada",
"The app will be downloaded from the App Store" : "La app va a ser descargada de la App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Esta app no está marcada como compatible con tu versión de Nextcloud. Si continúas podrás instalar la app, pero ten en cuenta que podría no funcionar según lo esperado.",
+ "{size} used" : "{size} usados",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"Could not register device: Network error" : "No se pudo registrar el dispositivo: Error de red",
@@ -843,8 +563,10 @@ OC.L10N.register(
"Could not set group sorting" : "No se pudo establecer el ordenamiento por grupo",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Hubo demasiadas peticiones desde su red. Vuelva a intentarlo más tarde o póngase en contacto con su administrador si se trata de un error.",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
"Account documentation" : "Documentación de la cuenta",
"Administration documentation" : "Documentación de administración",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Nextcloud help & privacy resources" : "Ayuda de Nextcloud y recursos de privacidad",
"General documentation" : "Documentación general",
@@ -867,6 +589,7 @@ OC.L10N.register(
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
"Test and verify email settings" : "Comprobar y verificar configuración de correo",
+ "Send email" : "Enviar mensaje",
"Security & setup warnings" : "Avisos de seguridad y configuración",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Es importante para la seguridad y rendimiento de su instancia que todo esté correctamente configurado. Para ayudarle en ello estamos haciendo algunas comprobaciones automáticas. Para más información, por favor compruebe la documentación enlazada.",
"All checks passed." : "Ha pasado todos los controles",
@@ -892,11 +615,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "El límite de memoria PHP está por debajo del valor recomendado, %s.",
"for WebAuthn passwordless login" : "para inicio de sesión sin contraseña de WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "para inicio de sesión sin contraseña de WebAuthn, y almacenamiento SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- El encabezado HTTP `%1$s` no contiene `%2$s`. Este es un riesgo potencial de seguridad o privacidad, por lo que se recomienda ajustar esta configuración adecuadamente.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Se detectó la versión PostgreSQL \"%s\". Se sugiere utilizar PostgreSQL >=12 y <=16 para el mejor rendimiento, estabilidad y funcionalidad con esta versión de Nextcloud.",
- "Set default expiration date for shares" : "Establecer fecha de caducidad predeterminada para recursos compartidos",
- "Your biography" : "Tu biografía",
- "You are using <strong>{usage}</strong>" : "Estás usando <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Estás usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Fallo al cargar grupos de subadministradores con detalles"
+ "Set default expiration date for shares" : "Establecer fecha de caducidad predeterminada para recursos compartidos"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/settings/l10n/es.json b/apps/settings/l10n/es.json
index 5eef24dc6d8..32db4cb7391 100644
--- a/apps/settings/l10n/es.json
+++ b/apps/settings/l10n/es.json
@@ -294,7 +294,6 @@
"HTTP headers" : "Encabezados HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- El encabezado HTTP `%1$s` no está configurado a `%2$s`. Algunas características podrían no funcionar correctamente, por lo que se recomienda ajustar esta configuración adecuadamente.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- El encabezado HTTP `%1$s` no está configurado a `%2$s`. Este es un riesgo potencial de seguridad o privacidad, por lo que se recomienda ajustar esta configuración adecuadamente.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- El encabezado HTTP `%1$s` no contiene `%2$s`. Este es un riesgo potencial de seguridad o privacidad, por lo que se recomienda ajustar esta configuración adecuadamente.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- El encabezado HTTP `%1$s` no está configurado a `%2$s`, `%3$s`, `%4$s`, `%5$s` ó `%6$s`. Esto podría filtrar la información de referidos. Vea las recomendaciones de la W3C en {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- El encabezado HTTP `Strict-Transport-Security` no está configurado a al menos `%d` segundos (valor actual: `%d`). Para una seguridad mejorada, se recomienda usar una política HSTS larga.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- El encabezado HTTP `Strict-Transport-Security` HTTP esta malformado: `%s`. Para una seguridad mejorada, se recomienda habilitar HSTS.",
@@ -441,97 +440,6 @@
"Could not load section content from app store." : "No se pudo cargar el contenido de la sección desde la tienda de aplicaciones.",
"Loading" : "Cargando",
"Fetching the latest news…" : "Obteniendo las últimas noticias...",
- "Carousel" : "Carrusel",
- "Previous slide" : "Diapositiva anterior",
- "Next slide" : "Diapositiva siguiente",
- "Choose slide to display" : "Elegir diapositiva a mostrar",
- "{index} of {total}" : "{index} de {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Daemon de despligue",
- "Type" : "Tipo",
- "Display Name" : "Nombre a mostrar",
- "GPUs support" : "Soporte a GPUs",
- "Compute device" : "Dispositivo de cómputo",
- "Advanced deploy options" : "Opciones avanzadas del despliegue",
- "Edit ExApp deploy options before installation" : "Editar las opciones de despliegue de ExApp antes de la instalación",
- "Configured ExApp deploy options. Can be set only during installation" : "Opciones de despliegue de ExApp configuradas. Sólo pueden configurarse durante la instalación",
- "Learn more" : "Aprender más",
- "Environment variables" : "Variables de entorno",
- "ExApp container environment variables" : "Variables de entorno del contenedor ExApp ",
- "No environment variables defined" : "No hay variables de entorno definidas",
- "Mounts" : "Montajes",
- "Define host folder mounts to bind to the ExApp container" : "Definir la carpeta de montajes del host para enlazar con el contenedor ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Debe existir en el host el daemon Deploy antes de instalar ExApp",
- "Host path" : "Carpeta del host",
- "Container path" : "Carpeta del contenedor",
- "Read-only" : "Solo lectura",
- "Remove mount" : "Eliminar montaje",
- "New mount" : "Montar nuevo",
- "Enter path to host folder" : "Introduzca la ubicación de la carpeta del host",
- "Enter path to container folder" : "Introduzca la ubicación de la carpeta del contenedor",
- "Toggle read-only mode" : "Alternar modo solo lectura",
- "Confirm adding new mount" : "Confirmar añadir montaje",
- "Confirm" : "Confirmar",
- "Cancel adding mount" : "Cancelar añadir montaje",
- "Cancel" : "Cancelar",
- "Add mount" : "Añadir montaje",
- "ExApp container mounts" : "Montajes del contenedor ExApp",
- "No mounts defined" : "No hay montajes definidos",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visite el sitio web",
- "Usage documentation" : "Documentación de uso",
- "Admin documentation" : "Documentación de administrador",
- "Developer documentation" : "Documentación de desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "Limit app usage to groups" : "Limitar uso de apps a grupos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "Deploy options" : "Opciones del despliegue",
- "Default Deploy daemon is not accessible" : "No se puede acceder al Daemon de despliegue predeterminado",
- "Delete data on remove" : "Eliminar datos al borrar",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta app no tiene una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta app no tiene una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede instalarse porque las siguientes dependencias no están cumplimentadas:",
- "Latest updated" : "Última actualización",
- "Author" : "Autor",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Interact" : "Interactuar",
- "Report a bug" : "Notificar un error",
- "Request feature" : "Solicitar característica",
- "Ask questions or discuss" : "Preguntar o discutir",
- "Rate the app" : "Calificar la aplicación",
- "Rate" : "Calificar",
- "Changelog" : "Historial de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "{productName} iOS app" : "{productName} iOS app",
- "{productName} Android app" : "{productName} Android app",
- "{productName} Talk for iOS" : "{productName} Talk for iOS",
- "{productName} Talk for Android" : "{productName} Talk for Android",
- "Sync client" : "Cliente de sincronización",
- "This session" : "Esta sesión",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nombre del dispositivo",
- "Cancel renaming" : "Cancelar renombrado",
- "Save new name" : "Guardar nombre nuevo",
- "Marked for remote wipe" : "Marcado para borrado remoto",
- "Device settings" : "Configuración del dispositivo",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Anular",
- "Wipe device" : "Borrar dispositivo",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Anular este token podría evitar el borrado de tu dispositivo si no ha empezado todavía.",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, móviles y de escritorio actualmente conectados a su cuenta.",
- "Error while creating device token" : "Error al crear \"token\" de dispositivo",
- "App name" : "Nombre de la app",
- "Create new app password" : "Crear nueva contraseña de app",
"App password copied!" : "¡Se copió la contraseña de aplicación!",
"Copy app password" : "Copiar contraseña de aplicación",
"Login name copied!" : "¡Se copió el nombre de inicio de sesión!",
@@ -583,202 +491,10 @@
"Refer to the admin documentation on how to manually also encrypt existing files." : "Consulta la documentación del administrador para saber cómo cifrar manualmente también los archivos existentes.",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente quiere activar el cifrado?",
"Please confirm the group removal" : "Por favor, confirme la eliminación del grupo",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
"Rename group" : "Renombrar grupo",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Choose your profile picture" : "Seleccione su imagen de perfil",
- "Please select a valid png or jpg file" : "Por favor, seleccione un archivo png o jpg válido",
- "Error setting profile picture" : "Error configurando imagen del perfil",
- "Error cropping profile picture" : "Error recortando imagen del perfil",
- "Error saving profile picture" : "Error guardando imagen del perfil",
- "Error removing profile picture" : "Error eliminando imagen del perfil",
- "Your profile picture" : "Su imagen de perfil",
- "Upload profile picture" : "Subir imagen del perfil",
- "Choose profile picture from Files" : "Seleccionar imagen del perfil desde los archivos",
- "Remove profile picture" : "Eliminar imagen del perfil",
- "The file must be a PNG or JPG" : "El archivo debe ser un PNG o JPG",
- "Picture provided by original account" : "Imagen provista por la cuenta original",
- "Set as profile picture" : "Establecer como imagen del perfil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Tenga en cuenta que puede tomar hasta 24 horas para que su imagen del perfil sea actualizada en todas partes",
- "Your biography. Markdown is supported." : "Tu biografía. Se admite Markdown.",
- "Unable to update date of birth" : "No se puede actualizar su fecha de nacimiento",
- "Enter your date of birth" : "Indica tu fecha de nacimiento",
- "You are using {s}{usage}{/s}" : "Estás usando {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Estás usando {s}{usage}{/s} de {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Eres miembro de los siguientes grupos:",
- "Your full name" : "Tu nombre completo",
- "Email options" : "Opciones de email",
- "Options for additional email address {index}" : "Opciones para direcciones de correo electrónico adicionales {index}",
- "Remove primary email" : "Borrar email principal",
- "Delete email" : "Borrar email",
- "This address is not confirmed" : "Esta dirección no está confirmada",
- "Unset as primary email" : "Quitar como email principal",
- "Set as primary email" : "Establecer como email principal",
- "Additional email address {index}" : "Direcciones email adicionales {index}",
- "Unable to delete primary email address" : "No se pudo borrar tu dirección de email principal",
- "Unable to update primary email address" : "No se pudo actualizar tu dirección de email principal",
- "Unable to add additional email address" : "No se pudo añadir una dirección de email adicional",
- "Unable to update additional email address" : "No se pudo actualizar la dirección de email adicional",
- "Unable to delete additional email address" : "No se pudo borrar la dirección de email adicional",
- "Primary email for password reset and notifications" : "Dirección email principal para restablecer contraseña y notificaciones",
- "No email address set" : "No hay establecida ninguna dirección de correo",
- "Your handle" : "Su identificador",
- "Derived from your locale ({weekDayName})" : "Obtenido de su región ({weekDayName})",
- "Unable to update first day of week" : "No se pudo modificar el primer día de la semana",
- "Day to use as the first day of week" : "Primer día de la semana",
- "Your headline" : "Su titular",
- "Unable to update language" : "No se pudo actualizar tu idioma",
- "Languages" : "Idiomas",
- "Help translate" : "Ayúdanos a traducir",
- "No language set" : "No se ha establecido ningún idioma",
- "Unable to update locale" : "No fue posible actualizar el idioma",
- "Locales" : "Configuración regional",
- "Week starts on {firstDayOfWeek}" : "La semana comienza en {firstDayOfWeek}",
- "No locale set" : "No se ha establecido el idioma",
- "Your city" : "Su ciudad",
- "Your organisation" : "Su organización",
- "Your phone number" : "Su número de teléfono",
- "Edit your Profile visibility" : "Editar la visibilidad de tu perfil",
- "Unable to update profile enabled state" : "No se pudo actualizar el estado habilitado del perfil",
- "Enable profile" : "Habilitar perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Se respetará en su perfil el ajuste más restrictivo entre visibilidad y alcance. Por ejemplo, si la visibilidad está configurada en \"Mostrar a todos\" y el alcance en \"Privado\", los ajustes de \"Privado\" se respetarán.",
- "Unable to update visibility of {displayId}" : "No se pudo actualizar la visibilidad de {displayId}",
- "she/her" : "ella",
- "he/him" : "él",
- "they/them" : "elle",
- "Your role" : "Su rol",
- "Your X (formerly Twitter) handle" : "Tu usuario de X (anteriormente Twitter)",
- "Your website" : "La dirección de su sitio web",
- "Invalid value" : "Valor inválido",
- "Unable to update {property}" : "Imposible actualizar {property}",
- "No {property} set" : "No se ha establecido {property}",
- "Change scope level of {property}, current scope is {scope}" : "Cambiar el nivel de privacidad de {property}, el valor actual es {scope}",
- "Unable to update federation scope of the primary {property}" : "No se puede actualizar el alcance de federación del principal {property}",
- "Unable to update federation scope of additional {property}" : "No se puede actualizar el alcance de federación adicional de {property}",
- "Add additional email" : "Añadir un email adicional",
- "Add" : "Añadir",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Eliminar",
- "Reshare" : "Volver a compartir",
- "Default language" : "Idioma predeterminado",
- "Common languages" : "Idiomas habituales",
- "Other languages" : "Otros idiomas",
- "Password change is disabled because the master key is disabled" : "El cambio de contraseña está desactivado porque la clave maestra está desactivada",
- "No accounts" : "Sin cuentas",
- "Loading accounts …" : "Cargando cuentas ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Lista de cuentas. Esta lista no se muestra completa por razones de rendimiento. Las cuentas se mostrarán a medida que navegue por la lista.",
- "Manager" : "Administrador",
- "Set line manager" : "Establecer el administrador",
- "Account name will be autogenerated" : "El nombre de la cuenta se generará automáticamente",
- "Account name (required)" : "Nombre de la cuenta (requerido)",
- "Failed to search groups" : "Fallo al buscar grupos",
- "New account" : "Nueva cuenta",
- "Display name" : "Nombre para mostrar",
- "Either password or email is required" : "Se requiere contraseña o correo electrónico",
- "Password (required)" : "Contraseña (requerido)",
- "Email (required)" : "Email (requerido)",
- "Email" : "Correo electrónico",
- "Member of the following groups (required)" : "Miembro de los siguientes grupos (requerido)",
- "Member of the following groups" : "Miembro de los siguientes grupos",
- "Set account groups" : "Definir grupos de la cuenta",
- "Admin of the following groups" : "Administrador de los siguientes grupos",
- "Set account as admin for …" : "Establecer cuenta de administrador a ...",
- "Quota" : "Espacio asignado",
- "Set account quota" : "Definir cuota de la cuenta",
- "Language" : "Idioma",
- "Set default language" : "Establecer idioma por defecto",
- "Add new account" : "Añadir nueva cuenta",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} cuenta …","{userCount} cuentas …","{userCount} cuentas …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} cuenta","{userCount} cuentas","{userCount} cuentas"],
- "Total rows summary" : "Resumen de filas totales",
- "Scroll to load more rows" : "Desplácese para cargar más filas",
- "Password or insufficient permissions message" : "Contraseña o mensaje de permisos insuficientes",
- "Avatar" : "Avatar",
- "Account name" : "Nombre de cuenta",
- "Group admin for" : "Administrador de grupo para",
- "Account backend" : "Backend de cuenta",
- "Storage location" : "Ubicación de los datos",
- "First login" : "Primer inicio de sesión",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usados",
- "Delete account" : "Borrar cuenta",
- "Disconnect all devices and delete local data" : "Desconectar todos los dispositivos y eliminar los datos locales",
- "Disable account" : "Deshabilitar cuenta",
- "Enable account" : "Habilitar cuenta",
- "Resend welcome email" : "Volver a enviar correo de bienvenida",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "En caso de pérdida del dispositivo o dejar la organización, esto puede eliminar remotamente los datos de Nextcloud de todos los dispositivos asociados con {userid}. Nota: sólo funciona si los dispositivos están conectados a Internet.",
- "Remote wipe of devices" : "Eliminación remota de dispositivos",
- "Wipe {userid}'s devices" : "Eliminar dispositivos de {userid}",
- "Wiped {userid}'s devices" : "Dispositivos de {userid} borrados",
- "Failed to load groups with details" : "Fallo al cargar grupos con detalles",
- "Failed to load sub admin groups with details" : "Fallo al cargar grupos de subadministradores con detalles",
- "Failed to update line manager" : "No se pudo actualizar el administrador",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Eliminar completamente la cuenta de {userid}, incluyendo todos sus archivos personales, datos de las apps, etc.",
- "Account deletion" : "Eliminación de la cuenta",
- "Delete {userid}'s account" : "Eliminar cuentas de {userid}",
- "Display name was successfully changed" : "El nombre para mostrar se ha cambiado correctamente",
- "Password can't be empty" : "La contraseña no puede estar vacía",
- "Password was successfully changed" : "La contraseña se ha cambiado correctamente",
- "Email can't be empty" : "El correo electrónico no puede estar vacío",
- "Email was successfully changed" : "El email se ha cambiado correctamente",
- "Welcome mail sent!" : "¡Correo de bienvenida enviado!",
- "Loading account …" : "Cargando cuenta ...",
- "Change display name" : "Cambiar nombre a mostrar",
- "Set new password" : "Establecer contraseña nueva",
- "You do not have permissions to see the details of this account" : "No tiene los permisos para ver los detalles de esta cuenta",
- "Set new email address" : "Establecer correo electrónico nuevo",
- "Add account to group" : "Añadir cuenta al grupo",
- "Set account as admin for" : "Establecer cuenta como administrador de",
- "Select account quota" : "Seleccionar cuota de cuenta",
- "Set the language" : "Establecer el idioma",
- "Toggle account actions menu" : "Alternar menú de acciones de cuenta",
- "Done" : "Hecho",
- "Edit" : "Editar",
- "Account management settings" : "Ajustes de administración de cuentas",
- "Visibility" : "Visibilidad",
- "Show language" : "Mostrar lenguaje",
- "Show account backend" : "Mostrar backend de la cuenta",
- "Show storage path" : "Mostrar ruta de almacenamiento",
- "Show first login" : "Mostrar primer inicio de sesión",
- "Show last login" : "Mostrar último inicio de sesión",
- "Sorting" : "Orden",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "La configuración de sistema obliga a que los grupos sean ordenados por nombre. Esto también impide mostrar la cantidad de miembros.",
- "Group list sorting" : "Ordenado de la lista de grupos",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "El ordenamiento sólo aplica a los grupos actualmente cargados por razones de rendimiento. Los grupos se cargarán a medida que navegue o busque en la lista.",
- "By member count" : "Por número de miembros",
- "By name" : "Por nombre",
- "Send email" : "Enviar mensaje",
- "Send welcome email to new accounts" : "Enviar correo de bienvenida a usuarios nuevos",
- "Defaults" : "Valores por defecto",
- "Default quota" : "Cuota predeterminada",
- "Select default quota" : "Seleccionar cuota predeterminada",
- "Server error while trying to complete WebAuthn device registration" : "Error del servidor al intentar completar el registro del dispositivo WebAuthn",
- "Passwordless authentication requires a secure connection." : "La autenticación sin contraseña requiere una conexión segura.",
- "Add WebAuthn device" : "Añadir dispositivo WebAuthn",
- "Please authorize your WebAuthn device." : "Autorice a su dispositivo WebAuthn, por favor.",
- "Adding your device …" : "Añadiendo tu dispositivo...",
- "Unnamed device" : "Dispositivo sin nombre",
- "Passwordless Authentication" : "Autenticación sin contraseña",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configure su cuenta para autenticación sin contraseña siguiendo el estándar FIDO2.",
- "No devices configured." : "No hay dispositivos configurados.",
- "The following devices are configured for your account:" : "Los siguientes dispositivos están configurados en su cuenta:",
- "Your browser does not support WebAuthn." : "Tu navegador no soporta WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador puede ajustar el comportamiento de compartir. Por favor, lea la documentación para más información.",
- "You need to enable the File sharing App." : "Tiene que activar la app File sharing",
- "App Store" : "Tienda de aplicaciones",
- "Loading app list" : "Cargando la lista de aplicaciones",
- "Loading categories" : "Cargando categorías",
- "Developer documentation ↗" : "Documentación del desarrollador ↗",
- "Version {version}, {license}-licensed" : "Versión {version}, licenciado bajo {license}",
- "Version {version}" : "Versión {version}",
- "All accounts" : "Todas las cuentas",
- "Admins" : "Administradores",
- "Account group: {group}" : "Grupo de cuentas: {group}",
- "Account management" : "Administración de cuentas",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Por razones de rendimiento, cuando activas el cifrado en un servidor Nextcloud sólo se cifrarán los archivos nuevos y modificados.",
@@ -788,6 +504,7 @@
"Date of birth" : "Fecha de nacimiento",
"Full name" : "Nombre completo",
"Additional email" : "Email adicional",
+ "Email" : "Correo electrónico",
"Fediverse (e.g. Mastodon)" : "Fediverso (p.ej. Mastodon)",
"Headline" : "Titular",
"Organisation" : "Organización",
@@ -797,6 +514,7 @@
"X (formerly Twitter)" : "X (anteriormente Twitter)",
"Website" : "Sitio web",
"Profile visibility" : "Visibilidad del perfil",
+ "Language" : "Idioma",
"Locale" : "Región",
"First day of week" : "Primer día de la semana",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "No está disponible, ya que esta característica es necesaria para la funcionalidad principal, incluyendo el intercambio de archivos y las invitaciones de calendario",
@@ -814,6 +532,7 @@
"Show to logged in accounts only" : "Mostrar únicamente a usuarios con sesión iniciada",
"Hide" : "Ocultar",
"Manually installed apps cannot be updated" : "Las aplicaciones instaladas manualmente no pueden ser actualizadas",
+ "Update to {version}" : "Actualizar a {version}",
"{progress}% Deploying …" : "{progress}% Desplegando …",
"{progress}% Initializing …" : "{progress}% Iniciando …",
"Health checking" : "Revisión de salud del servidor",
@@ -823,6 +542,7 @@
"Allow untested app" : "Habillitar aplicación no probada",
"The app will be downloaded from the App Store" : "La app va a ser descargada de la App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Esta app no está marcada como compatible con tu versión de Nextcloud. Si continúas podrás instalar la app, pero ten en cuenta que podría no funcionar según lo esperado.",
+ "{size} used" : "{size} usados",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"Could not register device: Network error" : "No se pudo registrar el dispositivo: Error de red",
@@ -841,8 +561,10 @@
"Could not set group sorting" : "No se pudo establecer el ordenamiento por grupo",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Hubo demasiadas peticiones desde su red. Vuelva a intentarlo más tarde o póngase en contacto con su administrador si se trata de un error.",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
"Account documentation" : "Documentación de la cuenta",
"Administration documentation" : "Documentación de administración",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Nextcloud help & privacy resources" : "Ayuda de Nextcloud y recursos de privacidad",
"General documentation" : "Documentación general",
@@ -865,6 +587,7 @@
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
"Test and verify email settings" : "Comprobar y verificar configuración de correo",
+ "Send email" : "Enviar mensaje",
"Security & setup warnings" : "Avisos de seguridad y configuración",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Es importante para la seguridad y rendimiento de su instancia que todo esté correctamente configurado. Para ayudarle en ello estamos haciendo algunas comprobaciones automáticas. Para más información, por favor compruebe la documentación enlazada.",
"All checks passed." : "Ha pasado todos los controles",
@@ -890,11 +613,8 @@
"The PHP memory limit is below the recommended value of %s." : "El límite de memoria PHP está por debajo del valor recomendado, %s.",
"for WebAuthn passwordless login" : "para inicio de sesión sin contraseña de WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "para inicio de sesión sin contraseña de WebAuthn, y almacenamiento SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- El encabezado HTTP `%1$s` no contiene `%2$s`. Este es un riesgo potencial de seguridad o privacidad, por lo que se recomienda ajustar esta configuración adecuadamente.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Se detectó la versión PostgreSQL \"%s\". Se sugiere utilizar PostgreSQL >=12 y <=16 para el mejor rendimiento, estabilidad y funcionalidad con esta versión de Nextcloud.",
- "Set default expiration date for shares" : "Establecer fecha de caducidad predeterminada para recursos compartidos",
- "Your biography" : "Tu biografía",
- "You are using <strong>{usage}</strong>" : "Estás usando <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Estás usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Fallo al cargar grupos de subadministradores con detalles"
+ "Set default expiration date for shares" : "Establecer fecha de caducidad predeterminada para recursos compartidos"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_419.js b/apps/settings/l10n/es_419.js
index 3c98bd49c67..421873c3dac 100644
--- a/apps/settings/l10n/es_419.js
+++ b/apps/settings/l10n/es_419.js
@@ -102,43 +102,6 @@ OC.L10N.register(
"Actions" : "Acciones",
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -153,56 +116,33 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "You are a member of the following groups:" : "Eres miembro de los siguientes grupos:",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca de",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Locale" : "Región",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -217,6 +157,7 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"There are some warnings regarding your setup." : "Hay advertencias respecto de la configuración.",
diff --git a/apps/settings/l10n/es_419.json b/apps/settings/l10n/es_419.json
index b12d7325c09..bd9aea17386 100644
--- a/apps/settings/l10n/es_419.json
+++ b/apps/settings/l10n/es_419.json
@@ -100,43 +100,6 @@
"Actions" : "Acciones",
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -151,56 +114,33 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "You are a member of the following groups:" : "Eres miembro de los siguientes grupos:",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca de",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Locale" : "Región",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -215,6 +155,7 @@
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"There are some warnings regarding your setup." : "Hay advertencias respecto de la configuración.",
diff --git a/apps/settings/l10n/es_AR.js b/apps/settings/l10n/es_AR.js
index d59ef68822e..5c0280c37d9 100644
--- a/apps/settings/l10n/es_AR.js
+++ b/apps/settings/l10n/es_AR.js
@@ -279,43 +279,6 @@ OC.L10N.register(
"Group name" : "Nombre del grupo",
"Please enter a valid group name" : "Ingresá un nombre de grupo válido",
"Loading" : "Cargando",
- "Type" : "Escribir",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conozca más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visitá el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "Sin resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categoría",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporte un tema",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentar",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles conectados actualmente a tu cuenta.",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Inicio de sesión",
"Password" : "Contraseña",
"Unable to update profile default setting" : "No se pudo actualizar la configuración por defecto del perfil",
@@ -345,162 +308,10 @@ OC.L10N.register(
"Refer to the admin documentation on how to manually also encrypt existing files." : "Consultá la documentación del administrador para saber cómo cifrar manualmente también los archivos existentes.",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente querés activar el cifrado?",
"Please confirm the group removal" : "Por favor confirmá la eliminación del grupo",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
"Rename group" : "Cambiar nombre del grupo",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Choose your profile picture" : "Elegí tu foto del perfil",
- "Please select a valid png or jpg file" : "Por favor, seleccioná un archivo PNG o JPG válido",
- "Error setting profile picture" : "Error al establecer la foto del perfil",
- "Error cropping profile picture" : "Error al recortar la foto del perfil",
- "Error saving profile picture" : "Error al guardar la foto del perfil",
- "Error removing profile picture" : "Error al eliminar la foto del perfil",
- "Your profile picture" : "Tu foto del perfil",
- "Upload profile picture" : "Subir foto del perfil",
- "Choose profile picture from Files" : "Elegir foto del perfil desde Archivos",
- "Remove profile picture" : "Eliminar la foto del perfil",
- "The file must be a PNG or JPG" : "El archivo debe ser PNG o JPG",
- "Picture provided by original account" : "Imagen proporcionadoa por la cuenta original ",
- "Set as profile picture" : "Establecer como foto del perfil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Tené en cuenta que puede llevar hasta 24 horas para que tu foto del perfil se actualice en todos lados.",
- "Your biography. Markdown is supported." : "Tu biografía. Se admite Markdown.",
- "Unable to update date of birth" : "No se pudo actualizar tu fecha de nacimiento",
- "Enter your date of birth" : "Ingresá tu fecha de nacimiento",
- "You are using {s}{usage}{/s}" : "Estás usando {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Estás usando {s}{usage}{/s} de {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Sos miembro de los siguientes grupos:",
- "Your full name" : "Tu nombre completo",
- "Email options" : "Opciones de correo electrónico",
- "Options for additional email address {index}" : "Opciones para la dirección de correo electrónico adicional {index}",
- "Remove primary email" : "Eliminar correo electrónico principal",
- "Delete email" : "Eliminar correo electrónico",
- "This address is not confirmed" : "Esta dirección no está confirmada",
- "Unset as primary email" : "Remover como correo electrónico principal",
- "Set as primary email" : "Establecer como correo electrónico principal",
- "Additional email address {index}" : "Dirección de correo electrónico adicional {index}",
- "Unable to delete primary email address" : "No se pudo eliminar la dirección de correo electrónico principal",
- "Unable to update primary email address" : "No se pudo actualizar la dirección de correo electrónico principal",
- "Unable to add additional email address" : "No se pudo agregar la dirección de correo electrónico adicional",
- "Unable to update additional email address" : "No se pudo actualizar la dirección de correo electrónico adicional",
- "Unable to delete additional email address" : "No se pudo eliminar la dirección de correo electrónico adicional",
- "Primary email for password reset and notifications" : "Correo electrónico principal para restablecer la contraseña y notificaciones",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Your handle" : "Tu usuario",
- "Derived from your locale ({weekDayName})" : "Obtenido de tu locale ({weekDayName})",
- "Unable to update first day of week" : "No se pudo modificar el primer día de la semana",
- "Day to use as the first day of week" : "Primer día de la semana",
- "Your headline" : "Tu titular",
- "Unable to update language" : "No se pudo actualizar tu idioma",
- "Languages" : "Idiomas",
- "Help translate" : "Ayudá a traducir",
- "No language set" : "No hay ningún idioma configurado",
- "Unable to update locale" : "No se pudo actualizar la configuración regional",
- "Locales" : "Configuración regional",
- "Week starts on {firstDayOfWeek}" : "La semana empieza el {firstDayOfWeek}",
- "No locale set" : "No hay ninguna configuración regional",
- "Your city" : "Tu ciudad",
- "Your organisation" : "Tu organización",
- "Your phone number" : "Tu número de teléfono",
- "Edit your Profile visibility" : "Editar la visibilidad de tu perfil",
- "Unable to update profile enabled state" : "No se pudo actualizar la habilitación del perfil",
- "Enable profile" : "Habilitar perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Se respetará en tu perfil el ajuste más restrictivo entre visibilidad y alcance. Por ejemplo, si la visibilidad está configurada en \"Mostrar a todos\" y el alcance en \"Privado\", los ajustes de \"Privado\" se respetarán.",
- "Unable to update visibility of {displayId}" : "No se pudo actualizar la visibilidad de {displayId}",
- "she/her" : "ella",
- "he/him" : "él",
- "they/them" : "elle",
- "Your role" : "Tu rol",
- "Your X (formerly Twitter) handle" : "Tu usuario de X (anteriormente Twitter)",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre para mostrar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Account name" : "Nombre de la cuenta",
- "Group admin for" : "Administrador del grupo para",
- "Account backend" : "Backend de la cuenta",
- "Storage location" : "Úbicación del almacenamiento",
- "First login" : "Primer inicio de sesión",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usados",
- "Delete account" : "Borrar cuenta",
- "Disconnect all devices and delete local data" : "Desconectar todos los dispositivos y eliminar los datos locales",
- "Disable account" : "Deshabilitar la cuenta",
- "Enable account" : "Habilitar la cuenta",
- "Resend welcome email" : "Volver a enviar el correo electrónico de bienvenida",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "En caso de pérdida del dispositivo o salida de la organización, esto puede borrar de forma remota los datos de Nextcloud de todos los dispositivos asociados con {userid}. Funciona únicamente si los dispositivos están conectados a Internet.",
- "Remote wipe of devices" : "Borrado remoto de dispositivos",
- "Wipe {userid}'s devices" : "Borrar los dispositivos de {userid}",
- "Wiped {userid}'s devices" : "Se borraron los dispositivos de {userid}",
- "Failed to update line manager" : "No se pudo actualizar el superior inmediato",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Eliminar completamente la cuenta de {userid}, incluyendo todos sus archivos personales, datos de las aplicaciones, etc.",
- "Account deletion" : "Eliminación de la cuenta",
- "Delete {userid}'s account" : "Eliminar la cuenta de {userid}",
- "Display name was successfully changed" : "Se cambió correctamente el nombre para mostrar",
- "Password can't be empty" : "La contraseña no puede estar en blanco",
- "Password was successfully changed" : "La contraseña se cambió correctamente",
- "Email can't be empty" : "El correo electrónico no puede estar en blanco",
- "Email was successfully changed" : "El correo electrónico se cambió correctamente",
- "Welcome mail sent!" : "¡Correo electrónico de bienvenida enviado!",
- "Loading account …" : "Cargando cuenta ...",
- "Change display name" : "Cambiar el nombre a mostrar",
- "Set new password" : "Establecer nueva contraseña",
- "You do not have permissions to see the details of this account" : "No tenés permisos para ver los detalles de esta cuenta",
- "Set new email address" : "Establecer nueva dirección de correo electrónico",
- "Add account to group" : "Agregar cuenta al grupo",
- "Set account as admin for" : "Establecer cuenta como administrador de",
- "Select account quota" : "Seleccionar la cuota de la cuenta",
- "Set the language" : "Establecer el lenguaje",
- "Toggle account actions menu" : "Alternar menú de acciones de cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Account management settings" : "Configuración de administración de cuentas",
- "Visibility" : "Visibilidad",
- "Show language" : "Mostrar lenguaje",
- "Show account backend" : "Mostrar el backend de la cuenta",
- "Show storage path" : "Mostrar la ruta de almacenamiento",
- "Show first login" : "Mostrar primer inicio de sesión",
- "Show last login" : "Mostrar último inicio de sesión",
- "Sorting" : "Orden",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "La configuración de sistema fuerza a que los grupos sean ordenados por nombre. Esto también impide mostrar la cantidad de miembros.",
- "Group list sorting" : "Ordenamiento de la lista de grupos",
- "By member count" : "Por cantidad de miembros",
- "By name" : "Por nombre",
- "Send email" : "Enviar correo electrónico",
- "Send welcome email to new accounts" : "Enviar un correo electrónico de bienvenida a usuarios nuevos",
- "Defaults" : "Valores por defecto",
- "Default quota" : "Cuota predeterminada",
- "Select default quota" : "Seleccionar la cuota predeterminada",
- "Server error while trying to complete WebAuthn device registration" : "Error en el servidor al intentar completar el registro del dispositivo WebAuthn",
- "Passwordless authentication requires a secure connection." : "La autenticación sin contraseña requiere una conexión segura.",
- "Add WebAuthn device" : "Agregar dispositivo WebAuthn",
- "Please authorize your WebAuthn device." : "Autorizá tu dispositivo WebAuthn.",
- "Adding your device …" : "Agregando tu dispositivo...",
- "Unnamed device" : "Dispositivo sin nombre",
- "Passwordless Authentication" : "Autenticación sin contraseña",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configurá tu cuenta para la autenticación sin contraseña siguiendo el estándar FIDO2.",
- "No devices configured." : "No hay ningún dispositivo configurado.",
- "The following devices are configured for your account:" : "Los siguientes dispositivos están configurados para tu cuenta:",
- "Your browser does not support WebAuthn." : "Tu navegador no admite WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, usted puede hacer ajustes finos al comportamiento de compartir. Favor de consultar la documentación para más información. ",
- "You need to enable the File sharing App." : "Tenés que habilitar la aplicación Compartir archivos.",
- "App Store" : "Tienda de aplicaciones",
- "Loading app list" : "Cargando la lista de aplicaciones",
- "Loading categories" : "Cargando categorías",
- "Developer documentation ↗" : "Documentación del desarrollador ↗",
- "Version {version}, {license}-licensed" : "Versión {version}, bajo licencia {license}",
- "Version {version}" : "Versión {version}",
- "All accounts" : "Todas las cuentas",
- "Admins" : "Administradores",
- "Account group: {group}" : "Grupo de cuentas: {group}",
- "Account management" : "Administración de cuentas",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Por razones de rendimiento, cuando actives el cifrado en un servidor Nextcloud sólo se cifrarán los archivos nuevos y modificados.",
@@ -510,6 +321,7 @@ OC.L10N.register(
"Date of birth" : "Fecha de nacimiento",
"Full name" : "Nombre completo",
"Additional email" : "Correo electrónico adicional",
+ "Email" : "Correo electrónico",
"Fediverse (e.g. Mastodon)" : "Fediverso (p.ej. Mastodon)",
"Headline" : "Títular",
"Organisation" : "Organización",
@@ -519,6 +331,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (anteriormente Twitter)",
"Website" : "Sitio web",
"Profile visibility" : "Visibilidad del perfil",
+ "Language" : "Idioma",
"Locale" : "Configuración regional",
"First day of week" : "Primer día de la semana",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "No está disponible porque esta propiedad es necesaria para la funcionalidad básica, incluyendo el compartir archivos y las invitaciones de calendario",
@@ -536,6 +349,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Visible únicamente para usuarios conectados",
"Hide" : "Invisible",
"Manually installed apps cannot be updated" : "Las aplicaciones instaladas manualmente no pueden ser actualizadas",
+ "Update to {version}" : "Actualizar a {version}",
"{progress}% Deploying …" : "Desplegando {progress}%",
"{progress}% Initializing …" : "Inicializando {progress}%",
"Health checking" : "Revisión de salud del servidor",
@@ -545,6 +359,7 @@ OC.L10N.register(
"Allow untested app" : "Permitir aplicación no probada",
"The app will be downloaded from the App Store" : "La aplicación será descargada de la tienda de aplicaciones",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Esta aplicación no está marcada como compatible con tu versión de Nextcloud. Si continuás podrás instalar la aplicación, pero tené en cuenta que podría no funcionar según lo esperado.",
+ "{size} used" : "{size} usados",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"Could not register device: Network error" : "No se pudo registrar el dispositivo: error de red",
@@ -563,8 +378,10 @@ OC.L10N.register(
"Could not set group sorting" : "No se pudo establecer el ordenamiento de grupos",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Hubo demasiadas solicitudes desde tu red. Volvé a intentarlo más tarde o ponete en contacto con tu administrador si se trata de un error.",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
"Account documentation" : "Documentación de la cuenta",
"Administration documentation" : "Documentación de administración",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Nextcloud help & privacy resources" : "Ayuda de Nextcloud y recursos de privacidad",
"General documentation" : "Documentación general",
@@ -587,6 +404,7 @@ OC.L10N.register(
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
"Test and verify email settings" : "Probar y verificar la configuración del correo electrónico",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Es importante para la seguridad y rendimiento de tu instancia que todo esté configurado correctamente. Para ayudarte con eso estamos haciendo algunas comprobaciones automáticas. Consultá la documentación para mayor información.",
"All checks passed." : "Todas las verificaciones fueron exitosas.",
@@ -609,9 +427,6 @@ OC.L10N.register(
"File locking" : "Bloqueo de archivos",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "El bloqueo transaccional de archivos está desactivado, lo que podría ocasionar problemas de race conditions. Habilitá \"filelocking.enabled\" en config.php para evitar estos problemas.",
"for WebAuthn passwordless login" : "para el inicio de sesión sin contraseña de WebAuthn",
- "for WebAuthn passwordless login, and SFTP storage" : "para el inicio de sesión sin contraseña de WebAuthn y el almacenamiento SFTP",
- "Your biography" : "Tu biografía",
- "You are using <strong>{usage}</strong>" : "Estás usando <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Estás usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "for WebAuthn passwordless login, and SFTP storage" : "para el inicio de sesión sin contraseña de WebAuthn y el almacenamiento SFTP"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/settings/l10n/es_AR.json b/apps/settings/l10n/es_AR.json
index fcde0dc6f29..880e99d48e3 100644
--- a/apps/settings/l10n/es_AR.json
+++ b/apps/settings/l10n/es_AR.json
@@ -277,43 +277,6 @@
"Group name" : "Nombre del grupo",
"Please enter a valid group name" : "Ingresá un nombre de grupo válido",
"Loading" : "Cargando",
- "Type" : "Escribir",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conozca más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visitá el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "Sin resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categoría",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporte un tema",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentar",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles conectados actualmente a tu cuenta.",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Inicio de sesión",
"Password" : "Contraseña",
"Unable to update profile default setting" : "No se pudo actualizar la configuración por defecto del perfil",
@@ -343,162 +306,10 @@
"Refer to the admin documentation on how to manually also encrypt existing files." : "Consultá la documentación del administrador para saber cómo cifrar manualmente también los archivos existentes.",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente querés activar el cifrado?",
"Please confirm the group removal" : "Por favor confirmá la eliminación del grupo",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
"Rename group" : "Cambiar nombre del grupo",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Choose your profile picture" : "Elegí tu foto del perfil",
- "Please select a valid png or jpg file" : "Por favor, seleccioná un archivo PNG o JPG válido",
- "Error setting profile picture" : "Error al establecer la foto del perfil",
- "Error cropping profile picture" : "Error al recortar la foto del perfil",
- "Error saving profile picture" : "Error al guardar la foto del perfil",
- "Error removing profile picture" : "Error al eliminar la foto del perfil",
- "Your profile picture" : "Tu foto del perfil",
- "Upload profile picture" : "Subir foto del perfil",
- "Choose profile picture from Files" : "Elegir foto del perfil desde Archivos",
- "Remove profile picture" : "Eliminar la foto del perfil",
- "The file must be a PNG or JPG" : "El archivo debe ser PNG o JPG",
- "Picture provided by original account" : "Imagen proporcionadoa por la cuenta original ",
- "Set as profile picture" : "Establecer como foto del perfil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Tené en cuenta que puede llevar hasta 24 horas para que tu foto del perfil se actualice en todos lados.",
- "Your biography. Markdown is supported." : "Tu biografía. Se admite Markdown.",
- "Unable to update date of birth" : "No se pudo actualizar tu fecha de nacimiento",
- "Enter your date of birth" : "Ingresá tu fecha de nacimiento",
- "You are using {s}{usage}{/s}" : "Estás usando {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Estás usando {s}{usage}{/s} de {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Sos miembro de los siguientes grupos:",
- "Your full name" : "Tu nombre completo",
- "Email options" : "Opciones de correo electrónico",
- "Options for additional email address {index}" : "Opciones para la dirección de correo electrónico adicional {index}",
- "Remove primary email" : "Eliminar correo electrónico principal",
- "Delete email" : "Eliminar correo electrónico",
- "This address is not confirmed" : "Esta dirección no está confirmada",
- "Unset as primary email" : "Remover como correo electrónico principal",
- "Set as primary email" : "Establecer como correo electrónico principal",
- "Additional email address {index}" : "Dirección de correo electrónico adicional {index}",
- "Unable to delete primary email address" : "No se pudo eliminar la dirección de correo electrónico principal",
- "Unable to update primary email address" : "No se pudo actualizar la dirección de correo electrónico principal",
- "Unable to add additional email address" : "No se pudo agregar la dirección de correo electrónico adicional",
- "Unable to update additional email address" : "No se pudo actualizar la dirección de correo electrónico adicional",
- "Unable to delete additional email address" : "No se pudo eliminar la dirección de correo electrónico adicional",
- "Primary email for password reset and notifications" : "Correo electrónico principal para restablecer la contraseña y notificaciones",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Your handle" : "Tu usuario",
- "Derived from your locale ({weekDayName})" : "Obtenido de tu locale ({weekDayName})",
- "Unable to update first day of week" : "No se pudo modificar el primer día de la semana",
- "Day to use as the first day of week" : "Primer día de la semana",
- "Your headline" : "Tu titular",
- "Unable to update language" : "No se pudo actualizar tu idioma",
- "Languages" : "Idiomas",
- "Help translate" : "Ayudá a traducir",
- "No language set" : "No hay ningún idioma configurado",
- "Unable to update locale" : "No se pudo actualizar la configuración regional",
- "Locales" : "Configuración regional",
- "Week starts on {firstDayOfWeek}" : "La semana empieza el {firstDayOfWeek}",
- "No locale set" : "No hay ninguna configuración regional",
- "Your city" : "Tu ciudad",
- "Your organisation" : "Tu organización",
- "Your phone number" : "Tu número de teléfono",
- "Edit your Profile visibility" : "Editar la visibilidad de tu perfil",
- "Unable to update profile enabled state" : "No se pudo actualizar la habilitación del perfil",
- "Enable profile" : "Habilitar perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Se respetará en tu perfil el ajuste más restrictivo entre visibilidad y alcance. Por ejemplo, si la visibilidad está configurada en \"Mostrar a todos\" y el alcance en \"Privado\", los ajustes de \"Privado\" se respetarán.",
- "Unable to update visibility of {displayId}" : "No se pudo actualizar la visibilidad de {displayId}",
- "she/her" : "ella",
- "he/him" : "él",
- "they/them" : "elle",
- "Your role" : "Tu rol",
- "Your X (formerly Twitter) handle" : "Tu usuario de X (anteriormente Twitter)",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre para mostrar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Account name" : "Nombre de la cuenta",
- "Group admin for" : "Administrador del grupo para",
- "Account backend" : "Backend de la cuenta",
- "Storage location" : "Úbicación del almacenamiento",
- "First login" : "Primer inicio de sesión",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usados",
- "Delete account" : "Borrar cuenta",
- "Disconnect all devices and delete local data" : "Desconectar todos los dispositivos y eliminar los datos locales",
- "Disable account" : "Deshabilitar la cuenta",
- "Enable account" : "Habilitar la cuenta",
- "Resend welcome email" : "Volver a enviar el correo electrónico de bienvenida",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "En caso de pérdida del dispositivo o salida de la organización, esto puede borrar de forma remota los datos de Nextcloud de todos los dispositivos asociados con {userid}. Funciona únicamente si los dispositivos están conectados a Internet.",
- "Remote wipe of devices" : "Borrado remoto de dispositivos",
- "Wipe {userid}'s devices" : "Borrar los dispositivos de {userid}",
- "Wiped {userid}'s devices" : "Se borraron los dispositivos de {userid}",
- "Failed to update line manager" : "No se pudo actualizar el superior inmediato",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Eliminar completamente la cuenta de {userid}, incluyendo todos sus archivos personales, datos de las aplicaciones, etc.",
- "Account deletion" : "Eliminación de la cuenta",
- "Delete {userid}'s account" : "Eliminar la cuenta de {userid}",
- "Display name was successfully changed" : "Se cambió correctamente el nombre para mostrar",
- "Password can't be empty" : "La contraseña no puede estar en blanco",
- "Password was successfully changed" : "La contraseña se cambió correctamente",
- "Email can't be empty" : "El correo electrónico no puede estar en blanco",
- "Email was successfully changed" : "El correo electrónico se cambió correctamente",
- "Welcome mail sent!" : "¡Correo electrónico de bienvenida enviado!",
- "Loading account …" : "Cargando cuenta ...",
- "Change display name" : "Cambiar el nombre a mostrar",
- "Set new password" : "Establecer nueva contraseña",
- "You do not have permissions to see the details of this account" : "No tenés permisos para ver los detalles de esta cuenta",
- "Set new email address" : "Establecer nueva dirección de correo electrónico",
- "Add account to group" : "Agregar cuenta al grupo",
- "Set account as admin for" : "Establecer cuenta como administrador de",
- "Select account quota" : "Seleccionar la cuota de la cuenta",
- "Set the language" : "Establecer el lenguaje",
- "Toggle account actions menu" : "Alternar menú de acciones de cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Account management settings" : "Configuración de administración de cuentas",
- "Visibility" : "Visibilidad",
- "Show language" : "Mostrar lenguaje",
- "Show account backend" : "Mostrar el backend de la cuenta",
- "Show storage path" : "Mostrar la ruta de almacenamiento",
- "Show first login" : "Mostrar primer inicio de sesión",
- "Show last login" : "Mostrar último inicio de sesión",
- "Sorting" : "Orden",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "La configuración de sistema fuerza a que los grupos sean ordenados por nombre. Esto también impide mostrar la cantidad de miembros.",
- "Group list sorting" : "Ordenamiento de la lista de grupos",
- "By member count" : "Por cantidad de miembros",
- "By name" : "Por nombre",
- "Send email" : "Enviar correo electrónico",
- "Send welcome email to new accounts" : "Enviar un correo electrónico de bienvenida a usuarios nuevos",
- "Defaults" : "Valores por defecto",
- "Default quota" : "Cuota predeterminada",
- "Select default quota" : "Seleccionar la cuota predeterminada",
- "Server error while trying to complete WebAuthn device registration" : "Error en el servidor al intentar completar el registro del dispositivo WebAuthn",
- "Passwordless authentication requires a secure connection." : "La autenticación sin contraseña requiere una conexión segura.",
- "Add WebAuthn device" : "Agregar dispositivo WebAuthn",
- "Please authorize your WebAuthn device." : "Autorizá tu dispositivo WebAuthn.",
- "Adding your device …" : "Agregando tu dispositivo...",
- "Unnamed device" : "Dispositivo sin nombre",
- "Passwordless Authentication" : "Autenticación sin contraseña",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configurá tu cuenta para la autenticación sin contraseña siguiendo el estándar FIDO2.",
- "No devices configured." : "No hay ningún dispositivo configurado.",
- "The following devices are configured for your account:" : "Los siguientes dispositivos están configurados para tu cuenta:",
- "Your browser does not support WebAuthn." : "Tu navegador no admite WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, usted puede hacer ajustes finos al comportamiento de compartir. Favor de consultar la documentación para más información. ",
- "You need to enable the File sharing App." : "Tenés que habilitar la aplicación Compartir archivos.",
- "App Store" : "Tienda de aplicaciones",
- "Loading app list" : "Cargando la lista de aplicaciones",
- "Loading categories" : "Cargando categorías",
- "Developer documentation ↗" : "Documentación del desarrollador ↗",
- "Version {version}, {license}-licensed" : "Versión {version}, bajo licencia {license}",
- "Version {version}" : "Versión {version}",
- "All accounts" : "Todas las cuentas",
- "Admins" : "Administradores",
- "Account group: {group}" : "Grupo de cuentas: {group}",
- "Account management" : "Administración de cuentas",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Por razones de rendimiento, cuando actives el cifrado en un servidor Nextcloud sólo se cifrarán los archivos nuevos y modificados.",
@@ -508,6 +319,7 @@
"Date of birth" : "Fecha de nacimiento",
"Full name" : "Nombre completo",
"Additional email" : "Correo electrónico adicional",
+ "Email" : "Correo electrónico",
"Fediverse (e.g. Mastodon)" : "Fediverso (p.ej. Mastodon)",
"Headline" : "Títular",
"Organisation" : "Organización",
@@ -517,6 +329,7 @@
"X (formerly Twitter)" : "X (anteriormente Twitter)",
"Website" : "Sitio web",
"Profile visibility" : "Visibilidad del perfil",
+ "Language" : "Idioma",
"Locale" : "Configuración regional",
"First day of week" : "Primer día de la semana",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "No está disponible porque esta propiedad es necesaria para la funcionalidad básica, incluyendo el compartir archivos y las invitaciones de calendario",
@@ -534,6 +347,7 @@
"Show to logged in accounts only" : "Visible únicamente para usuarios conectados",
"Hide" : "Invisible",
"Manually installed apps cannot be updated" : "Las aplicaciones instaladas manualmente no pueden ser actualizadas",
+ "Update to {version}" : "Actualizar a {version}",
"{progress}% Deploying …" : "Desplegando {progress}%",
"{progress}% Initializing …" : "Inicializando {progress}%",
"Health checking" : "Revisión de salud del servidor",
@@ -543,6 +357,7 @@
"Allow untested app" : "Permitir aplicación no probada",
"The app will be downloaded from the App Store" : "La aplicación será descargada de la tienda de aplicaciones",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Esta aplicación no está marcada como compatible con tu versión de Nextcloud. Si continuás podrás instalar la aplicación, pero tené en cuenta que podría no funcionar según lo esperado.",
+ "{size} used" : "{size} usados",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"Could not register device: Network error" : "No se pudo registrar el dispositivo: error de red",
@@ -561,8 +376,10 @@
"Could not set group sorting" : "No se pudo establecer el ordenamiento de grupos",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Hubo demasiadas solicitudes desde tu red. Volvé a intentarlo más tarde o ponete en contacto con tu administrador si se trata de un error.",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
"Account documentation" : "Documentación de la cuenta",
"Administration documentation" : "Documentación de administración",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Nextcloud help & privacy resources" : "Ayuda de Nextcloud y recursos de privacidad",
"General documentation" : "Documentación general",
@@ -585,6 +402,7 @@
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
"Test and verify email settings" : "Probar y verificar la configuración del correo electrónico",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Es importante para la seguridad y rendimiento de tu instancia que todo esté configurado correctamente. Para ayudarte con eso estamos haciendo algunas comprobaciones automáticas. Consultá la documentación para mayor información.",
"All checks passed." : "Todas las verificaciones fueron exitosas.",
@@ -607,9 +425,6 @@
"File locking" : "Bloqueo de archivos",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "El bloqueo transaccional de archivos está desactivado, lo que podría ocasionar problemas de race conditions. Habilitá \"filelocking.enabled\" en config.php para evitar estos problemas.",
"for WebAuthn passwordless login" : "para el inicio de sesión sin contraseña de WebAuthn",
- "for WebAuthn passwordless login, and SFTP storage" : "para el inicio de sesión sin contraseña de WebAuthn y el almacenamiento SFTP",
- "Your biography" : "Tu biografía",
- "You are using <strong>{usage}</strong>" : "Estás usando <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Estás usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "for WebAuthn passwordless login, and SFTP storage" : "para el inicio de sesión sin contraseña de WebAuthn y el almacenamiento SFTP"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_CL.js b/apps/settings/l10n/es_CL.js
index 1d8832fb00c..783ef49861e 100644
--- a/apps/settings/l10n/es_CL.js
+++ b/apps/settings/l10n/es_CL.js
@@ -106,44 +106,6 @@ OC.L10N.register(
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Daemon" : "Demonio",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -158,56 +120,33 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca de",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Legal notice" : "Aviso legal",
"SSL" : "SSL",
@@ -223,6 +162,7 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_CL.json b/apps/settings/l10n/es_CL.json
index e677524d91f..a92ba3e5ae7 100644
--- a/apps/settings/l10n/es_CL.json
+++ b/apps/settings/l10n/es_CL.json
@@ -104,44 +104,6 @@
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Daemon" : "Demonio",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -156,56 +118,33 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca de",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Legal notice" : "Aviso legal",
"SSL" : "SSL",
@@ -221,6 +160,7 @@
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_CO.js b/apps/settings/l10n/es_CO.js
index 6ebc01eed9b..461e76412f7 100644
--- a/apps/settings/l10n/es_CO.js
+++ b/apps/settings/l10n/es_CO.js
@@ -105,44 +105,6 @@ OC.L10N.register(
"Actions" : "Acciones",
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
- "Daemon" : "Demonio",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -157,54 +119,32 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca de",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Legal notice" : "Aviso legal",
"SSL" : "SSL",
@@ -220,6 +160,7 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_CO.json b/apps/settings/l10n/es_CO.json
index bcfd961d441..07e3082bd39 100644
--- a/apps/settings/l10n/es_CO.json
+++ b/apps/settings/l10n/es_CO.json
@@ -103,44 +103,6 @@
"Actions" : "Acciones",
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
- "Daemon" : "Demonio",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -155,54 +117,32 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca de",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Legal notice" : "Aviso legal",
"SSL" : "SSL",
@@ -218,6 +158,7 @@
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_CR.js b/apps/settings/l10n/es_CR.js
index 05e8a04a4e4..7dbe237ef5a 100644
--- a/apps/settings/l10n/es_CR.js
+++ b/apps/settings/l10n/es_CR.js
@@ -106,43 +106,6 @@ OC.L10N.register(
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Daemon" : "Demonio",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -157,55 +120,33 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca de",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Legal notice" : "Aviso legal",
"SSL" : "SSL",
@@ -221,6 +162,7 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_CR.json b/apps/settings/l10n/es_CR.json
index ec1cf0e5c10..0ef34fe1660 100644
--- a/apps/settings/l10n/es_CR.json
+++ b/apps/settings/l10n/es_CR.json
@@ -104,43 +104,6 @@
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Daemon" : "Demonio",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -155,55 +118,33 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca de",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Legal notice" : "Aviso legal",
"SSL" : "SSL",
@@ -219,6 +160,7 @@
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_DO.js b/apps/settings/l10n/es_DO.js
index 59ebda24f9f..303a5ac6e0f 100644
--- a/apps/settings/l10n/es_DO.js
+++ b/apps/settings/l10n/es_DO.js
@@ -105,43 +105,6 @@ OC.L10N.register(
"Actions" : "Acciones",
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
- "Daemon" : "Demonio",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -156,55 +119,33 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca de",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Legal notice" : "Aviso legal",
"SSL" : "SSL",
@@ -220,6 +161,7 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_DO.json b/apps/settings/l10n/es_DO.json
index 3efba9cb8dd..7e67e4edcf5 100644
--- a/apps/settings/l10n/es_DO.json
+++ b/apps/settings/l10n/es_DO.json
@@ -103,43 +103,6 @@
"Actions" : "Acciones",
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
- "Daemon" : "Demonio",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -154,55 +117,33 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca de",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Legal notice" : "Aviso legal",
"SSL" : "SSL",
@@ -218,6 +159,7 @@
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_EC.js b/apps/settings/l10n/es_EC.js
index b59d456ffe7..ec2d1306d45 100644
--- a/apps/settings/l10n/es_EC.js
+++ b/apps/settings/l10n/es_EC.js
@@ -180,54 +180,6 @@ OC.L10N.register(
"Group name" : "Nombre del grupo",
"Loading groups…" : "Cargando grupos...",
"Loading" : "Cargando",
- "Daemon" : "Demonio",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "Limit app usage to groups" : "Limitar el uso de aplicaciones a grupos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Author" : "Autor",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "{productName} iOS app" : "Aplicación de {productName} para iOS",
- "{productName} Android app" : "Aplicación de {productName} para Android",
- "{productName} Talk for iOS" : "{productName} Talk para iOS",
- "{productName} Talk for Android" : "{productName} Talk para Android",
- "This session" : "Esta sesión",
- "Marked for remote wipe" : "Marcado para borrado remoto",
- "Device settings" : "Configuración del dispositivo",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Wipe device" : "Borrar dispositivo",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revocar este token podría evitar el borrado de tu dispositivo si aún no ha comenzado el borrado.",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Could not copy app password. Please copy it manually." : "No se pudo copiar la contraseña de la aplicación. Cópiala manualmente.",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
@@ -257,130 +209,10 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
"Rename group" : "Renombrar grupo",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Choose your profile picture" : "Elige tu foto de perfil",
- "Please select a valid png or jpg file" : "Selecciona un archivo válido PNG o JPG",
- "Error setting profile picture" : "Error al establecer la foto de perfil",
- "Error cropping profile picture" : "Error al recortar la foto de perfil",
- "Error saving profile picture" : "Error al guardar la foto de perfil",
- "Error removing profile picture" : "Error al eliminar la foto de perfil",
- "Your profile picture" : "Tu foto de perfil",
- "Upload profile picture" : "Subir foto de perfil",
- "Choose profile picture from Files" : "Elegir foto de perfil desde Archivos",
- "Remove profile picture" : "Eliminar foto de perfil",
- "The file must be a PNG or JPG" : "El archivo debe ser PNG o JPG",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "Set as profile picture" : "Establecer como foto de perfil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Ten en cuenta que puede tomar hasta 24 horas para que tu foto de perfil se actualice en todos lados.",
- "You are a member of the following groups:" : "Eres miembro de los siguientes grupos:",
- "Your full name" : "Tu nombre completo",
- "Email options" : "Opciones de correo electrónico",
- "Remove primary email" : "Eliminar correo electrónico principal",
- "Delete email" : "Eliminar correo electrónico",
- "This address is not confirmed" : "Esta dirección no está confirmada",
- "Unset as primary email" : "Quitar como correo electrónico principal",
- "Set as primary email" : "Establecer como correo electrónico principal",
- "Additional email address {index}" : "Dirección de correo electrónico adicional {index}",
- "Unable to delete primary email address" : "No se pudo eliminar la dirección de correo electrónico principal",
- "Unable to update primary email address" : "No se pudo actualizar la dirección de correo electrónico principal",
- "Unable to add additional email address" : "No se pudo agregar la dirección de correo electrónico adicional",
- "Unable to update additional email address" : "No se pudo actualizar la dirección de correo electrónico adicional",
- "Unable to delete additional email address" : "No se pudo eliminar la dirección de correo electrónico adicional",
- "Primary email for password reset and notifications" : "Correo electrónico principal para restablecimiento de contraseña y notificaciones",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Your handle" : "Nombre de usuario/a",
- "Your headline" : "Título",
- "Unable to update language" : "No se pudo actualizar el idioma",
- "Help translate" : "Ayuda a traducir",
- "No language set" : "No se ha configurado ningún idioma",
- "Unable to update locale" : "No se pudo actualizar la configuración regional",
- "Week starts on {firstDayOfWeek}" : "La semana comienza el {firstDayOfWeek}",
- "No locale set" : "No se ha configurado ninguna configuración regional",
- "Your city" : "Tu ciudad",
- "Your organisation" : "Tu organización",
- "Your phone number" : "Su número telefónico",
- "Edit your Profile visibility" : "Editar la visibilidad de tu perfil",
- "Unable to update profile enabled state" : "No se pudo actualizar el estado habilitado del perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Se respeta la configuración más restrictiva de visibilidad o alcance en tu perfil. Por ejemplo, si la visibilidad está configurada en \"Mostrar a todos\" y el alcance está configurado en \"Privado\", se respeta \"Privado\".",
- "Unable to update visibility of {displayId}" : "No se pudo actualizar la visibilidad de {displayId}",
- "Your role" : "Tu cargo",
- "Your website" : "Tu sitio web",
- "Unable to update {property}" : "No se pudo actualizar {property}",
- "No {property} set" : "Ningún {property} establecido",
- "Change scope level of {property}, current scope is {scope}" : "Cambiar el nivel de alcance de {property}, el alcance actual es {scope}",
- "Unable to update federation scope of the primary {property}" : "No se pudo actualizar el alcance de federación del {property} principal",
- "Unable to update federation scope of additional {property}" : "No se pudo actualizar el alcance de federación del {property} adicional",
- "Add additional email" : "Agregar correo electrónico adicional",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Reshare" : "Recompartir",
- "Default language" : "Idioma predeterminado",
- "Common languages" : "Idiomas comunes",
- "Other languages" : "Otros idiomas",
- "Password change is disabled because the master key is disabled" : "El cambio de contraseña está deshabilitado porque la clave maestra está deshabilitada",
- "Manager" : "Administrador",
- "Display name" : "Nombre a desplegar",
- "Either password or email is required" : "Se requiere una contraseña o un correo electrónico",
- "Password (required)" : "Contraseña (requerida)",
- "Email (required)" : "Correo electrónico (requerido)",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Set default language" : "Establecer idioma predeterminado",
- "Total rows summary" : "Resumen total de filas.",
- "Scroll to load more rows" : "Desplázate para cargar más filas",
- "Password or insufficient permissions message" : "Contraseña o mensaje de permisos insuficientes",
- "Avatar" : "Avatar",
- "Account name" : "Nombre de la cuenta",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Resend welcome email" : "Reenviar correo de bienvenida",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "En caso de pérdida del dispositivo o salida de la organización, esto puede borrar de forma remota los datos de Nextcloud de todos los dispositivos asociados con {userid}. Solo funciona si los dispositivos están conectados a Internet.",
- "Remote wipe of devices" : "Borrado remoto de dispositivos",
- "Wipe {userid}'s devices" : "Borrar dispositivos de {userid}",
- "Wiped {userid}'s devices" : "Se borraron los dispositivos de {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Eliminar por completo la cuenta de {userid}, incluidos todos los archivos personales, datos de aplicaciones, etc.",
- "Account deletion" : "Borrado de cuenta",
- "Delete {userid}'s account" : "Borrar la cuenta de {userid}",
- "Display name was successfully changed" : "Se cambió correctamente el nombre para mostrar",
- "Password was successfully changed" : "Se cambió correctamente la contraseña",
- "Email was successfully changed" : "Se cambió correctamente el correo electrónico",
- "Welcome mail sent!" : "¡Correo de bienvenida enviado!",
- "Set the language" : "Establecer el idioma",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Visibility" : "Visibilidad",
- "Show storage path" : "Mostrar ruta de almacenamiento",
- "Show last login" : "Mostrar último inicio de sesión",
- "Sorting" : "Ordenar",
- "Send email" : "Enviar correo electrónico",
- "Defaults" : "Valores predeterminados",
- "Default quota" : "Cuota predeterminada",
- "Select default quota" : "Seleccionar cuota predeterminada",
- "Server error while trying to complete WebAuthn device registration" : "Error del servidor al intentar completar el registro del dispositivo WebAuthn",
- "Passwordless authentication requires a secure connection." : "La autenticación sin contraseña requiere una conexión segura.",
- "Add WebAuthn device" : "Agregar dispositivo WebAuthn",
- "Please authorize your WebAuthn device." : "Autoriza tu dispositivo WebAuthn.",
- "Adding your device …" : "Agregando tu dispositivo ...",
- "Unnamed device" : "Dispositivo sin nombre",
- "Passwordless Authentication" : "Autenticación sin contraseña",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configura tu cuenta para la autenticación sin contraseña siguiendo el estándar FIDO2.",
- "No devices configured." : "No hay dispositivos configurados.",
- "The following devices are configured for your account:" : "Los siguientes dispositivos están configurados para tu cuenta:",
- "Your browser does not support WebAuthn." : "Tu navegador no admite WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "You need to enable the File sharing App." : "Debes habilitar la aplicación Compartir archivos.",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
@@ -388,6 +220,7 @@ OC.L10N.register(
"About" : "Acerca de",
"Full name" : "Nombre completo",
"Additional email" : "Correo electrónico adicional",
+ "Email" : "Correo electrónico",
"Fediverse (e.g. Mastodon)" : "Fediverse (por ejemplo, Mastodon)",
"Headline" : "Título",
"Organisation" : "Organización",
@@ -395,6 +228,7 @@ OC.L10N.register(
"Role" : "Rol",
"Website" : "Sitio web",
"Profile visibility" : "Visibilidad del perfil",
+ "Language" : "Idioma",
"Locale" : "Configuración regional",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "No disponible, ya que esta propiedad es necesaria para la funcionalidad básica, incluyendo el intercambio de archivos y las invitaciones de calendario.",
"Your apps" : "Tus aplicaciones",
@@ -405,10 +239,12 @@ OC.L10N.register(
"Featured apps" : "Aplicaciones destacadas",
"Show to everyone" : "Mostrar a todos",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Download and enable" : "Descargar y habilitar",
"Disable" : "Deshabilitar",
"The app will be downloaded from the App Store" : "La aplicación se descargará desde la App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Esta aplicación no está marcada como compatible con tu versión de Nextcloud. Si continúas, aún podrás instalar la aplicación. Ten en cuenta que es posible que la aplicación no funcione como se espera.",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"An error occurred during the request. Unable to proceed." : "Ocurrió un error durante la solicitud. No se puede continuar.",
@@ -421,6 +257,8 @@ OC.L10N.register(
"Error while updating device token scope" : "Error al actualizar el alcance del token del dispositivo",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Había demasiadas solicitudes desde tu red. Vuelve a intentarlo más tarde o contacta a tu administrador si se trata de un error.",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Legal notice" : "Aviso legal",
"Privacy policy" : "Política de privacidad",
@@ -440,6 +278,7 @@ OC.L10N.register(
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
"Test and verify email settings" : "Probar y verificar la configuración del correo electrónico",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Es importante para la seguridad y el rendimiento de tu instancia que todo esté configurado correctamente. Para ayudarte con eso, realizamos algunas comprobaciones automáticas. Consulta la documentación enlazada para obtener más información.",
"All checks passed." : "Pasaron todas las verificaciones. ",
@@ -457,9 +296,6 @@ OC.L10N.register(
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Esta versión comunitaria de Nextcloud no cuenta con soporte y las notificaciones instantáneas no están disponibles.",
"Use a second factor besides your password to increase security for your account." : "Utiliza un segundo factor además de tu contraseña para aumentar la seguridad de tu cuenta.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Si utilizas aplicaciones de terceros para conectarte a Nextcloud, asegúrate de crear y configurar una contraseña de aplicación para cada una antes de habilitar la autenticación de segundo factor.",
- "Set default expiration date for shares" : "Establecer fecha de vencimiento predeterminada para los compartidos",
- "Your biography" : "Tu biografía",
- "You are using <strong>{usage}</strong>" : "Estás usando <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Estás usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Establecer fecha de vencimiento predeterminada para los compartidos"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/settings/l10n/es_EC.json b/apps/settings/l10n/es_EC.json
index 3de1fd6a3d7..5de2b50b2b3 100644
--- a/apps/settings/l10n/es_EC.json
+++ b/apps/settings/l10n/es_EC.json
@@ -178,54 +178,6 @@
"Group name" : "Nombre del grupo",
"Loading groups…" : "Cargando grupos...",
"Loading" : "Cargando",
- "Daemon" : "Demonio",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "Limit app usage to groups" : "Limitar el uso de aplicaciones a grupos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Author" : "Autor",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "{productName} iOS app" : "Aplicación de {productName} para iOS",
- "{productName} Android app" : "Aplicación de {productName} para Android",
- "{productName} Talk for iOS" : "{productName} Talk para iOS",
- "{productName} Talk for Android" : "{productName} Talk para Android",
- "This session" : "Esta sesión",
- "Marked for remote wipe" : "Marcado para borrado remoto",
- "Device settings" : "Configuración del dispositivo",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Wipe device" : "Borrar dispositivo",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revocar este token podría evitar el borrado de tu dispositivo si aún no ha comenzado el borrado.",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Could not copy app password. Please copy it manually." : "No se pudo copiar la contraseña de la aplicación. Cópiala manualmente.",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
@@ -255,130 +207,10 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
"Rename group" : "Renombrar grupo",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Choose your profile picture" : "Elige tu foto de perfil",
- "Please select a valid png or jpg file" : "Selecciona un archivo válido PNG o JPG",
- "Error setting profile picture" : "Error al establecer la foto de perfil",
- "Error cropping profile picture" : "Error al recortar la foto de perfil",
- "Error saving profile picture" : "Error al guardar la foto de perfil",
- "Error removing profile picture" : "Error al eliminar la foto de perfil",
- "Your profile picture" : "Tu foto de perfil",
- "Upload profile picture" : "Subir foto de perfil",
- "Choose profile picture from Files" : "Elegir foto de perfil desde Archivos",
- "Remove profile picture" : "Eliminar foto de perfil",
- "The file must be a PNG or JPG" : "El archivo debe ser PNG o JPG",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "Set as profile picture" : "Establecer como foto de perfil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Ten en cuenta que puede tomar hasta 24 horas para que tu foto de perfil se actualice en todos lados.",
- "You are a member of the following groups:" : "Eres miembro de los siguientes grupos:",
- "Your full name" : "Tu nombre completo",
- "Email options" : "Opciones de correo electrónico",
- "Remove primary email" : "Eliminar correo electrónico principal",
- "Delete email" : "Eliminar correo electrónico",
- "This address is not confirmed" : "Esta dirección no está confirmada",
- "Unset as primary email" : "Quitar como correo electrónico principal",
- "Set as primary email" : "Establecer como correo electrónico principal",
- "Additional email address {index}" : "Dirección de correo electrónico adicional {index}",
- "Unable to delete primary email address" : "No se pudo eliminar la dirección de correo electrónico principal",
- "Unable to update primary email address" : "No se pudo actualizar la dirección de correo electrónico principal",
- "Unable to add additional email address" : "No se pudo agregar la dirección de correo electrónico adicional",
- "Unable to update additional email address" : "No se pudo actualizar la dirección de correo electrónico adicional",
- "Unable to delete additional email address" : "No se pudo eliminar la dirección de correo electrónico adicional",
- "Primary email for password reset and notifications" : "Correo electrónico principal para restablecimiento de contraseña y notificaciones",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Your handle" : "Nombre de usuario/a",
- "Your headline" : "Título",
- "Unable to update language" : "No se pudo actualizar el idioma",
- "Help translate" : "Ayuda a traducir",
- "No language set" : "No se ha configurado ningún idioma",
- "Unable to update locale" : "No se pudo actualizar la configuración regional",
- "Week starts on {firstDayOfWeek}" : "La semana comienza el {firstDayOfWeek}",
- "No locale set" : "No se ha configurado ninguna configuración regional",
- "Your city" : "Tu ciudad",
- "Your organisation" : "Tu organización",
- "Your phone number" : "Su número telefónico",
- "Edit your Profile visibility" : "Editar la visibilidad de tu perfil",
- "Unable to update profile enabled state" : "No se pudo actualizar el estado habilitado del perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Se respeta la configuración más restrictiva de visibilidad o alcance en tu perfil. Por ejemplo, si la visibilidad está configurada en \"Mostrar a todos\" y el alcance está configurado en \"Privado\", se respeta \"Privado\".",
- "Unable to update visibility of {displayId}" : "No se pudo actualizar la visibilidad de {displayId}",
- "Your role" : "Tu cargo",
- "Your website" : "Tu sitio web",
- "Unable to update {property}" : "No se pudo actualizar {property}",
- "No {property} set" : "Ningún {property} establecido",
- "Change scope level of {property}, current scope is {scope}" : "Cambiar el nivel de alcance de {property}, el alcance actual es {scope}",
- "Unable to update federation scope of the primary {property}" : "No se pudo actualizar el alcance de federación del {property} principal",
- "Unable to update federation scope of additional {property}" : "No se pudo actualizar el alcance de federación del {property} adicional",
- "Add additional email" : "Agregar correo electrónico adicional",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Reshare" : "Recompartir",
- "Default language" : "Idioma predeterminado",
- "Common languages" : "Idiomas comunes",
- "Other languages" : "Otros idiomas",
- "Password change is disabled because the master key is disabled" : "El cambio de contraseña está deshabilitado porque la clave maestra está deshabilitada",
- "Manager" : "Administrador",
- "Display name" : "Nombre a desplegar",
- "Either password or email is required" : "Se requiere una contraseña o un correo electrónico",
- "Password (required)" : "Contraseña (requerida)",
- "Email (required)" : "Correo electrónico (requerido)",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Set default language" : "Establecer idioma predeterminado",
- "Total rows summary" : "Resumen total de filas.",
- "Scroll to load more rows" : "Desplázate para cargar más filas",
- "Password or insufficient permissions message" : "Contraseña o mensaje de permisos insuficientes",
- "Avatar" : "Avatar",
- "Account name" : "Nombre de la cuenta",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Resend welcome email" : "Reenviar correo de bienvenida",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "En caso de pérdida del dispositivo o salida de la organización, esto puede borrar de forma remota los datos de Nextcloud de todos los dispositivos asociados con {userid}. Solo funciona si los dispositivos están conectados a Internet.",
- "Remote wipe of devices" : "Borrado remoto de dispositivos",
- "Wipe {userid}'s devices" : "Borrar dispositivos de {userid}",
- "Wiped {userid}'s devices" : "Se borraron los dispositivos de {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Eliminar por completo la cuenta de {userid}, incluidos todos los archivos personales, datos de aplicaciones, etc.",
- "Account deletion" : "Borrado de cuenta",
- "Delete {userid}'s account" : "Borrar la cuenta de {userid}",
- "Display name was successfully changed" : "Se cambió correctamente el nombre para mostrar",
- "Password was successfully changed" : "Se cambió correctamente la contraseña",
- "Email was successfully changed" : "Se cambió correctamente el correo electrónico",
- "Welcome mail sent!" : "¡Correo de bienvenida enviado!",
- "Set the language" : "Establecer el idioma",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Visibility" : "Visibilidad",
- "Show storage path" : "Mostrar ruta de almacenamiento",
- "Show last login" : "Mostrar último inicio de sesión",
- "Sorting" : "Ordenar",
- "Send email" : "Enviar correo electrónico",
- "Defaults" : "Valores predeterminados",
- "Default quota" : "Cuota predeterminada",
- "Select default quota" : "Seleccionar cuota predeterminada",
- "Server error while trying to complete WebAuthn device registration" : "Error del servidor al intentar completar el registro del dispositivo WebAuthn",
- "Passwordless authentication requires a secure connection." : "La autenticación sin contraseña requiere una conexión segura.",
- "Add WebAuthn device" : "Agregar dispositivo WebAuthn",
- "Please authorize your WebAuthn device." : "Autoriza tu dispositivo WebAuthn.",
- "Adding your device …" : "Agregando tu dispositivo ...",
- "Unnamed device" : "Dispositivo sin nombre",
- "Passwordless Authentication" : "Autenticación sin contraseña",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configura tu cuenta para la autenticación sin contraseña siguiendo el estándar FIDO2.",
- "No devices configured." : "No hay dispositivos configurados.",
- "The following devices are configured for your account:" : "Los siguientes dispositivos están configurados para tu cuenta:",
- "Your browser does not support WebAuthn." : "Tu navegador no admite WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "You need to enable the File sharing App." : "Debes habilitar la aplicación Compartir archivos.",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
@@ -386,6 +218,7 @@
"About" : "Acerca de",
"Full name" : "Nombre completo",
"Additional email" : "Correo electrónico adicional",
+ "Email" : "Correo electrónico",
"Fediverse (e.g. Mastodon)" : "Fediverse (por ejemplo, Mastodon)",
"Headline" : "Título",
"Organisation" : "Organización",
@@ -393,6 +226,7 @@
"Role" : "Rol",
"Website" : "Sitio web",
"Profile visibility" : "Visibilidad del perfil",
+ "Language" : "Idioma",
"Locale" : "Configuración regional",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "No disponible, ya que esta propiedad es necesaria para la funcionalidad básica, incluyendo el intercambio de archivos y las invitaciones de calendario.",
"Your apps" : "Tus aplicaciones",
@@ -403,10 +237,12 @@
"Featured apps" : "Aplicaciones destacadas",
"Show to everyone" : "Mostrar a todos",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Download and enable" : "Descargar y habilitar",
"Disable" : "Deshabilitar",
"The app will be downloaded from the App Store" : "La aplicación se descargará desde la App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Esta aplicación no está marcada como compatible con tu versión de Nextcloud. Si continúas, aún podrás instalar la aplicación. Ten en cuenta que es posible que la aplicación no funcione como se espera.",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"An error occurred during the request. Unable to proceed." : "Ocurrió un error durante la solicitud. No se puede continuar.",
@@ -419,6 +255,8 @@
"Error while updating device token scope" : "Error al actualizar el alcance del token del dispositivo",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Había demasiadas solicitudes desde tu red. Vuelve a intentarlo más tarde o contacta a tu administrador si se trata de un error.",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Legal notice" : "Aviso legal",
"Privacy policy" : "Política de privacidad",
@@ -438,6 +276,7 @@
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
"Test and verify email settings" : "Probar y verificar la configuración del correo electrónico",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Es importante para la seguridad y el rendimiento de tu instancia que todo esté configurado correctamente. Para ayudarte con eso, realizamos algunas comprobaciones automáticas. Consulta la documentación enlazada para obtener más información.",
"All checks passed." : "Pasaron todas las verificaciones. ",
@@ -455,9 +294,6 @@
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Esta versión comunitaria de Nextcloud no cuenta con soporte y las notificaciones instantáneas no están disponibles.",
"Use a second factor besides your password to increase security for your account." : "Utiliza un segundo factor además de tu contraseña para aumentar la seguridad de tu cuenta.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Si utilizas aplicaciones de terceros para conectarte a Nextcloud, asegúrate de crear y configurar una contraseña de aplicación para cada una antes de habilitar la autenticación de segundo factor.",
- "Set default expiration date for shares" : "Establecer fecha de vencimiento predeterminada para los compartidos",
- "Your biography" : "Tu biografía",
- "You are using <strong>{usage}</strong>" : "Estás usando <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Estás usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Establecer fecha de vencimiento predeterminada para los compartidos"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_GT.js b/apps/settings/l10n/es_GT.js
index 2b01a8a4322..7dbe237ef5a 100644
--- a/apps/settings/l10n/es_GT.js
+++ b/apps/settings/l10n/es_GT.js
@@ -106,44 +106,6 @@ OC.L10N.register(
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Daemon" : "Demonio",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -158,56 +120,33 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca de",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Legal notice" : "Aviso legal",
"SSL" : "SSL",
@@ -223,6 +162,7 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_GT.json b/apps/settings/l10n/es_GT.json
index bf45aa94919..0ef34fe1660 100644
--- a/apps/settings/l10n/es_GT.json
+++ b/apps/settings/l10n/es_GT.json
@@ -104,44 +104,6 @@
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Daemon" : "Demonio",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -156,56 +118,33 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca de",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Legal notice" : "Aviso legal",
"SSL" : "SSL",
@@ -221,6 +160,7 @@
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_HN.js b/apps/settings/l10n/es_HN.js
index 36887b920bc..bb8b5119ae1 100644
--- a/apps/settings/l10n/es_HN.js
+++ b/apps/settings/l10n/es_HN.js
@@ -101,43 +101,6 @@ OC.L10N.register(
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Daemon" : "Demonio",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -152,55 +115,33 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -215,6 +156,7 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_HN.json b/apps/settings/l10n/es_HN.json
index 8218f1cd3eb..6ca5d459bc3 100644
--- a/apps/settings/l10n/es_HN.json
+++ b/apps/settings/l10n/es_HN.json
@@ -99,43 +99,6 @@
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Daemon" : "Demonio",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -150,55 +113,33 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -213,6 +154,7 @@
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_MX.js b/apps/settings/l10n/es_MX.js
index 89c92147826..33a1a17e37d 100644
--- a/apps/settings/l10n/es_MX.js
+++ b/apps/settings/l10n/es_MX.js
@@ -357,74 +357,6 @@ OC.L10N.register(
"Could not load section content from app store." : "No se pudo cargar el contenido de la sección desde la tienda de aplicaciones.",
"Loading" : "Cargando",
"Fetching the latest news…" : "Obteniendo las últimas noticias...",
- "Carousel" : "Carrusel",
- "Previous slide" : "Diapositiva anterior",
- "Next slide" : "Diapositiva siguiente",
- "Choose slide to display" : "Elegir diapositiva a mostrar",
- "{index} of {total}" : "{index} de {total}",
- "Daemon" : "Demonio",
- "Deploy Daemon" : "Demonio de Desplegue",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "GPUs support" : "Soporte de GPUs",
- "Compute device" : "Dispositivo de cómputo",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Usage documentation" : "Documentación de uso",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "Limit app usage to groups" : "Limitar el uso de aplicaciones a grupos",
- "No results" : "Sin resultados",
- "Update to {version}" : "Actualizar a {version}",
- "Default Deploy daemon is not accessible" : "No se puede acceder al demonio de despliegue predeterminado",
- "Delete data on remove" : "Eliminar datos al remover",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Latest updated" : "Última actualización",
- "Author" : "Autor",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Interact" : "Interactuar",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate the app" : "Calificar la aplicación",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "{productName} iOS app" : "Aplicación de {productName} para iOS",
- "{productName} Android app" : "Aplicación de {productName} para Android",
- "{productName} Talk for iOS" : "{productName} Talk para iOS",
- "{productName} Talk for Android" : "{productName} Talk para Android",
- "Sync client" : "Cliente de sincronización",
- "This session" : "Esta sesión",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nombre del dispositivo",
- "Cancel renaming" : "Cancelar renombrado",
- "Save new name" : "Guardar nuevo nombre",
- "Marked for remote wipe" : "Marcado para borrado remoto",
- "Device settings" : "Configuración del dispositivo",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Wipe device" : "Limpiar dispositivo",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revocar este token podría evitar el limpiado del dispositivo si la limpieza aún no ha comenzado.",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"App password copied!" : "¡Se copió la contraseña de aplicación!",
"Copy app password" : "Copiar la contraseña de aplicación",
"Login name copied!" : "¡Se copió el nombre de usuario!",
@@ -470,191 +402,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
"Please confirm the group removal" : "Por favor, confirme la eliminación del grupo",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
"Rename group" : "Renombrar grupo",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Choose your profile picture" : "Elegir la foto de perfil",
- "Please select a valid png or jpg file" : "Por favor, seleccione un archivo png o jpg válido",
- "Error setting profile picture" : "Error al establecer la foto de perfil",
- "Error cropping profile picture" : "Error al recortar la foto de perfil",
- "Error saving profile picture" : "Error al guardar la foto de perfil",
- "Error removing profile picture" : "Error al eliminar la foto de perfil",
- "Your profile picture" : "Su foto de perfil",
- "Upload profile picture" : "Cargar foto de perfil",
- "Choose profile picture from Files" : "Seleccionar la imagen de perfil desde Archivos",
- "Remove profile picture" : "Eliminar la foto de perfil",
- "The file must be a PNG or JPG" : "El archivo debe ser PNG o JPG",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "Set as profile picture" : "Establecer como foto de perfil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Tenga en cuenta que puede tomar hasta 24 horas para que su imagen de perfil sea actualizada en todos lados.",
- "Unable to update date of birth" : "No se pudo actualizar tu fecha de nacimiento",
- "Enter your date of birth" : "Ingresa tu fecha de nacimiento",
- "You are using {s}{usage}{/s}" : "Estás usando {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Estás usando {s}{usage}{/s} de {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Usted es miembro de los siguientes grupos:",
- "Your full name" : "Su nombre completo",
- "Email options" : "Opciones de correo electrónico",
- "Options for additional email address {index}" : "Opciones para direcciones de correo electrónico adicionales {index}",
- "Remove primary email" : "Eliminar correo electrónico principal",
- "Delete email" : "Eliminar correo electrónico",
- "This address is not confirmed" : "Esta dirección no está confirmada",
- "Unset as primary email" : "Remover como correo electrónico principal",
- "Set as primary email" : "Establecer como correo electrónico principal",
- "Additional email address {index}" : "Dirección de correo electrónico adicional {index}",
- "Unable to delete primary email address" : "No se pudo eliminar la dirección de correo electrónico principal",
- "Unable to update primary email address" : "No se pudo actualizar la dirección de correo electrónico principal",
- "Unable to add additional email address" : "No se pudo agregar la dirección de correo electrónico adicional",
- "Unable to update additional email address" : "No se pudo actualizar la dirección de correo electrónico adicional",
- "Unable to delete additional email address" : "No se pudo eliminar la dirección de correo electrónico adicional",
- "Primary email for password reset and notifications" : "Correo electrónico principal para restablecer la contraseña y notificaciones",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Your handle" : "Su identificador",
- "Derived from your locale ({weekDayName})" : "Deducido de tu locale ({weekDayName})",
- "Unable to update first day of week" : "No se pudo modificar el primer día de la semana",
- "Day to use as the first day of week" : "Primer día de la semana",
- "Your headline" : "Su titular",
- "Unable to update language" : "No se pudo actualizar el idioma",
- "Languages" : "Idiomas",
- "Help translate" : "Ayuda a traducir",
- "No language set" : "No se ha establecido ningún idioma",
- "Unable to update locale" : "No se pudo actualizar la configuración regional",
- "Locales" : "Configuración regional",
- "Week starts on {firstDayOfWeek}" : "La semana empieza el {firstDayOfWeek}",
- "No locale set" : "No se ha configurado ninguna configuración regional",
- "Your city" : "Su ciudad",
- "Your organisation" : "Su organización",
- "Your phone number" : "Su número telefónico",
- "Edit your Profile visibility" : "Editar la visibilidad de su perfil",
- "Unable to update profile enabled state" : "No se pudo actualizar el estado de habilitado del perfil",
- "Enable profile" : "Habilitar perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Se respeta la configuración más restrictiva de visibilidad o alcance en su perfil. Por ejemplo, si la visibilidad está configurada como \"Mostrar a todos\" y el alcance está configurado como \"Privado\", se respeta \"Privado\".",
- "Unable to update visibility of {displayId}" : "No se pudo actualizar la visibilidad de {displayId}",
- "she/her" : "ella",
- "he/him" : "él",
- "they/them" : "elle",
- "Your role" : "Su cargo",
- "Your X (formerly Twitter) handle" : "Su X (anteriormente Twitter)",
- "Your website" : "Tu sitio web",
- "Invalid value" : "Valor inválido",
- "Unable to update {property}" : "No se pudo actualizar {property}",
- "No {property} set" : "No se ha establecido {property}",
- "Change scope level of {property}, current scope is {scope}" : "Cambiar el alcance de {property}, el alcance actual es {scope}",
- "Unable to update federation scope of the primary {property}" : "No se pudo actualizar el alcance de federación del {property} principal",
- "Unable to update federation scope of additional {property}" : "No se pudo actualizar el alcance de federación del {property} adicional",
- "Add additional email" : "Añadir correo electrónico adicional",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Reshare" : "Volver a compartir",
- "Default language" : "Idioma predeterminado",
- "Common languages" : "Idiomas comunes",
- "Other languages" : "Otros idiomas",
- "Password change is disabled because the master key is disabled" : "El cambio de contraseña está deshabilitado porque la llave maestra está deshabilitada",
- "No accounts" : "Sin cuentas",
- "Loading accounts …" : "Cargando cuentas ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Lista de usuarios. Esta lista no se muestra completa por razones de rendimiento. Los usuarios se mostrarán a medida que navegue por la lista.",
- "Manager" : "Administrador",
- "Set line manager" : "Establecer el administrador",
- "Account name will be autogenerated" : "El nombre de la cuenta se generará automáticamente",
- "Account name (required)" : "Nombre de la cuenta (requerido)",
- "New account" : "Nueva cuenta",
- "Display name" : "Nombre a desplegar",
- "Either password or email is required" : "Se requiere una contraseña o un correo electrónico",
- "Password (required)" : "Contraseña (requerida)",
- "Email (required)" : "Correo electrónico (requerido)",
- "Email" : "Correo electrónico",
- "Member of the following groups (required)" : "Miembro de los siguientes grupos (requerido)",
- "Member of the following groups" : "Miembro de los siguientes grupos",
- "Set account groups" : "Configurar grupos de la cuenta",
- "Admin of the following groups" : "Administrador de los siguientes grupos",
- "Set account as admin for …" : "Establecer cuenta como administrador de ...",
- "Quota" : "Cuota",
- "Set account quota" : "Definir cuota de la cuenta",
- "Language" : "Idioma",
- "Set default language" : "Establecer el idioma predeterminado",
- "Add new account" : "Añadir nueva cuenta",
- "Total rows summary" : "Resumen de filas totales",
- "Scroll to load more rows" : "Desplazar para cargar más filas",
- "Password or insufficient permissions message" : "Mensaje de contraseña o permisos insuficientes",
- "Avatar" : "Avatar",
- "Account name" : "Nombre de cuenta",
- "Group admin for" : "Administrador del grupo para",
- "Account backend" : "Backend de cuenta",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Disconnect all devices and delete local data" : "Desconectar todos los dispositivos y eliminar los datos locales",
- "Disable account" : "Deshabilitar cuenta",
- "Enable account" : "Habilitar cuenta",
- "Resend welcome email" : "Reenviar correo de bienvenida",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "En caso de pérdida del dispositivo o salida de la organización, esto puede borrar de forma remota los datos de Nextcloud de todos los dispositivos asociados con {userid}. Solo funciona si los dispositivos están conectados a Internet.",
- "Remote wipe of devices" : "Limpieza remota de dispositivos",
- "Wipe {userid}'s devices" : "Limpiar los dispositivos de {userid}",
- "Wiped {userid}'s devices" : "Los dispositivos de {userid} fueron limpiados",
- "Failed to update line manager" : "No se pudo actualizar el gerente de línea",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Eliminar por completo la cuenta de {userid}, incluidos todos los archivos personales, datos de aplicaciones, etc.",
- "Account deletion" : "Borrado de cuenta",
- "Delete {userid}'s account" : "Borrar la cuenta de {userid}",
- "Display name was successfully changed" : "Se cambió correctamente el nombre para mostrar",
- "Password was successfully changed" : "Se cambió correctamente la contraseña",
- "Email was successfully changed" : "Se cambió correctamente el correo electrónico",
- "Welcome mail sent!" : "¡Correo de bienvenida enviado!",
- "Loading account …" : "Cargando cuenta ...",
- "Change display name" : "Cambiar el nombre a mostrar",
- "Set new password" : "Establecer nueva contraseña",
- "You do not have permissions to see the details of this account" : "No tiene los permisos para ver los detalles de este usuario",
- "Set new email address" : "Establecer nueva dirección de correo electrónico",
- "Add account to group" : "Añadir cuenta al grupo",
- "Set account as admin for" : "Establecer usuario como administrador de",
- "Select account quota" : "Establecer la cuota de la cuenta",
- "Set the language" : "Establecer el idioma",
- "Toggle account actions menu" : "Alternar menú de acciones de usuario",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Account management settings" : "Ajustes de administración de usuarios",
- "Visibility" : "Visibilidad",
- "Show language" : "Mostrar idioma",
- "Show account backend" : "Mostrar backend del usuario",
- "Show storage path" : "Mostrar la ruta de almacenamiento",
- "Show last login" : "Mostrar último inicio de sesión",
- "Sorting" : "Ordenando",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "La configuración de sistema aplica el ordenado de grupos por nombre. Esto también deshabilita mostrar el número de miembros.",
- "Group list sorting" : "Ordenando la lista de grupo",
- "By member count" : "Por número de miembros",
- "By name" : "Por nombre",
- "Send email" : "Enviar correo electrónico",
- "Send welcome email to new accounts" : "Enviar correo de bienvenida a usuarios nuevos",
- "Defaults" : "Valores predeterminados",
- "Default quota" : "Cuota predeterminada",
- "Select default quota" : "Establecer la cuota predeterminada",
- "Server error while trying to complete WebAuthn device registration" : "Error en el servidor al intentar completar el registro del dispositivo WebAuthn",
- "Passwordless authentication requires a secure connection." : "La autentificación sin contraseña requiere una conexión segura.",
- "Add WebAuthn device" : "Añadir dispositivo WebAuthn",
- "Please authorize your WebAuthn device." : "Por favor, autorice su dispositivo WebAuthn.",
- "Adding your device …" : "Añadiendo su dispositivo ...",
- "Unnamed device" : "Dispositivo sin nombre",
- "Passwordless Authentication" : "Autentificación sin contraseña",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configure su cuenta para autentificación sin contraseña siguiendo el estándar FIDO2.",
- "No devices configured." : "No hay dispositivos configurados.",
- "The following devices are configured for your account:" : "Los siguientes dispositivos están configurados para su cuenta:",
- "Your browser does not support WebAuthn." : "Su navegador no soporta WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "You need to enable the File sharing App." : "Debe habilitar la aplicación Compartir archivos.",
- "App Store" : "Tienda de aplicaciones",
- "Loading app list" : "Cargando la lista de aplicaciones",
- "Loading categories" : "Cargando categorías",
- "Developer documentation ↗" : "Documentación del desarrollador ↗",
- "Version {version}, {license}-licensed" : "Versión {version}, licencia {license}",
- "Version {version}" : "Versión {version}",
- "All accounts" : "Todas las cuentas",
- "Admins" : "Administradores",
- "Account group: {group}" : "Grupo de cuentas: {group}",
- "Account management" : "Administración de cuentas",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
@@ -663,6 +414,7 @@ OC.L10N.register(
"Date of birth" : "Fecha de nacimiento",
"Full name" : "Nombre completo",
"Additional email" : "Correo electrónico adicional",
+ "Email" : "Correo electrónico",
"Fediverse (e.g. Mastodon)" : "Fediverse (por ejemplo, Mastodon)",
"Headline" : "Titular",
"Organisation" : "Organización",
@@ -672,6 +424,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (anteriormente Twitter)",
"Website" : "Sitio web",
"Profile visibility" : "Visibilidad del perfil",
+ "Language" : "Idioma",
"Locale" : "Configuración regional",
"First day of week" : "Primer día de la semana",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "No disponible, ya que esta propiedad es necesaria para la funcionalidad básica, incluyendo el compartir archivos y las invitaciones de calendario.",
@@ -688,6 +441,7 @@ OC.L10N.register(
"Show to everyone" : "Mostrar a todos",
"Show to logged in accounts only" : "Mostrar únicamente a usuarios conectados",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"{progress}% Deploying …" : "{progress}% Desplegando...",
"{progress}% Initializing …" : "{progress}% Inicializando...",
"Health checking" : "Revisión de salud del servidor",
@@ -697,6 +451,7 @@ OC.L10N.register(
"Allow untested app" : "Permitir aplicación no probada",
"The app will be downloaded from the App Store" : "La aplicación será descargada de la tienda de aplicaciones",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Esta app no está marcada como compatible con tu versión de Nextcloud. Si continúas podrás instalar la app, pero ten en cuenta que podría no funcionar según lo esperado.",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"Could not register device: Network error" : "No se pudo registrar el dispositivo: Error de red",
@@ -715,8 +470,10 @@ OC.L10N.register(
"Could not set group sorting" : "No se pudo establecer el ordenamiento por grupo",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Hubieron demasiadas solicitudes desde su red. Vuelva a intentarlo más tarde o contacte a su administrador si se trata de un error.",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
"Account documentation" : "Documentación de la cuenta",
"Administration documentation" : "Documentación de administración",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Nextcloud help & privacy resources" : "Ayuda de Nextcloud y recursos de privacidad",
"General documentation" : "Documentación general",
@@ -739,6 +496,7 @@ OC.L10N.register(
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
"Test and verify email settings" : "Probar y verificar la configuración del correo electrónico",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Es importante para la seguridad y rendimiento de su instancia que todo esté correctamente configurado. Para ayudarle en ello estamos haciendo algunas comprobaciones automáticas. Para más información, por favor compruebe la documentación enlazada.",
"All checks passed." : "Pasaron todas las verificaciones. ",
@@ -761,9 +519,6 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "El límite de memoria de PHP está por debajo del valor recomendado de %s.",
"for WebAuthn passwordless login" : "para el inicio de sesión sin contraseña de WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "para el inicio de sesión sin contraseña de WebAuthn y el almacenamiento SFTP",
- "Set default expiration date for shares" : "Establecer fecha de caducidad predeterminada para compartidos",
- "Your biography" : "Su biografía",
- "You are using <strong>{usage}</strong>" : "Está usando <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Está usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Establecer fecha de caducidad predeterminada para compartidos"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/settings/l10n/es_MX.json b/apps/settings/l10n/es_MX.json
index c078d42a628..3a4969af836 100644
--- a/apps/settings/l10n/es_MX.json
+++ b/apps/settings/l10n/es_MX.json
@@ -355,74 +355,6 @@
"Could not load section content from app store." : "No se pudo cargar el contenido de la sección desde la tienda de aplicaciones.",
"Loading" : "Cargando",
"Fetching the latest news…" : "Obteniendo las últimas noticias...",
- "Carousel" : "Carrusel",
- "Previous slide" : "Diapositiva anterior",
- "Next slide" : "Diapositiva siguiente",
- "Choose slide to display" : "Elegir diapositiva a mostrar",
- "{index} of {total}" : "{index} de {total}",
- "Daemon" : "Demonio",
- "Deploy Daemon" : "Demonio de Desplegue",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "GPUs support" : "Soporte de GPUs",
- "Compute device" : "Dispositivo de cómputo",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Usage documentation" : "Documentación de uso",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "Limit app usage to groups" : "Limitar el uso de aplicaciones a grupos",
- "No results" : "Sin resultados",
- "Update to {version}" : "Actualizar a {version}",
- "Default Deploy daemon is not accessible" : "No se puede acceder al demonio de despliegue predeterminado",
- "Delete data on remove" : "Eliminar datos al remover",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Latest updated" : "Última actualización",
- "Author" : "Autor",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Interact" : "Interactuar",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate the app" : "Calificar la aplicación",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "{productName} iOS app" : "Aplicación de {productName} para iOS",
- "{productName} Android app" : "Aplicación de {productName} para Android",
- "{productName} Talk for iOS" : "{productName} Talk para iOS",
- "{productName} Talk for Android" : "{productName} Talk para Android",
- "Sync client" : "Cliente de sincronización",
- "This session" : "Esta sesión",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nombre del dispositivo",
- "Cancel renaming" : "Cancelar renombrado",
- "Save new name" : "Guardar nuevo nombre",
- "Marked for remote wipe" : "Marcado para borrado remoto",
- "Device settings" : "Configuración del dispositivo",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Wipe device" : "Limpiar dispositivo",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revocar este token podría evitar el limpiado del dispositivo si la limpieza aún no ha comenzado.",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"App password copied!" : "¡Se copió la contraseña de aplicación!",
"Copy app password" : "Copiar la contraseña de aplicación",
"Login name copied!" : "¡Se copió el nombre de usuario!",
@@ -468,191 +400,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
"Please confirm the group removal" : "Por favor, confirme la eliminación del grupo",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
"Rename group" : "Renombrar grupo",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Choose your profile picture" : "Elegir la foto de perfil",
- "Please select a valid png or jpg file" : "Por favor, seleccione un archivo png o jpg válido",
- "Error setting profile picture" : "Error al establecer la foto de perfil",
- "Error cropping profile picture" : "Error al recortar la foto de perfil",
- "Error saving profile picture" : "Error al guardar la foto de perfil",
- "Error removing profile picture" : "Error al eliminar la foto de perfil",
- "Your profile picture" : "Su foto de perfil",
- "Upload profile picture" : "Cargar foto de perfil",
- "Choose profile picture from Files" : "Seleccionar la imagen de perfil desde Archivos",
- "Remove profile picture" : "Eliminar la foto de perfil",
- "The file must be a PNG or JPG" : "El archivo debe ser PNG o JPG",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "Set as profile picture" : "Establecer como foto de perfil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Tenga en cuenta que puede tomar hasta 24 horas para que su imagen de perfil sea actualizada en todos lados.",
- "Unable to update date of birth" : "No se pudo actualizar tu fecha de nacimiento",
- "Enter your date of birth" : "Ingresa tu fecha de nacimiento",
- "You are using {s}{usage}{/s}" : "Estás usando {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Estás usando {s}{usage}{/s} de {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Usted es miembro de los siguientes grupos:",
- "Your full name" : "Su nombre completo",
- "Email options" : "Opciones de correo electrónico",
- "Options for additional email address {index}" : "Opciones para direcciones de correo electrónico adicionales {index}",
- "Remove primary email" : "Eliminar correo electrónico principal",
- "Delete email" : "Eliminar correo electrónico",
- "This address is not confirmed" : "Esta dirección no está confirmada",
- "Unset as primary email" : "Remover como correo electrónico principal",
- "Set as primary email" : "Establecer como correo electrónico principal",
- "Additional email address {index}" : "Dirección de correo electrónico adicional {index}",
- "Unable to delete primary email address" : "No se pudo eliminar la dirección de correo electrónico principal",
- "Unable to update primary email address" : "No se pudo actualizar la dirección de correo electrónico principal",
- "Unable to add additional email address" : "No se pudo agregar la dirección de correo electrónico adicional",
- "Unable to update additional email address" : "No se pudo actualizar la dirección de correo electrónico adicional",
- "Unable to delete additional email address" : "No se pudo eliminar la dirección de correo electrónico adicional",
- "Primary email for password reset and notifications" : "Correo electrónico principal para restablecer la contraseña y notificaciones",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Your handle" : "Su identificador",
- "Derived from your locale ({weekDayName})" : "Deducido de tu locale ({weekDayName})",
- "Unable to update first day of week" : "No se pudo modificar el primer día de la semana",
- "Day to use as the first day of week" : "Primer día de la semana",
- "Your headline" : "Su titular",
- "Unable to update language" : "No se pudo actualizar el idioma",
- "Languages" : "Idiomas",
- "Help translate" : "Ayuda a traducir",
- "No language set" : "No se ha establecido ningún idioma",
- "Unable to update locale" : "No se pudo actualizar la configuración regional",
- "Locales" : "Configuración regional",
- "Week starts on {firstDayOfWeek}" : "La semana empieza el {firstDayOfWeek}",
- "No locale set" : "No se ha configurado ninguna configuración regional",
- "Your city" : "Su ciudad",
- "Your organisation" : "Su organización",
- "Your phone number" : "Su número telefónico",
- "Edit your Profile visibility" : "Editar la visibilidad de su perfil",
- "Unable to update profile enabled state" : "No se pudo actualizar el estado de habilitado del perfil",
- "Enable profile" : "Habilitar perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Se respeta la configuración más restrictiva de visibilidad o alcance en su perfil. Por ejemplo, si la visibilidad está configurada como \"Mostrar a todos\" y el alcance está configurado como \"Privado\", se respeta \"Privado\".",
- "Unable to update visibility of {displayId}" : "No se pudo actualizar la visibilidad de {displayId}",
- "she/her" : "ella",
- "he/him" : "él",
- "they/them" : "elle",
- "Your role" : "Su cargo",
- "Your X (formerly Twitter) handle" : "Su X (anteriormente Twitter)",
- "Your website" : "Tu sitio web",
- "Invalid value" : "Valor inválido",
- "Unable to update {property}" : "No se pudo actualizar {property}",
- "No {property} set" : "No se ha establecido {property}",
- "Change scope level of {property}, current scope is {scope}" : "Cambiar el alcance de {property}, el alcance actual es {scope}",
- "Unable to update federation scope of the primary {property}" : "No se pudo actualizar el alcance de federación del {property} principal",
- "Unable to update federation scope of additional {property}" : "No se pudo actualizar el alcance de federación del {property} adicional",
- "Add additional email" : "Añadir correo electrónico adicional",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Reshare" : "Volver a compartir",
- "Default language" : "Idioma predeterminado",
- "Common languages" : "Idiomas comunes",
- "Other languages" : "Otros idiomas",
- "Password change is disabled because the master key is disabled" : "El cambio de contraseña está deshabilitado porque la llave maestra está deshabilitada",
- "No accounts" : "Sin cuentas",
- "Loading accounts …" : "Cargando cuentas ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Lista de usuarios. Esta lista no se muestra completa por razones de rendimiento. Los usuarios se mostrarán a medida que navegue por la lista.",
- "Manager" : "Administrador",
- "Set line manager" : "Establecer el administrador",
- "Account name will be autogenerated" : "El nombre de la cuenta se generará automáticamente",
- "Account name (required)" : "Nombre de la cuenta (requerido)",
- "New account" : "Nueva cuenta",
- "Display name" : "Nombre a desplegar",
- "Either password or email is required" : "Se requiere una contraseña o un correo electrónico",
- "Password (required)" : "Contraseña (requerida)",
- "Email (required)" : "Correo electrónico (requerido)",
- "Email" : "Correo electrónico",
- "Member of the following groups (required)" : "Miembro de los siguientes grupos (requerido)",
- "Member of the following groups" : "Miembro de los siguientes grupos",
- "Set account groups" : "Configurar grupos de la cuenta",
- "Admin of the following groups" : "Administrador de los siguientes grupos",
- "Set account as admin for …" : "Establecer cuenta como administrador de ...",
- "Quota" : "Cuota",
- "Set account quota" : "Definir cuota de la cuenta",
- "Language" : "Idioma",
- "Set default language" : "Establecer el idioma predeterminado",
- "Add new account" : "Añadir nueva cuenta",
- "Total rows summary" : "Resumen de filas totales",
- "Scroll to load more rows" : "Desplazar para cargar más filas",
- "Password or insufficient permissions message" : "Mensaje de contraseña o permisos insuficientes",
- "Avatar" : "Avatar",
- "Account name" : "Nombre de cuenta",
- "Group admin for" : "Administrador del grupo para",
- "Account backend" : "Backend de cuenta",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Disconnect all devices and delete local data" : "Desconectar todos los dispositivos y eliminar los datos locales",
- "Disable account" : "Deshabilitar cuenta",
- "Enable account" : "Habilitar cuenta",
- "Resend welcome email" : "Reenviar correo de bienvenida",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "En caso de pérdida del dispositivo o salida de la organización, esto puede borrar de forma remota los datos de Nextcloud de todos los dispositivos asociados con {userid}. Solo funciona si los dispositivos están conectados a Internet.",
- "Remote wipe of devices" : "Limpieza remota de dispositivos",
- "Wipe {userid}'s devices" : "Limpiar los dispositivos de {userid}",
- "Wiped {userid}'s devices" : "Los dispositivos de {userid} fueron limpiados",
- "Failed to update line manager" : "No se pudo actualizar el gerente de línea",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Eliminar por completo la cuenta de {userid}, incluidos todos los archivos personales, datos de aplicaciones, etc.",
- "Account deletion" : "Borrado de cuenta",
- "Delete {userid}'s account" : "Borrar la cuenta de {userid}",
- "Display name was successfully changed" : "Se cambió correctamente el nombre para mostrar",
- "Password was successfully changed" : "Se cambió correctamente la contraseña",
- "Email was successfully changed" : "Se cambió correctamente el correo electrónico",
- "Welcome mail sent!" : "¡Correo de bienvenida enviado!",
- "Loading account …" : "Cargando cuenta ...",
- "Change display name" : "Cambiar el nombre a mostrar",
- "Set new password" : "Establecer nueva contraseña",
- "You do not have permissions to see the details of this account" : "No tiene los permisos para ver los detalles de este usuario",
- "Set new email address" : "Establecer nueva dirección de correo electrónico",
- "Add account to group" : "Añadir cuenta al grupo",
- "Set account as admin for" : "Establecer usuario como administrador de",
- "Select account quota" : "Establecer la cuota de la cuenta",
- "Set the language" : "Establecer el idioma",
- "Toggle account actions menu" : "Alternar menú de acciones de usuario",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Account management settings" : "Ajustes de administración de usuarios",
- "Visibility" : "Visibilidad",
- "Show language" : "Mostrar idioma",
- "Show account backend" : "Mostrar backend del usuario",
- "Show storage path" : "Mostrar la ruta de almacenamiento",
- "Show last login" : "Mostrar último inicio de sesión",
- "Sorting" : "Ordenando",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "La configuración de sistema aplica el ordenado de grupos por nombre. Esto también deshabilita mostrar el número de miembros.",
- "Group list sorting" : "Ordenando la lista de grupo",
- "By member count" : "Por número de miembros",
- "By name" : "Por nombre",
- "Send email" : "Enviar correo electrónico",
- "Send welcome email to new accounts" : "Enviar correo de bienvenida a usuarios nuevos",
- "Defaults" : "Valores predeterminados",
- "Default quota" : "Cuota predeterminada",
- "Select default quota" : "Establecer la cuota predeterminada",
- "Server error while trying to complete WebAuthn device registration" : "Error en el servidor al intentar completar el registro del dispositivo WebAuthn",
- "Passwordless authentication requires a secure connection." : "La autentificación sin contraseña requiere una conexión segura.",
- "Add WebAuthn device" : "Añadir dispositivo WebAuthn",
- "Please authorize your WebAuthn device." : "Por favor, autorice su dispositivo WebAuthn.",
- "Adding your device …" : "Añadiendo su dispositivo ...",
- "Unnamed device" : "Dispositivo sin nombre",
- "Passwordless Authentication" : "Autentificación sin contraseña",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configure su cuenta para autentificación sin contraseña siguiendo el estándar FIDO2.",
- "No devices configured." : "No hay dispositivos configurados.",
- "The following devices are configured for your account:" : "Los siguientes dispositivos están configurados para su cuenta:",
- "Your browser does not support WebAuthn." : "Su navegador no soporta WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "You need to enable the File sharing App." : "Debe habilitar la aplicación Compartir archivos.",
- "App Store" : "Tienda de aplicaciones",
- "Loading app list" : "Cargando la lista de aplicaciones",
- "Loading categories" : "Cargando categorías",
- "Developer documentation ↗" : "Documentación del desarrollador ↗",
- "Version {version}, {license}-licensed" : "Versión {version}, licencia {license}",
- "Version {version}" : "Versión {version}",
- "All accounts" : "Todas las cuentas",
- "Admins" : "Administradores",
- "Account group: {group}" : "Grupo de cuentas: {group}",
- "Account management" : "Administración de cuentas",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
@@ -661,6 +412,7 @@
"Date of birth" : "Fecha de nacimiento",
"Full name" : "Nombre completo",
"Additional email" : "Correo electrónico adicional",
+ "Email" : "Correo electrónico",
"Fediverse (e.g. Mastodon)" : "Fediverse (por ejemplo, Mastodon)",
"Headline" : "Titular",
"Organisation" : "Organización",
@@ -670,6 +422,7 @@
"X (formerly Twitter)" : "X (anteriormente Twitter)",
"Website" : "Sitio web",
"Profile visibility" : "Visibilidad del perfil",
+ "Language" : "Idioma",
"Locale" : "Configuración regional",
"First day of week" : "Primer día de la semana",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "No disponible, ya que esta propiedad es necesaria para la funcionalidad básica, incluyendo el compartir archivos y las invitaciones de calendario.",
@@ -686,6 +439,7 @@
"Show to everyone" : "Mostrar a todos",
"Show to logged in accounts only" : "Mostrar únicamente a usuarios conectados",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"{progress}% Deploying …" : "{progress}% Desplegando...",
"{progress}% Initializing …" : "{progress}% Inicializando...",
"Health checking" : "Revisión de salud del servidor",
@@ -695,6 +449,7 @@
"Allow untested app" : "Permitir aplicación no probada",
"The app will be downloaded from the App Store" : "La aplicación será descargada de la tienda de aplicaciones",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Esta app no está marcada como compatible con tu versión de Nextcloud. Si continúas podrás instalar la app, pero ten en cuenta que podría no funcionar según lo esperado.",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"Could not register device: Network error" : "No se pudo registrar el dispositivo: Error de red",
@@ -713,8 +468,10 @@
"Could not set group sorting" : "No se pudo establecer el ordenamiento por grupo",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Hubieron demasiadas solicitudes desde su red. Vuelva a intentarlo más tarde o contacte a su administrador si se trata de un error.",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
"Account documentation" : "Documentación de la cuenta",
"Administration documentation" : "Documentación de administración",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Nextcloud help & privacy resources" : "Ayuda de Nextcloud y recursos de privacidad",
"General documentation" : "Documentación general",
@@ -737,6 +494,7 @@
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
"Test and verify email settings" : "Probar y verificar la configuración del correo electrónico",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Es importante para la seguridad y rendimiento de su instancia que todo esté correctamente configurado. Para ayudarle en ello estamos haciendo algunas comprobaciones automáticas. Para más información, por favor compruebe la documentación enlazada.",
"All checks passed." : "Pasaron todas las verificaciones. ",
@@ -759,9 +517,6 @@
"The PHP memory limit is below the recommended value of %s." : "El límite de memoria de PHP está por debajo del valor recomendado de %s.",
"for WebAuthn passwordless login" : "para el inicio de sesión sin contraseña de WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "para el inicio de sesión sin contraseña de WebAuthn y el almacenamiento SFTP",
- "Set default expiration date for shares" : "Establecer fecha de caducidad predeterminada para compartidos",
- "Your biography" : "Su biografía",
- "You are using <strong>{usage}</strong>" : "Está usando <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Está usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Establecer fecha de caducidad predeterminada para compartidos"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_NI.js b/apps/settings/l10n/es_NI.js
index a079e9af242..bb8b5119ae1 100644
--- a/apps/settings/l10n/es_NI.js
+++ b/apps/settings/l10n/es_NI.js
@@ -101,42 +101,6 @@ OC.L10N.register(
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -151,55 +115,33 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -214,6 +156,7 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_NI.json b/apps/settings/l10n/es_NI.json
index 53aee7c602f..6ca5d459bc3 100644
--- a/apps/settings/l10n/es_NI.json
+++ b/apps/settings/l10n/es_NI.json
@@ -99,42 +99,6 @@
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -149,55 +113,33 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -212,6 +154,7 @@
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_PA.js b/apps/settings/l10n/es_PA.js
index 3f2e760215b..bb8b5119ae1 100644
--- a/apps/settings/l10n/es_PA.js
+++ b/apps/settings/l10n/es_PA.js
@@ -101,42 +101,6 @@ OC.L10N.register(
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -151,56 +115,33 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -215,6 +156,7 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_PA.json b/apps/settings/l10n/es_PA.json
index 4919eccf8ee..6ca5d459bc3 100644
--- a/apps/settings/l10n/es_PA.json
+++ b/apps/settings/l10n/es_PA.json
@@ -99,42 +99,6 @@
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -149,56 +113,33 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -213,6 +154,7 @@
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_PE.js b/apps/settings/l10n/es_PE.js
index 492f10fe19f..dc32fb7a651 100644
--- a/apps/settings/l10n/es_PE.js
+++ b/apps/settings/l10n/es_PE.js
@@ -100,42 +100,6 @@ OC.L10N.register(
"Actions" : "Acciones",
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -150,56 +114,33 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -214,6 +155,7 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_PE.json b/apps/settings/l10n/es_PE.json
index 7fc994c1cd5..5460330ba42 100644
--- a/apps/settings/l10n/es_PE.json
+++ b/apps/settings/l10n/es_PE.json
@@ -98,42 +98,6 @@
"Actions" : "Acciones",
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -148,56 +112,33 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -212,6 +153,7 @@
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_PR.js b/apps/settings/l10n/es_PR.js
index 3f2e760215b..bb8b5119ae1 100644
--- a/apps/settings/l10n/es_PR.js
+++ b/apps/settings/l10n/es_PR.js
@@ -101,42 +101,6 @@ OC.L10N.register(
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -151,56 +115,33 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -215,6 +156,7 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_PR.json b/apps/settings/l10n/es_PR.json
index 4919eccf8ee..6ca5d459bc3 100644
--- a/apps/settings/l10n/es_PR.json
+++ b/apps/settings/l10n/es_PR.json
@@ -99,42 +99,6 @@
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -149,56 +113,33 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -213,6 +154,7 @@
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_PY.js b/apps/settings/l10n/es_PY.js
index 77b625b06cf..0903ee092d5 100644
--- a/apps/settings/l10n/es_PY.js
+++ b/apps/settings/l10n/es_PY.js
@@ -101,42 +101,6 @@ OC.L10N.register(
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -151,55 +115,32 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -214,6 +155,7 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_PY.json b/apps/settings/l10n/es_PY.json
index d1d464dc2fa..6c96a7a0549 100644
--- a/apps/settings/l10n/es_PY.json
+++ b/apps/settings/l10n/es_PY.json
@@ -99,42 +99,6 @@
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -149,55 +113,32 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -212,6 +153,7 @@
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_SV.js b/apps/settings/l10n/es_SV.js
index 2b01a8a4322..7dbe237ef5a 100644
--- a/apps/settings/l10n/es_SV.js
+++ b/apps/settings/l10n/es_SV.js
@@ -106,44 +106,6 @@ OC.L10N.register(
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Daemon" : "Demonio",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -158,56 +120,33 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca de",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Legal notice" : "Aviso legal",
"SSL" : "SSL",
@@ -223,6 +162,7 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_SV.json b/apps/settings/l10n/es_SV.json
index bf45aa94919..0ef34fe1660 100644
--- a/apps/settings/l10n/es_SV.json
+++ b/apps/settings/l10n/es_SV.json
@@ -104,44 +104,6 @@
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
"Loading" : "Cargando",
- "Daemon" : "Demonio",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Devices & sessions" : "Dispositivos y sesiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -156,56 +118,33 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Delete account" : "Borrar cuenta",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca de",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Legal notice" : "Aviso legal",
"SSL" : "SSL",
@@ -221,6 +160,7 @@
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_UY.js b/apps/settings/l10n/es_UY.js
index 6da1a34b7c8..dc32fb7a651 100644
--- a/apps/settings/l10n/es_UY.js
+++ b/apps/settings/l10n/es_UY.js
@@ -100,42 +100,6 @@ OC.L10N.register(
"Actions" : "Acciones",
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -150,55 +114,33 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -213,6 +155,7 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/es_UY.json b/apps/settings/l10n/es_UY.json
index 5ce26032a55..5460330ba42 100644
--- a/apps/settings/l10n/es_UY.json
+++ b/apps/settings/l10n/es_UY.json
@@ -98,42 +98,6 @@
"Actions" : "Acciones",
"No apps found for your version" : "No se encontraron aplicaciones para tu versión",
"Group name" : "Nombre del grupo",
- "Type" : "Tipo",
- "Display Name" : "Nombre a desplegar",
- "Learn more" : "Conoce más",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descripción",
- "View in store" : "Ver en la tienda",
- "Visit website" : "Visita el sitio web",
- "Admin documentation" : "Documentación del administrador",
- "Developer documentation" : "Documentación del desarrollador",
- "Details" : "Detalles",
- "All" : "Todos",
- "No results" : "No hay resultados",
- "Update to {version}" : "Actualizar a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión mínima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación no cuenta con una versión máxima de Nextcloud asignada. Esto será un error en el futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicación no puede ser instalada porque las siguientes dependencias no están satisfechas:",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Report a bug" : "Reporta un detalle",
- "Request feature" : "Solicitar una funcionalidad",
- "Ask questions or discuss" : "Hacer una pregunta o comentario",
- "Rate" : "Calificar",
- "Changelog" : "Bitácora de cambios",
- "Google Chrome for Android" : "Google Chrome para Android",
- "This session" : "Esta sesión",
- "Allow filesystem access" : "Permitir acceso al sistema de archivos",
- "Rename" : "Renombrar",
- "Revoke" : "Revocar",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividad",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de escritorio y móviles han iniciado sesión en tu cuenta. ",
- "Error while creating device token" : "Se presentó un error al crear la ficha en el dispositivo",
- "App name" : "Nombre de la aplicación",
- "Create new app password" : "Crear una nueva contraseña de aplicación",
"Login" : "Iniciar sesión",
"Password" : "Contraseña",
"Password confirmation is required" : "Se requiere la confirmación de la contraseña",
@@ -148,55 +112,33 @@
"Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
"This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
- "Current password" : "Contraseña actual",
- "New password" : "Nueva contraseña",
- "Change password" : "Cambiar contraseña",
- "Picture provided by original account" : "Imagen proporcionada por la cuenta original ",
- "No email address set" : "No se ha establecido la dirección de correo electrónico",
- "Help translate" : "Ayuda a traducir",
- "Your phone number" : "Su número telefónico",
- "Your website" : "Tu sitio web",
- "Add" : "Agregar",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Borrar",
- "Display name" : "Nombre a desplegar",
- "Email" : "Correo electrónico",
- "Quota" : "Cuota",
- "Language" : "Idioma",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrador del grupo para",
- "Storage location" : "Úbicación del almacenamiento",
- "Last login" : "Último inicio de sesión",
- "Account actions" : "Acciones de la cuenta",
- "{size} used" : "{size} usado",
- "Done" : "Terminado",
- "Edit" : "Editar",
- "Show last login" : "Mostrar último inicio de sesión",
- "Send email" : "Enviar correo electrónico",
- "Default quota" : "Cuota predeterminada",
- "Unnamed device" : "Dispositivo sin nombre",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
- "Admins" : "Administradores",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
"Location" : "Ubicación",
"Profile picture" : "Foto de perfil",
"About" : "Acerca",
"Full name" : "Nombre completo",
+ "Email" : "Correo electrónico",
"Phone number" : "Número de teléfono",
"Website" : "Sitio web",
+ "Language" : "Idioma",
"Your apps" : "Tus aplicaciones",
"Disabled apps" : "Aplicaciones deshabilitadas",
"Updates" : "Actualizaciones",
"App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
+ "Update to {version}" : "Actualizar a {version}",
"Disable" : "Deshabilitar",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconocido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
"Error" : "Error",
+ "Default quota" : "Cuota predeterminada",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"SSL" : "SSL",
"Open documentation" : "Abrir documentación",
@@ -211,6 +153,7 @@
"Credentials" : "Credenciales",
"SMTP Password" : "Contraseña SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar correo electrónico",
"Security & setup warnings" : "Advertencias de seguridad y configuración",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud {linkclose}, el {githubopen}código fuente {linkclose} está licenciado bajo {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/et_EE.js b/apps/settings/l10n/et_EE.js
index 82324a67341..a6738ee6a79 100644
--- a/apps/settings/l10n/et_EE.js
+++ b/apps/settings/l10n/et_EE.js
@@ -203,6 +203,7 @@ OC.L10N.register(
"Enable" : "Lülita sisse",
"Machine translation" : "Masintõlge",
"Image generation" : "Pildiloome",
+ "Text processing" : "Tekstitöötlus",
"Here you can decide which group can access certain sections of the administration settings." : "Siinkohal saad sa otsustada mis gruppidel on ligipääs valitud haldusseadistustele.",
"Unable to modify setting" : "Seadistuse muutmine ei õnnestu",
"None" : "Pole",
@@ -223,7 +224,9 @@ OC.L10N.register(
"Allow sharing for everyone (default)" : "Luba jagamine kõikidele (vaikimisi)",
"Exclude some groups from sharing" : "Välista mõned grupid jagamisest",
"Limit sharing to some groups" : "Piira jagamist mõnede gruppidega",
+ "Groups allowed to share" : "Grupid, millel on jagamine lubatud",
"Groups excluded from sharing" : "Jagamisest välistatud grupid",
+ "Not allowed groups will still be able to receive shares, but not to initiate them." : "Mittelubatud gruppide liikmed saavad vastu võtta jagamisi, kuid ise jagamisi algatada ei saa.",
"Set default expiration date for internal shares" : "Jagamisel selle serveri piires kasuta vaikimisi aegumist",
"Enforce expiration date" : "Sunnitud aegumise kuupäev",
"Default expiration time of new shares in days" : "Uue jaosmeedia vaikimisi aegumine päevades",
@@ -250,6 +253,7 @@ OC.L10N.register(
"Excluded groups" : "Välistatud neis gruppides",
"Save changes" : "Salvesta muudatused",
"Show details for {appName} app" : "Näita „{appName}“ rakenduse üksikasju",
+ "Update to {update}" : "Uuenda versioonini {update}",
"Remove" : "Eemalda",
"Featured" : "Esiletõstetud",
"This app is supported via your current Nextcloud subscription." : "See rakendus on toetatud sinu praeguses Nextcloudi tellimuses. ",
@@ -276,90 +280,12 @@ OC.L10N.register(
"Search groups…" : "Otsi gruppe…",
"List of groups. This list is not fully populated for performance reasons. The groups will be loaded as you navigate or search through the list." : "Gruppide loend. Jõudluse mõttes ei ole kogu loend esimesel hetkel tervikuna nähtav. Uued grupid lisanduvad sedamööda, kui sa loendis edasi liigud.",
"Loading groups…" : "Laadin gruppe…",
- "Loading" : "Laadimine",
+ "Could not load app discover section" : "Rakenduse tuvastamise jaotise laadimine ei õnnestunud",
+ "Could not render element" : "Elemendi töötlemine ei õnnestunud",
+ "Nothing to show" : "Pole midagi näidata",
+ "Could not load section content from app store." : "Jaotise sisu laadimine rakendustepoest ei õnnestunud.",
+ "Loading" : "Laadin",
"Fetching the latest news…" : "Laadin viimaseid uuendusi",
- "Carousel" : "Karussell",
- "Previous slide" : "Eelmine slaid",
- "Next slide" : "Järgmine slaid",
- "Choose slide to display" : "Vali kuvatav slaid",
- "{index} of {total}" : "{index} / {total}",
- "Deploy Daemon" : "Kasutuselevõtmise taustateenus",
- "Type" : "Tüüp",
- "Display Name" : "Kuvatav nimi",
- "Advanced deploy options" : "Kasutuselevõtmise lisavalikud",
- "Edit ExApp deploy options before installation" : "Muuda ExApp konteineri seadistuse enne paigaldamist",
- "Configured ExApp deploy options. Can be set only during installation" : "ExApp'i konteineri seadistuse valikud. Neid saab määrata vaid paigalduse ajal",
- "Learn more" : "Lisateave",
- "Environment variables" : "Keskonnamuutujad",
- "ExApp container environment variables" : "ExApp konteineri keskonnamuutujad",
- "No environment variables defined" : "Ühtegi keskonnamuutujat pole defineeritud",
- "Mounts" : "Haakepunktid",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Enne ExAppi paigaldamist peab ta olema leitav kasutuselevõtmise taustateenuses",
- "Container path" : "Konteineri asukoht",
- "Read-only" : "Ainult lugemiseks",
- "Remove mount" : "Eemalda haakepunkt",
- "New mount" : "Uus haakepunkt",
- "Enter path to host folder" : "Sisesta peremeeskausta asukoht",
- "Enter path to container folder" : "Sisesta konteinerikausta asukoht",
- "Toggle read-only mode" : "Lülita „ainult lugemiseks“ režiim sisse/välja",
- "Confirm adding new mount" : "Kinnita uue haakepunkti lisamine",
- "Confirm" : "Kinnita",
- "Cancel adding mount" : "Katkesta haakepunkti lisamine",
- "Cancel" : "Loobu",
- "Add mount" : "Lisa haakepunkt",
- "ExApp container mounts" : "ExApp konteinerite haakepunktid",
- "No mounts defined" : "Ühtegi haakepunkti pole määratletud",
- "Description" : "Kirjeldus",
- "View in store" : "Vaata poes",
- "Visit website" : "Külasta veebisaiti",
- "Admin documentation" : "Administraatori dokumentatsioon",
- "Developer documentation" : "Arendaja dokumentatsioon",
- "Details" : "Üksikasjad",
- "All" : "Kõik",
- "Limit app usage to groups" : "Piira rakenduse kasutamist gruppidega",
- "No results" : "Vasteid ei leitud",
- "Update to {version}" : "Uuenda versioonile {version}",
- "Deploy options" : "Kasutuselevõtmise valikud",
- "Default Deploy daemon is not accessible" : "Kasutuselevõtmise taustateenus pole leitav",
- "Delete data on remove" : "Eemaldamisel kustuta andmed",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Sellel rakendusel pole määratud minimaalset Nextcloudi versiooni. See põhjustab tulevikus veateateid.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Sellel rakendusel pole määratud maksimaalset Nextcloudi versiooni. See põhjustab tulevikus veateateid.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Seda rakendust ei saa paigaldada, sest järgmised sõltuvusel ei ole täidetud:",
- "Latest updated" : "Viimati uuendatud",
- "Author" : "Autor",
- "Categories" : "Kategooriad",
- "Resources" : "Ressursid",
- "Documentation" : "Dokumentatsioon",
- "Report a bug" : "Teata veast",
- "Request feature" : "Palu arendajatel funktsionaalsuse lisamist",
- "Ask questions or discuss" : "Küsi nõu või aruta",
- "Rate the app" : "Hinda rakendust",
- "Rate" : "Hinda",
- "Changelog" : "Muudatuste logi",
- "Google Chrome for Android" : "Google Chrome for Android",
- "{productName} iOS app" : "{productName}i iOS-i rakendus",
- "{productName} Android app" : "{productName}i Androidi rakendus",
- "{productName} Talk for iOS" : "{productName} Talk iOS-i jaoks",
- "{productName} Talk for Android" : "{productName} Talk Androidi jaoks",
- "Sync client" : "Sünkroniseerimisklient",
- "This session" : "See sessioon",
- "Device name" : "Seadme nimi",
- "Cancel renaming" : "Katkesta nime muutmine",
- "Save new name" : "Salvesta uus nimi",
- "Marked for remote wipe" : "Märgitud kaugkustutamisele",
- "Device settings" : "Seadme seaded",
- "Allow filesystem access" : "Luba juurdepääs failisüsteemile",
- "Rename" : "Muuda nime",
- "Revoke" : "Tühista",
- "Wipe device" : "Kaugkustuta seade",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Selle tunnusloa tühistamine võib katkestada sinu seadme kaugkustutamise, kui kustutamine pole veel alanud.",
- "Device" : "Seade",
- "Last activity" : "Viimane tegevus",
- "Devices & sessions" : "Seadmed & sessioonid",
- "Web, desktop and mobile clients currently logged in to your account." : "Sinu kontole hetkel sisse loginud veebi-, töölaua-, ja mobiilsed kliendid.",
- "Error while creating device token" : "Tõrge seadme märke loomisel",
- "App name" : "Rakenduse nimi",
- "Create new app password" : "Loo uus rakenduse salasõna",
"App password copied!" : "Rakenduse salasõna on kopeeritud!",
"Copy app password" : "Kopeeri rakenduse salasõna",
"Login name copied!" : "Kasutajanimi on koeeritud!",
@@ -373,6 +299,12 @@ OC.L10N.register(
"Show QR code for mobile apps" : "Näita QR-koodi nutiseadmete rakenduste jaoks",
"Last job execution ran {time}. Something seems wrong." : "Viimane käivitus kestis {time}. See pole päris õige.",
"Last job ran {relativeTime}." : "Viimane käivitus kestis {relativeTime}.",
+ "Background job did not run yet!" : "Taustal töötav ülesanne pole veel käivitunud!",
+ "AJAX" : "AJAX",
+ "Execute one task with each page loaded. Use case: Single account instance." : "Käivita igal lehe laadimisel üks ülesanne. Kasutusjuhtum: ühe kasutajakontoga server.",
+ "Webcron" : "Webcron",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 accounts depending on the usage)." : "cron.php on registreeritud webcroni teenuses käivitama cron.php skripti HTTP-päringuga iga 5 minuti järel. Kasutusjuhtum: väga väike server (sõltuvalt kasutusviisist 1–5 kontot).",
+ "Cron (Recommended)" : "Cron (Soovitatav)",
"Unable to update profile default setting" : "Profiili vaikimisi seadistuste uuendamine ei õnnestu",
"Profile" : "Profiil",
"Password confirmation is required" : "Salasõna kinnitamine on vajalik",
@@ -399,190 +331,11 @@ OC.L10N.register(
"Failed to delete group \"{group}\"" : "„{group}“ grupi eemaldamine ei õnnestunud",
"Please confirm the group removal" : "Palun kinnita grupi eemaldamine",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Sa oled eemaldamas gruppi „{group}“. Selles grupis olevad kasutajad aga JÄÄVAD kustutamata.",
+ "Cancel" : "Loobu",
+ "Confirm" : "Kinnita",
"Submit" : "Saada",
"Rename group" : "Muuda grupi nime",
"Delete group" : "Kustuta grupp",
- "Current password" : "Praegune salasõna",
- "New password" : "Uus salasõna",
- "Change password" : "Muuda salasõna",
- "Choose your profile picture" : "Vali oma tunnuspilt",
- "Please select a valid png or jpg file" : "Palun vali korrektne png või jpg fail",
- "Error setting profile picture" : "Viga tunnuspildi jõustamisel",
- "Error cropping profile picture" : "Viga tunnuspildi kadreerimisel",
- "Error saving profile picture" : "Viga tunnuspildi salvestamisel",
- "Error removing profile picture" : "Viga tunnuspildi eemaldamisel",
- "Your profile picture" : "Sinu tunnuspilt",
- "Upload profile picture" : "Laadi tunnuspilt üles",
- "Choose profile picture from Files" : "Vali oma tunnuspilt failirakendusest",
- "Remove profile picture" : "Eemalda tunnuspilt",
- "The file must be a PNG or JPG" : "Fail peab olema png või jpg vormingus",
- "Picture provided by original account" : "Pilt esitatud originaalse konto poolt",
- "Set as profile picture" : "Määra tunnuspildiks",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Palun arvesta, et võib kuluda kuni 24 tundi enne, kuni sinu uus tunnuspilt on kõikjal uuendatud.",
- "Your biography. Markdown is supported." : "Teave sinu kohta. Võid kasutada ka markdown-vormingut.",
- "Enter your date of birth" : "Palun sisesta sünnikuupäev",
- "You are using {s}{usage}{/s}" : "Sa kasutad: {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Sa kasutad: {s}{usage}{/s} / {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Sa oled nende gruppide liige:",
- "Your full name" : "Sinu täispikk nimi",
- "Email options" : "E-posti valikud",
- "Remove primary email" : "Eemalda põhiline e-postiaadress",
- "Delete email" : "Kustuta e-posti aadress",
- "This address is not confirmed" : "See aadress pole kinnitatud",
- "Unset as primary email" : "Eemalda määramine põhiliseks e-postiaadressiks",
- "Set as primary email" : "Määra põhiliseks e-postiaadressiks",
- "Additional email address {index}" : "Täiendav e-posti aadress {index}",
- "Unable to delete primary email address" : "Ei õnnestunud eemaldada põhilist e-postiaadressi",
- "Unable to update primary email address" : "Ei õnnestunud uuendada põhilist e-postiaadressi",
- "Unable to add additional email address" : "Ei õnnestunud laadida täiendavat e-posti aadressi",
- "Unable to update additional email address" : "Ei õnnestunud uuendada täiendavat e-posti aadressi",
- "Unable to delete additional email address" : "Ei õnnestunud kustutada täiendavat e-posti aadressi",
- "Primary email for password reset and notifications" : "Põhiline e-postiaadress salasõna lähtestamiseks ja teavituste jaoks",
- "No email address set" : "E-posti aadressi pole veel määratud",
- "Your handle" : "Sinu pseudonüüm",
- "Derived from your locale ({weekDayName})" : "Tuletatud lokaadist ({weekDayName})",
- "Unable to update first day of week" : "Nädala esimese päeva uuendamine ei õnnestu",
- "Day to use as the first day of week" : "Nädala esimene päev",
- "Your headline" : "Sind kirjeldav alapealkiri",
- "Unable to update language" : "Keele uuendamine ei õnnestu",
- "Languages" : "Keeled",
- "Help translate" : "Aita tõlkida",
- "No language set" : "Keel on määramata",
- "Unable to update locale" : "Lokaadi uuendamine ei õnnestu",
- "Locales" : "Lokaadid",
- "Week starts on {firstDayOfWeek}" : "Nädala esimene päev: {firstDayOfWeek}",
- "No locale set" : "Lokaat on määramata",
- "Your city" : "Sinu asukoht",
- "Your organisation" : "Sinu organisatsioon",
- "Your phone number" : "Sinu telefoninumber",
- "Edit your Profile visibility" : "Muuda oma profiili nähtavust",
- "Unable to update profile enabled state" : "Profiili kasutuseloleku uuendamine ei õnnestu",
- "Unable to update visibility of {displayId}" : "„{displayId}“ nähtavust polnud võimalik uuendada",
- "Your role" : "Sinu roll",
- "Your X (formerly Twitter) handle" : "Sinu X-i (varasemalt Twitteri) kasutajanimi",
- "Your website" : "Sinu veebileht",
- "Invalid value" : "Vigane väärtus",
- "Unable to update {property}" : "„{property}“ uuendamine ei õnnestu",
- "No {property} set" : "„{property}“ on määramata",
- "Add additional email" : "Lisa täiendav e-posti aadress",
- "Add" : "Lisa",
- "Create" : "Loo",
- "Change" : "Muuda",
- "Delete" : "Kustuta",
- "Reshare" : "Jaga edasi",
- "Default language" : "Vaikekeel",
- "Common languages" : "Levinud keeled",
- "Other languages" : "Muud keeled",
- "Password change is disabled because the master key is disabled" : "Salasõna muutmine on lülitatud välja, kuna ka peremeesvõti on lülitatud välja",
- "No accounts" : "Kasutajakontosid pole",
- "Loading accounts …" : "Kontode laadimine ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Kasutajakontode loend. Jõudluse mõttes ei ole kogu loend esimesel hetkel tervikuna nähtav. Uued kasutajakontid lisanduvad sedamööda, kui sa loendis edasi liigud.",
- "Manager" : "Haldaja",
- "Account name will be autogenerated" : "Kasutajakonto nimi luuakse automaatselt",
- "Account name (required)" : "Kasutajakonto nimi (nõutav)",
- "Failed to search groups" : "Gruppe ei õnnestunud otsida",
- "New account" : "Uus kasutajakonto",
- "Display name" : "Kuvatav nimi",
- "Either password or email is required" : "Kas salasõna või e-posti aadress on kohustuslik",
- "Password (required)" : "Salasõna (nõutav)",
- "Email (required)" : "E-posti aadress (nõutav)",
- "Email" : "E-post",
- "Member of the following groups (required)" : "Järgmiste gruppide liige (nõutav)",
- "Member of the following groups" : "Järgmiste gruppide liige",
- "Set account groups" : "Määra kasutajakonto grupid",
- "Admin of the following groups" : "Järgmiste gruppide peakasutaja",
- "Set account as admin for …" : "Määra kasutajakonto peakasutajaks siin:",
- "Quota" : "Mahupiir",
- "Set account quota" : "Määra kasutajakonto kvoot",
- "Language" : "Keel",
- "Set default language" : "Määra vaikimisi keel",
- "Add new account" : "Lisa uus kasutajakonto",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} kasutajakonto…","{userCount} kasutajakontot…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} kasutajakonto","{userCount} kasutajakontot"],
- "Total rows summary" : "Ridade koondkokkuvõte",
- "Scroll to load more rows" : "Täiendavate ridade laadimiseks keri",
- "Password or insufficient permissions message" : "Teavitus salasõna või puuduvate õiguste kohta",
- "Avatar" : "Tunnuspilt ehk avatar",
- "Account name" : "Kasutajakonto nimi",
- "Group admin for" : "Grupi admin",
- "Account backend" : "Kasutajakonto taustateenus",
- "Storage location" : "Salvestusruumi asukoht",
- "First login" : "Esimene sisselogimine",
- "Last login" : "Viimane sisselogimine",
- "Account actions" : "Kasutajakonto tegevused",
- "{size} used" : "{size} kasutatud",
- "Delete account" : "Kustuta konto",
- "Disconnect all devices and delete local data" : "Katkesta ühendused kõikide seadmetega ja kustuta kohalikud andmed",
- "Disable account" : "Lülita kasutajakonto välja",
- "Enable account" : "Lülita kasutajakonto sisse",
- "Resend welcome email" : "Saada tervituskiri uuesti",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Kas seadme kadumisel või organisatsioonist lahkumisel on võimalik kaugkustutamise abil kustutada Nextcloudi andmed kõikidest „{userid}“ kasutaja seadmetest. Loomulikult toimib see vaid siis, kui vastav seade on ühendatud internetiga.",
- "Remote wipe of devices" : "Seadmete kaugkustutamine",
- "Wipe {userid}'s devices" : "Kaugkustuta kasutaja „{userid}“ seadmed",
- "Wiped {userid}'s devices" : "Kasutaja „{userid}“ seadmed on kaugkustutatud",
- "Failed to load groups with details" : "Gruppe koos üksikasjadega ei õnnestunud laadida",
- "Failed to load sub admin groups with details" : "Alamgruppe koos üksikasjadega ei õnnestunud laadida",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Kustuta „{userid}“ kasutajakonto täis mahus, sealhulgas tema isiklikud failid, rakenduste andmed ja muud.",
- "Account deletion" : "Kasutajakonto kustutamine",
- "Delete {userid}'s account" : "Kustuta kasutajakonto: „{userid}“",
- "Display name was successfully changed" : "Kuvatava nime muutmine õnnestus",
- "Password can't be empty" : "Salasõna ei saa olla tühi",
- "Password was successfully changed" : "Salasõna muutmine õnnestus",
- "Email can't be empty" : "E-posti aadress ei saa olla tühi",
- "Email was successfully changed" : "E-posti aadressi muutmine õnnestus",
- "Welcome mail sent!" : "Tervituskiri on saadetud!",
- "Loading account …" : "Laadin kasutajakontot…",
- "Change display name" : "Muuda kuvatavat nime",
- "Set new password" : "Määra uus salasõna",
- "Set new email address" : "Sisesta uus e-posti aadress",
- "Add account to group" : "Lisa kasutajakonto gruppi",
- "Set account as admin for" : "Määra kasutajakonto peakasutajaks siin:",
- "Select account quota" : "Määra kasutajakonto kvoot",
- "Set the language" : "Vali keel",
- "Toggle account actions menu" : "Lülita kasutajakonto tegevuste menüü sisse/välja",
- "Done" : "Valmis",
- "Edit" : "Muuda",
- "Account management settings" : "Kasutajakontode halduse seadistused",
- "Visibility" : "Nähtavus",
- "Show language" : "Näita keelt",
- "Show account backend" : "Näita kasutajakonto taustateenust",
- "Show storage path" : "Näita andmeruumi asukohta",
- "Show first login" : "Näita esimest sisselogimist",
- "Show last login" : "Näita viimast sisselogimist",
- "Sorting" : "Järjestus",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Süsteem seadistus kasutab gruppide järjestamist nime alusel. Muu hulgas see ei võimalda liikmete arvu näitamist.",
- "Group list sorting" : "Rühmade loendi järjestus",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Jõudluse mõttes kehtib järjestus vaid hetkel laaditud gruppidele. Uued grupid lisanduvad sedamööda, kuidas sa loendis edasi liigud.",
- "By member count" : "Liikmete arvu alusel",
- "By name" : "Nime alusel",
- "Send email" : "Saada kiri",
- "Send welcome email to new accounts" : "Saada uutele kasutajatele tervituskiri",
- "Defaults" : "Vaikeväärtused",
- "Default quota" : "Vaikimisi mahupiir",
- "Select default quota" : "Vali vaikimisi andmemahu piir",
- "Server error while trying to complete WebAuthn device registration" : "Serveriviga WebAuthn seadme registreerimise lõpetamisel",
- "Passwordless authentication requires a secure connection." : "Salasõnata autentimine eeldab turvalise võrguühenduse kasutamist.",
- "Add WebAuthn device" : "Lisa WebAuthni kasutav seade",
- "Please authorize your WebAuthn device." : "Palun anna luba oma WebAuthn seadme kasutamiseks",
- "Adding your device …" : "Lisan sinu seadet…",
- "Unnamed device" : "Nimetu seade",
- "Passwordless Authentication" : "Salasõnata autentimine",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Seadista oma kasutajakonto jaoks salasõnata autentimine, mis põhineb FIDO2 standardil.",
- "No devices configured." : "Ühtegi seadet pole seadistatud.",
- "The following devices are configured for your account:" : "Järgmised seadmed on seadistatud kasutama sinu kontot:",
- "Your browser does not support WebAuthn." : "Sinu veebibrauseril puudub WebAuthni tugi.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Administraatorina saad jagamise valikuid täpselt seadistada. Lisateavet leiad dokumentatsioonist.",
- "You need to enable the File sharing App." : "Sa pead kasutusele võtma Failijagamise rakenduse.",
- "App Store" : "Rakendustepood",
- "Loading app list" : "Laadin rakenduste loendit",
- "Loading categories" : "Laadin kategooriaid",
- "Developer documentation ↗" : "Dokumentatsioon arendajatele ↗",
- "Version {version}, {license}-licensed" : "Versioon {version}, avaldatud {license} litsentsi alusel",
- "Version {version}" : "Versioon {version}",
- "All accounts" : "Kõik kasutajakontod",
- "Admins" : "Haldurid",
- "Account group: {group}" : "Kasutajakontode grupp: {group}",
- "Account management" : "Kasutajakontode haldus",
"Sending…" : "Saadan...",
"Email sent" : "E-kiri on saadetud",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Kui võtad Nextcloudi serveris krüptimise kasutsele, siis jõudlusest johtuvalt krüptitakse vaid uusi ja muudetud faile.",
@@ -592,6 +345,7 @@ OC.L10N.register(
"Date of birth" : "Sünnikuupäev",
"Full name" : "Täielik nimi",
"Additional email" : "Täiendav e-post",
+ "Email" : "E-post",
"Fediverse (e.g. Mastodon)" : "Fediverse (nt. Mastodon)",
"Headline" : "Alapealkiri",
"Organisation" : "Organisatsioon",
@@ -601,6 +355,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (varasemalt Twitter)",
"Website" : "Veebileht",
"Profile visibility" : "Profiili nähtavus",
+ "Language" : "Keel",
"Locale" : "Kasutuskoht",
"First day of week" : "Nädala esimene päev",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Pole saadaval, sest see omadus on vajalik tuumikfunktsionaalsuse jaoks, sh failide jagamine ja kalendrikutsed",
@@ -618,11 +373,13 @@ OC.L10N.register(
"Show to logged in accounts only" : "Näita vaid sisseloginud kasutajatele",
"Hide" : "Peida",
"Manually installed apps cannot be updated" : "Käsitsi paigaldatud rakendusi ei saa uuendada",
+ "Update to {version}" : "Uuenda versioonile {version}",
"{progress}% Deploying …" : "Võtan kasutusele {progress}%…",
"Deploy and Enable" : "Võta kasutusele ja lülita sisse",
"Disable" : "Lülita välja",
"Allow untested app" : "Luba testimata rakenduse kasutamine",
"The app will be downloaded from the App Store" : "See rakendus laaditakse alla App Store'ist",
+ "{size} used" : "{size} kasutatud",
"Unknown" : "Teadmata",
"Never" : "Mitte kunagi",
"Could not register device: Network error" : "Seadme registreerimine polnud võimalik: võrguühenduse viga",
@@ -633,8 +390,10 @@ OC.L10N.register(
"Confirm wipe" : "Kinnita kaugkustutamine",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Sinu võrgust tuli liiga palju päringuid. Proovi hiljem uuesti, või võta ühendust administraatoriga, kui tegu on veaga.",
"Error" : "Viga",
+ "Default quota" : "Vaikimisi mahupiir",
"Account documentation" : "Kasutajakonto juhendid",
"Administration documentation" : "Süsteemihalduse juhendid",
+ "Documentation" : "Dokumentatsioon",
"Forum" : "Foorum",
"General documentation" : "Üldjuhendid",
"Legal notice" : "Juriidiline teave",
@@ -654,6 +413,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP salasõna",
"Save" : "Salvesta",
"Test and verify email settings" : "Testi ja kontrolli e-posti seadistusi",
+ "Send email" : "Saada kiri",
"Security & setup warnings" : "Turva- ja paigalduse hoiatused",
"All checks passed." : "Kõik kontrollid on läbitud.",
"Reasons to use Nextcloud in your organization" : "Põhjused, miks peaksid Nextcloudi kasutama oma organisatsioonis",
@@ -666,10 +426,6 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "PHP mälukasutuse ülempiir on väiksem, kui soovitatav %s.",
"for WebAuthn passwordless login" : "WebAuthn salasõnata sisselogimise jaoks",
"for WebAuthn passwordless login, and SFTP storage" : "WebAuthn salasõnata sisselogimise ja SFTP andmeruumi jaoks",
- "Set default expiration date for shares" : "Määra jaosmeedia vaikimisi aegumiskuupäev",
- "Your biography" : "Sinu elulugu",
- "You are using <strong>{usage}</strong>" : "Sa kasutad: <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Sa kasutad: <strong>{usage}</strong> / <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Alamgruppe koos üksikasjadega ei õnnestunud laadida"
+ "Set default expiration date for shares" : "Määra jaosmeedia vaikimisi aegumiskuupäev"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/et_EE.json b/apps/settings/l10n/et_EE.json
index d23ba11a232..9af5f5e59ca 100644
--- a/apps/settings/l10n/et_EE.json
+++ b/apps/settings/l10n/et_EE.json
@@ -201,6 +201,7 @@
"Enable" : "Lülita sisse",
"Machine translation" : "Masintõlge",
"Image generation" : "Pildiloome",
+ "Text processing" : "Tekstitöötlus",
"Here you can decide which group can access certain sections of the administration settings." : "Siinkohal saad sa otsustada mis gruppidel on ligipääs valitud haldusseadistustele.",
"Unable to modify setting" : "Seadistuse muutmine ei õnnestu",
"None" : "Pole",
@@ -221,7 +222,9 @@
"Allow sharing for everyone (default)" : "Luba jagamine kõikidele (vaikimisi)",
"Exclude some groups from sharing" : "Välista mõned grupid jagamisest",
"Limit sharing to some groups" : "Piira jagamist mõnede gruppidega",
+ "Groups allowed to share" : "Grupid, millel on jagamine lubatud",
"Groups excluded from sharing" : "Jagamisest välistatud grupid",
+ "Not allowed groups will still be able to receive shares, but not to initiate them." : "Mittelubatud gruppide liikmed saavad vastu võtta jagamisi, kuid ise jagamisi algatada ei saa.",
"Set default expiration date for internal shares" : "Jagamisel selle serveri piires kasuta vaikimisi aegumist",
"Enforce expiration date" : "Sunnitud aegumise kuupäev",
"Default expiration time of new shares in days" : "Uue jaosmeedia vaikimisi aegumine päevades",
@@ -248,6 +251,7 @@
"Excluded groups" : "Välistatud neis gruppides",
"Save changes" : "Salvesta muudatused",
"Show details for {appName} app" : "Näita „{appName}“ rakenduse üksikasju",
+ "Update to {update}" : "Uuenda versioonini {update}",
"Remove" : "Eemalda",
"Featured" : "Esiletõstetud",
"This app is supported via your current Nextcloud subscription." : "See rakendus on toetatud sinu praeguses Nextcloudi tellimuses. ",
@@ -274,90 +278,12 @@
"Search groups…" : "Otsi gruppe…",
"List of groups. This list is not fully populated for performance reasons. The groups will be loaded as you navigate or search through the list." : "Gruppide loend. Jõudluse mõttes ei ole kogu loend esimesel hetkel tervikuna nähtav. Uued grupid lisanduvad sedamööda, kui sa loendis edasi liigud.",
"Loading groups…" : "Laadin gruppe…",
- "Loading" : "Laadimine",
+ "Could not load app discover section" : "Rakenduse tuvastamise jaotise laadimine ei õnnestunud",
+ "Could not render element" : "Elemendi töötlemine ei õnnestunud",
+ "Nothing to show" : "Pole midagi näidata",
+ "Could not load section content from app store." : "Jaotise sisu laadimine rakendustepoest ei õnnestunud.",
+ "Loading" : "Laadin",
"Fetching the latest news…" : "Laadin viimaseid uuendusi",
- "Carousel" : "Karussell",
- "Previous slide" : "Eelmine slaid",
- "Next slide" : "Järgmine slaid",
- "Choose slide to display" : "Vali kuvatav slaid",
- "{index} of {total}" : "{index} / {total}",
- "Deploy Daemon" : "Kasutuselevõtmise taustateenus",
- "Type" : "Tüüp",
- "Display Name" : "Kuvatav nimi",
- "Advanced deploy options" : "Kasutuselevõtmise lisavalikud",
- "Edit ExApp deploy options before installation" : "Muuda ExApp konteineri seadistuse enne paigaldamist",
- "Configured ExApp deploy options. Can be set only during installation" : "ExApp'i konteineri seadistuse valikud. Neid saab määrata vaid paigalduse ajal",
- "Learn more" : "Lisateave",
- "Environment variables" : "Keskonnamuutujad",
- "ExApp container environment variables" : "ExApp konteineri keskonnamuutujad",
- "No environment variables defined" : "Ühtegi keskonnamuutujat pole defineeritud",
- "Mounts" : "Haakepunktid",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Enne ExAppi paigaldamist peab ta olema leitav kasutuselevõtmise taustateenuses",
- "Container path" : "Konteineri asukoht",
- "Read-only" : "Ainult lugemiseks",
- "Remove mount" : "Eemalda haakepunkt",
- "New mount" : "Uus haakepunkt",
- "Enter path to host folder" : "Sisesta peremeeskausta asukoht",
- "Enter path to container folder" : "Sisesta konteinerikausta asukoht",
- "Toggle read-only mode" : "Lülita „ainult lugemiseks“ režiim sisse/välja",
- "Confirm adding new mount" : "Kinnita uue haakepunkti lisamine",
- "Confirm" : "Kinnita",
- "Cancel adding mount" : "Katkesta haakepunkti lisamine",
- "Cancel" : "Loobu",
- "Add mount" : "Lisa haakepunkt",
- "ExApp container mounts" : "ExApp konteinerite haakepunktid",
- "No mounts defined" : "Ühtegi haakepunkti pole määratletud",
- "Description" : "Kirjeldus",
- "View in store" : "Vaata poes",
- "Visit website" : "Külasta veebisaiti",
- "Admin documentation" : "Administraatori dokumentatsioon",
- "Developer documentation" : "Arendaja dokumentatsioon",
- "Details" : "Üksikasjad",
- "All" : "Kõik",
- "Limit app usage to groups" : "Piira rakenduse kasutamist gruppidega",
- "No results" : "Vasteid ei leitud",
- "Update to {version}" : "Uuenda versioonile {version}",
- "Deploy options" : "Kasutuselevõtmise valikud",
- "Default Deploy daemon is not accessible" : "Kasutuselevõtmise taustateenus pole leitav",
- "Delete data on remove" : "Eemaldamisel kustuta andmed",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Sellel rakendusel pole määratud minimaalset Nextcloudi versiooni. See põhjustab tulevikus veateateid.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Sellel rakendusel pole määratud maksimaalset Nextcloudi versiooni. See põhjustab tulevikus veateateid.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Seda rakendust ei saa paigaldada, sest järgmised sõltuvusel ei ole täidetud:",
- "Latest updated" : "Viimati uuendatud",
- "Author" : "Autor",
- "Categories" : "Kategooriad",
- "Resources" : "Ressursid",
- "Documentation" : "Dokumentatsioon",
- "Report a bug" : "Teata veast",
- "Request feature" : "Palu arendajatel funktsionaalsuse lisamist",
- "Ask questions or discuss" : "Küsi nõu või aruta",
- "Rate the app" : "Hinda rakendust",
- "Rate" : "Hinda",
- "Changelog" : "Muudatuste logi",
- "Google Chrome for Android" : "Google Chrome for Android",
- "{productName} iOS app" : "{productName}i iOS-i rakendus",
- "{productName} Android app" : "{productName}i Androidi rakendus",
- "{productName} Talk for iOS" : "{productName} Talk iOS-i jaoks",
- "{productName} Talk for Android" : "{productName} Talk Androidi jaoks",
- "Sync client" : "Sünkroniseerimisklient",
- "This session" : "See sessioon",
- "Device name" : "Seadme nimi",
- "Cancel renaming" : "Katkesta nime muutmine",
- "Save new name" : "Salvesta uus nimi",
- "Marked for remote wipe" : "Märgitud kaugkustutamisele",
- "Device settings" : "Seadme seaded",
- "Allow filesystem access" : "Luba juurdepääs failisüsteemile",
- "Rename" : "Muuda nime",
- "Revoke" : "Tühista",
- "Wipe device" : "Kaugkustuta seade",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Selle tunnusloa tühistamine võib katkestada sinu seadme kaugkustutamise, kui kustutamine pole veel alanud.",
- "Device" : "Seade",
- "Last activity" : "Viimane tegevus",
- "Devices & sessions" : "Seadmed & sessioonid",
- "Web, desktop and mobile clients currently logged in to your account." : "Sinu kontole hetkel sisse loginud veebi-, töölaua-, ja mobiilsed kliendid.",
- "Error while creating device token" : "Tõrge seadme märke loomisel",
- "App name" : "Rakenduse nimi",
- "Create new app password" : "Loo uus rakenduse salasõna",
"App password copied!" : "Rakenduse salasõna on kopeeritud!",
"Copy app password" : "Kopeeri rakenduse salasõna",
"Login name copied!" : "Kasutajanimi on koeeritud!",
@@ -371,6 +297,12 @@
"Show QR code for mobile apps" : "Näita QR-koodi nutiseadmete rakenduste jaoks",
"Last job execution ran {time}. Something seems wrong." : "Viimane käivitus kestis {time}. See pole päris õige.",
"Last job ran {relativeTime}." : "Viimane käivitus kestis {relativeTime}.",
+ "Background job did not run yet!" : "Taustal töötav ülesanne pole veel käivitunud!",
+ "AJAX" : "AJAX",
+ "Execute one task with each page loaded. Use case: Single account instance." : "Käivita igal lehe laadimisel üks ülesanne. Kasutusjuhtum: ühe kasutajakontoga server.",
+ "Webcron" : "Webcron",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 accounts depending on the usage)." : "cron.php on registreeritud webcroni teenuses käivitama cron.php skripti HTTP-päringuga iga 5 minuti järel. Kasutusjuhtum: väga väike server (sõltuvalt kasutusviisist 1–5 kontot).",
+ "Cron (Recommended)" : "Cron (Soovitatav)",
"Unable to update profile default setting" : "Profiili vaikimisi seadistuste uuendamine ei õnnestu",
"Profile" : "Profiil",
"Password confirmation is required" : "Salasõna kinnitamine on vajalik",
@@ -397,190 +329,11 @@
"Failed to delete group \"{group}\"" : "„{group}“ grupi eemaldamine ei õnnestunud",
"Please confirm the group removal" : "Palun kinnita grupi eemaldamine",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Sa oled eemaldamas gruppi „{group}“. Selles grupis olevad kasutajad aga JÄÄVAD kustutamata.",
+ "Cancel" : "Loobu",
+ "Confirm" : "Kinnita",
"Submit" : "Saada",
"Rename group" : "Muuda grupi nime",
"Delete group" : "Kustuta grupp",
- "Current password" : "Praegune salasõna",
- "New password" : "Uus salasõna",
- "Change password" : "Muuda salasõna",
- "Choose your profile picture" : "Vali oma tunnuspilt",
- "Please select a valid png or jpg file" : "Palun vali korrektne png või jpg fail",
- "Error setting profile picture" : "Viga tunnuspildi jõustamisel",
- "Error cropping profile picture" : "Viga tunnuspildi kadreerimisel",
- "Error saving profile picture" : "Viga tunnuspildi salvestamisel",
- "Error removing profile picture" : "Viga tunnuspildi eemaldamisel",
- "Your profile picture" : "Sinu tunnuspilt",
- "Upload profile picture" : "Laadi tunnuspilt üles",
- "Choose profile picture from Files" : "Vali oma tunnuspilt failirakendusest",
- "Remove profile picture" : "Eemalda tunnuspilt",
- "The file must be a PNG or JPG" : "Fail peab olema png või jpg vormingus",
- "Picture provided by original account" : "Pilt esitatud originaalse konto poolt",
- "Set as profile picture" : "Määra tunnuspildiks",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Palun arvesta, et võib kuluda kuni 24 tundi enne, kuni sinu uus tunnuspilt on kõikjal uuendatud.",
- "Your biography. Markdown is supported." : "Teave sinu kohta. Võid kasutada ka markdown-vormingut.",
- "Enter your date of birth" : "Palun sisesta sünnikuupäev",
- "You are using {s}{usage}{/s}" : "Sa kasutad: {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Sa kasutad: {s}{usage}{/s} / {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Sa oled nende gruppide liige:",
- "Your full name" : "Sinu täispikk nimi",
- "Email options" : "E-posti valikud",
- "Remove primary email" : "Eemalda põhiline e-postiaadress",
- "Delete email" : "Kustuta e-posti aadress",
- "This address is not confirmed" : "See aadress pole kinnitatud",
- "Unset as primary email" : "Eemalda määramine põhiliseks e-postiaadressiks",
- "Set as primary email" : "Määra põhiliseks e-postiaadressiks",
- "Additional email address {index}" : "Täiendav e-posti aadress {index}",
- "Unable to delete primary email address" : "Ei õnnestunud eemaldada põhilist e-postiaadressi",
- "Unable to update primary email address" : "Ei õnnestunud uuendada põhilist e-postiaadressi",
- "Unable to add additional email address" : "Ei õnnestunud laadida täiendavat e-posti aadressi",
- "Unable to update additional email address" : "Ei õnnestunud uuendada täiendavat e-posti aadressi",
- "Unable to delete additional email address" : "Ei õnnestunud kustutada täiendavat e-posti aadressi",
- "Primary email for password reset and notifications" : "Põhiline e-postiaadress salasõna lähtestamiseks ja teavituste jaoks",
- "No email address set" : "E-posti aadressi pole veel määratud",
- "Your handle" : "Sinu pseudonüüm",
- "Derived from your locale ({weekDayName})" : "Tuletatud lokaadist ({weekDayName})",
- "Unable to update first day of week" : "Nädala esimese päeva uuendamine ei õnnestu",
- "Day to use as the first day of week" : "Nädala esimene päev",
- "Your headline" : "Sind kirjeldav alapealkiri",
- "Unable to update language" : "Keele uuendamine ei õnnestu",
- "Languages" : "Keeled",
- "Help translate" : "Aita tõlkida",
- "No language set" : "Keel on määramata",
- "Unable to update locale" : "Lokaadi uuendamine ei õnnestu",
- "Locales" : "Lokaadid",
- "Week starts on {firstDayOfWeek}" : "Nädala esimene päev: {firstDayOfWeek}",
- "No locale set" : "Lokaat on määramata",
- "Your city" : "Sinu asukoht",
- "Your organisation" : "Sinu organisatsioon",
- "Your phone number" : "Sinu telefoninumber",
- "Edit your Profile visibility" : "Muuda oma profiili nähtavust",
- "Unable to update profile enabled state" : "Profiili kasutuseloleku uuendamine ei õnnestu",
- "Unable to update visibility of {displayId}" : "„{displayId}“ nähtavust polnud võimalik uuendada",
- "Your role" : "Sinu roll",
- "Your X (formerly Twitter) handle" : "Sinu X-i (varasemalt Twitteri) kasutajanimi",
- "Your website" : "Sinu veebileht",
- "Invalid value" : "Vigane väärtus",
- "Unable to update {property}" : "„{property}“ uuendamine ei õnnestu",
- "No {property} set" : "„{property}“ on määramata",
- "Add additional email" : "Lisa täiendav e-posti aadress",
- "Add" : "Lisa",
- "Create" : "Loo",
- "Change" : "Muuda",
- "Delete" : "Kustuta",
- "Reshare" : "Jaga edasi",
- "Default language" : "Vaikekeel",
- "Common languages" : "Levinud keeled",
- "Other languages" : "Muud keeled",
- "Password change is disabled because the master key is disabled" : "Salasõna muutmine on lülitatud välja, kuna ka peremeesvõti on lülitatud välja",
- "No accounts" : "Kasutajakontosid pole",
- "Loading accounts …" : "Kontode laadimine ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Kasutajakontode loend. Jõudluse mõttes ei ole kogu loend esimesel hetkel tervikuna nähtav. Uued kasutajakontid lisanduvad sedamööda, kui sa loendis edasi liigud.",
- "Manager" : "Haldaja",
- "Account name will be autogenerated" : "Kasutajakonto nimi luuakse automaatselt",
- "Account name (required)" : "Kasutajakonto nimi (nõutav)",
- "Failed to search groups" : "Gruppe ei õnnestunud otsida",
- "New account" : "Uus kasutajakonto",
- "Display name" : "Kuvatav nimi",
- "Either password or email is required" : "Kas salasõna või e-posti aadress on kohustuslik",
- "Password (required)" : "Salasõna (nõutav)",
- "Email (required)" : "E-posti aadress (nõutav)",
- "Email" : "E-post",
- "Member of the following groups (required)" : "Järgmiste gruppide liige (nõutav)",
- "Member of the following groups" : "Järgmiste gruppide liige",
- "Set account groups" : "Määra kasutajakonto grupid",
- "Admin of the following groups" : "Järgmiste gruppide peakasutaja",
- "Set account as admin for …" : "Määra kasutajakonto peakasutajaks siin:",
- "Quota" : "Mahupiir",
- "Set account quota" : "Määra kasutajakonto kvoot",
- "Language" : "Keel",
- "Set default language" : "Määra vaikimisi keel",
- "Add new account" : "Lisa uus kasutajakonto",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} kasutajakonto…","{userCount} kasutajakontot…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} kasutajakonto","{userCount} kasutajakontot"],
- "Total rows summary" : "Ridade koondkokkuvõte",
- "Scroll to load more rows" : "Täiendavate ridade laadimiseks keri",
- "Password or insufficient permissions message" : "Teavitus salasõna või puuduvate õiguste kohta",
- "Avatar" : "Tunnuspilt ehk avatar",
- "Account name" : "Kasutajakonto nimi",
- "Group admin for" : "Grupi admin",
- "Account backend" : "Kasutajakonto taustateenus",
- "Storage location" : "Salvestusruumi asukoht",
- "First login" : "Esimene sisselogimine",
- "Last login" : "Viimane sisselogimine",
- "Account actions" : "Kasutajakonto tegevused",
- "{size} used" : "{size} kasutatud",
- "Delete account" : "Kustuta konto",
- "Disconnect all devices and delete local data" : "Katkesta ühendused kõikide seadmetega ja kustuta kohalikud andmed",
- "Disable account" : "Lülita kasutajakonto välja",
- "Enable account" : "Lülita kasutajakonto sisse",
- "Resend welcome email" : "Saada tervituskiri uuesti",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Kas seadme kadumisel või organisatsioonist lahkumisel on võimalik kaugkustutamise abil kustutada Nextcloudi andmed kõikidest „{userid}“ kasutaja seadmetest. Loomulikult toimib see vaid siis, kui vastav seade on ühendatud internetiga.",
- "Remote wipe of devices" : "Seadmete kaugkustutamine",
- "Wipe {userid}'s devices" : "Kaugkustuta kasutaja „{userid}“ seadmed",
- "Wiped {userid}'s devices" : "Kasutaja „{userid}“ seadmed on kaugkustutatud",
- "Failed to load groups with details" : "Gruppe koos üksikasjadega ei õnnestunud laadida",
- "Failed to load sub admin groups with details" : "Alamgruppe koos üksikasjadega ei õnnestunud laadida",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Kustuta „{userid}“ kasutajakonto täis mahus, sealhulgas tema isiklikud failid, rakenduste andmed ja muud.",
- "Account deletion" : "Kasutajakonto kustutamine",
- "Delete {userid}'s account" : "Kustuta kasutajakonto: „{userid}“",
- "Display name was successfully changed" : "Kuvatava nime muutmine õnnestus",
- "Password can't be empty" : "Salasõna ei saa olla tühi",
- "Password was successfully changed" : "Salasõna muutmine õnnestus",
- "Email can't be empty" : "E-posti aadress ei saa olla tühi",
- "Email was successfully changed" : "E-posti aadressi muutmine õnnestus",
- "Welcome mail sent!" : "Tervituskiri on saadetud!",
- "Loading account …" : "Laadin kasutajakontot…",
- "Change display name" : "Muuda kuvatavat nime",
- "Set new password" : "Määra uus salasõna",
- "Set new email address" : "Sisesta uus e-posti aadress",
- "Add account to group" : "Lisa kasutajakonto gruppi",
- "Set account as admin for" : "Määra kasutajakonto peakasutajaks siin:",
- "Select account quota" : "Määra kasutajakonto kvoot",
- "Set the language" : "Vali keel",
- "Toggle account actions menu" : "Lülita kasutajakonto tegevuste menüü sisse/välja",
- "Done" : "Valmis",
- "Edit" : "Muuda",
- "Account management settings" : "Kasutajakontode halduse seadistused",
- "Visibility" : "Nähtavus",
- "Show language" : "Näita keelt",
- "Show account backend" : "Näita kasutajakonto taustateenust",
- "Show storage path" : "Näita andmeruumi asukohta",
- "Show first login" : "Näita esimest sisselogimist",
- "Show last login" : "Näita viimast sisselogimist",
- "Sorting" : "Järjestus",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Süsteem seadistus kasutab gruppide järjestamist nime alusel. Muu hulgas see ei võimalda liikmete arvu näitamist.",
- "Group list sorting" : "Rühmade loendi järjestus",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Jõudluse mõttes kehtib järjestus vaid hetkel laaditud gruppidele. Uued grupid lisanduvad sedamööda, kuidas sa loendis edasi liigud.",
- "By member count" : "Liikmete arvu alusel",
- "By name" : "Nime alusel",
- "Send email" : "Saada kiri",
- "Send welcome email to new accounts" : "Saada uutele kasutajatele tervituskiri",
- "Defaults" : "Vaikeväärtused",
- "Default quota" : "Vaikimisi mahupiir",
- "Select default quota" : "Vali vaikimisi andmemahu piir",
- "Server error while trying to complete WebAuthn device registration" : "Serveriviga WebAuthn seadme registreerimise lõpetamisel",
- "Passwordless authentication requires a secure connection." : "Salasõnata autentimine eeldab turvalise võrguühenduse kasutamist.",
- "Add WebAuthn device" : "Lisa WebAuthni kasutav seade",
- "Please authorize your WebAuthn device." : "Palun anna luba oma WebAuthn seadme kasutamiseks",
- "Adding your device …" : "Lisan sinu seadet…",
- "Unnamed device" : "Nimetu seade",
- "Passwordless Authentication" : "Salasõnata autentimine",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Seadista oma kasutajakonto jaoks salasõnata autentimine, mis põhineb FIDO2 standardil.",
- "No devices configured." : "Ühtegi seadet pole seadistatud.",
- "The following devices are configured for your account:" : "Järgmised seadmed on seadistatud kasutama sinu kontot:",
- "Your browser does not support WebAuthn." : "Sinu veebibrauseril puudub WebAuthni tugi.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Administraatorina saad jagamise valikuid täpselt seadistada. Lisateavet leiad dokumentatsioonist.",
- "You need to enable the File sharing App." : "Sa pead kasutusele võtma Failijagamise rakenduse.",
- "App Store" : "Rakendustepood",
- "Loading app list" : "Laadin rakenduste loendit",
- "Loading categories" : "Laadin kategooriaid",
- "Developer documentation ↗" : "Dokumentatsioon arendajatele ↗",
- "Version {version}, {license}-licensed" : "Versioon {version}, avaldatud {license} litsentsi alusel",
- "Version {version}" : "Versioon {version}",
- "All accounts" : "Kõik kasutajakontod",
- "Admins" : "Haldurid",
- "Account group: {group}" : "Kasutajakontode grupp: {group}",
- "Account management" : "Kasutajakontode haldus",
"Sending…" : "Saadan...",
"Email sent" : "E-kiri on saadetud",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Kui võtad Nextcloudi serveris krüptimise kasutsele, siis jõudlusest johtuvalt krüptitakse vaid uusi ja muudetud faile.",
@@ -590,6 +343,7 @@
"Date of birth" : "Sünnikuupäev",
"Full name" : "Täielik nimi",
"Additional email" : "Täiendav e-post",
+ "Email" : "E-post",
"Fediverse (e.g. Mastodon)" : "Fediverse (nt. Mastodon)",
"Headline" : "Alapealkiri",
"Organisation" : "Organisatsioon",
@@ -599,6 +353,7 @@
"X (formerly Twitter)" : "X (varasemalt Twitter)",
"Website" : "Veebileht",
"Profile visibility" : "Profiili nähtavus",
+ "Language" : "Keel",
"Locale" : "Kasutuskoht",
"First day of week" : "Nädala esimene päev",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Pole saadaval, sest see omadus on vajalik tuumikfunktsionaalsuse jaoks, sh failide jagamine ja kalendrikutsed",
@@ -616,11 +371,13 @@
"Show to logged in accounts only" : "Näita vaid sisseloginud kasutajatele",
"Hide" : "Peida",
"Manually installed apps cannot be updated" : "Käsitsi paigaldatud rakendusi ei saa uuendada",
+ "Update to {version}" : "Uuenda versioonile {version}",
"{progress}% Deploying …" : "Võtan kasutusele {progress}%…",
"Deploy and Enable" : "Võta kasutusele ja lülita sisse",
"Disable" : "Lülita välja",
"Allow untested app" : "Luba testimata rakenduse kasutamine",
"The app will be downloaded from the App Store" : "See rakendus laaditakse alla App Store'ist",
+ "{size} used" : "{size} kasutatud",
"Unknown" : "Teadmata",
"Never" : "Mitte kunagi",
"Could not register device: Network error" : "Seadme registreerimine polnud võimalik: võrguühenduse viga",
@@ -631,8 +388,10 @@
"Confirm wipe" : "Kinnita kaugkustutamine",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Sinu võrgust tuli liiga palju päringuid. Proovi hiljem uuesti, või võta ühendust administraatoriga, kui tegu on veaga.",
"Error" : "Viga",
+ "Default quota" : "Vaikimisi mahupiir",
"Account documentation" : "Kasutajakonto juhendid",
"Administration documentation" : "Süsteemihalduse juhendid",
+ "Documentation" : "Dokumentatsioon",
"Forum" : "Foorum",
"General documentation" : "Üldjuhendid",
"Legal notice" : "Juriidiline teave",
@@ -652,6 +411,7 @@
"SMTP Password" : "SMTP salasõna",
"Save" : "Salvesta",
"Test and verify email settings" : "Testi ja kontrolli e-posti seadistusi",
+ "Send email" : "Saada kiri",
"Security & setup warnings" : "Turva- ja paigalduse hoiatused",
"All checks passed." : "Kõik kontrollid on läbitud.",
"Reasons to use Nextcloud in your organization" : "Põhjused, miks peaksid Nextcloudi kasutama oma organisatsioonis",
@@ -664,10 +424,6 @@
"The PHP memory limit is below the recommended value of %s." : "PHP mälukasutuse ülempiir on väiksem, kui soovitatav %s.",
"for WebAuthn passwordless login" : "WebAuthn salasõnata sisselogimise jaoks",
"for WebAuthn passwordless login, and SFTP storage" : "WebAuthn salasõnata sisselogimise ja SFTP andmeruumi jaoks",
- "Set default expiration date for shares" : "Määra jaosmeedia vaikimisi aegumiskuupäev",
- "Your biography" : "Sinu elulugu",
- "You are using <strong>{usage}</strong>" : "Sa kasutad: <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Sa kasutad: <strong>{usage}</strong> / <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Alamgruppe koos üksikasjadega ei õnnestunud laadida"
+ "Set default expiration date for shares" : "Määra jaosmeedia vaikimisi aegumiskuupäev"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/eu.js b/apps/settings/l10n/eu.js
index 3f16da14521..b6cfbc6adcc 100644
--- a/apps/settings/l10n/eu.js
+++ b/apps/settings/l10n/eu.js
@@ -286,7 +286,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP goiburuak",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "`%1$s`HTTP goiburua ez dago `%2$s` baliora ezarria. Baliteke ezaugarri batzuk espero bezala ez funtzionatzea. Ezarpenean dagokion balioa jartzea gomendatzen da.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "`%1$s` HTTP goiburua ez dago `%2$s` baliora ezarria. Hau segurtasun edo pribatutasun arrisku bat izan daiteke. Ezarpenean dagokion balioa jartzea gomendatzen da.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP goiburuak ez dauka `%2$s` balioa. Hau segurtasun edo pribatutasun arrisku bat izan daiteke. Ezarpenean dagokion balioa jartzea gomendatzen da.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- `%1$s` HTTP goiburua ez dago `%2$s`, `%3$s`, `%4$s`, `%5$s` edo `%6$s` baliotara ezarrita. Honek referer informazioa isuri dezake. Ikusi {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- `Strict-Transport-Security` HTTP goiburua ez dago gutxienez `%d` segundotan ezarrita (uneko balioa: `%d`). Segurtasuna hobetzeko, HSTS politika luzea erabiltzea gomendatzen da.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- `Strict-Transport-Security` HTTP goiburua gaizki osatuta dago: `%s`. Segurtasun handiagoa lortzeko, HSTS gaitzea gomendatzen da.",
@@ -427,74 +426,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Ezin izan da atalaren edukia kargatu aplikazio dendatik.",
"Loading" : "Kargatzen",
"Fetching the latest news…" : "Azken berriak eskuratzen...",
- "Carousel" : "Karrusela",
- "Previous slide" : "Aurreko diapositiba",
- "Next slide" : "Hurrengo diapositiba",
- "Choose slide to display" : "Aukeratu erakusteko diapositiba",
- "{index} of {total}" : "{total}(e)tik {index}",
- "Daemon" : "Daemona",
- "Deploy Daemon" : "Zabaldu daimona",
- "Type" : "Mota",
- "Display Name" : "Izena erakutsi",
- "GPUs support" : "GPUen bateragarritasuna",
- "Compute device" : "Konputazio gailua",
- "Learn more" : "Ikasi gehiago",
- "Confirm" : "Berretsi",
- "Cancel" : "Ezeztatu",
- "Description" : "Deskripzioa",
- "View in store" : "Dendan ikusi",
- "Visit website" : "Web orria ikusi",
- "Usage documentation" : "Erabilera dokumentazioa",
- "Admin documentation" : "Administratzailearen dokumentazioa",
- "Developer documentation" : "Garatzailearen dokumentazioa",
- "Details" : "Xehetasunak",
- "All" : "Denak",
- "Limit app usage to groups" : "Mugatu aplikazioaren erabilera taldeei",
- "No results" : "Emaitzarik ez",
- "Update to {version}" : "Eguneratu {version} bertsiora",
- "Default Deploy daemon is not accessible" : "Zabalpen lehenetsia ez dago eskuragarri",
- "Delete data on remove" : "Ezabatu datuak kentzean",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "This app has no minimum Nextcloud version assigned. This will be an error in the future.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "This app has no maximum Nextcloud version assigned. This will be an error in the future.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Aplikazioa ezin da instalatu hurrengo menpekotasunak betetzen ez direlako:",
- "Latest updated" : "Azkenean eguneratuta",
- "Author" : "Egilea",
- "Categories" : "Kategoriak",
- "Resources" : "Baliabideak",
- "Documentation" : "Dokumentazioa",
- "Interact" : "Elkarreragin",
- "Report a bug" : "Eman akats baten berri ",
- "Request feature" : "Eskatu ezaugarria",
- "Ask questions or discuss" : "Egin galderak edo eztabaidatu",
- "Rate the app" : "Baloratu aplikazioa",
- "Rate" : "Balorazioa",
- "Changelog" : "Aldaketak",
- "Google Chrome for Android" : "Google Chrome Android-erako",
- "{productName} iOS app" : "{productName} iOS aplikazioa",
- "{productName} Android app" : "{productName} Android aplikazioa",
- "{productName} Talk for iOS" : "{productName} Talk iOSentzat",
- "{productName} Talk for Android" : "{productName} Talk Androidentzat",
- "Sync client" : "Sinkronizazio bezeroa",
- "This session" : "Saio hau",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Gailuaren izena",
- "Cancel renaming" : "Utzi izena aldatzeari",
- "Save new name" : "Gorde izen berria",
- "Marked for remote wipe" : "Urruneko garbiketarako markatuta",
- "Device settings" : "Gailuaren ezarpenak",
- "Allow filesystem access" : "Onartu fitxategi sisteman sarbidea",
- "Rename" : "Berrizendatu",
- "Revoke" : "Ezeztatu",
- "Wipe device" : "Ezabatu gailua",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Token hau baliogabetzeak zure gailua ezabatzea eragotzi dezake oraindik ezabatzen hasi ez bada.",
- "Device" : "Gailua",
- "Last activity" : "Azken jarduerak",
- "Devices & sessions" : "Gailuak eta saioak",
- "Web, desktop and mobile clients currently logged in to your account." : "Webgunean edota mahaigaineko zein mugikorreko bezero hauetan saioa hasita duzu.",
- "Error while creating device token" : "Errorea gailuaren tokena sortzean",
- "App name" : "Aplikazioaren izena",
- "Create new app password" : "Sortu aplikaziorako pasahitz berria",
"App password copied!" : "Aplikazio pasahitza kopiatuta",
"Copy app password" : "Kopiatu aplikazioaren pasahitza",
"Login name copied!" : "Saioaren izena kopiatuta!",
@@ -540,195 +471,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Zure datuen babeskopiak sortu beharko zenituzke aldizka, eta zifratuta badaude, ziurtatu zifratze-gakoen babeskopia ere egiten dela datuekin batera.",
"This is the final warning: Do you really want to enable encryption?" : "Azken abisua da: Benetan gaitu nahi duzu zifratzea?",
"Please confirm the group removal" : "Mesedez, baieztatu taldearen ezabaketa",
+ "Cancel" : "Ezeztatu",
+ "Confirm" : "Berretsi",
"Submit" : "Bidali",
"Rename group" : "Berrizendatu taldea",
- "Current password" : "Uneko pasahitza",
- "New password" : "Pasahitz berria",
- "Change password" : "Aldatu pasahitza",
- "Choose your profile picture" : "Aukeratu zure profil-irudia",
- "Please select a valid png or jpg file" : "Mesedez hautatu baliozko png edo jpg fitxategi bat",
- "Error setting profile picture" : "Errorea profil-irudia ezartzean",
- "Error cropping profile picture" : "Errorea profil-irudia moztean",
- "Error saving profile picture" : "Errorea profil-irudia gordetzean",
- "Error removing profile picture" : "Errorea profil-irudia kentzean",
- "Your profile picture" : "Zure profil-irudia",
- "Upload profile picture" : "Igo profil-irudia",
- "Choose profile picture from Files" : "Aukeratu Fitxategiak-en profileko argazkia",
- "Remove profile picture" : "Kendu profil-irudia",
- "The file must be a PNG or JPG" : "Fitxategiak PNG edo JPG izan behar du",
- "Picture provided by original account" : "Irudia jatorrizko kontutik hartuta",
- "Set as profile picture" : "Ezarri profil-irudia",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Kontuan izan profil-irudia edonon eguneratzeko 24 ordu arte igaro daitezkeela.",
- "Unable to update date of birth" : "Ezin da jaioteguna eguneratu",
- "Enter your date of birth" : "Sartu zure jaioteguna",
- "You are using {s}{usage}{/s}" : "{s}{usage}{/s} erabiltzen ari zara",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "{s}{totalSpace}{/s}tik {s}{usage}{/s} erabiltzen ari zara ({s}%{usageRelative}{/s})",
- "You are a member of the following groups:" : "Honako taldeetako kide zara:",
- "Your full name" : "Zure izen osoa",
- "Email options" : "Posta elektronikoaren aukerak",
- "Options for additional email address {index}" : "Posta elektroniko gehigarrirako aukerak {index}",
- "Remove primary email" : "Kendu posta elektroniko nagusia",
- "Delete email" : "Ezabatu posta elektronikoa",
- "This address is not confirmed" : "Helbide hau ez dago berretsita",
- "Unset as primary email" : "Kendu posta nagusia",
- "Set as primary email" : "Ezarri e-posta nagusi bezala",
- "Additional email address {index}" : "Posta elektroniko gehigarria {index}",
- "Unable to delete primary email address" : "Ezin izan da helbide elektroniko nagusia ezabatu",
- "Unable to update primary email address" : "Ezin izan da helbide elektroniko nagusia eguneratu",
- "Unable to add additional email address" : "Ezin izan da helbide elektroniko gehigarria gehitu",
- "Unable to update additional email address" : "Ezin izan da helbide elektroniko gehigarria eguneratu",
- "Unable to delete additional email address" : "Ezin izan da helbide elektroniko gehigarria ezabatu",
- "Primary email for password reset and notifications" : "Pasahitz berrezartzeko eta jakinarazpenetarako posta elektroniko nagusia",
- "No email address set" : "Ez da eposta helbidea ezarri",
- "Your handle" : "Zure heldulekua",
- "Derived from your locale ({weekDayName})" : "Zure lokaletik eratorria: ({weekDayName})",
- "Unable to update first day of week" : "Ezin da eguneratu asteko lehen eguna",
- "Day to use as the first day of week" : "Asteko lehen egun gisa markatzeko eguna",
- "Your headline" : "Zure izenburua",
- "Unable to update language" : "Ezin izan da hizkuntza eguneratu",
- "Languages" : "Hizkuntzak",
- "Help translate" : "Lagundu itzultzen",
- "No language set" : "Ez da hizkuntzarik ezarri",
- "Unable to update locale" : "Ezin izan da lokalizazioa eguneratu",
- "Locales" : "Eskualdeak",
- "Week starts on {firstDayOfWeek}" : "Astea {firstDayOfWeek} egunean hasten da",
- "No locale set" : "Ez da lokalizaziorik ezarri",
- "Your city" : "Zure hiria",
- "Your organisation" : "Zure erakundea",
- "Your phone number" : "Zure telefono zenbakia",
- "Edit your Profile visibility" : "Editatu profilaren ikusgarritasuna",
- "Unable to update profile enabled state" : "Ezin izan da profila gaitutako egoerara eguneratu",
- "Enable profile" : "Gaitu profila",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Ikusgarritasunaren edo esparruaren ezarpen murriztaileena zure profilean errespetatzen da. Esaterako, ikusgarritasuna \"Erakutsi guztiei\" eta esparrua \"Pribatua\" gisa ezarrita badago, \"Pribatua\" errespetatzen da.",
- "Unable to update visibility of {displayId}" : "Ezin izan da {displayId}(r)en ikusgarritasuna eguneratu",
- "she/her" : "♀",
- "he/him" : "♂",
- "they/them" : "⚥/☿",
- "Your role" : "Zure rola",
- "Your X (formerly Twitter) handle" : "Zure X (lehen Twitter) erabiltzailea",
- "Your website" : "Zure web orria",
- "Invalid value" : "Balio baliogabea",
- "Unable to update {property}" : "Ezin izan da {property} eguneratu",
- "No {property} set" : "Ez da {property} ezarri",
- "Change scope level of {property}, current scope is {scope}" : "Aldatu {property}-(r)en esparru-maila, unekoa {scope} esparru-maila da",
- "Unable to update federation scope of the primary {property}" : "Ezin da eguneratu lehen mailako {property}-ren federazio-esparrua",
- "Unable to update federation scope of additional {property}" : "Ezin da eguneratu {property} gehigarriaren federazio-esparrua",
- "Add additional email" : "Gehitu e-posta gehigarria",
- "Add" : "Gehitu",
- "Create" : "Sortu",
- "Change" : "Aldatu",
- "Delete" : "Ezabatu",
- "Reshare" : "Birpartekatu",
- "Default language" : "Hizkuntza lehenetsia",
- "Common languages" : "Hizkuntza komunak",
- "Other languages" : "Beste hizkuntza batzuk",
- "Password change is disabled because the master key is disabled" : "Pasahitza aldatzea desgaituta dago gako nagusia desaktibatuta baitago.",
- "No accounts" : "Konturik ez",
- "Loading accounts …" : "Kontuak kargatzen ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Kontuen zerrenda. Zerrenda ez da guztiz errenderizatzen errendimendu arrazoiengatik. Kontuak zerrenda nabigatzen duzun heinean errenderizatuko dira.",
- "Manager" : "Zuzendaria",
- "Set line manager" : "Ezarri linea-arduraduna",
- "Account name will be autogenerated" : "Kontuaren izena automatikoki sortuko da",
- "Account name (required)" : "Kontuaren izena (beharrezkoa)",
- "New account" : "Kontu berria",
- "Display name" : "Erakusteko izena",
- "Either password or email is required" : "Posta elektronikoa edo pasahitza beharrezkoak dira",
- "Password (required)" : "Pasahitza (beharrezkoa)",
- "Email (required)" : "Posta elektronikoa (beharrezkoa)",
- "Email" : "E-posta",
- "Member of the following groups (required)" : "Talde hauetako kidea (beharrezkoa)",
- "Member of the following groups" : "Talde hauetako kidea",
- "Set account groups" : "Ezarri kontuaren taldeak",
- "Admin of the following groups" : "Talde hauetako administratzailea",
- "Set account as admin for …" : "Ezarri kontua administratzaile gisa",
- "Quota" : "Kuota",
- "Set account quota" : "Ezarri kontuaren kuota",
- "Language" : "Hizkuntza",
- "Set default language" : "Ezarri hizkuntza lehenetsia",
- "Add new account" : "Gehitu kontu berri bat",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} kontu…","{userCount} kontu…"],
- "_{userCount} account_::_{userCount} accounts_" : ["kontu {userCount} ","{userCount} kontu"],
- "Total rows summary" : "Errenkaden guztirako laburpena",
- "Scroll to load more rows" : "Mugitu pantailan behera errenkada gehiago kargatzeko",
- "Password or insufficient permissions message" : "Pasahitz edo baimen gutxiegiko mezua",
- "Avatar" : "Avatarra",
- "Account name" : "Kontuaren izena",
- "Group admin for" : "Talde honen administratzailea",
- "Account backend" : "Kontuaren motorra",
- "Storage location" : "Biltegiratze kokapena",
- "First login" : "Lehen saio-hasiera",
- "Last login" : "Azken saioa",
- "Account actions" : "Kontuaren ekintzak",
- "{size} used" : "{size} erabilita",
- "Delete account" : "Ezabatu kontua",
- "Disconnect all devices and delete local data" : "Deskonektatu gailu guztiak eta ezabatu datu lokalak",
- "Disable account" : "Desgaitu kontua",
- "Enable account" : "Gaitu kontua",
- "Resend welcome email" : "Birbidali ongi etorri mezua",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Gailua galtzen baduzu edo erakundetik irteten bazara, honek {userid} erabiltzaileari lotutako gailu guztietako Nextcloudeko datuak garbitu ditzake. Gailuak internetera konektatuta badaude bakarrik funtzionatzen du.",
- "Remote wipe of devices" : "Gailuen urruneko garbiketa",
- "Wipe {userid}'s devices" : "Garbitu {userid}-ren gailuak",
- "Wiped {userid}'s devices" : "{userid}-ren gailuak garbitu dira",
- "Failed to update line manager" : "Ezin izan da arduraduna eguneratu",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "{userid} erabiltzailearen kontua, bere fitxategi eta aplikazioen datuak barne, guztiz ezabatu.",
- "Account deletion" : "Kontu ezabaketa",
- "Delete {userid}'s account" : "Ezabatu {userid} erabiltzailearen kontua",
- "Display name was successfully changed" : "Erakusteko izena ondo aldatu da",
- "Password was successfully changed" : "Pasahitza ondo aldatu da",
- "Email was successfully changed" : "Posta elektronikoa ondo aldatu da",
- "Welcome mail sent!" : "Ongi etorri mezua bidalita!",
- "Loading account …" : "Kontua kargatzen ...",
- "Change display name" : "Aldatu erakutsiko den izena",
- "Set new password" : "Ezarri pasahitz berria",
- "You do not have permissions to see the details of this account" : "Ez duzu baimenik kontu honen xehetasunak ikusteko",
- "Set new email address" : "Ezarri helbide elektroniko berria",
- "Add account to group" : "Gehitu kontua taldera",
- "Set account as admin for" : "Ezarri kontua admin gisa",
- "Select account quota" : "Hautatu kontuaren kuota",
- "Set the language" : "Ezarri hizkuntza",
- "Toggle account actions menu" : "Txandakatu kontuen ekintza menua",
- "Done" : "Egina",
- "Edit" : "Aldatu",
- "Account management settings" : "Kontuen kudeaketaren ezarpenak",
- "Visibility" : "Ikusgarritasuna",
- "Show language" : "Erakutsi hizkuntza",
- "Show account backend" : "Erakutsi kontuaren motorra",
- "Show storage path" : "Erakutsi biltegiaren bidea",
- "Show first login" : "Erakutsi lehen saio-hasiera",
- "Show last login" : "Azken izen ematea erakutsi",
- "Sorting" : "Antolaketa",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Sistemaren konfigurazioak taldeak izenaren arabera ordenatzea eskatzen du. Horrek kideen kopurua erakustea ere desgaitzen du.",
- "Group list sorting" : "Talde-zerrenda ordena",
- "By member count" : "Kide kopuruaren arabera",
- "By name" : "Izenez",
- "Send email" : "Bidali posta-mezua",
- "Send welcome email to new accounts" : "Bidali ongietorri mezu elektronikoa kontu berriei",
- "Defaults" : "Defektuzkoak",
- "Default quota" : "Kuota lehenetsia",
- "Select default quota" : "Aukeratu lehenetsitako kuota",
- "Server error while trying to complete WebAuthn device registration" : "Zerbitzariaren errorea WebAuthn gailuaren erregistroa osatzen saiatzean",
- "Passwordless authentication requires a secure connection." : "Pasahitzik gabeko autentifikazioak konexio segurua behar du.",
- "Add WebAuthn device" : "Gehitu WebAuthn gailua",
- "Please authorize your WebAuthn device." : "Mesedez, baimendu zure WebAuthn gailua.",
- "Adding your device …" : "Zure gailua gehitzen ...",
- "Unnamed device" : "Izen gabeko gailua",
- "Passwordless Authentication" : "Pasahitzik gabeko autentifikazioa",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Konfiguratu kontua pasahitzik gabeko autentifikaziorako FIDO2 estandarra jarraituz.",
- "No devices configured." : "Ez da gailurik konfiguratu.",
- "The following devices are configured for your account:" : "Hurrengo gailuak zure konturako konfiguratuta daude:",
- "Your browser does not support WebAuthn." : "Zure nabigatzaileak ez du WebAuthn onartzen.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Admin bezala partekatze portaerak zehaztasunez konfigura daitezke. Ikusi dokumentazioa informazio gehiagorako. ",
- "You need to enable the File sharing App." : "Fitxategi partekatze aplikazioa gaitu behar duzu.",
- "App Store" : "Aplikazioen denda",
- "Loading app list" : "Aplikazio-zerrenda kargatzen",
- "Loading categories" : "Kategoriak kargatzen",
- "Developer documentation ↗" : "Garatzaileen dokumentazioa ↗",
- "Version {version}, {license}-licensed" : "{version} bertsioa, {license}-lizentziarekin",
- "Version {version}" : "{version} bertsioa",
- "All accounts" : "Kontu guztiak",
- "Admins" : "Administratzaileak",
- "Account group: {group}" : "Kontuaren taldea: {group}",
- "Account management" : "Kontuen kudeaketa",
"Sending…" : "Bidaltzen...",
"Email sent" : "Eposta bidalia",
"Location" : "Kokapena",
@@ -737,6 +483,7 @@ OC.L10N.register(
"Date of birth" : "Jaioteguna",
"Full name" : "Izen osoa",
"Additional email" : "Helbide elektroniko gehigarria",
+ "Email" : "E-posta",
"Fediverse (e.g. Mastodon)" : "Fedibertsoa (adibidez, Mastodon)",
"Headline" : "Izenburua",
"Organisation" : "Erakundea",
@@ -746,6 +493,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (lehen Twitter)",
"Website" : "Webgunea",
"Profile visibility" : "Profilaren ikusgarritasuna",
+ "Language" : "Hizkuntza",
"Locale" : "Eskualdeko ezarpenak",
"First day of week" : "Asteko lehen eguna",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Ez dago eskuragarri propietate hau oinarrizko funtzionaltasunentzako beharrezkoa delako, fitxategien partekatze eta egutegien gonbidapenak barne",
@@ -762,6 +510,7 @@ OC.L10N.register(
"Show to everyone" : "Erakutsi denei",
"Show to logged in accounts only" : "Erakutsi saioa hasi duten kontuei soilik",
"Hide" : "Ezkutatu",
+ "Update to {version}" : "Eguneratu {version} bertsiora",
"{progress}% Deploying …" : "%{progress} zabaltzen",
"{progress}% Initializing …" : "%{progress} hasieratzen",
"Health checking" : "Osasuna egiaztatzen",
@@ -771,6 +520,7 @@ OC.L10N.register(
"Allow untested app" : "Baimendu probatu gabeko aplikazioa",
"The app will be downloaded from the App Store" : "Aplikazioa aplikazio biltegitik deskargatuko da",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Aplikazio hau ez dago zure Nextcloud bertsioarekin bateragarri bezala markatuta. Jarraitzen baduzu aplikazioa instalatu egingo duzu. Kontuan izan agian aplikazioak ez duela ondo funtzionatuko.",
+ "{size} used" : "{size} erabilita",
"Unknown" : "Ezezaguna",
"Never" : "Inoiz ez",
"Could not register device: Network error" : "Ezin izan da gailua erregistratu: Sare errorea",
@@ -789,8 +539,10 @@ OC.L10N.register(
"Could not set group sorting" : "Ezin izan da talde-ordena ezarri",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Eskaera gehiegi zeuden zure saretik. Saiatu beranduago edo kontaktatu zure administrailearekin hau errorea bada.",
"Error" : "Errorea",
+ "Default quota" : "Kuota lehenetsia",
"Account documentation" : "Kontuen dokumentazioa",
"Administration documentation" : "Administrazioaren dokumentazioa",
+ "Documentation" : "Dokumentazioa",
"Forum" : "Foroa",
"Nextcloud help & privacy resources" : "Nextcloud laguntza eta pribatutasun baliabideak",
"General documentation" : "Dokumentazio orokorra",
@@ -813,6 +565,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP pasahitza",
"Save" : "Gorde",
"Test and verify email settings" : "Probatu eta egiaztatu posta elektronikoaren ezarpenak",
+ "Send email" : "Bidali posta-mezua",
"Security & setup warnings" : "Segurtasun eta konfigurazio abisuak",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Zure instantziaren segurtasuna eta funtzionamenduarentzat oso garrantzitsua da dena ondo konfiguratuta egotea. Horretan laguntzeko egiaztapen automatiko batzuk egiten ditu tresnak bera. Irakurri estekatutako dokumentazioa informazio gehiago lortzeko.",
"All checks passed." : "Egiaztapen guztiak gaindituta.",
@@ -838,10 +591,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "PHPren memoria muga aholkatutako %s balioaren azpitik dago.",
"for WebAuthn passwordless login" : "WebAuthn pasahitzik gabeko saio-hasierarako",
"for WebAuthn passwordless login, and SFTP storage" : "WebAuthn pasahitzik gabeko saio-hasiera eta SFTP biltegiratzerako",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP goiburuak ez dauka `%2$s` balioa. Hau segurtasun edo pribatutasun arrisku bat izan daiteke. Ezarpenean dagokion balioa jartzea gomendatzen da.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL \"%s\" bertsioa detektatu da. PostgreSQL >=12 eta <=16 iradokitzen da Nextcloud-en bertsio honekin errendimendu, egonkortasun eta funtzionalitate onena lortzeko.",
- "Set default expiration date for shares" : "Partekatzeei iraungitze data lehenetsia ezarri",
- "Your biography" : "Zure biografia",
- "You are using <strong>{usage}</strong>" : "<strong>{usage}</strong> erabiltzen ari zara",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "<strong>{usage}</strong>/<strong>{totalSpace}</strong> erabiltzen ari zara (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Partekatzeei iraungitze data lehenetsia ezarri"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/eu.json b/apps/settings/l10n/eu.json
index 85ca513ce05..05f35801475 100644
--- a/apps/settings/l10n/eu.json
+++ b/apps/settings/l10n/eu.json
@@ -284,7 +284,6 @@
"HTTP headers" : "HTTP goiburuak",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "`%1$s`HTTP goiburua ez dago `%2$s` baliora ezarria. Baliteke ezaugarri batzuk espero bezala ez funtzionatzea. Ezarpenean dagokion balioa jartzea gomendatzen da.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "`%1$s` HTTP goiburua ez dago `%2$s` baliora ezarria. Hau segurtasun edo pribatutasun arrisku bat izan daiteke. Ezarpenean dagokion balioa jartzea gomendatzen da.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP goiburuak ez dauka `%2$s` balioa. Hau segurtasun edo pribatutasun arrisku bat izan daiteke. Ezarpenean dagokion balioa jartzea gomendatzen da.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- `%1$s` HTTP goiburua ez dago `%2$s`, `%3$s`, `%4$s`, `%5$s` edo `%6$s` baliotara ezarrita. Honek referer informazioa isuri dezake. Ikusi {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- `Strict-Transport-Security` HTTP goiburua ez dago gutxienez `%d` segundotan ezarrita (uneko balioa: `%d`). Segurtasuna hobetzeko, HSTS politika luzea erabiltzea gomendatzen da.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- `Strict-Transport-Security` HTTP goiburua gaizki osatuta dago: `%s`. Segurtasun handiagoa lortzeko, HSTS gaitzea gomendatzen da.",
@@ -425,74 +424,6 @@
"Could not load section content from app store." : "Ezin izan da atalaren edukia kargatu aplikazio dendatik.",
"Loading" : "Kargatzen",
"Fetching the latest news…" : "Azken berriak eskuratzen...",
- "Carousel" : "Karrusela",
- "Previous slide" : "Aurreko diapositiba",
- "Next slide" : "Hurrengo diapositiba",
- "Choose slide to display" : "Aukeratu erakusteko diapositiba",
- "{index} of {total}" : "{total}(e)tik {index}",
- "Daemon" : "Daemona",
- "Deploy Daemon" : "Zabaldu daimona",
- "Type" : "Mota",
- "Display Name" : "Izena erakutsi",
- "GPUs support" : "GPUen bateragarritasuna",
- "Compute device" : "Konputazio gailua",
- "Learn more" : "Ikasi gehiago",
- "Confirm" : "Berretsi",
- "Cancel" : "Ezeztatu",
- "Description" : "Deskripzioa",
- "View in store" : "Dendan ikusi",
- "Visit website" : "Web orria ikusi",
- "Usage documentation" : "Erabilera dokumentazioa",
- "Admin documentation" : "Administratzailearen dokumentazioa",
- "Developer documentation" : "Garatzailearen dokumentazioa",
- "Details" : "Xehetasunak",
- "All" : "Denak",
- "Limit app usage to groups" : "Mugatu aplikazioaren erabilera taldeei",
- "No results" : "Emaitzarik ez",
- "Update to {version}" : "Eguneratu {version} bertsiora",
- "Default Deploy daemon is not accessible" : "Zabalpen lehenetsia ez dago eskuragarri",
- "Delete data on remove" : "Ezabatu datuak kentzean",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "This app has no minimum Nextcloud version assigned. This will be an error in the future.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "This app has no maximum Nextcloud version assigned. This will be an error in the future.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Aplikazioa ezin da instalatu hurrengo menpekotasunak betetzen ez direlako:",
- "Latest updated" : "Azkenean eguneratuta",
- "Author" : "Egilea",
- "Categories" : "Kategoriak",
- "Resources" : "Baliabideak",
- "Documentation" : "Dokumentazioa",
- "Interact" : "Elkarreragin",
- "Report a bug" : "Eman akats baten berri ",
- "Request feature" : "Eskatu ezaugarria",
- "Ask questions or discuss" : "Egin galderak edo eztabaidatu",
- "Rate the app" : "Baloratu aplikazioa",
- "Rate" : "Balorazioa",
- "Changelog" : "Aldaketak",
- "Google Chrome for Android" : "Google Chrome Android-erako",
- "{productName} iOS app" : "{productName} iOS aplikazioa",
- "{productName} Android app" : "{productName} Android aplikazioa",
- "{productName} Talk for iOS" : "{productName} Talk iOSentzat",
- "{productName} Talk for Android" : "{productName} Talk Androidentzat",
- "Sync client" : "Sinkronizazio bezeroa",
- "This session" : "Saio hau",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Gailuaren izena",
- "Cancel renaming" : "Utzi izena aldatzeari",
- "Save new name" : "Gorde izen berria",
- "Marked for remote wipe" : "Urruneko garbiketarako markatuta",
- "Device settings" : "Gailuaren ezarpenak",
- "Allow filesystem access" : "Onartu fitxategi sisteman sarbidea",
- "Rename" : "Berrizendatu",
- "Revoke" : "Ezeztatu",
- "Wipe device" : "Ezabatu gailua",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Token hau baliogabetzeak zure gailua ezabatzea eragotzi dezake oraindik ezabatzen hasi ez bada.",
- "Device" : "Gailua",
- "Last activity" : "Azken jarduerak",
- "Devices & sessions" : "Gailuak eta saioak",
- "Web, desktop and mobile clients currently logged in to your account." : "Webgunean edota mahaigaineko zein mugikorreko bezero hauetan saioa hasita duzu.",
- "Error while creating device token" : "Errorea gailuaren tokena sortzean",
- "App name" : "Aplikazioaren izena",
- "Create new app password" : "Sortu aplikaziorako pasahitz berria",
"App password copied!" : "Aplikazio pasahitza kopiatuta",
"Copy app password" : "Kopiatu aplikazioaren pasahitza",
"Login name copied!" : "Saioaren izena kopiatuta!",
@@ -538,195 +469,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Zure datuen babeskopiak sortu beharko zenituzke aldizka, eta zifratuta badaude, ziurtatu zifratze-gakoen babeskopia ere egiten dela datuekin batera.",
"This is the final warning: Do you really want to enable encryption?" : "Azken abisua da: Benetan gaitu nahi duzu zifratzea?",
"Please confirm the group removal" : "Mesedez, baieztatu taldearen ezabaketa",
+ "Cancel" : "Ezeztatu",
+ "Confirm" : "Berretsi",
"Submit" : "Bidali",
"Rename group" : "Berrizendatu taldea",
- "Current password" : "Uneko pasahitza",
- "New password" : "Pasahitz berria",
- "Change password" : "Aldatu pasahitza",
- "Choose your profile picture" : "Aukeratu zure profil-irudia",
- "Please select a valid png or jpg file" : "Mesedez hautatu baliozko png edo jpg fitxategi bat",
- "Error setting profile picture" : "Errorea profil-irudia ezartzean",
- "Error cropping profile picture" : "Errorea profil-irudia moztean",
- "Error saving profile picture" : "Errorea profil-irudia gordetzean",
- "Error removing profile picture" : "Errorea profil-irudia kentzean",
- "Your profile picture" : "Zure profil-irudia",
- "Upload profile picture" : "Igo profil-irudia",
- "Choose profile picture from Files" : "Aukeratu Fitxategiak-en profileko argazkia",
- "Remove profile picture" : "Kendu profil-irudia",
- "The file must be a PNG or JPG" : "Fitxategiak PNG edo JPG izan behar du",
- "Picture provided by original account" : "Irudia jatorrizko kontutik hartuta",
- "Set as profile picture" : "Ezarri profil-irudia",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Kontuan izan profil-irudia edonon eguneratzeko 24 ordu arte igaro daitezkeela.",
- "Unable to update date of birth" : "Ezin da jaioteguna eguneratu",
- "Enter your date of birth" : "Sartu zure jaioteguna",
- "You are using {s}{usage}{/s}" : "{s}{usage}{/s} erabiltzen ari zara",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "{s}{totalSpace}{/s}tik {s}{usage}{/s} erabiltzen ari zara ({s}%{usageRelative}{/s})",
- "You are a member of the following groups:" : "Honako taldeetako kide zara:",
- "Your full name" : "Zure izen osoa",
- "Email options" : "Posta elektronikoaren aukerak",
- "Options for additional email address {index}" : "Posta elektroniko gehigarrirako aukerak {index}",
- "Remove primary email" : "Kendu posta elektroniko nagusia",
- "Delete email" : "Ezabatu posta elektronikoa",
- "This address is not confirmed" : "Helbide hau ez dago berretsita",
- "Unset as primary email" : "Kendu posta nagusia",
- "Set as primary email" : "Ezarri e-posta nagusi bezala",
- "Additional email address {index}" : "Posta elektroniko gehigarria {index}",
- "Unable to delete primary email address" : "Ezin izan da helbide elektroniko nagusia ezabatu",
- "Unable to update primary email address" : "Ezin izan da helbide elektroniko nagusia eguneratu",
- "Unable to add additional email address" : "Ezin izan da helbide elektroniko gehigarria gehitu",
- "Unable to update additional email address" : "Ezin izan da helbide elektroniko gehigarria eguneratu",
- "Unable to delete additional email address" : "Ezin izan da helbide elektroniko gehigarria ezabatu",
- "Primary email for password reset and notifications" : "Pasahitz berrezartzeko eta jakinarazpenetarako posta elektroniko nagusia",
- "No email address set" : "Ez da eposta helbidea ezarri",
- "Your handle" : "Zure heldulekua",
- "Derived from your locale ({weekDayName})" : "Zure lokaletik eratorria: ({weekDayName})",
- "Unable to update first day of week" : "Ezin da eguneratu asteko lehen eguna",
- "Day to use as the first day of week" : "Asteko lehen egun gisa markatzeko eguna",
- "Your headline" : "Zure izenburua",
- "Unable to update language" : "Ezin izan da hizkuntza eguneratu",
- "Languages" : "Hizkuntzak",
- "Help translate" : "Lagundu itzultzen",
- "No language set" : "Ez da hizkuntzarik ezarri",
- "Unable to update locale" : "Ezin izan da lokalizazioa eguneratu",
- "Locales" : "Eskualdeak",
- "Week starts on {firstDayOfWeek}" : "Astea {firstDayOfWeek} egunean hasten da",
- "No locale set" : "Ez da lokalizaziorik ezarri",
- "Your city" : "Zure hiria",
- "Your organisation" : "Zure erakundea",
- "Your phone number" : "Zure telefono zenbakia",
- "Edit your Profile visibility" : "Editatu profilaren ikusgarritasuna",
- "Unable to update profile enabled state" : "Ezin izan da profila gaitutako egoerara eguneratu",
- "Enable profile" : "Gaitu profila",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Ikusgarritasunaren edo esparruaren ezarpen murriztaileena zure profilean errespetatzen da. Esaterako, ikusgarritasuna \"Erakutsi guztiei\" eta esparrua \"Pribatua\" gisa ezarrita badago, \"Pribatua\" errespetatzen da.",
- "Unable to update visibility of {displayId}" : "Ezin izan da {displayId}(r)en ikusgarritasuna eguneratu",
- "she/her" : "♀",
- "he/him" : "♂",
- "they/them" : "⚥/☿",
- "Your role" : "Zure rola",
- "Your X (formerly Twitter) handle" : "Zure X (lehen Twitter) erabiltzailea",
- "Your website" : "Zure web orria",
- "Invalid value" : "Balio baliogabea",
- "Unable to update {property}" : "Ezin izan da {property} eguneratu",
- "No {property} set" : "Ez da {property} ezarri",
- "Change scope level of {property}, current scope is {scope}" : "Aldatu {property}-(r)en esparru-maila, unekoa {scope} esparru-maila da",
- "Unable to update federation scope of the primary {property}" : "Ezin da eguneratu lehen mailako {property}-ren federazio-esparrua",
- "Unable to update federation scope of additional {property}" : "Ezin da eguneratu {property} gehigarriaren federazio-esparrua",
- "Add additional email" : "Gehitu e-posta gehigarria",
- "Add" : "Gehitu",
- "Create" : "Sortu",
- "Change" : "Aldatu",
- "Delete" : "Ezabatu",
- "Reshare" : "Birpartekatu",
- "Default language" : "Hizkuntza lehenetsia",
- "Common languages" : "Hizkuntza komunak",
- "Other languages" : "Beste hizkuntza batzuk",
- "Password change is disabled because the master key is disabled" : "Pasahitza aldatzea desgaituta dago gako nagusia desaktibatuta baitago.",
- "No accounts" : "Konturik ez",
- "Loading accounts …" : "Kontuak kargatzen ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Kontuen zerrenda. Zerrenda ez da guztiz errenderizatzen errendimendu arrazoiengatik. Kontuak zerrenda nabigatzen duzun heinean errenderizatuko dira.",
- "Manager" : "Zuzendaria",
- "Set line manager" : "Ezarri linea-arduraduna",
- "Account name will be autogenerated" : "Kontuaren izena automatikoki sortuko da",
- "Account name (required)" : "Kontuaren izena (beharrezkoa)",
- "New account" : "Kontu berria",
- "Display name" : "Erakusteko izena",
- "Either password or email is required" : "Posta elektronikoa edo pasahitza beharrezkoak dira",
- "Password (required)" : "Pasahitza (beharrezkoa)",
- "Email (required)" : "Posta elektronikoa (beharrezkoa)",
- "Email" : "E-posta",
- "Member of the following groups (required)" : "Talde hauetako kidea (beharrezkoa)",
- "Member of the following groups" : "Talde hauetako kidea",
- "Set account groups" : "Ezarri kontuaren taldeak",
- "Admin of the following groups" : "Talde hauetako administratzailea",
- "Set account as admin for …" : "Ezarri kontua administratzaile gisa",
- "Quota" : "Kuota",
- "Set account quota" : "Ezarri kontuaren kuota",
- "Language" : "Hizkuntza",
- "Set default language" : "Ezarri hizkuntza lehenetsia",
- "Add new account" : "Gehitu kontu berri bat",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} kontu…","{userCount} kontu…"],
- "_{userCount} account_::_{userCount} accounts_" : ["kontu {userCount} ","{userCount} kontu"],
- "Total rows summary" : "Errenkaden guztirako laburpena",
- "Scroll to load more rows" : "Mugitu pantailan behera errenkada gehiago kargatzeko",
- "Password or insufficient permissions message" : "Pasahitz edo baimen gutxiegiko mezua",
- "Avatar" : "Avatarra",
- "Account name" : "Kontuaren izena",
- "Group admin for" : "Talde honen administratzailea",
- "Account backend" : "Kontuaren motorra",
- "Storage location" : "Biltegiratze kokapena",
- "First login" : "Lehen saio-hasiera",
- "Last login" : "Azken saioa",
- "Account actions" : "Kontuaren ekintzak",
- "{size} used" : "{size} erabilita",
- "Delete account" : "Ezabatu kontua",
- "Disconnect all devices and delete local data" : "Deskonektatu gailu guztiak eta ezabatu datu lokalak",
- "Disable account" : "Desgaitu kontua",
- "Enable account" : "Gaitu kontua",
- "Resend welcome email" : "Birbidali ongi etorri mezua",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Gailua galtzen baduzu edo erakundetik irteten bazara, honek {userid} erabiltzaileari lotutako gailu guztietako Nextcloudeko datuak garbitu ditzake. Gailuak internetera konektatuta badaude bakarrik funtzionatzen du.",
- "Remote wipe of devices" : "Gailuen urruneko garbiketa",
- "Wipe {userid}'s devices" : "Garbitu {userid}-ren gailuak",
- "Wiped {userid}'s devices" : "{userid}-ren gailuak garbitu dira",
- "Failed to update line manager" : "Ezin izan da arduraduna eguneratu",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "{userid} erabiltzailearen kontua, bere fitxategi eta aplikazioen datuak barne, guztiz ezabatu.",
- "Account deletion" : "Kontu ezabaketa",
- "Delete {userid}'s account" : "Ezabatu {userid} erabiltzailearen kontua",
- "Display name was successfully changed" : "Erakusteko izena ondo aldatu da",
- "Password was successfully changed" : "Pasahitza ondo aldatu da",
- "Email was successfully changed" : "Posta elektronikoa ondo aldatu da",
- "Welcome mail sent!" : "Ongi etorri mezua bidalita!",
- "Loading account …" : "Kontua kargatzen ...",
- "Change display name" : "Aldatu erakutsiko den izena",
- "Set new password" : "Ezarri pasahitz berria",
- "You do not have permissions to see the details of this account" : "Ez duzu baimenik kontu honen xehetasunak ikusteko",
- "Set new email address" : "Ezarri helbide elektroniko berria",
- "Add account to group" : "Gehitu kontua taldera",
- "Set account as admin for" : "Ezarri kontua admin gisa",
- "Select account quota" : "Hautatu kontuaren kuota",
- "Set the language" : "Ezarri hizkuntza",
- "Toggle account actions menu" : "Txandakatu kontuen ekintza menua",
- "Done" : "Egina",
- "Edit" : "Aldatu",
- "Account management settings" : "Kontuen kudeaketaren ezarpenak",
- "Visibility" : "Ikusgarritasuna",
- "Show language" : "Erakutsi hizkuntza",
- "Show account backend" : "Erakutsi kontuaren motorra",
- "Show storage path" : "Erakutsi biltegiaren bidea",
- "Show first login" : "Erakutsi lehen saio-hasiera",
- "Show last login" : "Azken izen ematea erakutsi",
- "Sorting" : "Antolaketa",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Sistemaren konfigurazioak taldeak izenaren arabera ordenatzea eskatzen du. Horrek kideen kopurua erakustea ere desgaitzen du.",
- "Group list sorting" : "Talde-zerrenda ordena",
- "By member count" : "Kide kopuruaren arabera",
- "By name" : "Izenez",
- "Send email" : "Bidali posta-mezua",
- "Send welcome email to new accounts" : "Bidali ongietorri mezu elektronikoa kontu berriei",
- "Defaults" : "Defektuzkoak",
- "Default quota" : "Kuota lehenetsia",
- "Select default quota" : "Aukeratu lehenetsitako kuota",
- "Server error while trying to complete WebAuthn device registration" : "Zerbitzariaren errorea WebAuthn gailuaren erregistroa osatzen saiatzean",
- "Passwordless authentication requires a secure connection." : "Pasahitzik gabeko autentifikazioak konexio segurua behar du.",
- "Add WebAuthn device" : "Gehitu WebAuthn gailua",
- "Please authorize your WebAuthn device." : "Mesedez, baimendu zure WebAuthn gailua.",
- "Adding your device …" : "Zure gailua gehitzen ...",
- "Unnamed device" : "Izen gabeko gailua",
- "Passwordless Authentication" : "Pasahitzik gabeko autentifikazioa",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Konfiguratu kontua pasahitzik gabeko autentifikaziorako FIDO2 estandarra jarraituz.",
- "No devices configured." : "Ez da gailurik konfiguratu.",
- "The following devices are configured for your account:" : "Hurrengo gailuak zure konturako konfiguratuta daude:",
- "Your browser does not support WebAuthn." : "Zure nabigatzaileak ez du WebAuthn onartzen.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Admin bezala partekatze portaerak zehaztasunez konfigura daitezke. Ikusi dokumentazioa informazio gehiagorako. ",
- "You need to enable the File sharing App." : "Fitxategi partekatze aplikazioa gaitu behar duzu.",
- "App Store" : "Aplikazioen denda",
- "Loading app list" : "Aplikazio-zerrenda kargatzen",
- "Loading categories" : "Kategoriak kargatzen",
- "Developer documentation ↗" : "Garatzaileen dokumentazioa ↗",
- "Version {version}, {license}-licensed" : "{version} bertsioa, {license}-lizentziarekin",
- "Version {version}" : "{version} bertsioa",
- "All accounts" : "Kontu guztiak",
- "Admins" : "Administratzaileak",
- "Account group: {group}" : "Kontuaren taldea: {group}",
- "Account management" : "Kontuen kudeaketa",
"Sending…" : "Bidaltzen...",
"Email sent" : "Eposta bidalia",
"Location" : "Kokapena",
@@ -735,6 +481,7 @@
"Date of birth" : "Jaioteguna",
"Full name" : "Izen osoa",
"Additional email" : "Helbide elektroniko gehigarria",
+ "Email" : "E-posta",
"Fediverse (e.g. Mastodon)" : "Fedibertsoa (adibidez, Mastodon)",
"Headline" : "Izenburua",
"Organisation" : "Erakundea",
@@ -744,6 +491,7 @@
"X (formerly Twitter)" : "X (lehen Twitter)",
"Website" : "Webgunea",
"Profile visibility" : "Profilaren ikusgarritasuna",
+ "Language" : "Hizkuntza",
"Locale" : "Eskualdeko ezarpenak",
"First day of week" : "Asteko lehen eguna",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Ez dago eskuragarri propietate hau oinarrizko funtzionaltasunentzako beharrezkoa delako, fitxategien partekatze eta egutegien gonbidapenak barne",
@@ -760,6 +508,7 @@
"Show to everyone" : "Erakutsi denei",
"Show to logged in accounts only" : "Erakutsi saioa hasi duten kontuei soilik",
"Hide" : "Ezkutatu",
+ "Update to {version}" : "Eguneratu {version} bertsiora",
"{progress}% Deploying …" : "%{progress} zabaltzen",
"{progress}% Initializing …" : "%{progress} hasieratzen",
"Health checking" : "Osasuna egiaztatzen",
@@ -769,6 +518,7 @@
"Allow untested app" : "Baimendu probatu gabeko aplikazioa",
"The app will be downloaded from the App Store" : "Aplikazioa aplikazio biltegitik deskargatuko da",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Aplikazio hau ez dago zure Nextcloud bertsioarekin bateragarri bezala markatuta. Jarraitzen baduzu aplikazioa instalatu egingo duzu. Kontuan izan agian aplikazioak ez duela ondo funtzionatuko.",
+ "{size} used" : "{size} erabilita",
"Unknown" : "Ezezaguna",
"Never" : "Inoiz ez",
"Could not register device: Network error" : "Ezin izan da gailua erregistratu: Sare errorea",
@@ -787,8 +537,10 @@
"Could not set group sorting" : "Ezin izan da talde-ordena ezarri",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Eskaera gehiegi zeuden zure saretik. Saiatu beranduago edo kontaktatu zure administrailearekin hau errorea bada.",
"Error" : "Errorea",
+ "Default quota" : "Kuota lehenetsia",
"Account documentation" : "Kontuen dokumentazioa",
"Administration documentation" : "Administrazioaren dokumentazioa",
+ "Documentation" : "Dokumentazioa",
"Forum" : "Foroa",
"Nextcloud help & privacy resources" : "Nextcloud laguntza eta pribatutasun baliabideak",
"General documentation" : "Dokumentazio orokorra",
@@ -811,6 +563,7 @@
"SMTP Password" : "SMTP pasahitza",
"Save" : "Gorde",
"Test and verify email settings" : "Probatu eta egiaztatu posta elektronikoaren ezarpenak",
+ "Send email" : "Bidali posta-mezua",
"Security & setup warnings" : "Segurtasun eta konfigurazio abisuak",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Zure instantziaren segurtasuna eta funtzionamenduarentzat oso garrantzitsua da dena ondo konfiguratuta egotea. Horretan laguntzeko egiaztapen automatiko batzuk egiten ditu tresnak bera. Irakurri estekatutako dokumentazioa informazio gehiago lortzeko.",
"All checks passed." : "Egiaztapen guztiak gaindituta.",
@@ -836,10 +589,8 @@
"The PHP memory limit is below the recommended value of %s." : "PHPren memoria muga aholkatutako %s balioaren azpitik dago.",
"for WebAuthn passwordless login" : "WebAuthn pasahitzik gabeko saio-hasierarako",
"for WebAuthn passwordless login, and SFTP storage" : "WebAuthn pasahitzik gabeko saio-hasiera eta SFTP biltegiratzerako",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP goiburuak ez dauka `%2$s` balioa. Hau segurtasun edo pribatutasun arrisku bat izan daiteke. Ezarpenean dagokion balioa jartzea gomendatzen da.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL \"%s\" bertsioa detektatu da. PostgreSQL >=12 eta <=16 iradokitzen da Nextcloud-en bertsio honekin errendimendu, egonkortasun eta funtzionalitate onena lortzeko.",
- "Set default expiration date for shares" : "Partekatzeei iraungitze data lehenetsia ezarri",
- "Your biography" : "Zure biografia",
- "You are using <strong>{usage}</strong>" : "<strong>{usage}</strong> erabiltzen ari zara",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "<strong>{usage}</strong>/<strong>{totalSpace}</strong> erabiltzen ari zara (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Partekatzeei iraungitze data lehenetsia ezarri"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/fa.js b/apps/settings/l10n/fa.js
index a58a88386d8..e569902eb5f 100644
--- a/apps/settings/l10n/fa.js
+++ b/apps/settings/l10n/fa.js
@@ -186,54 +186,6 @@ OC.L10N.register(
"Group name" : "نام گروه",
"Loading groups…" : "Loading groups…",
"Loading" : "Loading",
- "Daemon" : "فرایندهای پس زمینه",
- "Type" : "نوع",
- "Learn more" : "بیشتر بدانید",
- "Confirm" : "تأیید",
- "Cancel" : "منصرف شدن",
- "Description" : "شرح",
- "View in store" : "نمایش در فروشگاه",
- "Visit website" : "سر زدن به پایگاه وب",
- "Admin documentation" : "مستندات مدیر",
- "Developer documentation" : "مستندات توسعه‌دهندگان",
- "Details" : "جزییات",
- "All" : "همه",
- "Limit app usage to groups" : "محدودیت استفاده از کاره به گروه‌ها",
- "No results" : "بدون نتیجه",
- "Update to {version}" : "به‌روز رسانی به {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "این برنامه حداقل دارای نسخه بعدی نکست کلود است. این یک خطا در آینده خواهد بود.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "این برنامه حداکثر نسخه نکست کلود اختصاصی ندارد. این یک خطا در آینده خواهد بود.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "امکان نصب این برنامه وجود ندارد، این پیش‌نیازها انجام نشده‌اند:",
- "Author" : "نویسنده",
- "Categories" : "دسته‌ها",
- "Resources" : "منابع",
- "Documentation" : "مستندسازی",
- "Interact" : "تعامل",
- "Report a bug" : "گزارش یک خطا",
- "Request feature" : "درخواست ویژگی",
- "Ask questions or discuss" : "پرسش یا بحث",
- "Rate" : "رتبه‌بندی",
- "Changelog" : "تغییر",
- "Google Chrome for Android" : "کروم گوگل برای اندروید",
- "{productName} iOS app" : "کارهٔ iOS {productName}",
- "{productName} Android app" : "کارهٔ اندرویدی {productName}",
- "{productName} Talk for iOS" : "صحبت {productName} برای iOS",
- "{productName} Talk for Android" : "صحبت {productName} برای اندروید",
- "This session" : "این نشست",
- "Marked for remote wipe" : "علامت خورده برای زودون دوردست",
- "Device settings" : "تنظیمات افزاره",
- "Allow filesystem access" : "اجازهٔ دسترسی به سامانه‌پرونده",
- "Rename" : "تغییرنام",
- "Revoke" : "لغو",
- "Wipe device" : "حذف دستگاه",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revoking this token might prevent the wiping of your device if it has not started the wipe yet.",
- "Device" : "افزاره",
- "Last activity" : "آخرین فعّالیت",
- "Devices & sessions" : "دستگاه ها و نشست ها",
- "Web, desktop and mobile clients currently logged in to your account." : "لیست دستگاه ها و نشست های فعال وارد شده با اکانت شما",
- "Error while creating device token" : "هنگام ایجاد نشانه وسیله خطایی رخ داد",
- "App name" : "نام برنامه",
- "Create new app password" : "ساختن رمزعبور برنامه جدید ",
"Could not copy app password. Please copy it manually." : "نمی توان رمزعبور برنامه را کپی کرد. لطفاً آن را به صورت دستی کپی کنید.",
"Login" : "ورود",
"Password" : "گذرواژه",
@@ -264,133 +216,10 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "توجه داشته باشید که همواره رمزگذاری حجم فایل را افزایش خواهد داد.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "همیشه خوب است که از داده های خود نسخه پشتیبان تهیه کنید ، در صورت رمزگذاری مطمئن شوید که از کلیدهای رمزنگاری به همراه داده خود نسخه پشتیبان تهیه کنید.",
"This is the final warning: Do you really want to enable encryption?" : "این آخرین اخطار است: آیا می‌خواهید رمزگذاری را فعال کنید ؟",
+ "Cancel" : "منصرف شدن",
+ "Confirm" : "تأیید",
"Submit" : "ارسال",
"Rename group" : "Rename group",
- "Current password" : "گذرواژه کنونی",
- "New password" : "گذرواژه جدید",
- "Change password" : "تغییر گذر واژه",
- "Choose your profile picture" : "عکس نمایهٔ خود را انتخاب کنید",
- "Please select a valid png or jpg file" : "لطفاً یک فایل png یا jpg معتبر انتخاب کنید",
- "Error setting profile picture" : "خطا در تنظیم عکس نمایه",
- "Error cropping profile picture" : "خطا در برش عکس نمایه",
- "Error saving profile picture" : "خطا در ذخیره تصویر نمایه",
- "Error removing profile picture" : "خطا در حذف عکس نمایه",
- "Your profile picture" : "نگارهٔ نمایه‌تان",
- "Upload profile picture" : "بارگذاری نگارهٔ نمایه",
- "Choose profile picture from Files" : "تصویر نمایه‌تان را از پرونده‌ها انتخاب کنید",
- "Remove profile picture" : "برداشتن نگارهٔ نمایه",
- "The file must be a PNG or JPG" : "The file must be a PNG or JPG",
- "Picture provided by original account" : "نگاره فراهم شده به دست حساب اصلی",
- "Set as profile picture" : "به عنوان عکس نمایه تنظیم کنید",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "لطفاً توجه داشته باشید که ممکن است تا 24 ساعت طول بکشد تا عکس نمایه شما در همه جا به روز شود.",
- "You are a member of the following groups:" : "عضوی از گروه‌های زیر هستید:",
- "Your full name" : "Your full name",
- "Email options" : "Email options",
- "Remove primary email" : "Remove primary email",
- "Delete email" : "Delete email",
- "This address is not confirmed" : "This address is not confirmed",
- "Unset as primary email" : "Unset as primary email",
- "Set as primary email" : "Set as primary email",
- "Additional email address {index}" : "Additional email address {index}",
- "Unable to delete primary email address" : "Unable to delete primary email address",
- "Unable to update primary email address" : "Unable to update primary email address",
- "Unable to add additional email address" : "Unable to add additional email address",
- "Unable to update additional email address" : "Unable to update additional email address",
- "Unable to delete additional email address" : "Unable to delete additional email address",
- "Primary email for password reset and notifications" : "ایمیل اصلی برای بازیابی رمز عبور و دریافت اعلان ها",
- "No email address set" : "آدرس‌ایمیلی تنظیم نشده است",
- "Your handle" : "Your handle",
- "Your headline" : "عنوان سرصفحه",
- "Unable to update language" : "Unable to update language",
- "Help translate" : "به ترجمه آن کمک کنید",
- "No language set" : "زبانی تنظیم نشده است.",
- "Unable to update locale" : "Unable to update locale",
- "Week starts on {firstDayOfWeek}" : "Week starts on {firstDayOfWeek}",
- "No locale set" : "تنظیمات locale انجام نشده است",
- "Your city" : "شهر شما",
- "Your organisation" : "نام سازمان",
- "Your phone number" : "شماره تلفن شما",
- "Edit your Profile visibility" : "ویرایش امکان مشاهده پروفایل",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "ملاک عمل، تنظیمات با محدودیت بالاتر است که اعمال می شوند. برای مثال، اگر \"قابلیت دیده شدن\" در وضعیت \"نمایش برای همه\" تنظیم شده باشد و \"محدوده دیده شدن\" در وضعیت \"خصوصی\" تنظیم شده باشد، تنظیم به وضعیت \"خصوصی\" که محدودیت بیشتری اعمال میکند اعمال خواهد شد.",
- "Unable to update visibility of {displayId}" : "Unable to update visibility of {displayId}",
- "Your role" : "نقش شما",
- "Your website" : "وبسایت شما",
- "Unable to update {property}" : "Unable to update {property}",
- "No {property} set" : "No {property} set",
- "Change scope level of {property}, current scope is {scope}" : "Change scope level of {property}, current scope is {scope}",
- "Unable to update federation scope of the primary {property}" : "Unable to update federation scope of the primary {property}",
- "Unable to update federation scope of additional {property}" : "Unable to update federation scope of additional {property}",
- "Add additional email" : "Add additional email",
- "Add" : "افزودن",
- "Create" : "ایجاد",
- "Change" : "تغییر",
- "Delete" : "حذف",
- "Reshare" : "بازهم‌رسانی",
- "Default language" : "زبان پیش فرض",
- "Common languages" : "زبانهای رایج",
- "Other languages" : "Other languages",
- "Password change is disabled because the master key is disabled" : "تغییر رمز غیرفعال شده است زیرا کلید اصلی غیرفعال شده است",
- "No accounts" : "حسابی وجود ندارد",
- "Manager" : "Manager",
- "Display name" : "نمایش نام",
- "Either password or email is required" : "Either password or email is required",
- "Password (required)" : "Password (required)",
- "Email (required)" : "Email (required)",
- "Email" : "ایمیل",
- "Quota" : "سهم",
- "Language" : "زبان",
- "Set default language" : "Set default language",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} حساب ...","{userCount} حساب ..."],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} حساب","{userCount} حساب"],
- "Total rows summary" : "خلاصه کل ردیف ها",
- "Scroll to load more rows" : "Scroll to load more rows",
- "Password or insufficient permissions message" : "Password or insufficient permissions message",
- "Avatar" : "آواتار",
- "Account name" : "Account name",
- "Group admin for" : "مدیر گروه برای",
- "Storage location" : "محل ذخیره سازی",
- "Last login" : "آخرین ورود",
- "Account actions" : "اقدامات حساب",
- "{size} used" : "{size} مورد استفاده",
- "Resend welcome email" : "ارسال ایمیل خوش آمدید",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "در صورت گم شدن دستگاه یا خارج شدن از سازمان ، می توانید داده های نکست کلود را از راه دور از بین همه دستگاه های مرتبط با {userid} آن پاک کنید. فقط در صورت اتصال دستگاه ها به اینترنت کار می کند.",
- "Remote wipe of devices" : "پاک کردن از راه دور دستگاه ها",
- "Wipe {userid}'s devices" : "دستگاه های {userid} را پاک کنید",
- "Wiped {userid}'s devices" : "Wiped {userid}'s devices",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "حساب {userid} را با تمام پرونده های شخصی ، داده های برنامه و غیره به طور کامل حذف کنید.",
- "Account deletion" : "حذف حساب کاربری",
- "Delete {userid}'s account" : "حساب {userid} را حذف کنید",
- "Display name was successfully changed" : "Display name was successfully changed",
- "Password was successfully changed" : "Password was successfully changed",
- "Email was successfully changed" : "Email was successfully changed",
- "Welcome mail sent!" : "نامه خوش آمديد ارسال شد",
- "Set the language" : "Set the language",
- "Done" : "انجام شد",
- "Edit" : "ویرایش",
- "Visibility" : "Visibility",
- "Show language" : "Show language",
- "Show storage path" : "نمایش مسیر ذخیره سازی",
- "Show last login" : "نمایش آخرین ورود",
- "Sorting" : "مرتب سازی",
- "Send email" : "ارسال ایمیل",
- "Defaults" : "Defaults",
- "Default quota" : "سهمیه پیش فرض",
- "Select default quota" : "سهمیه پیش فرض را انتخاب کنید",
- "Server error while trying to complete WebAuthn device registration" : "Server error while trying to complete WebAuthn device registration",
- "Passwordless authentication requires a secure connection." : "Passwordless authentication requires a secure connection.",
- "Add WebAuthn device" : "Add WebAuthn device",
- "Please authorize your WebAuthn device." : "Please authorize your WebAuthn device.",
- "Adding your device …" : "Adding your device …",
- "Unnamed device" : "Unnamed device",
- "Passwordless Authentication" : "Passwordless Authentication",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Set up your account for passwordless authentication following the FIDO2 standard.",
- "No devices configured." : "No devices configured.",
- "The following devices are configured for your account:" : "The following devices are configured for your account:",
- "Your browser does not support WebAuthn." : "Your browser does not support WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "به عنوان مدیر ، می توانید رفتار اشتراک گذاری را تنظیم کنید. لطفا برای اطلاعات بیشتر به اسناد مراجعه کنید.",
- "You need to enable the File sharing App." : "You need to enable the File sharing App.",
- "All accounts" : "همهٔ حساب‌ها",
- "Admins" : "مدیران",
"Sending…" : "در حال ارسال",
"Email sent" : "ایمیل ارسال شد",
"Location" : "مکان",
@@ -398,6 +227,7 @@ OC.L10N.register(
"About" : "درباره",
"Full name" : "نام کامل",
"Additional email" : "Additional email",
+ "Email" : "ایمیل",
"Fediverse (e.g. Mastodon)" : "Fediverse (e.g. Mastodon)",
"Headline" : "عنوان",
"Organisation" : "سازمان",
@@ -406,6 +236,7 @@ OC.L10N.register(
"Role" : "نقش",
"Website" : "وب‌ سایت",
"Profile visibility" : "امکان دیده شدن پروفایل",
+ "Language" : "زبان",
"Locale" : "محل",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Not available as this property is required for core functionality including file sharing and calendar invitations",
"Your apps" : "برنامه‌های شما",
@@ -418,11 +249,13 @@ OC.L10N.register(
"Show to everyone" : "نمایش به همه",
"Show to logged in accounts only" : "فقط به حساب‌هایی که وارد شده‌اند نمایش یابد",
"Hide" : "پنهان کردن",
+ "Update to {version}" : "به‌روز رسانی به {version}",
"Download and enable" : "بارگیری و فعال سازی",
"Disable" : "غیرفعال",
"Allow untested app" : "Allow untested app",
"The app will be downloaded from the App Store" : "The app will be downloaded from the App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "این برنامه مطابق با نسخه نکست کلود شما مشخص نشده است. اگر ادامه بدهید همچنان می توانید برنامه را نصب کنید. توجه داشته باشید که برنامه ممکن است مطابق آنچه انتظار می رود کار نکند.",
+ "{size} used" : "{size} مورد استفاده",
"Unknown" : "ناشناخته",
"Never" : "هرگز",
"An error occurred during the request. Unable to proceed." : "An error occurred during the request. Unable to proceed.",
@@ -435,6 +268,8 @@ OC.L10N.register(
"Error while updating device token scope" : "هنگام بروزرسانی دامنه توکن وسیله خطایی رخ داد",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "There were too many requests from your network. Retry later or contact your administrator if this is an error.",
"Error" : "خطا",
+ "Default quota" : "سهمیه پیش فرض",
+ "Documentation" : "مستندسازی",
"Forum" : "انجمن",
"Nextcloud help & privacy resources" : "منابع راهنما و حریم شخصی نکست‌کلود",
"Legal notice" : "توصیهٔ حقوقی",
@@ -455,6 +290,7 @@ OC.L10N.register(
"SMTP Password" : "رمز عبور SMTP",
"Save" : "ذخیره",
"Test and verify email settings" : "Test and verify email settings",
+ "Send email" : "ارسال ایمیل",
"Security & setup warnings" : "اخطارهای نصب و امنیتی",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "برای امنیت و عملکرد نمونه شما، مهم است که همه چیز به درستی پیکربندی شده باشد. برای کمک به شما در این مورد ، ما برخی از بررسی های خودکار را انجام می دهیم. لطفا برای اطلاعات بیشتر به مستندات مرتبط مراجعه کنید.",
"All checks passed." : "تمامی موارد با موفقیت چک شدند.",
@@ -473,9 +309,6 @@ OC.L10N.register(
"Use a second factor besides your password to increase security for your account." : "برای افزایش امنیت حساب کاربری خود ، از یک عامل دوم علاوه بر رمز عبور خود استفاده کنید.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication.",
"To allow this check to run you have to make sure that your Web server can connect to itself. Therefore it must be able to resolve and connect to at least one of its `trusted_domains` or the `overwrite.cli.url`. This failure may be the result of a server-side DNS mismatch or outbound firewall rule." : "برای اجرای این بررسی، باید مطمئن شوید که وب‌سرور شما می‌تواند به خودش متصل شود. بنابراین باید بتواند حداقل یکی از `trusted_domains` یا `overwrite.cli.url` خود را حل و به آن متصل شود. این خطا ممکن است نتیجه عدم تطابق DNS سمت سرور یا قانون فایروال خروجی باشد.",
- "Set default expiration date for shares" : "تاریخ انقضا پیش فرض را برای اشتراک گذاری تعیین کنید",
- "Your biography" : "بیوگرافی شما",
- "You are using <strong>{usage}</strong>" : "فضای مورد استفاده: <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "شما در حال استفادهٔ <strong>{usage}</strong> از <strong>{totalSpace}</strong> (<strong>{usageRelative}٪</strong>) فضا هستید"
+ "Set default expiration date for shares" : "تاریخ انقضا پیش فرض را برای اشتراک گذاری تعیین کنید"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/settings/l10n/fa.json b/apps/settings/l10n/fa.json
index 89a923794ff..282dc046478 100644
--- a/apps/settings/l10n/fa.json
+++ b/apps/settings/l10n/fa.json
@@ -184,54 +184,6 @@
"Group name" : "نام گروه",
"Loading groups…" : "Loading groups…",
"Loading" : "Loading",
- "Daemon" : "فرایندهای پس زمینه",
- "Type" : "نوع",
- "Learn more" : "بیشتر بدانید",
- "Confirm" : "تأیید",
- "Cancel" : "منصرف شدن",
- "Description" : "شرح",
- "View in store" : "نمایش در فروشگاه",
- "Visit website" : "سر زدن به پایگاه وب",
- "Admin documentation" : "مستندات مدیر",
- "Developer documentation" : "مستندات توسعه‌دهندگان",
- "Details" : "جزییات",
- "All" : "همه",
- "Limit app usage to groups" : "محدودیت استفاده از کاره به گروه‌ها",
- "No results" : "بدون نتیجه",
- "Update to {version}" : "به‌روز رسانی به {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "این برنامه حداقل دارای نسخه بعدی نکست کلود است. این یک خطا در آینده خواهد بود.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "این برنامه حداکثر نسخه نکست کلود اختصاصی ندارد. این یک خطا در آینده خواهد بود.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "امکان نصب این برنامه وجود ندارد، این پیش‌نیازها انجام نشده‌اند:",
- "Author" : "نویسنده",
- "Categories" : "دسته‌ها",
- "Resources" : "منابع",
- "Documentation" : "مستندسازی",
- "Interact" : "تعامل",
- "Report a bug" : "گزارش یک خطا",
- "Request feature" : "درخواست ویژگی",
- "Ask questions or discuss" : "پرسش یا بحث",
- "Rate" : "رتبه‌بندی",
- "Changelog" : "تغییر",
- "Google Chrome for Android" : "کروم گوگل برای اندروید",
- "{productName} iOS app" : "کارهٔ iOS {productName}",
- "{productName} Android app" : "کارهٔ اندرویدی {productName}",
- "{productName} Talk for iOS" : "صحبت {productName} برای iOS",
- "{productName} Talk for Android" : "صحبت {productName} برای اندروید",
- "This session" : "این نشست",
- "Marked for remote wipe" : "علامت خورده برای زودون دوردست",
- "Device settings" : "تنظیمات افزاره",
- "Allow filesystem access" : "اجازهٔ دسترسی به سامانه‌پرونده",
- "Rename" : "تغییرنام",
- "Revoke" : "لغو",
- "Wipe device" : "حذف دستگاه",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revoking this token might prevent the wiping of your device if it has not started the wipe yet.",
- "Device" : "افزاره",
- "Last activity" : "آخرین فعّالیت",
- "Devices & sessions" : "دستگاه ها و نشست ها",
- "Web, desktop and mobile clients currently logged in to your account." : "لیست دستگاه ها و نشست های فعال وارد شده با اکانت شما",
- "Error while creating device token" : "هنگام ایجاد نشانه وسیله خطایی رخ داد",
- "App name" : "نام برنامه",
- "Create new app password" : "ساختن رمزعبور برنامه جدید ",
"Could not copy app password. Please copy it manually." : "نمی توان رمزعبور برنامه را کپی کرد. لطفاً آن را به صورت دستی کپی کنید.",
"Login" : "ورود",
"Password" : "گذرواژه",
@@ -262,133 +214,10 @@
"Be aware that encryption always increases the file size." : "توجه داشته باشید که همواره رمزگذاری حجم فایل را افزایش خواهد داد.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "همیشه خوب است که از داده های خود نسخه پشتیبان تهیه کنید ، در صورت رمزگذاری مطمئن شوید که از کلیدهای رمزنگاری به همراه داده خود نسخه پشتیبان تهیه کنید.",
"This is the final warning: Do you really want to enable encryption?" : "این آخرین اخطار است: آیا می‌خواهید رمزگذاری را فعال کنید ؟",
+ "Cancel" : "منصرف شدن",
+ "Confirm" : "تأیید",
"Submit" : "ارسال",
"Rename group" : "Rename group",
- "Current password" : "گذرواژه کنونی",
- "New password" : "گذرواژه جدید",
- "Change password" : "تغییر گذر واژه",
- "Choose your profile picture" : "عکس نمایهٔ خود را انتخاب کنید",
- "Please select a valid png or jpg file" : "لطفاً یک فایل png یا jpg معتبر انتخاب کنید",
- "Error setting profile picture" : "خطا در تنظیم عکس نمایه",
- "Error cropping profile picture" : "خطا در برش عکس نمایه",
- "Error saving profile picture" : "خطا در ذخیره تصویر نمایه",
- "Error removing profile picture" : "خطا در حذف عکس نمایه",
- "Your profile picture" : "نگارهٔ نمایه‌تان",
- "Upload profile picture" : "بارگذاری نگارهٔ نمایه",
- "Choose profile picture from Files" : "تصویر نمایه‌تان را از پرونده‌ها انتخاب کنید",
- "Remove profile picture" : "برداشتن نگارهٔ نمایه",
- "The file must be a PNG or JPG" : "The file must be a PNG or JPG",
- "Picture provided by original account" : "نگاره فراهم شده به دست حساب اصلی",
- "Set as profile picture" : "به عنوان عکس نمایه تنظیم کنید",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "لطفاً توجه داشته باشید که ممکن است تا 24 ساعت طول بکشد تا عکس نمایه شما در همه جا به روز شود.",
- "You are a member of the following groups:" : "عضوی از گروه‌های زیر هستید:",
- "Your full name" : "Your full name",
- "Email options" : "Email options",
- "Remove primary email" : "Remove primary email",
- "Delete email" : "Delete email",
- "This address is not confirmed" : "This address is not confirmed",
- "Unset as primary email" : "Unset as primary email",
- "Set as primary email" : "Set as primary email",
- "Additional email address {index}" : "Additional email address {index}",
- "Unable to delete primary email address" : "Unable to delete primary email address",
- "Unable to update primary email address" : "Unable to update primary email address",
- "Unable to add additional email address" : "Unable to add additional email address",
- "Unable to update additional email address" : "Unable to update additional email address",
- "Unable to delete additional email address" : "Unable to delete additional email address",
- "Primary email for password reset and notifications" : "ایمیل اصلی برای بازیابی رمز عبور و دریافت اعلان ها",
- "No email address set" : "آدرس‌ایمیلی تنظیم نشده است",
- "Your handle" : "Your handle",
- "Your headline" : "عنوان سرصفحه",
- "Unable to update language" : "Unable to update language",
- "Help translate" : "به ترجمه آن کمک کنید",
- "No language set" : "زبانی تنظیم نشده است.",
- "Unable to update locale" : "Unable to update locale",
- "Week starts on {firstDayOfWeek}" : "Week starts on {firstDayOfWeek}",
- "No locale set" : "تنظیمات locale انجام نشده است",
- "Your city" : "شهر شما",
- "Your organisation" : "نام سازمان",
- "Your phone number" : "شماره تلفن شما",
- "Edit your Profile visibility" : "ویرایش امکان مشاهده پروفایل",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "ملاک عمل، تنظیمات با محدودیت بالاتر است که اعمال می شوند. برای مثال، اگر \"قابلیت دیده شدن\" در وضعیت \"نمایش برای همه\" تنظیم شده باشد و \"محدوده دیده شدن\" در وضعیت \"خصوصی\" تنظیم شده باشد، تنظیم به وضعیت \"خصوصی\" که محدودیت بیشتری اعمال میکند اعمال خواهد شد.",
- "Unable to update visibility of {displayId}" : "Unable to update visibility of {displayId}",
- "Your role" : "نقش شما",
- "Your website" : "وبسایت شما",
- "Unable to update {property}" : "Unable to update {property}",
- "No {property} set" : "No {property} set",
- "Change scope level of {property}, current scope is {scope}" : "Change scope level of {property}, current scope is {scope}",
- "Unable to update federation scope of the primary {property}" : "Unable to update federation scope of the primary {property}",
- "Unable to update federation scope of additional {property}" : "Unable to update federation scope of additional {property}",
- "Add additional email" : "Add additional email",
- "Add" : "افزودن",
- "Create" : "ایجاد",
- "Change" : "تغییر",
- "Delete" : "حذف",
- "Reshare" : "بازهم‌رسانی",
- "Default language" : "زبان پیش فرض",
- "Common languages" : "زبانهای رایج",
- "Other languages" : "Other languages",
- "Password change is disabled because the master key is disabled" : "تغییر رمز غیرفعال شده است زیرا کلید اصلی غیرفعال شده است",
- "No accounts" : "حسابی وجود ندارد",
- "Manager" : "Manager",
- "Display name" : "نمایش نام",
- "Either password or email is required" : "Either password or email is required",
- "Password (required)" : "Password (required)",
- "Email (required)" : "Email (required)",
- "Email" : "ایمیل",
- "Quota" : "سهم",
- "Language" : "زبان",
- "Set default language" : "Set default language",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} حساب ...","{userCount} حساب ..."],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} حساب","{userCount} حساب"],
- "Total rows summary" : "خلاصه کل ردیف ها",
- "Scroll to load more rows" : "Scroll to load more rows",
- "Password or insufficient permissions message" : "Password or insufficient permissions message",
- "Avatar" : "آواتار",
- "Account name" : "Account name",
- "Group admin for" : "مدیر گروه برای",
- "Storage location" : "محل ذخیره سازی",
- "Last login" : "آخرین ورود",
- "Account actions" : "اقدامات حساب",
- "{size} used" : "{size} مورد استفاده",
- "Resend welcome email" : "ارسال ایمیل خوش آمدید",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "در صورت گم شدن دستگاه یا خارج شدن از سازمان ، می توانید داده های نکست کلود را از راه دور از بین همه دستگاه های مرتبط با {userid} آن پاک کنید. فقط در صورت اتصال دستگاه ها به اینترنت کار می کند.",
- "Remote wipe of devices" : "پاک کردن از راه دور دستگاه ها",
- "Wipe {userid}'s devices" : "دستگاه های {userid} را پاک کنید",
- "Wiped {userid}'s devices" : "Wiped {userid}'s devices",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "حساب {userid} را با تمام پرونده های شخصی ، داده های برنامه و غیره به طور کامل حذف کنید.",
- "Account deletion" : "حذف حساب کاربری",
- "Delete {userid}'s account" : "حساب {userid} را حذف کنید",
- "Display name was successfully changed" : "Display name was successfully changed",
- "Password was successfully changed" : "Password was successfully changed",
- "Email was successfully changed" : "Email was successfully changed",
- "Welcome mail sent!" : "نامه خوش آمديد ارسال شد",
- "Set the language" : "Set the language",
- "Done" : "انجام شد",
- "Edit" : "ویرایش",
- "Visibility" : "Visibility",
- "Show language" : "Show language",
- "Show storage path" : "نمایش مسیر ذخیره سازی",
- "Show last login" : "نمایش آخرین ورود",
- "Sorting" : "مرتب سازی",
- "Send email" : "ارسال ایمیل",
- "Defaults" : "Defaults",
- "Default quota" : "سهمیه پیش فرض",
- "Select default quota" : "سهمیه پیش فرض را انتخاب کنید",
- "Server error while trying to complete WebAuthn device registration" : "Server error while trying to complete WebAuthn device registration",
- "Passwordless authentication requires a secure connection." : "Passwordless authentication requires a secure connection.",
- "Add WebAuthn device" : "Add WebAuthn device",
- "Please authorize your WebAuthn device." : "Please authorize your WebAuthn device.",
- "Adding your device …" : "Adding your device …",
- "Unnamed device" : "Unnamed device",
- "Passwordless Authentication" : "Passwordless Authentication",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Set up your account for passwordless authentication following the FIDO2 standard.",
- "No devices configured." : "No devices configured.",
- "The following devices are configured for your account:" : "The following devices are configured for your account:",
- "Your browser does not support WebAuthn." : "Your browser does not support WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "به عنوان مدیر ، می توانید رفتار اشتراک گذاری را تنظیم کنید. لطفا برای اطلاعات بیشتر به اسناد مراجعه کنید.",
- "You need to enable the File sharing App." : "You need to enable the File sharing App.",
- "All accounts" : "همهٔ حساب‌ها",
- "Admins" : "مدیران",
"Sending…" : "در حال ارسال",
"Email sent" : "ایمیل ارسال شد",
"Location" : "مکان",
@@ -396,6 +225,7 @@
"About" : "درباره",
"Full name" : "نام کامل",
"Additional email" : "Additional email",
+ "Email" : "ایمیل",
"Fediverse (e.g. Mastodon)" : "Fediverse (e.g. Mastodon)",
"Headline" : "عنوان",
"Organisation" : "سازمان",
@@ -404,6 +234,7 @@
"Role" : "نقش",
"Website" : "وب‌ سایت",
"Profile visibility" : "امکان دیده شدن پروفایل",
+ "Language" : "زبان",
"Locale" : "محل",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Not available as this property is required for core functionality including file sharing and calendar invitations",
"Your apps" : "برنامه‌های شما",
@@ -416,11 +247,13 @@
"Show to everyone" : "نمایش به همه",
"Show to logged in accounts only" : "فقط به حساب‌هایی که وارد شده‌اند نمایش یابد",
"Hide" : "پنهان کردن",
+ "Update to {version}" : "به‌روز رسانی به {version}",
"Download and enable" : "بارگیری و فعال سازی",
"Disable" : "غیرفعال",
"Allow untested app" : "Allow untested app",
"The app will be downloaded from the App Store" : "The app will be downloaded from the App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "این برنامه مطابق با نسخه نکست کلود شما مشخص نشده است. اگر ادامه بدهید همچنان می توانید برنامه را نصب کنید. توجه داشته باشید که برنامه ممکن است مطابق آنچه انتظار می رود کار نکند.",
+ "{size} used" : "{size} مورد استفاده",
"Unknown" : "ناشناخته",
"Never" : "هرگز",
"An error occurred during the request. Unable to proceed." : "An error occurred during the request. Unable to proceed.",
@@ -433,6 +266,8 @@
"Error while updating device token scope" : "هنگام بروزرسانی دامنه توکن وسیله خطایی رخ داد",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "There were too many requests from your network. Retry later or contact your administrator if this is an error.",
"Error" : "خطا",
+ "Default quota" : "سهمیه پیش فرض",
+ "Documentation" : "مستندسازی",
"Forum" : "انجمن",
"Nextcloud help & privacy resources" : "منابع راهنما و حریم شخصی نکست‌کلود",
"Legal notice" : "توصیهٔ حقوقی",
@@ -453,6 +288,7 @@
"SMTP Password" : "رمز عبور SMTP",
"Save" : "ذخیره",
"Test and verify email settings" : "Test and verify email settings",
+ "Send email" : "ارسال ایمیل",
"Security & setup warnings" : "اخطارهای نصب و امنیتی",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "برای امنیت و عملکرد نمونه شما، مهم است که همه چیز به درستی پیکربندی شده باشد. برای کمک به شما در این مورد ، ما برخی از بررسی های خودکار را انجام می دهیم. لطفا برای اطلاعات بیشتر به مستندات مرتبط مراجعه کنید.",
"All checks passed." : "تمامی موارد با موفقیت چک شدند.",
@@ -471,9 +307,6 @@
"Use a second factor besides your password to increase security for your account." : "برای افزایش امنیت حساب کاربری خود ، از یک عامل دوم علاوه بر رمز عبور خود استفاده کنید.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication.",
"To allow this check to run you have to make sure that your Web server can connect to itself. Therefore it must be able to resolve and connect to at least one of its `trusted_domains` or the `overwrite.cli.url`. This failure may be the result of a server-side DNS mismatch or outbound firewall rule." : "برای اجرای این بررسی، باید مطمئن شوید که وب‌سرور شما می‌تواند به خودش متصل شود. بنابراین باید بتواند حداقل یکی از `trusted_domains` یا `overwrite.cli.url` خود را حل و به آن متصل شود. این خطا ممکن است نتیجه عدم تطابق DNS سمت سرور یا قانون فایروال خروجی باشد.",
- "Set default expiration date for shares" : "تاریخ انقضا پیش فرض را برای اشتراک گذاری تعیین کنید",
- "Your biography" : "بیوگرافی شما",
- "You are using <strong>{usage}</strong>" : "فضای مورد استفاده: <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "شما در حال استفادهٔ <strong>{usage}</strong> از <strong>{totalSpace}</strong> (<strong>{usageRelative}٪</strong>) فضا هستید"
+ "Set default expiration date for shares" : "تاریخ انقضا پیش فرض را برای اشتراک گذاری تعیین کنید"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/fi.js b/apps/settings/l10n/fi.js
index 34e3ac3ba9c..b38508457cb 100644
--- a/apps/settings/l10n/fi.js
+++ b/apps/settings/l10n/fi.js
@@ -221,64 +221,6 @@ OC.L10N.register(
"Nothing to show" : "Ei mitään näytettävää",
"Loading" : "Ladataan",
"Fetching the latest news…" : "Noudetaan viimeisimpiä uutisia…",
- "Carousel" : "Karuselli",
- "Previous slide" : "Edellinen dia",
- "Next slide" : "Seuraava dia",
- "Choose slide to display" : "Valitse näytettävä dia",
- "{index} of {total}" : "{index}/{total}",
- "Daemon" : "Taustapalvelu",
- "Type" : "Tyyppi",
- "Display Name" : "Näyttönimi",
- "Learn more" : "Opi lisää",
- "Environment variables" : "Ympäristömuuttujat",
- "Confirm" : "Vahvista",
- "Cancel" : "Peru",
- "Description" : "Kuvaus",
- "View in store" : "Näytä kaupassa",
- "Visit website" : "Käy verkkosivustolla",
- "Admin documentation" : "Ylläpitäjän ohjeistus",
- "Developer documentation" : "Kehittäjädokumentaatio",
- "Details" : "Yksityiskohdat",
- "All" : "Kaikki",
- "Limit app usage to groups" : "Rajoita sovelluskäyttö ryhmiin",
- "No results" : "Ei tuloksia",
- "Update to {version}" : "Päivitä versioon {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Tämä sovellus ei ole määritellyt minimi Nextcloud-versiota. Tämä tulee olemaan ongelma tulevaisuudessa.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Tämä sovellus ei ole määritellyt maksimi Nextcloud-versiota. Tämä tulee olemaan ongelma tulevaisuudessa.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Tätä sovellusta ei voi asentaa, koska seuraavat riippuvuudet eivät täyty:",
- "Author" : "Tekijä",
- "Categories" : "Luokat",
- "Resources" : "Resurssit",
- "Documentation" : "Dokumentaatio",
- "Report a bug" : "Ilmoita viasta",
- "Request feature" : "Ehdota ominaisuutta",
- "Ask questions or discuss" : "Esitä kysymyksiä tai keskustele",
- "Rate the app" : "Arvostele sovellus",
- "Rate" : "Arvostele",
- "Changelog" : "Muutosloki",
- "Google Chrome for Android" : "Google Chrome Android-laitteelle",
- "{productName} iOS app" : "{productName}in iOS-sovellus",
- "{productName} Android app" : "{productName}in Android-sovellus",
- "{productName} Talk for iOS" : "{productName} Talk iOS:lle",
- "{productName} Talk for Android" : "{productName} Talk Androidille",
- "This session" : "Tämä istunto",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Laitteen nimi",
- "Save new name" : "Tallenna uusi nimi",
- "Marked for remote wipe" : "Merkitty etätyhjennettäväksi",
- "Device settings" : "Laiteasetukset",
- "Allow filesystem access" : "Salli pääsy tiedostojärjestelmään",
- "Rename" : "Nimeä uudelleen",
- "Revoke" : "Peru oikeus",
- "Wipe device" : "Tyhjennä laite",
- "Device" : "Laite",
- "Last activity" : "Viimeksi käytetty",
- "Devices & sessions" : "Laitteet ja istunnot",
- "Web, desktop and mobile clients currently logged in to your account." : "Verkko-, työpöytä- ja mobiililaitteet, jotka ovat parhaillaan kirjautuneet tilillesi.",
- "Error while creating device token" : "Virhe laitepolettia luotaessa",
- "App name" : "Sovelluksen nimi",
- "Create new app password" : "Luo uusi sovellussalasana",
"App password copied!" : "Sovellussalasana kopioitu!",
"Copy app password" : "Kopioi sovellussalasana",
"Login name copied!" : "Kirjautumisnimi kopioitu!",
@@ -311,150 +253,11 @@ OC.L10N.register(
"This is the final warning: Do you really want to enable encryption?" : "Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?",
"Failed to delete group \"{group}\"" : "Ryhmän \"{group}\" poistaminen epäonnistui",
"Please confirm the group removal" : "Vahvista ryhmän poistaminen",
+ "Cancel" : "Peru",
+ "Confirm" : "Vahvista",
"Submit" : "Lähetä",
"Rename group" : "Nimeä ryhmä uudelleen",
"Delete group" : "Poista ryhmä",
- "Current password" : "Nykyinen salasana",
- "New password" : "Uusi salasana",
- "Change password" : "Vaihda salasana",
- "Choose your profile picture" : "Valitse profiilikuva",
- "Please select a valid png or jpg file" : "Valitse kelvollinen png- tai jpg-tiedosto",
- "Error setting profile picture" : "Virhe profiilikuvaa asettaessa",
- "Error cropping profile picture" : "Virhe profiilikuvaa rajatessa",
- "Error saving profile picture" : "Virhe profiilikuvaa tallentaessa",
- "Error removing profile picture" : "Virhe profiilikuvaa poistaessa",
- "Your profile picture" : "Profiilikuvasi",
- "Upload profile picture" : "Lähetä profiilikuva",
- "Choose profile picture from Files" : "Valitse profiilikuva tiedostoista",
- "Remove profile picture" : "Poista profiilikuva",
- "The file must be a PNG or JPG" : "Tiedoston tulee olla PNG tai JPG",
- "Picture provided by original account" : "Kuvan tarjoaa alkuperäinen tili",
- "Set as profile picture" : "Aseta profiilikuvaksi",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Ota huomioon, että profiilikuvasi päivittyminen kaikkialle saattaa kestää jopa 24 tuntia.",
- "Unable to update date of birth" : "Syntymäpäivää ei voitu päivittää",
- "Enter your date of birth" : "Kirjoita syntymäpäiväsi",
- "You are a member of the following groups:" : "Olet seuraavien ryhmien jäsen:",
- "Your full name" : "Koko nimesi",
- "Email options" : "Sähköpostiasetukset",
- "Remove primary email" : "Poista ensisijainen sähköpostiosoite",
- "Delete email" : "Poista sähköposti",
- "This address is not confirmed" : "Tätä osoitetta ei ole vahvistettu",
- "Unset as primary email" : "Poista ensisijaisesta sähköpostista",
- "Set as primary email" : "Aseta ensisijaiseksi sähköpostiosoitteeksi",
- "Additional email address {index}" : "Lisäsähköpostiosoite {index}",
- "Unable to delete primary email address" : "Ensisijaista sähköpostiosoitetta ei voitu poistaa",
- "Unable to update primary email address" : "Ensisijaista sähköpostiosoitetta ei voitu päivittää",
- "Primary email for password reset and notifications" : "Ensisijainen sähköposti salasanan nollaamista ja ilmoituksia varten",
- "No email address set" : "Sähköpostiosoitetta ei ole asetettu",
- "Your headline" : "Otsikkosi",
- "Unable to update language" : "Kieltä ei voi päivittää",
- "Languages" : "Kielet",
- "Help translate" : "Auta kääntämisessä",
- "No language set" : "Kieltä ei ole asetettu",
- "Unable to update locale" : "Maa-asetuston päivittäminen ei onnistu",
- "Locales" : "Aluekohtaiset asetukset",
- "Week starts on {firstDayOfWeek}" : "Viikon ensimmäinen päivä on {firstDayOfWeek}",
- "No locale set" : "Maa-asetustoa ei ole asetettu",
- "Your city" : "Kaupunkisi",
- "Your organisation" : "Organisaatiosi",
- "Your phone number" : "Puhelinnumerosi",
- "Edit your Profile visibility" : "Muokkaa profiilisi näkyvyyttä",
- "Enable profile" : "Ota profiili käyttöön",
- "Your role" : "Roolisi",
- "Your website" : "Verkkosivustosi",
- "Invalid value" : "Virheellinen arvo",
- "Add additional email" : "Lisää toissijainen sähköpostiosoite",
- "Add" : "Lisää",
- "Create" : "Luo",
- "Change" : "Muuta",
- "Delete" : "Poista",
- "Reshare" : "Jaa edelleen",
- "Default language" : "Oletuskieli",
- "Common languages" : "Yleiset kielet",
- "Other languages" : "Muut kielet",
- "No accounts" : "Ei tilejä",
- "Loading accounts …" : "Ladataan tilejä…",
- "Account name will be autogenerated" : "Tilin nimi luodaan automaattisesti",
- "Account name (required)" : "Tilin nimi (pakollinen)",
- "New account" : "Uusi tili",
- "Display name" : "Näyttönimi",
- "Either password or email is required" : "Joko salasana tai sähköpostiosoite vaaditaan",
- "Password (required)" : "Salasana (pakollinen)",
- "Email (required)" : "Sähköposti (pakollinen)",
- "Email" : "Sähköpostiosoite",
- "Quota" : "Kiintiö",
- "Set account quota" : "Aseta tilin kiintiö",
- "Language" : "Kieli",
- "Set default language" : "Aseta oletuskieli",
- "Add new account" : "Lisää uusi tili",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} tili…","{userCount} tiliä…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} tili","{userCount} tiliä"],
- "Scroll to load more rows" : "Vieritä ladataksesi enemmän rivejä",
- "Avatar" : "Profiilikuva",
- "Account name" : "Tilin nimi",
- "Group admin for" : "Ryhmäylläpitäjä ryhmille",
- "Storage location" : "Tallennustilan sijainti",
- "Last login" : "Viimeisin kirjautuminen",
- "Account actions" : "Tilin toiminnot",
- "{size} used" : "{size} käytetty",
- "Delete account" : "Poista tili",
- "Disable account" : "Poista tili käytöstä",
- "Enable account" : "Ota tili käyttöön",
- "Resend welcome email" : "Lähetä uudelleen tervetuloviesti",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Laitteen kadotessa tai organisaatiosta poistuessa voidaan käyttäjälle {userid} Nextcloudiin yhdistetyistä laitteista pyyhkiä tiedot. Toimii vain laitteiden ollessa yhteydessä Internetiin.",
- "Remote wipe of devices" : "Laitteiden etätyhjennys",
- "Wipe {userid}'s devices" : "Tyhjennä käyttäjän {userid} laitteet",
- "Wiped {userid}'s devices" : "Tyhjennetty käyttäjän {userid} laitteet",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Poista täysin käyttäjän {userid} tili mukaan lukien henkilökohtaiset tiedostot, sovellusten tiedot jne.",
- "Account deletion" : "Tilin poistaminen",
- "Delete {userid}'s account" : "Poista käyttäjän {userid} tili",
- "Display name was successfully changed" : "Näyttönimi vaihdettiin onnistuneesti",
- "Password can't be empty" : "Salasana ei voi olla tyhjä",
- "Password was successfully changed" : "Salasana vaihdettiin onnistuneesti",
- "Email can't be empty" : "Sähköposti ei voi olla tyhjä",
- "Email was successfully changed" : "Sähköpostiosoite vaihdettiin onnistuneesti",
- "Welcome mail sent!" : "Tervetuloviesti lähetetty!",
- "Loading account …" : "Ladataan tiliä…",
- "Change display name" : "Vaihda näyttönimi",
- "Set new password" : "Aseta uusi salasana:",
- "Set new email address" : "Aseta uusi sähköpostiosoite",
- "Add account to group" : "Lisää tili ryhmään",
- "Select account quota" : "Valitse tilin kiintiö",
- "Set the language" : "Aseta kieli",
- "Done" : "Valmis",
- "Edit" : "Muokkaa",
- "Account management settings" : "Tilihallinnan asetukset",
- "Visibility" : "Näkyvyys",
- "Show language" : "Näytä kieli",
- "Show storage path" : "Näytä tallennustilan polku",
- "Show last login" : "Näytä viimeisin sisäänkirjautuminen",
- "Sorting" : "Lajittelu",
- "Send email" : "Lähetä sähköpostiviesti",
- "Send welcome email to new accounts" : "Lähetä Tervetuloa-sähköposti uusille tileille",
- "Defaults" : "Oletukset",
- "Default quota" : "Oletuskiintiö",
- "Select default quota" : "Valitse oletuskiintiö",
- "Server error while trying to complete WebAuthn device registration" : "Palvelinvirhe kun yritettiin suorittaa WebAuthn-laitteen rekisteröintiä",
- "Passwordless authentication requires a secure connection." : "Tunnistautuminen ilman salasanaa vaatii salatun yhteyden.",
- "Add WebAuthn device" : "Lisää WebAuthn-laite",
- "Please authorize your WebAuthn device." : "Valtuuta WebAuthn-laitteesi.",
- "Adding your device …" : "Lisätään laitettasi…",
- "Unnamed device" : "Nimetön laite",
- "Passwordless Authentication" : "Tunnistautuminen ilman salasanaa",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Aseta tilillesi tunnistautuminen ilman salasanaa FIDO2-standardia seuraten.",
- "No devices configured." : "Laitteita ei ole määritetty.",
- "The following devices are configured for your account:" : "Seuraavat laitteet on määritetty tilillesi:",
- "Your browser does not support WebAuthn." : "Selaimesi ei tue WebAuthn-standardia.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Ylläpitäjänä voit hienosäätää jakamista. Katso dokumentaatiosta lisätietoa.",
- "Loading app list" : "Ladataan sovellusluetteloa",
- "Loading categories" : "Ladataan luokkia",
- "Developer documentation ↗" : "Kehittäjien dokumentaatio ↗",
- "Version {version}, {license}-licensed" : "Versio {version}, lisenssi {license}",
- "Version {version}" : "Versio {version}",
- "All accounts" : "Kaikki tilit",
- "Admins" : "Ylläpitäjät",
- "Account group: {group}" : "Tiliryhmä: {group}",
- "Account management" : "Tilihallinta",
"Sending…" : "Lähetetään…",
"Email sent" : "Sähköposti lähetetty",
"Location" : "Sijainti",
@@ -463,6 +266,7 @@ OC.L10N.register(
"Date of birth" : "Syntymäpäivä",
"Full name" : "Koko nimi",
"Additional email" : "Toissijainen sähköpostiosoite",
+ "Email" : "Sähköpostiosoite",
"Fediverse (e.g. Mastodon)" : "Fediverse (esim. Mastodon)",
"Headline" : "Otsikko",
"Organisation" : "Organisaatio",
@@ -471,6 +275,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (aiemmin Twitter)",
"Website" : "Verkkosivusto",
"Profile visibility" : "Profiilin näkyvyys",
+ "Language" : "Kieli",
"Locale" : "Aluekohtainen asetus",
"First day of week" : "Viikon ensimmäinen päivä",
"Your apps" : "Sovelluksesi",
@@ -483,11 +288,13 @@ OC.L10N.register(
"Show to everyone" : "Näytä kaikille",
"Show to logged in accounts only" : "Näytä vain sisäänkirjautuneille tileille",
"Hide" : "Piilota",
+ "Update to {version}" : "Päivitä versioon {version}",
"Download and enable" : "Lataa ja ota käyttöön",
"Disable" : "Poista käytöstä",
"Allow untested app" : "Salli testaamaton sovellus",
"The app will be downloaded from the App Store" : "Sovellus ladataan sovelluskaupasta",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Sovellusta ei ole merkattu yhteensopivaksi Nextcloud-versiosi kanssa. Voit kuitenkin jatkaa ja asentaa sovelluksen. Huomioi, että sovellus ei välttämättä toimi odotetusti.",
+ "{size} used" : "{size} käytetty",
"Unknown" : "Tuntematon",
"Never" : "Ei koskaan",
"Could not register device: Network error" : "Laitetta ei voitu rekisteröidä: verkkovirhe",
@@ -503,8 +310,10 @@ OC.L10N.register(
"Error while updating device token name" : "Virhe laitepoletin nimeä päivittäessä",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Verkostasi tehtiin liian monta pyyntöä. Yritä myöhemmin uudelleen tai ole yhteydessä ylläpitäjään, jos tämä on mielestäsi virhe.",
"Error" : "Virhe",
+ "Default quota" : "Oletuskiintiö",
"Account documentation" : "Tilin dokumentaatio",
"Administration documentation" : "Ylläpidon dokumentaatio",
+ "Documentation" : "Dokumentaatio",
"Forum" : "Keskustelupalsta",
"General documentation" : "Yleinen dokumentaatio",
"Legal notice" : "Lainopillinen huomautus",
@@ -524,6 +333,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP-salasana",
"Save" : "Tallenna",
"Test and verify email settings" : "Testaa ja vahvista sähköpostiasetukset",
+ "Send email" : "Lähetä sähköpostiviesti",
"Security & setup warnings" : "Turvallisuus- ja asetusvaroitukset",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Turvallisuuden ja suorituskyvyn vuoksi on tärkeää, että palvelimen asetukset ovat määritetty oikein. Apuna on joitain automaattisia tarkistuksia. Lue lisätietoja linkitetystä dokumentaatiosta.",
"All checks passed." : "Läpäistiin kaikki tarkistukset.",
@@ -542,9 +352,6 @@ OC.L10N.register(
"Use a second factor besides your password to increase security for your account." : "Käytä toista vaihetta salasanasi lisäksi parantaaksesi tilisi tietoturvaa.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Jos yhdistät kolmannen osapuolen ohjelmia Nextcloudiin, määritä niille sovellussalasanat ennen kaksiosaisen todentamismenetelmän käyttöönottoa.",
"File locking" : "Tiedostolukitus",
- "Set default expiration date for shares" : "Aseta oletusarvoinen vanhenemispäivä jaoille",
- "Your biography" : "Sinun elämäkertasi",
- "You are using <strong>{usage}</strong>" : "Käytössäsi on <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Käytössäsi on <strong>{usage}</strong>/<strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Aseta oletusarvoinen vanhenemispäivä jaoille"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/fi.json b/apps/settings/l10n/fi.json
index d78cfde1069..d7e70cdca8e 100644
--- a/apps/settings/l10n/fi.json
+++ b/apps/settings/l10n/fi.json
@@ -219,64 +219,6 @@
"Nothing to show" : "Ei mitään näytettävää",
"Loading" : "Ladataan",
"Fetching the latest news…" : "Noudetaan viimeisimpiä uutisia…",
- "Carousel" : "Karuselli",
- "Previous slide" : "Edellinen dia",
- "Next slide" : "Seuraava dia",
- "Choose slide to display" : "Valitse näytettävä dia",
- "{index} of {total}" : "{index}/{total}",
- "Daemon" : "Taustapalvelu",
- "Type" : "Tyyppi",
- "Display Name" : "Näyttönimi",
- "Learn more" : "Opi lisää",
- "Environment variables" : "Ympäristömuuttujat",
- "Confirm" : "Vahvista",
- "Cancel" : "Peru",
- "Description" : "Kuvaus",
- "View in store" : "Näytä kaupassa",
- "Visit website" : "Käy verkkosivustolla",
- "Admin documentation" : "Ylläpitäjän ohjeistus",
- "Developer documentation" : "Kehittäjädokumentaatio",
- "Details" : "Yksityiskohdat",
- "All" : "Kaikki",
- "Limit app usage to groups" : "Rajoita sovelluskäyttö ryhmiin",
- "No results" : "Ei tuloksia",
- "Update to {version}" : "Päivitä versioon {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Tämä sovellus ei ole määritellyt minimi Nextcloud-versiota. Tämä tulee olemaan ongelma tulevaisuudessa.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Tämä sovellus ei ole määritellyt maksimi Nextcloud-versiota. Tämä tulee olemaan ongelma tulevaisuudessa.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Tätä sovellusta ei voi asentaa, koska seuraavat riippuvuudet eivät täyty:",
- "Author" : "Tekijä",
- "Categories" : "Luokat",
- "Resources" : "Resurssit",
- "Documentation" : "Dokumentaatio",
- "Report a bug" : "Ilmoita viasta",
- "Request feature" : "Ehdota ominaisuutta",
- "Ask questions or discuss" : "Esitä kysymyksiä tai keskustele",
- "Rate the app" : "Arvostele sovellus",
- "Rate" : "Arvostele",
- "Changelog" : "Muutosloki",
- "Google Chrome for Android" : "Google Chrome Android-laitteelle",
- "{productName} iOS app" : "{productName}in iOS-sovellus",
- "{productName} Android app" : "{productName}in Android-sovellus",
- "{productName} Talk for iOS" : "{productName} Talk iOS:lle",
- "{productName} Talk for Android" : "{productName} Talk Androidille",
- "This session" : "Tämä istunto",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Laitteen nimi",
- "Save new name" : "Tallenna uusi nimi",
- "Marked for remote wipe" : "Merkitty etätyhjennettäväksi",
- "Device settings" : "Laiteasetukset",
- "Allow filesystem access" : "Salli pääsy tiedostojärjestelmään",
- "Rename" : "Nimeä uudelleen",
- "Revoke" : "Peru oikeus",
- "Wipe device" : "Tyhjennä laite",
- "Device" : "Laite",
- "Last activity" : "Viimeksi käytetty",
- "Devices & sessions" : "Laitteet ja istunnot",
- "Web, desktop and mobile clients currently logged in to your account." : "Verkko-, työpöytä- ja mobiililaitteet, jotka ovat parhaillaan kirjautuneet tilillesi.",
- "Error while creating device token" : "Virhe laitepolettia luotaessa",
- "App name" : "Sovelluksen nimi",
- "Create new app password" : "Luo uusi sovellussalasana",
"App password copied!" : "Sovellussalasana kopioitu!",
"Copy app password" : "Kopioi sovellussalasana",
"Login name copied!" : "Kirjautumisnimi kopioitu!",
@@ -309,150 +251,11 @@
"This is the final warning: Do you really want to enable encryption?" : "Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?",
"Failed to delete group \"{group}\"" : "Ryhmän \"{group}\" poistaminen epäonnistui",
"Please confirm the group removal" : "Vahvista ryhmän poistaminen",
+ "Cancel" : "Peru",
+ "Confirm" : "Vahvista",
"Submit" : "Lähetä",
"Rename group" : "Nimeä ryhmä uudelleen",
"Delete group" : "Poista ryhmä",
- "Current password" : "Nykyinen salasana",
- "New password" : "Uusi salasana",
- "Change password" : "Vaihda salasana",
- "Choose your profile picture" : "Valitse profiilikuva",
- "Please select a valid png or jpg file" : "Valitse kelvollinen png- tai jpg-tiedosto",
- "Error setting profile picture" : "Virhe profiilikuvaa asettaessa",
- "Error cropping profile picture" : "Virhe profiilikuvaa rajatessa",
- "Error saving profile picture" : "Virhe profiilikuvaa tallentaessa",
- "Error removing profile picture" : "Virhe profiilikuvaa poistaessa",
- "Your profile picture" : "Profiilikuvasi",
- "Upload profile picture" : "Lähetä profiilikuva",
- "Choose profile picture from Files" : "Valitse profiilikuva tiedostoista",
- "Remove profile picture" : "Poista profiilikuva",
- "The file must be a PNG or JPG" : "Tiedoston tulee olla PNG tai JPG",
- "Picture provided by original account" : "Kuvan tarjoaa alkuperäinen tili",
- "Set as profile picture" : "Aseta profiilikuvaksi",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Ota huomioon, että profiilikuvasi päivittyminen kaikkialle saattaa kestää jopa 24 tuntia.",
- "Unable to update date of birth" : "Syntymäpäivää ei voitu päivittää",
- "Enter your date of birth" : "Kirjoita syntymäpäiväsi",
- "You are a member of the following groups:" : "Olet seuraavien ryhmien jäsen:",
- "Your full name" : "Koko nimesi",
- "Email options" : "Sähköpostiasetukset",
- "Remove primary email" : "Poista ensisijainen sähköpostiosoite",
- "Delete email" : "Poista sähköposti",
- "This address is not confirmed" : "Tätä osoitetta ei ole vahvistettu",
- "Unset as primary email" : "Poista ensisijaisesta sähköpostista",
- "Set as primary email" : "Aseta ensisijaiseksi sähköpostiosoitteeksi",
- "Additional email address {index}" : "Lisäsähköpostiosoite {index}",
- "Unable to delete primary email address" : "Ensisijaista sähköpostiosoitetta ei voitu poistaa",
- "Unable to update primary email address" : "Ensisijaista sähköpostiosoitetta ei voitu päivittää",
- "Primary email for password reset and notifications" : "Ensisijainen sähköposti salasanan nollaamista ja ilmoituksia varten",
- "No email address set" : "Sähköpostiosoitetta ei ole asetettu",
- "Your headline" : "Otsikkosi",
- "Unable to update language" : "Kieltä ei voi päivittää",
- "Languages" : "Kielet",
- "Help translate" : "Auta kääntämisessä",
- "No language set" : "Kieltä ei ole asetettu",
- "Unable to update locale" : "Maa-asetuston päivittäminen ei onnistu",
- "Locales" : "Aluekohtaiset asetukset",
- "Week starts on {firstDayOfWeek}" : "Viikon ensimmäinen päivä on {firstDayOfWeek}",
- "No locale set" : "Maa-asetustoa ei ole asetettu",
- "Your city" : "Kaupunkisi",
- "Your organisation" : "Organisaatiosi",
- "Your phone number" : "Puhelinnumerosi",
- "Edit your Profile visibility" : "Muokkaa profiilisi näkyvyyttä",
- "Enable profile" : "Ota profiili käyttöön",
- "Your role" : "Roolisi",
- "Your website" : "Verkkosivustosi",
- "Invalid value" : "Virheellinen arvo",
- "Add additional email" : "Lisää toissijainen sähköpostiosoite",
- "Add" : "Lisää",
- "Create" : "Luo",
- "Change" : "Muuta",
- "Delete" : "Poista",
- "Reshare" : "Jaa edelleen",
- "Default language" : "Oletuskieli",
- "Common languages" : "Yleiset kielet",
- "Other languages" : "Muut kielet",
- "No accounts" : "Ei tilejä",
- "Loading accounts …" : "Ladataan tilejä…",
- "Account name will be autogenerated" : "Tilin nimi luodaan automaattisesti",
- "Account name (required)" : "Tilin nimi (pakollinen)",
- "New account" : "Uusi tili",
- "Display name" : "Näyttönimi",
- "Either password or email is required" : "Joko salasana tai sähköpostiosoite vaaditaan",
- "Password (required)" : "Salasana (pakollinen)",
- "Email (required)" : "Sähköposti (pakollinen)",
- "Email" : "Sähköpostiosoite",
- "Quota" : "Kiintiö",
- "Set account quota" : "Aseta tilin kiintiö",
- "Language" : "Kieli",
- "Set default language" : "Aseta oletuskieli",
- "Add new account" : "Lisää uusi tili",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} tili…","{userCount} tiliä…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} tili","{userCount} tiliä"],
- "Scroll to load more rows" : "Vieritä ladataksesi enemmän rivejä",
- "Avatar" : "Profiilikuva",
- "Account name" : "Tilin nimi",
- "Group admin for" : "Ryhmäylläpitäjä ryhmille",
- "Storage location" : "Tallennustilan sijainti",
- "Last login" : "Viimeisin kirjautuminen",
- "Account actions" : "Tilin toiminnot",
- "{size} used" : "{size} käytetty",
- "Delete account" : "Poista tili",
- "Disable account" : "Poista tili käytöstä",
- "Enable account" : "Ota tili käyttöön",
- "Resend welcome email" : "Lähetä uudelleen tervetuloviesti",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Laitteen kadotessa tai organisaatiosta poistuessa voidaan käyttäjälle {userid} Nextcloudiin yhdistetyistä laitteista pyyhkiä tiedot. Toimii vain laitteiden ollessa yhteydessä Internetiin.",
- "Remote wipe of devices" : "Laitteiden etätyhjennys",
- "Wipe {userid}'s devices" : "Tyhjennä käyttäjän {userid} laitteet",
- "Wiped {userid}'s devices" : "Tyhjennetty käyttäjän {userid} laitteet",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Poista täysin käyttäjän {userid} tili mukaan lukien henkilökohtaiset tiedostot, sovellusten tiedot jne.",
- "Account deletion" : "Tilin poistaminen",
- "Delete {userid}'s account" : "Poista käyttäjän {userid} tili",
- "Display name was successfully changed" : "Näyttönimi vaihdettiin onnistuneesti",
- "Password can't be empty" : "Salasana ei voi olla tyhjä",
- "Password was successfully changed" : "Salasana vaihdettiin onnistuneesti",
- "Email can't be empty" : "Sähköposti ei voi olla tyhjä",
- "Email was successfully changed" : "Sähköpostiosoite vaihdettiin onnistuneesti",
- "Welcome mail sent!" : "Tervetuloviesti lähetetty!",
- "Loading account …" : "Ladataan tiliä…",
- "Change display name" : "Vaihda näyttönimi",
- "Set new password" : "Aseta uusi salasana:",
- "Set new email address" : "Aseta uusi sähköpostiosoite",
- "Add account to group" : "Lisää tili ryhmään",
- "Select account quota" : "Valitse tilin kiintiö",
- "Set the language" : "Aseta kieli",
- "Done" : "Valmis",
- "Edit" : "Muokkaa",
- "Account management settings" : "Tilihallinnan asetukset",
- "Visibility" : "Näkyvyys",
- "Show language" : "Näytä kieli",
- "Show storage path" : "Näytä tallennustilan polku",
- "Show last login" : "Näytä viimeisin sisäänkirjautuminen",
- "Sorting" : "Lajittelu",
- "Send email" : "Lähetä sähköpostiviesti",
- "Send welcome email to new accounts" : "Lähetä Tervetuloa-sähköposti uusille tileille",
- "Defaults" : "Oletukset",
- "Default quota" : "Oletuskiintiö",
- "Select default quota" : "Valitse oletuskiintiö",
- "Server error while trying to complete WebAuthn device registration" : "Palvelinvirhe kun yritettiin suorittaa WebAuthn-laitteen rekisteröintiä",
- "Passwordless authentication requires a secure connection." : "Tunnistautuminen ilman salasanaa vaatii salatun yhteyden.",
- "Add WebAuthn device" : "Lisää WebAuthn-laite",
- "Please authorize your WebAuthn device." : "Valtuuta WebAuthn-laitteesi.",
- "Adding your device …" : "Lisätään laitettasi…",
- "Unnamed device" : "Nimetön laite",
- "Passwordless Authentication" : "Tunnistautuminen ilman salasanaa",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Aseta tilillesi tunnistautuminen ilman salasanaa FIDO2-standardia seuraten.",
- "No devices configured." : "Laitteita ei ole määritetty.",
- "The following devices are configured for your account:" : "Seuraavat laitteet on määritetty tilillesi:",
- "Your browser does not support WebAuthn." : "Selaimesi ei tue WebAuthn-standardia.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Ylläpitäjänä voit hienosäätää jakamista. Katso dokumentaatiosta lisätietoa.",
- "Loading app list" : "Ladataan sovellusluetteloa",
- "Loading categories" : "Ladataan luokkia",
- "Developer documentation ↗" : "Kehittäjien dokumentaatio ↗",
- "Version {version}, {license}-licensed" : "Versio {version}, lisenssi {license}",
- "Version {version}" : "Versio {version}",
- "All accounts" : "Kaikki tilit",
- "Admins" : "Ylläpitäjät",
- "Account group: {group}" : "Tiliryhmä: {group}",
- "Account management" : "Tilihallinta",
"Sending…" : "Lähetetään…",
"Email sent" : "Sähköposti lähetetty",
"Location" : "Sijainti",
@@ -461,6 +264,7 @@
"Date of birth" : "Syntymäpäivä",
"Full name" : "Koko nimi",
"Additional email" : "Toissijainen sähköpostiosoite",
+ "Email" : "Sähköpostiosoite",
"Fediverse (e.g. Mastodon)" : "Fediverse (esim. Mastodon)",
"Headline" : "Otsikko",
"Organisation" : "Organisaatio",
@@ -469,6 +273,7 @@
"X (formerly Twitter)" : "X (aiemmin Twitter)",
"Website" : "Verkkosivusto",
"Profile visibility" : "Profiilin näkyvyys",
+ "Language" : "Kieli",
"Locale" : "Aluekohtainen asetus",
"First day of week" : "Viikon ensimmäinen päivä",
"Your apps" : "Sovelluksesi",
@@ -481,11 +286,13 @@
"Show to everyone" : "Näytä kaikille",
"Show to logged in accounts only" : "Näytä vain sisäänkirjautuneille tileille",
"Hide" : "Piilota",
+ "Update to {version}" : "Päivitä versioon {version}",
"Download and enable" : "Lataa ja ota käyttöön",
"Disable" : "Poista käytöstä",
"Allow untested app" : "Salli testaamaton sovellus",
"The app will be downloaded from the App Store" : "Sovellus ladataan sovelluskaupasta",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Sovellusta ei ole merkattu yhteensopivaksi Nextcloud-versiosi kanssa. Voit kuitenkin jatkaa ja asentaa sovelluksen. Huomioi, että sovellus ei välttämättä toimi odotetusti.",
+ "{size} used" : "{size} käytetty",
"Unknown" : "Tuntematon",
"Never" : "Ei koskaan",
"Could not register device: Network error" : "Laitetta ei voitu rekisteröidä: verkkovirhe",
@@ -501,8 +308,10 @@
"Error while updating device token name" : "Virhe laitepoletin nimeä päivittäessä",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Verkostasi tehtiin liian monta pyyntöä. Yritä myöhemmin uudelleen tai ole yhteydessä ylläpitäjään, jos tämä on mielestäsi virhe.",
"Error" : "Virhe",
+ "Default quota" : "Oletuskiintiö",
"Account documentation" : "Tilin dokumentaatio",
"Administration documentation" : "Ylläpidon dokumentaatio",
+ "Documentation" : "Dokumentaatio",
"Forum" : "Keskustelupalsta",
"General documentation" : "Yleinen dokumentaatio",
"Legal notice" : "Lainopillinen huomautus",
@@ -522,6 +331,7 @@
"SMTP Password" : "SMTP-salasana",
"Save" : "Tallenna",
"Test and verify email settings" : "Testaa ja vahvista sähköpostiasetukset",
+ "Send email" : "Lähetä sähköpostiviesti",
"Security & setup warnings" : "Turvallisuus- ja asetusvaroitukset",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Turvallisuuden ja suorituskyvyn vuoksi on tärkeää, että palvelimen asetukset ovat määritetty oikein. Apuna on joitain automaattisia tarkistuksia. Lue lisätietoja linkitetystä dokumentaatiosta.",
"All checks passed." : "Läpäistiin kaikki tarkistukset.",
@@ -540,9 +350,6 @@
"Use a second factor besides your password to increase security for your account." : "Käytä toista vaihetta salasanasi lisäksi parantaaksesi tilisi tietoturvaa.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Jos yhdistät kolmannen osapuolen ohjelmia Nextcloudiin, määritä niille sovellussalasanat ennen kaksiosaisen todentamismenetelmän käyttöönottoa.",
"File locking" : "Tiedostolukitus",
- "Set default expiration date for shares" : "Aseta oletusarvoinen vanhenemispäivä jaoille",
- "Your biography" : "Sinun elämäkertasi",
- "You are using <strong>{usage}</strong>" : "Käytössäsi on <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Käytössäsi on <strong>{usage}</strong>/<strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Aseta oletusarvoinen vanhenemispäivä jaoille"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/fo.js b/apps/settings/l10n/fo.js
deleted file mode 100644
index 15bbe97e590..00000000000
--- a/apps/settings/l10n/fo.js
+++ /dev/null
@@ -1,105 +0,0 @@
-OC.L10N.register(
- "settings",
- {
- "Saved" : "Goymt",
- "Email sent" : "Sendi t-post",
- "Private" : "Privat",
- "Unable to change password" : "Kundi ikki broyta loyniorðið",
- "Select a profile picture" : "Vel ein profil mynd",
- "Groups" : "Bólkar",
- "{actor} added you to group {group}" : "{actor} hevur koyrt teg í bólkin {group}",
- "You added {user} to group {group}" : "Tú hevur koyrt {user} í bólkin {group}",
- "{actor} added {user} to group {group}" : "{actor} koyrdi {user} í bólkin {group}",
- "An administrator added you to group {group}" : "Ein administrator koyrdi teg í bólkin {group}",
- "An administrator added {user} to group {group}" : "Ein administrator koyrdi {user} í bólkin {group}",
- "{actor} removed you from group {group}" : "{actor} hevur koyrt teg úr bólkin {group}",
- "You removed {user} from group {group}" : "Tú hevur koyrt {user} úr bólkin {group}",
- "{actor} removed {user} from group {group}" : "{actor} hevur koyrt {user} úr bólkin {group}",
- "An administrator removed you from group {group}" : "Ein administrator koyrdi teg úr bólkin {group}",
- "An administrator removed {user} from group {group}" : "Ein administrator koyrdi {user} úr bólkin {group}",
- "Your <strong>group memberships</strong> were modified" : "Tíni <strong>bólka limaskapir</strong>vóru broytt",
- "{actor} changed your password" : "{actor} broytti títt loyniorð",
- "You changed your password" : "Tú broytti títt loyniorð",
- "Your password was reset by an administrator" : "Títt loyniorð var nullstilla av einum administrator",
- "{actor} changed your email address" : "{actor} broytti tín t-post adressa",
- "You changed your email address" : "Tú broytti tín t-post adressa",
- "Your email address was changed by an administrator" : "Tín t-post adressa var broytt av einum administrator",
- "Security" : "Trygd",
- "Your <strong>password</strong> or <strong>email</strong> was modified" : "Títt <strong>loyniorð</strong>ella tín <strong>t-post</strong>var broytt",
- "Wrong password" : "Skeift loyniorð",
- "Authentication error" : "Samgildis feilur",
- "Invalid SMTP password." : "Ógildugt SMTP loyniorð",
- "Invalid mail address" : "Ógildug t-post adressa",
- "Settings saved" : "Stillingar eru goymd",
- "%1$s changed your password on %2$s." : "%1$sbroytti títt loyniorð á %2$s.",
- "Welcome aboard" : "Vælkomin umborð",
- "Welcome aboard %s" : "Vælkomin umborð %s",
- "Your username is: %s" : "Títt brúkaranavn er: %s",
- "Go to %s" : "Far til %s",
- "Personal" : "Persónligt",
- "Email server" : "T-post ambætara",
- "Delete" : "Strika",
- "Unlimited" : "Óavmarkað",
- "Save changes" : "Goym broytingar",
- "All" : "Øll",
- "Visit website" : "Vitja heimasíðu",
- "Rename" : "Nýnevn",
- "Revoke" : "strika",
- "Internet Explorer" : "Internet Explorer",
- "Edge" : "Edge",
- "Firefox" : "Firefox",
- "Google Chrome" : "Google Chrome",
- "Safari" : "Safari",
- "Google Chrome for Android" : "Google Chrome til Android",
- "iPhone" : "iPhone",
- "iPad" : "iPad",
- "App name" : "App navn",
- "Username" : "Brúkaranavn",
- "Password" : "Loyniorð",
- "Done" : "Gjørt",
- "Copied!" : "Kopiera!",
- "Copy" : "Kopi",
- "Cancel" : "strika",
- "{size} used" : "{size} brúkt",
- "New user" : "Nýggjur brúkari",
- "Email" : "T-post",
- "Your apps" : "Tínar appir",
- "Active apps" : "Virknar appir",
- "Disabled apps" : "Ógildaðar appir",
- "Admins" : "Administratorar",
- "Remove group" : "Strika bólkin",
- "Address" : "Adressa",
- "Full name" : "Fulla navn",
- "Phone number" : "Telefonnummar",
- "Twitter" : "Twitter",
- "Website" : "Heimasíða",
- "Enable" : "Gilda",
- "Never" : "ongantíð",
- "Login" : "Innrita",
- "SSL/TLS" : "SSL/TLS",
- "STARTTLS" : "STARTTLS",
- "From address" : "Frá adressu",
- "SMTP Username" : "SMTP Brúkaranavn",
- "SMTP Password" : "SMTP Loyniorð",
- "Send email" : "Send t-post",
- "Always ask for a password" : "Spyr altíð um eitt loyniorð",
- "Profile picture" : "Profil mynd",
- "Remove image" : "Strika Myndina",
- "png or jpg, max. 20 MB" : "png ella jpg, í mesta lagi 20MB",
- "Choose as profile picture" : "Vel sum profil mynd",
- "You are a member of the following groups:" : "Tú ert limur í teimum fylgjandi bólkarnar:",
- "Your phone number" : "Títt telefonnummar",
- "Your postal address" : "Tín bústaður",
- "Link https://…" : "Leinka https://...",
- "Current password" : "Núverandi loyniorð",
- "New password" : "Nýtt loyniorð",
- "Change password" : "Broyd loyniorð",
- "Public" : "Alment",
- "Nextcloud iOS app" : "Nextcloud iOS app",
- "Nextcloud Android app" : "Nextcloud Android app",
- "Nextcloud Talk for iOS" : "Nextcloud Talk til iOS",
- "Nextcloud Talk for Android" : "Nextcloud Talk til Android",
- "Everyone" : "Øll",
- "mail" : "post"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/fo.json b/apps/settings/l10n/fo.json
deleted file mode 100644
index 6bc1d0310b7..00000000000
--- a/apps/settings/l10n/fo.json
+++ /dev/null
@@ -1,103 +0,0 @@
-{ "translations": {
- "Saved" : "Goymt",
- "Email sent" : "Sendi t-post",
- "Private" : "Privat",
- "Unable to change password" : "Kundi ikki broyta loyniorðið",
- "Select a profile picture" : "Vel ein profil mynd",
- "Groups" : "Bólkar",
- "{actor} added you to group {group}" : "{actor} hevur koyrt teg í bólkin {group}",
- "You added {user} to group {group}" : "Tú hevur koyrt {user} í bólkin {group}",
- "{actor} added {user} to group {group}" : "{actor} koyrdi {user} í bólkin {group}",
- "An administrator added you to group {group}" : "Ein administrator koyrdi teg í bólkin {group}",
- "An administrator added {user} to group {group}" : "Ein administrator koyrdi {user} í bólkin {group}",
- "{actor} removed you from group {group}" : "{actor} hevur koyrt teg úr bólkin {group}",
- "You removed {user} from group {group}" : "Tú hevur koyrt {user} úr bólkin {group}",
- "{actor} removed {user} from group {group}" : "{actor} hevur koyrt {user} úr bólkin {group}",
- "An administrator removed you from group {group}" : "Ein administrator koyrdi teg úr bólkin {group}",
- "An administrator removed {user} from group {group}" : "Ein administrator koyrdi {user} úr bólkin {group}",
- "Your <strong>group memberships</strong> were modified" : "Tíni <strong>bólka limaskapir</strong>vóru broytt",
- "{actor} changed your password" : "{actor} broytti títt loyniorð",
- "You changed your password" : "Tú broytti títt loyniorð",
- "Your password was reset by an administrator" : "Títt loyniorð var nullstilla av einum administrator",
- "{actor} changed your email address" : "{actor} broytti tín t-post adressa",
- "You changed your email address" : "Tú broytti tín t-post adressa",
- "Your email address was changed by an administrator" : "Tín t-post adressa var broytt av einum administrator",
- "Security" : "Trygd",
- "Your <strong>password</strong> or <strong>email</strong> was modified" : "Títt <strong>loyniorð</strong>ella tín <strong>t-post</strong>var broytt",
- "Wrong password" : "Skeift loyniorð",
- "Authentication error" : "Samgildis feilur",
- "Invalid SMTP password." : "Ógildugt SMTP loyniorð",
- "Invalid mail address" : "Ógildug t-post adressa",
- "Settings saved" : "Stillingar eru goymd",
- "%1$s changed your password on %2$s." : "%1$sbroytti títt loyniorð á %2$s.",
- "Welcome aboard" : "Vælkomin umborð",
- "Welcome aboard %s" : "Vælkomin umborð %s",
- "Your username is: %s" : "Títt brúkaranavn er: %s",
- "Go to %s" : "Far til %s",
- "Personal" : "Persónligt",
- "Email server" : "T-post ambætara",
- "Delete" : "Strika",
- "Unlimited" : "Óavmarkað",
- "Save changes" : "Goym broytingar",
- "All" : "Øll",
- "Visit website" : "Vitja heimasíðu",
- "Rename" : "Nýnevn",
- "Revoke" : "strika",
- "Internet Explorer" : "Internet Explorer",
- "Edge" : "Edge",
- "Firefox" : "Firefox",
- "Google Chrome" : "Google Chrome",
- "Safari" : "Safari",
- "Google Chrome for Android" : "Google Chrome til Android",
- "iPhone" : "iPhone",
- "iPad" : "iPad",
- "App name" : "App navn",
- "Username" : "Brúkaranavn",
- "Password" : "Loyniorð",
- "Done" : "Gjørt",
- "Copied!" : "Kopiera!",
- "Copy" : "Kopi",
- "Cancel" : "strika",
- "{size} used" : "{size} brúkt",
- "New user" : "Nýggjur brúkari",
- "Email" : "T-post",
- "Your apps" : "Tínar appir",
- "Active apps" : "Virknar appir",
- "Disabled apps" : "Ógildaðar appir",
- "Admins" : "Administratorar",
- "Remove group" : "Strika bólkin",
- "Address" : "Adressa",
- "Full name" : "Fulla navn",
- "Phone number" : "Telefonnummar",
- "Twitter" : "Twitter",
- "Website" : "Heimasíða",
- "Enable" : "Gilda",
- "Never" : "ongantíð",
- "Login" : "Innrita",
- "SSL/TLS" : "SSL/TLS",
- "STARTTLS" : "STARTTLS",
- "From address" : "Frá adressu",
- "SMTP Username" : "SMTP Brúkaranavn",
- "SMTP Password" : "SMTP Loyniorð",
- "Send email" : "Send t-post",
- "Always ask for a password" : "Spyr altíð um eitt loyniorð",
- "Profile picture" : "Profil mynd",
- "Remove image" : "Strika Myndina",
- "png or jpg, max. 20 MB" : "png ella jpg, í mesta lagi 20MB",
- "Choose as profile picture" : "Vel sum profil mynd",
- "You are a member of the following groups:" : "Tú ert limur í teimum fylgjandi bólkarnar:",
- "Your phone number" : "Títt telefonnummar",
- "Your postal address" : "Tín bústaður",
- "Link https://…" : "Leinka https://...",
- "Current password" : "Núverandi loyniorð",
- "New password" : "Nýtt loyniorð",
- "Change password" : "Broyd loyniorð",
- "Public" : "Alment",
- "Nextcloud iOS app" : "Nextcloud iOS app",
- "Nextcloud Android app" : "Nextcloud Android app",
- "Nextcloud Talk for iOS" : "Nextcloud Talk til iOS",
- "Nextcloud Talk for Android" : "Nextcloud Talk til Android",
- "Everyone" : "Øll",
- "mail" : "post"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/settings/l10n/fr.js b/apps/settings/l10n/fr.js
index 8ce219a3633..561f3f8fa6a 100644
--- a/apps/settings/l10n/fr.js
+++ b/apps/settings/l10n/fr.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "Entêtes HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- L'entête HTTP `%1$s` n'est pas défini à `%2$s`. Certaines fonctionnalités pourraient de pas fonctionner correctement, il est recommandé d'ajuster ce réglage en conséquence. ",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- L’en-tête HTTP `%1$s` n’est pas configuré pour être égal à `%2$s`. Ceci constitue un risque potentiel relatif à la sécurité et à la confidentialité, il est recommandé d’ajuster ce paramètre.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- L’en-tête HTTP `%1$s` ne contient pas `%2$s`. Ceci constitue un risque potentiel relatif à la sécurité et à la confidentialité, il est recommandé d’ajuster ce paramètre.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- L’en-tête HTTP `%1$s` n’est pas définit à `%2$s`, `%3$s`, `%4$s`, `%5$s` ou `%6$s`. Ceci pourrait dévoiler des informations sur le référent (referer). Voir la {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- L’en-tête HTTP `Strict-Transport-Security` n’est pas définit à au moins `%d` secondes (valeur actuelle : `%d`). Pour une sécurité renforcée, il est recommandé d’utiliser une politique HSTS longue.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- L’en-tête HTTP `Strict-Transport-Security` est mal formé :  `%s`. Pour une sécurité renforcée, il est recommandé d’activer HSTS.",
@@ -447,97 +446,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Impossible de charger le contenu de cette section du magasin d'applications.",
"Loading" : "Chargement",
"Fetching the latest news…" : "Récupération des dernières nouvelles…",
- "Carousel" : "Carousel",
- "Previous slide" : "Diapositive précédente",
- "Next slide" : "Diapositive suivante",
- "Choose slide to display" : "Choisir la diapositive à afficher",
- "{index} of {total}" : "{index} sur {total}",
- "Daemon" : "Processus",
- "Deploy Daemon" : "Deamon de déploiement",
- "Type" : "Type",
- "Display Name" : "Nom affiché",
- "GPUs support" : "Prise en charge des cartes graphiques",
- "Compute device" : "Appareil de calcul",
- "Advanced deploy options" : "Options avancées de déploiement",
- "Edit ExApp deploy options before installation" : "Éditer les options de déploiement ExApp avant l'installation",
- "Configured ExApp deploy options. Can be set only during installation" : "Options de déploiement ExApp. Ne peuvent être définies que lors de l'installation",
- "Learn more" : "En savoir plus",
- "Environment variables" : "Variables d'environnement",
- "ExApp container environment variables" : "Variables d'environnement du conteneur ExApp",
- "No environment variables defined" : "Aucune variable d'environnement définie",
- "Mounts" : "Montages",
- "Define host folder mounts to bind to the ExApp container" : "Définir les montages de volumes de l'hôte à attacher au conteneur ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Doivent exister sur l'hôte de déploiement du service avant d'installer ExApp",
- "Host path" : "Chemin de l'hôte",
- "Container path" : "Chemin du conteneur",
- "Read-only" : "Lecture seule",
- "Remove mount" : "Retirer le point de montage",
- "New mount" : "Nouveau point de montage",
- "Enter path to host folder" : "Entrer le chemin du dossier sur l'hôte",
- "Enter path to container folder" : "Entrer le chemin du dossier du conteneur",
- "Toggle read-only mode" : "Activer/Désactiver le mode lecture seule",
- "Confirm adding new mount" : "Confirmer l'ajout de nouveau point de montage",
- "Confirm" : "Confirmer",
- "Cancel adding mount" : "Annuler l'ajout de nouveau point de montage",
- "Cancel" : "Annuler",
- "Add mount" : "Ajouter un point de montage",
- "ExApp container mounts" : "Points de montage ExApp",
- "No mounts defined" : "Aucun point de montage défini",
- "Description" : "Description",
- "View in store" : "Afficher dans le magasin d'applications",
- "Visit website" : "Visiter le site web",
- "Usage documentation" : "Documentation d'utilisation",
- "Admin documentation" : "Documentation administrateur",
- "Developer documentation" : "Documentation développeurs",
- "Details" : "Détails",
- "All" : "Tous",
- "Limit app usage to groups" : "Limiter l'utilisation de l'application à des groupes",
- "No results" : "Aucun résultat",
- "Update to {version}" : "Mettre à jour vers {version}",
- "Deploy options" : "Options de déploiement",
- "Default Deploy daemon is not accessible" : "Le service de déploiement par défaut n'est pas accessible",
- "Delete data on remove" : "Supprimer les données lors de la désinstallation",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Cette application n’a pas de version minimum Nextcloud exigée. Ce sera considéré comme une erreur à l’avenir.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Cette application n’a pas de version maximum Nextcloud exigée. Ce sera considéré comme une erreur à l’avenir.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Cette application ne peut être installée à cause de ces dépendances non satisfaites :",
- "Latest updated" : "Dernière mise à jour",
- "Author" : "Auteur",
- "Categories" : "Catégories",
- "Resources" : "Ressources",
- "Documentation" : "Documentation",
- "Interact" : "Interagir",
- "Report a bug" : "Signaler un bogue",
- "Request feature" : "Demander une fonctionnalité",
- "Ask questions or discuss" : "Poser des questions ou discuter",
- "Rate the app" : "Évaluer l’application",
- "Rate" : "Évaluation",
- "Changelog" : "Journal des modifications",
- "Google Chrome for Android" : "Google Chrome pour Android",
- "{productName} iOS app" : "Application iOS {productName}",
- "{productName} Android app" : "Application Android {productName}",
- "{productName} Talk for iOS" : " {productName} Talk pour iOS",
- "{productName} Talk for Android" : " {productName} Talk pour Android",
- "Sync client" : "Client de synchronisation",
- "This session" : "Cette session",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nom de l'appareil",
- "Cancel renaming" : "Annuler le renommage",
- "Save new name" : "Enregistrer un nouveau nom",
- "Marked for remote wipe" : "Marqué pour l'effaçage distant",
- "Device settings" : "Paramètres de l'appareil",
- "Allow filesystem access" : "Autoriser l’accès au gestionnaire de fichiers",
- "Rename" : "Renommer",
- "Revoke" : "Révoquer",
- "Wipe device" : "Effacer l'appareil",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Révoquer ce jeton peut empêcher l'effacement de votre appareil s'il n'a pas encore démarré l'effacement.",
- "Device" : "Appareil",
- "Last activity" : "Dernière activité",
- "Devices & sessions" : "Appareils & sessions",
- "Web, desktop and mobile clients currently logged in to your account." : "Clients web, applications de bureau et mobiles actuellement connectés avec votre compte.",
- "Error while creating device token" : "Erreur lors de la création du jeton de l’appareil",
- "App name" : "Nom de l’application",
- "Create new app password" : "Créer un nouveau mot de passe d’application",
"App password copied!" : "Mot de passe d'application copié !",
"Copy app password" : "Copier le mot de passe d'application",
"Login name copied!" : "Nom de l'identifiant copié !",
@@ -591,203 +499,11 @@ OC.L10N.register(
"Failed to delete group \"{group}\"" : "Échec de la suppression du groupe \"{group}\"",
"Please confirm the group removal" : "Merci de confirmer la suppression du groupe",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Vous êtes sur le point de supprimer le groupe \"{group}\". Les comptes associés ne seront pas supprimés.",
+ "Cancel" : "Annuler",
+ "Confirm" : "Confirmer",
"Submit" : "Soumettre",
"Rename group" : "Renommer le groupe",
"Delete group" : "Supprimer le groupe",
- "Current password" : "Mot de passe actuel",
- "New password" : "Nouveau mot de passe",
- "Change password" : "Changer de mot de passe",
- "Choose your profile picture" : "Choisir votre image de profil",
- "Please select a valid png or jpg file" : "Merci de sélectionner un fichier jpg ou png valide",
- "Error setting profile picture" : "Erreur lors de la redéfinition de l'image de profil",
- "Error cropping profile picture" : "Erreur lors du recadrage d'image de profil",
- "Error saving profile picture" : "Erreur lors de la sauvegarde de l'image de profil",
- "Error removing profile picture" : "Erreur lors de la suppression de l'image de profil",
- "Your profile picture" : "Votre photo de profil",
- "Upload profile picture" : "Téléverser une photo de profil",
- "Choose profile picture from Files" : "Choisir une image de profil dans Fichiers",
- "Remove profile picture" : "Retirer la photo de profil",
- "The file must be a PNG or JPG" : "Le fichier doit être au format PNG ou JPG",
- "Picture provided by original account" : "Photo fournie par le compte original",
- "Set as profile picture" : "Définir comme image de profil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Veuillez noter que cela peut prendre jusqu'à 24 heures pour que votre image de profil soit mise à jour partout.",
- "Your biography. Markdown is supported." : "Votre biographie. Le format Markdown est pris en charge.",
- "Unable to update date of birth" : "Impossible de mettre à jour la date de naissance",
- "Enter your date of birth" : "Saisissez votre date de naissance",
- "You are using {s}{usage}{/s}" : "Vous utilisez {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Vous utilisez {s}{usage}{/s} de {s}{totalSpace}{/s}({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Vous êtes membre des groupes suivants :",
- "Your full name" : "Votre nom complet",
- "Email options" : "Options de messagerie",
- "Options for additional email address {index}" : "Options pour une adresse e-mail supplémentaire {index}",
- "Remove primary email" : "Supprimer l'adresse e-mail principale",
- "Delete email" : "Supprimer l'adresse e-mail",
- "This address is not confirmed" : "Cette adresse n'est pas confirmée",
- "Unset as primary email" : "Ne plus définir comme adresse e-mail principale",
- "Set as primary email" : "Définir comme adresse e-mail principale",
- "Additional email address {index}" : "E-mail supplémentaire {index}",
- "Unable to delete primary email address" : "Impossible de supprimer l'adresse e-mail principale",
- "Unable to update primary email address" : "Impossible de modifier l'adresse e-mail principale",
- "Unable to add additional email address" : "Impossible d'ajouter une adresse e-mail supplémentaire",
- "Unable to update additional email address" : "Impossible de modifier l'adresse e-mail supplémentaire",
- "Unable to delete additional email address" : "Impossible de supprimer l'adresse e-mail supplémentaire",
- "Primary email for password reset and notifications" : "Adresse e-mail principale pour la réinitialisation du mot de passe et les notifications",
- "No email address set" : "Aucune adresse e-mail configurée",
- "Your handle" : "Votre identifiant",
- "Derived from your locale ({weekDayName})" : "Issu de votre locale ({weekDayName})",
- "Unable to update first day of week" : "Impossible de mettre à jour le premier jour de la semaine",
- "Day to use as the first day of week" : "Jour à utiliser comme premier jour de la semaine",
- "Your headline" : "Votre titre",
- "Unable to update language" : "Impossible de modifier la langue",
- "Languages" : "Langues",
- "Help translate" : "Aidez à traduire",
- "No language set" : "Aucune langue définie",
- "Unable to update locale" : "Impossible de mettre à jour les paramètres régionaux",
- "Locales" : "Paramètres régionaux",
- "Week starts on {firstDayOfWeek}" : "Les semaines commencent le {firstDayOfWeek}",
- "No locale set" : "Paramètres régionaux non définis",
- "Your city" : "Votre ville",
- "Your organisation" : "Votre organisation",
- "Your phone number" : "Votre numéro de téléphone",
- "Edit your Profile visibility" : "Visibilité du profil",
- "Unable to update profile enabled state" : "Impossible de mettre à jour l'état du profil",
- "Enable profile" : "Activer le profil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Le paramètre le plus restrictif entre la visibilité et la confidentialité est respecté. Par exemple, si la visibilité est définie à \"Montrer à tout le monde\" et que la confidentialité est \"Privé\", \"Privé\" est respecté.",
- "Unable to update visibility of {displayId}" : "Impossible de mettre à jour la visibilité de {displayId}",
- "she/her" : "elle/elle",
- "he/him" : "il/lui",
- "they/them" : "iel/ellui",
- "Your role" : "Votre fonction",
- "Your X (formerly Twitter) handle" : "Votre identifiant X (anciennement Twitter)",
- "Your website" : "Votre site web",
- "Invalid value" : "Valeur invalide",
- "Unable to update {property}" : "Impossible de mettre à jour {property}",
- "No {property} set" : "{property} n'est pas défini",
- "Change scope level of {property}, current scope is {scope}" : "Changer la portée de {property}, la portée actuelle est {scope}",
- "Unable to update federation scope of the primary {property}" : "Impossible de mettre à jour la portée de la fédération pour le/la {property} principal(e)",
- "Unable to update federation scope of additional {property}" : "Impossible de mettre à jour la portée de la fédération pour le/la {property} additionnel(le)",
- "Add additional email" : "Ajouter un e-mail supplémentaire",
- "Add" : "Ajouter",
- "Create" : "Créer",
- "Change" : "Modifier",
- "Delete" : "Supprimer",
- "Reshare" : "Repartager",
- "Default language" : "Langue par défaut",
- "Common languages" : "Langues communes",
- "Other languages" : "Autres langues",
- "Password change is disabled because the master key is disabled" : "Le changement de mot de passe est désactivé car la clé principale est désactivée",
- "No accounts" : "Aucun compte",
- "Loading accounts …" : "Chargement des comptes …",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Liste des comptes. Cette liste n'est pas entièrement affichée pour des raisons de performance. Les comptes seront affichés au fur et à mesure que vous naviguerez dans la liste.",
- "Manager" : "Supérieur",
- "Set line manager" : "Définir le responsable hiérarchique",
- "Account name will be autogenerated" : "Le nom du compte sera généré automatiquement",
- "Account name (required)" : "Nom du compte (obligatoire)",
- "Failed to search groups" : "Échec de la recherche des groupes",
- "New account" : "Nouveau compte",
- "Display name" : "Nom d'affichage",
- "Either password or email is required" : "Le mot de passe ou l'e-mail est requis",
- "Password (required)" : "Mot de passe (requis)",
- "Email (required)" : "E-mail (requis)",
- "Email" : "E-mail",
- "Member of the following groups (required)" : "Membre des groupes suivants (obligatoire)",
- "Member of the following groups" : "Membre des groupes suivants",
- "Set account groups" : "Définir les groupes de comptes",
- "Admin of the following groups" : "Administrateur des groupes suivants",
- "Set account as admin for …" : "Définir en tant qu'administrateur pour",
- "Quota" : "Quota",
- "Set account quota" : "Définir le quota du compte",
- "Language" : "Langue",
- "Set default language" : "Définir la langue par défaut",
- "Add new account" : "Ajouter le nouveau compte",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} compte…","{userCount} comptes…","{userCount} comptes…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} compte","{userCount} comptes","{userCount} comptes"],
- "Total rows summary" : "Récapitulatif du nombre total de lignes",
- "Scroll to load more rows" : "Défiler pour charger plus de lignes",
- "Password or insufficient permissions message" : "Mot de passe ou message d'autorisations insuffisantes",
- "Avatar" : "Avatar",
- "Account name" : "Nom du compte",
- "Group admin for" : "Administrateur de groupe pour",
- "Account backend" : "Origine du compte",
- "Storage location" : "Emplacement du stockage",
- "First login" : "Première connexion",
- "Last login" : "Dernière connexion",
- "Account actions" : "Actions du compte",
- "{size} used" : "{size} utilisés",
- "Delete account" : "Supprimer le compte",
- "Disconnect all devices and delete local data" : "Déconnecter tous les appareils et supprimer les données locales",
- "Disable account" : "Désactiver le compte",
- "Enable account" : "Activer le compte",
- "Resend welcome email" : "Renvoyer l'e-mail de bienvenue",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "En cas de perte d'appareil ou si vous quittez un groupe ou une organisation, cela pourra supprimer les données de tous les appareils associés à {userid}. Ne fonctionne que si les appareils associés sont connectés à internet.",
- "Remote wipe of devices" : "Effacer les appareils à distance",
- "Wipe {userid}'s devices" : "Effacer les appareils de {userid}",
- "Wiped {userid}'s devices" : "Les appareils de {userid} ont été effacés",
- "Failed to load groups with details" : "Échec du chargement des groupes avec les détails",
- "Failed to load sub admin groups with details" : "Échec du chargement du sous-administrateur de groupes avec les détails",
- "Failed to update line manager" : "Échec de la mise à jour du responsable hiérarchique",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Supprime totalement le compte de {userid} et toutes ses données associées (fichiers personnels, données des applications, etc.)",
- "Account deletion" : "Suppression de compte",
- "Delete {userid}'s account" : "Supprimer le compte {userid}",
- "Display name was successfully changed" : "Le nom d'affichage a été modifié avec succès",
- "Password can't be empty" : "Le mot de passe ne peut pas être vide",
- "Password was successfully changed" : "Le mot de passe a été modifié avec succès",
- "Email can't be empty" : "L'adresse mail ne peut pas être vide",
- "Email was successfully changed" : "L'e-mail a été modifié avec succès",
- "Welcome mail sent!" : "E-mail de bienvenue envoyé !",
- "Loading account …" : "Chargement du compte…",
- "Change display name" : "Changer le nom de l'affichage",
- "Set new password" : "Définir un nouveau mot de passe",
- "You do not have permissions to see the details of this account" : "Vous n'avez pas les autorisations pour voir le détail de ce compte.",
- "Set new email address" : "Définir une nouvelle adresse e-mail",
- "Add account to group" : "Ajouter le compte au groupe",
- "Set account as admin for" : "Définir en tant qu'administrateur pour",
- "Select account quota" : "Sélectionner le quota du compte",
- "Set the language" : "Définir la langue",
- "Toggle account actions menu" : "Afficher / Masquer le menu des actions de compte",
- "Done" : "Terminé",
- "Edit" : "Editer",
- "Account management settings" : "Paramètres gestion des comptes",
- "Visibility" : "Visibilité",
- "Show language" : "Afficher la langue",
- "Show account backend" : "Afficher l'origine du compte",
- "Show storage path" : "Afficher l'emplacement du stockage",
- "Show first login" : "Afficher la première connexion",
- "Show last login" : "Afficher la dernière connexion",
- "Sorting" : "Trier",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "La configuration système impose le tri des groupes par nom. Ceci désactive également l’affichage du nombre de membres.",
- "Group list sorting" : "Tri de la liste des groupes",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Pour des raisons de performances, le tri ne s'applique qu'aux groupes actuellement chargés. Les groupes seront chargés au fur et à mesure de votre navigation ou de votre recherche dans la liste.",
- "By member count" : "Par nombre de membres",
- "By name" : "Par nom",
- "Send email" : "Envoyer un e-mail",
- "Send welcome email to new accounts" : "Envoyer un e-mail de bienvenue aux nouveaux comptes",
- "Defaults" : "Par défaut",
- "Default quota" : "Quota par défaut",
- "Select default quota" : "Sélectionner le quota par défaut",
- "Server error while trying to complete WebAuthn device registration" : "Erreur du serveur lors de l'enregistrement du périphérique WebAuthn",
- "Passwordless authentication requires a secure connection." : "L'authentification sans mot de passe requiert une connexion sécurisée.",
- "Add WebAuthn device" : "Ajouter un périphérique WebAuthn",
- "Please authorize your WebAuthn device." : "Veuillez autoriser votre périphérique WebAuthn.",
- "Adding your device …" : "Ajout de votre périphérique…",
- "Unnamed device" : "Périphérique sans nom",
- "Passwordless Authentication" : "Authentification sans mot de passe",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configurer votre compte pour une authentification sans mot de passe suivant le standard FIDO2.",
- "No devices configured." : "Aucun périphérique paramétré.",
- "The following devices are configured for your account:" : "Les périphériques suivants sont paramétrés pour votre compte :",
- "Your browser does not support WebAuthn." : "Votre navigateur ne prend pas en charge WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "En tant qu'administrateur, vous pouvez affiner le comportement de partage. Veuillez consulter la documentation pour plus d'informations.",
- "You need to enable the File sharing App." : "Vous devez activer l'application de partage de fichiers",
- "App Store" : "Boutique d’applications",
- "Loading app list" : "Chargement de la liste des applications",
- "Loading categories" : "Chargement des catégories",
- "Developer documentation ↗" : "Documentation développeurs ↗",
- "Version {version}, {license}-licensed" : "Version {version}, sous licence {license}",
- "Version {version}" : "Version {version}",
- "All accounts" : "Tous les comptes",
- "Admins" : "Administrateurs",
- "Account group: {group}" : "Groupe de comptes : {group}",
- "Account management" : "Gestion de compte",
"Sending…" : "Envoi en cours...",
"Email sent" : "E-mail envoyé",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Pour des raisons de performance, quand vous activez le chiffrement sur un serveur Nextcloud, seuls les fichiers nouveaux et modifiés sont chiffrés.",
@@ -797,6 +513,7 @@ OC.L10N.register(
"Date of birth" : "Date de naissance",
"Full name" : "Nom complet",
"Additional email" : "Adresse e-mail supplémentaire",
+ "Email" : "E-mail",
"Fediverse (e.g. Mastodon)" : "Fediverse (ex. Mastodon)",
"Headline" : "Titre",
"Organisation" : "Organisation",
@@ -806,6 +523,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (anciennement Twitter)",
"Website" : "Site web",
"Profile visibility" : "Visibilité du profil",
+ "Language" : "Langue",
"Locale" : "Paramètres régionaux",
"First day of week" : "Premier jour de la semaine",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non disponible car cette propriété est requise pour les fonctionnalités essentielles comme le partage de fichiers et les invitations de l'agenda.",
@@ -823,6 +541,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Montrer seulement aux comptes connectés",
"Hide" : "Cacher",
"Manually installed apps cannot be updated" : "les applications installées manuellement ne peuvent pas être mises à jour",
+ "Update to {version}" : "Mettre à jour vers {version}",
"{progress}% Deploying …" : "{progress}% Déploiement…",
"{progress}% Initializing …" : "{progress}% Initialisation…",
"Health checking" : "Contrôle de santé",
@@ -832,6 +551,7 @@ OC.L10N.register(
"Allow untested app" : "Autoriser l'application non testée",
"The app will be downloaded from the App Store" : "L'application sera téléchargée depuis le magasin d'applications",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Cette application n'est pas indiquée comme étant compatible avec votre version de Nextcloud. Si vous continuez vous pourrez toujours installer l'app. Notez cependant qu'elle pourrait ne pas fonctionner comme prévu.",
+ "{size} used" : "{size} utilisés",
"Unknown" : "Inconnu",
"Never" : "Jamais",
"Could not register device: Network error" : "Impossible d’enregistrer l’appareil : erreur réseau",
@@ -850,8 +570,10 @@ OC.L10N.register(
"Could not set group sorting" : "Impossible de définir le tri des groupes",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Il y a trop de requêtes depuis votre réseau. Réessayez plus tard ou contactez votre administrateur s'il s'agit d'une erreur.",
"Error" : "Erreur",
+ "Default quota" : "Quota par défaut",
"Account documentation" : "Documentation utilisateur",
"Administration documentation" : "Documentation de l'administration",
+ "Documentation" : "Documentation",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Ressources d’aide Nextcloud & de confidentialité",
"General documentation" : "Documentation générale",
@@ -874,6 +596,7 @@ OC.L10N.register(
"SMTP Password" : "Mot de passe SMTP",
"Save" : "Enregistrer",
"Test and verify email settings" : "Tester les paramètres de messagerie",
+ "Send email" : "Envoyer un e-mail",
"Security & setup warnings" : "Avertissements de sécurité & configuration",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Il est important pour la sécurité et la performance de votre instance que celle-ci soit correctement configurée. Afin de vous aider, votre instance Nextcloud effectue des vérifications automatiques. Pour de plus amples informations, veuillez consulter la documentation liée.",
"All checks passed." : "Tous les contrôles ont été effectués avec succès.",
@@ -899,11 +622,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "La limite de mémoire PHP est sous la valeur recommandée de %s.",
"for WebAuthn passwordless login" : "pour WebAuthn pour la connexion sans mot de passe",
"for WebAuthn passwordless login, and SFTP storage" : "pour WebAuthn pour la connexion sans mot de passe, et le stockage SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- L’en-tête HTTP `%1$s` ne contient pas `%2$s`. Ceci constitue un risque potentiel relatif à la sécurité et à la confidentialité, il est recommandé d’ajuster ce paramètre.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Version PostgreSQL \"%s\" détectée. PostgreSQL >= 12 et <= 16 sont recommandés pour de meilleures performances, stabilité et fonctionnalités avec cette version de Nextcloud.",
- "Set default expiration date for shares" : "Définir par défaut une date d’expiration pour les partages",
- "Your biography" : "Votre biographie",
- "You are using <strong>{usage}</strong>" : "Vous utilisez <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Vous utilisez <strong>{usage}</strong> sur <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Échec du chargement des sous-administrateurs de groupes avec les détails"
+ "Set default expiration date for shares" : "Définir par défaut une date d’expiration pour les partages"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/settings/l10n/fr.json b/apps/settings/l10n/fr.json
index 3195d90f7cd..e0bf4ad199a 100644
--- a/apps/settings/l10n/fr.json
+++ b/apps/settings/l10n/fr.json
@@ -294,7 +294,6 @@
"HTTP headers" : "Entêtes HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- L'entête HTTP `%1$s` n'est pas défini à `%2$s`. Certaines fonctionnalités pourraient de pas fonctionner correctement, il est recommandé d'ajuster ce réglage en conséquence. ",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- L’en-tête HTTP `%1$s` n’est pas configuré pour être égal à `%2$s`. Ceci constitue un risque potentiel relatif à la sécurité et à la confidentialité, il est recommandé d’ajuster ce paramètre.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- L’en-tête HTTP `%1$s` ne contient pas `%2$s`. Ceci constitue un risque potentiel relatif à la sécurité et à la confidentialité, il est recommandé d’ajuster ce paramètre.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- L’en-tête HTTP `%1$s` n’est pas définit à `%2$s`, `%3$s`, `%4$s`, `%5$s` ou `%6$s`. Ceci pourrait dévoiler des informations sur le référent (referer). Voir la {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- L’en-tête HTTP `Strict-Transport-Security` n’est pas définit à au moins `%d` secondes (valeur actuelle : `%d`). Pour une sécurité renforcée, il est recommandé d’utiliser une politique HSTS longue.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- L’en-tête HTTP `Strict-Transport-Security` est mal formé :  `%s`. Pour une sécurité renforcée, il est recommandé d’activer HSTS.",
@@ -445,97 +444,6 @@
"Could not load section content from app store." : "Impossible de charger le contenu de cette section du magasin d'applications.",
"Loading" : "Chargement",
"Fetching the latest news…" : "Récupération des dernières nouvelles…",
- "Carousel" : "Carousel",
- "Previous slide" : "Diapositive précédente",
- "Next slide" : "Diapositive suivante",
- "Choose slide to display" : "Choisir la diapositive à afficher",
- "{index} of {total}" : "{index} sur {total}",
- "Daemon" : "Processus",
- "Deploy Daemon" : "Deamon de déploiement",
- "Type" : "Type",
- "Display Name" : "Nom affiché",
- "GPUs support" : "Prise en charge des cartes graphiques",
- "Compute device" : "Appareil de calcul",
- "Advanced deploy options" : "Options avancées de déploiement",
- "Edit ExApp deploy options before installation" : "Éditer les options de déploiement ExApp avant l'installation",
- "Configured ExApp deploy options. Can be set only during installation" : "Options de déploiement ExApp. Ne peuvent être définies que lors de l'installation",
- "Learn more" : "En savoir plus",
- "Environment variables" : "Variables d'environnement",
- "ExApp container environment variables" : "Variables d'environnement du conteneur ExApp",
- "No environment variables defined" : "Aucune variable d'environnement définie",
- "Mounts" : "Montages",
- "Define host folder mounts to bind to the ExApp container" : "Définir les montages de volumes de l'hôte à attacher au conteneur ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Doivent exister sur l'hôte de déploiement du service avant d'installer ExApp",
- "Host path" : "Chemin de l'hôte",
- "Container path" : "Chemin du conteneur",
- "Read-only" : "Lecture seule",
- "Remove mount" : "Retirer le point de montage",
- "New mount" : "Nouveau point de montage",
- "Enter path to host folder" : "Entrer le chemin du dossier sur l'hôte",
- "Enter path to container folder" : "Entrer le chemin du dossier du conteneur",
- "Toggle read-only mode" : "Activer/Désactiver le mode lecture seule",
- "Confirm adding new mount" : "Confirmer l'ajout de nouveau point de montage",
- "Confirm" : "Confirmer",
- "Cancel adding mount" : "Annuler l'ajout de nouveau point de montage",
- "Cancel" : "Annuler",
- "Add mount" : "Ajouter un point de montage",
- "ExApp container mounts" : "Points de montage ExApp",
- "No mounts defined" : "Aucun point de montage défini",
- "Description" : "Description",
- "View in store" : "Afficher dans le magasin d'applications",
- "Visit website" : "Visiter le site web",
- "Usage documentation" : "Documentation d'utilisation",
- "Admin documentation" : "Documentation administrateur",
- "Developer documentation" : "Documentation développeurs",
- "Details" : "Détails",
- "All" : "Tous",
- "Limit app usage to groups" : "Limiter l'utilisation de l'application à des groupes",
- "No results" : "Aucun résultat",
- "Update to {version}" : "Mettre à jour vers {version}",
- "Deploy options" : "Options de déploiement",
- "Default Deploy daemon is not accessible" : "Le service de déploiement par défaut n'est pas accessible",
- "Delete data on remove" : "Supprimer les données lors de la désinstallation",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Cette application n’a pas de version minimum Nextcloud exigée. Ce sera considéré comme une erreur à l’avenir.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Cette application n’a pas de version maximum Nextcloud exigée. Ce sera considéré comme une erreur à l’avenir.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Cette application ne peut être installée à cause de ces dépendances non satisfaites :",
- "Latest updated" : "Dernière mise à jour",
- "Author" : "Auteur",
- "Categories" : "Catégories",
- "Resources" : "Ressources",
- "Documentation" : "Documentation",
- "Interact" : "Interagir",
- "Report a bug" : "Signaler un bogue",
- "Request feature" : "Demander une fonctionnalité",
- "Ask questions or discuss" : "Poser des questions ou discuter",
- "Rate the app" : "Évaluer l’application",
- "Rate" : "Évaluation",
- "Changelog" : "Journal des modifications",
- "Google Chrome for Android" : "Google Chrome pour Android",
- "{productName} iOS app" : "Application iOS {productName}",
- "{productName} Android app" : "Application Android {productName}",
- "{productName} Talk for iOS" : " {productName} Talk pour iOS",
- "{productName} Talk for Android" : " {productName} Talk pour Android",
- "Sync client" : "Client de synchronisation",
- "This session" : "Cette session",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nom de l'appareil",
- "Cancel renaming" : "Annuler le renommage",
- "Save new name" : "Enregistrer un nouveau nom",
- "Marked for remote wipe" : "Marqué pour l'effaçage distant",
- "Device settings" : "Paramètres de l'appareil",
- "Allow filesystem access" : "Autoriser l’accès au gestionnaire de fichiers",
- "Rename" : "Renommer",
- "Revoke" : "Révoquer",
- "Wipe device" : "Effacer l'appareil",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Révoquer ce jeton peut empêcher l'effacement de votre appareil s'il n'a pas encore démarré l'effacement.",
- "Device" : "Appareil",
- "Last activity" : "Dernière activité",
- "Devices & sessions" : "Appareils & sessions",
- "Web, desktop and mobile clients currently logged in to your account." : "Clients web, applications de bureau et mobiles actuellement connectés avec votre compte.",
- "Error while creating device token" : "Erreur lors de la création du jeton de l’appareil",
- "App name" : "Nom de l’application",
- "Create new app password" : "Créer un nouveau mot de passe d’application",
"App password copied!" : "Mot de passe d'application copié !",
"Copy app password" : "Copier le mot de passe d'application",
"Login name copied!" : "Nom de l'identifiant copié !",
@@ -589,203 +497,11 @@
"Failed to delete group \"{group}\"" : "Échec de la suppression du groupe \"{group}\"",
"Please confirm the group removal" : "Merci de confirmer la suppression du groupe",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Vous êtes sur le point de supprimer le groupe \"{group}\". Les comptes associés ne seront pas supprimés.",
+ "Cancel" : "Annuler",
+ "Confirm" : "Confirmer",
"Submit" : "Soumettre",
"Rename group" : "Renommer le groupe",
"Delete group" : "Supprimer le groupe",
- "Current password" : "Mot de passe actuel",
- "New password" : "Nouveau mot de passe",
- "Change password" : "Changer de mot de passe",
- "Choose your profile picture" : "Choisir votre image de profil",
- "Please select a valid png or jpg file" : "Merci de sélectionner un fichier jpg ou png valide",
- "Error setting profile picture" : "Erreur lors de la redéfinition de l'image de profil",
- "Error cropping profile picture" : "Erreur lors du recadrage d'image de profil",
- "Error saving profile picture" : "Erreur lors de la sauvegarde de l'image de profil",
- "Error removing profile picture" : "Erreur lors de la suppression de l'image de profil",
- "Your profile picture" : "Votre photo de profil",
- "Upload profile picture" : "Téléverser une photo de profil",
- "Choose profile picture from Files" : "Choisir une image de profil dans Fichiers",
- "Remove profile picture" : "Retirer la photo de profil",
- "The file must be a PNG or JPG" : "Le fichier doit être au format PNG ou JPG",
- "Picture provided by original account" : "Photo fournie par le compte original",
- "Set as profile picture" : "Définir comme image de profil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Veuillez noter que cela peut prendre jusqu'à 24 heures pour que votre image de profil soit mise à jour partout.",
- "Your biography. Markdown is supported." : "Votre biographie. Le format Markdown est pris en charge.",
- "Unable to update date of birth" : "Impossible de mettre à jour la date de naissance",
- "Enter your date of birth" : "Saisissez votre date de naissance",
- "You are using {s}{usage}{/s}" : "Vous utilisez {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Vous utilisez {s}{usage}{/s} de {s}{totalSpace}{/s}({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Vous êtes membre des groupes suivants :",
- "Your full name" : "Votre nom complet",
- "Email options" : "Options de messagerie",
- "Options for additional email address {index}" : "Options pour une adresse e-mail supplémentaire {index}",
- "Remove primary email" : "Supprimer l'adresse e-mail principale",
- "Delete email" : "Supprimer l'adresse e-mail",
- "This address is not confirmed" : "Cette adresse n'est pas confirmée",
- "Unset as primary email" : "Ne plus définir comme adresse e-mail principale",
- "Set as primary email" : "Définir comme adresse e-mail principale",
- "Additional email address {index}" : "E-mail supplémentaire {index}",
- "Unable to delete primary email address" : "Impossible de supprimer l'adresse e-mail principale",
- "Unable to update primary email address" : "Impossible de modifier l'adresse e-mail principale",
- "Unable to add additional email address" : "Impossible d'ajouter une adresse e-mail supplémentaire",
- "Unable to update additional email address" : "Impossible de modifier l'adresse e-mail supplémentaire",
- "Unable to delete additional email address" : "Impossible de supprimer l'adresse e-mail supplémentaire",
- "Primary email for password reset and notifications" : "Adresse e-mail principale pour la réinitialisation du mot de passe et les notifications",
- "No email address set" : "Aucune adresse e-mail configurée",
- "Your handle" : "Votre identifiant",
- "Derived from your locale ({weekDayName})" : "Issu de votre locale ({weekDayName})",
- "Unable to update first day of week" : "Impossible de mettre à jour le premier jour de la semaine",
- "Day to use as the first day of week" : "Jour à utiliser comme premier jour de la semaine",
- "Your headline" : "Votre titre",
- "Unable to update language" : "Impossible de modifier la langue",
- "Languages" : "Langues",
- "Help translate" : "Aidez à traduire",
- "No language set" : "Aucune langue définie",
- "Unable to update locale" : "Impossible de mettre à jour les paramètres régionaux",
- "Locales" : "Paramètres régionaux",
- "Week starts on {firstDayOfWeek}" : "Les semaines commencent le {firstDayOfWeek}",
- "No locale set" : "Paramètres régionaux non définis",
- "Your city" : "Votre ville",
- "Your organisation" : "Votre organisation",
- "Your phone number" : "Votre numéro de téléphone",
- "Edit your Profile visibility" : "Visibilité du profil",
- "Unable to update profile enabled state" : "Impossible de mettre à jour l'état du profil",
- "Enable profile" : "Activer le profil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Le paramètre le plus restrictif entre la visibilité et la confidentialité est respecté. Par exemple, si la visibilité est définie à \"Montrer à tout le monde\" et que la confidentialité est \"Privé\", \"Privé\" est respecté.",
- "Unable to update visibility of {displayId}" : "Impossible de mettre à jour la visibilité de {displayId}",
- "she/her" : "elle/elle",
- "he/him" : "il/lui",
- "they/them" : "iel/ellui",
- "Your role" : "Votre fonction",
- "Your X (formerly Twitter) handle" : "Votre identifiant X (anciennement Twitter)",
- "Your website" : "Votre site web",
- "Invalid value" : "Valeur invalide",
- "Unable to update {property}" : "Impossible de mettre à jour {property}",
- "No {property} set" : "{property} n'est pas défini",
- "Change scope level of {property}, current scope is {scope}" : "Changer la portée de {property}, la portée actuelle est {scope}",
- "Unable to update federation scope of the primary {property}" : "Impossible de mettre à jour la portée de la fédération pour le/la {property} principal(e)",
- "Unable to update federation scope of additional {property}" : "Impossible de mettre à jour la portée de la fédération pour le/la {property} additionnel(le)",
- "Add additional email" : "Ajouter un e-mail supplémentaire",
- "Add" : "Ajouter",
- "Create" : "Créer",
- "Change" : "Modifier",
- "Delete" : "Supprimer",
- "Reshare" : "Repartager",
- "Default language" : "Langue par défaut",
- "Common languages" : "Langues communes",
- "Other languages" : "Autres langues",
- "Password change is disabled because the master key is disabled" : "Le changement de mot de passe est désactivé car la clé principale est désactivée",
- "No accounts" : "Aucun compte",
- "Loading accounts …" : "Chargement des comptes …",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Liste des comptes. Cette liste n'est pas entièrement affichée pour des raisons de performance. Les comptes seront affichés au fur et à mesure que vous naviguerez dans la liste.",
- "Manager" : "Supérieur",
- "Set line manager" : "Définir le responsable hiérarchique",
- "Account name will be autogenerated" : "Le nom du compte sera généré automatiquement",
- "Account name (required)" : "Nom du compte (obligatoire)",
- "Failed to search groups" : "Échec de la recherche des groupes",
- "New account" : "Nouveau compte",
- "Display name" : "Nom d'affichage",
- "Either password or email is required" : "Le mot de passe ou l'e-mail est requis",
- "Password (required)" : "Mot de passe (requis)",
- "Email (required)" : "E-mail (requis)",
- "Email" : "E-mail",
- "Member of the following groups (required)" : "Membre des groupes suivants (obligatoire)",
- "Member of the following groups" : "Membre des groupes suivants",
- "Set account groups" : "Définir les groupes de comptes",
- "Admin of the following groups" : "Administrateur des groupes suivants",
- "Set account as admin for …" : "Définir en tant qu'administrateur pour",
- "Quota" : "Quota",
- "Set account quota" : "Définir le quota du compte",
- "Language" : "Langue",
- "Set default language" : "Définir la langue par défaut",
- "Add new account" : "Ajouter le nouveau compte",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} compte…","{userCount} comptes…","{userCount} comptes…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} compte","{userCount} comptes","{userCount} comptes"],
- "Total rows summary" : "Récapitulatif du nombre total de lignes",
- "Scroll to load more rows" : "Défiler pour charger plus de lignes",
- "Password or insufficient permissions message" : "Mot de passe ou message d'autorisations insuffisantes",
- "Avatar" : "Avatar",
- "Account name" : "Nom du compte",
- "Group admin for" : "Administrateur de groupe pour",
- "Account backend" : "Origine du compte",
- "Storage location" : "Emplacement du stockage",
- "First login" : "Première connexion",
- "Last login" : "Dernière connexion",
- "Account actions" : "Actions du compte",
- "{size} used" : "{size} utilisés",
- "Delete account" : "Supprimer le compte",
- "Disconnect all devices and delete local data" : "Déconnecter tous les appareils et supprimer les données locales",
- "Disable account" : "Désactiver le compte",
- "Enable account" : "Activer le compte",
- "Resend welcome email" : "Renvoyer l'e-mail de bienvenue",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "En cas de perte d'appareil ou si vous quittez un groupe ou une organisation, cela pourra supprimer les données de tous les appareils associés à {userid}. Ne fonctionne que si les appareils associés sont connectés à internet.",
- "Remote wipe of devices" : "Effacer les appareils à distance",
- "Wipe {userid}'s devices" : "Effacer les appareils de {userid}",
- "Wiped {userid}'s devices" : "Les appareils de {userid} ont été effacés",
- "Failed to load groups with details" : "Échec du chargement des groupes avec les détails",
- "Failed to load sub admin groups with details" : "Échec du chargement du sous-administrateur de groupes avec les détails",
- "Failed to update line manager" : "Échec de la mise à jour du responsable hiérarchique",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Supprime totalement le compte de {userid} et toutes ses données associées (fichiers personnels, données des applications, etc.)",
- "Account deletion" : "Suppression de compte",
- "Delete {userid}'s account" : "Supprimer le compte {userid}",
- "Display name was successfully changed" : "Le nom d'affichage a été modifié avec succès",
- "Password can't be empty" : "Le mot de passe ne peut pas être vide",
- "Password was successfully changed" : "Le mot de passe a été modifié avec succès",
- "Email can't be empty" : "L'adresse mail ne peut pas être vide",
- "Email was successfully changed" : "L'e-mail a été modifié avec succès",
- "Welcome mail sent!" : "E-mail de bienvenue envoyé !",
- "Loading account …" : "Chargement du compte…",
- "Change display name" : "Changer le nom de l'affichage",
- "Set new password" : "Définir un nouveau mot de passe",
- "You do not have permissions to see the details of this account" : "Vous n'avez pas les autorisations pour voir le détail de ce compte.",
- "Set new email address" : "Définir une nouvelle adresse e-mail",
- "Add account to group" : "Ajouter le compte au groupe",
- "Set account as admin for" : "Définir en tant qu'administrateur pour",
- "Select account quota" : "Sélectionner le quota du compte",
- "Set the language" : "Définir la langue",
- "Toggle account actions menu" : "Afficher / Masquer le menu des actions de compte",
- "Done" : "Terminé",
- "Edit" : "Editer",
- "Account management settings" : "Paramètres gestion des comptes",
- "Visibility" : "Visibilité",
- "Show language" : "Afficher la langue",
- "Show account backend" : "Afficher l'origine du compte",
- "Show storage path" : "Afficher l'emplacement du stockage",
- "Show first login" : "Afficher la première connexion",
- "Show last login" : "Afficher la dernière connexion",
- "Sorting" : "Trier",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "La configuration système impose le tri des groupes par nom. Ceci désactive également l’affichage du nombre de membres.",
- "Group list sorting" : "Tri de la liste des groupes",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Pour des raisons de performances, le tri ne s'applique qu'aux groupes actuellement chargés. Les groupes seront chargés au fur et à mesure de votre navigation ou de votre recherche dans la liste.",
- "By member count" : "Par nombre de membres",
- "By name" : "Par nom",
- "Send email" : "Envoyer un e-mail",
- "Send welcome email to new accounts" : "Envoyer un e-mail de bienvenue aux nouveaux comptes",
- "Defaults" : "Par défaut",
- "Default quota" : "Quota par défaut",
- "Select default quota" : "Sélectionner le quota par défaut",
- "Server error while trying to complete WebAuthn device registration" : "Erreur du serveur lors de l'enregistrement du périphérique WebAuthn",
- "Passwordless authentication requires a secure connection." : "L'authentification sans mot de passe requiert une connexion sécurisée.",
- "Add WebAuthn device" : "Ajouter un périphérique WebAuthn",
- "Please authorize your WebAuthn device." : "Veuillez autoriser votre périphérique WebAuthn.",
- "Adding your device …" : "Ajout de votre périphérique…",
- "Unnamed device" : "Périphérique sans nom",
- "Passwordless Authentication" : "Authentification sans mot de passe",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configurer votre compte pour une authentification sans mot de passe suivant le standard FIDO2.",
- "No devices configured." : "Aucun périphérique paramétré.",
- "The following devices are configured for your account:" : "Les périphériques suivants sont paramétrés pour votre compte :",
- "Your browser does not support WebAuthn." : "Votre navigateur ne prend pas en charge WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "En tant qu'administrateur, vous pouvez affiner le comportement de partage. Veuillez consulter la documentation pour plus d'informations.",
- "You need to enable the File sharing App." : "Vous devez activer l'application de partage de fichiers",
- "App Store" : "Boutique d’applications",
- "Loading app list" : "Chargement de la liste des applications",
- "Loading categories" : "Chargement des catégories",
- "Developer documentation ↗" : "Documentation développeurs ↗",
- "Version {version}, {license}-licensed" : "Version {version}, sous licence {license}",
- "Version {version}" : "Version {version}",
- "All accounts" : "Tous les comptes",
- "Admins" : "Administrateurs",
- "Account group: {group}" : "Groupe de comptes : {group}",
- "Account management" : "Gestion de compte",
"Sending…" : "Envoi en cours...",
"Email sent" : "E-mail envoyé",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Pour des raisons de performance, quand vous activez le chiffrement sur un serveur Nextcloud, seuls les fichiers nouveaux et modifiés sont chiffrés.",
@@ -795,6 +511,7 @@
"Date of birth" : "Date de naissance",
"Full name" : "Nom complet",
"Additional email" : "Adresse e-mail supplémentaire",
+ "Email" : "E-mail",
"Fediverse (e.g. Mastodon)" : "Fediverse (ex. Mastodon)",
"Headline" : "Titre",
"Organisation" : "Organisation",
@@ -804,6 +521,7 @@
"X (formerly Twitter)" : "X (anciennement Twitter)",
"Website" : "Site web",
"Profile visibility" : "Visibilité du profil",
+ "Language" : "Langue",
"Locale" : "Paramètres régionaux",
"First day of week" : "Premier jour de la semaine",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non disponible car cette propriété est requise pour les fonctionnalités essentielles comme le partage de fichiers et les invitations de l'agenda.",
@@ -821,6 +539,7 @@
"Show to logged in accounts only" : "Montrer seulement aux comptes connectés",
"Hide" : "Cacher",
"Manually installed apps cannot be updated" : "les applications installées manuellement ne peuvent pas être mises à jour",
+ "Update to {version}" : "Mettre à jour vers {version}",
"{progress}% Deploying …" : "{progress}% Déploiement…",
"{progress}% Initializing …" : "{progress}% Initialisation…",
"Health checking" : "Contrôle de santé",
@@ -830,6 +549,7 @@
"Allow untested app" : "Autoriser l'application non testée",
"The app will be downloaded from the App Store" : "L'application sera téléchargée depuis le magasin d'applications",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Cette application n'est pas indiquée comme étant compatible avec votre version de Nextcloud. Si vous continuez vous pourrez toujours installer l'app. Notez cependant qu'elle pourrait ne pas fonctionner comme prévu.",
+ "{size} used" : "{size} utilisés",
"Unknown" : "Inconnu",
"Never" : "Jamais",
"Could not register device: Network error" : "Impossible d’enregistrer l’appareil : erreur réseau",
@@ -848,8 +568,10 @@
"Could not set group sorting" : "Impossible de définir le tri des groupes",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Il y a trop de requêtes depuis votre réseau. Réessayez plus tard ou contactez votre administrateur s'il s'agit d'une erreur.",
"Error" : "Erreur",
+ "Default quota" : "Quota par défaut",
"Account documentation" : "Documentation utilisateur",
"Administration documentation" : "Documentation de l'administration",
+ "Documentation" : "Documentation",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Ressources d’aide Nextcloud & de confidentialité",
"General documentation" : "Documentation générale",
@@ -872,6 +594,7 @@
"SMTP Password" : "Mot de passe SMTP",
"Save" : "Enregistrer",
"Test and verify email settings" : "Tester les paramètres de messagerie",
+ "Send email" : "Envoyer un e-mail",
"Security & setup warnings" : "Avertissements de sécurité & configuration",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Il est important pour la sécurité et la performance de votre instance que celle-ci soit correctement configurée. Afin de vous aider, votre instance Nextcloud effectue des vérifications automatiques. Pour de plus amples informations, veuillez consulter la documentation liée.",
"All checks passed." : "Tous les contrôles ont été effectués avec succès.",
@@ -897,11 +620,8 @@
"The PHP memory limit is below the recommended value of %s." : "La limite de mémoire PHP est sous la valeur recommandée de %s.",
"for WebAuthn passwordless login" : "pour WebAuthn pour la connexion sans mot de passe",
"for WebAuthn passwordless login, and SFTP storage" : "pour WebAuthn pour la connexion sans mot de passe, et le stockage SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- L’en-tête HTTP `%1$s` ne contient pas `%2$s`. Ceci constitue un risque potentiel relatif à la sécurité et à la confidentialité, il est recommandé d’ajuster ce paramètre.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Version PostgreSQL \"%s\" détectée. PostgreSQL >= 12 et <= 16 sont recommandés pour de meilleures performances, stabilité et fonctionnalités avec cette version de Nextcloud.",
- "Set default expiration date for shares" : "Définir par défaut une date d’expiration pour les partages",
- "Your biography" : "Votre biographie",
- "You are using <strong>{usage}</strong>" : "Vous utilisez <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Vous utilisez <strong>{usage}</strong> sur <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Échec du chargement des sous-administrateurs de groupes avec les détails"
+ "Set default expiration date for shares" : "Définir par défaut une date d’expiration pour les partages"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ga.js b/apps/settings/l10n/ga.js
index 60d2ff22499..a0dd56f9187 100644
--- a/apps/settings/l10n/ga.js
+++ b/apps/settings/l10n/ga.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "Ceanntásca HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- Níl an ceanntásc HTTP `%1$s` socraithe go `%2$s`. Seans nach n-oibreoidh roinnt gnéithe i gceart, mar moltar an socrú seo a choigeartú dá réir.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Níl an ceanntásc HTTP `%1$s` socraithe go `%2$s`. Is riosca slándála nó príobháideachta féideartha é seo, mar moltar an socrú seo a choigeartú dá réir.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Níl `%2$s` sa cheanntásc HTTP `%1$s`. Is riosca slándála nó príobháideachta féideartha é seo, mar moltar an socrú seo a choigeartú dá réir.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- Níl an ceanntásc HTTP `%1$s` socraithe mar `%2$s`, `%3$s`, `%4$s`, `%5$s` nó `%6$s`. Is féidir leis seo faisnéis atreoraithe a sceitheadh. Féach ar an {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- Níl an ceanntásc HTTP `Strict-Transport-Security` socraithe go dtí `%d` soicind ar a laghad (luach reatha: `%d`). Ar mhaithe le slándáil fheabhsaithe, moltar beartas fada HSTS a úsáid.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- Tá an ceanntásc HTTP `Strict-Transport-Security` míchumtha: `%s`. Ar mhaithe le slándáil fheabhsaithe, moltar HSTS a chumasú.",
@@ -447,97 +446,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Níorbh fhéidir ábhar na rannóige a lódáil ón appstore.",
"Loading" : "Ag lódáil",
"Fetching the latest news…" : "An nuacht is déanaí á bhfáil…",
- "Carousel" : "Timpealláin",
- "Previous slide" : "Sleamhnán roimhe seo",
- "Next slide" : "Sleamhnán seo chugainn",
- "Choose slide to display" : "Roghnaigh sleamhnán le taispeáint",
- "{index} of {total}" : "{index} de {total}",
- "Daemon" : "Deamhan",
- "Deploy Daemon" : "Imscaradh Deamhan",
- "Type" : "Cineál",
- "Display Name" : "Ainm taispeána",
- "GPUs support" : "Tacaíocht GPUs",
- "Compute device" : "Gléas ríomh",
- "Advanced deploy options" : "Ardroghanna imscaradh",
- "Edit ExApp deploy options before installation" : "Cuir roghanna imlonnaithe ExApp in eagar roimh an tsuiteáil",
- "Configured ExApp deploy options. Can be set only during installation" : "Roghanna imlonnaithe ExApp cumraithe. Ní féidir é a shocrú ach amháin le linn na suiteála",
- "Learn more" : "Foghlaim níos mó",
- "Environment variables" : "Athróga timpeallachta",
- "ExApp container environment variables" : "Athróga timpeallachta coimeádán ExApp",
- "No environment variables defined" : "Níl aon athróg timpeallachta sainithe",
- "Mounts" : "Feistis",
- "Define host folder mounts to bind to the ExApp container" : "Sainmhínigh gléasanna an fhillteáin óstaigh chun ceangal leis an gcoimeádán ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Ní mór a bheith ar an ósta Deploy Deploy roimh shuiteáil an ExApp",
- "Host path" : "Cosán óstach",
- "Container path" : "Cosán coimeádán",
- "Read-only" : "Inléite-amháin",
- "Remove mount" : "Bain feisteas",
- "New mount" : "Feisteas nua",
- "Enter path to host folder" : "Cuir isteach cosán chuig an bhfillteán óstach",
- "Enter path to container folder" : "Cuir isteach an cosán chuig an bhfillteán coimeádán",
- "Toggle read-only mode" : "Scoránaigh mód inléite-amháin",
- "Confirm adding new mount" : "Deimhnigh feisteas nua a chur leis",
- "Confirm" : "Deimhnigh",
- "Cancel adding mount" : "Cealaigh feisteas a chur leis",
- "Cancel" : "Cealaigh",
- "Add mount" : "Cuir feisteas",
- "ExApp container mounts" : "Feisteas coimeádán ExApp",
- "No mounts defined" : "Níl aon feisteas sainithe",
- "Description" : "Cur síos",
- "View in store" : "Amharc sa siopa",
- "Visit website" : "Tabhair cuairt ar an suíomh Gréasáin",
- "Usage documentation" : "Doiciméadú úsáide",
- "Admin documentation" : "Doiciméadúchán riaracháin",
- "Developer documentation" : "Doiciméadú forbróra",
- "Details" : "Sonraí",
- "All" : "Gach",
- "Limit app usage to groups" : "Teorainn úsáid aipeanna go grúpaí",
- "No results" : "Gan torthaí",
- "Update to {version}" : "Nuashonraigh go {version}",
- "Deploy options" : "Roghanna imscaradh",
- "Default Deploy daemon is not accessible" : "Níl an deamhan Réamhshocrú Imscaradh inrochtana",
- "Delete data on remove" : "Scrios sonraí ar bhaint",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Níl aon leagan íosta de Nextcloud sannta don aip seo. Earráid a bheidh anseo sa todhchaí.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Níl aon leagan Nextcloud uasta sannta don aip seo. Earráid a bheidh anseo sa todhchaí.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ní féidir an aip seo a shuiteáil toisc nach bhfuil na spleáchais seo a leanas comhlíonta:",
- "Latest updated" : "Nuashonraithe is déanaí",
- "Author" : "Údar",
- "Categories" : "Catagóirí",
- "Resources" : "Acmhainní",
- "Documentation" : "Doiciméadúchán",
- "Interact" : "Idirghníomhú",
- "Report a bug" : "Tuairiscigh fabht",
- "Request feature" : "Iarr gné",
- "Ask questions or discuss" : "Cuir ceisteanna nó pléigh",
- "Rate the app" : "Ráta an app",
- "Rate" : "Ráta",
- "Changelog" : "Loga athrú",
- "Google Chrome for Android" : "Google chrome le haghaidh Android saor in aisce",
- "{productName} iOS app" : "{productName} aip iOS",
- "{productName} Android app" : "{productName} aip Android",
- "{productName} Talk for iOS" : "{productName} Labhair le haghaidh iOS",
- "{productName} Talk for Android" : "{productName} Labhair le haghaidh Android",
- "Sync client" : "Sioncrónaigh cliant",
- "This session" : "An seisiún seo",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Ainm an ghléis",
- "Cancel renaming" : "Cealaigh athainmniú",
- "Save new name" : "Sábháil ainm nua",
- "Marked for remote wipe" : "Marcáilte le haghaidh glanadh cianda",
- "Device settings" : "Socruithe gléis",
- "Allow filesystem access" : "Ceadaigh rochtain ar an gcóras comhad",
- "Rename" : "Athainmnigh",
- "Revoke" : "Chúlghairm",
- "Wipe device" : "Wipe gléas",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Má dhéantar an comhartha seo a aisghairm, d'fhéadfadh sé go gcuirfí cosc ar do ghléas a ghlanadh mura bhfuil an cuimilteoir tosaithe fós.",
- "Device" : "Gléas",
- "Last activity" : "An ghníomhaíocht dheireanach",
- "Devices & sessions" : "Gléasanna & seisiúin",
- "Web, desktop and mobile clients currently logged in to your account." : "Tá cliaint ghréasáin, deisce agus móibíleacha logáilte isteach i do chuntas faoi láthair.",
- "Error while creating device token" : "Earráid agus comhartha gléis á chruthú",
- "App name" : "Ainm aip",
- "Create new app password" : "Cruthaigh pasfhocal feidhmchlár nua",
"App password copied!" : "Cóipeáladh pasfhocal na haipe!",
"Copy app password" : "Cóipeáil pasfhocal an aip",
"Login name copied!" : "Cóipeáladh an t-ainm logáil isteach!",
@@ -591,203 +499,11 @@ OC.L10N.register(
"Failed to delete group \"{group}\"" : "Theip ar an ngrúpa \"{group}\" a scriosadh",
"Please confirm the group removal" : "Deimhnigh baint an ghrúpa",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Tá tú ar tí an grúpa \"{group}\" a scriosadh. NÍ scriosfar na cuntais.",
+ "Cancel" : "Cealaigh",
+ "Confirm" : "Deimhnigh",
"Submit" : "Cuir isteach",
"Rename group" : "Athainmnigh an grúpa",
"Delete group" : "Scrios grúpa",
- "Current password" : "Pasfhocal reatha",
- "New password" : "Focal Faire Nua",
- "Change password" : "Athraigh do phasfhocal",
- "Choose your profile picture" : "Roghnaigh do phictiúr próifíle",
- "Please select a valid png or jpg file" : "Roghnaigh comhad png nó jpg bailí le do thoil",
- "Error setting profile picture" : "Earráid agus pictiúr próifíle á shocrú",
- "Error cropping profile picture" : "Earráid agus pictiúr próifíle á bhearradh",
- "Error saving profile picture" : "Earráid agus pictiúr próifíle á shábháil",
- "Error removing profile picture" : "Earráid agus an pictiúr próifíle á bhaint",
- "Your profile picture" : "Do phictiúr próifíle",
- "Upload profile picture" : "Íosluchtaigh pictiúr próifíl",
- "Choose profile picture from Files" : "Roghnaigh pictiúr próifíle ó Chomhaid",
- "Remove profile picture" : "Bain pictiúr próifíle",
- "The file must be a PNG or JPG" : "Caithfidh an comhad a bheith ina PNG nó JPG",
- "Picture provided by original account" : "Pictiúr curtha ar fáil ag an mbunchuntas",
- "Set as profile picture" : "Socraigh mar phictiúr próifíle",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Tabhair faoi deara go bhféadfadh sé suas le 24 uair an chloig a ghlacadh chun do phictiúr próifíle a nuashonrú i ngach áit.",
- "Your biography. Markdown is supported." : "Do bheathaisnéis. Tacaítear le Markdown.",
- "Unable to update date of birth" : "Ní féidir an dáta breithe a nuashonrú",
- "Enter your date of birth" : "Cuir isteach do dháta breithe",
- "You are using {s}{usage}{/s}" : "Tá tú ag úsáid {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Tá tú ag úsáid{s}{usage}{/s} de {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Tá tú i do bhall de na grúpaí seo a leanas:",
- "Your full name" : "D'ainm iomlán",
- "Email options" : "Roghanna ríomhphoist",
- "Options for additional email address {index}" : "Roghanna le haghaidh seoladh ríomhphoist breise {index}",
- "Remove primary email" : "Bain príomhsheoladh ríomhphoist",
- "Delete email" : "Scrios ríomhphost",
- "This address is not confirmed" : "Níl an seoladh seo deimhnithe",
- "Unset as primary email" : "Díshuiteáil mar phríomhphost ríomhphoist",
- "Set as primary email" : "Socraigh mar phríomh-ríomhphost",
- "Additional email address {index}" : "Seoladh ríomhphoist breise {index}",
- "Unable to delete primary email address" : "Ní féidir an príomhsheoladh ríomhphoist a scriosadh",
- "Unable to update primary email address" : "Ní féidir an príomhsheoladh ríomhphoist a nuashonrú",
- "Unable to add additional email address" : "Ní féidir seoladh ríomhphoist breise a chur leis",
- "Unable to update additional email address" : "Ní féidir seoladh ríomhphoist breise a nuashonrú",
- "Unable to delete additional email address" : "Ní féidir seoladh ríomhphoist breise a scriosadh",
- "Primary email for password reset and notifications" : "Príomh-ríomhphost le haghaidh athshocrú pasfhocal agus fógraí",
- "No email address set" : "Níl seoladh ríomhphoist socraithe",
- "Your handle" : "Do láimhseáil",
- "Derived from your locale ({weekDayName})" : "Díorthaithe ó do logán ({weekDayName})",
- "Unable to update first day of week" : "Ní féidir an chéad lá den tseachtain a nuashonrú",
- "Day to use as the first day of week" : "Lá a úsáid mar an chéad lá den tseachtain",
- "Your headline" : "Do cheannlíne",
- "Unable to update language" : "Ní féidir an teanga a nuashonrú",
- "Languages" : "Teangacha",
- "Help translate" : "Cabhraigh le haistriú",
- "No language set" : "Gan tacar teanga",
- "Unable to update locale" : "Ní féidir locale a nuashonrú",
- "Locales" : "Logánta",
- "Week starts on {firstDayOfWeek}" : "Tosaíonn an tseachtain ar {firstDayOfWeek}",
- "No locale set" : "Gan tacar locale",
- "Your city" : "Do chathair",
- "Your organisation" : "D'eagraíocht",
- "Your phone number" : "D'uimhir theileafóin",
- "Edit your Profile visibility" : "Cuir infheictheacht do Phróifíl in eagar",
- "Unable to update profile enabled state" : "Ní féidir staid chumasaithe na próifíle a nuashonrú",
- "Enable profile" : "Cumasaigh próifíl",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Tá meas ar do Phróifíl ar shocrú níos sriantaí infheictheachta nó scóip. Mar shampla, má tá an infheictheacht socraithe mar \"Taispeáin do chách\" agus go bhfuil an raon feidhme socraithe go \"Príobháideach\", meastar \"Príobháideach\".",
- "Unable to update visibility of {displayId}" : "Ní féidir infheictheacht {displayId} a nuashonrú",
- "she/her" : "sí/léi",
- "he/him" : "sé/dó",
- "they/them" : "siad/siad",
- "Your role" : "Do ról",
- "Your X (formerly Twitter) handle" : "Láimhseálann do X (Twitter roimhe seo).",
- "Your website" : "Do láithreán gréasáin",
- "Invalid value" : "Luach neamhbhailí",
- "Unable to update {property}" : "Ní féidir {property} a nuashonrú",
- "No {property} set" : "Níl {property} socraithe",
- "Change scope level of {property}, current scope is {scope}" : "Athraigh leibhéal scóip {property}, is é {scope} an raon feidhme reatha",
- "Unable to update federation scope of the primary {property}" : "Níorbh fhéidir scóip chónaidhme na príomh-{property} a nuashonrú",
- "Unable to update federation scope of additional {property}" : "Níorbh fhéidir scóip chónaidhme {property}maoin bhreise a nuashonrú",
- "Add additional email" : "Cuir ríomhphost breise leis",
- "Add" : "Cuir",
- "Create" : "Cruthaigh",
- "Change" : "Athrú",
- "Delete" : "Scrios",
- "Reshare" : "Roinn arís",
- "Default language" : "Teanga réamhshocraithe",
- "Common languages" : "Teangacha coitianta",
- "Other languages" : "Teangacha eile",
- "Password change is disabled because the master key is disabled" : "Tá athrú pasfhocal díchumasaithe toisc go bhfuil an máistir-eochair díchumasaithe",
- "No accounts" : "Gan cuntais",
- "Loading accounts …" : "Cuntais á lódáil…",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Liosta cuntas. Níl an liosta seo le fáil go hiomlán ar chúiseanna feidhmíochta. Déanfar na cuntais a rindreáil agus tú ag dul tríd an liosta.",
- "Manager" : "Bainisteoir",
- "Set line manager" : "Socraigh bainisteoir líne",
- "Account name will be autogenerated" : "Déanfar ainm an chuntais a ghiniúint go huathoibríoch",
- "Account name (required)" : "Ainm an chuntais (riachtanach)",
- "Failed to search groups" : "Theip ar chuardach grúpaí",
- "New account" : "Cuntas nua",
- "Display name" : "Ainm taispeána",
- "Either password or email is required" : "Tá pasfhocal nó ríomhphost ag teastáil",
- "Password (required)" : "Pasfhocal (riachtanach)",
- "Email (required)" : "Ríomhphost (riachtanach)",
- "Email" : "Ríomhphost",
- "Member of the following groups (required)" : "Ball de na grúpaí seo a leanas (riachtanach)",
- "Member of the following groups" : "Ball de na grúpaí seo a leanas",
- "Set account groups" : "Socraigh grúpaí cuntais",
- "Admin of the following groups" : "Riarachán na ngrúpaí seo a leanas",
- "Set account as admin for …" : "Socraigh cuntas mar riarthóir do…",
- "Quota" : "Cuóta",
- "Set account quota" : "Socraigh cuóta cuntais",
- "Language" : "Teanga",
- "Set default language" : "Socraigh teanga réamhshocraithe",
- "Add new account" : "Cuir cuntas nua leis",
- "_{userCount} account …_::_{userCount} accounts …_" : ["cuntas {userCount}…","cuntais {userCount}…","cuntais {userCount}…","cuntais {userCount}…","cuntais {userCount}…"],
- "_{userCount} account_::_{userCount} accounts_" : ["cuntas {userCount}","cuntais {userCount}","cuntais {userCount}","cuntais {userCount}","cuntais {userCount}"],
- "Total rows summary" : "Achoimre ar na sraitheanna iomlána",
- "Scroll to load more rows" : "Scrollaigh chun tuilleadh sraitheanna a lódáil",
- "Password or insufficient permissions message" : "Pasfhocal nó teachtaireacht ceadanna neamhleor",
- "Avatar" : "Avatar",
- "Account name" : "Ainm chuntais",
- "Group admin for" : "Riarachán grúpa le haghaidh",
- "Account backend" : "Inneall chuntais",
- "Storage location" : "Suíomh stórála",
- "First login" : "An chéad logáil isteach",
- "Last login" : "Logáil isteach deiridh",
- "Account actions" : "Gníomhartha cuntais",
- "{size} used" : "{size} in úsáid",
- "Delete account" : "Scrios cuntas",
- "Disconnect all devices and delete local data" : "Déan gach gléas a dhícheangal agus scrios sonraí áitiúla",
- "Disable account" : "Díchumasaigh cuntas",
- "Enable account" : "Cumasaigh cuntas",
- "Resend welcome email" : "Seol ríomhphost fáilte arís",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Sa chás go gcailltear gléas nó go bhfágann sé an eagraíocht, is féidir leis seo sonraí Nextcloud a scriosadh go cianda ó gach gléas a bhaineann le {userid}. Ní oibríonn sé ach amháin má tá na gléasanna nasctha leis an Idirlíon.",
- "Remote wipe of devices" : "Cianda wipe gléasanna",
- "Wipe {userid}'s devices" : "Glan gléasanna {userid}",
- "Wiped {userid}'s devices" : "Scriosadh gléasanna {userid}",
- "Failed to load groups with details" : "Theip ar lódáil na ngrúpaí le sonraí",
- "Failed to load sub admin groups with details" : "Theip ar lódáil foghrúpaí riaracháin le sonraí",
- "Failed to update line manager" : "Theip ar an mbainisteoir líne a nuashonrú",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Scrios go hiomlán cuntas {userid} lena n-áirítear a chomhaid phearsanta go léir, sonraí aipe, etc.",
- "Account deletion" : "Scriosadh cuntais",
- "Delete {userid}'s account" : "Scrios cuntas {userid}",
- "Display name was successfully changed" : "D'éirigh le hathrú an ainm taispeána",
- "Password can't be empty" : "Ní féidir le pasfhocal a bheith folamh",
- "Password was successfully changed" : "Athraíodh an pasfhocal go rathúil",
- "Email can't be empty" : "Ní féidir le ríomhphost a bheith folamh",
- "Email was successfully changed" : "D'éirigh le hathrú an ríomhphoist",
- "Welcome mail sent!" : "Fáilte seolta!",
- "Loading account …" : "Cuntas á lódáil…",
- "Change display name" : "Athraigh an t-ainm taispeána",
- "Set new password" : "Socraigh pasfhocal nua",
- "You do not have permissions to see the details of this account" : "Níl cead agat sonraí an chuntais seo a fheiceáil",
- "Set new email address" : "Socraigh seoladh ríomhphoist nua",
- "Add account to group" : "Cuir cuntas leis an ngrúpa",
- "Set account as admin for" : "Socraigh cuntas mar riarthóir do",
- "Select account quota" : "Roghnaigh cuóta cuntais",
- "Set the language" : "Socraigh an teanga",
- "Toggle account actions menu" : "Scoránaigh roghchlár gníomhartha cuntais",
- "Done" : "Déanta",
- "Edit" : "Cuir in eagar",
- "Account management settings" : "Socruithe bainistíochta cuntais",
- "Visibility" : "Infheictheacht",
- "Show language" : "Taispeáin teanga",
- "Show account backend" : "Taispeáin inneall an chuntais",
- "Show storage path" : "Taispeáin cosán stórála",
- "Show first login" : "Taispeáin an chéad logáil isteach",
- "Show last login" : "Taispeáin logáil isteach deiridh",
- "Sorting" : "Sórtáil",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Forfheidhmíonn cumraíocht an chórais na grúpaí a shórtáil de réir ainm. Díchumasaítear é seo freisin líon na mball a thaispeáint.",
- "Group list sorting" : "Sórtáil liostaí grúpa",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Ní bhaineann an sórtáil ach leis na grúpaí luchtaithe faoi láthair ar chúiseanna feidhmíochta. Déanfar grúpaí a luchtú agus tú ag dul tríd an liosta nó ag cuardach tríd an liosta.",
- "By member count" : "De réir líon na mball",
- "By name" : "De réir ainm",
- "Send email" : "Seol ríomhphost",
- "Send welcome email to new accounts" : "Seol ríomhphost fáilte chuig cuntais nua",
- "Defaults" : "Réamhshocruithe",
- "Default quota" : "Cuóta réamhshocraithe",
- "Select default quota" : "Roghnaigh cuóta réamhshocraithe",
- "Server error while trying to complete WebAuthn device registration" : "Earráid fhreastalaí agus iarracht á déanamh clárú gléis WebAuthn a chur i gcrích",
- "Passwordless authentication requires a secure connection." : "Teastaíonn nasc slán le fíordheimhniú gan pasfhocal.",
- "Add WebAuthn device" : "Cuir gléas WebAuthn leis",
- "Please authorize your WebAuthn device." : "Ceadaigh do ghléas WebAuthn le do thoil.",
- "Adding your device …" : "Ag cur do ghléas leis…",
- "Unnamed device" : "Gléas gan ainm",
- "Passwordless Authentication" : "Fíordheimhniú gan Pasfhocal",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Socraigh do chuntas le haghaidh fíordheimhnithe gan pasfhocal de réir chaighdeán FIDO2.",
- "No devices configured." : "Níl aon ghléas cumraithe.",
- "The following devices are configured for your account:" : "Tá na gléasanna seo a leanas cumraithe do do chuntas:",
- "Your browser does not support WebAuthn." : "Ní thacaíonn do bhrabhsálaí le WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Mar riarthóir is féidir leat an t-iompar comhroinnte a mhionchoigeartú. Féach ar na doiciméid le haghaidh tuilleadh eolais le do thoil.",
- "You need to enable the File sharing App." : "Ní mór duit an App Roinnte Comhad a chumasú.",
- "App Store" : "Siopa aip",
- "Loading app list" : "Liosta feidhmchlár á lódáil",
- "Loading categories" : "Catagóirí á lódáil",
- "Developer documentation ↗" : "Doiciméadú forbróra ↗",
- "Version {version}, {license}-licensed" : "Leagan {version}, {license}-cheadúnaithe",
- "Version {version}" : "Leagan {version}",
- "All accounts" : "Gach cuntas",
- "Admins" : "Riarthóirí",
- "Account group: {group}" : "Grúpa cuntais: {group}",
- "Account management" : "Bainistíocht cuntais",
"Sending…" : "Á sheoladh…",
"Email sent" : "Ríomhphost seolta",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Ar chúiseanna feidhmíochta, nuair a chumasaíonn tú criptiú ar fhreastalaí Nextcloud ní dhéantar ach comhaid nua agus athraithe a chriptiú.",
@@ -797,6 +513,7 @@ OC.L10N.register(
"Date of birth" : "Dáta breithe",
"Full name" : "Ainm iomlán",
"Additional email" : "Ríomhphost breise",
+ "Email" : "Ríomhphost",
"Fediverse (e.g. Mastodon)" : "Fediverse (m.sh. Mastodon)",
"Headline" : "Ceannlíne",
"Organisation" : "Eagraíocht",
@@ -806,6 +523,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (Twitter roimhe seo)",
"Website" : "Suíomh Gréasáin",
"Profile visibility" : "Infheictheacht próifíle",
+ "Language" : "Teanga",
"Locale" : "Logán",
"First day of week" : "An chéad lá den tseachtain",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Níl sé ar fáil toisc go bhfuil an t-airí seo ag teastáil le haghaidh feidhmiúlacht lárnach lena n-áirítear comhroinnt comhad agus cuirí féilire",
@@ -823,6 +541,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Taispeáin go cuntais logáilte isteach amháin",
"Hide" : "Folaigh",
"Manually installed apps cannot be updated" : "Ní féidir aipeanna atá suiteáilte de láimh a nuashonrú",
+ "Update to {version}" : "Nuashonraigh go {version}",
"{progress}% Deploying …" : "{progress}% Ag imscaradh …",
"{progress}% Initializing …" : "{progress}% Ag tosú…",
"Health checking" : "Seiceáil sláinte",
@@ -832,6 +551,7 @@ OC.L10N.register(
"Allow untested app" : "Ceadaigh aip neamhthástáilte",
"The app will be downloaded from the App Store" : "Déanfar an aip a íoslódáil ón Siopa Aip",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Níl an aip seo marcáilte mar chomhoiriúnach le do leagan Nextcloud. Má leanann tú ar aghaidh beidh tú fós in ann an aip a shuiteáil. Tabhair faoi deara go bhféadfadh sé nach n-oibreoidh an aip mar a bhíothas ag súil leis.",
+ "{size} used" : "{size} in úsáid",
"Unknown" : "Anaithnid",
"Never" : "Riamh",
"Could not register device: Network error" : "Níorbh fhéidir gléas a chlárú: Earráid líonra",
@@ -850,8 +570,10 @@ OC.L10N.register(
"Could not set group sorting" : "Níorbh fhéidir sórtáil grúpa a shocrú",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Tháinig an iomarca iarratas ó do líonra. Bain triail eile as ar ball nó déan teagmháil le do riarthóir más earráid é seo.",
"Error" : "Earráid",
+ "Default quota" : "Cuóta réamhshocraithe",
"Account documentation" : "Doiciméadú cuntais",
"Administration documentation" : "Doiciméid riaracháin",
+ "Documentation" : "Doiciméadúchán",
"Forum" : "Fóram",
"Nextcloud help & privacy resources" : "Cabhair & acmhainní príobháideachais Nextcloud",
"General documentation" : "Doiciméadúchán ginearálta",
@@ -874,6 +596,7 @@ OC.L10N.register(
"SMTP Password" : "Pasfhocal SMTP",
"Save" : "Sábháil",
"Test and verify email settings" : "Tástáil agus fíoraigh socruithe ríomhphoist",
+ "Send email" : "Seol ríomhphost",
"Security & setup warnings" : "Rabhaidh slándála & socraithe",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Tá sé tábhachtach ar mhaithe le slándáil agus feidhmíocht do chás go bhfuil gach rud cumraithe i gceart. Chun cabhrú leat leis sin táimid ag déanamh roinnt seiceálacha uathoibríocha. Féach ar an doiciméadú nasctha le haghaidh tuilleadh eolais le do thoil.",
"All checks passed." : "Gach seic a rith.",
@@ -899,11 +622,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "Tá an teorainn chuimhne PHP faoi bhun an luach molta de %s.",
"for WebAuthn passwordless login" : "le haghaidh logáil isteach gan phasfhocal WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "le haghaidh logáil isteach WebAuthn gan phasfhocal, agus stóráil SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Níl `%2$s` sa cheanntásc HTTP `%1$s`. Is riosca slándála nó príobháideachta féideartha é seo, mar moltar an socrú seo a choigeartú dá réir.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Braitheadh ​​leagan PostgreSQL \"%s\". Moltar PostgreSQL >=12 agus <=16 don fheidhmíocht is fearr, don chobhsaíocht agus don fheidhmiúlacht leis an leagan seo de Nextcloud.",
- "Set default expiration date for shares" : "Socraigh dáta éaga réamhshocraithe le haghaidh scaireanna",
- "Your biography" : "Do bheathaisnéis",
- "You are using <strong>{usage}</strong>" : "Tá tú ag úsáid <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Tá tú ag úsáid<strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Theip ar lódáil na ngrúpaí fo-riaracháin le sonraí"
+ "Set default expiration date for shares" : "Socraigh dáta éaga réamhshocraithe le haghaidh scaireanna"
},
"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);");
diff --git a/apps/settings/l10n/ga.json b/apps/settings/l10n/ga.json
index 5610c8bacb4..bc5c341abe0 100644
--- a/apps/settings/l10n/ga.json
+++ b/apps/settings/l10n/ga.json
@@ -294,7 +294,6 @@
"HTTP headers" : "Ceanntásca HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- Níl an ceanntásc HTTP `%1$s` socraithe go `%2$s`. Seans nach n-oibreoidh roinnt gnéithe i gceart, mar moltar an socrú seo a choigeartú dá réir.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Níl an ceanntásc HTTP `%1$s` socraithe go `%2$s`. Is riosca slándála nó príobháideachta féideartha é seo, mar moltar an socrú seo a choigeartú dá réir.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Níl `%2$s` sa cheanntásc HTTP `%1$s`. Is riosca slándála nó príobháideachta féideartha é seo, mar moltar an socrú seo a choigeartú dá réir.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- Níl an ceanntásc HTTP `%1$s` socraithe mar `%2$s`, `%3$s`, `%4$s`, `%5$s` nó `%6$s`. Is féidir leis seo faisnéis atreoraithe a sceitheadh. Féach ar an {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- Níl an ceanntásc HTTP `Strict-Transport-Security` socraithe go dtí `%d` soicind ar a laghad (luach reatha: `%d`). Ar mhaithe le slándáil fheabhsaithe, moltar beartas fada HSTS a úsáid.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- Tá an ceanntásc HTTP `Strict-Transport-Security` míchumtha: `%s`. Ar mhaithe le slándáil fheabhsaithe, moltar HSTS a chumasú.",
@@ -445,97 +444,6 @@
"Could not load section content from app store." : "Níorbh fhéidir ábhar na rannóige a lódáil ón appstore.",
"Loading" : "Ag lódáil",
"Fetching the latest news…" : "An nuacht is déanaí á bhfáil…",
- "Carousel" : "Timpealláin",
- "Previous slide" : "Sleamhnán roimhe seo",
- "Next slide" : "Sleamhnán seo chugainn",
- "Choose slide to display" : "Roghnaigh sleamhnán le taispeáint",
- "{index} of {total}" : "{index} de {total}",
- "Daemon" : "Deamhan",
- "Deploy Daemon" : "Imscaradh Deamhan",
- "Type" : "Cineál",
- "Display Name" : "Ainm taispeána",
- "GPUs support" : "Tacaíocht GPUs",
- "Compute device" : "Gléas ríomh",
- "Advanced deploy options" : "Ardroghanna imscaradh",
- "Edit ExApp deploy options before installation" : "Cuir roghanna imlonnaithe ExApp in eagar roimh an tsuiteáil",
- "Configured ExApp deploy options. Can be set only during installation" : "Roghanna imlonnaithe ExApp cumraithe. Ní féidir é a shocrú ach amháin le linn na suiteála",
- "Learn more" : "Foghlaim níos mó",
- "Environment variables" : "Athróga timpeallachta",
- "ExApp container environment variables" : "Athróga timpeallachta coimeádán ExApp",
- "No environment variables defined" : "Níl aon athróg timpeallachta sainithe",
- "Mounts" : "Feistis",
- "Define host folder mounts to bind to the ExApp container" : "Sainmhínigh gléasanna an fhillteáin óstaigh chun ceangal leis an gcoimeádán ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Ní mór a bheith ar an ósta Deploy Deploy roimh shuiteáil an ExApp",
- "Host path" : "Cosán óstach",
- "Container path" : "Cosán coimeádán",
- "Read-only" : "Inléite-amháin",
- "Remove mount" : "Bain feisteas",
- "New mount" : "Feisteas nua",
- "Enter path to host folder" : "Cuir isteach cosán chuig an bhfillteán óstach",
- "Enter path to container folder" : "Cuir isteach an cosán chuig an bhfillteán coimeádán",
- "Toggle read-only mode" : "Scoránaigh mód inléite-amháin",
- "Confirm adding new mount" : "Deimhnigh feisteas nua a chur leis",
- "Confirm" : "Deimhnigh",
- "Cancel adding mount" : "Cealaigh feisteas a chur leis",
- "Cancel" : "Cealaigh",
- "Add mount" : "Cuir feisteas",
- "ExApp container mounts" : "Feisteas coimeádán ExApp",
- "No mounts defined" : "Níl aon feisteas sainithe",
- "Description" : "Cur síos",
- "View in store" : "Amharc sa siopa",
- "Visit website" : "Tabhair cuairt ar an suíomh Gréasáin",
- "Usage documentation" : "Doiciméadú úsáide",
- "Admin documentation" : "Doiciméadúchán riaracháin",
- "Developer documentation" : "Doiciméadú forbróra",
- "Details" : "Sonraí",
- "All" : "Gach",
- "Limit app usage to groups" : "Teorainn úsáid aipeanna go grúpaí",
- "No results" : "Gan torthaí",
- "Update to {version}" : "Nuashonraigh go {version}",
- "Deploy options" : "Roghanna imscaradh",
- "Default Deploy daemon is not accessible" : "Níl an deamhan Réamhshocrú Imscaradh inrochtana",
- "Delete data on remove" : "Scrios sonraí ar bhaint",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Níl aon leagan íosta de Nextcloud sannta don aip seo. Earráid a bheidh anseo sa todhchaí.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Níl aon leagan Nextcloud uasta sannta don aip seo. Earráid a bheidh anseo sa todhchaí.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ní féidir an aip seo a shuiteáil toisc nach bhfuil na spleáchais seo a leanas comhlíonta:",
- "Latest updated" : "Nuashonraithe is déanaí",
- "Author" : "Údar",
- "Categories" : "Catagóirí",
- "Resources" : "Acmhainní",
- "Documentation" : "Doiciméadúchán",
- "Interact" : "Idirghníomhú",
- "Report a bug" : "Tuairiscigh fabht",
- "Request feature" : "Iarr gné",
- "Ask questions or discuss" : "Cuir ceisteanna nó pléigh",
- "Rate the app" : "Ráta an app",
- "Rate" : "Ráta",
- "Changelog" : "Loga athrú",
- "Google Chrome for Android" : "Google chrome le haghaidh Android saor in aisce",
- "{productName} iOS app" : "{productName} aip iOS",
- "{productName} Android app" : "{productName} aip Android",
- "{productName} Talk for iOS" : "{productName} Labhair le haghaidh iOS",
- "{productName} Talk for Android" : "{productName} Labhair le haghaidh Android",
- "Sync client" : "Sioncrónaigh cliant",
- "This session" : "An seisiún seo",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Ainm an ghléis",
- "Cancel renaming" : "Cealaigh athainmniú",
- "Save new name" : "Sábháil ainm nua",
- "Marked for remote wipe" : "Marcáilte le haghaidh glanadh cianda",
- "Device settings" : "Socruithe gléis",
- "Allow filesystem access" : "Ceadaigh rochtain ar an gcóras comhad",
- "Rename" : "Athainmnigh",
- "Revoke" : "Chúlghairm",
- "Wipe device" : "Wipe gléas",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Má dhéantar an comhartha seo a aisghairm, d'fhéadfadh sé go gcuirfí cosc ar do ghléas a ghlanadh mura bhfuil an cuimilteoir tosaithe fós.",
- "Device" : "Gléas",
- "Last activity" : "An ghníomhaíocht dheireanach",
- "Devices & sessions" : "Gléasanna & seisiúin",
- "Web, desktop and mobile clients currently logged in to your account." : "Tá cliaint ghréasáin, deisce agus móibíleacha logáilte isteach i do chuntas faoi láthair.",
- "Error while creating device token" : "Earráid agus comhartha gléis á chruthú",
- "App name" : "Ainm aip",
- "Create new app password" : "Cruthaigh pasfhocal feidhmchlár nua",
"App password copied!" : "Cóipeáladh pasfhocal na haipe!",
"Copy app password" : "Cóipeáil pasfhocal an aip",
"Login name copied!" : "Cóipeáladh an t-ainm logáil isteach!",
@@ -589,203 +497,11 @@
"Failed to delete group \"{group}\"" : "Theip ar an ngrúpa \"{group}\" a scriosadh",
"Please confirm the group removal" : "Deimhnigh baint an ghrúpa",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Tá tú ar tí an grúpa \"{group}\" a scriosadh. NÍ scriosfar na cuntais.",
+ "Cancel" : "Cealaigh",
+ "Confirm" : "Deimhnigh",
"Submit" : "Cuir isteach",
"Rename group" : "Athainmnigh an grúpa",
"Delete group" : "Scrios grúpa",
- "Current password" : "Pasfhocal reatha",
- "New password" : "Focal Faire Nua",
- "Change password" : "Athraigh do phasfhocal",
- "Choose your profile picture" : "Roghnaigh do phictiúr próifíle",
- "Please select a valid png or jpg file" : "Roghnaigh comhad png nó jpg bailí le do thoil",
- "Error setting profile picture" : "Earráid agus pictiúr próifíle á shocrú",
- "Error cropping profile picture" : "Earráid agus pictiúr próifíle á bhearradh",
- "Error saving profile picture" : "Earráid agus pictiúr próifíle á shábháil",
- "Error removing profile picture" : "Earráid agus an pictiúr próifíle á bhaint",
- "Your profile picture" : "Do phictiúr próifíle",
- "Upload profile picture" : "Íosluchtaigh pictiúr próifíl",
- "Choose profile picture from Files" : "Roghnaigh pictiúr próifíle ó Chomhaid",
- "Remove profile picture" : "Bain pictiúr próifíle",
- "The file must be a PNG or JPG" : "Caithfidh an comhad a bheith ina PNG nó JPG",
- "Picture provided by original account" : "Pictiúr curtha ar fáil ag an mbunchuntas",
- "Set as profile picture" : "Socraigh mar phictiúr próifíle",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Tabhair faoi deara go bhféadfadh sé suas le 24 uair an chloig a ghlacadh chun do phictiúr próifíle a nuashonrú i ngach áit.",
- "Your biography. Markdown is supported." : "Do bheathaisnéis. Tacaítear le Markdown.",
- "Unable to update date of birth" : "Ní féidir an dáta breithe a nuashonrú",
- "Enter your date of birth" : "Cuir isteach do dháta breithe",
- "You are using {s}{usage}{/s}" : "Tá tú ag úsáid {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Tá tú ag úsáid{s}{usage}{/s} de {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Tá tú i do bhall de na grúpaí seo a leanas:",
- "Your full name" : "D'ainm iomlán",
- "Email options" : "Roghanna ríomhphoist",
- "Options for additional email address {index}" : "Roghanna le haghaidh seoladh ríomhphoist breise {index}",
- "Remove primary email" : "Bain príomhsheoladh ríomhphoist",
- "Delete email" : "Scrios ríomhphost",
- "This address is not confirmed" : "Níl an seoladh seo deimhnithe",
- "Unset as primary email" : "Díshuiteáil mar phríomhphost ríomhphoist",
- "Set as primary email" : "Socraigh mar phríomh-ríomhphost",
- "Additional email address {index}" : "Seoladh ríomhphoist breise {index}",
- "Unable to delete primary email address" : "Ní féidir an príomhsheoladh ríomhphoist a scriosadh",
- "Unable to update primary email address" : "Ní féidir an príomhsheoladh ríomhphoist a nuashonrú",
- "Unable to add additional email address" : "Ní féidir seoladh ríomhphoist breise a chur leis",
- "Unable to update additional email address" : "Ní féidir seoladh ríomhphoist breise a nuashonrú",
- "Unable to delete additional email address" : "Ní féidir seoladh ríomhphoist breise a scriosadh",
- "Primary email for password reset and notifications" : "Príomh-ríomhphost le haghaidh athshocrú pasfhocal agus fógraí",
- "No email address set" : "Níl seoladh ríomhphoist socraithe",
- "Your handle" : "Do láimhseáil",
- "Derived from your locale ({weekDayName})" : "Díorthaithe ó do logán ({weekDayName})",
- "Unable to update first day of week" : "Ní féidir an chéad lá den tseachtain a nuashonrú",
- "Day to use as the first day of week" : "Lá a úsáid mar an chéad lá den tseachtain",
- "Your headline" : "Do cheannlíne",
- "Unable to update language" : "Ní féidir an teanga a nuashonrú",
- "Languages" : "Teangacha",
- "Help translate" : "Cabhraigh le haistriú",
- "No language set" : "Gan tacar teanga",
- "Unable to update locale" : "Ní féidir locale a nuashonrú",
- "Locales" : "Logánta",
- "Week starts on {firstDayOfWeek}" : "Tosaíonn an tseachtain ar {firstDayOfWeek}",
- "No locale set" : "Gan tacar locale",
- "Your city" : "Do chathair",
- "Your organisation" : "D'eagraíocht",
- "Your phone number" : "D'uimhir theileafóin",
- "Edit your Profile visibility" : "Cuir infheictheacht do Phróifíl in eagar",
- "Unable to update profile enabled state" : "Ní féidir staid chumasaithe na próifíle a nuashonrú",
- "Enable profile" : "Cumasaigh próifíl",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Tá meas ar do Phróifíl ar shocrú níos sriantaí infheictheachta nó scóip. Mar shampla, má tá an infheictheacht socraithe mar \"Taispeáin do chách\" agus go bhfuil an raon feidhme socraithe go \"Príobháideach\", meastar \"Príobháideach\".",
- "Unable to update visibility of {displayId}" : "Ní féidir infheictheacht {displayId} a nuashonrú",
- "she/her" : "sí/léi",
- "he/him" : "sé/dó",
- "they/them" : "siad/siad",
- "Your role" : "Do ról",
- "Your X (formerly Twitter) handle" : "Láimhseálann do X (Twitter roimhe seo).",
- "Your website" : "Do láithreán gréasáin",
- "Invalid value" : "Luach neamhbhailí",
- "Unable to update {property}" : "Ní féidir {property} a nuashonrú",
- "No {property} set" : "Níl {property} socraithe",
- "Change scope level of {property}, current scope is {scope}" : "Athraigh leibhéal scóip {property}, is é {scope} an raon feidhme reatha",
- "Unable to update federation scope of the primary {property}" : "Níorbh fhéidir scóip chónaidhme na príomh-{property} a nuashonrú",
- "Unable to update federation scope of additional {property}" : "Níorbh fhéidir scóip chónaidhme {property}maoin bhreise a nuashonrú",
- "Add additional email" : "Cuir ríomhphost breise leis",
- "Add" : "Cuir",
- "Create" : "Cruthaigh",
- "Change" : "Athrú",
- "Delete" : "Scrios",
- "Reshare" : "Roinn arís",
- "Default language" : "Teanga réamhshocraithe",
- "Common languages" : "Teangacha coitianta",
- "Other languages" : "Teangacha eile",
- "Password change is disabled because the master key is disabled" : "Tá athrú pasfhocal díchumasaithe toisc go bhfuil an máistir-eochair díchumasaithe",
- "No accounts" : "Gan cuntais",
- "Loading accounts …" : "Cuntais á lódáil…",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Liosta cuntas. Níl an liosta seo le fáil go hiomlán ar chúiseanna feidhmíochta. Déanfar na cuntais a rindreáil agus tú ag dul tríd an liosta.",
- "Manager" : "Bainisteoir",
- "Set line manager" : "Socraigh bainisteoir líne",
- "Account name will be autogenerated" : "Déanfar ainm an chuntais a ghiniúint go huathoibríoch",
- "Account name (required)" : "Ainm an chuntais (riachtanach)",
- "Failed to search groups" : "Theip ar chuardach grúpaí",
- "New account" : "Cuntas nua",
- "Display name" : "Ainm taispeána",
- "Either password or email is required" : "Tá pasfhocal nó ríomhphost ag teastáil",
- "Password (required)" : "Pasfhocal (riachtanach)",
- "Email (required)" : "Ríomhphost (riachtanach)",
- "Email" : "Ríomhphost",
- "Member of the following groups (required)" : "Ball de na grúpaí seo a leanas (riachtanach)",
- "Member of the following groups" : "Ball de na grúpaí seo a leanas",
- "Set account groups" : "Socraigh grúpaí cuntais",
- "Admin of the following groups" : "Riarachán na ngrúpaí seo a leanas",
- "Set account as admin for …" : "Socraigh cuntas mar riarthóir do…",
- "Quota" : "Cuóta",
- "Set account quota" : "Socraigh cuóta cuntais",
- "Language" : "Teanga",
- "Set default language" : "Socraigh teanga réamhshocraithe",
- "Add new account" : "Cuir cuntas nua leis",
- "_{userCount} account …_::_{userCount} accounts …_" : ["cuntas {userCount}…","cuntais {userCount}…","cuntais {userCount}…","cuntais {userCount}…","cuntais {userCount}…"],
- "_{userCount} account_::_{userCount} accounts_" : ["cuntas {userCount}","cuntais {userCount}","cuntais {userCount}","cuntais {userCount}","cuntais {userCount}"],
- "Total rows summary" : "Achoimre ar na sraitheanna iomlána",
- "Scroll to load more rows" : "Scrollaigh chun tuilleadh sraitheanna a lódáil",
- "Password or insufficient permissions message" : "Pasfhocal nó teachtaireacht ceadanna neamhleor",
- "Avatar" : "Avatar",
- "Account name" : "Ainm chuntais",
- "Group admin for" : "Riarachán grúpa le haghaidh",
- "Account backend" : "Inneall chuntais",
- "Storage location" : "Suíomh stórála",
- "First login" : "An chéad logáil isteach",
- "Last login" : "Logáil isteach deiridh",
- "Account actions" : "Gníomhartha cuntais",
- "{size} used" : "{size} in úsáid",
- "Delete account" : "Scrios cuntas",
- "Disconnect all devices and delete local data" : "Déan gach gléas a dhícheangal agus scrios sonraí áitiúla",
- "Disable account" : "Díchumasaigh cuntas",
- "Enable account" : "Cumasaigh cuntas",
- "Resend welcome email" : "Seol ríomhphost fáilte arís",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Sa chás go gcailltear gléas nó go bhfágann sé an eagraíocht, is féidir leis seo sonraí Nextcloud a scriosadh go cianda ó gach gléas a bhaineann le {userid}. Ní oibríonn sé ach amháin má tá na gléasanna nasctha leis an Idirlíon.",
- "Remote wipe of devices" : "Cianda wipe gléasanna",
- "Wipe {userid}'s devices" : "Glan gléasanna {userid}",
- "Wiped {userid}'s devices" : "Scriosadh gléasanna {userid}",
- "Failed to load groups with details" : "Theip ar lódáil na ngrúpaí le sonraí",
- "Failed to load sub admin groups with details" : "Theip ar lódáil foghrúpaí riaracháin le sonraí",
- "Failed to update line manager" : "Theip ar an mbainisteoir líne a nuashonrú",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Scrios go hiomlán cuntas {userid} lena n-áirítear a chomhaid phearsanta go léir, sonraí aipe, etc.",
- "Account deletion" : "Scriosadh cuntais",
- "Delete {userid}'s account" : "Scrios cuntas {userid}",
- "Display name was successfully changed" : "D'éirigh le hathrú an ainm taispeána",
- "Password can't be empty" : "Ní féidir le pasfhocal a bheith folamh",
- "Password was successfully changed" : "Athraíodh an pasfhocal go rathúil",
- "Email can't be empty" : "Ní féidir le ríomhphost a bheith folamh",
- "Email was successfully changed" : "D'éirigh le hathrú an ríomhphoist",
- "Welcome mail sent!" : "Fáilte seolta!",
- "Loading account …" : "Cuntas á lódáil…",
- "Change display name" : "Athraigh an t-ainm taispeána",
- "Set new password" : "Socraigh pasfhocal nua",
- "You do not have permissions to see the details of this account" : "Níl cead agat sonraí an chuntais seo a fheiceáil",
- "Set new email address" : "Socraigh seoladh ríomhphoist nua",
- "Add account to group" : "Cuir cuntas leis an ngrúpa",
- "Set account as admin for" : "Socraigh cuntas mar riarthóir do",
- "Select account quota" : "Roghnaigh cuóta cuntais",
- "Set the language" : "Socraigh an teanga",
- "Toggle account actions menu" : "Scoránaigh roghchlár gníomhartha cuntais",
- "Done" : "Déanta",
- "Edit" : "Cuir in eagar",
- "Account management settings" : "Socruithe bainistíochta cuntais",
- "Visibility" : "Infheictheacht",
- "Show language" : "Taispeáin teanga",
- "Show account backend" : "Taispeáin inneall an chuntais",
- "Show storage path" : "Taispeáin cosán stórála",
- "Show first login" : "Taispeáin an chéad logáil isteach",
- "Show last login" : "Taispeáin logáil isteach deiridh",
- "Sorting" : "Sórtáil",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Forfheidhmíonn cumraíocht an chórais na grúpaí a shórtáil de réir ainm. Díchumasaítear é seo freisin líon na mball a thaispeáint.",
- "Group list sorting" : "Sórtáil liostaí grúpa",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Ní bhaineann an sórtáil ach leis na grúpaí luchtaithe faoi láthair ar chúiseanna feidhmíochta. Déanfar grúpaí a luchtú agus tú ag dul tríd an liosta nó ag cuardach tríd an liosta.",
- "By member count" : "De réir líon na mball",
- "By name" : "De réir ainm",
- "Send email" : "Seol ríomhphost",
- "Send welcome email to new accounts" : "Seol ríomhphost fáilte chuig cuntais nua",
- "Defaults" : "Réamhshocruithe",
- "Default quota" : "Cuóta réamhshocraithe",
- "Select default quota" : "Roghnaigh cuóta réamhshocraithe",
- "Server error while trying to complete WebAuthn device registration" : "Earráid fhreastalaí agus iarracht á déanamh clárú gléis WebAuthn a chur i gcrích",
- "Passwordless authentication requires a secure connection." : "Teastaíonn nasc slán le fíordheimhniú gan pasfhocal.",
- "Add WebAuthn device" : "Cuir gléas WebAuthn leis",
- "Please authorize your WebAuthn device." : "Ceadaigh do ghléas WebAuthn le do thoil.",
- "Adding your device …" : "Ag cur do ghléas leis…",
- "Unnamed device" : "Gléas gan ainm",
- "Passwordless Authentication" : "Fíordheimhniú gan Pasfhocal",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Socraigh do chuntas le haghaidh fíordheimhnithe gan pasfhocal de réir chaighdeán FIDO2.",
- "No devices configured." : "Níl aon ghléas cumraithe.",
- "The following devices are configured for your account:" : "Tá na gléasanna seo a leanas cumraithe do do chuntas:",
- "Your browser does not support WebAuthn." : "Ní thacaíonn do bhrabhsálaí le WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Mar riarthóir is féidir leat an t-iompar comhroinnte a mhionchoigeartú. Féach ar na doiciméid le haghaidh tuilleadh eolais le do thoil.",
- "You need to enable the File sharing App." : "Ní mór duit an App Roinnte Comhad a chumasú.",
- "App Store" : "Siopa aip",
- "Loading app list" : "Liosta feidhmchlár á lódáil",
- "Loading categories" : "Catagóirí á lódáil",
- "Developer documentation ↗" : "Doiciméadú forbróra ↗",
- "Version {version}, {license}-licensed" : "Leagan {version}, {license}-cheadúnaithe",
- "Version {version}" : "Leagan {version}",
- "All accounts" : "Gach cuntas",
- "Admins" : "Riarthóirí",
- "Account group: {group}" : "Grúpa cuntais: {group}",
- "Account management" : "Bainistíocht cuntais",
"Sending…" : "Á sheoladh…",
"Email sent" : "Ríomhphost seolta",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Ar chúiseanna feidhmíochta, nuair a chumasaíonn tú criptiú ar fhreastalaí Nextcloud ní dhéantar ach comhaid nua agus athraithe a chriptiú.",
@@ -795,6 +511,7 @@
"Date of birth" : "Dáta breithe",
"Full name" : "Ainm iomlán",
"Additional email" : "Ríomhphost breise",
+ "Email" : "Ríomhphost",
"Fediverse (e.g. Mastodon)" : "Fediverse (m.sh. Mastodon)",
"Headline" : "Ceannlíne",
"Organisation" : "Eagraíocht",
@@ -804,6 +521,7 @@
"X (formerly Twitter)" : "X (Twitter roimhe seo)",
"Website" : "Suíomh Gréasáin",
"Profile visibility" : "Infheictheacht próifíle",
+ "Language" : "Teanga",
"Locale" : "Logán",
"First day of week" : "An chéad lá den tseachtain",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Níl sé ar fáil toisc go bhfuil an t-airí seo ag teastáil le haghaidh feidhmiúlacht lárnach lena n-áirítear comhroinnt comhad agus cuirí féilire",
@@ -821,6 +539,7 @@
"Show to logged in accounts only" : "Taispeáin go cuntais logáilte isteach amháin",
"Hide" : "Folaigh",
"Manually installed apps cannot be updated" : "Ní féidir aipeanna atá suiteáilte de láimh a nuashonrú",
+ "Update to {version}" : "Nuashonraigh go {version}",
"{progress}% Deploying …" : "{progress}% Ag imscaradh …",
"{progress}% Initializing …" : "{progress}% Ag tosú…",
"Health checking" : "Seiceáil sláinte",
@@ -830,6 +549,7 @@
"Allow untested app" : "Ceadaigh aip neamhthástáilte",
"The app will be downloaded from the App Store" : "Déanfar an aip a íoslódáil ón Siopa Aip",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Níl an aip seo marcáilte mar chomhoiriúnach le do leagan Nextcloud. Má leanann tú ar aghaidh beidh tú fós in ann an aip a shuiteáil. Tabhair faoi deara go bhféadfadh sé nach n-oibreoidh an aip mar a bhíothas ag súil leis.",
+ "{size} used" : "{size} in úsáid",
"Unknown" : "Anaithnid",
"Never" : "Riamh",
"Could not register device: Network error" : "Níorbh fhéidir gléas a chlárú: Earráid líonra",
@@ -848,8 +568,10 @@
"Could not set group sorting" : "Níorbh fhéidir sórtáil grúpa a shocrú",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Tháinig an iomarca iarratas ó do líonra. Bain triail eile as ar ball nó déan teagmháil le do riarthóir más earráid é seo.",
"Error" : "Earráid",
+ "Default quota" : "Cuóta réamhshocraithe",
"Account documentation" : "Doiciméadú cuntais",
"Administration documentation" : "Doiciméid riaracháin",
+ "Documentation" : "Doiciméadúchán",
"Forum" : "Fóram",
"Nextcloud help & privacy resources" : "Cabhair & acmhainní príobháideachais Nextcloud",
"General documentation" : "Doiciméadúchán ginearálta",
@@ -872,6 +594,7 @@
"SMTP Password" : "Pasfhocal SMTP",
"Save" : "Sábháil",
"Test and verify email settings" : "Tástáil agus fíoraigh socruithe ríomhphoist",
+ "Send email" : "Seol ríomhphost",
"Security & setup warnings" : "Rabhaidh slándála & socraithe",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Tá sé tábhachtach ar mhaithe le slándáil agus feidhmíocht do chás go bhfuil gach rud cumraithe i gceart. Chun cabhrú leat leis sin táimid ag déanamh roinnt seiceálacha uathoibríocha. Féach ar an doiciméadú nasctha le haghaidh tuilleadh eolais le do thoil.",
"All checks passed." : "Gach seic a rith.",
@@ -897,11 +620,8 @@
"The PHP memory limit is below the recommended value of %s." : "Tá an teorainn chuimhne PHP faoi bhun an luach molta de %s.",
"for WebAuthn passwordless login" : "le haghaidh logáil isteach gan phasfhocal WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "le haghaidh logáil isteach WebAuthn gan phasfhocal, agus stóráil SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- Níl `%2$s` sa cheanntásc HTTP `%1$s`. Is riosca slándála nó príobháideachta féideartha é seo, mar moltar an socrú seo a choigeartú dá réir.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Braitheadh ​​leagan PostgreSQL \"%s\". Moltar PostgreSQL >=12 agus <=16 don fheidhmíocht is fearr, don chobhsaíocht agus don fheidhmiúlacht leis an leagan seo de Nextcloud.",
- "Set default expiration date for shares" : "Socraigh dáta éaga réamhshocraithe le haghaidh scaireanna",
- "Your biography" : "Do bheathaisnéis",
- "You are using <strong>{usage}</strong>" : "Tá tú ag úsáid <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Tá tú ag úsáid<strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Theip ar lódáil na ngrúpaí fo-riaracháin le sonraí"
+ "Set default expiration date for shares" : "Socraigh dáta éaga réamhshocraithe le haghaidh scaireanna"
},"pluralForm" :"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/gl.js b/apps/settings/l10n/gl.js
index 74038c39895..ec364095933 100644
--- a/apps/settings/l10n/gl.js
+++ b/apps/settings/l10n/gl.js
@@ -294,7 +294,6 @@ OC.L10N.register(
"HTTP headers" : "Cabeceiras HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "– A cabeceira HTTP «%1$s» non está definida como «%2$s». É posíbel que algunhas funcións non traballen correctamente, polo que, en consecuencia, recoméndase este axuste.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "– A cabeceira HTTP «%1$s» non está definida como «%2$s». Este é un risco potencial de seguridade ou privacidade, polo que, en consecuencia, recoméndase este axuste.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "– A cabeceira HTTP «%1$s» non contén «%2$s». Este é un risco potencial de seguridade ou privacidade, polo que, en consecuencia, recoméndase este axuste.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "– A cabeceira HTTP «%1$s»non está definida como «%2$s», «%3$s», «%4$s», «%5$s» ou «%6$s». Isto pode filtrar información «referer». Consulte a {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "– A cabeceira HTTP «Strict-Transport-Security» non está definida como mínimo a «%d» segundos (valor actual: «%d»). Para mellorar a seguridade, recoméndase utilizar unha directiva HSTS longa.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "– A cabeceira HTTP «Strict-Transport-Security» ten un formato incorrecto: «%s». Para mellorar a seguridade, recoméndase activar HSTS.",
@@ -438,97 +437,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Non foi posíbel cargar o contido da sección da tenda de aplicacións.",
"Loading" : "Cargando",
"Fetching the latest news…" : "Recuperando as últimas novas…",
- "Carousel" : "Carrusel",
- "Previous slide" : "Diapositiva anterior",
- "Next slide" : "Seguinte diapositiva",
- "Choose slide to display" : "Escolla a diapositiva que quere amosar",
- "{index} of {total}" : "{index} de {total}",
- "Daemon" : "Servizo",
- "Deploy Daemon" : "Servizo de despregadura",
- "Type" : "Escribir",
- "Display Name" : "Nome para amosar",
- "GPUs support" : "Compatibilidade con GPU",
- "Compute device" : "Dispositivo de computación",
- "Advanced deploy options" : " Opcións avanzadas de despregadura",
- "Edit ExApp deploy options before installation" : "Editar as opcións de despregadura da aplicación externa (ExApp) antes da instalación",
- "Configured ExApp deploy options. Can be set only during installation" : "Opcións de despregadura da aplicación externa (ExApp) configuradas. Só é posíbel definilas durante a instalación",
- "Learn more" : "Máis información",
- "Environment variables" : "Variábeis de contorno",
- "ExApp container environment variables" : "Variábeis de contorno do contedor da aplicación externa (ExApp)",
- "No environment variables defined" : "Non foi definida ningunha variábel de contorno",
- "Mounts" : "Montaxes",
- "Define host folder mounts to bind to the ExApp container" : "Definir as montaxes do cartafol do servidor para unirse ao contedor da aplicación externa (ExApp)",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Debe existir no servidor/máquina do servizo de despregadura antes de instalar a aplicación externa (ExApp)",
- "Host path" : "Ruta ao servidor/máquina",
- "Container path" : "Ruta ao contedor",
- "Read-only" : "Só lectura",
- "Remove mount" : "Retirar a montaxe",
- "New mount" : "Nova montaxe",
- "Enter path to host folder" : "Introduza a ruta ao cartafol do servidor/máquina.",
- "Enter path to container folder" : "Introduza a ruta ao cartafol do contedor.",
- "Toggle read-only mode" : "Alternar o modo de só lectura",
- "Confirm adding new mount" : "Confirmar o engadido dunha nova montaxe",
- "Confirm" : "Confirmar",
- "Cancel adding mount" : "Cancelar o engadido da montaxe",
- "Cancel" : "Cancelar",
- "Add mount" : "Engadir unha montaxe",
- "ExApp container mounts" : "Montaxes de contedores de aplicacións externas (ExApp)",
- "No mounts defined" : "Non foi definida ningunha montaxe",
- "Description" : "Descrición",
- "View in store" : "Ver na tenda",
- "Visit website" : "Visite o sitio web",
- "Usage documentation" : "Documentación de utilización",
- "Admin documentation" : "Documentación da administración da instancia",
- "Developer documentation" : "Documentación para desenvolvedores",
- "Details" : "Detalles",
- "All" : "Todo",
- "Limit app usage to groups" : "Limitar o uso de aplicacións a grupos",
- "No results" : "Sen resultados",
- "Update to {version}" : "Actualizar a {version}",
- "Deploy options" : "Opcións de despregadura",
- "Default Deploy daemon is not accessible" : "Non é posíbel acceder ao servizo predeterminado de despregadura.",
- "Delete data on remove" : "Eliminar os datos ao retirar",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación non dispón dunha versión mínima de Nextcloud asignada. Isto será un erro no futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación non dispón dunha versión máxima de Nextcloud asignada. Isto será un erro no futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Non é posíbel instalar esta aplicación por mor de non cumprirse as dependencias:",
- "Latest updated" : "Última actualización",
- "Author" : "Autor",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Interact" : "Interactuar",
- "Report a bug" : "Informar dun fallo",
- "Request feature" : "Solicitar unha funcionalidade",
- "Ask questions or discuss" : "Facer preguntas ou debater",
- "Rate the app" : "Valore a aplicación",
- "Rate" : "Cualificar",
- "Changelog" : "Notas da versión",
- "Google Chrome for Android" : "Google Chrome para Android",
- "{productName} iOS app" : "Aplicación de iOS {productName}",
- "{productName} Android app" : "Aplicación de Android {productName}",
- "{productName} Talk for iOS" : "Parladoiro para iOS {productName}",
- "{productName} Talk for Android" : "Parladoiro para Android {productName}",
- "Sync client" : "Sincronizar o cliente",
- "This session" : "Esta sesión",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nome do dispositivo",
- "Cancel renaming" : "Cancelar o cambio de nome",
- "Save new name" : "Gardar o novo nome",
- "Marked for remote wipe" : "Marcado para limpeza remota",
- "Device settings" : "Axustes do dispositivo",
- "Allow filesystem access" : "Permitir o acceso aos sistema de ficheiros",
- "Rename" : "Cambiar o nome",
- "Revoke" : "Revogar",
- "Wipe device" : "Limpar o dispositivo",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "A revogación deste testemuño pode impedir a limpeza do seu dispositivo se aínda non iniciou a limpeza.",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividade",
- "Devices & sessions" : "Dispositivos e sesións",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, móbiles e de escritorio actualmente conectados á súa conta.",
- "Error while creating device token" : "Produciuse un erro ao crear un testemuño de dispositivo",
- "App name" : "Nome da aplicación",
- "Create new app password" : "Crear un novo contrasinal de aplicación",
"App password copied!" : "Copiouse o contrasinal da aplicación!",
"Copy app password" : "Copiar o contrasinal da aplicación",
"Login name copied!" : "O nome de acceso foi copiado!",
@@ -580,198 +488,10 @@ OC.L10N.register(
"Refer to the admin documentation on how to manually also encrypt existing files." : "Consulte a documentación de administración sobre para saber tamén como cifrar manualmente os ficheiros existentes.",
"This is the final warning: Do you really want to enable encryption?" : "Esta é a última advertencia: Confirma que quere activar o cifrado?",
"Please confirm the group removal" : "Confirme a retirada do grupo",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
"Rename group" : "Cambiar o nome do grupo",
- "Current password" : "Contrasinal actual",
- "New password" : "Novo contrasinal",
- "Change password" : "Cambiar o contrasinal",
- "Choose your profile picture" : "Escolla a súa imaxe de perfil",
- "Please select a valid png or jpg file" : "Seleccione un ficheiro png ou jpg válido",
- "Error setting profile picture" : "Produciuse un erro ao configurar a imaxe de perfil",
- "Error cropping profile picture" : "Produciuse un erro ao recortar a imaxe de perfil",
- "Error saving profile picture" : "Produciuse un erro ao gardar a imaxe de perfil",
- "Error removing profile picture" : "Produciuse un erro ao retirar a imaxe de perfil",
- "Your profile picture" : "A súa imaxe de perfil",
- "Upload profile picture" : "Enviar a imaxe de perfil",
- "Choose profile picture from Files" : "Escoller a imaxe de perfil en Ficheiros",
- "Remove profile picture" : "Retirar a imaxe de perfil",
- "The file must be a PNG or JPG" : "O ficheiro debe ser PNG ou JPG",
- "Picture provided by original account" : "Imaxe fornecida pola conta orixinal ",
- "Set as profile picture" : "Definir como imaxe de perfil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Teña en conta que pode tardar ata 24 horas en actualizar a súa foto de perfil en todos os sitios.",
- "Your biography. Markdown is supported." : "A túa biografía. Admítese Markdown.",
- "Unable to update date of birth" : "Non é posíbel actualizar a data de nacemento",
- "Enter your date of birth" : "Introduza a súa data de nacemento",
- "You are using {s}{usage}{/s}" : "Está a usar {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Está a usar {s}{usage}{/s} de {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Vde. é membro dos seguintes grupos:",
- "Your full name" : "O seu nome completo",
- "Email options" : "Opcións de correo -e",
- "Options for additional email address {index}" : "Opcións para o enderezo de correo adicional {index}",
- "Remove primary email" : "Retirar o correo-e principal",
- "Delete email" : "Eliminar o correo-e",
- "This address is not confirmed" : "Este enderezo non está confirmado",
- "Unset as primary email" : "Desactivar como correo principal",
- "Set as primary email" : "Definir como correo principal",
- "Additional email address {index}" : "Enderezo de correo adicional {index}",
- "Unable to delete primary email address" : "Non é posíbel eliminar o enderezo de correo principal",
- "Unable to update primary email address" : "Non é posíbel actualizar o enderezo de correo principal",
- "Unable to add additional email address" : "Non é posíbel engadir un o enderezo de correo adicional",
- "Unable to update additional email address" : "Non é posíbel actualizar o enderezo de correo adicional",
- "Unable to delete additional email address" : "Non é posíbel eliminar o enderezo de correo adicional",
- "Primary email for password reset and notifications" : "Correo-e principal para restabelecer o contrasinal e notificacións",
- "No email address set" : "Non hai un enderezo de correo definido",
- "Your handle" : "O seu identificador",
- "Derived from your locale ({weekDayName})" : "Derivado da súa configuración rexional ({weekDayName})",
- "Unable to update first day of week" : "Non é posíbel actualizar o primeiro día da semana",
- "Day to use as the first day of week" : "Días que pode usar como primeiro día da semana",
- "Your headline" : "O seu titular",
- "Unable to update language" : "Non é posíbel actualizar o idioma",
- "Languages" : "Idiomas",
- "Help translate" : "Axude na tradución",
- "No language set" : "Non foi definido ningún idioma",
- "Unable to update locale" : "Non é posíbel actualizar a configuración rexional",
- "Locales" : "Configuracións rexionais",
- "Week starts on {firstDayOfWeek}" : "A semana comeza o {firstDayOfWeek}",
- "No locale set" : "Non foi definida ningunha configuración rexional",
- "Your city" : "A súa cidade",
- "Your organisation" : "A súa organización",
- "Your phone number" : "O seu número de teléfono",
- "Edit your Profile visibility" : "Edita a visibilidade do seu perfil",
- "Unable to update profile enabled state" : "Non é posíbel actualizar o estado activado do perfil",
- "Enable profile" : "Activar o perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "No seu perfil respectase a configuración máis restritiva de visibilidade ou ámbito. Por exemplo, se a visibilidade está definida como«Amosar a todos» e o ámbito está configurado como «Privado», respéctase «Privado».",
- "Unable to update visibility of {displayId}" : "Non é posíbel actualizar a visibilidade de {displayId}",
- "she/her" : "ela — she/her",
- "he/him" : "el — he/him",
- "they/them" : "ele — they/them",
- "Your role" : "O seu cargo",
- "Your X (formerly Twitter) handle" : "O seu identificador en X (anteriormente Twitter).",
- "Your website" : "O seu sitio web",
- "Invalid value" : "O valor é incorrecto",
- "Unable to update {property}" : "Non é posíbel actualizar a {property}",
- "No {property} set" : "Non definiu {property}",
- "Change scope level of {property}, current scope is {scope}" : "Cambiar o nivel de ámbito de {property}, o ámbito actual é {scope}",
- "Unable to update federation scope of the primary {property}" : "Non é posíbel actualizar o ámbito de federación da {property} principal",
- "Unable to update federation scope of additional {property}" : "Non é posíbel actualizar o ámbito da federación de {property} adicional",
- "Add additional email" : "Engadir un correo adicional",
- "Add" : "Engadir",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Eliminar",
- "Reshare" : "Volver compartir",
- "Default language" : "Idioma predeterminado",
- "Common languages" : "Idiomas habituais",
- "Other languages" : "Outros idiomas",
- "Password change is disabled because the master key is disabled" : "O cambio de contrasinal está desactivado porque a chave principal está desactivada",
- "No accounts" : "Non hai contas",
- "Loading accounts …" : "Cargando as contas…",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Lista de contas. Esta lista non se representa de xeito completo por mor do rendemento. As contas represéntanse mentres se despraza pola lista.",
- "Manager" : "Xestor/a",
- "Set line manager" : "Definir o responsábel xerárquico",
- "Account name will be autogenerated" : "O nome da conta vai ser xerado automaticamente",
- "Account name (required)" : "Nome da conta (necesario)",
- "New account" : "Conta nova",
- "Display name" : "Nome para amosar",
- "Either password or email is required" : "Precísase dun contrasinal ou un correo-e",
- "Password (required)" : "Contrasinal (necesario)",
- "Email (required)" : "Correo-e (necesario)",
- "Email" : "Correo",
- "Member of the following groups (required)" : "Membro dos seguintes grupos (obrigatorio)",
- "Member of the following groups" : "Membro dos seguintes grupos",
- "Set account groups" : "Definir grupos de contas",
- "Admin of the following groups" : "Administrador dos seguintes grupos",
- "Set account as admin for …" : "Definir a conta como administradora para…",
- "Quota" : "Cota",
- "Set account quota" : "Definir a cota da conta",
- "Language" : "Idioma",
- "Set default language" : "Definir o idioma predeterminado",
- "Add new account" : "Engadir unha conta nova",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} conta…","{userCount} contas…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} conta","{userCount} contas"],
- "Total rows summary" : "Resumo total de filas",
- "Scroll to load more rows" : "Desprácese para cargar máis filas",
- "Password or insufficient permissions message" : "Mensaxe de contrasinal ou de permisos insuficientes",
- "Avatar" : "Avatar",
- "Account name" : "Nome da conta",
- "Group admin for" : "Administrador de grupo para",
- "Account backend" : "Infraestrutura da conta",
- "Storage location" : "Localización do almacenamento",
- "First login" : "Primeiro acceso",
- "Last login" : "Último acceso",
- "Account actions" : "Accións da conta",
- "{size} used" : "{size} usado",
- "Delete account" : "Eliminar a conta",
- "Disconnect all devices and delete local data" : "Desconecta todos os dispositivos e borra os datos locais",
- "Disable account" : "Desactivar a conta",
- "Enable account" : "Activar a conta",
- "Resend welcome email" : "Volver enviar o correo de benvida",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "No caso de perder o dispositivo ou saír da organización, pode limpar os datos de Nextcloud de xeito remoto de todos os dispositivos asociados a {userid}. Só funciona se os dispositivos están conectados Á Internet.",
- "Remote wipe of devices" : "Limpeza remota de dispositivos",
- "Wipe {userid}'s devices" : "Limpar os dispositivos de {userid}",
- "Wiped {userid}'s devices" : "Limpáronse os dispositivos de {userid}",
- "Failed to update line manager" : "Produciuse un erro ao actualizar o responsábel xerárquico",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Eliminar completamente a conta de {userid} incluíndo todos os seus ficheiros persoais, datos de aplicacións, etc.",
- "Account deletion" : "Eliminación de conta",
- "Delete {userid}'s account" : "Eliminar a conta de {userid}",
- "Display name was successfully changed" : "O nome para amosar foi cambiado satisfactoriamente",
- "Password can't be empty" : "O contrasinal non pode estar baleiro",
- "Password was successfully changed" : "O contrasinal foi cambiado satisfactoriamente",
- "Email can't be empty" : "O correo-e non pode estar baleiro",
- "Email was successfully changed" : "O correo foi cambiado satisfactoriamente",
- "Welcome mail sent!" : "Enviado o correo de benvida!",
- "Loading account …" : "Cargando a conta…",
- "Change display name" : "Cambiar o nome para amosar",
- "Set new password" : "Definir un novo contrasinal",
- "You do not have permissions to see the details of this account" : "Vde. non ten permisos para ver os detalles desta conta",
- "Set new email address" : "Definir un novo enderezo de correo",
- "Add account to group" : "Engadir conta ao grupo",
- "Set account as admin for" : "Definir a conta como administradora para",
- "Select account quota" : "Seleccione a cota da conta",
- "Set the language" : "Definir o idioma",
- "Toggle account actions menu" : "Alternar o menú de accións da conta",
- "Done" : "Feito",
- "Edit" : "Editar",
- "Account management settings" : "Axustes da xestión da conta",
- "Visibility" : "Visibilidade",
- "Show language" : "Amosar o idioma",
- "Show account backend" : "Amosar a infraestrutura da conta",
- "Show storage path" : "Amosar a ruta do almacenamento",
- "Show first login" : "Amosar o primeiro acceso",
- "Show last login" : "Amosar o último acceso",
- "Sorting" : "Ordenación",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "A configuración do sistema obriga a clasificar os grupos por nome. Isto tamén desactiva a vista do reconto de membros.",
- "Group list sorting" : "Ordenación da lista de grupos",
- "By member count" : "Segundo o número de membros",
- "By name" : "Polo nome",
- "Send email" : "Enviar o correo",
- "Send welcome email to new accounts" : "Enviar correo de benvida ás novas contas",
- "Defaults" : "Predeterminados",
- "Default quota" : "Cota predeterminada",
- "Select default quota" : "Seleccionar a cota predeterminada",
- "Server error while trying to complete WebAuthn device registration" : "Produciuse un erro do servidor cando se intentaba completar o rexistro do dispositivo WebAuthn",
- "Passwordless authentication requires a secure connection." : "A autenticación sen contrasinal precisa dunha conexión segura.",
- "Add WebAuthn device" : "Engadir un dispositivo WebAuthn",
- "Please authorize your WebAuthn device." : "Autorice o seu dispositivo WebAuthn.",
- "Adding your device …" : "Engadindo o seu dispositivo…",
- "Unnamed device" : "Dispositivo sen nome",
- "Passwordless Authentication" : "Autenticación sen contrasinal",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configurar a súa conta para a autenticación sen contrasinal seguindo o estándar FIDO2.",
- "No devices configured." : "Non hai dispositivos configurados.",
- "The following devices are configured for your account:" : "Os seguintes dispositivos están configurados para a súa conta:",
- "Your browser does not support WebAuthn." : "O seu navegador non é compatíbel co WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador pode facer axustes finos do comportamento ao compartir. Lea a documentación para obter máis información.",
- "You need to enable the File sharing App." : "Debe activar a aplicación Compartir ficheiros.",
- "App Store" : "Tenda de aplicacións",
- "Loading app list" : "Cargando a lista de aplicacións",
- "Loading categories" : "Cargando categorías",
- "Developer documentation ↗" : "Documentación para desenvolvedores ↗",
- "Version {version}, {license}-licensed" : "Versión {version}, con licenza {license}",
- "Version {version}" : "Versión {version}",
- "All accounts" : "Todas as contas",
- "Admins" : "Administración",
- "Account group: {group}" : "Grupo de contas: {group}",
- "Account management" : "Xestión de contas",
"Sending…" : "Enviando…",
"Email sent" : "Correo enviado",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Por razóns de rendemento, cando activa o cifrado nun servidor NextCloud só se cifran os ficheiros novos e os modificados.",
@@ -781,6 +501,7 @@ OC.L10N.register(
"Date of birth" : "Data de nacemento",
"Full name" : "Nome completo",
"Additional email" : "Correo-e adicional",
+ "Email" : "Correo",
"Fediverse (e.g. Mastodon)" : "Fediverso (p. ex., Mastodon)",
"Headline" : "Titular",
"Organisation" : "Organización",
@@ -790,6 +511,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (anteriormente Twitter).",
"Website" : "Sitio web",
"Profile visibility" : "Visibilidade do perfil",
+ "Language" : "Idioma",
"Locale" : "Configuración rexional",
"First day of week" : "Primeiro día da semana",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non está dispoñíbel porque esta propiedade é precisa para as funcións básicas, como compartir ficheiros e convites de calendario",
@@ -807,6 +529,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Amosar só ás contas iniciadas",
"Hide" : "Agochar",
"Manually installed apps cannot be updated" : "Non é posíbel actualizar as aplicacións instaladas manualmente",
+ "Update to {version}" : "Actualizar a {version}",
"{progress}% Deploying …" : "{progress}% Despregando…",
"{progress}% Initializing …" : "{progress}% Iniciando…",
"Health checking" : "Control de integridade",
@@ -816,6 +539,7 @@ OC.L10N.register(
"Allow untested app" : "Permitir aplicación non probada",
"The app will be downloaded from the App Store" : "A aplicación descargarase da tenda de aplicacións",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Esta aplicación non está marcado como compatíbel coa súa versión de Nextcloud. Se continúa, poderá instalar a aplicación. Teña en conta que é probábel que a aplicación non funcione como se agarda.",
+ "{size} used" : "{size} usado",
"Unknown" : "Descoñecido",
"Never" : "Nunca",
"Could not register device: Network error" : "Non foi posíbel rexistrar o dispositivo: Produciuse un erro de rede",
@@ -834,8 +558,10 @@ OC.L10N.register(
"Could not set group sorting" : "Non foi posíbel definir a ordenación por grupos",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Houbo demasiadas solicitudes da súa rede. Volva tentalo máis adiante ou póñase en contacto coa administración desta instancia. se se trata dun erro.",
"Error" : "Erro",
+ "Default quota" : "Cota predeterminada",
"Account documentation" : "Documentación da conta",
"Administration documentation" : "Documentación da administración da instancia",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Nextcloud help & privacy resources" : "Recursos de axuda e privacidade de Nextcloud",
"General documentation" : "Documentación xeral",
@@ -858,6 +584,7 @@ OC.L10N.register(
"SMTP Password" : "Contrasinal SMTP",
"Save" : "Gardar",
"Test and verify email settings" : "Probe e verifique os axustes do correo",
+ "Send email" : "Enviar o correo",
"Security & setup warnings" : "Advertencias de seguranza e configuración",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "É importante para a seguranza e o bo funcionamento da súa instancia que todo estea configurado correctamente. Para axudarlle niso, imos facer algunhas comprobacións automáticas. Vexa a documentación ligada para obter máis información. ",
"All checks passed." : "Pasáronse todas as comprobacións.",
@@ -883,10 +610,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "O límite de memoria de PHP está por baixo do valor recomendado de %s.",
"for WebAuthn passwordless login" : "para acceso sen contrasinal de WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "para acceso sen contrasinal de WebAuthn, e almacenamento SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "– A cabeceira HTTP «%1$s» non contén «%2$s». Este é un risco potencial de seguridade ou privacidade, polo que, en consecuencia, recoméndase este axuste.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Detectouse a versión «%s» de PostgreSQL. Suxírese PostgreSQL >=12 e <=16 para un mellor rendemento, estabilidade e funcionalidade con esta versión de Nextcloud.",
- "Set default expiration date for shares" : "Definir a data de caducidade predeterminada das comparticións",
- "Your biography" : "A súa biografía",
- "You are using <strong>{usage}</strong>" : "Está a usar <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Está a usar <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Definir a data de caducidade predeterminada das comparticións"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/gl.json b/apps/settings/l10n/gl.json
index bfc2f16171e..a6b7160d09a 100644
--- a/apps/settings/l10n/gl.json
+++ b/apps/settings/l10n/gl.json
@@ -292,7 +292,6 @@
"HTTP headers" : "Cabeceiras HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "– A cabeceira HTTP «%1$s» non está definida como «%2$s». É posíbel que algunhas funcións non traballen correctamente, polo que, en consecuencia, recoméndase este axuste.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "– A cabeceira HTTP «%1$s» non está definida como «%2$s». Este é un risco potencial de seguridade ou privacidade, polo que, en consecuencia, recoméndase este axuste.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "– A cabeceira HTTP «%1$s» non contén «%2$s». Este é un risco potencial de seguridade ou privacidade, polo que, en consecuencia, recoméndase este axuste.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "– A cabeceira HTTP «%1$s»non está definida como «%2$s», «%3$s», «%4$s», «%5$s» ou «%6$s». Isto pode filtrar información «referer». Consulte a {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "– A cabeceira HTTP «Strict-Transport-Security» non está definida como mínimo a «%d» segundos (valor actual: «%d»). Para mellorar a seguridade, recoméndase utilizar unha directiva HSTS longa.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "– A cabeceira HTTP «Strict-Transport-Security» ten un formato incorrecto: «%s». Para mellorar a seguridade, recoméndase activar HSTS.",
@@ -436,97 +435,6 @@
"Could not load section content from app store." : "Non foi posíbel cargar o contido da sección da tenda de aplicacións.",
"Loading" : "Cargando",
"Fetching the latest news…" : "Recuperando as últimas novas…",
- "Carousel" : "Carrusel",
- "Previous slide" : "Diapositiva anterior",
- "Next slide" : "Seguinte diapositiva",
- "Choose slide to display" : "Escolla a diapositiva que quere amosar",
- "{index} of {total}" : "{index} de {total}",
- "Daemon" : "Servizo",
- "Deploy Daemon" : "Servizo de despregadura",
- "Type" : "Escribir",
- "Display Name" : "Nome para amosar",
- "GPUs support" : "Compatibilidade con GPU",
- "Compute device" : "Dispositivo de computación",
- "Advanced deploy options" : " Opcións avanzadas de despregadura",
- "Edit ExApp deploy options before installation" : "Editar as opcións de despregadura da aplicación externa (ExApp) antes da instalación",
- "Configured ExApp deploy options. Can be set only during installation" : "Opcións de despregadura da aplicación externa (ExApp) configuradas. Só é posíbel definilas durante a instalación",
- "Learn more" : "Máis información",
- "Environment variables" : "Variábeis de contorno",
- "ExApp container environment variables" : "Variábeis de contorno do contedor da aplicación externa (ExApp)",
- "No environment variables defined" : "Non foi definida ningunha variábel de contorno",
- "Mounts" : "Montaxes",
- "Define host folder mounts to bind to the ExApp container" : "Definir as montaxes do cartafol do servidor para unirse ao contedor da aplicación externa (ExApp)",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Debe existir no servidor/máquina do servizo de despregadura antes de instalar a aplicación externa (ExApp)",
- "Host path" : "Ruta ao servidor/máquina",
- "Container path" : "Ruta ao contedor",
- "Read-only" : "Só lectura",
- "Remove mount" : "Retirar a montaxe",
- "New mount" : "Nova montaxe",
- "Enter path to host folder" : "Introduza a ruta ao cartafol do servidor/máquina.",
- "Enter path to container folder" : "Introduza a ruta ao cartafol do contedor.",
- "Toggle read-only mode" : "Alternar o modo de só lectura",
- "Confirm adding new mount" : "Confirmar o engadido dunha nova montaxe",
- "Confirm" : "Confirmar",
- "Cancel adding mount" : "Cancelar o engadido da montaxe",
- "Cancel" : "Cancelar",
- "Add mount" : "Engadir unha montaxe",
- "ExApp container mounts" : "Montaxes de contedores de aplicacións externas (ExApp)",
- "No mounts defined" : "Non foi definida ningunha montaxe",
- "Description" : "Descrición",
- "View in store" : "Ver na tenda",
- "Visit website" : "Visite o sitio web",
- "Usage documentation" : "Documentación de utilización",
- "Admin documentation" : "Documentación da administración da instancia",
- "Developer documentation" : "Documentación para desenvolvedores",
- "Details" : "Detalles",
- "All" : "Todo",
- "Limit app usage to groups" : "Limitar o uso de aplicacións a grupos",
- "No results" : "Sen resultados",
- "Update to {version}" : "Actualizar a {version}",
- "Deploy options" : "Opcións de despregadura",
- "Default Deploy daemon is not accessible" : "Non é posíbel acceder ao servizo predeterminado de despregadura.",
- "Delete data on remove" : "Eliminar os datos ao retirar",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación non dispón dunha versión mínima de Nextcloud asignada. Isto será un erro no futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta aplicación non dispón dunha versión máxima de Nextcloud asignada. Isto será un erro no futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Non é posíbel instalar esta aplicación por mor de non cumprirse as dependencias:",
- "Latest updated" : "Última actualización",
- "Author" : "Autor",
- "Categories" : "Categorías",
- "Resources" : "Recursos",
- "Documentation" : "Documentación",
- "Interact" : "Interactuar",
- "Report a bug" : "Informar dun fallo",
- "Request feature" : "Solicitar unha funcionalidade",
- "Ask questions or discuss" : "Facer preguntas ou debater",
- "Rate the app" : "Valore a aplicación",
- "Rate" : "Cualificar",
- "Changelog" : "Notas da versión",
- "Google Chrome for Android" : "Google Chrome para Android",
- "{productName} iOS app" : "Aplicación de iOS {productName}",
- "{productName} Android app" : "Aplicación de Android {productName}",
- "{productName} Talk for iOS" : "Parladoiro para iOS {productName}",
- "{productName} Talk for Android" : "Parladoiro para Android {productName}",
- "Sync client" : "Sincronizar o cliente",
- "This session" : "Esta sesión",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nome do dispositivo",
- "Cancel renaming" : "Cancelar o cambio de nome",
- "Save new name" : "Gardar o novo nome",
- "Marked for remote wipe" : "Marcado para limpeza remota",
- "Device settings" : "Axustes do dispositivo",
- "Allow filesystem access" : "Permitir o acceso aos sistema de ficheiros",
- "Rename" : "Cambiar o nome",
- "Revoke" : "Revogar",
- "Wipe device" : "Limpar o dispositivo",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "A revogación deste testemuño pode impedir a limpeza do seu dispositivo se aínda non iniciou a limpeza.",
- "Device" : "Dispositivo",
- "Last activity" : "Última actividade",
- "Devices & sessions" : "Dispositivos e sesións",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, móbiles e de escritorio actualmente conectados á súa conta.",
- "Error while creating device token" : "Produciuse un erro ao crear un testemuño de dispositivo",
- "App name" : "Nome da aplicación",
- "Create new app password" : "Crear un novo contrasinal de aplicación",
"App password copied!" : "Copiouse o contrasinal da aplicación!",
"Copy app password" : "Copiar o contrasinal da aplicación",
"Login name copied!" : "O nome de acceso foi copiado!",
@@ -578,198 +486,10 @@
"Refer to the admin documentation on how to manually also encrypt existing files." : "Consulte a documentación de administración sobre para saber tamén como cifrar manualmente os ficheiros existentes.",
"This is the final warning: Do you really want to enable encryption?" : "Esta é a última advertencia: Confirma que quere activar o cifrado?",
"Please confirm the group removal" : "Confirme a retirada do grupo",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
"Rename group" : "Cambiar o nome do grupo",
- "Current password" : "Contrasinal actual",
- "New password" : "Novo contrasinal",
- "Change password" : "Cambiar o contrasinal",
- "Choose your profile picture" : "Escolla a súa imaxe de perfil",
- "Please select a valid png or jpg file" : "Seleccione un ficheiro png ou jpg válido",
- "Error setting profile picture" : "Produciuse un erro ao configurar a imaxe de perfil",
- "Error cropping profile picture" : "Produciuse un erro ao recortar a imaxe de perfil",
- "Error saving profile picture" : "Produciuse un erro ao gardar a imaxe de perfil",
- "Error removing profile picture" : "Produciuse un erro ao retirar a imaxe de perfil",
- "Your profile picture" : "A súa imaxe de perfil",
- "Upload profile picture" : "Enviar a imaxe de perfil",
- "Choose profile picture from Files" : "Escoller a imaxe de perfil en Ficheiros",
- "Remove profile picture" : "Retirar a imaxe de perfil",
- "The file must be a PNG or JPG" : "O ficheiro debe ser PNG ou JPG",
- "Picture provided by original account" : "Imaxe fornecida pola conta orixinal ",
- "Set as profile picture" : "Definir como imaxe de perfil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Teña en conta que pode tardar ata 24 horas en actualizar a súa foto de perfil en todos os sitios.",
- "Your biography. Markdown is supported." : "A túa biografía. Admítese Markdown.",
- "Unable to update date of birth" : "Non é posíbel actualizar a data de nacemento",
- "Enter your date of birth" : "Introduza a súa data de nacemento",
- "You are using {s}{usage}{/s}" : "Está a usar {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Está a usar {s}{usage}{/s} de {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Vde. é membro dos seguintes grupos:",
- "Your full name" : "O seu nome completo",
- "Email options" : "Opcións de correo -e",
- "Options for additional email address {index}" : "Opcións para o enderezo de correo adicional {index}",
- "Remove primary email" : "Retirar o correo-e principal",
- "Delete email" : "Eliminar o correo-e",
- "This address is not confirmed" : "Este enderezo non está confirmado",
- "Unset as primary email" : "Desactivar como correo principal",
- "Set as primary email" : "Definir como correo principal",
- "Additional email address {index}" : "Enderezo de correo adicional {index}",
- "Unable to delete primary email address" : "Non é posíbel eliminar o enderezo de correo principal",
- "Unable to update primary email address" : "Non é posíbel actualizar o enderezo de correo principal",
- "Unable to add additional email address" : "Non é posíbel engadir un o enderezo de correo adicional",
- "Unable to update additional email address" : "Non é posíbel actualizar o enderezo de correo adicional",
- "Unable to delete additional email address" : "Non é posíbel eliminar o enderezo de correo adicional",
- "Primary email for password reset and notifications" : "Correo-e principal para restabelecer o contrasinal e notificacións",
- "No email address set" : "Non hai un enderezo de correo definido",
- "Your handle" : "O seu identificador",
- "Derived from your locale ({weekDayName})" : "Derivado da súa configuración rexional ({weekDayName})",
- "Unable to update first day of week" : "Non é posíbel actualizar o primeiro día da semana",
- "Day to use as the first day of week" : "Días que pode usar como primeiro día da semana",
- "Your headline" : "O seu titular",
- "Unable to update language" : "Non é posíbel actualizar o idioma",
- "Languages" : "Idiomas",
- "Help translate" : "Axude na tradución",
- "No language set" : "Non foi definido ningún idioma",
- "Unable to update locale" : "Non é posíbel actualizar a configuración rexional",
- "Locales" : "Configuracións rexionais",
- "Week starts on {firstDayOfWeek}" : "A semana comeza o {firstDayOfWeek}",
- "No locale set" : "Non foi definida ningunha configuración rexional",
- "Your city" : "A súa cidade",
- "Your organisation" : "A súa organización",
- "Your phone number" : "O seu número de teléfono",
- "Edit your Profile visibility" : "Edita a visibilidade do seu perfil",
- "Unable to update profile enabled state" : "Non é posíbel actualizar o estado activado do perfil",
- "Enable profile" : "Activar o perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "No seu perfil respectase a configuración máis restritiva de visibilidade ou ámbito. Por exemplo, se a visibilidade está definida como«Amosar a todos» e o ámbito está configurado como «Privado», respéctase «Privado».",
- "Unable to update visibility of {displayId}" : "Non é posíbel actualizar a visibilidade de {displayId}",
- "she/her" : "ela — she/her",
- "he/him" : "el — he/him",
- "they/them" : "ele — they/them",
- "Your role" : "O seu cargo",
- "Your X (formerly Twitter) handle" : "O seu identificador en X (anteriormente Twitter).",
- "Your website" : "O seu sitio web",
- "Invalid value" : "O valor é incorrecto",
- "Unable to update {property}" : "Non é posíbel actualizar a {property}",
- "No {property} set" : "Non definiu {property}",
- "Change scope level of {property}, current scope is {scope}" : "Cambiar o nivel de ámbito de {property}, o ámbito actual é {scope}",
- "Unable to update federation scope of the primary {property}" : "Non é posíbel actualizar o ámbito de federación da {property} principal",
- "Unable to update federation scope of additional {property}" : "Non é posíbel actualizar o ámbito da federación de {property} adicional",
- "Add additional email" : "Engadir un correo adicional",
- "Add" : "Engadir",
- "Create" : "Crear",
- "Change" : "Cambiar",
- "Delete" : "Eliminar",
- "Reshare" : "Volver compartir",
- "Default language" : "Idioma predeterminado",
- "Common languages" : "Idiomas habituais",
- "Other languages" : "Outros idiomas",
- "Password change is disabled because the master key is disabled" : "O cambio de contrasinal está desactivado porque a chave principal está desactivada",
- "No accounts" : "Non hai contas",
- "Loading accounts …" : "Cargando as contas…",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Lista de contas. Esta lista non se representa de xeito completo por mor do rendemento. As contas represéntanse mentres se despraza pola lista.",
- "Manager" : "Xestor/a",
- "Set line manager" : "Definir o responsábel xerárquico",
- "Account name will be autogenerated" : "O nome da conta vai ser xerado automaticamente",
- "Account name (required)" : "Nome da conta (necesario)",
- "New account" : "Conta nova",
- "Display name" : "Nome para amosar",
- "Either password or email is required" : "Precísase dun contrasinal ou un correo-e",
- "Password (required)" : "Contrasinal (necesario)",
- "Email (required)" : "Correo-e (necesario)",
- "Email" : "Correo",
- "Member of the following groups (required)" : "Membro dos seguintes grupos (obrigatorio)",
- "Member of the following groups" : "Membro dos seguintes grupos",
- "Set account groups" : "Definir grupos de contas",
- "Admin of the following groups" : "Administrador dos seguintes grupos",
- "Set account as admin for …" : "Definir a conta como administradora para…",
- "Quota" : "Cota",
- "Set account quota" : "Definir a cota da conta",
- "Language" : "Idioma",
- "Set default language" : "Definir o idioma predeterminado",
- "Add new account" : "Engadir unha conta nova",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} conta…","{userCount} contas…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} conta","{userCount} contas"],
- "Total rows summary" : "Resumo total de filas",
- "Scroll to load more rows" : "Desprácese para cargar máis filas",
- "Password or insufficient permissions message" : "Mensaxe de contrasinal ou de permisos insuficientes",
- "Avatar" : "Avatar",
- "Account name" : "Nome da conta",
- "Group admin for" : "Administrador de grupo para",
- "Account backend" : "Infraestrutura da conta",
- "Storage location" : "Localización do almacenamento",
- "First login" : "Primeiro acceso",
- "Last login" : "Último acceso",
- "Account actions" : "Accións da conta",
- "{size} used" : "{size} usado",
- "Delete account" : "Eliminar a conta",
- "Disconnect all devices and delete local data" : "Desconecta todos os dispositivos e borra os datos locais",
- "Disable account" : "Desactivar a conta",
- "Enable account" : "Activar a conta",
- "Resend welcome email" : "Volver enviar o correo de benvida",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "No caso de perder o dispositivo ou saír da organización, pode limpar os datos de Nextcloud de xeito remoto de todos os dispositivos asociados a {userid}. Só funciona se os dispositivos están conectados Á Internet.",
- "Remote wipe of devices" : "Limpeza remota de dispositivos",
- "Wipe {userid}'s devices" : "Limpar os dispositivos de {userid}",
- "Wiped {userid}'s devices" : "Limpáronse os dispositivos de {userid}",
- "Failed to update line manager" : "Produciuse un erro ao actualizar o responsábel xerárquico",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Eliminar completamente a conta de {userid} incluíndo todos os seus ficheiros persoais, datos de aplicacións, etc.",
- "Account deletion" : "Eliminación de conta",
- "Delete {userid}'s account" : "Eliminar a conta de {userid}",
- "Display name was successfully changed" : "O nome para amosar foi cambiado satisfactoriamente",
- "Password can't be empty" : "O contrasinal non pode estar baleiro",
- "Password was successfully changed" : "O contrasinal foi cambiado satisfactoriamente",
- "Email can't be empty" : "O correo-e non pode estar baleiro",
- "Email was successfully changed" : "O correo foi cambiado satisfactoriamente",
- "Welcome mail sent!" : "Enviado o correo de benvida!",
- "Loading account …" : "Cargando a conta…",
- "Change display name" : "Cambiar o nome para amosar",
- "Set new password" : "Definir un novo contrasinal",
- "You do not have permissions to see the details of this account" : "Vde. non ten permisos para ver os detalles desta conta",
- "Set new email address" : "Definir un novo enderezo de correo",
- "Add account to group" : "Engadir conta ao grupo",
- "Set account as admin for" : "Definir a conta como administradora para",
- "Select account quota" : "Seleccione a cota da conta",
- "Set the language" : "Definir o idioma",
- "Toggle account actions menu" : "Alternar o menú de accións da conta",
- "Done" : "Feito",
- "Edit" : "Editar",
- "Account management settings" : "Axustes da xestión da conta",
- "Visibility" : "Visibilidade",
- "Show language" : "Amosar o idioma",
- "Show account backend" : "Amosar a infraestrutura da conta",
- "Show storage path" : "Amosar a ruta do almacenamento",
- "Show first login" : "Amosar o primeiro acceso",
- "Show last login" : "Amosar o último acceso",
- "Sorting" : "Ordenación",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "A configuración do sistema obriga a clasificar os grupos por nome. Isto tamén desactiva a vista do reconto de membros.",
- "Group list sorting" : "Ordenación da lista de grupos",
- "By member count" : "Segundo o número de membros",
- "By name" : "Polo nome",
- "Send email" : "Enviar o correo",
- "Send welcome email to new accounts" : "Enviar correo de benvida ás novas contas",
- "Defaults" : "Predeterminados",
- "Default quota" : "Cota predeterminada",
- "Select default quota" : "Seleccionar a cota predeterminada",
- "Server error while trying to complete WebAuthn device registration" : "Produciuse un erro do servidor cando se intentaba completar o rexistro do dispositivo WebAuthn",
- "Passwordless authentication requires a secure connection." : "A autenticación sen contrasinal precisa dunha conexión segura.",
- "Add WebAuthn device" : "Engadir un dispositivo WebAuthn",
- "Please authorize your WebAuthn device." : "Autorice o seu dispositivo WebAuthn.",
- "Adding your device …" : "Engadindo o seu dispositivo…",
- "Unnamed device" : "Dispositivo sen nome",
- "Passwordless Authentication" : "Autenticación sen contrasinal",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configurar a súa conta para a autenticación sen contrasinal seguindo o estándar FIDO2.",
- "No devices configured." : "Non hai dispositivos configurados.",
- "The following devices are configured for your account:" : "Os seguintes dispositivos están configurados para a súa conta:",
- "Your browser does not support WebAuthn." : "O seu navegador non é compatíbel co WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador pode facer axustes finos do comportamento ao compartir. Lea a documentación para obter máis información.",
- "You need to enable the File sharing App." : "Debe activar a aplicación Compartir ficheiros.",
- "App Store" : "Tenda de aplicacións",
- "Loading app list" : "Cargando a lista de aplicacións",
- "Loading categories" : "Cargando categorías",
- "Developer documentation ↗" : "Documentación para desenvolvedores ↗",
- "Version {version}, {license}-licensed" : "Versión {version}, con licenza {license}",
- "Version {version}" : "Versión {version}",
- "All accounts" : "Todas as contas",
- "Admins" : "Administración",
- "Account group: {group}" : "Grupo de contas: {group}",
- "Account management" : "Xestión de contas",
"Sending…" : "Enviando…",
"Email sent" : "Correo enviado",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Por razóns de rendemento, cando activa o cifrado nun servidor NextCloud só se cifran os ficheiros novos e os modificados.",
@@ -779,6 +499,7 @@
"Date of birth" : "Data de nacemento",
"Full name" : "Nome completo",
"Additional email" : "Correo-e adicional",
+ "Email" : "Correo",
"Fediverse (e.g. Mastodon)" : "Fediverso (p. ex., Mastodon)",
"Headline" : "Titular",
"Organisation" : "Organización",
@@ -788,6 +509,7 @@
"X (formerly Twitter)" : "X (anteriormente Twitter).",
"Website" : "Sitio web",
"Profile visibility" : "Visibilidade do perfil",
+ "Language" : "Idioma",
"Locale" : "Configuración rexional",
"First day of week" : "Primeiro día da semana",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non está dispoñíbel porque esta propiedade é precisa para as funcións básicas, como compartir ficheiros e convites de calendario",
@@ -805,6 +527,7 @@
"Show to logged in accounts only" : "Amosar só ás contas iniciadas",
"Hide" : "Agochar",
"Manually installed apps cannot be updated" : "Non é posíbel actualizar as aplicacións instaladas manualmente",
+ "Update to {version}" : "Actualizar a {version}",
"{progress}% Deploying …" : "{progress}% Despregando…",
"{progress}% Initializing …" : "{progress}% Iniciando…",
"Health checking" : "Control de integridade",
@@ -814,6 +537,7 @@
"Allow untested app" : "Permitir aplicación non probada",
"The app will be downloaded from the App Store" : "A aplicación descargarase da tenda de aplicacións",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Esta aplicación non está marcado como compatíbel coa súa versión de Nextcloud. Se continúa, poderá instalar a aplicación. Teña en conta que é probábel que a aplicación non funcione como se agarda.",
+ "{size} used" : "{size} usado",
"Unknown" : "Descoñecido",
"Never" : "Nunca",
"Could not register device: Network error" : "Non foi posíbel rexistrar o dispositivo: Produciuse un erro de rede",
@@ -832,8 +556,10 @@
"Could not set group sorting" : "Non foi posíbel definir a ordenación por grupos",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Houbo demasiadas solicitudes da súa rede. Volva tentalo máis adiante ou póñase en contacto coa administración desta instancia. se se trata dun erro.",
"Error" : "Erro",
+ "Default quota" : "Cota predeterminada",
"Account documentation" : "Documentación da conta",
"Administration documentation" : "Documentación da administración da instancia",
+ "Documentation" : "Documentación",
"Forum" : "Foro",
"Nextcloud help & privacy resources" : "Recursos de axuda e privacidade de Nextcloud",
"General documentation" : "Documentación xeral",
@@ -856,6 +582,7 @@
"SMTP Password" : "Contrasinal SMTP",
"Save" : "Gardar",
"Test and verify email settings" : "Probe e verifique os axustes do correo",
+ "Send email" : "Enviar o correo",
"Security & setup warnings" : "Advertencias de seguranza e configuración",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "É importante para a seguranza e o bo funcionamento da súa instancia que todo estea configurado correctamente. Para axudarlle niso, imos facer algunhas comprobacións automáticas. Vexa a documentación ligada para obter máis información. ",
"All checks passed." : "Pasáronse todas as comprobacións.",
@@ -881,10 +608,8 @@
"The PHP memory limit is below the recommended value of %s." : "O límite de memoria de PHP está por baixo do valor recomendado de %s.",
"for WebAuthn passwordless login" : "para acceso sen contrasinal de WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "para acceso sen contrasinal de WebAuthn, e almacenamento SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "– A cabeceira HTTP «%1$s» non contén «%2$s». Este é un risco potencial de seguridade ou privacidade, polo que, en consecuencia, recoméndase este axuste.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Detectouse a versión «%s» de PostgreSQL. Suxírese PostgreSQL >=12 e <=16 para un mellor rendemento, estabilidade e funcionalidade con esta versión de Nextcloud.",
- "Set default expiration date for shares" : "Definir a data de caducidade predeterminada das comparticións",
- "Your biography" : "A súa biografía",
- "You are using <strong>{usage}</strong>" : "Está a usar <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Está a usar <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Definir a data de caducidade predeterminada das comparticións"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/he.js b/apps/settings/l10n/he.js
index 298c1e232d7..58143cbd76f 100644
--- a/apps/settings/l10n/he.js
+++ b/apps/settings/l10n/he.js
@@ -152,48 +152,6 @@ OC.L10N.register(
"Group name" : "שם קבוצה",
"Loading groups…" : "הקבוצות נטענות…",
"Loading" : "בטעינה",
- "Daemon" : "סוכן",
- "Type" : "סוג",
- "Display Name" : "שם תצוגה",
- "Learn more" : "לקריאה נוספת",
- "Confirm" : "אימות",
- "Cancel" : "ביטול",
- "Description" : "תיאור",
- "View in store" : "הצגה באחסון",
- "Visit website" : "ביקור באתר האינטרנט",
- "Admin documentation" : "תיעוד מנהל",
- "Developer documentation" : "תיעוד מפתח",
- "Details" : "פרטים",
- "All" : "הכל",
- "Limit app usage to groups" : "הגבלת השימוש ביישומון לקבוצות",
- "No results" : "אין תוצאות",
- "Update to {version}" : "עדכון ל־{version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "ליישומון זה לא מוקצית גרסת Nextcloud מזערית. מצב כזה עשוי להוביל לשגיאה בעתיד.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "ליישומון זה לא מוקצית גרסת Nextcloud מרבית. מצב כזה עשוי להוביל לשגיאה בעתיד.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "לא ניתן להתקין את יישום זה כיוון שייחסי התלות הבאים לא התקיימו:",
- "Categories" : "קטגוריות",
- "Resources" : "משאבים",
- "Documentation" : "תיעוד",
- "Report a bug" : "דיווח על באג",
- "Request feature" : "בקשת תכונה",
- "Ask questions or discuss" : "פרסום שאלות או דיון",
- "Rate" : "דירוג",
- "Changelog" : "יומן שינויים",
- "Google Chrome for Android" : "Google Chrome עבור Android",
- "This session" : "הפעלה זו",
- "Marked for remote wipe" : "מסומן להשמדת נתונים מרחוק",
- "Device settings" : "הגדרות מכשיר",
- "Allow filesystem access" : "לאפשר גישה למערכת הקבצים",
- "Rename" : "שינוי שם",
- "Revoke" : "שלילה",
- "Wipe device" : "השמדת נתוני מכשיר",
- "Device" : "התקן",
- "Last activity" : "פעילות אחרונה",
- "Devices & sessions" : "התקנים והפעלות",
- "Web, desktop and mobile clients currently logged in to your account." : "לקוחות שמחוברים כעת לחשבון שלך דרך דפדפן, שולחן עבודה והתקנים ניידים.",
- "Error while creating device token" : "שגיאה בזמן יצירת מחרוזת התקן",
- "App name" : "שם יישום",
- "Create new app password" : "יצירת סיסמת יישום חדשה",
"Could not copy app password. Please copy it manually." : "לא ניתן להעתיק את הססמה של היישומון. נא להעתיק אותה ידנית.",
"Login" : "התחברות",
"Password" : "ססמה",
@@ -212,74 +170,19 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "תשומת לב לכך שהצפנה בהכרח מגדילה את גודל הקובץ.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "תמיד טוב ליצור גיבוי קבוע למידע , במקרה של הצפנה יש לוודא שגם מפתחות ההצפנה מגובים עם המידע שלך.",
"This is the final warning: Do you really want to enable encryption?" : "זו הזהרה אחרונה: האם באמת ברצונך להפעיל הצפנה?",
+ "Cancel" : "ביטול",
+ "Confirm" : "אימות",
"Submit" : "שליחה",
- "Current password" : "סיסמא נוכחית",
- "New password" : "סיסמא חדשה",
- "Change password" : "שינוי סיסמא",
- "Picture provided by original account" : "תמונה סופקה על ידי חשבון מקור",
- "You are a member of the following groups:" : "הקבוצות הבאות כוללות אותך:",
- "No email address set" : "לא נקבעה כתובת דואר אלקטרוני",
- "Languages" : "שפות",
- "Help translate" : "עזרה בתרגום",
- "No language set" : "לא הוגדרה שפה",
- "Your phone number" : "מספר הטלפון שלך",
- "Add" : "הוספה",
- "Create" : "יצירה",
- "Change" : "שינוי",
- "Delete" : "מחיקה",
- "Reshare" : "שיתוף מחדש",
- "Default language" : "שפת בררת מחדל",
- "Common languages" : "שפות נפוצות",
- "Password change is disabled because the master key is disabled" : "החלפת ססמה מושבתת כיוון שהמפתח הראשי מושבת",
- "New account" : "חשבון חדש",
- "Display name" : "שם תצוגה",
- "Email" : "דוא״ל",
- "Quota" : "מכיסה",
- "Language" : "שפה",
- "Avatar" : "תמונה מייצגת",
- "Group admin for" : "הנהלת הקבוצה",
- "Storage location" : "מיקום אחסון",
- "Last login" : "כניסה אחרונה",
- "Account actions" : "פעולות חשבון",
- "{size} used" : "{size} בשימוש",
- "Delete account" : "מחיקת חשבון",
- "Resend welcome email" : "שליחת הודעת קבלת פנים בדוא״ל מחדש",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "במקרה של אובדן מכשיר או עזיבה של הארגון, מנגנון זה יכול להשמיד את נתוני ה־Nextcloud מכל המכשירים שמשויכים אל {userid}. יעבוד רק אם כל המכשירים מחוברים לאינטרנט.",
- "Remote wipe of devices" : "השמדת נתונים מרוחקת במכשירים",
- "Wipe {userid}'s devices" : "השמדת נתוני המכשירים של {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "למחוק לחלוטין את החשבון של {userid} לרבות כל הקבצים האישיים, נתוני היישומונים וכו׳.",
- "Account deletion" : "מחיקת חשבון",
- "Delete {userid}'s account" : "מחיקת החשבון של {userid}",
- "Welcome mail sent!" : "נשלחה הודעת קבלת פנים בדוא״ל!",
- "Done" : "הסתיים",
- "Edit" : "עריכה",
- "Show storage path" : "הצגת נתיב אחסון",
- "Show last login" : "הצגת כניסה אחרונה",
- "Sorting" : "מיון",
- "Send email" : "שליחת דואר אלקטרוני",
- "Default quota" : "מיכסת בררת מחדל",
- "Select default quota" : "בחירת מכסת בררת מחדל",
- "Server error while trying to complete WebAuthn device registration" : "התקבלה שגיאת שרת בעת הניסיון להשלים את הרשמת התקן ה־WebAuthn",
- "Passwordless authentication requires a secure connection." : "אימות ללא ססמה דורש חיבור מוצפן.",
- "Add WebAuthn device" : "הוספת התקן WebAuthn",
- "Please authorize your WebAuthn device." : "נא לייפות את כוחו של התקן ה־WebAuthn שלך.",
- "Adding your device …" : "הוספת ההתקן שלך…",
- "Unnamed device" : "התקן ללא שם",
- "Passwordless Authentication" : "אימות ללא ססמה",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "הגדרת החשבון שלך לאימות ללא ססמה לפי תקן FIDO2.",
- "No devices configured." : "לא הוגדרו התקנים.",
- "The following devices are configured for your account:" : "ההתקנים הבאים הוגדרו לחשבון שלך:",
- "Your browser does not support WebAuthn." : "הדפדפן שלך אינו תומך ב־WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "כמנהל יש לך אפשרות לכוונן את התנהגות השיתוף. נא לעיין בתיעוד לפרטים נוספים.",
- "Admins" : "מנהלים",
"Sending…" : "בשליחה…",
"Email sent" : "הודעת הדואר האלקטרוני נשלחה",
"Location" : "מיקום",
"Profile picture" : "תמונת פרופיל",
"About" : "על אודות",
"Full name" : "שם מלא",
+ "Email" : "דוא״ל",
"Phone number" : "מספר טלפון",
"Website" : "אתר",
+ "Language" : "שפה",
"Locale" : "הגדרות אזוריות",
"Your apps" : "היישומונים שלך",
"Active apps" : "יישומונים פעילים",
@@ -288,9 +191,11 @@ OC.L10N.register(
"App bundles" : "מאגדי יישומונים",
"Featured apps" : "יישומונים מובילים",
"Hide" : "הסתרה",
+ "Update to {version}" : "עדכון ל־{version}",
"Download and enable" : "להוריד ולהפעיל",
"Disable" : "ניטרול",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "היישומון הזה לא מסומן כנתמך בגרסת ה־Nextcloud. עדיין יתאפשר לך להמשיך ולהתקין את היישומון. נא לשים לב שיכול להיות שהיישומון לא יעבוד כצפוי.",
+ "{size} used" : "{size} בשימוש",
"Unknown" : "לא ידוע",
"Never" : "מעולם לא",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "היישומון הופעל אך יש לעדכן אותו. ההפניה לעמוד העדכון תחל בעוד 5 שניות.",
@@ -301,6 +206,8 @@ OC.L10N.register(
"Error while updating device token scope" : "שגיאה בעדכון טווח אסימון מכשירים",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "היו יותר מדי בקשות מהרשת שלך. נסה שוב מאוחר יותר, או צור קשר עם מנהל המערכת שלך אם זו שגיאה.",
"Error" : "שגיאה",
+ "Default quota" : "מיכסת בררת מחדל",
+ "Documentation" : "תיעוד",
"Forum" : "פורום",
"Legal notice" : "הצהרה משפטית",
"Privacy policy" : "מדיניות פרטיות",
@@ -318,6 +225,7 @@ OC.L10N.register(
"Credentials" : "פרטי גישה",
"SMTP Password" : "סיסמת SMTP",
"Save" : "שמור",
+ "Send email" : "שליחת דואר אלקטרוני",
"Security & setup warnings" : "הזהרות אבטחה והתקנה",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "למטרות אבטחה וביצועים מיטביים עבור המערכת שלך חשוב שהכול יוגדר כראוי. כדי לסייע לך בכך אנו עורכים בדיקות אוטומטיות. נא לעיין בתיעוד המקושר לקבלת מידע נוסף.",
"All checks passed." : "כל הבדיקות עברו",
diff --git a/apps/settings/l10n/he.json b/apps/settings/l10n/he.json
index 596aee779ac..c3aba4f0e73 100644
--- a/apps/settings/l10n/he.json
+++ b/apps/settings/l10n/he.json
@@ -150,48 +150,6 @@
"Group name" : "שם קבוצה",
"Loading groups…" : "הקבוצות נטענות…",
"Loading" : "בטעינה",
- "Daemon" : "סוכן",
- "Type" : "סוג",
- "Display Name" : "שם תצוגה",
- "Learn more" : "לקריאה נוספת",
- "Confirm" : "אימות",
- "Cancel" : "ביטול",
- "Description" : "תיאור",
- "View in store" : "הצגה באחסון",
- "Visit website" : "ביקור באתר האינטרנט",
- "Admin documentation" : "תיעוד מנהל",
- "Developer documentation" : "תיעוד מפתח",
- "Details" : "פרטים",
- "All" : "הכל",
- "Limit app usage to groups" : "הגבלת השימוש ביישומון לקבוצות",
- "No results" : "אין תוצאות",
- "Update to {version}" : "עדכון ל־{version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "ליישומון זה לא מוקצית גרסת Nextcloud מזערית. מצב כזה עשוי להוביל לשגיאה בעתיד.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "ליישומון זה לא מוקצית גרסת Nextcloud מרבית. מצב כזה עשוי להוביל לשגיאה בעתיד.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "לא ניתן להתקין את יישום זה כיוון שייחסי התלות הבאים לא התקיימו:",
- "Categories" : "קטגוריות",
- "Resources" : "משאבים",
- "Documentation" : "תיעוד",
- "Report a bug" : "דיווח על באג",
- "Request feature" : "בקשת תכונה",
- "Ask questions or discuss" : "פרסום שאלות או דיון",
- "Rate" : "דירוג",
- "Changelog" : "יומן שינויים",
- "Google Chrome for Android" : "Google Chrome עבור Android",
- "This session" : "הפעלה זו",
- "Marked for remote wipe" : "מסומן להשמדת נתונים מרחוק",
- "Device settings" : "הגדרות מכשיר",
- "Allow filesystem access" : "לאפשר גישה למערכת הקבצים",
- "Rename" : "שינוי שם",
- "Revoke" : "שלילה",
- "Wipe device" : "השמדת נתוני מכשיר",
- "Device" : "התקן",
- "Last activity" : "פעילות אחרונה",
- "Devices & sessions" : "התקנים והפעלות",
- "Web, desktop and mobile clients currently logged in to your account." : "לקוחות שמחוברים כעת לחשבון שלך דרך דפדפן, שולחן עבודה והתקנים ניידים.",
- "Error while creating device token" : "שגיאה בזמן יצירת מחרוזת התקן",
- "App name" : "שם יישום",
- "Create new app password" : "יצירת סיסמת יישום חדשה",
"Could not copy app password. Please copy it manually." : "לא ניתן להעתיק את הססמה של היישומון. נא להעתיק אותה ידנית.",
"Login" : "התחברות",
"Password" : "ססמה",
@@ -210,74 +168,19 @@
"Be aware that encryption always increases the file size." : "תשומת לב לכך שהצפנה בהכרח מגדילה את גודל הקובץ.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "תמיד טוב ליצור גיבוי קבוע למידע , במקרה של הצפנה יש לוודא שגם מפתחות ההצפנה מגובים עם המידע שלך.",
"This is the final warning: Do you really want to enable encryption?" : "זו הזהרה אחרונה: האם באמת ברצונך להפעיל הצפנה?",
+ "Cancel" : "ביטול",
+ "Confirm" : "אימות",
"Submit" : "שליחה",
- "Current password" : "סיסמא נוכחית",
- "New password" : "סיסמא חדשה",
- "Change password" : "שינוי סיסמא",
- "Picture provided by original account" : "תמונה סופקה על ידי חשבון מקור",
- "You are a member of the following groups:" : "הקבוצות הבאות כוללות אותך:",
- "No email address set" : "לא נקבעה כתובת דואר אלקטרוני",
- "Languages" : "שפות",
- "Help translate" : "עזרה בתרגום",
- "No language set" : "לא הוגדרה שפה",
- "Your phone number" : "מספר הטלפון שלך",
- "Add" : "הוספה",
- "Create" : "יצירה",
- "Change" : "שינוי",
- "Delete" : "מחיקה",
- "Reshare" : "שיתוף מחדש",
- "Default language" : "שפת בררת מחדל",
- "Common languages" : "שפות נפוצות",
- "Password change is disabled because the master key is disabled" : "החלפת ססמה מושבתת כיוון שהמפתח הראשי מושבת",
- "New account" : "חשבון חדש",
- "Display name" : "שם תצוגה",
- "Email" : "דוא״ל",
- "Quota" : "מכיסה",
- "Language" : "שפה",
- "Avatar" : "תמונה מייצגת",
- "Group admin for" : "הנהלת הקבוצה",
- "Storage location" : "מיקום אחסון",
- "Last login" : "כניסה אחרונה",
- "Account actions" : "פעולות חשבון",
- "{size} used" : "{size} בשימוש",
- "Delete account" : "מחיקת חשבון",
- "Resend welcome email" : "שליחת הודעת קבלת פנים בדוא״ל מחדש",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "במקרה של אובדן מכשיר או עזיבה של הארגון, מנגנון זה יכול להשמיד את נתוני ה־Nextcloud מכל המכשירים שמשויכים אל {userid}. יעבוד רק אם כל המכשירים מחוברים לאינטרנט.",
- "Remote wipe of devices" : "השמדת נתונים מרוחקת במכשירים",
- "Wipe {userid}'s devices" : "השמדת נתוני המכשירים של {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "למחוק לחלוטין את החשבון של {userid} לרבות כל הקבצים האישיים, נתוני היישומונים וכו׳.",
- "Account deletion" : "מחיקת חשבון",
- "Delete {userid}'s account" : "מחיקת החשבון של {userid}",
- "Welcome mail sent!" : "נשלחה הודעת קבלת פנים בדוא״ל!",
- "Done" : "הסתיים",
- "Edit" : "עריכה",
- "Show storage path" : "הצגת נתיב אחסון",
- "Show last login" : "הצגת כניסה אחרונה",
- "Sorting" : "מיון",
- "Send email" : "שליחת דואר אלקטרוני",
- "Default quota" : "מיכסת בררת מחדל",
- "Select default quota" : "בחירת מכסת בררת מחדל",
- "Server error while trying to complete WebAuthn device registration" : "התקבלה שגיאת שרת בעת הניסיון להשלים את הרשמת התקן ה־WebAuthn",
- "Passwordless authentication requires a secure connection." : "אימות ללא ססמה דורש חיבור מוצפן.",
- "Add WebAuthn device" : "הוספת התקן WebAuthn",
- "Please authorize your WebAuthn device." : "נא לייפות את כוחו של התקן ה־WebAuthn שלך.",
- "Adding your device …" : "הוספת ההתקן שלך…",
- "Unnamed device" : "התקן ללא שם",
- "Passwordless Authentication" : "אימות ללא ססמה",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "הגדרת החשבון שלך לאימות ללא ססמה לפי תקן FIDO2.",
- "No devices configured." : "לא הוגדרו התקנים.",
- "The following devices are configured for your account:" : "ההתקנים הבאים הוגדרו לחשבון שלך:",
- "Your browser does not support WebAuthn." : "הדפדפן שלך אינו תומך ב־WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "כמנהל יש לך אפשרות לכוונן את התנהגות השיתוף. נא לעיין בתיעוד לפרטים נוספים.",
- "Admins" : "מנהלים",
"Sending…" : "בשליחה…",
"Email sent" : "הודעת הדואר האלקטרוני נשלחה",
"Location" : "מיקום",
"Profile picture" : "תמונת פרופיל",
"About" : "על אודות",
"Full name" : "שם מלא",
+ "Email" : "דוא״ל",
"Phone number" : "מספר טלפון",
"Website" : "אתר",
+ "Language" : "שפה",
"Locale" : "הגדרות אזוריות",
"Your apps" : "היישומונים שלך",
"Active apps" : "יישומונים פעילים",
@@ -286,9 +189,11 @@
"App bundles" : "מאגדי יישומונים",
"Featured apps" : "יישומונים מובילים",
"Hide" : "הסתרה",
+ "Update to {version}" : "עדכון ל־{version}",
"Download and enable" : "להוריד ולהפעיל",
"Disable" : "ניטרול",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "היישומון הזה לא מסומן כנתמך בגרסת ה־Nextcloud. עדיין יתאפשר לך להמשיך ולהתקין את היישומון. נא לשים לב שיכול להיות שהיישומון לא יעבוד כצפוי.",
+ "{size} used" : "{size} בשימוש",
"Unknown" : "לא ידוע",
"Never" : "מעולם לא",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "היישומון הופעל אך יש לעדכן אותו. ההפניה לעמוד העדכון תחל בעוד 5 שניות.",
@@ -299,6 +204,8 @@
"Error while updating device token scope" : "שגיאה בעדכון טווח אסימון מכשירים",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "היו יותר מדי בקשות מהרשת שלך. נסה שוב מאוחר יותר, או צור קשר עם מנהל המערכת שלך אם זו שגיאה.",
"Error" : "שגיאה",
+ "Default quota" : "מיכסת בררת מחדל",
+ "Documentation" : "תיעוד",
"Forum" : "פורום",
"Legal notice" : "הצהרה משפטית",
"Privacy policy" : "מדיניות פרטיות",
@@ -316,6 +223,7 @@
"Credentials" : "פרטי גישה",
"SMTP Password" : "סיסמת SMTP",
"Save" : "שמור",
+ "Send email" : "שליחת דואר אלקטרוני",
"Security & setup warnings" : "הזהרות אבטחה והתקנה",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "למטרות אבטחה וביצועים מיטביים עבור המערכת שלך חשוב שהכול יוגדר כראוי. כדי לסייע לך בכך אנו עורכים בדיקות אוטומטיות. נא לעיין בתיעוד המקושר לקבלת מידע נוסף.",
"All checks passed." : "כל הבדיקות עברו",
diff --git a/apps/settings/l10n/hr.js b/apps/settings/l10n/hr.js
index de5cf954a77..c9a907c8cdb 100644
--- a/apps/settings/l10n/hr.js
+++ b/apps/settings/l10n/hr.js
@@ -163,53 +163,6 @@ OC.L10N.register(
"Group name" : "Naziv grupe",
"Loading groups…" : "Učitavanje grupa…",
"Loading" : "Učitavanje",
- "Daemon" : "Daemon",
- "Type" : "Vrsta",
- "Display Name" : "Ime",
- "Learn more" : "Saznajte više",
- "Confirm" : "Potvrdi",
- "Cancel" : "Odustani",
- "Description" : "Opis",
- "View in store" : "Pogledajte u trgovini",
- "Visit website" : "Posjeti web-mjesto",
- "Admin documentation" : "Dokumentacija za administratore",
- "Developer documentation" : "Dokumentacija za razvojne programere",
- "Details" : "Pojedinosti",
- "All" : "Sve",
- "Limit app usage to groups" : "Ograničite primjenu aplikacije na grupe",
- "No results" : "Nema rezultata",
- "Update to {version}" : "Ažuriraj na {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Ovoj aplikaciji nije dodijeljena najmanja inačica Nextclouda. To će biti pogreška u budućnosti.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ovoj aplikaciji nije dodijeljena najveća inačica Nextclouda. To će biti pogreška u budućnosti.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Aplikaciju nije moguće instalirati jer nisu ispunjene sljedeće ovisnosti:",
- "Author" : "Autor",
- "Categories" : "Kategorije",
- "Resources" : "Resursi",
- "Documentation" : "Dokumentacija",
- "Report a bug" : "Prijavi pogrešku",
- "Request feature" : "Zatražite značajku",
- "Ask questions or discuss" : "Postavljajte pitanja ili raspravljajte",
- "Rate" : "Ocijeni",
- "Changelog" : "Zapis promjena",
- "Google Chrome for Android" : "Google Chrome za Android",
- "{productName} iOS app" : "{productName} aplikacija za iOS",
- "{productName} Android app" : "{productName} aplikacija za Android",
- "{productName} Talk for iOS" : "{productName} Talk za iOS",
- "{productName} Talk for Android" : "{productName} Talk za Android",
- "This session" : "Ova sesija",
- "Marked for remote wipe" : "Označeno za udaljeno brisanje",
- "Device settings" : "Postavke uređaja",
- "Allow filesystem access" : "Omogući pristup datotečnom sustavu",
- "Rename" : "Preimenuj",
- "Revoke" : "Opozovi",
- "Wipe device" : "Izbriši sve s uređaja",
- "Device" : "Uređaj",
- "Last activity" : "Posljednja aktivnost",
- "Devices & sessions" : "Uređaji i sesije",
- "Web, desktop and mobile clients currently logged in to your account." : "Web, računalni i mobilni klijenti trenutno prijavljeni u vaš račun.",
- "Error while creating device token" : "Pogreška pri stvaranju tokena za uređaj",
- "App name" : "Naziv aplikacije",
- "Create new app password" : "Stvori novu zaporku za aplikaciju",
"Could not copy app password. Please copy it manually." : "Kopiranje zaporke aplikacije nije uspjelo. Kopirajte je ručno.",
"Login" : "Prijava",
"Password" : "Zaporka",
@@ -227,89 +180,9 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Imajte na umu da šifriranje uvijek povećava veličinu datoteke.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Uvijek je dobra ideja redovito izrađivati sigurnosne kopije podataka; ako upotrebljavate šifriranje, obavezno sigurnosno kopirajte ključeve za šifriranje zajedno sa svojim podacima.",
"This is the final warning: Do you really want to enable encryption?" : "Ovo je posljednje upozorenje: želite li zaista omogućiti šifriranje?",
+ "Cancel" : "Odustani",
+ "Confirm" : "Potvrdi",
"Submit" : "Šalji",
- "Current password" : "Trenutna zaporka",
- "New password" : "Nova zaporka",
- "Change password" : "Promijeni zaporku",
- "Picture provided by original account" : "Slika s izvornog računa",
- "You are a member of the following groups:" : "Član ste sljedećih grupa:",
- "Your full name" : "Vaše ime i prezime",
- "Email options" : "Mogućnosti e-pošte",
- "Remove primary email" : "Ukloni primarnu adresu e-pošte",
- "Delete email" : "Izbriši adresu e-pošte",
- "This address is not confirmed" : "Ova adresa nije potvrđena",
- "Unset as primary email" : "Poništi primarnu adresu e-pošte",
- "Set as primary email" : "Postavi kao primarnu adresu e-pošte",
- "Additional email address {index}" : "Dodatne adrese e-pošte {index}",
- "Unable to delete primary email address" : "Nije moguće izbrisati primarnu adresu e-pošte",
- "Unable to update primary email address" : "Nije moguće ažurirati primarnu adresu e-pošte",
- "Unable to add additional email address" : "Nije moguće dodati dodatnu adresu e-pošte",
- "Unable to update additional email address" : "Nije moguće ažurirati dodatnu adresu e-pošte",
- "Unable to delete additional email address" : "Nije moguće izbrisati dodatnu adresu e-pošte",
- "Primary email for password reset and notifications" : "Primarna e-pošta za resetiranje zaporke i primanje obavijesti",
- "No email address set" : "Nije postavljena adresa e-pošte",
- "Your headline" : "Vaš naslov",
- "Unable to update language" : "Nije moguće ažurirati jezik",
- "Help translate" : "Pomozite prevesti",
- "No language set" : "Nije postavljen jezik",
- "Your organisation" : "Vaša organizacija",
- "Your phone number" : "Vaš broj telefona",
- "Edit your Profile visibility" : "Uredite vidljivost profila",
- "Unable to update profile enabled state" : "Nije moguće ažurirati stanje omogućenog profila",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Na profilu se primjenjuje stroža postavka vidljivosti ili opsega. Na primjer, ako je vidljivost postavljena na „Prikaži svima”, a opseg je postavljen na „Privatno”, primjenjuje se „Privatno”.",
- "Unable to update visibility of {displayId}" : "Nije moguće ažurirati vidljivost za {displayId}",
- "Your role" : "Vaša uloga",
- "Add" : "Dodaj",
- "Create" : "Stvori",
- "Change" : "Promijeni",
- "Delete" : "Izbriši",
- "Reshare" : "Dijeli ponovno",
- "Default language" : "Zadani jezik",
- "Common languages" : "Česti jezici",
- "Other languages" : "Drugi jezici",
- "Password change is disabled because the master key is disabled" : "Onemogućeno je mijenjanje zaporke jer je onemogućen glavni ključ",
- "New account" : "Novi račun",
- "Display name" : "Ime za prikaz",
- "Email" : "E-pošta",
- "Quota" : "Kvota",
- "Language" : "Jezik",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrator grupe za",
- "Storage location" : "Mjesto pohrane",
- "Last login" : "Posljednja prijava",
- "Account actions" : "Radnje računa",
- "{size} used" : "Iskorišteno {size}",
- "Delete account" : "Izbriši račun",
- "Resend welcome email" : "Ponovno pošalji poruku dobrodošlice",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "U slučaju gubitka uređaja ili napuštanja organizacije, može daljinski izbrisati Nextcloudove podatke sa svih uređaja kojima se koristi {userid}. Brisanje je moguće samo ako su uređaji povezani na internet.",
- "Remote wipe of devices" : "Daljinsko brisanje podataka s uređaja",
- "Wipe {userid}'s devices" : "Izbriši podatke sa svih uređaja koji pripadaju {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "U potpunosti izbriši račun koji pripada {userid}, uključujući sve osobne datoteke, aplikacije itd.",
- "Account deletion" : "Brisanje računa",
- "Delete {userid}'s account" : "Izbriši račun koji pripada {userid}",
- "Welcome mail sent!" : "Poslana poruka dobrodošlice!",
- "Done" : "Gotovo",
- "Edit" : "Uredi",
- "Show storage path" : "Prikaži put pohrane",
- "Show last login" : "Prikaži posljednju prijavu",
- "Sorting" : "Razvrstavanje",
- "Send email" : "Pošalji poruku e-pošte",
- "Default quota" : "Zadana kvota",
- "Select default quota" : "Odaberi zadanu kvotu",
- "Server error while trying to complete WebAuthn device registration" : "Pogreška poslužitelja tijekom dovršavanja registracije WebAuthn uređaja",
- "Passwordless authentication requires a secure connection." : "Autentifikacija bez zaporke zahtijeva sigurnu vezu.",
- "Add WebAuthn device" : "Dodaj WebAuthn uređaj",
- "Please authorize your WebAuthn device." : "Autorizirajte svoj WebAuthn uređaj.",
- "Adding your device …" : "Dodavanje uređaja...",
- "Unnamed device" : "Neimenovani uređaj",
- "Passwordless Authentication" : "Autentifikacija bez zaporke",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Omogućite korištenje autentifikacije bez zaporke na svom računu u skladu sa standardom FIDO2.",
- "No devices configured." : "Nema konfiguriranih uređaja.",
- "The following devices are configured for your account:" : "Sljedeći su uređaji konfigurirani za vaš račun:",
- "Your browser does not support WebAuthn." : "Vaš preglednik ne podržava WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Administrator možete detaljnije podešavati dijeljenja. Pogledajte odgovarajuću dokumentaciju za više informacija.",
- "You need to enable the File sharing App." : "Morate omogućiti aplikaciju za dijeljenje datoteka.",
- "Admins" : "Administratori",
"Sending…" : "Slanje…",
"Email sent" : "E-pošta je poslana",
"Location" : "Lokacija",
@@ -317,12 +190,14 @@ OC.L10N.register(
"About" : "Informacije",
"Full name" : "Puno ime",
"Additional email" : "Dodatna adresa e-pošte",
+ "Email" : "E-pošta",
"Headline" : "Naslov",
"Organisation" : "Organizacija",
"Phone number" : "Broj telefona",
"Role" : "Uloga",
"Website" : "Web-mjesto",
"Profile visibility" : "Vidljivost profila",
+ "Language" : "Jezik",
"Locale" : "Lokacija",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nije dostupno jer je ovo svojstvo potrebno za osnovnu funkcionalnost, uključujući dijeljenje datoteka i pozivnice za kalendar",
"Your apps" : "Vaše aplikacije",
@@ -333,10 +208,12 @@ OC.L10N.register(
"Featured apps" : "Istaknute aplikacije",
"Show to everyone" : "Prikaži svima",
"Hide" : "Sakrij",
+ "Update to {version}" : "Ažuriraj na {version}",
"Download and enable" : "Preuzmi i omogući",
"Disable" : "Onemogući",
"The app will be downloaded from the App Store" : "Aplikacija će se preuzeti iz trgovine aplikacijama",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ova aplikacija nije označena kao kompatibilna s vašom inačicom Nextclouda. Ako odlučite nastaviti, moći ćete instalirati aplikaciju. Imajte na umu da aplikacija možda neće raditi kako očekujete.",
+ "{size} used" : "Iskorišteno {size}",
"Unknown" : "Nepoznata pogreška",
"Never" : "Nikad",
"Error: This app cannot be enabled because it makes the server unstable" : "Pogreška: ova aplikacija ne može biti omogućena jer čini poslužitelj nestabilnim",
@@ -348,6 +225,8 @@ OC.L10N.register(
"Error while updating device token scope" : "Pogreška pri ažuriranju raspona tokena za uređaj",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Zaprimljeno je previše zahtjeva iz vaše mreže. Pokušajte kasnije ili se obratite administratoru ako se radi o pogrešci.",
"Error" : "Pogreška",
+ "Default quota" : "Zadana kvota",
+ "Documentation" : "Dokumentacija",
"Forum" : "Forum",
"Legal notice" : "Pravna obavijest",
"Privacy policy" : "Pravila o privatnosti",
@@ -365,6 +244,7 @@ OC.L10N.register(
"Credentials" : "Vjerodajnice",
"SMTP Password" : "SMTP zaporka",
"Save" : "Spremi",
+ "Send email" : "Pošalji poruku e-pošte",
"Security & setup warnings" : "Upozorenja o sigurnosti i postavljanju",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Pravilna konfiguracija iznimno je važna za sigurnost i performanse vaše instance. Kako bismo vam pomogli pravilno konfigurirati sustav, provest ćemo neke automatske provjere. Za više informacija pogledajte navedenu dokumentaciju.",
"All checks passed." : "Sve su provjere uspješno dovršene.",
@@ -382,7 +262,6 @@ OC.L10N.register(
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Ovo izdanje Nextclouda nije podržano i nisu dostupne trenutne obavijesti.",
"Use a second factor besides your password to increase security for your account." : "Koristite se i drugim faktorom pored zaporke kako biste povećali sigurnost svog računa.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Ako se za povezivanje s Nextcloudom koristite aplikacijama treće strane, stvorite i konfigurirajte lozinku za svaku aplikaciju prije omogućavanja drugog faktora za provođenje autentifikacije.",
- "Set default expiration date for shares" : "Postavi zadani datum isteka dijeljenja",
- "Your biography" : "Vaša biografija"
+ "Set default expiration date for shares" : "Postavi zadani datum isteka dijeljenja"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/settings/l10n/hr.json b/apps/settings/l10n/hr.json
index c4930239dc8..45f42e93f98 100644
--- a/apps/settings/l10n/hr.json
+++ b/apps/settings/l10n/hr.json
@@ -161,53 +161,6 @@
"Group name" : "Naziv grupe",
"Loading groups…" : "Učitavanje grupa…",
"Loading" : "Učitavanje",
- "Daemon" : "Daemon",
- "Type" : "Vrsta",
- "Display Name" : "Ime",
- "Learn more" : "Saznajte više",
- "Confirm" : "Potvrdi",
- "Cancel" : "Odustani",
- "Description" : "Opis",
- "View in store" : "Pogledajte u trgovini",
- "Visit website" : "Posjeti web-mjesto",
- "Admin documentation" : "Dokumentacija za administratore",
- "Developer documentation" : "Dokumentacija za razvojne programere",
- "Details" : "Pojedinosti",
- "All" : "Sve",
- "Limit app usage to groups" : "Ograničite primjenu aplikacije na grupe",
- "No results" : "Nema rezultata",
- "Update to {version}" : "Ažuriraj na {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Ovoj aplikaciji nije dodijeljena najmanja inačica Nextclouda. To će biti pogreška u budućnosti.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ovoj aplikaciji nije dodijeljena najveća inačica Nextclouda. To će biti pogreška u budućnosti.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Aplikaciju nije moguće instalirati jer nisu ispunjene sljedeće ovisnosti:",
- "Author" : "Autor",
- "Categories" : "Kategorije",
- "Resources" : "Resursi",
- "Documentation" : "Dokumentacija",
- "Report a bug" : "Prijavi pogrešku",
- "Request feature" : "Zatražite značajku",
- "Ask questions or discuss" : "Postavljajte pitanja ili raspravljajte",
- "Rate" : "Ocijeni",
- "Changelog" : "Zapis promjena",
- "Google Chrome for Android" : "Google Chrome za Android",
- "{productName} iOS app" : "{productName} aplikacija za iOS",
- "{productName} Android app" : "{productName} aplikacija za Android",
- "{productName} Talk for iOS" : "{productName} Talk za iOS",
- "{productName} Talk for Android" : "{productName} Talk za Android",
- "This session" : "Ova sesija",
- "Marked for remote wipe" : "Označeno za udaljeno brisanje",
- "Device settings" : "Postavke uređaja",
- "Allow filesystem access" : "Omogući pristup datotečnom sustavu",
- "Rename" : "Preimenuj",
- "Revoke" : "Opozovi",
- "Wipe device" : "Izbriši sve s uređaja",
- "Device" : "Uređaj",
- "Last activity" : "Posljednja aktivnost",
- "Devices & sessions" : "Uređaji i sesije",
- "Web, desktop and mobile clients currently logged in to your account." : "Web, računalni i mobilni klijenti trenutno prijavljeni u vaš račun.",
- "Error while creating device token" : "Pogreška pri stvaranju tokena za uređaj",
- "App name" : "Naziv aplikacije",
- "Create new app password" : "Stvori novu zaporku za aplikaciju",
"Could not copy app password. Please copy it manually." : "Kopiranje zaporke aplikacije nije uspjelo. Kopirajte je ručno.",
"Login" : "Prijava",
"Password" : "Zaporka",
@@ -225,89 +178,9 @@
"Be aware that encryption always increases the file size." : "Imajte na umu da šifriranje uvijek povećava veličinu datoteke.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Uvijek je dobra ideja redovito izrađivati sigurnosne kopije podataka; ako upotrebljavate šifriranje, obavezno sigurnosno kopirajte ključeve za šifriranje zajedno sa svojim podacima.",
"This is the final warning: Do you really want to enable encryption?" : "Ovo je posljednje upozorenje: želite li zaista omogućiti šifriranje?",
+ "Cancel" : "Odustani",
+ "Confirm" : "Potvrdi",
"Submit" : "Šalji",
- "Current password" : "Trenutna zaporka",
- "New password" : "Nova zaporka",
- "Change password" : "Promijeni zaporku",
- "Picture provided by original account" : "Slika s izvornog računa",
- "You are a member of the following groups:" : "Član ste sljedećih grupa:",
- "Your full name" : "Vaše ime i prezime",
- "Email options" : "Mogućnosti e-pošte",
- "Remove primary email" : "Ukloni primarnu adresu e-pošte",
- "Delete email" : "Izbriši adresu e-pošte",
- "This address is not confirmed" : "Ova adresa nije potvrđena",
- "Unset as primary email" : "Poništi primarnu adresu e-pošte",
- "Set as primary email" : "Postavi kao primarnu adresu e-pošte",
- "Additional email address {index}" : "Dodatne adrese e-pošte {index}",
- "Unable to delete primary email address" : "Nije moguće izbrisati primarnu adresu e-pošte",
- "Unable to update primary email address" : "Nije moguće ažurirati primarnu adresu e-pošte",
- "Unable to add additional email address" : "Nije moguće dodati dodatnu adresu e-pošte",
- "Unable to update additional email address" : "Nije moguće ažurirati dodatnu adresu e-pošte",
- "Unable to delete additional email address" : "Nije moguće izbrisati dodatnu adresu e-pošte",
- "Primary email for password reset and notifications" : "Primarna e-pošta za resetiranje zaporke i primanje obavijesti",
- "No email address set" : "Nije postavljena adresa e-pošte",
- "Your headline" : "Vaš naslov",
- "Unable to update language" : "Nije moguće ažurirati jezik",
- "Help translate" : "Pomozite prevesti",
- "No language set" : "Nije postavljen jezik",
- "Your organisation" : "Vaša organizacija",
- "Your phone number" : "Vaš broj telefona",
- "Edit your Profile visibility" : "Uredite vidljivost profila",
- "Unable to update profile enabled state" : "Nije moguće ažurirati stanje omogućenog profila",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Na profilu se primjenjuje stroža postavka vidljivosti ili opsega. Na primjer, ako je vidljivost postavljena na „Prikaži svima”, a opseg je postavljen na „Privatno”, primjenjuje se „Privatno”.",
- "Unable to update visibility of {displayId}" : "Nije moguće ažurirati vidljivost za {displayId}",
- "Your role" : "Vaša uloga",
- "Add" : "Dodaj",
- "Create" : "Stvori",
- "Change" : "Promijeni",
- "Delete" : "Izbriši",
- "Reshare" : "Dijeli ponovno",
- "Default language" : "Zadani jezik",
- "Common languages" : "Česti jezici",
- "Other languages" : "Drugi jezici",
- "Password change is disabled because the master key is disabled" : "Onemogućeno je mijenjanje zaporke jer je onemogućen glavni ključ",
- "New account" : "Novi račun",
- "Display name" : "Ime za prikaz",
- "Email" : "E-pošta",
- "Quota" : "Kvota",
- "Language" : "Jezik",
- "Avatar" : "Avatar",
- "Group admin for" : "Administrator grupe za",
- "Storage location" : "Mjesto pohrane",
- "Last login" : "Posljednja prijava",
- "Account actions" : "Radnje računa",
- "{size} used" : "Iskorišteno {size}",
- "Delete account" : "Izbriši račun",
- "Resend welcome email" : "Ponovno pošalji poruku dobrodošlice",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "U slučaju gubitka uređaja ili napuštanja organizacije, može daljinski izbrisati Nextcloudove podatke sa svih uređaja kojima se koristi {userid}. Brisanje je moguće samo ako su uređaji povezani na internet.",
- "Remote wipe of devices" : "Daljinsko brisanje podataka s uređaja",
- "Wipe {userid}'s devices" : "Izbriši podatke sa svih uređaja koji pripadaju {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "U potpunosti izbriši račun koji pripada {userid}, uključujući sve osobne datoteke, aplikacije itd.",
- "Account deletion" : "Brisanje računa",
- "Delete {userid}'s account" : "Izbriši račun koji pripada {userid}",
- "Welcome mail sent!" : "Poslana poruka dobrodošlice!",
- "Done" : "Gotovo",
- "Edit" : "Uredi",
- "Show storage path" : "Prikaži put pohrane",
- "Show last login" : "Prikaži posljednju prijavu",
- "Sorting" : "Razvrstavanje",
- "Send email" : "Pošalji poruku e-pošte",
- "Default quota" : "Zadana kvota",
- "Select default quota" : "Odaberi zadanu kvotu",
- "Server error while trying to complete WebAuthn device registration" : "Pogreška poslužitelja tijekom dovršavanja registracije WebAuthn uređaja",
- "Passwordless authentication requires a secure connection." : "Autentifikacija bez zaporke zahtijeva sigurnu vezu.",
- "Add WebAuthn device" : "Dodaj WebAuthn uređaj",
- "Please authorize your WebAuthn device." : "Autorizirajte svoj WebAuthn uređaj.",
- "Adding your device …" : "Dodavanje uređaja...",
- "Unnamed device" : "Neimenovani uređaj",
- "Passwordless Authentication" : "Autentifikacija bez zaporke",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Omogućite korištenje autentifikacije bez zaporke na svom računu u skladu sa standardom FIDO2.",
- "No devices configured." : "Nema konfiguriranih uređaja.",
- "The following devices are configured for your account:" : "Sljedeći su uređaji konfigurirani za vaš račun:",
- "Your browser does not support WebAuthn." : "Vaš preglednik ne podržava WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Administrator možete detaljnije podešavati dijeljenja. Pogledajte odgovarajuću dokumentaciju za više informacija.",
- "You need to enable the File sharing App." : "Morate omogućiti aplikaciju za dijeljenje datoteka.",
- "Admins" : "Administratori",
"Sending…" : "Slanje…",
"Email sent" : "E-pošta je poslana",
"Location" : "Lokacija",
@@ -315,12 +188,14 @@
"About" : "Informacije",
"Full name" : "Puno ime",
"Additional email" : "Dodatna adresa e-pošte",
+ "Email" : "E-pošta",
"Headline" : "Naslov",
"Organisation" : "Organizacija",
"Phone number" : "Broj telefona",
"Role" : "Uloga",
"Website" : "Web-mjesto",
"Profile visibility" : "Vidljivost profila",
+ "Language" : "Jezik",
"Locale" : "Lokacija",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nije dostupno jer je ovo svojstvo potrebno za osnovnu funkcionalnost, uključujući dijeljenje datoteka i pozivnice za kalendar",
"Your apps" : "Vaše aplikacije",
@@ -331,10 +206,12 @@
"Featured apps" : "Istaknute aplikacije",
"Show to everyone" : "Prikaži svima",
"Hide" : "Sakrij",
+ "Update to {version}" : "Ažuriraj na {version}",
"Download and enable" : "Preuzmi i omogući",
"Disable" : "Onemogući",
"The app will be downloaded from the App Store" : "Aplikacija će se preuzeti iz trgovine aplikacijama",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ova aplikacija nije označena kao kompatibilna s vašom inačicom Nextclouda. Ako odlučite nastaviti, moći ćete instalirati aplikaciju. Imajte na umu da aplikacija možda neće raditi kako očekujete.",
+ "{size} used" : "Iskorišteno {size}",
"Unknown" : "Nepoznata pogreška",
"Never" : "Nikad",
"Error: This app cannot be enabled because it makes the server unstable" : "Pogreška: ova aplikacija ne može biti omogućena jer čini poslužitelj nestabilnim",
@@ -346,6 +223,8 @@
"Error while updating device token scope" : "Pogreška pri ažuriranju raspona tokena za uređaj",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Zaprimljeno je previše zahtjeva iz vaše mreže. Pokušajte kasnije ili se obratite administratoru ako se radi o pogrešci.",
"Error" : "Pogreška",
+ "Default quota" : "Zadana kvota",
+ "Documentation" : "Dokumentacija",
"Forum" : "Forum",
"Legal notice" : "Pravna obavijest",
"Privacy policy" : "Pravila o privatnosti",
@@ -363,6 +242,7 @@
"Credentials" : "Vjerodajnice",
"SMTP Password" : "SMTP zaporka",
"Save" : "Spremi",
+ "Send email" : "Pošalji poruku e-pošte",
"Security & setup warnings" : "Upozorenja o sigurnosti i postavljanju",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Pravilna konfiguracija iznimno je važna za sigurnost i performanse vaše instance. Kako bismo vam pomogli pravilno konfigurirati sustav, provest ćemo neke automatske provjere. Za više informacija pogledajte navedenu dokumentaciju.",
"All checks passed." : "Sve su provjere uspješno dovršene.",
@@ -380,7 +260,6 @@
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Ovo izdanje Nextclouda nije podržano i nisu dostupne trenutne obavijesti.",
"Use a second factor besides your password to increase security for your account." : "Koristite se i drugim faktorom pored zaporke kako biste povećali sigurnost svog računa.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Ako se za povezivanje s Nextcloudom koristite aplikacijama treće strane, stvorite i konfigurirajte lozinku za svaku aplikaciju prije omogućavanja drugog faktora za provođenje autentifikacije.",
- "Set default expiration date for shares" : "Postavi zadani datum isteka dijeljenja",
- "Your biography" : "Vaša biografija"
+ "Set default expiration date for shares" : "Postavi zadani datum isteka dijeljenja"
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/hu.js b/apps/settings/l10n/hu.js
index 83e96800c6b..c21ec39942c 100644
--- a/apps/settings/l10n/hu.js
+++ b/apps/settings/l10n/hu.js
@@ -302,66 +302,6 @@ OC.L10N.register(
"Nothing to show" : "Nincs mit megjeleníteni",
"Loading" : "Betöltés",
"Fetching the latest news…" : "Legfrissebb hírek lekérése…",
- "Previous slide" : "Előző dia",
- "Next slide" : "Következő dia",
- "Choose slide to display" : "Válassza ki a megjelenítendő diát",
- "{index} of {total}" : "{index} / {total}",
- "Daemon" : "Démon",
- "Type" : "Típus",
- "Display Name" : "Megjelenítendő név",
- "Learn more" : "Tudjon meg többet",
- "Confirm" : "Megerősítés",
- "Cancel" : "Mégse",
- "Description" : "Leírás",
- "View in store" : "Megtekintés a tárban",
- "Visit website" : "Weboldal meglátogatása",
- "Usage documentation" : "Felhasználási dokumentáció",
- "Admin documentation" : "Rendszergazdai dokumentáció",
- "Developer documentation" : "Fejlesztői dokumentáció",
- "Details" : "Részletek",
- "All" : "Mind",
- "Limit app usage to groups" : "Alkalmazás használatának csoportokra korlátozása",
- "No results" : "Nincs találat",
- "Update to {version}" : "Frissítés erre: {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Ennek az alkalmazásnak nincs minimum szükséges Nextcloud verziója megadva. Ez hiba lesz a jövőben.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ennek az alkalmazásnak nincs maximum szükséges Nextcloud verziója megadva. Ez hiba lesz a jövőben.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ezt az alkalmazást nem lehet telepíteni, mert a következő függőségek hiányoznak:",
- "Latest updated" : "Utoljára frissítve",
- "Author" : "Szerző",
- "Categories" : "Kategóriák",
- "Resources" : "Erőforrások",
- "Documentation" : "Dokumentáció",
- "Interact" : "Interakció",
- "Report a bug" : "Hiba bejelentése",
- "Request feature" : "Funkció kérése",
- "Ask questions or discuss" : "Kérdések feltevése vagy megvitatás",
- "Rate the app" : "Értékelje az alkalmazást",
- "Rate" : "Értékelés",
- "Changelog" : "Változásnapló",
- "Google Chrome for Android" : "Google Chrome for Android",
- "{productName} iOS app" : "{productName} iOS-es alkalmazás",
- "{productName} Android app" : "{productName} androidos alkalmazás",
- "{productName} Talk for iOS" : "{productName} Beszélgetés iOS-re",
- "{productName} Talk for Android" : "{productName} Beszélgetés Androidra",
- "Sync client" : "Szinkronizálási kliens",
- "This session" : "Ez a munkamenet",
- "Device name" : "Eszköznév",
- "Cancel renaming" : "Átnevezés megszakítása",
- "Save new name" : "Új név mentése",
- "Marked for remote wipe" : "Távoli törlésre jelölve",
- "Device settings" : "Eszközbeállítások",
- "Allow filesystem access" : "Fájlrendszer hozzáférés engedélyezése",
- "Rename" : "Átnevezés",
- "Revoke" : "Visszavonás",
- "Wipe device" : "Eszköz törlése",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "A token visszavonása lehet hogy meggátolja az eszköz törlését, ha az még nem kezdődött el.",
- "Device" : "Eszköz",
- "Last activity" : "Utolsó tevékenység",
- "Devices & sessions" : "Eszközök és munkamenetek",
- "Web, desktop and mobile clients currently logged in to your account." : "A fiókjába jelenleg bejelentkezett webes, asztali és mobilkliensek.",
- "Error while creating device token" : "Hiba az eszköztoken létrehozása során",
- "App name" : "Alkalmazásnév",
- "Create new app password" : "Új alkalmazásjelszó létrehozása",
"App password copied!" : "Alkalmazásjelszó másolva!",
"Copy app password" : "Alkalmazásjelszó másolása",
"Login name copied!" : "Bejelentkezési név másolva!",
@@ -401,169 +341,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mindig jó ötlet rendszeres biztonsági mentést készíteni az adatokról. Titkosítás esetén győződjön meg arról, hogy a titkosítási kulcsokról is készít biztonsági mentést.",
"This is the final warning: Do you really want to enable encryption?" : "Ez az utolsó figyelmeztetés: Biztos, hogy engedélyezi a titkosítást?",
"Please confirm the group removal" : "Erősítse meg a csoport eltávolítását",
+ "Cancel" : "Mégse",
+ "Confirm" : "Megerősítés",
"Submit" : "Beküldés",
"Rename group" : "Csoport átnevezése",
- "Current password" : "Jelenlegi jelszó",
- "New password" : "Új jelszó",
- "Change password" : "Jelszó megváltoztatása",
- "Choose your profile picture" : "Válassza ki a profilképét",
- "Please select a valid png or jpg file" : "Válasszon egy érvényes PNG- vagy JPG-fájlt",
- "Error setting profile picture" : "Hiba a profilkép beállítása során",
- "Error cropping profile picture" : "Hiba a profilkép levágása során",
- "Error saving profile picture" : "Hiba a profilkép mentése során",
- "Error removing profile picture" : "Hiba a profilkép eltávolítása során",
- "Your profile picture" : "Az Ön profilképe",
- "Upload profile picture" : "Profilkép feltöltése",
- "Choose profile picture from Files" : "Válasszon profilképet a Fájlokból",
- "Remove profile picture" : "Profilkép eltávolítása",
- "The file must be a PNG or JPG" : "A fájlnak PNG-nek vagy JPG-nek kell lennie",
- "Picture provided by original account" : "Az eredeti fiók által biztosított kép.",
- "Set as profile picture" : "Beállítás profilképként",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Vegye figyelembe, hogy akár 24 óráig is eltarthat, amíg a profilkép mindenhol frissül.",
- "You are a member of the following groups:" : "Ön a következő csoportok tagja:",
- "Your full name" : "Az Ön teljes neve",
- "Email options" : "E-mail beállítások",
- "Remove primary email" : "Elsődleges e-mail-cím eltávolítása",
- "Delete email" : "E-mail-cím törlése",
- "This address is not confirmed" : "Ez a cím nincs megerősítve",
- "Unset as primary email" : "Elsődleges e-mail-cím eltávolítása",
- "Set as primary email" : "Beállítás elsődleges e-mail-címként",
- "Additional email address {index}" : "{index}. további e-mail-cím",
- "Unable to delete primary email address" : "Az elsődleges e-mail-cím nem törölhető",
- "Unable to update primary email address" : "Az elsődleges e-mail-cím nem frissíthető",
- "Unable to add additional email address" : "További e-mail-cím nem adható hozzá",
- "Unable to update additional email address" : "A további e-mail-cím nem frissíthető",
- "Unable to delete additional email address" : "A további e-mail-cím nem törölhető",
- "Primary email for password reset and notifications" : "Elsődleges e-mail-cím a jelszó-visszaállításhoz és az értesítésekhez",
- "No email address set" : "Nincs e-mail-cím beállítva",
- "Your handle" : "Az Ön fiókneve",
- "Your headline" : "Az Ön címsora",
- "Unable to update language" : "A nyelv nem frissíthető",
- "Languages" : "Nyelvek",
- "Help translate" : "Segítsen a fordításban",
- "No language set" : "Nyelv nincs beállítva",
- "Unable to update locale" : "A területi beállítás nem frissíthető",
- "Locales" : "Területi beállítások",
- "Week starts on {firstDayOfWeek}" : "A hét kezdete: {firstDayOfWeek}",
- "No locale set" : "Nincs területi beállítás megadva",
- "Your city" : "Saját város",
- "Your organisation" : "Az Ön szervezete",
- "Your phone number" : "Telefonszáma",
- "Edit your Profile visibility" : "Profil láthatósága",
- "Unable to update profile enabled state" : "A profil engedélyezési állapota nem frissíthető",
- "Enable profile" : "Profil engedélyezése",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "A profiljában a láthatóság vagy hatókör közül a szigorúbb beállítás lesz figyelembe véve. Például ha a láthatóság „Mindenki számára látható” és a hatókör „Privát”, akkor a „Privát” lesz figyelembe véve.",
- "Unable to update visibility of {displayId}" : "A(z) {displayId} láthatósága nem frissíthető",
- "Your role" : "Az Ön szerepköre",
- "Your website" : "A saját weboldala",
- "Invalid value" : "Érvénytelen érték",
- "Unable to update {property}" : "A(z) {property} nem frissíthető",
- "No {property} set" : "Nincs {property} beállítva",
- "Change scope level of {property}, current scope is {scope}" : "A(z) {property} hatókörszintjének módosítása, a jelenlegi hatókör: {scope}",
- "Unable to update federation scope of the primary {property}" : "Az elsődleges {property} föderációs hatóköre nem frissíthető",
- "Unable to update federation scope of additional {property}" : "A további {property} föderációs hatóköre nem frissíthető",
- "Add additional email" : "További e-mail hozzáadása",
- "Add" : "Hozzáadás",
- "Create" : "Létrehozás",
- "Change" : "Módosítás",
- "Delete" : "Törlés",
- "Reshare" : "Továbbosztás",
- "Default language" : "Alapértelmezett nyelv",
- "Common languages" : "Alapvető nyelvek",
- "Other languages" : "Más nyelvek",
- "Password change is disabled because the master key is disabled" : "A jelszó megváltoztatása tiltott, mert a mesterkulcs tiltott",
- "No accounts" : "Nincsenek fiókok",
- "Loading accounts …" : "Fiókok betöltése…",
- "Manager" : "Kezelő",
- "Account name will be autogenerated" : "A felhasználónév automatikusan keletkezik",
- "Account name (required)" : "Felhasználónév (kötelező)",
- "New account" : "Új fiók",
- "Display name" : "Megjelenítendő név",
- "Either password or email is required" : "Jelszó vagy e-mail szükséges",
- "Password (required)" : "Jelszó (kötelező)",
- "Email (required)" : "E-mail (kötelező)",
- "Email" : "E-mail",
- "Member of the following groups" : "Tagja a következő csoportoknak",
- "Set account groups" : "Fiók csoportjainak megadása",
- "Admin of the following groups" : "Adminisztrátora a következő csoportoknak",
- "Quota" : "Kvóta",
- "Set account quota" : "Felhasználói kvóta megadása",
- "Language" : "Nyelv",
- "Set default language" : "Alapértelmezett nyelv beállítása",
- "Add new account" : "Új fiók hozzáadása",
- "Total rows summary" : "Összes sor összegzése",
- "Scroll to load more rows" : "Görgessen a további sorok megjelenítéséhez",
- "Password or insufficient permissions message" : "Jelszó vagy elégtelen jogosultságok üzenet",
- "Avatar" : "Profilkép",
- "Account name" : "Fiók neve",
- "Group admin for" : "Csoport rendszergazda itt:",
- "Account backend" : "Fiók háttérrendszere",
- "Storage location" : "Háttértár helye",
- "Last login" : "Utolsó bejelentkezés",
- "Account actions" : "Fiókműveletek",
- "{size} used" : "{size} felhasználva",
- "Delete account" : "Fiók törlése",
- "Disconnect all devices and delete local data" : "Összes eszköz lecsatlakoztatása és a helyi adatok törlése",
- "Disable account" : "Fiók letiltása",
- "Enable account" : "Fiók engedélyezése",
- "Resend welcome email" : "Üdvözlő üzenet ismételt elküldése",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Az eszköz elvesztése vagy a szervezetből való kilépés esetén ez távolról képes eltávolítani {userid} minden nextcloudos adatát a hozzá köthető eszközökről: {userid}. Csak akkor működik, ha az eszközök kapcsolódnak az internethez.",
- "Remote wipe of devices" : "Eszközök távoli törlése",
- "Wipe {userid}'s devices" : "{userid} eszközeinek törlése",
- "Wiped {userid}'s devices" : "{userid} eszközei letörölve",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "{userid} fiókjának teljes törlése, beleértve a személyes fájljait, alkalmazásadatait, stb.",
- "Account deletion" : "Fiók törlése",
- "Delete {userid}'s account" : "{userid} fiókjának törlése",
- "Display name was successfully changed" : "A megjelenítendő név sikeresen megváltoztatva",
- "Password was successfully changed" : "A jelszó sikeresen megváltoztatva",
- "Email was successfully changed" : "Az e-mail-cím sikeresen megváltoztatva",
- "Welcome mail sent!" : "Üdvözlő üzenet elküldve!",
- "Loading account …" : "Felhasználó betöltése...",
- "Change display name" : "Megjelenítendő név megváltoztatása",
- "Set new password" : "Jelszó beállítása",
- "You do not have permissions to see the details of this account" : "Nincs jogosultsága megnézni a felhasználó részletes adatait",
- "Set new email address" : "Új e-mail-cím beállítása",
- "Add account to group" : "Felhasználó hozzáadása egy csoporthoz",
- "Select account quota" : "Fiókkvóta kiválasztása",
- "Set the language" : "Nyelv beállítása",
- "Done" : "Kész",
- "Edit" : "Szerkesztés",
- "Visibility" : "Láthatóság",
- "Show language" : "Nyelv megjelenítése",
- "Show account backend" : "Fiók háttérrendszerének megjelenítése",
- "Show storage path" : "Tároló útvonal megjelenítése",
- "Show last login" : "Utolsó bejelentkezés megjelenítése",
- "Sorting" : "Rendezés",
- "Group list sorting" : "Csoportlista sorrendje",
- "By member count" : "Tagok száma alapján",
- "By name" : "Név alapján",
- "Send email" : "E-mail küldése",
- "Send welcome email to new accounts" : "Üdvözlő e-mail küldése az új fiókoknak",
- "Defaults" : "Alapértelmezések",
- "Default quota" : "Alapértelmezett kvóta",
- "Select default quota" : "Válasszon alapértelmezett kvótát",
- "Server error while trying to complete WebAuthn device registration" : "Kiszolgálóhiba a WebAuthn eszköz regisztrációjának befejezése során",
- "Passwordless authentication requires a secure connection." : "A jelszó nélküli hitelesítés biztonságos kapcsolatot igényel.",
- "Add WebAuthn device" : "WebAuth eszköz hozzáadása",
- "Please authorize your WebAuthn device." : "Hitelesítse a WebAuthn eszközét.",
- "Adding your device …" : "Az eszköze hozzáadása…",
- "Unnamed device" : "Névtelen eszköz",
- "Passwordless Authentication" : "Jelszó nélküli hitelesítés",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Állítsa be a fiókját a a FIDO2 szabvány követő jelszó nélküli hitelesítéssel.",
- "No devices configured." : "Nincs eszköz beállítva.",
- "The following devices are configured for your account:" : "A következő eszközök vannak a fiókjához kapcsolva:",
- "Your browser does not support WebAuthn." : "A böngészője nem támogatja a WebAuthn szabványt.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Rendszergazdaként finomhangolhatja a megosztás viselkedését. A részletekért lásd a dokumentációt.",
- "You need to enable the File sharing App." : "Engedélyeznie kell a Fájlmegosztás alkalmazást.",
- "App Store" : "Alkalmazástár",
- "Loading app list" : "Alkalmazáslista betöltése",
- "Loading categories" : "Kategóriák betöltése",
- "Developer documentation ↗" : "Fejlesztői dokumentáció ↗",
- "Version {version}, {license}-licensed" : " {version} verzió,{license} licenc alatt",
- "All accounts" : "Összes fiók",
- "Admins" : "Rendszergazdák",
- "Account group: {group}" : "Fiókcsoport: {group}",
- "Account management" : "Fiókkezelés",
"Sending…" : "Küldés…",
"Email sent" : "E-mail elküldve",
"Location" : "Hely",
@@ -572,6 +353,7 @@ OC.L10N.register(
"Date of birth" : "Születési dátum",
"Full name" : "Teljes név",
"Additional email" : "További e-mail-cím",
+ "Email" : "E-mail",
"Fediverse (e.g. Mastodon)" : "Födiverzum (például Mastodon)",
"Headline" : "Címsor",
"Organisation" : "Szervezet",
@@ -580,6 +362,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (korábban Twitter)",
"Website" : "Weboldal",
"Profile visibility" : "Profil láthatósága",
+ "Language" : "Nyelv",
"Locale" : "Területi beállítás",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nem érhető el, mivel ez a tulajdonság szükséges a fő funkciókhoz, köztük a fájlmegosztáshoz és a naptármeghívásokhoz.",
"Your apps" : "Az Ön alkalmazásai",
@@ -591,11 +374,13 @@ OC.L10N.register(
"Supported apps" : "Támogatott alkalmazások",
"Show to everyone" : "Mindenki számára látható",
"Hide" : "Elrejtés",
+ "Update to {version}" : "Frissítés erre: {version}",
"Download and enable" : "Letöltés és engedélyezés",
"Disable" : "Letiltás",
"Allow untested app" : "Teszteletlen alkalmazás engedélyezése",
"The app will be downloaded from the App Store" : "Az alkalmazás letöltésre kerül az alkalmazástárból",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ez az alkalmazás nincs megjelölve, hogy kompatibilis lenne a jelenlegi Nextcloud verzióval. Ha folytatja, telepítheti az alkalmazást. Azonban az alkalmazás lehet, hogy nem fog rendeltetés szerint működni.",
+ "{size} used" : "{size} felhasználva",
"Unknown" : "Ismeretlen",
"Never" : "Soha",
"An error occurred during the request. Unable to proceed." : "Hiba történt a kérés során. Nem lehet folytatni.",
@@ -608,8 +393,10 @@ OC.L10N.register(
"Error while updating device token scope" : "Hiba az eszköztoken hatókörének frissítése során",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Túl sok kérés érkezett a hálózatától. Próbálja újra később, vagy ha ez egy hiba, akkor forduljon a rendszergazdához.",
"Error" : "Hiba",
+ "Default quota" : "Alapértelmezett kvóta",
"Account documentation" : "Fiók dokumentációja",
"Administration documentation" : "Rengszergazdai dokumentáció",
+ "Documentation" : "Dokumentáció",
"Forum" : "Fórum",
"Nextcloud help & privacy resources" : "Nextcloud súgó és adatvédelmi erőforrások",
"General documentation" : "Általános dokumentáció",
@@ -631,6 +418,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP jelszó",
"Save" : "Mentés",
"Test and verify email settings" : "E-mail beállítások tesztelése és ellenőrzése",
+ "Send email" : "E-mail küldése",
"Security & setup warnings" : "Biztonsági és telepítési figyelmeztetések",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "A példánya biztonságához és megfelelő teljesítményéhez fontos, hogy minden beállítás helyes legyen. Ennek érdekében segítünk pár automatikus ellenőrzéssel. További információkért nézze meg a kapcsolódó dokumentációt.",
"All checks passed." : "Minden ellenőrzés sikeres.",
@@ -650,9 +438,6 @@ OC.L10N.register(
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Ha harmadik féltől származó alkalmazásokat használ a Nextcloudhoz való csatlakozáshoz, akkor a két faktoros hitelesítés engedélyezése előtt győződjön meg róla, hogy mindegyikhez létrehozott és beállított egy alkalmazásjelszót.",
"Logged in account must be a subadmin" : "A belépett felhasználónak al-adminnak kell lennie",
"File locking" : "Fájlzárolás",
- "Set default expiration date for shares" : "A megosztások alapértelmezett lejárati idejének beállítása",
- "Your biography" : "Az Ön életrajza",
- "You are using <strong>{usage}</strong>" : "Ezt használja: <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Jelenleg <strong>{usage}</strong>-ot használ ennyiből: <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "A megosztások alapértelmezett lejárati idejének beállítása"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/hu.json b/apps/settings/l10n/hu.json
index 60b787d6a42..d272be295ce 100644
--- a/apps/settings/l10n/hu.json
+++ b/apps/settings/l10n/hu.json
@@ -300,66 +300,6 @@
"Nothing to show" : "Nincs mit megjeleníteni",
"Loading" : "Betöltés",
"Fetching the latest news…" : "Legfrissebb hírek lekérése…",
- "Previous slide" : "Előző dia",
- "Next slide" : "Következő dia",
- "Choose slide to display" : "Válassza ki a megjelenítendő diát",
- "{index} of {total}" : "{index} / {total}",
- "Daemon" : "Démon",
- "Type" : "Típus",
- "Display Name" : "Megjelenítendő név",
- "Learn more" : "Tudjon meg többet",
- "Confirm" : "Megerősítés",
- "Cancel" : "Mégse",
- "Description" : "Leírás",
- "View in store" : "Megtekintés a tárban",
- "Visit website" : "Weboldal meglátogatása",
- "Usage documentation" : "Felhasználási dokumentáció",
- "Admin documentation" : "Rendszergazdai dokumentáció",
- "Developer documentation" : "Fejlesztői dokumentáció",
- "Details" : "Részletek",
- "All" : "Mind",
- "Limit app usage to groups" : "Alkalmazás használatának csoportokra korlátozása",
- "No results" : "Nincs találat",
- "Update to {version}" : "Frissítés erre: {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Ennek az alkalmazásnak nincs minimum szükséges Nextcloud verziója megadva. Ez hiba lesz a jövőben.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ennek az alkalmazásnak nincs maximum szükséges Nextcloud verziója megadva. Ez hiba lesz a jövőben.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ezt az alkalmazást nem lehet telepíteni, mert a következő függőségek hiányoznak:",
- "Latest updated" : "Utoljára frissítve",
- "Author" : "Szerző",
- "Categories" : "Kategóriák",
- "Resources" : "Erőforrások",
- "Documentation" : "Dokumentáció",
- "Interact" : "Interakció",
- "Report a bug" : "Hiba bejelentése",
- "Request feature" : "Funkció kérése",
- "Ask questions or discuss" : "Kérdések feltevése vagy megvitatás",
- "Rate the app" : "Értékelje az alkalmazást",
- "Rate" : "Értékelés",
- "Changelog" : "Változásnapló",
- "Google Chrome for Android" : "Google Chrome for Android",
- "{productName} iOS app" : "{productName} iOS-es alkalmazás",
- "{productName} Android app" : "{productName} androidos alkalmazás",
- "{productName} Talk for iOS" : "{productName} Beszélgetés iOS-re",
- "{productName} Talk for Android" : "{productName} Beszélgetés Androidra",
- "Sync client" : "Szinkronizálási kliens",
- "This session" : "Ez a munkamenet",
- "Device name" : "Eszköznév",
- "Cancel renaming" : "Átnevezés megszakítása",
- "Save new name" : "Új név mentése",
- "Marked for remote wipe" : "Távoli törlésre jelölve",
- "Device settings" : "Eszközbeállítások",
- "Allow filesystem access" : "Fájlrendszer hozzáférés engedélyezése",
- "Rename" : "Átnevezés",
- "Revoke" : "Visszavonás",
- "Wipe device" : "Eszköz törlése",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "A token visszavonása lehet hogy meggátolja az eszköz törlését, ha az még nem kezdődött el.",
- "Device" : "Eszköz",
- "Last activity" : "Utolsó tevékenység",
- "Devices & sessions" : "Eszközök és munkamenetek",
- "Web, desktop and mobile clients currently logged in to your account." : "A fiókjába jelenleg bejelentkezett webes, asztali és mobilkliensek.",
- "Error while creating device token" : "Hiba az eszköztoken létrehozása során",
- "App name" : "Alkalmazásnév",
- "Create new app password" : "Új alkalmazásjelszó létrehozása",
"App password copied!" : "Alkalmazásjelszó másolva!",
"Copy app password" : "Alkalmazásjelszó másolása",
"Login name copied!" : "Bejelentkezési név másolva!",
@@ -399,169 +339,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mindig jó ötlet rendszeres biztonsági mentést készíteni az adatokról. Titkosítás esetén győződjön meg arról, hogy a titkosítási kulcsokról is készít biztonsági mentést.",
"This is the final warning: Do you really want to enable encryption?" : "Ez az utolsó figyelmeztetés: Biztos, hogy engedélyezi a titkosítást?",
"Please confirm the group removal" : "Erősítse meg a csoport eltávolítását",
+ "Cancel" : "Mégse",
+ "Confirm" : "Megerősítés",
"Submit" : "Beküldés",
"Rename group" : "Csoport átnevezése",
- "Current password" : "Jelenlegi jelszó",
- "New password" : "Új jelszó",
- "Change password" : "Jelszó megváltoztatása",
- "Choose your profile picture" : "Válassza ki a profilképét",
- "Please select a valid png or jpg file" : "Válasszon egy érvényes PNG- vagy JPG-fájlt",
- "Error setting profile picture" : "Hiba a profilkép beállítása során",
- "Error cropping profile picture" : "Hiba a profilkép levágása során",
- "Error saving profile picture" : "Hiba a profilkép mentése során",
- "Error removing profile picture" : "Hiba a profilkép eltávolítása során",
- "Your profile picture" : "Az Ön profilképe",
- "Upload profile picture" : "Profilkép feltöltése",
- "Choose profile picture from Files" : "Válasszon profilképet a Fájlokból",
- "Remove profile picture" : "Profilkép eltávolítása",
- "The file must be a PNG or JPG" : "A fájlnak PNG-nek vagy JPG-nek kell lennie",
- "Picture provided by original account" : "Az eredeti fiók által biztosított kép.",
- "Set as profile picture" : "Beállítás profilképként",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Vegye figyelembe, hogy akár 24 óráig is eltarthat, amíg a profilkép mindenhol frissül.",
- "You are a member of the following groups:" : "Ön a következő csoportok tagja:",
- "Your full name" : "Az Ön teljes neve",
- "Email options" : "E-mail beállítások",
- "Remove primary email" : "Elsődleges e-mail-cím eltávolítása",
- "Delete email" : "E-mail-cím törlése",
- "This address is not confirmed" : "Ez a cím nincs megerősítve",
- "Unset as primary email" : "Elsődleges e-mail-cím eltávolítása",
- "Set as primary email" : "Beállítás elsődleges e-mail-címként",
- "Additional email address {index}" : "{index}. további e-mail-cím",
- "Unable to delete primary email address" : "Az elsődleges e-mail-cím nem törölhető",
- "Unable to update primary email address" : "Az elsődleges e-mail-cím nem frissíthető",
- "Unable to add additional email address" : "További e-mail-cím nem adható hozzá",
- "Unable to update additional email address" : "A további e-mail-cím nem frissíthető",
- "Unable to delete additional email address" : "A további e-mail-cím nem törölhető",
- "Primary email for password reset and notifications" : "Elsődleges e-mail-cím a jelszó-visszaállításhoz és az értesítésekhez",
- "No email address set" : "Nincs e-mail-cím beállítva",
- "Your handle" : "Az Ön fiókneve",
- "Your headline" : "Az Ön címsora",
- "Unable to update language" : "A nyelv nem frissíthető",
- "Languages" : "Nyelvek",
- "Help translate" : "Segítsen a fordításban",
- "No language set" : "Nyelv nincs beállítva",
- "Unable to update locale" : "A területi beállítás nem frissíthető",
- "Locales" : "Területi beállítások",
- "Week starts on {firstDayOfWeek}" : "A hét kezdete: {firstDayOfWeek}",
- "No locale set" : "Nincs területi beállítás megadva",
- "Your city" : "Saját város",
- "Your organisation" : "Az Ön szervezete",
- "Your phone number" : "Telefonszáma",
- "Edit your Profile visibility" : "Profil láthatósága",
- "Unable to update profile enabled state" : "A profil engedélyezési állapota nem frissíthető",
- "Enable profile" : "Profil engedélyezése",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "A profiljában a láthatóság vagy hatókör közül a szigorúbb beállítás lesz figyelembe véve. Például ha a láthatóság „Mindenki számára látható” és a hatókör „Privát”, akkor a „Privát” lesz figyelembe véve.",
- "Unable to update visibility of {displayId}" : "A(z) {displayId} láthatósága nem frissíthető",
- "Your role" : "Az Ön szerepköre",
- "Your website" : "A saját weboldala",
- "Invalid value" : "Érvénytelen érték",
- "Unable to update {property}" : "A(z) {property} nem frissíthető",
- "No {property} set" : "Nincs {property} beállítva",
- "Change scope level of {property}, current scope is {scope}" : "A(z) {property} hatókörszintjének módosítása, a jelenlegi hatókör: {scope}",
- "Unable to update federation scope of the primary {property}" : "Az elsődleges {property} föderációs hatóköre nem frissíthető",
- "Unable to update federation scope of additional {property}" : "A további {property} föderációs hatóköre nem frissíthető",
- "Add additional email" : "További e-mail hozzáadása",
- "Add" : "Hozzáadás",
- "Create" : "Létrehozás",
- "Change" : "Módosítás",
- "Delete" : "Törlés",
- "Reshare" : "Továbbosztás",
- "Default language" : "Alapértelmezett nyelv",
- "Common languages" : "Alapvető nyelvek",
- "Other languages" : "Más nyelvek",
- "Password change is disabled because the master key is disabled" : "A jelszó megváltoztatása tiltott, mert a mesterkulcs tiltott",
- "No accounts" : "Nincsenek fiókok",
- "Loading accounts …" : "Fiókok betöltése…",
- "Manager" : "Kezelő",
- "Account name will be autogenerated" : "A felhasználónév automatikusan keletkezik",
- "Account name (required)" : "Felhasználónév (kötelező)",
- "New account" : "Új fiók",
- "Display name" : "Megjelenítendő név",
- "Either password or email is required" : "Jelszó vagy e-mail szükséges",
- "Password (required)" : "Jelszó (kötelező)",
- "Email (required)" : "E-mail (kötelező)",
- "Email" : "E-mail",
- "Member of the following groups" : "Tagja a következő csoportoknak",
- "Set account groups" : "Fiók csoportjainak megadása",
- "Admin of the following groups" : "Adminisztrátora a következő csoportoknak",
- "Quota" : "Kvóta",
- "Set account quota" : "Felhasználói kvóta megadása",
- "Language" : "Nyelv",
- "Set default language" : "Alapértelmezett nyelv beállítása",
- "Add new account" : "Új fiók hozzáadása",
- "Total rows summary" : "Összes sor összegzése",
- "Scroll to load more rows" : "Görgessen a további sorok megjelenítéséhez",
- "Password or insufficient permissions message" : "Jelszó vagy elégtelen jogosultságok üzenet",
- "Avatar" : "Profilkép",
- "Account name" : "Fiók neve",
- "Group admin for" : "Csoport rendszergazda itt:",
- "Account backend" : "Fiók háttérrendszere",
- "Storage location" : "Háttértár helye",
- "Last login" : "Utolsó bejelentkezés",
- "Account actions" : "Fiókműveletek",
- "{size} used" : "{size} felhasználva",
- "Delete account" : "Fiók törlése",
- "Disconnect all devices and delete local data" : "Összes eszköz lecsatlakoztatása és a helyi adatok törlése",
- "Disable account" : "Fiók letiltása",
- "Enable account" : "Fiók engedélyezése",
- "Resend welcome email" : "Üdvözlő üzenet ismételt elküldése",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Az eszköz elvesztése vagy a szervezetből való kilépés esetén ez távolról képes eltávolítani {userid} minden nextcloudos adatát a hozzá köthető eszközökről: {userid}. Csak akkor működik, ha az eszközök kapcsolódnak az internethez.",
- "Remote wipe of devices" : "Eszközök távoli törlése",
- "Wipe {userid}'s devices" : "{userid} eszközeinek törlése",
- "Wiped {userid}'s devices" : "{userid} eszközei letörölve",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "{userid} fiókjának teljes törlése, beleértve a személyes fájljait, alkalmazásadatait, stb.",
- "Account deletion" : "Fiók törlése",
- "Delete {userid}'s account" : "{userid} fiókjának törlése",
- "Display name was successfully changed" : "A megjelenítendő név sikeresen megváltoztatva",
- "Password was successfully changed" : "A jelszó sikeresen megváltoztatva",
- "Email was successfully changed" : "Az e-mail-cím sikeresen megváltoztatva",
- "Welcome mail sent!" : "Üdvözlő üzenet elküldve!",
- "Loading account …" : "Felhasználó betöltése...",
- "Change display name" : "Megjelenítendő név megváltoztatása",
- "Set new password" : "Jelszó beállítása",
- "You do not have permissions to see the details of this account" : "Nincs jogosultsága megnézni a felhasználó részletes adatait",
- "Set new email address" : "Új e-mail-cím beállítása",
- "Add account to group" : "Felhasználó hozzáadása egy csoporthoz",
- "Select account quota" : "Fiókkvóta kiválasztása",
- "Set the language" : "Nyelv beállítása",
- "Done" : "Kész",
- "Edit" : "Szerkesztés",
- "Visibility" : "Láthatóság",
- "Show language" : "Nyelv megjelenítése",
- "Show account backend" : "Fiók háttérrendszerének megjelenítése",
- "Show storage path" : "Tároló útvonal megjelenítése",
- "Show last login" : "Utolsó bejelentkezés megjelenítése",
- "Sorting" : "Rendezés",
- "Group list sorting" : "Csoportlista sorrendje",
- "By member count" : "Tagok száma alapján",
- "By name" : "Név alapján",
- "Send email" : "E-mail küldése",
- "Send welcome email to new accounts" : "Üdvözlő e-mail küldése az új fiókoknak",
- "Defaults" : "Alapértelmezések",
- "Default quota" : "Alapértelmezett kvóta",
- "Select default quota" : "Válasszon alapértelmezett kvótát",
- "Server error while trying to complete WebAuthn device registration" : "Kiszolgálóhiba a WebAuthn eszköz regisztrációjának befejezése során",
- "Passwordless authentication requires a secure connection." : "A jelszó nélküli hitelesítés biztonságos kapcsolatot igényel.",
- "Add WebAuthn device" : "WebAuth eszköz hozzáadása",
- "Please authorize your WebAuthn device." : "Hitelesítse a WebAuthn eszközét.",
- "Adding your device …" : "Az eszköze hozzáadása…",
- "Unnamed device" : "Névtelen eszköz",
- "Passwordless Authentication" : "Jelszó nélküli hitelesítés",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Állítsa be a fiókját a a FIDO2 szabvány követő jelszó nélküli hitelesítéssel.",
- "No devices configured." : "Nincs eszköz beállítva.",
- "The following devices are configured for your account:" : "A következő eszközök vannak a fiókjához kapcsolva:",
- "Your browser does not support WebAuthn." : "A böngészője nem támogatja a WebAuthn szabványt.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Rendszergazdaként finomhangolhatja a megosztás viselkedését. A részletekért lásd a dokumentációt.",
- "You need to enable the File sharing App." : "Engedélyeznie kell a Fájlmegosztás alkalmazást.",
- "App Store" : "Alkalmazástár",
- "Loading app list" : "Alkalmazáslista betöltése",
- "Loading categories" : "Kategóriák betöltése",
- "Developer documentation ↗" : "Fejlesztői dokumentáció ↗",
- "Version {version}, {license}-licensed" : " {version} verzió,{license} licenc alatt",
- "All accounts" : "Összes fiók",
- "Admins" : "Rendszergazdák",
- "Account group: {group}" : "Fiókcsoport: {group}",
- "Account management" : "Fiókkezelés",
"Sending…" : "Küldés…",
"Email sent" : "E-mail elküldve",
"Location" : "Hely",
@@ -570,6 +351,7 @@
"Date of birth" : "Születési dátum",
"Full name" : "Teljes név",
"Additional email" : "További e-mail-cím",
+ "Email" : "E-mail",
"Fediverse (e.g. Mastodon)" : "Födiverzum (például Mastodon)",
"Headline" : "Címsor",
"Organisation" : "Szervezet",
@@ -578,6 +360,7 @@
"X (formerly Twitter)" : "X (korábban Twitter)",
"Website" : "Weboldal",
"Profile visibility" : "Profil láthatósága",
+ "Language" : "Nyelv",
"Locale" : "Területi beállítás",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nem érhető el, mivel ez a tulajdonság szükséges a fő funkciókhoz, köztük a fájlmegosztáshoz és a naptármeghívásokhoz.",
"Your apps" : "Az Ön alkalmazásai",
@@ -589,11 +372,13 @@
"Supported apps" : "Támogatott alkalmazások",
"Show to everyone" : "Mindenki számára látható",
"Hide" : "Elrejtés",
+ "Update to {version}" : "Frissítés erre: {version}",
"Download and enable" : "Letöltés és engedélyezés",
"Disable" : "Letiltás",
"Allow untested app" : "Teszteletlen alkalmazás engedélyezése",
"The app will be downloaded from the App Store" : "Az alkalmazás letöltésre kerül az alkalmazástárból",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ez az alkalmazás nincs megjelölve, hogy kompatibilis lenne a jelenlegi Nextcloud verzióval. Ha folytatja, telepítheti az alkalmazást. Azonban az alkalmazás lehet, hogy nem fog rendeltetés szerint működni.",
+ "{size} used" : "{size} felhasználva",
"Unknown" : "Ismeretlen",
"Never" : "Soha",
"An error occurred during the request. Unable to proceed." : "Hiba történt a kérés során. Nem lehet folytatni.",
@@ -606,8 +391,10 @@
"Error while updating device token scope" : "Hiba az eszköztoken hatókörének frissítése során",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Túl sok kérés érkezett a hálózatától. Próbálja újra később, vagy ha ez egy hiba, akkor forduljon a rendszergazdához.",
"Error" : "Hiba",
+ "Default quota" : "Alapértelmezett kvóta",
"Account documentation" : "Fiók dokumentációja",
"Administration documentation" : "Rengszergazdai dokumentáció",
+ "Documentation" : "Dokumentáció",
"Forum" : "Fórum",
"Nextcloud help & privacy resources" : "Nextcloud súgó és adatvédelmi erőforrások",
"General documentation" : "Általános dokumentáció",
@@ -629,6 +416,7 @@
"SMTP Password" : "SMTP jelszó",
"Save" : "Mentés",
"Test and verify email settings" : "E-mail beállítások tesztelése és ellenőrzése",
+ "Send email" : "E-mail küldése",
"Security & setup warnings" : "Biztonsági és telepítési figyelmeztetések",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "A példánya biztonságához és megfelelő teljesítményéhez fontos, hogy minden beállítás helyes legyen. Ennek érdekében segítünk pár automatikus ellenőrzéssel. További információkért nézze meg a kapcsolódó dokumentációt.",
"All checks passed." : "Minden ellenőrzés sikeres.",
@@ -648,9 +436,6 @@
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Ha harmadik féltől származó alkalmazásokat használ a Nextcloudhoz való csatlakozáshoz, akkor a két faktoros hitelesítés engedélyezése előtt győződjön meg róla, hogy mindegyikhez létrehozott és beállított egy alkalmazásjelszót.",
"Logged in account must be a subadmin" : "A belépett felhasználónak al-adminnak kell lennie",
"File locking" : "Fájlzárolás",
- "Set default expiration date for shares" : "A megosztások alapértelmezett lejárati idejének beállítása",
- "Your biography" : "Az Ön életrajza",
- "You are using <strong>{usage}</strong>" : "Ezt használja: <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Jelenleg <strong>{usage}</strong>-ot használ ennyiből: <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "A megosztások alapértelmezett lejárati idejének beállítása"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ia.js b/apps/settings/l10n/ia.js
deleted file mode 100644
index 11823ca9be9..00000000000
--- a/apps/settings/l10n/ia.js
+++ /dev/null
@@ -1,134 +0,0 @@
-OC.L10N.register(
- "settings",
- {
- "Private" : "Private",
- "Local" : "Local",
- "Federated" : "Federated",
- "Unable to change password" : "Impossibile cambiar contrasigno",
- "Very weak password" : "Contrasigno multo debile",
- "Weak password" : "Contrasigno debile",
- "So-so password" : "Contrasigno plus o minus acceptabile",
- "Good password" : "Contrasigno bon",
- "Strong password" : "Contrasigno forte",
- "Groups" : "Gruppos",
- "Wrong password" : "Contrasigno incorrecte",
- "Saved" : "Salveguardate",
- "No user supplied" : "Nulle usator fornite",
- "Authentication error" : "Error in authentication",
- "Wrong admin recovery password. Please check the password and try again." : "Le contrasigno administrator pro recuperation de datos es incorrecte. Per favor, verifica le contrasigno e tenta de novo.",
- "Federated Cloud Sharing" : "Compartimento del Nube Federate",
- "Administrator documentation" : "Documentation de administrator",
- "User documentation" : "Documentation de usator",
- "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Un problema occurreva durante le invio del e-posta. Per favor, revide tu configurationes. (Error: %s)",
- "Users" : "Usatores",
- "Invalid user" : "Usator invalide",
- "Invalid mail address" : "Adresse de e-posta non valide",
- "Settings saved" : "Configurationes salveguardate",
- "Unable to change full name" : "Impossibile cambiar nomine complete",
- "Unable to change email address" : "Impossibile cambiar adresse de e-posta",
- "Your %s account was created" : "Tu conto %s esseva create",
- "Settings" : "Configurationes",
- "Personal" : "Personal",
- "Sharing" : "Compartente",
- "Calendar" : "Calendario",
- "Personal info" : "Information personal",
- "Email server" : "Servitor de e-posta",
- "Security & setup warnings" : "Securitate e advertimentos de configuration",
- "Create" : "Crear",
- "Delete" : "Deler",
- "Unlimited" : "Ilimitate",
- "None" : "Nulle",
- "Save changes" : "Salveguardar cambios",
- "All" : "Tote",
- "Disable" : "Disactivar",
- "Visit website" : "Visitar sito web",
- "Report a bug" : "Reportar un defecto",
- "Admin documentation" : "Documentation de administrator",
- "Developer documentation" : "Documentation de disveloppator",
- "Version" : "Version",
- "Actions" : "Actiones",
- "No apps found for your version" : "Nulle application trovate pro tu version",
- "Allow filesystem access" : "Permitter accesso a systema de files",
- "Rename" : "Renominar",
- "Revoke" : "Revocar",
- "Internet Explorer" : "Internet Explorer",
- "Edge" : "Edge",
- "Firefox" : "Firefox",
- "Google Chrome" : "Google Chrome",
- "Safari" : "Safari",
- "Google Chrome for Android" : "Google Chrome pro Android",
- "iPhone" : "iPhone",
- "Sync client - {os}" : "Synchronisar cliente - {os}",
- "This session" : "Iste session",
- "Device" : "Dispositivo",
- "Last activity" : "Ultime activitate",
- "App name" : "Nomine del application",
- "Create new app password" : "Crear un nove contrasigno pro application",
- "Use the credentials below to configure your app or device." : "Usa le datos de authentication infra pro configurar tu application o dispositivo.",
- "Username" : "Nomine de usator",
- "Password" : "Contrasigno",
- "Done" : "Preste",
- "Copied!" : "Copiate!",
- "Copy" : "Copiar",
- "Enable" : "Activar",
- "Select default encryption module:" : "Selectionar modulo de cryptographia standard",
- "Cancel" : "Cancellar",
- "Confirm" : "Confirmar",
- "Current password" : "Contrasigno actual",
- "New password" : "Nove contrasigno",
- "Change password" : "Cambiar contrasigno",
- "Picture provided by original account" : "Pictura fornite per conto original",
- "Details" : "Detalios",
- "No email address set" : "Nulle adresse de e-posta definite",
- "Help translate" : "Adjuta a traducer",
- "Your phone number" : "Tu numero de telephono",
- "Your website" : "Tu sito web",
- "Add" : "Adder",
- "Display name" : "Monstrar nomine",
- "Email" : "E-posta",
- "Quota" : "Quota",
- "Language" : "Lingua",
- "Edit" : "Modificar",
- "Send email" : "Inviar message de e-posta",
- "Default quota" : "Quota predefinite",
- "Active users" : "Usatores active",
- "Admins" : "Administratores",
- "Group name" : "Nomine del gruppo",
- "Not saved" : "Non salveguardate",
- "Email sent" : "Message de e-posta inviate",
- "Location" : "Loco",
- "Profile picture" : "Pictura de profilo",
- "About" : "A proposito",
- "Full name" : "Nomine complete",
- "Phone number" : "Numero de telephono",
- "Website" : "Sito web",
- "Never" : "Nunquam",
- "Documentation" : "Documentation",
- "Forum" : "Foro",
- "Login" : "Login",
- "Open documentation" : "Aperir documentation",
- "Send mode" : "Modo de invio",
- "Encryption" : "Cryptographia",
- "From address" : "De adresse",
- "Server address" : "Adresse del servitor",
- "Port" : "Porto",
- "Authentication" : "Authentication",
- "Authentication required" : "Authentication requirite",
- "Credentials" : "Datos de authentication",
- "SMTP Username" : "Nomine de usator SMTP",
- "SMTP Password" : "Contrasigno SMTP",
- "Save" : "Salveguardar",
- "Enforce expiration date" : "Exiger data de expiration",
- "Allow public uploads" : "Permitter incargas public",
- "Enforce password protection" : "Exiger protection per contrasigno",
- "Set default expiration date" : "Assignar data predefinite de expiration",
- "png or jpg, max. 20 MB" : "formato png o jpg, dimension maxime 20 MB",
- "Your email address" : "Tu adresse de e-posta",
- "Add group" : "Adder gruppo",
- "Send email to new user" : "Inviar message de e-posta a nove usator",
- "Twitter" : "Twitter",
- "SSL/TLS" : "SSL/TLS",
- "STARTTLS" : "STARTTLS",
- "Authentication method" : "Methodo de authentication"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/ia.json b/apps/settings/l10n/ia.json
deleted file mode 100644
index ecdb33d15c9..00000000000
--- a/apps/settings/l10n/ia.json
+++ /dev/null
@@ -1,132 +0,0 @@
-{ "translations": {
- "Private" : "Private",
- "Local" : "Local",
- "Federated" : "Federated",
- "Unable to change password" : "Impossibile cambiar contrasigno",
- "Very weak password" : "Contrasigno multo debile",
- "Weak password" : "Contrasigno debile",
- "So-so password" : "Contrasigno plus o minus acceptabile",
- "Good password" : "Contrasigno bon",
- "Strong password" : "Contrasigno forte",
- "Groups" : "Gruppos",
- "Wrong password" : "Contrasigno incorrecte",
- "Saved" : "Salveguardate",
- "No user supplied" : "Nulle usator fornite",
- "Authentication error" : "Error in authentication",
- "Wrong admin recovery password. Please check the password and try again." : "Le contrasigno administrator pro recuperation de datos es incorrecte. Per favor, verifica le contrasigno e tenta de novo.",
- "Federated Cloud Sharing" : "Compartimento del Nube Federate",
- "Administrator documentation" : "Documentation de administrator",
- "User documentation" : "Documentation de usator",
- "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Un problema occurreva durante le invio del e-posta. Per favor, revide tu configurationes. (Error: %s)",
- "Users" : "Usatores",
- "Invalid user" : "Usator invalide",
- "Invalid mail address" : "Adresse de e-posta non valide",
- "Settings saved" : "Configurationes salveguardate",
- "Unable to change full name" : "Impossibile cambiar nomine complete",
- "Unable to change email address" : "Impossibile cambiar adresse de e-posta",
- "Your %s account was created" : "Tu conto %s esseva create",
- "Settings" : "Configurationes",
- "Personal" : "Personal",
- "Sharing" : "Compartente",
- "Calendar" : "Calendario",
- "Personal info" : "Information personal",
- "Email server" : "Servitor de e-posta",
- "Security & setup warnings" : "Securitate e advertimentos de configuration",
- "Create" : "Crear",
- "Delete" : "Deler",
- "Unlimited" : "Ilimitate",
- "None" : "Nulle",
- "Save changes" : "Salveguardar cambios",
- "All" : "Tote",
- "Disable" : "Disactivar",
- "Visit website" : "Visitar sito web",
- "Report a bug" : "Reportar un defecto",
- "Admin documentation" : "Documentation de administrator",
- "Developer documentation" : "Documentation de disveloppator",
- "Version" : "Version",
- "Actions" : "Actiones",
- "No apps found for your version" : "Nulle application trovate pro tu version",
- "Allow filesystem access" : "Permitter accesso a systema de files",
- "Rename" : "Renominar",
- "Revoke" : "Revocar",
- "Internet Explorer" : "Internet Explorer",
- "Edge" : "Edge",
- "Firefox" : "Firefox",
- "Google Chrome" : "Google Chrome",
- "Safari" : "Safari",
- "Google Chrome for Android" : "Google Chrome pro Android",
- "iPhone" : "iPhone",
- "Sync client - {os}" : "Synchronisar cliente - {os}",
- "This session" : "Iste session",
- "Device" : "Dispositivo",
- "Last activity" : "Ultime activitate",
- "App name" : "Nomine del application",
- "Create new app password" : "Crear un nove contrasigno pro application",
- "Use the credentials below to configure your app or device." : "Usa le datos de authentication infra pro configurar tu application o dispositivo.",
- "Username" : "Nomine de usator",
- "Password" : "Contrasigno",
- "Done" : "Preste",
- "Copied!" : "Copiate!",
- "Copy" : "Copiar",
- "Enable" : "Activar",
- "Select default encryption module:" : "Selectionar modulo de cryptographia standard",
- "Cancel" : "Cancellar",
- "Confirm" : "Confirmar",
- "Current password" : "Contrasigno actual",
- "New password" : "Nove contrasigno",
- "Change password" : "Cambiar contrasigno",
- "Picture provided by original account" : "Pictura fornite per conto original",
- "Details" : "Detalios",
- "No email address set" : "Nulle adresse de e-posta definite",
- "Help translate" : "Adjuta a traducer",
- "Your phone number" : "Tu numero de telephono",
- "Your website" : "Tu sito web",
- "Add" : "Adder",
- "Display name" : "Monstrar nomine",
- "Email" : "E-posta",
- "Quota" : "Quota",
- "Language" : "Lingua",
- "Edit" : "Modificar",
- "Send email" : "Inviar message de e-posta",
- "Default quota" : "Quota predefinite",
- "Active users" : "Usatores active",
- "Admins" : "Administratores",
- "Group name" : "Nomine del gruppo",
- "Not saved" : "Non salveguardate",
- "Email sent" : "Message de e-posta inviate",
- "Location" : "Loco",
- "Profile picture" : "Pictura de profilo",
- "About" : "A proposito",
- "Full name" : "Nomine complete",
- "Phone number" : "Numero de telephono",
- "Website" : "Sito web",
- "Never" : "Nunquam",
- "Documentation" : "Documentation",
- "Forum" : "Foro",
- "Login" : "Login",
- "Open documentation" : "Aperir documentation",
- "Send mode" : "Modo de invio",
- "Encryption" : "Cryptographia",
- "From address" : "De adresse",
- "Server address" : "Adresse del servitor",
- "Port" : "Porto",
- "Authentication" : "Authentication",
- "Authentication required" : "Authentication requirite",
- "Credentials" : "Datos de authentication",
- "SMTP Username" : "Nomine de usator SMTP",
- "SMTP Password" : "Contrasigno SMTP",
- "Save" : "Salveguardar",
- "Enforce expiration date" : "Exiger data de expiration",
- "Allow public uploads" : "Permitter incargas public",
- "Enforce password protection" : "Exiger protection per contrasigno",
- "Set default expiration date" : "Assignar data predefinite de expiration",
- "png or jpg, max. 20 MB" : "formato png o jpg, dimension maxime 20 MB",
- "Your email address" : "Tu adresse de e-posta",
- "Add group" : "Adder gruppo",
- "Send email to new user" : "Inviar message de e-posta a nove usator",
- "Twitter" : "Twitter",
- "SSL/TLS" : "SSL/TLS",
- "STARTTLS" : "STARTTLS",
- "Authentication method" : "Methodo de authentication"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/settings/l10n/id.js b/apps/settings/l10n/id.js
index 33d57471e83..c2094a265a3 100644
--- a/apps/settings/l10n/id.js
+++ b/apps/settings/l10n/id.js
@@ -150,48 +150,6 @@ OC.L10N.register(
"_Update_::_Update all_" : ["Perbarui semua"],
"Group name" : "Nama grup",
"Loading" : "Memuat",
- "Type" : "tipe",
- "Display Name" : "Nama Tampilan",
- "Learn more" : "Pelajari lebih lanjut",
- "Confirm" : "Konfirmasi",
- "Cancel" : "Batal",
- "Description" : "Deskrisi",
- "View in store" : "Lihat di toko",
- "Visit website" : "Kunjungi laman web",
- "Admin documentation" : "Dokumentasi admin",
- "Developer documentation" : "Dokumentasi pengembang",
- "Details" : "Detil",
- "All" : "Semua",
- "Limit app usage to groups" : "Batas pemakaian aplikasi untuk grup",
- "No results" : "Tidak ada hasil",
- "Update to {version}" : "Perbarui ke {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Aplikasi ini tidak mempunyai versi minimum Nextcloud yang ditetapkan. Di masa depan nanti ini akan menjadi kesalahan.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Aplikasi ini tidak mempunyai versi maksimum Nextcloud yang ditetapkan. Di masa depan nanti ini akan menjadi kesalahan.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Apl ini tidak dapat diinstal karena ketergantungan berikut belum terpenuhi:",
- "Author" : "Penulis",
- "Categories" : "Kategori",
- "Resources" : "Sumber daya",
- "Documentation" : "Dokumentasi",
- "Interact" : "Interaksi",
- "Report a bug" : "Laporkan kerusakan",
- "Request feature" : "Minta fitur",
- "Ask questions or discuss" : "Tanyakan atau berdiskusi",
- "Changelog" : "Log pembaruan",
- "Google Chrome for Android" : "Google Chrome untuk Android",
- "This session" : "Sesi ini",
- "Marked for remote wipe" : "Tandai untuk penghapusan remote",
- "Device settings" : "Pengaturan perangkat",
- "Allow filesystem access" : "Ijinkan akses berkas sistem",
- "Rename" : "Ubah nama",
- "Revoke" : "Cabut ijin",
- "Wipe device" : "Hapus perangkat",
- "Device" : "Perangkat",
- "Last activity" : "Aktivitas terakhir",
- "Devices & sessions" : "Perangkat & sesi",
- "Web, desktop and mobile clients currently logged in to your account." : "Klien web, desktop dan mobile yang sedang login di akun Anda.",
- "Error while creating device token" : "Terjadi kesalahan saat membuat token perangkat",
- "App name" : "Nama aplikasi",
- "Create new app password" : "Buat kata sandi aplikasi baru",
"Could not copy app password. Please copy it manually." : "Tidak dapat menyalin kata sandi aplikasi. Mohon salin secara manual.",
"Login" : "Masuk",
"Password" : "Kata sandi",
@@ -213,64 +171,20 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Ingat bahwa enkripsi selalu menambah ukuran berkas.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Alangkah baiknya untuk membuat cadangan data secara rutin, dalam kasus enkripsi, pastikan untuk mencadangkan kunci enkripsi bersama dengan data Anda.",
"This is the final warning: Do you really want to enable encryption?" : "Ini adalah peringatan terakhir: Apakah Anda yakin ingin mengaktifkan enkripsi?",
+ "Cancel" : "Batal",
+ "Confirm" : "Konfirmasi",
"Rename group" : "Ganti nama grup",
- "Current password" : "Kata sandi saat ini",
- "New password" : "Kata sandi baru",
- "Change password" : "Ubah kata sandi",
- "Choose your profile picture" : "Pilih gambar profilmu",
- "Error removing profile picture" : "Kesalahan terjadi ketika mencoba hapus gambar profil",
- "Your profile picture" : "Gambar profilmu",
- "Upload profile picture" : "Unggah gambar profil",
- "Remove profile picture" : "Hapus gambar profil",
- "Picture provided by original account" : "Gambar disediakan oleh akun asli",
- "You are a member of the following groups:" : "Anda adalah seorang anggota dari grup berikut ini:",
- "Your full name" : "Nama lengkap Anda",
- "Remove primary email" : "Hapus surel utama",
- "Delete email" : "Hapus surel",
- "Primary email for password reset and notifications" : "Surel utama untuk pengaturan ulang kata sandi dan pemberitahuan",
- "No email address set" : "Alamat surel tidak diatur",
- "Help translate" : "Bantu menerjemahkan",
- "No language set" : "Tidak ada bahasa yang disetel",
- "Your phone number" : "Nomor telefon Anda",
- "Edit your Profile visibility" : "Ubah visibilitas Profil Anda",
- "Add" : "Masukkan",
- "Create" : "Buat",
- "Change" : "Ubah",
- "Delete" : "Hapus",
- "Default language" : "Bahasa bawaan",
- "Common languages" : "Bahasa umum",
- "Password change is disabled because the master key is disabled" : "Pengaturan kata sandi dinonaktifkan karena kunci master dinonaktifkan",
- "Display name" : "Nama tampilan",
- "Email" : "Surel",
- "Quota" : "Kuota",
- "Language" : "Bahasa",
- "Avatar" : "Avatar",
- "Group admin for" : "Grup admin untuk",
- "Storage location" : "Lokasi penyimpanan",
- "Last login" : "Log masuk terakhir",
- "{size} used" : "{size} digunakan",
- "Resend welcome email" : "Kirim ulang surel selamat datang",
- "Welcome mail sent!" : "Surat selamat datang terkirim!",
- "Done" : "Selesai",
- "Edit" : "Sunting",
- "Show storage path" : "Tampilkan jalur penyimpanan",
- "Show last login" : "Tampilkan yang terakhir masuk",
- "Send email" : "Kirim surel",
- "Default quota" : "Kuota standar",
- "Select default quota" : "Pilih kuota bawaan",
- "Passwordless authentication requires a secure connection." : "Otentikasi tanpa kata sandi membutuhkan koneksi aman.",
- "Passwordless Authentication" : "Otentikasi Tanpa Kata Sandi",
- "No devices configured." : "Tidak ada perangkat yang dikonfigurasi.",
- "Admins" : "Admin",
"Sending…" : "Mengirim…",
"Email sent" : "Surel terkirim",
"Location" : "Lokasi",
"Profile picture" : "Foto profil",
"About" : "Tentang.",
"Full name" : "Nama lengkap",
+ "Email" : "Surel",
"Phone number" : "Nomor telefon",
"Website" : "Situs",
"Profile visibility" : "Visibilitas profil",
+ "Language" : "Bahasa",
"Your apps" : "Aplikasi Anda",
"Active apps" : "Aplikasi aktif",
"Disabled apps" : "Matikan Aplikasi",
@@ -278,9 +192,11 @@ OC.L10N.register(
"App bundles" : "Kumpulan Apl",
"Featured apps" : "Aplikasi yang difiturkan",
"Hide" : "Sembunyikan",
+ "Update to {version}" : "Perbarui ke {version}",
"Download and enable" : "Unduh dan hidupkan",
"Disable" : "Nonaktifkan",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Aplikasi ini tidak ditandai sebagai versi Nextcloud Anda yang kompatibel. Jika Anda tetap ingin melanjutkannya, Anda tetap dapat memasang aplikasi. Catatan bahwa aplikasinya mungkin tidak akan berjalan seperti yang diharapkan.",
+ "{size} used" : "{size} digunakan",
"Unknown" : "Tidak diketahui",
"Never" : "Tidak pernah",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikasi diaktifkan namun butuh diperbarui. Anda akan dialihkan ke halaman pembaruan dalam 5 detik.",
@@ -291,6 +207,8 @@ OC.L10N.register(
"Error while updating device token scope" : "Galat saat memperbarui bidang token perangkat",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Ada terlalu banyak permintaan dari jaringan Anda. Coba lagi nanti atau hubungi administrator Anda jika ini adalah kesalahan.",
"Error" : "Galat",
+ "Default quota" : "Kuota standar",
+ "Documentation" : "Dokumentasi",
"Forum" : "Forum",
"Legal notice" : "Pemberitahuan hukum",
"Privacy policy" : "Kebijakan privasi",
@@ -308,6 +226,7 @@ OC.L10N.register(
"Credentials" : "Kredensial",
"SMTP Password" : "Kata sandi SMTP",
"Save" : "Simpan",
+ "Send email" : "Kirim surel",
"Security & setup warnings" : "Peringatan Keamanan & Pengaturan",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Sangat penting sekali untuk semuanya diatur secara benar demi keamanan dan performa instansi Anda. Untuk membantu Anda dengan hal itu kami melakukan cek otomatis. Mohon melihat tautan dokumentasi untuk lebih lanjut.",
"All checks passed." : "Semua pemeriksaan lulus.",
@@ -321,7 +240,6 @@ OC.L10N.register(
"Follow us on Mastodon" : "Ikuti kami di Mastodon",
"Check out our blog" : "Cek blog kami",
"Subscribe to our newsletter" : "Berlangganan surat berita kami",
- "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Rilis komunitas Nextcloud ini tidak didukung dan pemberitahuan instan tidak tersedia.",
- "Your biography" : "Biografi Anda"
+ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Rilis komunitas Nextcloud ini tidak didukung dan pemberitahuan instan tidak tersedia."
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/id.json b/apps/settings/l10n/id.json
index da357f5a569..2f3f8ded56c 100644
--- a/apps/settings/l10n/id.json
+++ b/apps/settings/l10n/id.json
@@ -148,48 +148,6 @@
"_Update_::_Update all_" : ["Perbarui semua"],
"Group name" : "Nama grup",
"Loading" : "Memuat",
- "Type" : "tipe",
- "Display Name" : "Nama Tampilan",
- "Learn more" : "Pelajari lebih lanjut",
- "Confirm" : "Konfirmasi",
- "Cancel" : "Batal",
- "Description" : "Deskrisi",
- "View in store" : "Lihat di toko",
- "Visit website" : "Kunjungi laman web",
- "Admin documentation" : "Dokumentasi admin",
- "Developer documentation" : "Dokumentasi pengembang",
- "Details" : "Detil",
- "All" : "Semua",
- "Limit app usage to groups" : "Batas pemakaian aplikasi untuk grup",
- "No results" : "Tidak ada hasil",
- "Update to {version}" : "Perbarui ke {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Aplikasi ini tidak mempunyai versi minimum Nextcloud yang ditetapkan. Di masa depan nanti ini akan menjadi kesalahan.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Aplikasi ini tidak mempunyai versi maksimum Nextcloud yang ditetapkan. Di masa depan nanti ini akan menjadi kesalahan.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Apl ini tidak dapat diinstal karena ketergantungan berikut belum terpenuhi:",
- "Author" : "Penulis",
- "Categories" : "Kategori",
- "Resources" : "Sumber daya",
- "Documentation" : "Dokumentasi",
- "Interact" : "Interaksi",
- "Report a bug" : "Laporkan kerusakan",
- "Request feature" : "Minta fitur",
- "Ask questions or discuss" : "Tanyakan atau berdiskusi",
- "Changelog" : "Log pembaruan",
- "Google Chrome for Android" : "Google Chrome untuk Android",
- "This session" : "Sesi ini",
- "Marked for remote wipe" : "Tandai untuk penghapusan remote",
- "Device settings" : "Pengaturan perangkat",
- "Allow filesystem access" : "Ijinkan akses berkas sistem",
- "Rename" : "Ubah nama",
- "Revoke" : "Cabut ijin",
- "Wipe device" : "Hapus perangkat",
- "Device" : "Perangkat",
- "Last activity" : "Aktivitas terakhir",
- "Devices & sessions" : "Perangkat & sesi",
- "Web, desktop and mobile clients currently logged in to your account." : "Klien web, desktop dan mobile yang sedang login di akun Anda.",
- "Error while creating device token" : "Terjadi kesalahan saat membuat token perangkat",
- "App name" : "Nama aplikasi",
- "Create new app password" : "Buat kata sandi aplikasi baru",
"Could not copy app password. Please copy it manually." : "Tidak dapat menyalin kata sandi aplikasi. Mohon salin secara manual.",
"Login" : "Masuk",
"Password" : "Kata sandi",
@@ -211,64 +169,20 @@
"Be aware that encryption always increases the file size." : "Ingat bahwa enkripsi selalu menambah ukuran berkas.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Alangkah baiknya untuk membuat cadangan data secara rutin, dalam kasus enkripsi, pastikan untuk mencadangkan kunci enkripsi bersama dengan data Anda.",
"This is the final warning: Do you really want to enable encryption?" : "Ini adalah peringatan terakhir: Apakah Anda yakin ingin mengaktifkan enkripsi?",
+ "Cancel" : "Batal",
+ "Confirm" : "Konfirmasi",
"Rename group" : "Ganti nama grup",
- "Current password" : "Kata sandi saat ini",
- "New password" : "Kata sandi baru",
- "Change password" : "Ubah kata sandi",
- "Choose your profile picture" : "Pilih gambar profilmu",
- "Error removing profile picture" : "Kesalahan terjadi ketika mencoba hapus gambar profil",
- "Your profile picture" : "Gambar profilmu",
- "Upload profile picture" : "Unggah gambar profil",
- "Remove profile picture" : "Hapus gambar profil",
- "Picture provided by original account" : "Gambar disediakan oleh akun asli",
- "You are a member of the following groups:" : "Anda adalah seorang anggota dari grup berikut ini:",
- "Your full name" : "Nama lengkap Anda",
- "Remove primary email" : "Hapus surel utama",
- "Delete email" : "Hapus surel",
- "Primary email for password reset and notifications" : "Surel utama untuk pengaturan ulang kata sandi dan pemberitahuan",
- "No email address set" : "Alamat surel tidak diatur",
- "Help translate" : "Bantu menerjemahkan",
- "No language set" : "Tidak ada bahasa yang disetel",
- "Your phone number" : "Nomor telefon Anda",
- "Edit your Profile visibility" : "Ubah visibilitas Profil Anda",
- "Add" : "Masukkan",
- "Create" : "Buat",
- "Change" : "Ubah",
- "Delete" : "Hapus",
- "Default language" : "Bahasa bawaan",
- "Common languages" : "Bahasa umum",
- "Password change is disabled because the master key is disabled" : "Pengaturan kata sandi dinonaktifkan karena kunci master dinonaktifkan",
- "Display name" : "Nama tampilan",
- "Email" : "Surel",
- "Quota" : "Kuota",
- "Language" : "Bahasa",
- "Avatar" : "Avatar",
- "Group admin for" : "Grup admin untuk",
- "Storage location" : "Lokasi penyimpanan",
- "Last login" : "Log masuk terakhir",
- "{size} used" : "{size} digunakan",
- "Resend welcome email" : "Kirim ulang surel selamat datang",
- "Welcome mail sent!" : "Surat selamat datang terkirim!",
- "Done" : "Selesai",
- "Edit" : "Sunting",
- "Show storage path" : "Tampilkan jalur penyimpanan",
- "Show last login" : "Tampilkan yang terakhir masuk",
- "Send email" : "Kirim surel",
- "Default quota" : "Kuota standar",
- "Select default quota" : "Pilih kuota bawaan",
- "Passwordless authentication requires a secure connection." : "Otentikasi tanpa kata sandi membutuhkan koneksi aman.",
- "Passwordless Authentication" : "Otentikasi Tanpa Kata Sandi",
- "No devices configured." : "Tidak ada perangkat yang dikonfigurasi.",
- "Admins" : "Admin",
"Sending…" : "Mengirim…",
"Email sent" : "Surel terkirim",
"Location" : "Lokasi",
"Profile picture" : "Foto profil",
"About" : "Tentang.",
"Full name" : "Nama lengkap",
+ "Email" : "Surel",
"Phone number" : "Nomor telefon",
"Website" : "Situs",
"Profile visibility" : "Visibilitas profil",
+ "Language" : "Bahasa",
"Your apps" : "Aplikasi Anda",
"Active apps" : "Aplikasi aktif",
"Disabled apps" : "Matikan Aplikasi",
@@ -276,9 +190,11 @@
"App bundles" : "Kumpulan Apl",
"Featured apps" : "Aplikasi yang difiturkan",
"Hide" : "Sembunyikan",
+ "Update to {version}" : "Perbarui ke {version}",
"Download and enable" : "Unduh dan hidupkan",
"Disable" : "Nonaktifkan",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Aplikasi ini tidak ditandai sebagai versi Nextcloud Anda yang kompatibel. Jika Anda tetap ingin melanjutkannya, Anda tetap dapat memasang aplikasi. Catatan bahwa aplikasinya mungkin tidak akan berjalan seperti yang diharapkan.",
+ "{size} used" : "{size} digunakan",
"Unknown" : "Tidak diketahui",
"Never" : "Tidak pernah",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikasi diaktifkan namun butuh diperbarui. Anda akan dialihkan ke halaman pembaruan dalam 5 detik.",
@@ -289,6 +205,8 @@
"Error while updating device token scope" : "Galat saat memperbarui bidang token perangkat",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Ada terlalu banyak permintaan dari jaringan Anda. Coba lagi nanti atau hubungi administrator Anda jika ini adalah kesalahan.",
"Error" : "Galat",
+ "Default quota" : "Kuota standar",
+ "Documentation" : "Dokumentasi",
"Forum" : "Forum",
"Legal notice" : "Pemberitahuan hukum",
"Privacy policy" : "Kebijakan privasi",
@@ -306,6 +224,7 @@
"Credentials" : "Kredensial",
"SMTP Password" : "Kata sandi SMTP",
"Save" : "Simpan",
+ "Send email" : "Kirim surel",
"Security & setup warnings" : "Peringatan Keamanan & Pengaturan",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Sangat penting sekali untuk semuanya diatur secara benar demi keamanan dan performa instansi Anda. Untuk membantu Anda dengan hal itu kami melakukan cek otomatis. Mohon melihat tautan dokumentasi untuk lebih lanjut.",
"All checks passed." : "Semua pemeriksaan lulus.",
@@ -319,7 +238,6 @@
"Follow us on Mastodon" : "Ikuti kami di Mastodon",
"Check out our blog" : "Cek blog kami",
"Subscribe to our newsletter" : "Berlangganan surat berita kami",
- "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Rilis komunitas Nextcloud ini tidak didukung dan pemberitahuan instan tidak tersedia.",
- "Your biography" : "Biografi Anda"
+ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Rilis komunitas Nextcloud ini tidak didukung dan pemberitahuan instan tidak tersedia."
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/is.js b/apps/settings/l10n/is.js
index 44a73887399..43c39356fee 100644
--- a/apps/settings/l10n/is.js
+++ b/apps/settings/l10n/is.js
@@ -291,88 +291,6 @@ OC.L10N.register(
"Nothing to show" : "Ekkert til að sýna",
"Loading" : "Hleð inn",
"Fetching the latest news…" : "Sæki nýjustu fréttir…",
- "Carousel" : "Hringekja",
- "Previous slide" : "Fyrri skyggna",
- "Next slide" : "Næsta skyggna",
- "Choose slide to display" : "Veldu skyggnu til að birta",
- "{index} of {total}" : "{index} af {total}",
- "Daemon" : "Púki",
- "Deploy Daemon" : "Setja bakgrunnsþjónustu (daemon) í gang",
- "Type" : "Tegund",
- "Display Name" : "Birtingarnafn",
- "GPUs support" : "Stuðningur við GPUs-skjáörgjörva",
- "Compute device" : "Reiknitæki",
- "Learn more" : "Læra meira",
- "Environment variables" : "Umhverfisbreytur",
- "No environment variables defined" : "Engar umhverfisbreytur skilgreindar",
- "Mounts" : "Tengipunktar",
- "Host path" : "Slóð á hýsivél",
- "Container path" : "Slóð á gagnagám",
- "Read-only" : "Skrifvarið",
- "Remove mount" : "Fjarlægja tengipunkt",
- "New mount" : "Nýr tengipunktur",
- "Enter path to host folder" : "Settu inn slóð á hýsilvélarmöppu",
- "Enter path to container folder" : "Settu inn slóð á gagnagámsmöppu",
- "Toggle read-only mode" : "Víxla lesham/skrifham af/á",
- "Confirm adding new mount" : "Staðfestu viðbætingu tengipunkts",
- "Confirm" : "Staðfesta",
- "Cancel adding mount" : "Hætta við að bæta inn tengipunkti",
- "Cancel" : "Hætta við",
- "Add mount" : "Bæta við tengipunkti",
- "No mounts defined" : "Engir tengipunktar skilgreindir",
- "Description" : "Lýsing",
- "View in store" : "Skoða í hugbúnaðarsafni",
- "Visit website" : "Heimsækja vefsvæðið",
- "Usage documentation" : "Leiðbeiningar um notkun",
- "Admin documentation" : "Hjálparskjöl kerfisstjóra",
- "Developer documentation" : "Skjölun fyrir þróunaraðila",
- "Details" : "Nánar",
- "All" : "Allt",
- "Limit app usage to groups" : "Takmarka notkun forrits við tiltekna hópa",
- "No results" : "Engar niðurstöður",
- "Update to {version}" : "Uppfæra í {version}",
- "Delete data on remove" : "Eyða gögnum við fjarlægingu",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Þetta vorrit er ekki með tiltekna neina lágmarksútgáfu Nextcloud. Þetta mun gefa villu í framtíðinni.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Þetta vorrit er ekki með tiltekna neina hámarksútgáfu Nextcloud. Þetta mun gefa villu í framtíðinni.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ekki var hægt að setja upp forritið þar sem eftirfarandi kerfiskröfur eru ekki uppfylltar:",
- "Latest updated" : "Síðast uppfært",
- "Author" : "Höfundur",
- "Categories" : "Flokkar",
- "Resources" : "Tilföng",
- "Documentation" : "Hjálparskjöl",
- "Interact" : "Gagnvirkni",
- "Report a bug" : "Tilkynna um villu",
- "Request feature" : "Stinga upp á eiginleikum",
- "Ask questions or discuss" : "Spyrja spurninga eða ræða málin",
- "Rate the app" : "Gefðu forritinu einkunn",
- "Rate" : "Gefa einkunn",
- "Changelog" : "Breytingaskrá",
- "Google Chrome for Android" : "Google Chrome fyrir Android",
- "{productName} iOS app" : "{productName} iOS-forrit",
- "{productName} Android app" : "{productName} Android-forrit",
- "{productName} Talk for iOS" : "{productName} Talk fyrir iOS",
- "{productName} Talk for Android" : "{productName} Talk fyrir Android",
- "Sync client" : "Samstilla biðlara",
- "This session" : "Þessa setu",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Heiti tækis",
- "Cancel renaming" : "Hætta við að endurnefna",
- "Save new name" : "Vista nýtt nafn",
- "Marked for remote wipe" : "Merkt fyrir fjartengda útþurrkun",
- "Device settings" : "Stillingar tækis",
- "Allow filesystem access" : "Leyfa aðgang að skráakerfi",
- "Rename" : "Endurnefna",
- "Revoke" : "Afturkalla",
- "Wipe device" : "Þurrka út af tæki",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Afturköllun á þessu teikni gæti komið í veg fyrir útþurrkun af tækinu nema ef útþurrkunin sé þegar byrjuð.",
- "Device" : "Tæki",
- "Last activity" : "Síðasta virkni",
- "Devices & sessions" : "Tæki og setur",
- "Web, desktop and mobile clients currently logged in to your account." : "Veftól, tölvur og símar sem núna eru skráð inn á aðganginn þinn.",
- "Error while creating device token" : "Villa við að búa til teikn fyrir tækið",
- "App name" : "Heiti forrits",
- "Create new app password" : "Búa til nýtt lykilorð forrits",
"App password copied!" : "Lykilorð forrits afritað!",
"Copy app password" : "Afrita lykilorð forrits",
"Login name copied!" : "Notandanafn innskráningar afritað!",
@@ -416,191 +334,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Það er góður siður að taka regluleg öryggisafrit af gögnunum þínum; ef um dulrituð gögn er að ræða, gakktu úr skugga um að einnig sé tekið öryggisafrit af dulritunarlyklum ásamt gögnunum.",
"This is the final warning: Do you really want to enable encryption?" : "Þetta er lokaaðvörun: Viltu örugglega virkja dulritun?",
"Please confirm the group removal" : "Staðfestu fjarlægingu hópsins",
+ "Cancel" : "Hætta við",
+ "Confirm" : "Staðfesta",
"Submit" : "Senda inn",
"Rename group" : "Endurnefna hóp",
- "Current password" : "Núverandi lykilorð",
- "New password" : "Nýtt lykilorð",
- "Change password" : "Breyta lykilorði",
- "Choose your profile picture" : "Veldu auðkennismynd fyrir þig",
- "Please select a valid png or jpg file" : "Veldu gilda PNG eða JPG-skrá",
- "Error setting profile picture" : "Villa kom upp við að setja auðkennismyndina",
- "Error cropping profile picture" : "Villa kom upp við að skera utan af auðkennismyndinni",
- "Error saving profile picture" : "Villa kom upp við að vista auðkennismyndina",
- "Error removing profile picture" : "Villa kom upp við að fjarlægja auðkennismyndina",
- "Your profile picture" : "Auðkennismyndin þín",
- "Upload profile picture" : "Senda inn auðkennismynd",
- "Choose profile picture from Files" : "Veldu sem auðkennismynd úr skrám",
- "Remove profile picture" : "Fjarlægja auðkennismynd",
- "The file must be a PNG or JPG" : "Skráin verður að vera PNG eða JPG",
- "Picture provided by original account" : "Mynd frá upprunalegum aðgangi",
- "Set as profile picture" : "Setja sem auðkennismynd",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Athugaðu að það getur tekið allt að 24 klukkustundir fyrir auðkennismyndina þína að uppfærast allsstaðar.",
- "Your biography. Markdown is supported." : "Æviágrip þitt. Stuðningur er við Markdown-snið.",
- "Unable to update date of birth" : "Tókst ekki að uppfæra fæðingardag",
- "Enter your date of birth" : "Settu inn fæðingardaginn þinn",
- "You are using {s}{usage}{/s}" : "Þú ert að nota {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Þú ert að nota {s}{usage}{/s} af {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Þú ert meðlimur eftirfarandi hópa:",
- "Your full name" : "Fullt nafn þitt",
- "Email options" : "Tölvupóststillingar",
- "Options for additional email address {index}" : "Valkostir fyrir aukalegt tölvupóstfang {index}",
- "Remove primary email" : "Fjarlægja aðaltölvupóstfang",
- "Delete email" : "Eyða tölvupósti",
- "This address is not confirmed" : "Þetta tölvupóstfang er ekki staðfest",
- "Unset as primary email" : "Aftengja sem aðaltölvupóstfang",
- "Set as primary email" : "Gera að aðaltölvupóstfangi",
- "Additional email address {index}" : "Aukalegt tölvupóstfang {index}",
- "Unable to delete primary email address" : "Get ekki eytt aðaltölvupóstfangi",
- "Unable to update primary email address" : "Get ekki uppfært aðaltölvupóstfang",
- "Unable to add additional email address" : "Get ekki bætt við aukatölvupóstfangi",
- "Unable to update additional email address" : "Get ekki uppfært aukatölvupóstfang",
- "Unable to delete additional email address" : "Get ekki eytt aukatölvupóstfangi",
- "Primary email for password reset and notifications" : "Aðallykilorð fyrir tilkynningar og endurstillingu lykilorðs",
- "No email address set" : "Ekkert tölvupóstfang sett",
- "Your handle" : "Auðkennið þitt",
- "Derived from your locale ({weekDayName})" : "Ákvarðað af staðfærslu kerfisins ({weekDayName})",
- "Unable to update first day of week" : "Mistókst að uppfæra fyrsta dag viku",
- "Day to use as the first day of week" : "Dagurinn sem á að nota sem fyrsta dag vikunnar",
- "Your headline" : "Fyrirsögnin þín",
- "Unable to update language" : "Tókst ekki að uppfæra tungumál",
- "Languages" : "Tungumál",
- "Help translate" : "Hjálpa við þýðingu",
- "No language set" : "Ekkert tungumál skilgreint",
- "Unable to update locale" : "Tókst ekki að uppfæra staðfærslu",
- "Locales" : "Staðfærslur",
- "Week starts on {firstDayOfWeek}" : "Vika byrjar á {firstDayOfWeek}",
- "No locale set" : "Engin staðfærsla tilgreind",
- "Your city" : "Borg/sveitarfélag",
- "Your organisation" : "Fyrirtækið þitt",
- "Your phone number" : "Símanúmerið þitt",
- "Edit your Profile visibility" : "Breyta sýnileika notandasniðsins þíns",
- "Unable to update profile enabled state" : "Tókst ekki að uppfæra virka stöðu notandasniðs",
- "Enable profile" : "Virkja notandasnið",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Sú stilling sem meira er takmarkandi, annað hvort sýnileiki eða dreifing, fær meira vægi í notandasniðinu þínu. Til dæmis ef sýnileiki er stilltur á \"Birta öllum\" og dreifing er stillt á \"Einka\", þá hefur \"Einka\" meira vægi.",
- "Unable to update visibility of {displayId}" : "Tókst ekki að uppfæra sýnileika á {displayId}",
- "she/her" : "hún",
- "he/him" : "hann",
- "they/them" : "hán/þau",
- "Your role" : "Hlutverk þitt",
- "Your X (formerly Twitter) handle" : "X (fyrrum Twitter) notandanafnið þitt",
- "Your website" : "Vefsvæðið þitt",
- "Invalid value" : "Ógilt gildi",
- "Unable to update {property}" : "Tókst ekki að uppfæra {property}",
- "No {property} set" : "Ekkert {property} sett",
- "Change scope level of {property}, current scope is {scope}" : "Breyta dreifingarstigi á {property}, fyrirliggjandi svið er {scope}",
- "Unable to update federation scope of the primary {property}" : "Tókst ekki að uppfæra skýjasambandsdreifingu á aðal {property}",
- "Unable to update federation scope of additional {property}" : "Tókst ekki að uppfæra skýjasambandsdreifingu á aukalegu {property}",
- "Add additional email" : "Bæta við aukatölvupóstfangi",
- "Add" : "Bæta við",
- "Create" : "Búa til",
- "Change" : "Breyta",
- "Delete" : "Eyða",
- "Reshare" : "Endurdeila",
- "Default language" : "Sjálfgefið tungumál",
- "Common languages" : "Algeng tungumál",
- "Other languages" : "Önnur tungumál",
- "Password change is disabled because the master key is disabled" : "Lykilorðabreyting er óvirk vegna þess að aðallykill er óvirkur",
- "No accounts" : "Engir aðgangar",
- "Loading accounts …" : "Hleð inn notendaaðgöngum...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Listi yfir notendaaðganga. Til að halda sem bestum afköstum er þessi listi ekki myndgerður að fullu. Notendaaðgangar munu birtast eftir því sem farið er í gegnum listann.",
- "Manager" : "Stjórnandi",
- "Set line manager" : "Settu línustjórnanda",
- "Account name will be autogenerated" : "Heiti notandaaðgangs verður útbúið sjálfvirkt",
- "Account name (required)" : "Heiti notandaaðgangs (krafist)",
- "New account" : "Nýr aðgangur",
- "Display name" : "Birtingarnafn",
- "Either password or email is required" : "Annað hvort lykilorð eða tölvupóstfang eru nauðsynleg",
- "Password (required)" : "Lykilorð (nauðsynlegt)",
- "Email (required)" : "Tölvupóstfang (nauðsynlegt)",
- "Email" : "Netfang",
- "Member of the following groups (required)" : "Meðlimur eftirfarandi hópa (nauðsynlegt)",
- "Member of the following groups" : "Meðlimur eftirfarandi hópa",
- "Set account groups" : "Setja hópa notandaaðgangs",
- "Admin of the following groups" : "Stjórnandi eftirfarandi hópa",
- "Set account as admin for …" : "Setja notandaaðganginn sem stjórnanda fyrir …",
- "Quota" : "Kvóti",
- "Set account quota" : "Settu kvóta notandaaðgangs",
- "Language" : "Tungumál",
- "Set default language" : "Settu sjálfgefið tungumál",
- "Add new account" : "Bæta við nýjum aðgangi",
- "Total rows summary" : "Samantek á fjölda raða",
- "Scroll to load more rows" : "Skrunaðu til að hlaða inn fleiri röðum",
- "Password or insufficient permissions message" : "Skilaboð um lykilorð eða ekki nægar heimildir",
- "Avatar" : "Auðkennismynd",
- "Account name" : "Heiti notandaaðgangs",
- "Group admin for" : "Hópstjóri fyrir",
- "Account backend" : "Bakendi notandaaðganga",
- "Storage location" : "Staðsetning gagnageymslu",
- "First login" : "Fyrsta innskráning",
- "Last login" : "Síðasta innskráning",
- "Account actions" : "Aðgerðir fyrir aðgang",
- "{size} used" : "{size} notað",
- "Delete account" : "Eyða notandaaðgangi",
- "Disable account" : "Gera notandaaðgang óvirkan",
- "Enable account" : "Virkja notandaaðgang",
- "Resend welcome email" : "Endursenda kveðjupóst",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Týnist tæki eða hætti einhver hjá fyrirtæki/stofnun, þá getur þetta hreinsað fjartengt út öll Nextcloud-gögn af öllum tækjum sem tengd eru {userid}. Virkar bara ef tækin eru tengd internetinu.",
- "Remote wipe of devices" : "Fjartengd útþurrkun af tækjum",
- "Wipe {userid}'s devices" : "Þurrka út af tækjum {userid}",
- "Wiped {userid}'s devices" : "Þurrkaði út af tækjum {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Eyða að fullu notandaaðgangnum {userid}, þar með talið öllum persónulegum skrám viðkomandi, forritsgögnum, o.s.frv.",
- "Account deletion" : "Eyðing á aðgangi",
- "Delete {userid}'s account" : "Eyða notandaaðgangi {userid}",
- "Display name was successfully changed" : "Það tókst að breyta birtingarnafninu",
- "Password was successfully changed" : "Það tókst að breyta lykilorðinu",
- "Email was successfully changed" : "Það tókst að breyta tölvupóstfanginu",
- "Welcome mail sent!" : "Kveðjupóstur sendur!",
- "Loading account …" : "Hleð inn notandaaðgangi …",
- "Change display name" : "Breyta birtingarnafni",
- "Set new password" : "Stilla nýtt lykilorð",
- "You do not have permissions to see the details of this account" : "Þú hefur ekki réttindi til að skoða ítarupplýsingar um þennan notandaaðgang",
- "Set new email address" : "Stilla nýtt tölvupóstfang",
- "Add account to group" : "Bæta notandaaðgangi í hóp",
- "Set account as admin for" : "Setja notandaaðganginn sem stjórnanda fyrir",
- "Select account quota" : "Veldu kvóta notandaaðgangs",
- "Set the language" : "Settu tungumálið",
- "Toggle account actions menu" : "Víxla af/á valmynd fyrir aðgerðir notandaaðgangs",
- "Done" : "Lokið",
- "Edit" : "Breyta",
- "Account management settings" : "Stillingar umsýslu notandaaðgangs",
- "Visibility" : "Sýnileiki",
- "Show language" : "Birta tungumál",
- "Show account backend" : "Birta bakenda notandaaðgangs",
- "Show storage path" : "Birta slóð á gagnageymslu",
- "Show first login" : "Birta fyrstu innskráningu",
- "Show last login" : "Birta síðustu innskráningu",
- "Sorting" : "Röðun",
- "Group list sorting" : "Röðun lista yfir hópa",
- "By member count" : "Eftir fjölda meðlima",
- "By name" : "Eftir nafni",
- "Send email" : "Senda tölvupóst",
- "Send welcome email to new accounts" : "Senda tölvupóst sem býður nýja notendur velkomna",
- "Defaults" : "Sjálfgefin gildi",
- "Default quota" : "Sjálfgefinn kvóti",
- "Select default quota" : "Setja sjálfgefinn kvóta",
- "Server error while trying to complete WebAuthn device registration" : "Villa á þjóni við að ljúka skráningu WebAuthn-tækis",
- "Passwordless authentication requires a secure connection." : "Lykilorðalaus auðkenning krefst öruggrar tengingar.",
- "Add WebAuthn device" : "Bæta við WebAuthn-tæki",
- "Please authorize your WebAuthn device." : "Auðkenndu WebAuthn-tækið þitt.",
- "Adding your device …" : "Bæti við tækinu þínu …",
- "Unnamed device" : "Nafnlaust tæki",
- "Passwordless Authentication" : "Lykilorðalaus auðkenning",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Settu aðganginn þinn upp fyrir lykilorðalausa auðkenningu byggða á FIDO2-staðlinum.",
- "No devices configured." : "Engin tæki skilgreind.",
- "The following devices are configured for your account:" : "Eftirfarandi tæki eru uppsett fyrir notandaaðganginn þinn:",
- "Your browser does not support WebAuthn." : "Vafrinn þinn styður ekki WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Sem stjórnandi geturðu fínstillt hegðun við deilingu. Endilega kíktu á hjálparskjölin til að sjá ítarlegri upplýsingar.",
- "You need to enable the File sharing App." : "Þú verður að virkja skráardeilingarforritið.",
- "App Store" : "Forritasafn",
- "Loading app list" : "Hleð inn forritalista",
- "Loading categories" : "Hleð inn flokkum",
- "Developer documentation ↗" : "Hjálparskjöl þróunaraðila↗",
- "Version {version}, {license}-licensed" : "Útgáfa {version}, {license}-notkunarleyfi",
- "Version {version}" : "Útgáfa {version}",
- "All accounts" : "Allir aðgangar",
- "Admins" : "Kerfisstjórar",
- "Account group: {group}" : "Hópur notendaaðganga: {group}",
- "Account management" : "Umsýsla notandaaðgangs",
"Sending…" : "Sendi...",
"Email sent" : "Tölvupóstur sendur",
"Location" : "Staðsetning",
@@ -609,6 +346,7 @@ OC.L10N.register(
"Date of birth" : "Fæðingardagur",
"Full name" : "Fullt nafn",
"Additional email" : "Aukatölvupóstfang",
+ "Email" : "Netfang",
"Fediverse (e.g. Mastodon)" : "Skýjasamband - Fediverse (t.d. Mastodon)",
"Headline" : "Fyrirsögn",
"Organisation" : "Stofnun/Félag/Fyrirtæki",
@@ -618,6 +356,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (fyrrum Twitter)",
"Website" : "Vefsvæði",
"Profile visibility" : "Sýnileiki notandasniðs",
+ "Language" : "Tungumál",
"Locale" : "Staðfærsla",
"First day of week" : "Fyrsti dagur viku",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Er ekki tiltækt þar sem þessi eiginleiki er nauðsynlegur fyrir kjarnavirkni á borð við skráadeilingu og boð í dagatölum",
@@ -633,6 +372,7 @@ OC.L10N.register(
"Show to everyone" : "Birta öllum",
"Show to logged in accounts only" : "Birta einungis hjá innskráðum notendaaðgöngum",
"Hide" : "Fela",
+ "Update to {version}" : "Uppfæra í {version}",
"{progress}% Deploying …" : "{progress}% Sett í gang …",
"{progress}% Initializing …" : "{progress}% Frumstilling …",
"Health checking" : "Ástandsskoðun",
@@ -641,6 +381,7 @@ OC.L10N.register(
"Allow untested app" : "Leyfa óprófuð forrit",
"The app will be downloaded from the App Store" : "Forritið verður sótt úr forritabúðinni",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Þetta forrit er merkt sem ekki samhæft við þína útgáfu af Nextcloud. Ef þú heldur áfram er mögulegt að þú getir samt sett forritið upp. En athugaðu þá að ekki er víst að forritið virki eins og skyldi.",
+ "{size} used" : "{size} notað",
"Unknown" : "Óþekkt",
"Never" : "Aldrei",
"An error occurred during the request. Unable to proceed." : "Villa kom upp við beiðnina. Get ekki haldið áfram.",
@@ -653,8 +394,10 @@ OC.L10N.register(
"Error while updating device token scope" : "Villa við að uppfæra gildissvið fyrir teikn tækisins",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Það komu of margar beiðnir frá netkerfinu þínu. Reyndu aftur eða hafðu samband við kerfisstjóra ef þetta er ekki rétt.",
"Error" : "Villa",
+ "Default quota" : "Sjálfgefinn kvóti",
"Account documentation" : "Hjálparskjöl fyrir notendaaðganga",
"Administration documentation" : "Hjálparskjöl fyrir stjórnendur",
+ "Documentation" : "Hjálparskjöl",
"Forum" : "Vefspjall",
"General documentation" : "Almenn hjálparskjöl",
"Legal notice" : "Lagaleg atriði",
@@ -676,6 +419,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP-lykilorð",
"Save" : "Vista",
"Test and verify email settings" : "Prófa og staðfesta tölvupóststillingar",
+ "Send email" : "Senda tölvupóst",
"Security & setup warnings" : "Öryggi og aðvaranir vegna uppsetningar",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Það er mikilvægt fyrir öryggi og afköst uppsetningarinnar þinnar að allt sé rétt stillt. Til að hjálpa við að svo sé, eru gerðar ýmsar sjálfvirkar prófanir. Skoðaðu hjálparskjölin til að sjá ítarlegar upplýsingar.",
"All checks passed." : "Stóðst allar prófanir.",
@@ -698,9 +442,6 @@ OC.L10N.register(
"File locking" : "Skráalæsing",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "Færslulæsing skráa (transactional file locking) er óvirk, þetta gæti leitt til vandamála út frá forgangsskilyrðum (race conditions). Virkjaðu 'filelocking.enabled' í config.php til að forðast slík vandamál.",
"The PHP memory limit is below the recommended value of %s." : "Minnismörk PHP eru lægri en gildið sem mælt er með; %s.",
- "Set default expiration date for shares" : "Setja sjálfgefinn gildistíma fyrir sameignir",
- "Your biography" : "Æviágrip þitt",
- "You are using <strong>{usage}</strong>" : "Þú ert að nota <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Þú ert að nota <strong>{usage}</strong> af <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Setja sjálfgefinn gildistíma fyrir sameignir"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/settings/l10n/is.json b/apps/settings/l10n/is.json
index 534c9c2c0b2..34a744fe8f5 100644
--- a/apps/settings/l10n/is.json
+++ b/apps/settings/l10n/is.json
@@ -289,88 +289,6 @@
"Nothing to show" : "Ekkert til að sýna",
"Loading" : "Hleð inn",
"Fetching the latest news…" : "Sæki nýjustu fréttir…",
- "Carousel" : "Hringekja",
- "Previous slide" : "Fyrri skyggna",
- "Next slide" : "Næsta skyggna",
- "Choose slide to display" : "Veldu skyggnu til að birta",
- "{index} of {total}" : "{index} af {total}",
- "Daemon" : "Púki",
- "Deploy Daemon" : "Setja bakgrunnsþjónustu (daemon) í gang",
- "Type" : "Tegund",
- "Display Name" : "Birtingarnafn",
- "GPUs support" : "Stuðningur við GPUs-skjáörgjörva",
- "Compute device" : "Reiknitæki",
- "Learn more" : "Læra meira",
- "Environment variables" : "Umhverfisbreytur",
- "No environment variables defined" : "Engar umhverfisbreytur skilgreindar",
- "Mounts" : "Tengipunktar",
- "Host path" : "Slóð á hýsivél",
- "Container path" : "Slóð á gagnagám",
- "Read-only" : "Skrifvarið",
- "Remove mount" : "Fjarlægja tengipunkt",
- "New mount" : "Nýr tengipunktur",
- "Enter path to host folder" : "Settu inn slóð á hýsilvélarmöppu",
- "Enter path to container folder" : "Settu inn slóð á gagnagámsmöppu",
- "Toggle read-only mode" : "Víxla lesham/skrifham af/á",
- "Confirm adding new mount" : "Staðfestu viðbætingu tengipunkts",
- "Confirm" : "Staðfesta",
- "Cancel adding mount" : "Hætta við að bæta inn tengipunkti",
- "Cancel" : "Hætta við",
- "Add mount" : "Bæta við tengipunkti",
- "No mounts defined" : "Engir tengipunktar skilgreindir",
- "Description" : "Lýsing",
- "View in store" : "Skoða í hugbúnaðarsafni",
- "Visit website" : "Heimsækja vefsvæðið",
- "Usage documentation" : "Leiðbeiningar um notkun",
- "Admin documentation" : "Hjálparskjöl kerfisstjóra",
- "Developer documentation" : "Skjölun fyrir þróunaraðila",
- "Details" : "Nánar",
- "All" : "Allt",
- "Limit app usage to groups" : "Takmarka notkun forrits við tiltekna hópa",
- "No results" : "Engar niðurstöður",
- "Update to {version}" : "Uppfæra í {version}",
- "Delete data on remove" : "Eyða gögnum við fjarlægingu",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Þetta vorrit er ekki með tiltekna neina lágmarksútgáfu Nextcloud. Þetta mun gefa villu í framtíðinni.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Þetta vorrit er ekki með tiltekna neina hámarksútgáfu Nextcloud. Þetta mun gefa villu í framtíðinni.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ekki var hægt að setja upp forritið þar sem eftirfarandi kerfiskröfur eru ekki uppfylltar:",
- "Latest updated" : "Síðast uppfært",
- "Author" : "Höfundur",
- "Categories" : "Flokkar",
- "Resources" : "Tilföng",
- "Documentation" : "Hjálparskjöl",
- "Interact" : "Gagnvirkni",
- "Report a bug" : "Tilkynna um villu",
- "Request feature" : "Stinga upp á eiginleikum",
- "Ask questions or discuss" : "Spyrja spurninga eða ræða málin",
- "Rate the app" : "Gefðu forritinu einkunn",
- "Rate" : "Gefa einkunn",
- "Changelog" : "Breytingaskrá",
- "Google Chrome for Android" : "Google Chrome fyrir Android",
- "{productName} iOS app" : "{productName} iOS-forrit",
- "{productName} Android app" : "{productName} Android-forrit",
- "{productName} Talk for iOS" : "{productName} Talk fyrir iOS",
- "{productName} Talk for Android" : "{productName} Talk fyrir Android",
- "Sync client" : "Samstilla biðlara",
- "This session" : "Þessa setu",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Heiti tækis",
- "Cancel renaming" : "Hætta við að endurnefna",
- "Save new name" : "Vista nýtt nafn",
- "Marked for remote wipe" : "Merkt fyrir fjartengda útþurrkun",
- "Device settings" : "Stillingar tækis",
- "Allow filesystem access" : "Leyfa aðgang að skráakerfi",
- "Rename" : "Endurnefna",
- "Revoke" : "Afturkalla",
- "Wipe device" : "Þurrka út af tæki",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Afturköllun á þessu teikni gæti komið í veg fyrir útþurrkun af tækinu nema ef útþurrkunin sé þegar byrjuð.",
- "Device" : "Tæki",
- "Last activity" : "Síðasta virkni",
- "Devices & sessions" : "Tæki og setur",
- "Web, desktop and mobile clients currently logged in to your account." : "Veftól, tölvur og símar sem núna eru skráð inn á aðganginn þinn.",
- "Error while creating device token" : "Villa við að búa til teikn fyrir tækið",
- "App name" : "Heiti forrits",
- "Create new app password" : "Búa til nýtt lykilorð forrits",
"App password copied!" : "Lykilorð forrits afritað!",
"Copy app password" : "Afrita lykilorð forrits",
"Login name copied!" : "Notandanafn innskráningar afritað!",
@@ -414,191 +332,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Það er góður siður að taka regluleg öryggisafrit af gögnunum þínum; ef um dulrituð gögn er að ræða, gakktu úr skugga um að einnig sé tekið öryggisafrit af dulritunarlyklum ásamt gögnunum.",
"This is the final warning: Do you really want to enable encryption?" : "Þetta er lokaaðvörun: Viltu örugglega virkja dulritun?",
"Please confirm the group removal" : "Staðfestu fjarlægingu hópsins",
+ "Cancel" : "Hætta við",
+ "Confirm" : "Staðfesta",
"Submit" : "Senda inn",
"Rename group" : "Endurnefna hóp",
- "Current password" : "Núverandi lykilorð",
- "New password" : "Nýtt lykilorð",
- "Change password" : "Breyta lykilorði",
- "Choose your profile picture" : "Veldu auðkennismynd fyrir þig",
- "Please select a valid png or jpg file" : "Veldu gilda PNG eða JPG-skrá",
- "Error setting profile picture" : "Villa kom upp við að setja auðkennismyndina",
- "Error cropping profile picture" : "Villa kom upp við að skera utan af auðkennismyndinni",
- "Error saving profile picture" : "Villa kom upp við að vista auðkennismyndina",
- "Error removing profile picture" : "Villa kom upp við að fjarlægja auðkennismyndina",
- "Your profile picture" : "Auðkennismyndin þín",
- "Upload profile picture" : "Senda inn auðkennismynd",
- "Choose profile picture from Files" : "Veldu sem auðkennismynd úr skrám",
- "Remove profile picture" : "Fjarlægja auðkennismynd",
- "The file must be a PNG or JPG" : "Skráin verður að vera PNG eða JPG",
- "Picture provided by original account" : "Mynd frá upprunalegum aðgangi",
- "Set as profile picture" : "Setja sem auðkennismynd",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Athugaðu að það getur tekið allt að 24 klukkustundir fyrir auðkennismyndina þína að uppfærast allsstaðar.",
- "Your biography. Markdown is supported." : "Æviágrip þitt. Stuðningur er við Markdown-snið.",
- "Unable to update date of birth" : "Tókst ekki að uppfæra fæðingardag",
- "Enter your date of birth" : "Settu inn fæðingardaginn þinn",
- "You are using {s}{usage}{/s}" : "Þú ert að nota {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Þú ert að nota {s}{usage}{/s} af {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Þú ert meðlimur eftirfarandi hópa:",
- "Your full name" : "Fullt nafn þitt",
- "Email options" : "Tölvupóststillingar",
- "Options for additional email address {index}" : "Valkostir fyrir aukalegt tölvupóstfang {index}",
- "Remove primary email" : "Fjarlægja aðaltölvupóstfang",
- "Delete email" : "Eyða tölvupósti",
- "This address is not confirmed" : "Þetta tölvupóstfang er ekki staðfest",
- "Unset as primary email" : "Aftengja sem aðaltölvupóstfang",
- "Set as primary email" : "Gera að aðaltölvupóstfangi",
- "Additional email address {index}" : "Aukalegt tölvupóstfang {index}",
- "Unable to delete primary email address" : "Get ekki eytt aðaltölvupóstfangi",
- "Unable to update primary email address" : "Get ekki uppfært aðaltölvupóstfang",
- "Unable to add additional email address" : "Get ekki bætt við aukatölvupóstfangi",
- "Unable to update additional email address" : "Get ekki uppfært aukatölvupóstfang",
- "Unable to delete additional email address" : "Get ekki eytt aukatölvupóstfangi",
- "Primary email for password reset and notifications" : "Aðallykilorð fyrir tilkynningar og endurstillingu lykilorðs",
- "No email address set" : "Ekkert tölvupóstfang sett",
- "Your handle" : "Auðkennið þitt",
- "Derived from your locale ({weekDayName})" : "Ákvarðað af staðfærslu kerfisins ({weekDayName})",
- "Unable to update first day of week" : "Mistókst að uppfæra fyrsta dag viku",
- "Day to use as the first day of week" : "Dagurinn sem á að nota sem fyrsta dag vikunnar",
- "Your headline" : "Fyrirsögnin þín",
- "Unable to update language" : "Tókst ekki að uppfæra tungumál",
- "Languages" : "Tungumál",
- "Help translate" : "Hjálpa við þýðingu",
- "No language set" : "Ekkert tungumál skilgreint",
- "Unable to update locale" : "Tókst ekki að uppfæra staðfærslu",
- "Locales" : "Staðfærslur",
- "Week starts on {firstDayOfWeek}" : "Vika byrjar á {firstDayOfWeek}",
- "No locale set" : "Engin staðfærsla tilgreind",
- "Your city" : "Borg/sveitarfélag",
- "Your organisation" : "Fyrirtækið þitt",
- "Your phone number" : "Símanúmerið þitt",
- "Edit your Profile visibility" : "Breyta sýnileika notandasniðsins þíns",
- "Unable to update profile enabled state" : "Tókst ekki að uppfæra virka stöðu notandasniðs",
- "Enable profile" : "Virkja notandasnið",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Sú stilling sem meira er takmarkandi, annað hvort sýnileiki eða dreifing, fær meira vægi í notandasniðinu þínu. Til dæmis ef sýnileiki er stilltur á \"Birta öllum\" og dreifing er stillt á \"Einka\", þá hefur \"Einka\" meira vægi.",
- "Unable to update visibility of {displayId}" : "Tókst ekki að uppfæra sýnileika á {displayId}",
- "she/her" : "hún",
- "he/him" : "hann",
- "they/them" : "hán/þau",
- "Your role" : "Hlutverk þitt",
- "Your X (formerly Twitter) handle" : "X (fyrrum Twitter) notandanafnið þitt",
- "Your website" : "Vefsvæðið þitt",
- "Invalid value" : "Ógilt gildi",
- "Unable to update {property}" : "Tókst ekki að uppfæra {property}",
- "No {property} set" : "Ekkert {property} sett",
- "Change scope level of {property}, current scope is {scope}" : "Breyta dreifingarstigi á {property}, fyrirliggjandi svið er {scope}",
- "Unable to update federation scope of the primary {property}" : "Tókst ekki að uppfæra skýjasambandsdreifingu á aðal {property}",
- "Unable to update federation scope of additional {property}" : "Tókst ekki að uppfæra skýjasambandsdreifingu á aukalegu {property}",
- "Add additional email" : "Bæta við aukatölvupóstfangi",
- "Add" : "Bæta við",
- "Create" : "Búa til",
- "Change" : "Breyta",
- "Delete" : "Eyða",
- "Reshare" : "Endurdeila",
- "Default language" : "Sjálfgefið tungumál",
- "Common languages" : "Algeng tungumál",
- "Other languages" : "Önnur tungumál",
- "Password change is disabled because the master key is disabled" : "Lykilorðabreyting er óvirk vegna þess að aðallykill er óvirkur",
- "No accounts" : "Engir aðgangar",
- "Loading accounts …" : "Hleð inn notendaaðgöngum...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Listi yfir notendaaðganga. Til að halda sem bestum afköstum er þessi listi ekki myndgerður að fullu. Notendaaðgangar munu birtast eftir því sem farið er í gegnum listann.",
- "Manager" : "Stjórnandi",
- "Set line manager" : "Settu línustjórnanda",
- "Account name will be autogenerated" : "Heiti notandaaðgangs verður útbúið sjálfvirkt",
- "Account name (required)" : "Heiti notandaaðgangs (krafist)",
- "New account" : "Nýr aðgangur",
- "Display name" : "Birtingarnafn",
- "Either password or email is required" : "Annað hvort lykilorð eða tölvupóstfang eru nauðsynleg",
- "Password (required)" : "Lykilorð (nauðsynlegt)",
- "Email (required)" : "Tölvupóstfang (nauðsynlegt)",
- "Email" : "Netfang",
- "Member of the following groups (required)" : "Meðlimur eftirfarandi hópa (nauðsynlegt)",
- "Member of the following groups" : "Meðlimur eftirfarandi hópa",
- "Set account groups" : "Setja hópa notandaaðgangs",
- "Admin of the following groups" : "Stjórnandi eftirfarandi hópa",
- "Set account as admin for …" : "Setja notandaaðganginn sem stjórnanda fyrir …",
- "Quota" : "Kvóti",
- "Set account quota" : "Settu kvóta notandaaðgangs",
- "Language" : "Tungumál",
- "Set default language" : "Settu sjálfgefið tungumál",
- "Add new account" : "Bæta við nýjum aðgangi",
- "Total rows summary" : "Samantek á fjölda raða",
- "Scroll to load more rows" : "Skrunaðu til að hlaða inn fleiri röðum",
- "Password or insufficient permissions message" : "Skilaboð um lykilorð eða ekki nægar heimildir",
- "Avatar" : "Auðkennismynd",
- "Account name" : "Heiti notandaaðgangs",
- "Group admin for" : "Hópstjóri fyrir",
- "Account backend" : "Bakendi notandaaðganga",
- "Storage location" : "Staðsetning gagnageymslu",
- "First login" : "Fyrsta innskráning",
- "Last login" : "Síðasta innskráning",
- "Account actions" : "Aðgerðir fyrir aðgang",
- "{size} used" : "{size} notað",
- "Delete account" : "Eyða notandaaðgangi",
- "Disable account" : "Gera notandaaðgang óvirkan",
- "Enable account" : "Virkja notandaaðgang",
- "Resend welcome email" : "Endursenda kveðjupóst",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Týnist tæki eða hætti einhver hjá fyrirtæki/stofnun, þá getur þetta hreinsað fjartengt út öll Nextcloud-gögn af öllum tækjum sem tengd eru {userid}. Virkar bara ef tækin eru tengd internetinu.",
- "Remote wipe of devices" : "Fjartengd útþurrkun af tækjum",
- "Wipe {userid}'s devices" : "Þurrka út af tækjum {userid}",
- "Wiped {userid}'s devices" : "Þurrkaði út af tækjum {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Eyða að fullu notandaaðgangnum {userid}, þar með talið öllum persónulegum skrám viðkomandi, forritsgögnum, o.s.frv.",
- "Account deletion" : "Eyðing á aðgangi",
- "Delete {userid}'s account" : "Eyða notandaaðgangi {userid}",
- "Display name was successfully changed" : "Það tókst að breyta birtingarnafninu",
- "Password was successfully changed" : "Það tókst að breyta lykilorðinu",
- "Email was successfully changed" : "Það tókst að breyta tölvupóstfanginu",
- "Welcome mail sent!" : "Kveðjupóstur sendur!",
- "Loading account …" : "Hleð inn notandaaðgangi …",
- "Change display name" : "Breyta birtingarnafni",
- "Set new password" : "Stilla nýtt lykilorð",
- "You do not have permissions to see the details of this account" : "Þú hefur ekki réttindi til að skoða ítarupplýsingar um þennan notandaaðgang",
- "Set new email address" : "Stilla nýtt tölvupóstfang",
- "Add account to group" : "Bæta notandaaðgangi í hóp",
- "Set account as admin for" : "Setja notandaaðganginn sem stjórnanda fyrir",
- "Select account quota" : "Veldu kvóta notandaaðgangs",
- "Set the language" : "Settu tungumálið",
- "Toggle account actions menu" : "Víxla af/á valmynd fyrir aðgerðir notandaaðgangs",
- "Done" : "Lokið",
- "Edit" : "Breyta",
- "Account management settings" : "Stillingar umsýslu notandaaðgangs",
- "Visibility" : "Sýnileiki",
- "Show language" : "Birta tungumál",
- "Show account backend" : "Birta bakenda notandaaðgangs",
- "Show storage path" : "Birta slóð á gagnageymslu",
- "Show first login" : "Birta fyrstu innskráningu",
- "Show last login" : "Birta síðustu innskráningu",
- "Sorting" : "Röðun",
- "Group list sorting" : "Röðun lista yfir hópa",
- "By member count" : "Eftir fjölda meðlima",
- "By name" : "Eftir nafni",
- "Send email" : "Senda tölvupóst",
- "Send welcome email to new accounts" : "Senda tölvupóst sem býður nýja notendur velkomna",
- "Defaults" : "Sjálfgefin gildi",
- "Default quota" : "Sjálfgefinn kvóti",
- "Select default quota" : "Setja sjálfgefinn kvóta",
- "Server error while trying to complete WebAuthn device registration" : "Villa á þjóni við að ljúka skráningu WebAuthn-tækis",
- "Passwordless authentication requires a secure connection." : "Lykilorðalaus auðkenning krefst öruggrar tengingar.",
- "Add WebAuthn device" : "Bæta við WebAuthn-tæki",
- "Please authorize your WebAuthn device." : "Auðkenndu WebAuthn-tækið þitt.",
- "Adding your device …" : "Bæti við tækinu þínu …",
- "Unnamed device" : "Nafnlaust tæki",
- "Passwordless Authentication" : "Lykilorðalaus auðkenning",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Settu aðganginn þinn upp fyrir lykilorðalausa auðkenningu byggða á FIDO2-staðlinum.",
- "No devices configured." : "Engin tæki skilgreind.",
- "The following devices are configured for your account:" : "Eftirfarandi tæki eru uppsett fyrir notandaaðganginn þinn:",
- "Your browser does not support WebAuthn." : "Vafrinn þinn styður ekki WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Sem stjórnandi geturðu fínstillt hegðun við deilingu. Endilega kíktu á hjálparskjölin til að sjá ítarlegri upplýsingar.",
- "You need to enable the File sharing App." : "Þú verður að virkja skráardeilingarforritið.",
- "App Store" : "Forritasafn",
- "Loading app list" : "Hleð inn forritalista",
- "Loading categories" : "Hleð inn flokkum",
- "Developer documentation ↗" : "Hjálparskjöl þróunaraðila↗",
- "Version {version}, {license}-licensed" : "Útgáfa {version}, {license}-notkunarleyfi",
- "Version {version}" : "Útgáfa {version}",
- "All accounts" : "Allir aðgangar",
- "Admins" : "Kerfisstjórar",
- "Account group: {group}" : "Hópur notendaaðganga: {group}",
- "Account management" : "Umsýsla notandaaðgangs",
"Sending…" : "Sendi...",
"Email sent" : "Tölvupóstur sendur",
"Location" : "Staðsetning",
@@ -607,6 +344,7 @@
"Date of birth" : "Fæðingardagur",
"Full name" : "Fullt nafn",
"Additional email" : "Aukatölvupóstfang",
+ "Email" : "Netfang",
"Fediverse (e.g. Mastodon)" : "Skýjasamband - Fediverse (t.d. Mastodon)",
"Headline" : "Fyrirsögn",
"Organisation" : "Stofnun/Félag/Fyrirtæki",
@@ -616,6 +354,7 @@
"X (formerly Twitter)" : "X (fyrrum Twitter)",
"Website" : "Vefsvæði",
"Profile visibility" : "Sýnileiki notandasniðs",
+ "Language" : "Tungumál",
"Locale" : "Staðfærsla",
"First day of week" : "Fyrsti dagur viku",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Er ekki tiltækt þar sem þessi eiginleiki er nauðsynlegur fyrir kjarnavirkni á borð við skráadeilingu og boð í dagatölum",
@@ -631,6 +370,7 @@
"Show to everyone" : "Birta öllum",
"Show to logged in accounts only" : "Birta einungis hjá innskráðum notendaaðgöngum",
"Hide" : "Fela",
+ "Update to {version}" : "Uppfæra í {version}",
"{progress}% Deploying …" : "{progress}% Sett í gang …",
"{progress}% Initializing …" : "{progress}% Frumstilling …",
"Health checking" : "Ástandsskoðun",
@@ -639,6 +379,7 @@
"Allow untested app" : "Leyfa óprófuð forrit",
"The app will be downloaded from the App Store" : "Forritið verður sótt úr forritabúðinni",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Þetta forrit er merkt sem ekki samhæft við þína útgáfu af Nextcloud. Ef þú heldur áfram er mögulegt að þú getir samt sett forritið upp. En athugaðu þá að ekki er víst að forritið virki eins og skyldi.",
+ "{size} used" : "{size} notað",
"Unknown" : "Óþekkt",
"Never" : "Aldrei",
"An error occurred during the request. Unable to proceed." : "Villa kom upp við beiðnina. Get ekki haldið áfram.",
@@ -651,8 +392,10 @@
"Error while updating device token scope" : "Villa við að uppfæra gildissvið fyrir teikn tækisins",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Það komu of margar beiðnir frá netkerfinu þínu. Reyndu aftur eða hafðu samband við kerfisstjóra ef þetta er ekki rétt.",
"Error" : "Villa",
+ "Default quota" : "Sjálfgefinn kvóti",
"Account documentation" : "Hjálparskjöl fyrir notendaaðganga",
"Administration documentation" : "Hjálparskjöl fyrir stjórnendur",
+ "Documentation" : "Hjálparskjöl",
"Forum" : "Vefspjall",
"General documentation" : "Almenn hjálparskjöl",
"Legal notice" : "Lagaleg atriði",
@@ -674,6 +417,7 @@
"SMTP Password" : "SMTP-lykilorð",
"Save" : "Vista",
"Test and verify email settings" : "Prófa og staðfesta tölvupóststillingar",
+ "Send email" : "Senda tölvupóst",
"Security & setup warnings" : "Öryggi og aðvaranir vegna uppsetningar",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Það er mikilvægt fyrir öryggi og afköst uppsetningarinnar þinnar að allt sé rétt stillt. Til að hjálpa við að svo sé, eru gerðar ýmsar sjálfvirkar prófanir. Skoðaðu hjálparskjölin til að sjá ítarlegar upplýsingar.",
"All checks passed." : "Stóðst allar prófanir.",
@@ -696,9 +440,6 @@
"File locking" : "Skráalæsing",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "Færslulæsing skráa (transactional file locking) er óvirk, þetta gæti leitt til vandamála út frá forgangsskilyrðum (race conditions). Virkjaðu 'filelocking.enabled' í config.php til að forðast slík vandamál.",
"The PHP memory limit is below the recommended value of %s." : "Minnismörk PHP eru lægri en gildið sem mælt er með; %s.",
- "Set default expiration date for shares" : "Setja sjálfgefinn gildistíma fyrir sameignir",
- "Your biography" : "Æviágrip þitt",
- "You are using <strong>{usage}</strong>" : "Þú ert að nota <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Þú ert að nota <strong>{usage}</strong> af <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Setja sjálfgefinn gildistíma fyrir sameignir"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/it.js b/apps/settings/l10n/it.js
index c1db5c0be0c..224e06bedb4 100644
--- a/apps/settings/l10n/it.js
+++ b/apps/settings/l10n/it.js
@@ -367,64 +367,6 @@ OC.L10N.register(
"Loading groups…" : "Caricamento gruppi...",
"Nothing to show" : "Niente da mostrare",
"Loading" : "Caricamento",
- "Carousel" : "Carosello",
- "Daemon" : "Demone",
- "Type" : "Tipo",
- "Display Name" : "Nome visualizzato",
- "Learn more" : "Scopri altro",
- "Confirm" : "Conferma",
- "Cancel" : "Annulla",
- "Description" : "Descrizione",
- "View in store" : "Visualizza nell'archivio",
- "Visit website" : "Visita il sito web",
- "Usage documentation" : "Manuale d'uso",
- "Admin documentation" : "Documentazione di amministrazione",
- "Developer documentation" : "Documentazione dello sviluppatore",
- "Details" : "Dettagli",
- "All" : "Tutti",
- "Limit app usage to groups" : "Limita l'utilizzo dell'applicazione a gruppi",
- "No results" : "Nessun risultato",
- "Update to {version}" : "Aggiorna a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Questa applicazione non contiene l'informazione della versione minima di Nextcloud richiesta. In futuro ciò sarà considerato un errore.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Questa applicazione non contiene l'informazione della versione massima di Nextcloud richiesta. In futuro ciò sarà considerato un errore.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Questa applicazione non può essere installata perché le seguenti dipendenze non sono soddisfatte:",
- "Author" : "Autore",
- "Categories" : "Categorie",
- "Resources" : "Risorse",
- "Documentation" : "Documentazione",
- "Interact" : "Interagisci",
- "Report a bug" : "Segnala un bug",
- "Request feature" : "Richiedi funzionalità",
- "Ask questions or discuss" : "Domanda o discuti",
- "Rate the app" : "Valuta l'applicazione",
- "Rate" : "Valuta",
- "Changelog" : "Novità",
- "Google Chrome for Android" : "Google Chrome per Android",
- "{productName} iOS app" : "Applicazione iOS di {productName}",
- "{productName} Android app" : "Applicazione Android di {productName}",
- "{productName} Talk for iOS" : "{productName} Talk per iOS",
- "{productName} Talk for Android" : "{productName} Talk per Android",
- "Sync client" : "Client di sincronizzazione",
- "This session" : "Questa sessione",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nome dispositivo",
- "Cancel renaming" : "Annulla la rinomina",
- "Save new name" : "Salva nuovo nome",
- "Marked for remote wipe" : "Marcato come cancellazione remota",
- "Device settings" : "Impostazioni dei dispositivi",
- "Allow filesystem access" : "Consenti accesso al filesystem",
- "Rename" : "Rinomina",
- "Revoke" : "Revoca",
- "Wipe device" : "Cancella dispositivo",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "La revoca di questo token potrebbe impedire la cancellazione del tuo dispositivo se non ha ancora iniziato la cancellazione.",
- "Device" : "Dispositivo",
- "Last activity" : "Ultima attività",
- "Devices & sessions" : "Dispositivi e sessioni",
- "Web, desktop and mobile clients currently logged in to your account." : "Client web, desktop e mobile attualmente connessi al tuo account.",
- "Error while creating device token" : "Errore durante la creazione del token di dispositivo",
- "App name" : "Nome applicazione",
- "Create new app password" : "Crea nuova password di applicazione",
"App password copied!" : "Password dell'applicazione copiata!",
"Copy app password" : "Copia password dell'applicazione",
"Login name copied!" : "Nome di accesso copiato!",
@@ -463,147 +405,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ti consigliamo di creare copie di sicurezza dei tuoi dati con regolarità, in caso di utilizzo della cifratura, assicurati di creare una copia delle chiavi di cifratura insieme ai tuoi dati.",
"This is the final warning: Do you really want to enable encryption?" : "Questo è l'ultimo avviso: vuoi davvero abilitare la cifratura?",
"Please confirm the group removal" : "Conferma la rimozione del gruppo",
+ "Cancel" : "Annulla",
+ "Confirm" : "Conferma",
"Submit" : "Invia",
"Rename group" : "Rinomina gruppo",
- "Current password" : "Password attuale",
- "New password" : "Nuova password",
- "Change password" : "Modifica password",
- "Choose your profile picture" : "Scegli la tua immagine del profilo",
- "Please select a valid png or jpg file" : "Scegli un file png o jpg valido",
- "Error setting profile picture" : "Errore durante l'impostazione dell'immagine del profilo",
- "Error cropping profile picture" : "Errore durante il ritaglio dell'immagine del profilo",
- "Error saving profile picture" : "Errore durante il salvataggio dell'immagine del profilo",
- "Error removing profile picture" : "Errore durante la rimozione dell'immagine del profilo",
- "Your profile picture" : "La tua immagine del profilo",
- "Upload profile picture" : "Carica immagine del profilo",
- "Choose profile picture from Files" : "Scegli immagine del profilo da File",
- "Remove profile picture" : "Rimuovi immagine del profilo",
- "The file must be a PNG or JPG" : "Il file deve essere una PNG o JPG",
- "Picture provided by original account" : "Immagine fornita dall'account originale",
- "Set as profile picture" : "Imposta come immagine del profilo",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Tieni presente che possono essere necessarie fino a 24 ore prima che l'immagine del profilo venga aggiornata dappertutto.",
- "You are a member of the following groups:" : "Sei un membro dei seguenti gruppi:",
- "Your full name" : "Il tuo nome completo",
- "Email options" : "Opzioni email",
- "Remove primary email" : "Rimuovi email principale",
- "Delete email" : "Elimina email",
- "This address is not confirmed" : "Questo indirizzo non è confermato",
- "Unset as primary email" : "Togli dall'email principale",
- "Set as primary email" : "Imposta come email principale",
- "Additional email address {index}" : "Indirizzo email aggiuntivo {index}",
- "Unable to delete primary email address" : "Impossibile eliminare l'indirizzo di posta principale",
- "Unable to update primary email address" : "Impossibile aggiornare l'indirizzo di posta principale",
- "Unable to add additional email address" : "Impossibile aggiungere l'indirizzo di posta aggiuntivo",
- "Unable to update additional email address" : "Impossibile aggiornare l'indirizzo di posta aggiuntivo",
- "Unable to delete additional email address" : "Impossibile eliminare l'indirizzo di posta aggiuntivo",
- "Primary email for password reset and notifications" : "Email principale per ripristino della password e notifiche",
- "No email address set" : "Nessun indirizzo email impostato",
- "Your handle" : "Il tuo collegamento",
- "Your headline" : "Il tuo titolo",
- "Unable to update language" : "Impossibile aggiornare la lingua",
- "Languages" : "Lingue",
- "Help translate" : "Migliora la traduzione",
- "No language set" : "Nessuna lingua impostata",
- "Unable to update locale" : "Impossibile aggiornare la lingua",
- "Week starts on {firstDayOfWeek}" : "La settimana inizia: {firstDayOfWeek}",
- "No locale set" : "Nessuna lingua impostata",
- "Your city" : "La tua città",
- "Your organisation" : "La tua organizzazione",
- "Your phone number" : "Il tuo numero di telefono",
- "Edit your Profile visibility" : "Modifica la visibilità del profilo",
- "Unable to update profile enabled state" : "Impossibile aggiornare lo stato di attivazione del profilo",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "L'impostazione più restrittiva di visibilità o ambito è rispettata sul tuo profilo. Ad esempio, quando la visibilità è su \"Mostra a tutti\" e l'ambito è su \"Privato\", verrà rispettato \"Privato\".",
- "Unable to update visibility of {displayId}" : "Impossibile aggiornare la visibilità di {displayId}",
- "Your role" : "Il tuo ruolo",
- "Your X (formerly Twitter) handle" : "Il tuo handle di X (ex Twitter)",
- "Your website" : "Il tuo sito web",
- "Invalid value" : "Valore non valido",
- "Unable to update {property}" : "Impossibile aggiornare {property}",
- "No {property} set" : "Nessun {property} impostato",
- "Change scope level of {property}, current scope is {scope}" : "Cambia libello di ambito di {property}, l'attuale ambito è {scope}",
- "Unable to update federation scope of the primary {property}" : "Impossibile aggiornare l'ambito federativo del {property} primario",
- "Unable to update federation scope of additional {property}" : "Impossibile aggiornare l'ambito federativo del {property} aggiuntivo",
- "Add additional email" : "Aggiungi email aggiuntiva",
- "Add" : "Aggiungi",
- "Create" : "Crea",
- "Change" : "Modifica",
- "Delete" : "Elimina",
- "Reshare" : "Ri-condividi",
- "Default language" : "Lingua predefinita",
- "Common languages" : "Lingue comuni",
- "Other languages" : "Altre lingue",
- "Password change is disabled because the master key is disabled" : "La modifica della password è disabilitata poiché la chiave principale è disabilitata",
- "Loading accounts …" : "Caricamento account in corso...",
- "Manager" : "Responsabile",
- "Failed to search groups" : "Impossibile cercare i gruppi",
- "New account" : "Nuovo account",
- "Display name" : "Nome visualizzato",
- "Either password or email is required" : "La password o l'email è necessaria",
- "Password (required)" : "Password (richiesta)",
- "Email (required)" : "Email (richiesta)",
- "Email" : "Posta elettronica",
- "Member of the following groups" : "Membro dei seguenti gruppi",
- "Quota" : "Quote",
- "Language" : "Lingua",
- "Set default language" : "Imposta lingua predefinita",
- "Total rows summary" : "Riepilogo totale delle righe",
- "Scroll to load more rows" : "Scorri per caricare più righe",
- "Password or insufficient permissions message" : "Messaggio password o permessi insufficienti",
- "Avatar" : "Avatar",
- "Account name" : "Nome account",
- "Group admin for" : "Amministratore per il gruppo",
- "Storage location" : "Posizione di archiviazione",
- "Last login" : "Ultimo accesso",
- "Account actions" : "Azioni account",
- "{size} used" : "{size} utilizzati",
- "Delete account" : "Elimina account",
- "Disable account" : "Disabilita account",
- "Enable account" : "Abilita account",
- "Resend welcome email" : "Invia nuovamente email di benvenuto",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "In caso di smarrimento di un dispositivo o uscita dall'organizzazione, questa funzione può cancellare a distanza i dati di Nextcloud da tutti i dispositivi associati a {userid}. Funziona solo se i dispositivi sono connessi a Internet.",
- "Remote wipe of devices" : "Cancellazione remota dei dispositivi",
- "Wipe {userid}'s devices" : "Cancella i dispositivi di {userid}",
- "Wiped {userid}'s devices" : "Dispositivi di {userid} cancellati",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Elimina completamente l'account {userid} inclusi tutti i file personali, i dati delle applicazioni, ecc.",
- "Account deletion" : "Eliminazione account",
- "Delete {userid}'s account" : "Elimina l'account di {userid}",
- "Display name was successfully changed" : "Nome visualizzato modificato correttamente",
- "Password was successfully changed" : "Password modificata correttamente",
- "Email was successfully changed" : "Email modificata correttamente",
- "Welcome mail sent!" : "Email di benvenuto inviata!",
- "Change display name" : "Cambia nome visualizzato",
- "Set new password" : "Imposta una nuova password",
- "Set new email address" : "Imposta un nuovo indirizzo email",
- "Set the language" : "Imposta la lingua",
- "Done" : "Completato",
- "Edit" : "Modifica",
- "Visibility" : "Visibilità",
- "Show language" : "Mostra lingua",
- "Show storage path" : "Mostra percorso di archiviazione",
- "Show last login" : "Mostra ultimo accesso",
- "Sorting" : "Ordina",
- "By member count" : "Per numero di partecipanti",
- "By name" : "Per nome",
- "Send email" : "Invia email",
- "Send welcome email to new accounts" : "Invia email di benvenuto ai nuovi utenti",
- "Defaults" : "Predefiniti",
- "Default quota" : "Quota predefinita",
- "Select default quota" : "Seleziona la quota predefinita",
- "Server error while trying to complete WebAuthn device registration" : "Errore del server durante il tentativo di completare la registrazione del dispositivo WebAuthn",
- "Passwordless authentication requires a secure connection." : "L'autenticazione senza password richiede una connessione sicura.",
- "Add WebAuthn device" : "Aggiungi dispositivo WebAuthn",
- "Please authorize your WebAuthn device." : "Autorizza il tuo dispositivo WebAuthn.",
- "Adding your device …" : "Aggiunta del tuo dispositivo…",
- "Unnamed device" : "Dispositivo senza nome",
- "Passwordless Authentication" : "Autenticazione senza password",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configura il tuo account per l'autenticazione senza password seguendo lo standard FIDO2.",
- "No devices configured." : "Nessun dispositivo configurato.",
- "The following devices are configured for your account:" : "I seguenti dispositivi sono configurati per il tuo account:",
- "Your browser does not support WebAuthn." : "Il tuo browser non supporta WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "In qualità di amministratore puoi configurare in modo granulare il comportamento della condivisione. Vedi la documentazione per ulteriori informazioni.",
- "You need to enable the File sharing App." : "Devi attivare l'applicazione Condivisione file.",
- "App Store" : "App Store",
- "Admins" : "Amministratori",
"Sending…" : "Invio in corso...",
"Email sent" : "Email inviata",
"Location" : "Posizione",
@@ -611,6 +416,7 @@ OC.L10N.register(
"About" : "Informazioni",
"Full name" : "Nome completo",
"Additional email" : "Email aggiuntiva",
+ "Email" : "Posta elettronica",
"Fediverse (e.g. Mastodon)" : "Fediverso (es. Mastodon)",
"Headline" : "Titolo",
"Organisation" : "Organizzazione",
@@ -620,6 +426,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (ex Twitter)",
"Website" : "Sito web",
"Profile visibility" : "Visibilità del profilo",
+ "Language" : "Lingua",
"Locale" : "Localizzazione",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non disponibile poiché questa proprietà è necessaria per funzioni di base inclusi la condivisione di file e gli inviti via calendario.",
"Your apps" : "Le tue applicazioni",
@@ -632,11 +439,13 @@ OC.L10N.register(
"Show to everyone" : "Mostra a tutti",
"Show to logged in accounts only" : "Mostra solo agli account che hanno effettuato l'accesso",
"Hide" : "Nascondi",
+ "Update to {version}" : "Aggiorna a {version}",
"Download and enable" : "Scarica e abilita",
"Disable" : "Disabilita",
"Allow untested app" : "Consenti applicazione non verificata",
"The app will be downloaded from the App Store" : "L'applicazione sarà scaricata dal negozio delle applicazioni",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Questa applicazione non è marcata come compatibile con la tua versione di Nextcloud. Se continui sarai ancora in grado di installare l'applicazione. Nota che l'applicazione potrebbe non funzionare come previsto.",
+ "{size} used" : "{size} utilizzati",
"Unknown" : "Sconosciuto",
"Never" : "Mai",
"An error occurred during the request. Unable to proceed." : "Si è verificato un errore durante la richiesta. Impossibile continuare.",
@@ -650,8 +459,10 @@ OC.L10N.register(
"Error while updating device token scope" : "Errore durante l'aggiornamento del campo del token del dispositivo",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Sono arrivate troppe richieste dalla tua rete. Riprova più tardi o contatta il tuo amministratore se questo è un errore.",
"Error" : "Errore",
+ "Default quota" : "Quota predefinita",
"Account documentation" : "Documentazione dell'account",
"Administration documentation" : "Documentazione di amministrazione",
+ "Documentation" : "Documentazione",
"Forum" : "Forum",
"General documentation" : "Documentazione generale",
"Legal notice" : "Avviso legale",
@@ -672,6 +483,7 @@ OC.L10N.register(
"SMTP Password" : "Password SMTP",
"Save" : "Salva",
"Test and verify email settings" : "Prova e verifica impostazioni email",
+ "Send email" : "Invia email",
"Security & setup warnings" : "Avvisi di sicurezza e di configurazione",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "È importante per la sicurezza e le prestazioni della tua istanza che tutto sia configurato correttamente. Per aiutarti in questo senso, stiamo eseguendo alcuni controlli automatici. Vedi la documentazione collegata per ulteriori informazioni.",
"All checks passed." : "Tutti i controlli passati.",
@@ -693,9 +505,6 @@ OC.L10N.register(
"File locking" : "Blocco dei file",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "Il blocco di file transazionale è disattivato, ciò potrebbe comportare problemi di race condition. Attiva \"filelocking.enabled\" nel config.php per evitare questi problemi.",
"The PHP memory limit is below the recommended value of %s." : "Il limite di memoria di PHP è inferiore al valore consigliato di %s.",
- "Set default expiration date for shares" : "Imposta data di scadenza predefinita per le condivisioni",
- "Your biography" : "La tua biografia",
- "You are using <strong>{usage}</strong>" : "Stai utilizzando <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Stai utilizzando <strong>{usage}</strong> di <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Imposta data di scadenza predefinita per le condivisioni"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/settings/l10n/it.json b/apps/settings/l10n/it.json
index dbe163f0346..e4246934be2 100644
--- a/apps/settings/l10n/it.json
+++ b/apps/settings/l10n/it.json
@@ -365,64 +365,6 @@
"Loading groups…" : "Caricamento gruppi...",
"Nothing to show" : "Niente da mostrare",
"Loading" : "Caricamento",
- "Carousel" : "Carosello",
- "Daemon" : "Demone",
- "Type" : "Tipo",
- "Display Name" : "Nome visualizzato",
- "Learn more" : "Scopri altro",
- "Confirm" : "Conferma",
- "Cancel" : "Annulla",
- "Description" : "Descrizione",
- "View in store" : "Visualizza nell'archivio",
- "Visit website" : "Visita il sito web",
- "Usage documentation" : "Manuale d'uso",
- "Admin documentation" : "Documentazione di amministrazione",
- "Developer documentation" : "Documentazione dello sviluppatore",
- "Details" : "Dettagli",
- "All" : "Tutti",
- "Limit app usage to groups" : "Limita l'utilizzo dell'applicazione a gruppi",
- "No results" : "Nessun risultato",
- "Update to {version}" : "Aggiorna a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Questa applicazione non contiene l'informazione della versione minima di Nextcloud richiesta. In futuro ciò sarà considerato un errore.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Questa applicazione non contiene l'informazione della versione massima di Nextcloud richiesta. In futuro ciò sarà considerato un errore.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Questa applicazione non può essere installata perché le seguenti dipendenze non sono soddisfatte:",
- "Author" : "Autore",
- "Categories" : "Categorie",
- "Resources" : "Risorse",
- "Documentation" : "Documentazione",
- "Interact" : "Interagisci",
- "Report a bug" : "Segnala un bug",
- "Request feature" : "Richiedi funzionalità",
- "Ask questions or discuss" : "Domanda o discuti",
- "Rate the app" : "Valuta l'applicazione",
- "Rate" : "Valuta",
- "Changelog" : "Novità",
- "Google Chrome for Android" : "Google Chrome per Android",
- "{productName} iOS app" : "Applicazione iOS di {productName}",
- "{productName} Android app" : "Applicazione Android di {productName}",
- "{productName} Talk for iOS" : "{productName} Talk per iOS",
- "{productName} Talk for Android" : "{productName} Talk per Android",
- "Sync client" : "Client di sincronizzazione",
- "This session" : "Questa sessione",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nome dispositivo",
- "Cancel renaming" : "Annulla la rinomina",
- "Save new name" : "Salva nuovo nome",
- "Marked for remote wipe" : "Marcato come cancellazione remota",
- "Device settings" : "Impostazioni dei dispositivi",
- "Allow filesystem access" : "Consenti accesso al filesystem",
- "Rename" : "Rinomina",
- "Revoke" : "Revoca",
- "Wipe device" : "Cancella dispositivo",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "La revoca di questo token potrebbe impedire la cancellazione del tuo dispositivo se non ha ancora iniziato la cancellazione.",
- "Device" : "Dispositivo",
- "Last activity" : "Ultima attività",
- "Devices & sessions" : "Dispositivi e sessioni",
- "Web, desktop and mobile clients currently logged in to your account." : "Client web, desktop e mobile attualmente connessi al tuo account.",
- "Error while creating device token" : "Errore durante la creazione del token di dispositivo",
- "App name" : "Nome applicazione",
- "Create new app password" : "Crea nuova password di applicazione",
"App password copied!" : "Password dell'applicazione copiata!",
"Copy app password" : "Copia password dell'applicazione",
"Login name copied!" : "Nome di accesso copiato!",
@@ -461,147 +403,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ti consigliamo di creare copie di sicurezza dei tuoi dati con regolarità, in caso di utilizzo della cifratura, assicurati di creare una copia delle chiavi di cifratura insieme ai tuoi dati.",
"This is the final warning: Do you really want to enable encryption?" : "Questo è l'ultimo avviso: vuoi davvero abilitare la cifratura?",
"Please confirm the group removal" : "Conferma la rimozione del gruppo",
+ "Cancel" : "Annulla",
+ "Confirm" : "Conferma",
"Submit" : "Invia",
"Rename group" : "Rinomina gruppo",
- "Current password" : "Password attuale",
- "New password" : "Nuova password",
- "Change password" : "Modifica password",
- "Choose your profile picture" : "Scegli la tua immagine del profilo",
- "Please select a valid png or jpg file" : "Scegli un file png o jpg valido",
- "Error setting profile picture" : "Errore durante l'impostazione dell'immagine del profilo",
- "Error cropping profile picture" : "Errore durante il ritaglio dell'immagine del profilo",
- "Error saving profile picture" : "Errore durante il salvataggio dell'immagine del profilo",
- "Error removing profile picture" : "Errore durante la rimozione dell'immagine del profilo",
- "Your profile picture" : "La tua immagine del profilo",
- "Upload profile picture" : "Carica immagine del profilo",
- "Choose profile picture from Files" : "Scegli immagine del profilo da File",
- "Remove profile picture" : "Rimuovi immagine del profilo",
- "The file must be a PNG or JPG" : "Il file deve essere una PNG o JPG",
- "Picture provided by original account" : "Immagine fornita dall'account originale",
- "Set as profile picture" : "Imposta come immagine del profilo",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Tieni presente che possono essere necessarie fino a 24 ore prima che l'immagine del profilo venga aggiornata dappertutto.",
- "You are a member of the following groups:" : "Sei un membro dei seguenti gruppi:",
- "Your full name" : "Il tuo nome completo",
- "Email options" : "Opzioni email",
- "Remove primary email" : "Rimuovi email principale",
- "Delete email" : "Elimina email",
- "This address is not confirmed" : "Questo indirizzo non è confermato",
- "Unset as primary email" : "Togli dall'email principale",
- "Set as primary email" : "Imposta come email principale",
- "Additional email address {index}" : "Indirizzo email aggiuntivo {index}",
- "Unable to delete primary email address" : "Impossibile eliminare l'indirizzo di posta principale",
- "Unable to update primary email address" : "Impossibile aggiornare l'indirizzo di posta principale",
- "Unable to add additional email address" : "Impossibile aggiungere l'indirizzo di posta aggiuntivo",
- "Unable to update additional email address" : "Impossibile aggiornare l'indirizzo di posta aggiuntivo",
- "Unable to delete additional email address" : "Impossibile eliminare l'indirizzo di posta aggiuntivo",
- "Primary email for password reset and notifications" : "Email principale per ripristino della password e notifiche",
- "No email address set" : "Nessun indirizzo email impostato",
- "Your handle" : "Il tuo collegamento",
- "Your headline" : "Il tuo titolo",
- "Unable to update language" : "Impossibile aggiornare la lingua",
- "Languages" : "Lingue",
- "Help translate" : "Migliora la traduzione",
- "No language set" : "Nessuna lingua impostata",
- "Unable to update locale" : "Impossibile aggiornare la lingua",
- "Week starts on {firstDayOfWeek}" : "La settimana inizia: {firstDayOfWeek}",
- "No locale set" : "Nessuna lingua impostata",
- "Your city" : "La tua città",
- "Your organisation" : "La tua organizzazione",
- "Your phone number" : "Il tuo numero di telefono",
- "Edit your Profile visibility" : "Modifica la visibilità del profilo",
- "Unable to update profile enabled state" : "Impossibile aggiornare lo stato di attivazione del profilo",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "L'impostazione più restrittiva di visibilità o ambito è rispettata sul tuo profilo. Ad esempio, quando la visibilità è su \"Mostra a tutti\" e l'ambito è su \"Privato\", verrà rispettato \"Privato\".",
- "Unable to update visibility of {displayId}" : "Impossibile aggiornare la visibilità di {displayId}",
- "Your role" : "Il tuo ruolo",
- "Your X (formerly Twitter) handle" : "Il tuo handle di X (ex Twitter)",
- "Your website" : "Il tuo sito web",
- "Invalid value" : "Valore non valido",
- "Unable to update {property}" : "Impossibile aggiornare {property}",
- "No {property} set" : "Nessun {property} impostato",
- "Change scope level of {property}, current scope is {scope}" : "Cambia libello di ambito di {property}, l'attuale ambito è {scope}",
- "Unable to update federation scope of the primary {property}" : "Impossibile aggiornare l'ambito federativo del {property} primario",
- "Unable to update federation scope of additional {property}" : "Impossibile aggiornare l'ambito federativo del {property} aggiuntivo",
- "Add additional email" : "Aggiungi email aggiuntiva",
- "Add" : "Aggiungi",
- "Create" : "Crea",
- "Change" : "Modifica",
- "Delete" : "Elimina",
- "Reshare" : "Ri-condividi",
- "Default language" : "Lingua predefinita",
- "Common languages" : "Lingue comuni",
- "Other languages" : "Altre lingue",
- "Password change is disabled because the master key is disabled" : "La modifica della password è disabilitata poiché la chiave principale è disabilitata",
- "Loading accounts …" : "Caricamento account in corso...",
- "Manager" : "Responsabile",
- "Failed to search groups" : "Impossibile cercare i gruppi",
- "New account" : "Nuovo account",
- "Display name" : "Nome visualizzato",
- "Either password or email is required" : "La password o l'email è necessaria",
- "Password (required)" : "Password (richiesta)",
- "Email (required)" : "Email (richiesta)",
- "Email" : "Posta elettronica",
- "Member of the following groups" : "Membro dei seguenti gruppi",
- "Quota" : "Quote",
- "Language" : "Lingua",
- "Set default language" : "Imposta lingua predefinita",
- "Total rows summary" : "Riepilogo totale delle righe",
- "Scroll to load more rows" : "Scorri per caricare più righe",
- "Password or insufficient permissions message" : "Messaggio password o permessi insufficienti",
- "Avatar" : "Avatar",
- "Account name" : "Nome account",
- "Group admin for" : "Amministratore per il gruppo",
- "Storage location" : "Posizione di archiviazione",
- "Last login" : "Ultimo accesso",
- "Account actions" : "Azioni account",
- "{size} used" : "{size} utilizzati",
- "Delete account" : "Elimina account",
- "Disable account" : "Disabilita account",
- "Enable account" : "Abilita account",
- "Resend welcome email" : "Invia nuovamente email di benvenuto",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "In caso di smarrimento di un dispositivo o uscita dall'organizzazione, questa funzione può cancellare a distanza i dati di Nextcloud da tutti i dispositivi associati a {userid}. Funziona solo se i dispositivi sono connessi a Internet.",
- "Remote wipe of devices" : "Cancellazione remota dei dispositivi",
- "Wipe {userid}'s devices" : "Cancella i dispositivi di {userid}",
- "Wiped {userid}'s devices" : "Dispositivi di {userid} cancellati",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Elimina completamente l'account {userid} inclusi tutti i file personali, i dati delle applicazioni, ecc.",
- "Account deletion" : "Eliminazione account",
- "Delete {userid}'s account" : "Elimina l'account di {userid}",
- "Display name was successfully changed" : "Nome visualizzato modificato correttamente",
- "Password was successfully changed" : "Password modificata correttamente",
- "Email was successfully changed" : "Email modificata correttamente",
- "Welcome mail sent!" : "Email di benvenuto inviata!",
- "Change display name" : "Cambia nome visualizzato",
- "Set new password" : "Imposta una nuova password",
- "Set new email address" : "Imposta un nuovo indirizzo email",
- "Set the language" : "Imposta la lingua",
- "Done" : "Completato",
- "Edit" : "Modifica",
- "Visibility" : "Visibilità",
- "Show language" : "Mostra lingua",
- "Show storage path" : "Mostra percorso di archiviazione",
- "Show last login" : "Mostra ultimo accesso",
- "Sorting" : "Ordina",
- "By member count" : "Per numero di partecipanti",
- "By name" : "Per nome",
- "Send email" : "Invia email",
- "Send welcome email to new accounts" : "Invia email di benvenuto ai nuovi utenti",
- "Defaults" : "Predefiniti",
- "Default quota" : "Quota predefinita",
- "Select default quota" : "Seleziona la quota predefinita",
- "Server error while trying to complete WebAuthn device registration" : "Errore del server durante il tentativo di completare la registrazione del dispositivo WebAuthn",
- "Passwordless authentication requires a secure connection." : "L'autenticazione senza password richiede una connessione sicura.",
- "Add WebAuthn device" : "Aggiungi dispositivo WebAuthn",
- "Please authorize your WebAuthn device." : "Autorizza il tuo dispositivo WebAuthn.",
- "Adding your device …" : "Aggiunta del tuo dispositivo…",
- "Unnamed device" : "Dispositivo senza nome",
- "Passwordless Authentication" : "Autenticazione senza password",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configura il tuo account per l'autenticazione senza password seguendo lo standard FIDO2.",
- "No devices configured." : "Nessun dispositivo configurato.",
- "The following devices are configured for your account:" : "I seguenti dispositivi sono configurati per il tuo account:",
- "Your browser does not support WebAuthn." : "Il tuo browser non supporta WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "In qualità di amministratore puoi configurare in modo granulare il comportamento della condivisione. Vedi la documentazione per ulteriori informazioni.",
- "You need to enable the File sharing App." : "Devi attivare l'applicazione Condivisione file.",
- "App Store" : "App Store",
- "Admins" : "Amministratori",
"Sending…" : "Invio in corso...",
"Email sent" : "Email inviata",
"Location" : "Posizione",
@@ -609,6 +414,7 @@
"About" : "Informazioni",
"Full name" : "Nome completo",
"Additional email" : "Email aggiuntiva",
+ "Email" : "Posta elettronica",
"Fediverse (e.g. Mastodon)" : "Fediverso (es. Mastodon)",
"Headline" : "Titolo",
"Organisation" : "Organizzazione",
@@ -618,6 +424,7 @@
"X (formerly Twitter)" : "X (ex Twitter)",
"Website" : "Sito web",
"Profile visibility" : "Visibilità del profilo",
+ "Language" : "Lingua",
"Locale" : "Localizzazione",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non disponibile poiché questa proprietà è necessaria per funzioni di base inclusi la condivisione di file e gli inviti via calendario.",
"Your apps" : "Le tue applicazioni",
@@ -630,11 +437,13 @@
"Show to everyone" : "Mostra a tutti",
"Show to logged in accounts only" : "Mostra solo agli account che hanno effettuato l'accesso",
"Hide" : "Nascondi",
+ "Update to {version}" : "Aggiorna a {version}",
"Download and enable" : "Scarica e abilita",
"Disable" : "Disabilita",
"Allow untested app" : "Consenti applicazione non verificata",
"The app will be downloaded from the App Store" : "L'applicazione sarà scaricata dal negozio delle applicazioni",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Questa applicazione non è marcata come compatibile con la tua versione di Nextcloud. Se continui sarai ancora in grado di installare l'applicazione. Nota che l'applicazione potrebbe non funzionare come previsto.",
+ "{size} used" : "{size} utilizzati",
"Unknown" : "Sconosciuto",
"Never" : "Mai",
"An error occurred during the request. Unable to proceed." : "Si è verificato un errore durante la richiesta. Impossibile continuare.",
@@ -648,8 +457,10 @@
"Error while updating device token scope" : "Errore durante l'aggiornamento del campo del token del dispositivo",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Sono arrivate troppe richieste dalla tua rete. Riprova più tardi o contatta il tuo amministratore se questo è un errore.",
"Error" : "Errore",
+ "Default quota" : "Quota predefinita",
"Account documentation" : "Documentazione dell'account",
"Administration documentation" : "Documentazione di amministrazione",
+ "Documentation" : "Documentazione",
"Forum" : "Forum",
"General documentation" : "Documentazione generale",
"Legal notice" : "Avviso legale",
@@ -670,6 +481,7 @@
"SMTP Password" : "Password SMTP",
"Save" : "Salva",
"Test and verify email settings" : "Prova e verifica impostazioni email",
+ "Send email" : "Invia email",
"Security & setup warnings" : "Avvisi di sicurezza e di configurazione",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "È importante per la sicurezza e le prestazioni della tua istanza che tutto sia configurato correttamente. Per aiutarti in questo senso, stiamo eseguendo alcuni controlli automatici. Vedi la documentazione collegata per ulteriori informazioni.",
"All checks passed." : "Tutti i controlli passati.",
@@ -691,9 +503,6 @@
"File locking" : "Blocco dei file",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "Il blocco di file transazionale è disattivato, ciò potrebbe comportare problemi di race condition. Attiva \"filelocking.enabled\" nel config.php per evitare questi problemi.",
"The PHP memory limit is below the recommended value of %s." : "Il limite di memoria di PHP è inferiore al valore consigliato di %s.",
- "Set default expiration date for shares" : "Imposta data di scadenza predefinita per le condivisioni",
- "Your biography" : "La tua biografia",
- "You are using <strong>{usage}</strong>" : "Stai utilizzando <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Stai utilizzando <strong>{usage}</strong> di <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Imposta data di scadenza predefinita per le condivisioni"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ja.js b/apps/settings/l10n/ja.js
index 87cfe42f3ea..ca6c5a55880 100644
--- a/apps/settings/l10n/ja.js
+++ b/apps/settings/l10n/ja.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP ヘッダー",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP ヘッダーが `%2$s` に設定されていません。この設定を調整することが推奨されているため、一部の機能が正しく動作しない可能性があります。",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP ヘッダーが `%2$s` に設定されていません。これはセキュリティやプライバシーのリスクとなる可能性があるため、この設定を調整することが推奨されています。",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP ヘッダーに `%2$s` が含まれていません。これはセキュリティやプライバシーのリスクとなる可能性があるため、この設定を調整することが推奨されています。",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- `%1$s` HTTP ヘッダーが `%2$s`, `%3$s`, `%4$s`, `%5$s` または `%6$s`. に設定されていません。これにより、リファラー情報が漏れる可能性があります。詳しくは {w3c-recommendation} を参照してください。",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- `Strict-Transport-Security` HTTPヘッダーが少なくとも `%d` 秒に設定されていません(現在の値:`%d`)。セキュリティを強化するために、長期間のHSTSポリシーを使用することを推奨します。",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- `Strict-Transport-Security` HTTPヘッダーが不正です: `%s`。セキュリティを強化するために、HSTSを有効にすることを推奨します。",
@@ -447,97 +446,6 @@ OC.L10N.register(
"Could not load section content from app store." : "アプリストアからセクションの内容を読み込めませんでした。",
"Loading" : "読み込み中",
"Fetching the latest news…" : "最新のニュースを取得しています...",
- "Carousel" : "カルーセル",
- "Previous slide" : "前のスライド",
- "Next slide" : "次のスライド",
- "Choose slide to display" : "表示するスライドを選択",
- "{index} of {total}" : "{total} のうち {index}",
- "Daemon" : "デーモン",
- "Deploy Daemon" : "デーモンのデプロイ",
- "Type" : "タイプ",
- "Display Name" : "表示名",
- "GPUs support" : "GPUサポート",
- "Compute device" : "計算デバイス",
- "Advanced deploy options" : "高度なデプロイオプション",
- "Edit ExApp deploy options before installation" : "インストール前にExAppの配置オプションを編集する",
- "Configured ExApp deploy options. Can be set only during installation" : "ExAppのデプロイオプションを設定。インストール時にのみ設定可能です",
- "Learn more" : "もっと見る",
- "Environment variables" : "環境変数",
- "ExApp container environment variables" : "ExAppコンテナ環境変数",
- "No environment variables defined" : "環境変数が定義されていません",
- "Mounts" : "マウント",
- "Define host folder mounts to bind to the ExApp container" : "ExAppコンテナにバインドするホストフォルダマウントの定義",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "ExAppをインストールする前に、Deployデーモンホスト上に存在する必要があります",
- "Host path" : "ホストパス",
- "Container path" : "コンテナパス",
- "Read-only" : "読み込み専用",
- "Remove mount" : "マウントを削除",
- "New mount" : "新しいマウント",
- "Enter path to host folder" : "ホストフォルダへのパスを入力してください",
- "Enter path to container folder" : "コンテナフォルダへのパスを入力してください",
- "Toggle read-only mode" : "読み取り専用モードの切り替え",
- "Confirm adding new mount" : "新しいマウントの追加を確認",
- "Confirm" : "承認",
- "Cancel adding mount" : "マウントの追加をキャンセル",
- "Cancel" : "キャンセル",
- "Add mount" : "マウントを追加",
- "ExApp container mounts" : "ExAppコンテナのマウント",
- "No mounts defined" : "マウントが定義されていません",
- "Description" : "説明",
- "View in store" : "ストア内で表示",
- "Visit website" : "ウェブサイトを表示",
- "Usage documentation" : "利用ドキュメント",
- "Admin documentation" : "管理者ドキュメント",
- "Developer documentation" : "開発者ドキュメント",
- "Details" : "詳細",
- "All" : "すべて",
- "Limit app usage to groups" : "アプリの使用をグループに制限する",
- "No results" : "該当なし",
- "Update to {version}" : "{version} にアップデート",
- "Deploy options" : "デプロイオプション",
- "Default Deploy daemon is not accessible" : "デフォルトのデプロイデーモンにアクセスできません",
- "Delete data on remove" : "削除時にデータを消去する",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "このアプリは Nextcloud の最小バージョンが指定されていません.将来、エラーが発生する可能性があります.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "このアプリは Nextcloud バージョンの上限が指定されていません.将来、エラーが発生する可能性があります.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "次の依存関係が満たされないためこのアプリをインストールできません:",
- "Latest updated" : "最新の更新",
- "Author" : "作者",
- "Categories" : "カテゴリ",
- "Resources" : "リソース",
- "Documentation" : "ドキュメント",
- "Interact" : "対話する",
- "Report a bug" : "不具合を報告",
- "Request feature" : "新機能をリクエストする",
- "Ask questions or discuss" : "質問するか議論する",
- "Rate the app" : "アプリを評価する",
- "Rate" : "評価",
- "Changelog" : "変更履歴",
- "Google Chrome for Android" : "Android用Google Chrome",
- "{productName} iOS app" : "{productName} iOSアプリ",
- "{productName} Android app" : "{productName} Androidアプリ",
- "{productName} Talk for iOS" : "{productName} iOS用Talk",
- "{productName} Talk for Android" : "{productName} Android用Talk",
- "Sync client" : "同期クライアント",
- "This session" : "本セッション",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "デバイス名",
- "Cancel renaming" : "リネームをキャンセル",
- "Save new name" : "新しい名前を保存する",
- "Marked for remote wipe" : "リモートワイプ用にマーク",
- "Device settings" : "デバイスの設定",
- "Allow filesystem access" : "ファイルシステムへのアクセスを許可",
- "Rename" : "名前を変更",
- "Revoke" : "取り消す",
- "Wipe device" : "デバイスをワイプ",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "ワイプが開始されていない場合、このトークンを無効にすると端末のワイプが無効になる可能性があります。",
- "Device" : "デバイス",
- "Last activity" : "最後のアクティビティ",
- "Devices & sessions" : "デバイスとセッション",
- "Web, desktop and mobile clients currently logged in to your account." : "現在、Web、デスクトップ、モバイルアプリであなたのアカウントにログインしている端末一覧です。",
- "Error while creating device token" : "デバイストークンの作成中にエラーが発生しました",
- "App name" : "アプリ名",
- "Create new app password" : "新しいアプリパスワードを作成",
"App password copied!" : "アプリパスワードをコピーしました!",
"Copy app password" : "アプリパスワードをコピー",
"Login name copied!" : "ログイン名をコピーしました!",
@@ -591,203 +499,11 @@ OC.L10N.register(
"Failed to delete group \"{group}\"" : "グループ \"{group}\"の削除に失敗しました",
"Please confirm the group removal" : "グループの削除を確認してください",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "グループ \"{group}\" を削除しようとしています。アカウントは削除されません。",
+ "Cancel" : "キャンセル",
+ "Confirm" : "承認",
"Submit" : "送信",
"Rename group" : "グループの名称変更",
"Delete group" : "グループを削除",
- "Current password" : "現在のパスワード",
- "New password" : "新しいパスワード",
- "Change password" : "パスワードを変更",
- "Choose your profile picture" : "プロフィール画像を選択",
- "Please select a valid png or jpg file" : "pngもしくは、jpgファイルを選択してください",
- "Error setting profile picture" : "プロフィール画像に設定できませんでした",
- "Error cropping profile picture" : "プロフィール画像を切り取れませんでした",
- "Error saving profile picture" : "プロフィール画像を保存できませんでした",
- "Error removing profile picture" : "プロフィール画像を削除できませんでした",
- "Your profile picture" : "プロフィール画像",
- "Upload profile picture" : "新しいプロフィール画像のアップロード",
- "Choose profile picture from Files" : "プロフィール写真をファイルから選択",
- "Remove profile picture" : "プロフィール画像を削除",
- "The file must be a PNG or JPG" : "ファイルは PNG または JPG でなければなりません",
- "Picture provided by original account" : "オリジナルのアカウントで提供されている写真",
- "Set as profile picture" : "プロフィール画像として設定",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "プロフィール写真がすべての場所で更新されるまで、最大 24 時間かかる場合があることに注意してください。",
- "Your biography. Markdown is supported." : "あなたの経歴。Markdownに対応しています。",
- "Unable to update date of birth" : "生年月日の更新ができません",
- "Enter your date of birth" : "生年月日を入力してください",
- "You are using {s}{usage}{/s}" : "{s}{usage}{/s}使用中です",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "{s}{totalSpace}{/s} ({s}{usageRelative}%{/s})のうち{s}{usage}{/s}を使用しています",
- "You are a member of the following groups:" : "次のグループに所属:",
- "Your full name" : "フルネーム",
- "Email options" : "メールのオプション",
- "Options for additional email address {index}" : "追加メールアドレスのオプション {index}",
- "Remove primary email" : "基本メールアドレスを削除",
- "Delete email" : "メールアドレスを削除",
- "This address is not confirmed" : "このアドレスは確認できていません",
- "Unset as primary email" : "基本メールアドレスを解除",
- "Set as primary email" : "基本メールアドレスに設定",
- "Additional email address {index}" : "その他のメールアドレス {index}",
- "Unable to delete primary email address" : "基本メールアドレスを削除できませんでした",
- "Unable to update primary email address" : "基本メールアドレスを更新できませんでした",
- "Unable to add additional email address" : "その他のメールアドレスを追加できません",
- "Unable to update additional email address" : "その他のメールアドレスを更新できません",
- "Unable to delete additional email address" : "その他のメールアドレスを削除できません",
- "Primary email for password reset and notifications" : "パスワードのリセットや通知のための基本メールアドレス",
- "No email address set" : "メールアドレスが設定されていません",
- "Your handle" : "あなたのハンドル",
- "Derived from your locale ({weekDayName})" : "ユーザーのロケールから取得 ({weekDayName})",
- "Unable to update first day of week" : "週の最初の曜日を更新できません",
- "Day to use as the first day of week" : "週の最初の曜日として使用する日",
- "Your headline" : "あなたのヘッドライン",
- "Unable to update language" : "言語設定を更新できませんでした",
- "Languages" : "言語",
- "Help translate" : "翻訳に協力する",
- "No language set" : "言語設定なし",
- "Unable to update locale" : "ロケールを更新できませんでした",
- "Locales" : "ロケール",
- "Week starts on {firstDayOfWeek}" : "週の始まりは{firstDayOfWeek}です。",
- "No locale set" : "ロケールは未設定",
- "Your city" : "あなたの都道府県",
- "Your organisation" : "あなたの組織",
- "Your phone number" : "あなたの電話番号",
- "Edit your Profile visibility" : "プロフィールの公開範囲を変更",
- "Unable to update profile enabled state" : "プロフィールを公開できません",
- "Enable profile" : "プロフィールを有効化",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "プロフィール公開ページは、可視性またはスコープのより制限的な設定が優先されます。たとえば、可視性が「全員に表示」に設定され、スコープが「プライベート」に設定されている場合、「プライベート」が尊重されます。",
- "Unable to update visibility of {displayId}" : "{displayId}の表示範囲を更新できませんでした",
- "she/her" : "彼女",
- "he/him" : "彼",
- "they/them" : "彼ら/彼女ら",
- "Your role" : "あなたの役",
- "Your X (formerly Twitter) handle" : "あなたの X (旧 Twitter) のハンドルネーム",
- "Your website" : "あなたの個人ウェブサイト",
- "Invalid value" : "無効な値",
- "Unable to update {property}" : "{property}を更新できませんでした",
- "No {property} set" : "{property} は未設定",
- "Change scope level of {property}, current scope is {scope}" : "{property}の公開範囲を変更、現在の公開範囲は{scope}です",
- "Unable to update federation scope of the primary {property}" : "プライマリー{property}のフェデレーションスコープを更新できませんでした",
- "Unable to update federation scope of additional {property}" : "追加の{property}のフェデレーションスコープを更新できませんでした",
- "Add additional email" : "その他メールアドレスを追加",
- "Add" : "追加",
- "Create" : "作成",
- "Change" : "変更",
- "Delete" : "削除",
- "Reshare" : "再共有",
- "Default language" : "デフォルトの言語",
- "Common languages" : "共通言語",
- "Other languages" : "他の言語",
- "Password change is disabled because the master key is disabled" : "マスターキーが無効になっているため、パスワードの変更は無効です",
- "No accounts" : "アカウントはありません",
- "Loading accounts …" : "アカウントを読み込み中 ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "アカウントのリスト。このリストはパフォーマンス上の理由から完全にはレンダリングされません。アカウントはリスト内を移動するにつれてレンダリングされます。",
- "Manager" : "Manager",
- "Set line manager" : "ラインマネージャーを設定",
- "Account name will be autogenerated" : "アカウント名は自動生成されます",
- "Account name (required)" : "アカウント名(必須)",
- "Failed to search groups" : "グループの検索に失敗しました",
- "New account" : "新規アカウント",
- "Display name" : "表示名",
- "Either password or email is required" : "パスワードまたはEメールのいずれかが必要",
- "Password (required)" : "パスワード (必須)",
- "Email (required)" : "Eメール (必須)",
- "Email" : "メール",
- "Member of the following groups (required)" : "以下のグループのメンバー(必須)",
- "Member of the following groups" : "以下のグループのメンバー",
- "Set account groups" : "アカウントグループを設定する",
- "Admin of the following groups" : "以下のグループの管理者",
- "Set account as admin for …" : "アカウントを管理者に設定 ...",
- "Quota" : "クオータ",
- "Set account quota" : "アカウントクォータを設定する",
- "Language" : "言語",
- "Set default language" : "デフォルト言語の設定",
- "Add new account" : "新しいアカウントを追加する",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount}アカウント ..."],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount}アカウント"],
- "Total rows summary" : "総行数のサマリー",
- "Scroll to load more rows" : "スクロールしてより多くの行を読み込む",
- "Password or insufficient permissions message" : "パスワードまたは権限不足のメッセージ",
- "Avatar" : "アバター",
- "Account name" : "アカウント名",
- "Group admin for" : "グループの管理者",
- "Account backend" : "アカウントバックエンド",
- "Storage location" : "データの保存場所",
- "First login" : "初回ログイン",
- "Last login" : "最終ログイン",
- "Account actions" : "アカウント操作",
- "{size} used" : "{size} を使用中",
- "Delete account" : "アカウントの削除",
- "Disconnect all devices and delete local data" : "すべてのデバイスを切断し、ローカルデータを削除する",
- "Disable account" : "アカウントの無効化",
- "Enable account" : "アカウントの有効化",
- "Resend welcome email" : "ウェルカムメールを再送する",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "デバイスを紛失した場合や、組織外に出た場合、{userid}に関連付けられたすべてのデバイスからリモートで Nextcloud のデータを消去することができます。デバイスがインターネットに接続されている場合にのみ機能します。",
- "Remote wipe of devices" : "デバイスのリモートワイプ",
- "Wipe {userid}'s devices" : " {userid} のデバイスをワイプ",
- "Wiped {userid}'s devices" : "{userid} のデバイスを消去",
- "Failed to load groups with details" : "詳細を含むグループのロードに失敗しました",
- "Failed to load sub admin groups with details" : "サブ管理グループの詳細の読み込みに失敗しました",
- "Failed to update line manager" : "ラインマネージャの更新に失敗しました",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "{userid} の個人ファイルやアプリケーションデータなどを含むアカウントを完全に削除します。",
- "Account deletion" : "アカウント削除",
- "Delete {userid}'s account" : "{userid} のアカウントを削除する",
- "Display name was successfully changed" : "表示名は正常に変更されました",
- "Password can't be empty" : "パスワードは空にできません",
- "Password was successfully changed" : "パスワードは正常に変更されました",
- "Email can't be empty" : "メールアドレスは空にできません",
- "Email was successfully changed" : "Eメールは正常に変更されました",
- "Welcome mail sent!" : "ウェルカムメールを送信しました!",
- "Loading account …" : "アカウントを読み込み中 ...",
- "Change display name" : "表示名の変更",
- "Set new password" : "新しいパスワードの設定",
- "You do not have permissions to see the details of this account" : "このアカウントの詳細を表示する権限がありません",
- "Set new email address" : "新しいメールアドレスを設定",
- "Add account to group" : "アカウントをグループに追加",
- "Set account as admin for" : "アカウントを管理者に設定",
- "Select account quota" : "アカウントのクォータを選択",
- "Set the language" : "言語の設定",
- "Toggle account actions menu" : "アカウントアクションメニューの切り替え",
- "Done" : "完了",
- "Edit" : "編集",
- "Account management settings" : "アカウント管理設定",
- "Visibility" : "可視性",
- "Show language" : "言語を表示",
- "Show account backend" : "アカウントバックエンドを表示",
- "Show storage path" : "ストレージの場所を表示",
- "Show first login" : "初回ログインを表示",
- "Show last login" : "最終ログインを表示",
- "Sorting" : "並べ替え",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "システム設定により、名前によるグループのソートが強制されます。これはメンバー数の表示も無効にします。",
- "Group list sorting" : "グループリストのソート",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "並べ替えは、パフォーマンス上の理由から、現在ロードされているグループにのみ適用されます。グループは、リスト内を移動または検索すると読み込まれます。",
- "By member count" : "メンバー数別",
- "By name" : "名前で",
- "Send email" : "メールを送信",
- "Send welcome email to new accounts" : "新規アカウントにウェルカムメールを送る",
- "Defaults" : "初期値",
- "Default quota" : "デフォルトのクオータ",
- "Select default quota" : "デフォルトのクオータを選択",
- "Server error while trying to complete WebAuthn device registration" : "WebAuthn デバイス登録を完了しようとしたときのサーバーエラー",
- "Passwordless authentication requires a secure connection." : "パスワードレス認証では、安全な接続が必要です。",
- "Add WebAuthn device" : "WebAuthn デバイスの追加",
- "Please authorize your WebAuthn device." : "WebAuthn デバイスを認証してください。",
- "Adding your device …" : "あなたのデバイスを追加しています…",
- "Unnamed device" : "名称設定されていないデバイス",
- "Passwordless Authentication" : "パスワードレス認証",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "FIDO2 規格に準拠したパスワードレス認証のためのアカウントを設定します。",
- "No devices configured." : "設定されたデバイスはありません。",
- "The following devices are configured for your account:" : "アカウントには以下のデバイスが設定されています。",
- "Your browser does not support WebAuthn." : "お使いのブラウザーは WebAuthn をサポートしていません。",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "管理者であれば共有時の挙動を微調整できます。詳細な情報はドキュメントを参照してください。",
- "You need to enable the File sharing App." : "ファイル共有アプリを有効にする必要があります。",
- "App Store" : "アプリストア",
- "Loading app list" : "アプリ一覧を読み込み中",
- "Loading categories" : "カテゴリーの読み込み中",
- "Developer documentation ↗" : "開発者向けドキュメント ↗",
- "Version {version}, {license}-licensed" : "バージョン{version}, {license}ライセンス",
- "Version {version}" : "Version {version}",
- "All accounts" : "全てのアカウント",
- "Admins" : "管理者",
- "Account group: {group}" : "アカウントグループ: {group}",
- "Account management" : "アカウント管理",
"Sending…" : "送信中 …",
"Email sent" : "メールを送信しました",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "パフォーマンス上の理由から、Nextcloudサーバーで暗号化を有効にすると、新規ファイルと変更されたファイルだけが暗号化されます。",
@@ -797,6 +513,7 @@ OC.L10N.register(
"Date of birth" : "生年月日",
"Full name" : "氏名",
"Additional email" : "その他のメールアドレス",
+ "Email" : "メール",
"Fediverse (e.g. Mastodon)" : "フェディバース (例: Mastdon)",
"Headline" : "ヘッドライン",
"Organisation" : "組織",
@@ -806,6 +523,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (旧 Twitter)",
"Website" : "ウェブサイト",
"Profile visibility" : "プロフィールの公開範囲",
+ "Language" : "言語",
"Locale" : "ロケール",
"First day of week" : "週の最初の曜日",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "このプロパティは、ファイル共有やカレンダーへの招待などのコア機能に必要なため、使用できません",
@@ -823,6 +541,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "ログインしているアカウントのみに表示する",
"Hide" : "隠す",
"Manually installed apps cannot be updated" : "手動インストールしたアプリはアップデートできません",
+ "Update to {version}" : "{version} にアップデート",
"{progress}% Deploying …" : "{progress}% デプロイ中 …",
"{progress}% Initializing …" : "{progress}% 初期化中 …",
"Health checking" : "ヘルスチェック",
@@ -832,6 +551,7 @@ OC.L10N.register(
"Allow untested app" : "テストされていないアプリを許可する",
"The app will be downloaded from the App Store" : "このアプリは、アプリストアからダウンロードできます。",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "このアプリはご利用中のNextcloudのバージョンと互換性があるとしてマークされていません。 続行しても、アプリをインストールすることはできます。 アプリが期待通りに動作しない可能性があることに注意してください。",
+ "{size} used" : "{size} を使用中",
"Unknown" : "不明",
"Never" : "なし",
"Could not register device: Network error" : "デバイスを登録できませんでした: ネットワークエラー",
@@ -850,8 +570,10 @@ OC.L10N.register(
"Could not set group sorting" : "グループのソートを設定できませんでした",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "ネットワークからのリクエストが多すぎました。このようなエラーが発生した場合は、後で再試行するか、管理者に連絡してください。",
"Error" : "エラー",
+ "Default quota" : "デフォルトのクオータ",
"Account documentation" : "アカウント・ドキュメント",
"Administration documentation" : "管理者ドキュメント",
+ "Documentation" : "ドキュメント",
"Forum" : "フォーラム",
"Nextcloud help & privacy resources" : "Nextcloudのヘルプとプライバシーに関するリソース",
"General documentation" : "一般的なドキュメント",
@@ -874,6 +596,7 @@ OC.L10N.register(
"SMTP Password" : "SMTPパスワード",
"Save" : "保存",
"Test and verify email settings" : "メールのテストと検証設定",
+ "Send email" : "メールを送信",
"Security & setup warnings" : "セキュリティ&セットアップ警告",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "サーバーのセキュリティとパフォーマンスにとって重要なことは、すべてが正確に設定されていることです。あなたの助けとなるよう、Nextcloudでは一部の自動チェックを行っています。詳細な情報は、リンク先のドキュメントを参照してください。",
"All checks passed." : "すべてのチェックに合格しました。",
@@ -899,11 +622,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "PHPのメモリ制限が推奨値の%s以下です。",
"for WebAuthn passwordless login" : "WebAuthn パスワードレスログイン用",
"for WebAuthn passwordless login, and SFTP storage" : "WebAuthn パスワードレスログインと、SFTPストレージ用",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP ヘッダーに `%2$s` が含まれていません。これはセキュリティやプライバシーのリスクとなる可能性があるため、この設定を調整することが推奨されています。",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQLのバージョン \"%s\"が検出されました。 このバージョンのNextcloudで最高のパフォーマンス、安定性、機能性を得るには、PostgreSQL >=12および<=16を推奨します。",
- "Set default expiration date for shares" : "共有のデフォルトの有効期限を設定する",
- "Your biography" : "あなたのプロファイル",
- "You are using <strong>{usage}</strong>" : "<strong>{usage}</strong>使用中です",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "<strong>{totalSpace}</strong> (<strong>{usageRelative}</strong>) のうち<strong>{usage}</strong>を使用しています",
- "Failed to load subadmin groups with details" : "サブ管理者グループの詳細の読み込みに失敗しました"
+ "Set default expiration date for shares" : "共有のデフォルトの有効期限を設定する"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/ja.json b/apps/settings/l10n/ja.json
index a1ecd71d95e..a6b222ddaca 100644
--- a/apps/settings/l10n/ja.json
+++ b/apps/settings/l10n/ja.json
@@ -294,7 +294,6 @@
"HTTP headers" : "HTTP ヘッダー",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP ヘッダーが `%2$s` に設定されていません。この設定を調整することが推奨されているため、一部の機能が正しく動作しない可能性があります。",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP ヘッダーが `%2$s` に設定されていません。これはセキュリティやプライバシーのリスクとなる可能性があるため、この設定を調整することが推奨されています。",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP ヘッダーに `%2$s` が含まれていません。これはセキュリティやプライバシーのリスクとなる可能性があるため、この設定を調整することが推奨されています。",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- `%1$s` HTTP ヘッダーが `%2$s`, `%3$s`, `%4$s`, `%5$s` または `%6$s`. に設定されていません。これにより、リファラー情報が漏れる可能性があります。詳しくは {w3c-recommendation} を参照してください。",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- `Strict-Transport-Security` HTTPヘッダーが少なくとも `%d` 秒に設定されていません(現在の値:`%d`)。セキュリティを強化するために、長期間のHSTSポリシーを使用することを推奨します。",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- `Strict-Transport-Security` HTTPヘッダーが不正です: `%s`。セキュリティを強化するために、HSTSを有効にすることを推奨します。",
@@ -445,97 +444,6 @@
"Could not load section content from app store." : "アプリストアからセクションの内容を読み込めませんでした。",
"Loading" : "読み込み中",
"Fetching the latest news…" : "最新のニュースを取得しています...",
- "Carousel" : "カルーセル",
- "Previous slide" : "前のスライド",
- "Next slide" : "次のスライド",
- "Choose slide to display" : "表示するスライドを選択",
- "{index} of {total}" : "{total} のうち {index}",
- "Daemon" : "デーモン",
- "Deploy Daemon" : "デーモンのデプロイ",
- "Type" : "タイプ",
- "Display Name" : "表示名",
- "GPUs support" : "GPUサポート",
- "Compute device" : "計算デバイス",
- "Advanced deploy options" : "高度なデプロイオプション",
- "Edit ExApp deploy options before installation" : "インストール前にExAppの配置オプションを編集する",
- "Configured ExApp deploy options. Can be set only during installation" : "ExAppのデプロイオプションを設定。インストール時にのみ設定可能です",
- "Learn more" : "もっと見る",
- "Environment variables" : "環境変数",
- "ExApp container environment variables" : "ExAppコンテナ環境変数",
- "No environment variables defined" : "環境変数が定義されていません",
- "Mounts" : "マウント",
- "Define host folder mounts to bind to the ExApp container" : "ExAppコンテナにバインドするホストフォルダマウントの定義",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "ExAppをインストールする前に、Deployデーモンホスト上に存在する必要があります",
- "Host path" : "ホストパス",
- "Container path" : "コンテナパス",
- "Read-only" : "読み込み専用",
- "Remove mount" : "マウントを削除",
- "New mount" : "新しいマウント",
- "Enter path to host folder" : "ホストフォルダへのパスを入力してください",
- "Enter path to container folder" : "コンテナフォルダへのパスを入力してください",
- "Toggle read-only mode" : "読み取り専用モードの切り替え",
- "Confirm adding new mount" : "新しいマウントの追加を確認",
- "Confirm" : "承認",
- "Cancel adding mount" : "マウントの追加をキャンセル",
- "Cancel" : "キャンセル",
- "Add mount" : "マウントを追加",
- "ExApp container mounts" : "ExAppコンテナのマウント",
- "No mounts defined" : "マウントが定義されていません",
- "Description" : "説明",
- "View in store" : "ストア内で表示",
- "Visit website" : "ウェブサイトを表示",
- "Usage documentation" : "利用ドキュメント",
- "Admin documentation" : "管理者ドキュメント",
- "Developer documentation" : "開発者ドキュメント",
- "Details" : "詳細",
- "All" : "すべて",
- "Limit app usage to groups" : "アプリの使用をグループに制限する",
- "No results" : "該当なし",
- "Update to {version}" : "{version} にアップデート",
- "Deploy options" : "デプロイオプション",
- "Default Deploy daemon is not accessible" : "デフォルトのデプロイデーモンにアクセスできません",
- "Delete data on remove" : "削除時にデータを消去する",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "このアプリは Nextcloud の最小バージョンが指定されていません.将来、エラーが発生する可能性があります.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "このアプリは Nextcloud バージョンの上限が指定されていません.将来、エラーが発生する可能性があります.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "次の依存関係が満たされないためこのアプリをインストールできません:",
- "Latest updated" : "最新の更新",
- "Author" : "作者",
- "Categories" : "カテゴリ",
- "Resources" : "リソース",
- "Documentation" : "ドキュメント",
- "Interact" : "対話する",
- "Report a bug" : "不具合を報告",
- "Request feature" : "新機能をリクエストする",
- "Ask questions or discuss" : "質問するか議論する",
- "Rate the app" : "アプリを評価する",
- "Rate" : "評価",
- "Changelog" : "変更履歴",
- "Google Chrome for Android" : "Android用Google Chrome",
- "{productName} iOS app" : "{productName} iOSアプリ",
- "{productName} Android app" : "{productName} Androidアプリ",
- "{productName} Talk for iOS" : "{productName} iOS用Talk",
- "{productName} Talk for Android" : "{productName} Android用Talk",
- "Sync client" : "同期クライアント",
- "This session" : "本セッション",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "デバイス名",
- "Cancel renaming" : "リネームをキャンセル",
- "Save new name" : "新しい名前を保存する",
- "Marked for remote wipe" : "リモートワイプ用にマーク",
- "Device settings" : "デバイスの設定",
- "Allow filesystem access" : "ファイルシステムへのアクセスを許可",
- "Rename" : "名前を変更",
- "Revoke" : "取り消す",
- "Wipe device" : "デバイスをワイプ",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "ワイプが開始されていない場合、このトークンを無効にすると端末のワイプが無効になる可能性があります。",
- "Device" : "デバイス",
- "Last activity" : "最後のアクティビティ",
- "Devices & sessions" : "デバイスとセッション",
- "Web, desktop and mobile clients currently logged in to your account." : "現在、Web、デスクトップ、モバイルアプリであなたのアカウントにログインしている端末一覧です。",
- "Error while creating device token" : "デバイストークンの作成中にエラーが発生しました",
- "App name" : "アプリ名",
- "Create new app password" : "新しいアプリパスワードを作成",
"App password copied!" : "アプリパスワードをコピーしました!",
"Copy app password" : "アプリパスワードをコピー",
"Login name copied!" : "ログイン名をコピーしました!",
@@ -589,203 +497,11 @@
"Failed to delete group \"{group}\"" : "グループ \"{group}\"の削除に失敗しました",
"Please confirm the group removal" : "グループの削除を確認してください",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "グループ \"{group}\" を削除しようとしています。アカウントは削除されません。",
+ "Cancel" : "キャンセル",
+ "Confirm" : "承認",
"Submit" : "送信",
"Rename group" : "グループの名称変更",
"Delete group" : "グループを削除",
- "Current password" : "現在のパスワード",
- "New password" : "新しいパスワード",
- "Change password" : "パスワードを変更",
- "Choose your profile picture" : "プロフィール画像を選択",
- "Please select a valid png or jpg file" : "pngもしくは、jpgファイルを選択してください",
- "Error setting profile picture" : "プロフィール画像に設定できませんでした",
- "Error cropping profile picture" : "プロフィール画像を切り取れませんでした",
- "Error saving profile picture" : "プロフィール画像を保存できませんでした",
- "Error removing profile picture" : "プロフィール画像を削除できませんでした",
- "Your profile picture" : "プロフィール画像",
- "Upload profile picture" : "新しいプロフィール画像のアップロード",
- "Choose profile picture from Files" : "プロフィール写真をファイルから選択",
- "Remove profile picture" : "プロフィール画像を削除",
- "The file must be a PNG or JPG" : "ファイルは PNG または JPG でなければなりません",
- "Picture provided by original account" : "オリジナルのアカウントで提供されている写真",
- "Set as profile picture" : "プロフィール画像として設定",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "プロフィール写真がすべての場所で更新されるまで、最大 24 時間かかる場合があることに注意してください。",
- "Your biography. Markdown is supported." : "あなたの経歴。Markdownに対応しています。",
- "Unable to update date of birth" : "生年月日の更新ができません",
- "Enter your date of birth" : "生年月日を入力してください",
- "You are using {s}{usage}{/s}" : "{s}{usage}{/s}使用中です",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "{s}{totalSpace}{/s} ({s}{usageRelative}%{/s})のうち{s}{usage}{/s}を使用しています",
- "You are a member of the following groups:" : "次のグループに所属:",
- "Your full name" : "フルネーム",
- "Email options" : "メールのオプション",
- "Options for additional email address {index}" : "追加メールアドレスのオプション {index}",
- "Remove primary email" : "基本メールアドレスを削除",
- "Delete email" : "メールアドレスを削除",
- "This address is not confirmed" : "このアドレスは確認できていません",
- "Unset as primary email" : "基本メールアドレスを解除",
- "Set as primary email" : "基本メールアドレスに設定",
- "Additional email address {index}" : "その他のメールアドレス {index}",
- "Unable to delete primary email address" : "基本メールアドレスを削除できませんでした",
- "Unable to update primary email address" : "基本メールアドレスを更新できませんでした",
- "Unable to add additional email address" : "その他のメールアドレスを追加できません",
- "Unable to update additional email address" : "その他のメールアドレスを更新できません",
- "Unable to delete additional email address" : "その他のメールアドレスを削除できません",
- "Primary email for password reset and notifications" : "パスワードのリセットや通知のための基本メールアドレス",
- "No email address set" : "メールアドレスが設定されていません",
- "Your handle" : "あなたのハンドル",
- "Derived from your locale ({weekDayName})" : "ユーザーのロケールから取得 ({weekDayName})",
- "Unable to update first day of week" : "週の最初の曜日を更新できません",
- "Day to use as the first day of week" : "週の最初の曜日として使用する日",
- "Your headline" : "あなたのヘッドライン",
- "Unable to update language" : "言語設定を更新できませんでした",
- "Languages" : "言語",
- "Help translate" : "翻訳に協力する",
- "No language set" : "言語設定なし",
- "Unable to update locale" : "ロケールを更新できませんでした",
- "Locales" : "ロケール",
- "Week starts on {firstDayOfWeek}" : "週の始まりは{firstDayOfWeek}です。",
- "No locale set" : "ロケールは未設定",
- "Your city" : "あなたの都道府県",
- "Your organisation" : "あなたの組織",
- "Your phone number" : "あなたの電話番号",
- "Edit your Profile visibility" : "プロフィールの公開範囲を変更",
- "Unable to update profile enabled state" : "プロフィールを公開できません",
- "Enable profile" : "プロフィールを有効化",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "プロフィール公開ページは、可視性またはスコープのより制限的な設定が優先されます。たとえば、可視性が「全員に表示」に設定され、スコープが「プライベート」に設定されている場合、「プライベート」が尊重されます。",
- "Unable to update visibility of {displayId}" : "{displayId}の表示範囲を更新できませんでした",
- "she/her" : "彼女",
- "he/him" : "彼",
- "they/them" : "彼ら/彼女ら",
- "Your role" : "あなたの役",
- "Your X (formerly Twitter) handle" : "あなたの X (旧 Twitter) のハンドルネーム",
- "Your website" : "あなたの個人ウェブサイト",
- "Invalid value" : "無効な値",
- "Unable to update {property}" : "{property}を更新できませんでした",
- "No {property} set" : "{property} は未設定",
- "Change scope level of {property}, current scope is {scope}" : "{property}の公開範囲を変更、現在の公開範囲は{scope}です",
- "Unable to update federation scope of the primary {property}" : "プライマリー{property}のフェデレーションスコープを更新できませんでした",
- "Unable to update federation scope of additional {property}" : "追加の{property}のフェデレーションスコープを更新できませんでした",
- "Add additional email" : "その他メールアドレスを追加",
- "Add" : "追加",
- "Create" : "作成",
- "Change" : "変更",
- "Delete" : "削除",
- "Reshare" : "再共有",
- "Default language" : "デフォルトの言語",
- "Common languages" : "共通言語",
- "Other languages" : "他の言語",
- "Password change is disabled because the master key is disabled" : "マスターキーが無効になっているため、パスワードの変更は無効です",
- "No accounts" : "アカウントはありません",
- "Loading accounts …" : "アカウントを読み込み中 ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "アカウントのリスト。このリストはパフォーマンス上の理由から完全にはレンダリングされません。アカウントはリスト内を移動するにつれてレンダリングされます。",
- "Manager" : "Manager",
- "Set line manager" : "ラインマネージャーを設定",
- "Account name will be autogenerated" : "アカウント名は自動生成されます",
- "Account name (required)" : "アカウント名(必須)",
- "Failed to search groups" : "グループの検索に失敗しました",
- "New account" : "新規アカウント",
- "Display name" : "表示名",
- "Either password or email is required" : "パスワードまたはEメールのいずれかが必要",
- "Password (required)" : "パスワード (必須)",
- "Email (required)" : "Eメール (必須)",
- "Email" : "メール",
- "Member of the following groups (required)" : "以下のグループのメンバー(必須)",
- "Member of the following groups" : "以下のグループのメンバー",
- "Set account groups" : "アカウントグループを設定する",
- "Admin of the following groups" : "以下のグループの管理者",
- "Set account as admin for …" : "アカウントを管理者に設定 ...",
- "Quota" : "クオータ",
- "Set account quota" : "アカウントクォータを設定する",
- "Language" : "言語",
- "Set default language" : "デフォルト言語の設定",
- "Add new account" : "新しいアカウントを追加する",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount}アカウント ..."],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount}アカウント"],
- "Total rows summary" : "総行数のサマリー",
- "Scroll to load more rows" : "スクロールしてより多くの行を読み込む",
- "Password or insufficient permissions message" : "パスワードまたは権限不足のメッセージ",
- "Avatar" : "アバター",
- "Account name" : "アカウント名",
- "Group admin for" : "グループの管理者",
- "Account backend" : "アカウントバックエンド",
- "Storage location" : "データの保存場所",
- "First login" : "初回ログイン",
- "Last login" : "最終ログイン",
- "Account actions" : "アカウント操作",
- "{size} used" : "{size} を使用中",
- "Delete account" : "アカウントの削除",
- "Disconnect all devices and delete local data" : "すべてのデバイスを切断し、ローカルデータを削除する",
- "Disable account" : "アカウントの無効化",
- "Enable account" : "アカウントの有効化",
- "Resend welcome email" : "ウェルカムメールを再送する",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "デバイスを紛失した場合や、組織外に出た場合、{userid}に関連付けられたすべてのデバイスからリモートで Nextcloud のデータを消去することができます。デバイスがインターネットに接続されている場合にのみ機能します。",
- "Remote wipe of devices" : "デバイスのリモートワイプ",
- "Wipe {userid}'s devices" : " {userid} のデバイスをワイプ",
- "Wiped {userid}'s devices" : "{userid} のデバイスを消去",
- "Failed to load groups with details" : "詳細を含むグループのロードに失敗しました",
- "Failed to load sub admin groups with details" : "サブ管理グループの詳細の読み込みに失敗しました",
- "Failed to update line manager" : "ラインマネージャの更新に失敗しました",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "{userid} の個人ファイルやアプリケーションデータなどを含むアカウントを完全に削除します。",
- "Account deletion" : "アカウント削除",
- "Delete {userid}'s account" : "{userid} のアカウントを削除する",
- "Display name was successfully changed" : "表示名は正常に変更されました",
- "Password can't be empty" : "パスワードは空にできません",
- "Password was successfully changed" : "パスワードは正常に変更されました",
- "Email can't be empty" : "メールアドレスは空にできません",
- "Email was successfully changed" : "Eメールは正常に変更されました",
- "Welcome mail sent!" : "ウェルカムメールを送信しました!",
- "Loading account …" : "アカウントを読み込み中 ...",
- "Change display name" : "表示名の変更",
- "Set new password" : "新しいパスワードの設定",
- "You do not have permissions to see the details of this account" : "このアカウントの詳細を表示する権限がありません",
- "Set new email address" : "新しいメールアドレスを設定",
- "Add account to group" : "アカウントをグループに追加",
- "Set account as admin for" : "アカウントを管理者に設定",
- "Select account quota" : "アカウントのクォータを選択",
- "Set the language" : "言語の設定",
- "Toggle account actions menu" : "アカウントアクションメニューの切り替え",
- "Done" : "完了",
- "Edit" : "編集",
- "Account management settings" : "アカウント管理設定",
- "Visibility" : "可視性",
- "Show language" : "言語を表示",
- "Show account backend" : "アカウントバックエンドを表示",
- "Show storage path" : "ストレージの場所を表示",
- "Show first login" : "初回ログインを表示",
- "Show last login" : "最終ログインを表示",
- "Sorting" : "並べ替え",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "システム設定により、名前によるグループのソートが強制されます。これはメンバー数の表示も無効にします。",
- "Group list sorting" : "グループリストのソート",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "並べ替えは、パフォーマンス上の理由から、現在ロードされているグループにのみ適用されます。グループは、リスト内を移動または検索すると読み込まれます。",
- "By member count" : "メンバー数別",
- "By name" : "名前で",
- "Send email" : "メールを送信",
- "Send welcome email to new accounts" : "新規アカウントにウェルカムメールを送る",
- "Defaults" : "初期値",
- "Default quota" : "デフォルトのクオータ",
- "Select default quota" : "デフォルトのクオータを選択",
- "Server error while trying to complete WebAuthn device registration" : "WebAuthn デバイス登録を完了しようとしたときのサーバーエラー",
- "Passwordless authentication requires a secure connection." : "パスワードレス認証では、安全な接続が必要です。",
- "Add WebAuthn device" : "WebAuthn デバイスの追加",
- "Please authorize your WebAuthn device." : "WebAuthn デバイスを認証してください。",
- "Adding your device …" : "あなたのデバイスを追加しています…",
- "Unnamed device" : "名称設定されていないデバイス",
- "Passwordless Authentication" : "パスワードレス認証",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "FIDO2 規格に準拠したパスワードレス認証のためのアカウントを設定します。",
- "No devices configured." : "設定されたデバイスはありません。",
- "The following devices are configured for your account:" : "アカウントには以下のデバイスが設定されています。",
- "Your browser does not support WebAuthn." : "お使いのブラウザーは WebAuthn をサポートしていません。",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "管理者であれば共有時の挙動を微調整できます。詳細な情報はドキュメントを参照してください。",
- "You need to enable the File sharing App." : "ファイル共有アプリを有効にする必要があります。",
- "App Store" : "アプリストア",
- "Loading app list" : "アプリ一覧を読み込み中",
- "Loading categories" : "カテゴリーの読み込み中",
- "Developer documentation ↗" : "開発者向けドキュメント ↗",
- "Version {version}, {license}-licensed" : "バージョン{version}, {license}ライセンス",
- "Version {version}" : "Version {version}",
- "All accounts" : "全てのアカウント",
- "Admins" : "管理者",
- "Account group: {group}" : "アカウントグループ: {group}",
- "Account management" : "アカウント管理",
"Sending…" : "送信中 …",
"Email sent" : "メールを送信しました",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "パフォーマンス上の理由から、Nextcloudサーバーで暗号化を有効にすると、新規ファイルと変更されたファイルだけが暗号化されます。",
@@ -795,6 +511,7 @@
"Date of birth" : "生年月日",
"Full name" : "氏名",
"Additional email" : "その他のメールアドレス",
+ "Email" : "メール",
"Fediverse (e.g. Mastodon)" : "フェディバース (例: Mastdon)",
"Headline" : "ヘッドライン",
"Organisation" : "組織",
@@ -804,6 +521,7 @@
"X (formerly Twitter)" : "X (旧 Twitter)",
"Website" : "ウェブサイト",
"Profile visibility" : "プロフィールの公開範囲",
+ "Language" : "言語",
"Locale" : "ロケール",
"First day of week" : "週の最初の曜日",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "このプロパティは、ファイル共有やカレンダーへの招待などのコア機能に必要なため、使用できません",
@@ -821,6 +539,7 @@
"Show to logged in accounts only" : "ログインしているアカウントのみに表示する",
"Hide" : "隠す",
"Manually installed apps cannot be updated" : "手動インストールしたアプリはアップデートできません",
+ "Update to {version}" : "{version} にアップデート",
"{progress}% Deploying …" : "{progress}% デプロイ中 …",
"{progress}% Initializing …" : "{progress}% 初期化中 …",
"Health checking" : "ヘルスチェック",
@@ -830,6 +549,7 @@
"Allow untested app" : "テストされていないアプリを許可する",
"The app will be downloaded from the App Store" : "このアプリは、アプリストアからダウンロードできます。",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "このアプリはご利用中のNextcloudのバージョンと互換性があるとしてマークされていません。 続行しても、アプリをインストールすることはできます。 アプリが期待通りに動作しない可能性があることに注意してください。",
+ "{size} used" : "{size} を使用中",
"Unknown" : "不明",
"Never" : "なし",
"Could not register device: Network error" : "デバイスを登録できませんでした: ネットワークエラー",
@@ -848,8 +568,10 @@
"Could not set group sorting" : "グループのソートを設定できませんでした",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "ネットワークからのリクエストが多すぎました。このようなエラーが発生した場合は、後で再試行するか、管理者に連絡してください。",
"Error" : "エラー",
+ "Default quota" : "デフォルトのクオータ",
"Account documentation" : "アカウント・ドキュメント",
"Administration documentation" : "管理者ドキュメント",
+ "Documentation" : "ドキュメント",
"Forum" : "フォーラム",
"Nextcloud help & privacy resources" : "Nextcloudのヘルプとプライバシーに関するリソース",
"General documentation" : "一般的なドキュメント",
@@ -872,6 +594,7 @@
"SMTP Password" : "SMTPパスワード",
"Save" : "保存",
"Test and verify email settings" : "メールのテストと検証設定",
+ "Send email" : "メールを送信",
"Security & setup warnings" : "セキュリティ&セットアップ警告",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "サーバーのセキュリティとパフォーマンスにとって重要なことは、すべてが正確に設定されていることです。あなたの助けとなるよう、Nextcloudでは一部の自動チェックを行っています。詳細な情報は、リンク先のドキュメントを参照してください。",
"All checks passed." : "すべてのチェックに合格しました。",
@@ -897,11 +620,8 @@
"The PHP memory limit is below the recommended value of %s." : "PHPのメモリ制限が推奨値の%s以下です。",
"for WebAuthn passwordless login" : "WebAuthn パスワードレスログイン用",
"for WebAuthn passwordless login, and SFTP storage" : "WebAuthn パスワードレスログインと、SFTPストレージ用",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP ヘッダーに `%2$s` が含まれていません。これはセキュリティやプライバシーのリスクとなる可能性があるため、この設定を調整することが推奨されています。",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQLのバージョン \"%s\"が検出されました。 このバージョンのNextcloudで最高のパフォーマンス、安定性、機能性を得るには、PostgreSQL >=12および<=16を推奨します。",
- "Set default expiration date for shares" : "共有のデフォルトの有効期限を設定する",
- "Your biography" : "あなたのプロファイル",
- "You are using <strong>{usage}</strong>" : "<strong>{usage}</strong>使用中です",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "<strong>{totalSpace}</strong> (<strong>{usageRelative}</strong>) のうち<strong>{usage}</strong>を使用しています",
- "Failed to load subadmin groups with details" : "サブ管理者グループの詳細の読み込みに失敗しました"
+ "Set default expiration date for shares" : "共有のデフォルトの有効期限を設定する"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ka.js b/apps/settings/l10n/ka.js
index 0c66cd9d6fd..82c8d3cf2a9 100644
--- a/apps/settings/l10n/ka.js
+++ b/apps/settings/l10n/ka.js
@@ -262,57 +262,6 @@ OC.L10N.register(
"Please enter a valid group name" : "Please enter a valid group name",
"Loading groups…" : "Loading groups…",
"Loading" : "Loading",
- "Type" : "Type",
- "Confirm" : "Confirm",
- "Cancel" : "Cancel",
- "Description" : "Description",
- "View in store" : "View in store",
- "Visit website" : "Visit website",
- "Admin documentation" : "Admin documentation",
- "Developer documentation" : "Developer documentation",
- "Details" : "Details",
- "All" : "All",
- "Limit app usage to groups" : "Limit app usage to groups",
- "No results" : "No results",
- "Update to {version}" : "Update to {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "This app has no minimum Nextcloud version assigned. This will be an error in the future.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "This app has no maximum Nextcloud version assigned. This will be an error in the future.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "This app cannot be installed because the following dependencies are not fulfilled:",
- "Author" : "Author",
- "Categories" : "Categories",
- "Resources" : "Resources",
- "Documentation" : "Documentation",
- "Interact" : "Interact",
- "Report a bug" : "Report a bug",
- "Request feature" : "Request feature",
- "Ask questions or discuss" : "Ask questions or discuss",
- "Changelog" : "Changelog",
- "Google Chrome for Android" : "Google Chrome for Android",
- "{productName} iOS app" : "{productName} iOS app",
- "{productName} Android app" : "{productName} Android app",
- "{productName} Talk for iOS" : "{productName} Talk for iOS",
- "{productName} Talk for Android" : "{productName} Talk for Android",
- "Sync client" : "Sync client",
- "This session" : "This session",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Device name",
- "Cancel renaming" : "Cancel renaming",
- "Save new name" : "Save new name",
- "Marked for remote wipe" : "Marked for remote wipe",
- "Device settings" : "Device settings",
- "Allow filesystem access" : "Allow filesystem access",
- "Rename" : "Rename",
- "Revoke" : "Revoke",
- "Wipe device" : "Wipe device",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revoking this token might prevent the wiping of your device if it has not started the wipe yet.",
- "Device" : "Device",
- "Last activity" : "Last activity",
- "Devices & sessions" : "Devices & sessions",
- "Web, desktop and mobile clients currently logged in to your account." : "Web, desktop and mobile clients currently logged in to your account.",
- "Error while creating device token" : "Error while creating device token",
- "App name" : "App name",
- "Create new app password" : "Create new app password",
"App password copied!" : "App password copied!",
"Copy app password" : "Copy app password",
"Login name copied!" : "Login name copied!",
@@ -351,135 +300,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data.",
"This is the final warning: Do you really want to enable encryption?" : "This is the final warning: Do you really want to enable encryption?",
"Please confirm the group removal" : "Please confirm the group removal",
+ "Cancel" : "Cancel",
+ "Confirm" : "Confirm",
"Submit" : "Submit",
"Rename group" : "Rename group",
- "Current password" : "Current password",
- "New password" : "New password",
- "Change password" : "Change password",
- "Choose your profile picture" : "Choose your profile picture",
- "Please select a valid png or jpg file" : "Please select a valid png or jpg file",
- "Error setting profile picture" : "Error setting profile picture",
- "Error cropping profile picture" : "Error cropping profile picture",
- "Error saving profile picture" : "Error saving profile picture",
- "Error removing profile picture" : "Error removing profile picture",
- "Your profile picture" : "Your profile picture",
- "Upload profile picture" : "Upload profile picture",
- "Choose profile picture from Files" : "Choose profile picture from Files",
- "Remove profile picture" : "Remove profile picture",
- "The file must be a PNG or JPG" : "The file must be a PNG or JPG",
- "Picture provided by original account" : "Picture provided by original account",
- "Set as profile picture" : "Set as profile picture",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Please note that it can take up to 24 hours for your profile picture to be updated everywhere.",
- "You are a member of the following groups:" : "You are a member of the following groups:",
- "Your full name" : "Your full name",
- "Email options" : "Email options",
- "Remove primary email" : "Remove primary email",
- "Delete email" : "Delete email",
- "This address is not confirmed" : "This address is not confirmed",
- "Unset as primary email" : "Unset as primary email",
- "Set as primary email" : "Set as primary email",
- "Additional email address {index}" : "Additional email address {index}",
- "Unable to delete primary email address" : "Unable to delete primary email address",
- "Unable to update primary email address" : "Unable to update primary email address",
- "Unable to add additional email address" : "Unable to add additional email address",
- "Unable to update additional email address" : "Unable to update additional email address",
- "Unable to delete additional email address" : "Unable to delete additional email address",
- "Primary email for password reset and notifications" : "Primary email for password reset and notifications",
- "No email address set" : "No email address set",
- "Your handle" : "Your handle",
- "Your headline" : "Your headline",
- "Unable to update language" : "Unable to update language",
- "Help translate" : "Help translate",
- "No language set" : "No language set",
- "Unable to update locale" : "Unable to update locale",
- "Week starts on {firstDayOfWeek}" : "Week starts on {firstDayOfWeek}",
- "No locale set" : "No locale set",
- "Your city" : "Your city",
- "Your organisation" : "Your organisation",
- "Your phone number" : "Your phone number",
- "Edit your Profile visibility" : "Edit your Profile visibility",
- "Unable to update profile enabled state" : "Unable to update profile enabled state",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.",
- "Unable to update visibility of {displayId}" : "Unable to update visibility of {displayId}",
- "Your role" : "Your role",
- "Your X (formerly Twitter) handle" : "Your X (formerly Twitter) handle",
- "Your website" : "Your website",
- "Unable to update {property}" : "Unable to update {property}",
- "No {property} set" : "No {property} set",
- "Change scope level of {property}, current scope is {scope}" : "Change scope level of {property}, current scope is {scope}",
- "Unable to update federation scope of the primary {property}" : "Unable to update federation scope of the primary {property}",
- "Unable to update federation scope of additional {property}" : "Unable to update federation scope of additional {property}",
- "Add additional email" : "Add additional email",
- "Add" : "Add",
- "Create" : "Create",
- "Change" : "Change",
- "Delete" : "Delete",
- "Reshare" : "Reshare",
- "Default language" : "Default language",
- "Common languages" : "Common languages",
- "Other languages" : "Other languages",
- "Password change is disabled because the master key is disabled" : "Password change is disabled because the master key is disabled",
- "Manager" : "Manager",
- "Display name" : "Display name",
- "Either password or email is required" : "Either password or email is required",
- "Password (required)" : "Password (required)",
- "Email (required)" : "Email (required)",
- "Email" : "Email",
- "Quota" : "Quota",
- "Language" : "Language",
- "Set default language" : "Set default language",
- "Total rows summary" : "Total rows summary",
- "Scroll to load more rows" : "Scroll to load more rows",
- "Password or insufficient permissions message" : "Password or insufficient permissions message",
- "Avatar" : "Avatar",
- "Account name" : "ექაუნთის სახელი",
- "Group admin for" : "Group admin for",
- "Storage location" : "Storage location",
- "Last login" : "Last login",
- "Account actions" : "Account actions",
- "{size} used" : "{size} used",
- "Delete account" : "Delete account",
- "Resend welcome email" : "Resend welcome email",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.",
- "Remote wipe of devices" : "Remote wipe of devices",
- "Wipe {userid}'s devices" : "Wipe {userid}'s devices",
- "Wiped {userid}'s devices" : "Wiped {userid}'s devices",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Fully delete {userid}'s account including all their personal files, app data, etc.",
- "Account deletion" : "Account deletion",
- "Delete {userid}'s account" : "Delete {userid}'s account",
- "Display name was successfully changed" : "Display name was successfully changed",
- "Password was successfully changed" : "Password was successfully changed",
- "Email was successfully changed" : "Email was successfully changed",
- "Welcome mail sent!" : "Welcome mail sent!",
- "Change display name" : "Change display name",
- "Set new password" : "Set new password",
- "Set new email address" : "Set new email address",
- "Set the language" : "Set the language",
- "Done" : "Done",
- "Edit" : "Edit",
- "Visibility" : "Visibility",
- "Show language" : "Show language",
- "Show storage path" : "Show storage path",
- "Show last login" : "Show last login",
- "Sorting" : "Sorting",
- "Send email" : "Send email",
- "Defaults" : "Defaults",
- "Default quota" : "Default quota",
- "Select default quota" : "Select default quota",
- "Server error while trying to complete WebAuthn device registration" : "Server error while trying to complete WebAuthn device registration",
- "Passwordless authentication requires a secure connection." : "Passwordless authentication requires a secure connection.",
- "Add WebAuthn device" : "Add WebAuthn device",
- "Please authorize your WebAuthn device." : "Please authorize your WebAuthn device.",
- "Adding your device …" : "Adding your device …",
- "Unnamed device" : "Unnamed device",
- "Passwordless Authentication" : "Passwordless Authentication",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Set up your account for passwordless authentication following the FIDO2 standard.",
- "No devices configured." : "No devices configured.",
- "The following devices are configured for your account:" : "The following devices are configured for your account:",
- "Your browser does not support WebAuthn." : "Your browser does not support WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "As admin you can fine-tune the sharing behavior. Please see the documentation for more information.",
- "You need to enable the File sharing App." : "You need to enable the File sharing App.",
- "Admins" : "Admins",
"Sending…" : "Sending…",
"Email sent" : "Email sent",
"Location" : "Location",
@@ -487,6 +311,7 @@ OC.L10N.register(
"About" : "About",
"Full name" : "Full name",
"Additional email" : "Additional email",
+ "Email" : "Email",
"Fediverse (e.g. Mastodon)" : "Fediverse (e.g. Mastodon)",
"Headline" : "Headline",
"Organisation" : "Organisation",
@@ -495,6 +320,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (formerly Twitter)",
"Website" : "Website",
"Profile visibility" : "Profile visibility",
+ "Language" : "Language",
"Locale" : "Locale",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Not available as this property is required for core functionality including file sharing and calendar invitations",
"Your apps" : "Your apps",
@@ -506,11 +332,13 @@ OC.L10N.register(
"Supported apps" : "Supported apps",
"Show to everyone" : "Show to everyone",
"Hide" : "Hide",
+ "Update to {version}" : "Update to {version}",
"Download and enable" : "Download and enable",
"Disable" : "Disable",
"Allow untested app" : "Allow untested app",
"The app will be downloaded from the App Store" : "The app will be downloaded from the App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.",
+ "{size} used" : "{size} used",
"Unknown" : "Unknown",
"Never" : "Never",
"An error occurred during the request. Unable to proceed." : "An error occurred during the request. Unable to proceed.",
@@ -524,8 +352,10 @@ OC.L10N.register(
"Error while updating device token scope" : "Error while updating device token scope",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "There were too many requests from your network. Retry later or contact your administrator if this is an error.",
"Error" : "Error",
+ "Default quota" : "Default quota",
"Account documentation" : "Account documentation",
"Administration documentation" : "Administration documentation",
+ "Documentation" : "Documentation",
"Forum" : "Forum",
"General documentation" : "General documentation",
"Legal notice" : "Legal notice",
@@ -546,6 +376,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP Password",
"Save" : "Save",
"Test and verify email settings" : "Test and verify email settings",
+ "Send email" : "Send email",
"Security & setup warnings" : "Security & setup warnings",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information.",
"All checks passed." : "All checks passed.",
@@ -566,9 +397,6 @@ OC.L10N.register(
"File locking" : "File locking",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems.",
"The PHP memory limit is below the recommended value of %s." : "The PHP memory limit is below the recommended value of %s.",
- "Set default expiration date for shares" : "Set default expiration date for shares",
- "Your biography" : "Your biography",
- "You are using <strong>{usage}</strong>" : "You are using <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Set default expiration date for shares"
},
"nplurals=2; plural=(n!=1);");
diff --git a/apps/settings/l10n/ka.json b/apps/settings/l10n/ka.json
index dafb5323388..318d4b3db54 100644
--- a/apps/settings/l10n/ka.json
+++ b/apps/settings/l10n/ka.json
@@ -260,57 +260,6 @@
"Please enter a valid group name" : "Please enter a valid group name",
"Loading groups…" : "Loading groups…",
"Loading" : "Loading",
- "Type" : "Type",
- "Confirm" : "Confirm",
- "Cancel" : "Cancel",
- "Description" : "Description",
- "View in store" : "View in store",
- "Visit website" : "Visit website",
- "Admin documentation" : "Admin documentation",
- "Developer documentation" : "Developer documentation",
- "Details" : "Details",
- "All" : "All",
- "Limit app usage to groups" : "Limit app usage to groups",
- "No results" : "No results",
- "Update to {version}" : "Update to {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "This app has no minimum Nextcloud version assigned. This will be an error in the future.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "This app has no maximum Nextcloud version assigned. This will be an error in the future.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "This app cannot be installed because the following dependencies are not fulfilled:",
- "Author" : "Author",
- "Categories" : "Categories",
- "Resources" : "Resources",
- "Documentation" : "Documentation",
- "Interact" : "Interact",
- "Report a bug" : "Report a bug",
- "Request feature" : "Request feature",
- "Ask questions or discuss" : "Ask questions or discuss",
- "Changelog" : "Changelog",
- "Google Chrome for Android" : "Google Chrome for Android",
- "{productName} iOS app" : "{productName} iOS app",
- "{productName} Android app" : "{productName} Android app",
- "{productName} Talk for iOS" : "{productName} Talk for iOS",
- "{productName} Talk for Android" : "{productName} Talk for Android",
- "Sync client" : "Sync client",
- "This session" : "This session",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Device name",
- "Cancel renaming" : "Cancel renaming",
- "Save new name" : "Save new name",
- "Marked for remote wipe" : "Marked for remote wipe",
- "Device settings" : "Device settings",
- "Allow filesystem access" : "Allow filesystem access",
- "Rename" : "Rename",
- "Revoke" : "Revoke",
- "Wipe device" : "Wipe device",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revoking this token might prevent the wiping of your device if it has not started the wipe yet.",
- "Device" : "Device",
- "Last activity" : "Last activity",
- "Devices & sessions" : "Devices & sessions",
- "Web, desktop and mobile clients currently logged in to your account." : "Web, desktop and mobile clients currently logged in to your account.",
- "Error while creating device token" : "Error while creating device token",
- "App name" : "App name",
- "Create new app password" : "Create new app password",
"App password copied!" : "App password copied!",
"Copy app password" : "Copy app password",
"Login name copied!" : "Login name copied!",
@@ -349,135 +298,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data.",
"This is the final warning: Do you really want to enable encryption?" : "This is the final warning: Do you really want to enable encryption?",
"Please confirm the group removal" : "Please confirm the group removal",
+ "Cancel" : "Cancel",
+ "Confirm" : "Confirm",
"Submit" : "Submit",
"Rename group" : "Rename group",
- "Current password" : "Current password",
- "New password" : "New password",
- "Change password" : "Change password",
- "Choose your profile picture" : "Choose your profile picture",
- "Please select a valid png or jpg file" : "Please select a valid png or jpg file",
- "Error setting profile picture" : "Error setting profile picture",
- "Error cropping profile picture" : "Error cropping profile picture",
- "Error saving profile picture" : "Error saving profile picture",
- "Error removing profile picture" : "Error removing profile picture",
- "Your profile picture" : "Your profile picture",
- "Upload profile picture" : "Upload profile picture",
- "Choose profile picture from Files" : "Choose profile picture from Files",
- "Remove profile picture" : "Remove profile picture",
- "The file must be a PNG or JPG" : "The file must be a PNG or JPG",
- "Picture provided by original account" : "Picture provided by original account",
- "Set as profile picture" : "Set as profile picture",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Please note that it can take up to 24 hours for your profile picture to be updated everywhere.",
- "You are a member of the following groups:" : "You are a member of the following groups:",
- "Your full name" : "Your full name",
- "Email options" : "Email options",
- "Remove primary email" : "Remove primary email",
- "Delete email" : "Delete email",
- "This address is not confirmed" : "This address is not confirmed",
- "Unset as primary email" : "Unset as primary email",
- "Set as primary email" : "Set as primary email",
- "Additional email address {index}" : "Additional email address {index}",
- "Unable to delete primary email address" : "Unable to delete primary email address",
- "Unable to update primary email address" : "Unable to update primary email address",
- "Unable to add additional email address" : "Unable to add additional email address",
- "Unable to update additional email address" : "Unable to update additional email address",
- "Unable to delete additional email address" : "Unable to delete additional email address",
- "Primary email for password reset and notifications" : "Primary email for password reset and notifications",
- "No email address set" : "No email address set",
- "Your handle" : "Your handle",
- "Your headline" : "Your headline",
- "Unable to update language" : "Unable to update language",
- "Help translate" : "Help translate",
- "No language set" : "No language set",
- "Unable to update locale" : "Unable to update locale",
- "Week starts on {firstDayOfWeek}" : "Week starts on {firstDayOfWeek}",
- "No locale set" : "No locale set",
- "Your city" : "Your city",
- "Your organisation" : "Your organisation",
- "Your phone number" : "Your phone number",
- "Edit your Profile visibility" : "Edit your Profile visibility",
- "Unable to update profile enabled state" : "Unable to update profile enabled state",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.",
- "Unable to update visibility of {displayId}" : "Unable to update visibility of {displayId}",
- "Your role" : "Your role",
- "Your X (formerly Twitter) handle" : "Your X (formerly Twitter) handle",
- "Your website" : "Your website",
- "Unable to update {property}" : "Unable to update {property}",
- "No {property} set" : "No {property} set",
- "Change scope level of {property}, current scope is {scope}" : "Change scope level of {property}, current scope is {scope}",
- "Unable to update federation scope of the primary {property}" : "Unable to update federation scope of the primary {property}",
- "Unable to update federation scope of additional {property}" : "Unable to update federation scope of additional {property}",
- "Add additional email" : "Add additional email",
- "Add" : "Add",
- "Create" : "Create",
- "Change" : "Change",
- "Delete" : "Delete",
- "Reshare" : "Reshare",
- "Default language" : "Default language",
- "Common languages" : "Common languages",
- "Other languages" : "Other languages",
- "Password change is disabled because the master key is disabled" : "Password change is disabled because the master key is disabled",
- "Manager" : "Manager",
- "Display name" : "Display name",
- "Either password or email is required" : "Either password or email is required",
- "Password (required)" : "Password (required)",
- "Email (required)" : "Email (required)",
- "Email" : "Email",
- "Quota" : "Quota",
- "Language" : "Language",
- "Set default language" : "Set default language",
- "Total rows summary" : "Total rows summary",
- "Scroll to load more rows" : "Scroll to load more rows",
- "Password or insufficient permissions message" : "Password or insufficient permissions message",
- "Avatar" : "Avatar",
- "Account name" : "ექაუნთის სახელი",
- "Group admin for" : "Group admin for",
- "Storage location" : "Storage location",
- "Last login" : "Last login",
- "Account actions" : "Account actions",
- "{size} used" : "{size} used",
- "Delete account" : "Delete account",
- "Resend welcome email" : "Resend welcome email",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.",
- "Remote wipe of devices" : "Remote wipe of devices",
- "Wipe {userid}'s devices" : "Wipe {userid}'s devices",
- "Wiped {userid}'s devices" : "Wiped {userid}'s devices",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Fully delete {userid}'s account including all their personal files, app data, etc.",
- "Account deletion" : "Account deletion",
- "Delete {userid}'s account" : "Delete {userid}'s account",
- "Display name was successfully changed" : "Display name was successfully changed",
- "Password was successfully changed" : "Password was successfully changed",
- "Email was successfully changed" : "Email was successfully changed",
- "Welcome mail sent!" : "Welcome mail sent!",
- "Change display name" : "Change display name",
- "Set new password" : "Set new password",
- "Set new email address" : "Set new email address",
- "Set the language" : "Set the language",
- "Done" : "Done",
- "Edit" : "Edit",
- "Visibility" : "Visibility",
- "Show language" : "Show language",
- "Show storage path" : "Show storage path",
- "Show last login" : "Show last login",
- "Sorting" : "Sorting",
- "Send email" : "Send email",
- "Defaults" : "Defaults",
- "Default quota" : "Default quota",
- "Select default quota" : "Select default quota",
- "Server error while trying to complete WebAuthn device registration" : "Server error while trying to complete WebAuthn device registration",
- "Passwordless authentication requires a secure connection." : "Passwordless authentication requires a secure connection.",
- "Add WebAuthn device" : "Add WebAuthn device",
- "Please authorize your WebAuthn device." : "Please authorize your WebAuthn device.",
- "Adding your device …" : "Adding your device …",
- "Unnamed device" : "Unnamed device",
- "Passwordless Authentication" : "Passwordless Authentication",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Set up your account for passwordless authentication following the FIDO2 standard.",
- "No devices configured." : "No devices configured.",
- "The following devices are configured for your account:" : "The following devices are configured for your account:",
- "Your browser does not support WebAuthn." : "Your browser does not support WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "As admin you can fine-tune the sharing behavior. Please see the documentation for more information.",
- "You need to enable the File sharing App." : "You need to enable the File sharing App.",
- "Admins" : "Admins",
"Sending…" : "Sending…",
"Email sent" : "Email sent",
"Location" : "Location",
@@ -485,6 +309,7 @@
"About" : "About",
"Full name" : "Full name",
"Additional email" : "Additional email",
+ "Email" : "Email",
"Fediverse (e.g. Mastodon)" : "Fediverse (e.g. Mastodon)",
"Headline" : "Headline",
"Organisation" : "Organisation",
@@ -493,6 +318,7 @@
"X (formerly Twitter)" : "X (formerly Twitter)",
"Website" : "Website",
"Profile visibility" : "Profile visibility",
+ "Language" : "Language",
"Locale" : "Locale",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Not available as this property is required for core functionality including file sharing and calendar invitations",
"Your apps" : "Your apps",
@@ -504,11 +330,13 @@
"Supported apps" : "Supported apps",
"Show to everyone" : "Show to everyone",
"Hide" : "Hide",
+ "Update to {version}" : "Update to {version}",
"Download and enable" : "Download and enable",
"Disable" : "Disable",
"Allow untested app" : "Allow untested app",
"The app will be downloaded from the App Store" : "The app will be downloaded from the App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.",
+ "{size} used" : "{size} used",
"Unknown" : "Unknown",
"Never" : "Never",
"An error occurred during the request. Unable to proceed." : "An error occurred during the request. Unable to proceed.",
@@ -522,8 +350,10 @@
"Error while updating device token scope" : "Error while updating device token scope",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "There were too many requests from your network. Retry later or contact your administrator if this is an error.",
"Error" : "Error",
+ "Default quota" : "Default quota",
"Account documentation" : "Account documentation",
"Administration documentation" : "Administration documentation",
+ "Documentation" : "Documentation",
"Forum" : "Forum",
"General documentation" : "General documentation",
"Legal notice" : "Legal notice",
@@ -544,6 +374,7 @@
"SMTP Password" : "SMTP Password",
"Save" : "Save",
"Test and verify email settings" : "Test and verify email settings",
+ "Send email" : "Send email",
"Security & setup warnings" : "Security & setup warnings",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information.",
"All checks passed." : "All checks passed.",
@@ -564,9 +395,6 @@
"File locking" : "File locking",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems.",
"The PHP memory limit is below the recommended value of %s." : "The PHP memory limit is below the recommended value of %s.",
- "Set default expiration date for shares" : "Set default expiration date for shares",
- "Your biography" : "Your biography",
- "You are using <strong>{usage}</strong>" : "You are using <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Set default expiration date for shares"
},"pluralForm" :"nplurals=2; plural=(n!=1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ka_GE.js b/apps/settings/l10n/ka_GE.js
index 03e608f6ff2..8d553189e30 100644
--- a/apps/settings/l10n/ka_GE.js
+++ b/apps/settings/l10n/ka_GE.js
@@ -105,42 +105,6 @@ OC.L10N.register(
"Actions" : "მოქმედებები",
"No apps found for your version" : "აპლიკაციები თქვენი ვერსიისთვის ვერ იქნა ნაპოვნი",
"Group name" : "ჯგუფის სახელი",
- "Daemon" : "დაემონი",
- "Display Name" : "დისპლეი სახელი",
- "Learn more" : "შეიტყვეთ მეტი",
- "Confirm" : "დადასტურება",
- "Cancel" : "უარყოფა",
- "Description" : "აღწერილობა",
- "View in store" : "იხილეთ store-ში",
- "Visit website" : "საიტზე სტუმრობა",
- "Admin documentation" : "ადმინისტრატორის დოკუმენტაცია",
- "Developer documentation" : "დეველოპერის დოკუმენტაცია",
- "Details" : "დეტალები",
- "All" : "ყველა",
- "No results" : "შედეგები არაა",
- "Update to {version}" : "განაახლეთ ვერსიაზე {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "ეს აპლიკაცია არ საზღვრავს Nextcloud-ის მინიმალურ ვერსიას. სამომავლოდ ეს ჩაითვლება შეცდომად.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "ეს აპლიკაცია არ საზღვრავს Nextcloud-ის მაქსიმალურ ვერსიას. სამომავლოდ ეს ჩაითვლება შეცდომად.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "ეს აპლიკაცია ვერ დაყენდა რადგან შემდეგი დამოკიდებულებები არაა დაკმაყოფილებული:",
- "Categories" : "კატეგორიები",
- "Resources" : "რესურსები",
- "Documentation" : "დოკუმენტაცია",
- "Report a bug" : "განაცხადეთ შეცდომის შესახებ",
- "Request feature" : "მოითხოვეთ ფუნქცია",
- "Ask questions or discuss" : "იკითხეთ ან განიხილეთ",
- "Rate" : "შეაფასეთ",
- "Changelog" : "ცვლილებების ლოგი",
- "Google Chrome for Android" : "Google Chrome Android-ისთვის",
- "This session" : "ეს სესია",
- "Allow filesystem access" : "ფაილ-სისტემაზე წვდომის მინიჭება",
- "Rename" : "სახელის შეცვლა",
- "Revoke" : "წვდომის გაუქმება",
- "Device" : "მოწყობილობა",
- "Last activity" : "ბოლო აქტივობა",
- "Web, desktop and mobile clients currently logged in to your account." : "ვებ, დესკტოპ და მობილური კლიენტები ამჟამად ავტორიზირებული თქვენს ანგარიშზე.",
- "Error while creating device token" : "მოწყობილობის ტოკენის ჩატვირთვისას წარმოიქმნა შეცდომა",
- "App name" : "აპლიკაციის სახელი",
- "Create new app password" : "ახალი აპლიკაციის პაროლის შექმნა",
"Login" : "ლოგინი",
"Password" : "პაროლი",
"Password confirmation is required" : "საჭიროა პაროლის დამოწმება",
@@ -155,56 +119,33 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "იცოდეთ, შიფრაცია ყოველთვის ზრდის ფაილის ზომას.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "ყოველთვის კარგია თქვენი მონაცემების დაზღვევა, შიფრაციის შემთხვევაში თვენს მონაცემებთან ერთად აუცილებლად დააზღვიეთ შიფრაციის გასაღებებიც.",
"This is the final warning: Do you really want to enable encryption?" : "ეს ბოლო გაფრთხილებაა: ნამდვილად გსურთ შიფრაციის ამოქმედება?",
+ "Cancel" : "უარყოფა",
+ "Confirm" : "დადასტურება",
"Submit" : "გაგზავნა",
- "Current password" : "მიმდინარე პაროლი",
- "New password" : "ახალი პაროლი",
- "Change password" : "პაროლის შეცვლა",
- "Picture provided by original account" : "სურათი ორიგინალი ანგარიშიდან",
- "No email address set" : "ელ-ფოსტის მისამართი არაა დაყენებული",
- "Help translate" : "თარგმნის დახმარება",
- "Your phone number" : "თქვენი ტელეფონის ნომერი",
- "Your website" : "თქვენი ვებ-საიტი",
- "Add" : "დამატება",
- "Create" : "შექმნა",
- "Change" : "შეცვლა",
- "Delete" : "წაშლა",
- "Display name" : "დისპლეი სახელი",
- "Email" : "ელ-ფოსტა",
- "Quota" : "ქვოტა",
- "Language" : "ენა",
- "Avatar" : "ავატარი",
- "Group admin for" : "ადმინისტრატორის შეჯგუფება",
- "Storage location" : "საცავის ადგილმდებარეობა",
- "Last login" : "ბოლო ავტორიზაცია",
- "Account actions" : "ანგარიშის ქმედებები",
- "{size} used" : "მოხმარებულია {size}",
- "Delete account" : "ანგარიშის გაუქმება",
- "Done" : "დასრულებულია",
- "Edit" : "შეცვლა",
- "Show last login" : "ბოლო ავტორიზაციის ჩვენება",
- "Send email" : "ელ-წერილის გაგზავნა",
- "Default quota" : "საწყისი კვოტა",
- "Unnamed device" : "უსახელო მოწყობილობა",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "როგორც ადმინისტრატორს შეგიძლიათ გაზიარების ქცევის კორექტირება. დამატებითი ინფორმაციისთვის იხილეთ დოკუმენტაცია.",
- "Admins" : "ადმინისტრატორები",
"Sending…" : "იგზავნება…",
"Email sent" : "ელ-წერილი გაიგზავნა",
"Location" : "ადგილმდებარეობა",
"Profile picture" : "პროფილის სურათი",
"About" : "შესახებ",
"Full name" : "სრული სახელი",
+ "Email" : "ელ-ფოსტა",
"Phone number" : "ტელეფონის ნომერი",
"Website" : "ვებ-საიტი",
+ "Language" : "ენა",
"Your apps" : "თქვენი აპლიკაციები",
"Disabled apps" : "არამოქმედი აპლიკაციები",
"Updates" : "განახლებები",
"App bundles" : "აპლიკაციის შეკვრები",
"Hide" : "დამალვა",
+ "Update to {version}" : "განაახლეთ ვერსიაზე {version}",
"Disable" : "გამორთვა",
+ "{size} used" : "მოხმარებულია {size}",
"Unknown" : "უცნობია",
"Never" : "არასდროს",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "აპლიკაცია ამოქმედდა, თუმცა საჭიროებს განახლებას. 5 წამში გადამისამართდებით განახლების გვერდზე.",
"Error" : "შეცდომა",
+ "Default quota" : "საწყისი კვოტა",
+ "Documentation" : "დოკუმენტაცია",
"Forum" : "ფორუმი",
"SSL" : "SSL",
"Open documentation" : "ღია დოკუმენტაცია",
@@ -219,6 +160,7 @@ OC.L10N.register(
"Credentials" : "უფლებამოსილებანი",
"SMTP Password" : "SMTP მომხმარებლის პაროლი",
"Save" : "შენახვა",
+ "Send email" : "ელ-წერილის გაგზავნა",
"Security & setup warnings" : "უსაფრთხოების და მოწყობის გაფრთხილებები",
"All checks passed." : "ყველა შემოწმებამ ჩაიარა დადებითად.",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "განავითარა {communityopen}Nextcloud საზოგადოებამ{linkclose}, {githubopen}კოდი{linkclose} is ლიცენზირებულია {licenseopen}AGPL ლიცენზიით{linkclose}.",
diff --git a/apps/settings/l10n/ka_GE.json b/apps/settings/l10n/ka_GE.json
index 723779ba198..b7525791d8c 100644
--- a/apps/settings/l10n/ka_GE.json
+++ b/apps/settings/l10n/ka_GE.json
@@ -103,42 +103,6 @@
"Actions" : "მოქმედებები",
"No apps found for your version" : "აპლიკაციები თქვენი ვერსიისთვის ვერ იქნა ნაპოვნი",
"Group name" : "ჯგუფის სახელი",
- "Daemon" : "დაემონი",
- "Display Name" : "დისპლეი სახელი",
- "Learn more" : "შეიტყვეთ მეტი",
- "Confirm" : "დადასტურება",
- "Cancel" : "უარყოფა",
- "Description" : "აღწერილობა",
- "View in store" : "იხილეთ store-ში",
- "Visit website" : "საიტზე სტუმრობა",
- "Admin documentation" : "ადმინისტრატორის დოკუმენტაცია",
- "Developer documentation" : "დეველოპერის დოკუმენტაცია",
- "Details" : "დეტალები",
- "All" : "ყველა",
- "No results" : "შედეგები არაა",
- "Update to {version}" : "განაახლეთ ვერსიაზე {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "ეს აპლიკაცია არ საზღვრავს Nextcloud-ის მინიმალურ ვერსიას. სამომავლოდ ეს ჩაითვლება შეცდომად.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "ეს აპლიკაცია არ საზღვრავს Nextcloud-ის მაქსიმალურ ვერსიას. სამომავლოდ ეს ჩაითვლება შეცდომად.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "ეს აპლიკაცია ვერ დაყენდა რადგან შემდეგი დამოკიდებულებები არაა დაკმაყოფილებული:",
- "Categories" : "კატეგორიები",
- "Resources" : "რესურსები",
- "Documentation" : "დოკუმენტაცია",
- "Report a bug" : "განაცხადეთ შეცდომის შესახებ",
- "Request feature" : "მოითხოვეთ ფუნქცია",
- "Ask questions or discuss" : "იკითხეთ ან განიხილეთ",
- "Rate" : "შეაფასეთ",
- "Changelog" : "ცვლილებების ლოგი",
- "Google Chrome for Android" : "Google Chrome Android-ისთვის",
- "This session" : "ეს სესია",
- "Allow filesystem access" : "ფაილ-სისტემაზე წვდომის მინიჭება",
- "Rename" : "სახელის შეცვლა",
- "Revoke" : "წვდომის გაუქმება",
- "Device" : "მოწყობილობა",
- "Last activity" : "ბოლო აქტივობა",
- "Web, desktop and mobile clients currently logged in to your account." : "ვებ, დესკტოპ და მობილური კლიენტები ამჟამად ავტორიზირებული თქვენს ანგარიშზე.",
- "Error while creating device token" : "მოწყობილობის ტოკენის ჩატვირთვისას წარმოიქმნა შეცდომა",
- "App name" : "აპლიკაციის სახელი",
- "Create new app password" : "ახალი აპლიკაციის პაროლის შექმნა",
"Login" : "ლოგინი",
"Password" : "პაროლი",
"Password confirmation is required" : "საჭიროა პაროლის დამოწმება",
@@ -153,56 +117,33 @@
"Be aware that encryption always increases the file size." : "იცოდეთ, შიფრაცია ყოველთვის ზრდის ფაილის ზომას.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "ყოველთვის კარგია თქვენი მონაცემების დაზღვევა, შიფრაციის შემთხვევაში თვენს მონაცემებთან ერთად აუცილებლად დააზღვიეთ შიფრაციის გასაღებებიც.",
"This is the final warning: Do you really want to enable encryption?" : "ეს ბოლო გაფრთხილებაა: ნამდვილად გსურთ შიფრაციის ამოქმედება?",
+ "Cancel" : "უარყოფა",
+ "Confirm" : "დადასტურება",
"Submit" : "გაგზავნა",
- "Current password" : "მიმდინარე პაროლი",
- "New password" : "ახალი პაროლი",
- "Change password" : "პაროლის შეცვლა",
- "Picture provided by original account" : "სურათი ორიგინალი ანგარიშიდან",
- "No email address set" : "ელ-ფოსტის მისამართი არაა დაყენებული",
- "Help translate" : "თარგმნის დახმარება",
- "Your phone number" : "თქვენი ტელეფონის ნომერი",
- "Your website" : "თქვენი ვებ-საიტი",
- "Add" : "დამატება",
- "Create" : "შექმნა",
- "Change" : "შეცვლა",
- "Delete" : "წაშლა",
- "Display name" : "დისპლეი სახელი",
- "Email" : "ელ-ფოსტა",
- "Quota" : "ქვოტა",
- "Language" : "ენა",
- "Avatar" : "ავატარი",
- "Group admin for" : "ადმინისტრატორის შეჯგუფება",
- "Storage location" : "საცავის ადგილმდებარეობა",
- "Last login" : "ბოლო ავტორიზაცია",
- "Account actions" : "ანგარიშის ქმედებები",
- "{size} used" : "მოხმარებულია {size}",
- "Delete account" : "ანგარიშის გაუქმება",
- "Done" : "დასრულებულია",
- "Edit" : "შეცვლა",
- "Show last login" : "ბოლო ავტორიზაციის ჩვენება",
- "Send email" : "ელ-წერილის გაგზავნა",
- "Default quota" : "საწყისი კვოტა",
- "Unnamed device" : "უსახელო მოწყობილობა",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "როგორც ადმინისტრატორს შეგიძლიათ გაზიარების ქცევის კორექტირება. დამატებითი ინფორმაციისთვის იხილეთ დოკუმენტაცია.",
- "Admins" : "ადმინისტრატორები",
"Sending…" : "იგზავნება…",
"Email sent" : "ელ-წერილი გაიგზავნა",
"Location" : "ადგილმდებარეობა",
"Profile picture" : "პროფილის სურათი",
"About" : "შესახებ",
"Full name" : "სრული სახელი",
+ "Email" : "ელ-ფოსტა",
"Phone number" : "ტელეფონის ნომერი",
"Website" : "ვებ-საიტი",
+ "Language" : "ენა",
"Your apps" : "თქვენი აპლიკაციები",
"Disabled apps" : "არამოქმედი აპლიკაციები",
"Updates" : "განახლებები",
"App bundles" : "აპლიკაციის შეკვრები",
"Hide" : "დამალვა",
+ "Update to {version}" : "განაახლეთ ვერსიაზე {version}",
"Disable" : "გამორთვა",
+ "{size} used" : "მოხმარებულია {size}",
"Unknown" : "უცნობია",
"Never" : "არასდროს",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "აპლიკაცია ამოქმედდა, თუმცა საჭიროებს განახლებას. 5 წამში გადამისამართდებით განახლების გვერდზე.",
"Error" : "შეცდომა",
+ "Default quota" : "საწყისი კვოტა",
+ "Documentation" : "დოკუმენტაცია",
"Forum" : "ფორუმი",
"SSL" : "SSL",
"Open documentation" : "ღია დოკუმენტაცია",
@@ -217,6 +158,7 @@
"Credentials" : "უფლებამოსილებანი",
"SMTP Password" : "SMTP მომხმარებლის პაროლი",
"Save" : "შენახვა",
+ "Send email" : "ელ-წერილის გაგზავნა",
"Security & setup warnings" : "უსაფრთხოების და მოწყობის გაფრთხილებები",
"All checks passed." : "ყველა შემოწმებამ ჩაიარა დადებითად.",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "განავითარა {communityopen}Nextcloud საზოგადოებამ{linkclose}, {githubopen}კოდი{linkclose} is ლიცენზირებულია {licenseopen}AGPL ლიცენზიით{linkclose}.",
diff --git a/apps/settings/l10n/ko.js b/apps/settings/l10n/ko.js
index a6c59849d7b..e50173437d4 100644
--- a/apps/settings/l10n/ko.js
+++ b/apps/settings/l10n/ko.js
@@ -372,74 +372,6 @@ OC.L10N.register(
"Could not load section content from app store." : "앱 스토어에서 섹션 내용을 가져올 수 없음",
"Loading" : "불러오는 중",
"Fetching the latest news…" : "최신 소식 가져오는 중...",
- "Carousel" : "캐러셀",
- "Previous slide" : "이전 슬라이드",
- "Next slide" : "다음 슬라이드",
- "Choose slide to display" : "표시할 슬라이드 선택",
- "{index} of {total}" : "{total}개 중 {index}",
- "Daemon" : "데몬",
- "Deploy Daemon" : "배포 데몬",
- "Type" : "종류",
- "Display Name" : "표시 이름",
- "GPUs support" : "GPU 지원<br>",
- "Compute device" : "컴퓨팅 장치",
- "Learn more" : "자세히 알아보기",
- "Environment variables" : "환경 변수",
- "Read-only" : "읽기 전용",
- "Confirm" : "확인",
- "Cancel" : "취소",
- "Description" : "설명",
- "View in store" : "스토어에서 보기",
- "Visit website" : "웹 사이트 방문",
- "Usage documentation" : "사용법 문서",
- "Admin documentation" : "관리 문서",
- "Developer documentation" : "개발자 문서",
- "Details" : "자세히",
- "All" : "모두",
- "Limit app usage to groups" : "앱 사용을 그룹으로 제한합니다.",
- "No results" : "결과 없음",
- "Update to {version}" : "{version}(으)로 업데이트",
- "Default Deploy daemon is not accessible" : "기본 배포 데몬에 액세스할 수 없음",
- "Delete data on remove" : "제거 시 데이터 삭제",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "이 앱은 Nextcloud 최소 버전을 지정하지 않았습니다. 차후 버전에서는 오류로 처리됩니다.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "이 앱은 Nextcloud 최대 버전을 지정하지 않았습니다. 차후 버전에서는 오류로 처리됩니다.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "다음 의존성을 만족할 수 없기 때문에 이 앱을 설치할 수 없습니다:",
- "Latest updated" : "최신 업데이트됨",
- "Author" : "저자",
- "Categories" : "분류",
- "Resources" : "자원",
- "Documentation" : "문서",
- "Interact" : "상호작용",
- "Report a bug" : "버그 신고",
- "Request feature" : "기능 요청",
- "Ask questions or discuss" : "질문 및 토론",
- "Rate the app" : "앱 평가하기",
- "Rate" : "평가",
- "Changelog" : "변경 기록",
- "Google Chrome for Android" : "Android용 Google 크롬",
- "{productName} iOS app" : "{productName} iOS 앱",
- "{productName} Android app" : "{productName} Android 앱",
- "{productName} Talk for iOS" : "{productName} iOS용 Talk",
- "{productName} Talk for Android" : "{productName} Android용 Talk",
- "Sync client" : "클라이언드 동기화",
- "This session" : "이 세션",
- "Device name" : "기기 이름",
- "Cancel renaming" : "이름 변경 취소",
- "Save new name" : "새 이름 저장",
- "Marked for remote wipe" : "원격 제거를 위해 지정됨",
- "Device settings" : "디바이스 설정",
- "Allow filesystem access" : "파일시스템 접근 허용",
- "Rename" : "이름 바꾸기",
- "Revoke" : "취소",
- "Wipe device" : "디바이스 지우기",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "기기 제거가 아직 시작되지 않았다면, 이 토큰을 취소하여 기기의 제거를 방지할 수 있습니다.",
- "Device" : "장치",
- "Last activity" : "최근 활동",
- "Devices & sessions" : "디바이스 & 세션",
- "Web, desktop and mobile clients currently logged in to your account." : "사용자 계정으로 로그인된 웹, 데스크톱, 모바일 클라이언트 목록입니다.",
- "Error while creating device token" : "장치 토큰을 만드는 중 오류가 발생했습니다",
- "App name" : "앱 이름",
- "Create new app password" : "새로운 앱 암호 만들기",
"App password copied!" : "앱 암호가 복사되었습니다!",
"Copy app password" : "앱 암호 복사",
"Login name copied!" : "로그인 이름이 복사되었습니다!",
@@ -484,156 +416,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "데이터를 주기적으로 백업하는 것을 추천하며, 암호화를 사용하고 있다면 데이터와 더불어 암호화 키도 백업하십시오.",
"This is the final warning: Do you really want to enable encryption?" : "마지막 경고입니다. 암호화를 활성화하시겠습니까?",
"Please confirm the group removal" : "그룹 지우기를 확인해 주십시오",
+ "Cancel" : "취소",
+ "Confirm" : "확인",
"Submit" : "제출",
"Rename group" : "그룹 이름 바꾸기",
- "Current password" : "현재 암호",
- "New password" : "새 암호",
- "Change password" : "암호 변경",
- "Choose your profile picture" : "프로필 사진을 선택하십시오",
- "Please select a valid png or jpg file" : "올바른 PNG 또는 JPG 파일을 선택하십시오",
- "Error setting profile picture" : "프로필 사진 설정 중 오류 발생",
- "Error cropping profile picture" : "프로필 사진을 자르는 중 오류 발생",
- "Error saving profile picture" : "프로필 사진 저장 중 오류 발생",
- "Error removing profile picture" : "프로필 사진 삭제 중 오류 발생",
- "Your profile picture" : "내 프로필 사진",
- "Upload profile picture" : "프로필 사진 업로드",
- "Choose profile picture from Files" : "내 파일에서 프로필 사진 선택",
- "Remove profile picture" : "프로필 사진 삭제",
- "The file must be a PNG or JPG" : "파일은 PNG 또는 JPG여야 합니다.",
- "Picture provided by original account" : "원래 계정에서 제공하는 사진",
- "Set as profile picture" : "프로필 사진으로 설정",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "프로필사진이 모든 곳에 갱신될 때까지 최대 24시간이 걸릴 수 있습니다.",
- "Unable to update date of birth" : "생일 변경 실패",
- "Enter your date of birth" : "생일을 입력하세요",
- "You are a member of the following groups:" : "당신은 다음 그룹의 멤버입니다:",
- "Your full name" : "내 전체 이름",
- "Email options" : "이메일 옵션",
- "Remove primary email" : "주 이메일 삭제",
- "Delete email" : "이메일 삭제",
- "This address is not confirmed" : "이 주소는 확인되지 않음",
- "Unset as primary email" : "주 이메일 지정 해제",
- "Set as primary email" : "주 이메일로 지정",
- "Additional email address {index}" : "추가 이메일 주소 {index}",
- "Unable to delete primary email address" : "주 이메일 주소를 삭제할 수 없음",
- "Unable to update primary email address" : "주 이메일 주소를 갱신할 수 없음",
- "Unable to add additional email address" : "추가 이메일 주소를 추가할 수 없음",
- "Unable to update additional email address" : "추가 이메일 주소를 갱신할 수 없음",
- "Unable to delete additional email address" : "추가 이메일 주소를 삭제할 수 없음",
- "Primary email for password reset and notifications" : "암호 초기화 및 알림 수신용 주 이메일 주소",
- "No email address set" : "이메일 주소가 설정되지 않음",
- "Your handle" : "내 아이디",
- "Derived from your locale ({weekDayName})" : "지역의 규정을 바탕으로 함({weekDayName})",
- "Your headline" : "내 표제",
- "Unable to update language" : "언어를 갱신할 수 없음",
- "Languages" : "언어",
- "Help translate" : "번역 돕기",
- "No language set" : "언어가 설정되지 않음",
- "Unable to update locale" : "지역을 갱신할 수 없음",
- "Locales" : "지역",
- "Week starts on {firstDayOfWeek}" : "일주일이 {firstDayOfWeek}에 시작함",
- "No locale set" : "지역이 설정되지 않음",
- "Your city" : "내 도시",
- "Your organisation" : "내 조직",
- "Your phone number" : "내 휴대폰 번호",
- "Edit your Profile visibility" : "프로필 표시 여부 편집",
- "Unable to update profile enabled state" : "프로필 활성화 여부를 갱신할 수 없음",
- "Enable profile" : "프로필 활성화",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "표시 여부나 표시 범위 설정은 더 좁은 쪽이 우선 적용됩니다. 예를 들어, 표시 여부는 \"전체 공개\", 표시 범위는 \"개인\"으로 설정되어 있다면, 해당 항목은 \"개인\"에게만 보여집니다.",
- "Unable to update visibility of {displayId}" : "{displayId}의 표시 여부를 갱신할 수 없음",
- "Your role" : "내 직책",
- "Your X (formerly Twitter) handle" : "내 X (구 Twitter) 아이디",
- "Your website" : "내 웹 사이트",
- "Invalid value" : "잘못된 값",
- "Unable to update {property}" : "{property}을(를) 갱신할 수 없음",
- "No {property} set" : "{property}이(가) 설정되지 않음",
- "Add additional email" : "추가 이메일 추가",
- "Add" : "추가",
- "Create" : "생성",
- "Change" : "변경",
- "Delete" : "삭제",
- "Reshare" : "재공유",
- "Default language" : "기본 언어",
- "Common languages" : "공통 언어",
- "Other languages" : "다른 언어",
- "Password change is disabled because the master key is disabled" : "마스터 키가 비활성화 되어 암호 변경이 비활성화 됨",
- "No accounts" : "계정 없음",
- "Loading accounts …" : "계정 불러오는 중 ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "계정 목록입니다. 성능 저하를 막기 위해 이 목록을 완전히 처리하지 않았습니다. 계속 탐색하면 남은 목록이 자동으로 처리됩니다.",
- "Manager" : "담당 관리자",
- "New account" : "새로운 계정",
- "Display name" : "표시 이름",
- "Either password or email is required" : "암호 또는 이메일이 필요합니다",
- "Password (required)" : "암호 (필수)",
- "Email (required)" : "이메일 (필수)",
- "Email" : "이메일",
- "Quota" : "할당량",
- "Language" : "언어",
- "Set default language" : "기본 언어 지정",
- "Total rows summary" : "총 행 요약",
- "Scroll to load more rows" : "스크롤 하여 더 불러오기",
- "Avatar" : "아바타",
- "Account name" : "계정 아이디",
- "Group admin for" : "다음 그룹의 관리자:",
- "Storage location" : "저장소 위치",
- "Last login" : "마지막 로그인",
- "Account actions" : "계정 동작",
- "{size} used" : "{size} 사용됨",
- "Delete account" : "계정 삭제",
- "Disable account" : "계정 비활성화",
- "Enable account" : "계정 활성화",
- "Resend welcome email" : "환영 메일 다시 보내기",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "기기를 분실했거나 조직에서 이탈할 경우, 이를 통해 모든 기기에 있는 {userid} 관련 Nextcloud 데이터를 원격으로 삭제할 수 있습니다. 해당 기기들이 인터넷에 연결된 경우에 한하여 작동합니다.",
- "Remote wipe of devices" : "기기 원격 제거",
- "Wipe {userid}'s devices" : "{userid}의 기기 제거",
- "Wiped {userid}'s devices" : "{userid}의 기기를 제거함",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "모든 개인 파일, 앱, 데이터 등을 포함한 {userid} 계정을 완전히 삭제하기",
- "Account deletion" : "계정 삭제",
- "Delete {userid}'s account" : "{userid}의 계정 삭제",
- "Display name was successfully changed" : "표시 이름이 성공적으로 변경됨",
- "Password was successfully changed" : "암호를 성공적으로 변경함",
- "Email was successfully changed" : "이메일을 성공적으로 변경함",
- "Welcome mail sent!" : "환영 메일을 보냈습니다!",
- "Loading account …" : "계정 불러오는 중 ...",
- "Change display name" : "표시 이름 변경",
- "Set new password" : "새 암호 설정",
- "You do not have permissions to see the details of this account" : "이 계정의 상세정보를 볼 권한이 없습니다.",
- "Set new email address" : "새 이메일 주소 설정",
- "Add account to group" : "계정을 그룹에 추가",
- "Set account as admin for" : "계정을 다음에 대한 관리자로 설정: ",
- "Select account quota" : "계정 할당량 설정",
- "Set the language" : "언어 설정",
- "Toggle account actions menu" : "계정 동작 메뉴 켜고 끄기",
- "Done" : "완료",
- "Edit" : "편집",
- "Account management settings" : "계정 관리 설정",
- "Visibility" : "표시 여부",
- "Show language" : "언어 보이기",
- "Show account backend" : "계정 백엔드 보이기",
- "Show storage path" : "스토리지 경로 보이기",
- "Show last login" : "마지막 로그인 보이기",
- "Sorting" : "정렬",
- "Send email" : "이메일 보내기",
- "Send welcome email to new accounts" : "새 계정에 환영 이메일 보내기",
- "Defaults" : "기본값",
- "Default quota" : "기본 할당량",
- "Select default quota" : "기본 할당량 설정",
- "Server error while trying to complete WebAuthn device registration" : "WebAuthn 기기 등록을 마치는 중 오류 발생",
- "Passwordless authentication requires a secure connection." : "무암호 인증을 위해 보안 연결이 필요합니다.",
- "Add WebAuthn device" : "WebAuthn 기기 추가",
- "Please authorize your WebAuthn device." : "내 WebAuthn 기기를 인증하십시오.",
- "Adding your device …" : "장치 추가 중 …",
- "Unnamed device" : "이름 없는 장치",
- "Passwordless Authentication" : "무암호 인증",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "FIDO2 기준을 준수하여 계정에 무암호 인증을 설정하세요.",
- "No devices configured." : "설정된 기기가 없습니다.",
- "The following devices are configured for your account:" : "다음의 기기가 계정에 설정되었습니다:",
- "Your browser does not support WebAuthn." : "WebAuthn이 현재 브라우저를 지원하지 않습니다.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "관리자로 공유 행동을 미세 조정할 수 있습니다. 더 많은 정보를 보려면 문서를 참조하십시오.",
- "You need to enable the File sharing App." : "파일 공유 앱을 활성화해야 합니다.",
- "Developer documentation ↗" : "개발자 문서 ↗",
- "Admins" : "관리자",
- "Account group: {group}" : "계정 그룹: {group}",
- "Account management" : "계정 관리",
"Sending…" : "보내는 중…",
"Email sent" : "이메일 보냄",
"Location" : "위치",
@@ -641,6 +427,7 @@ OC.L10N.register(
"About" : "정보",
"Full name" : "전체 이름",
"Additional email" : "추가 이메일",
+ "Email" : "이메일",
"Fediverse (e.g. Mastodon)" : "Fediverse (예: Mastodon)",
"Headline" : "표제",
"Organisation" : "조직",
@@ -649,6 +436,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (구 Twitter)",
"Website" : "웹사이트",
"Profile visibility" : "프로필 표시 여부",
+ "Language" : "언어",
"Locale" : "지역",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "이 설정은 파일 공유, 달력 초대 등 핵심 기능에 필요하므로 비울 수 없습니다",
"Not available as federation has been disabled for your account, contact your system administration if you have any questions" : "이 계정에 대한 연합이 비활성화되어 현재 사용할 수 없는 상태입니다. 시스템 관리자에게 문의하십시오.",
@@ -662,12 +450,14 @@ OC.L10N.register(
"Show to everyone" : "전체 공개",
"Show to logged in accounts only" : "로그인된 계정에 공개",
"Hide" : "비공개",
+ "Update to {version}" : "{version}(으)로 업데이트",
"Deploy and Enable" : "배포 및 활성화",
"Download and enable" : "다운로드 및 사용",
"Disable" : "사용 안함",
"Allow untested app" : "확인되지 않은 앱 허용",
"The app will be downloaded from the App Store" : "이 앱이 앱 스토어에서 다운로드됩니다.",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "이 앱은 현재 Nextcloud 버젼과 호환되지 않습니다. 이 앱을 설치하면, 제대로 작동하지 않을 수 있습니다.",
+ "{size} used" : "{size} 사용됨",
"Unknown" : "알 수 없음",
"Never" : "하지 않음",
"Could not register device: Network error" : "기기를 등록할 수 없음: 네트워크 오류",
@@ -684,8 +474,10 @@ OC.L10N.register(
"Error while updating device token name" : "기기 토큰 이름을 갱신하는 중 오류 발생",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "이 네트워크에 너무 요청이 많습니다. 나중에 다시 시도하십시오. 이것이 오류일 경우 관리자에게 문의하십시오.",
"Error" : "오류",
+ "Default quota" : "기본 할당량",
"Account documentation" : "계정 문서",
"Administration documentation" : "관리 문서",
+ "Documentation" : "문서",
"Forum" : "포럼",
"General documentation" : "일반 문서",
"Legal notice" : "법적 고지",
@@ -707,6 +499,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP 암호",
"Save" : "저장",
"Test and verify email settings" : "이메일 설정 테스트 및 검증",
+ "Send email" : "이메일 보내기",
"Security & setup warnings" : "보안 및 설치 경고",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "정확한 설정은 인스턴스의 보안과 성능에 중요합니다. 아래의 자동 진단 결과를 참조하여 최적의 설정으로 조정하십시오. 더 자세한 정보를 위해서 링크된 문서를 참고하세요.",
"All checks passed." : "모든 검사를 통과했습니다.",
@@ -730,9 +523,6 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "PHP 메모리 제한이 추천값인 %s보다 작습니다.",
"for WebAuthn passwordless login" : ": WebAuthn 무암호 인증을 위해 사용",
"for WebAuthn passwordless login, and SFTP storage" : ": WebAuthn 무암호 인증 및 SFTP 저장소를 위해 사용",
- "Set default expiration date for shares" : "공유에 대한 기본 만료 날짜 설정",
- "Your biography" : "내 소개문구",
- "You are using <strong>{usage}</strong>" : "<strong>{usage}</strong>를 사용하고 있습니다.",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "전체 <strong>{totalSpace}</strong> 중 <strong>{usage}</strong>(<strong>{usageRelative}%</strong>)를 사용하고 있습니다."
+ "Set default expiration date for shares" : "공유에 대한 기본 만료 날짜 설정"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/ko.json b/apps/settings/l10n/ko.json
index c017e41ad38..a0f291efe98 100644
--- a/apps/settings/l10n/ko.json
+++ b/apps/settings/l10n/ko.json
@@ -370,74 +370,6 @@
"Could not load section content from app store." : "앱 스토어에서 섹션 내용을 가져올 수 없음",
"Loading" : "불러오는 중",
"Fetching the latest news…" : "최신 소식 가져오는 중...",
- "Carousel" : "캐러셀",
- "Previous slide" : "이전 슬라이드",
- "Next slide" : "다음 슬라이드",
- "Choose slide to display" : "표시할 슬라이드 선택",
- "{index} of {total}" : "{total}개 중 {index}",
- "Daemon" : "데몬",
- "Deploy Daemon" : "배포 데몬",
- "Type" : "종류",
- "Display Name" : "표시 이름",
- "GPUs support" : "GPU 지원<br>",
- "Compute device" : "컴퓨팅 장치",
- "Learn more" : "자세히 알아보기",
- "Environment variables" : "환경 변수",
- "Read-only" : "읽기 전용",
- "Confirm" : "확인",
- "Cancel" : "취소",
- "Description" : "설명",
- "View in store" : "스토어에서 보기",
- "Visit website" : "웹 사이트 방문",
- "Usage documentation" : "사용법 문서",
- "Admin documentation" : "관리 문서",
- "Developer documentation" : "개발자 문서",
- "Details" : "자세히",
- "All" : "모두",
- "Limit app usage to groups" : "앱 사용을 그룹으로 제한합니다.",
- "No results" : "결과 없음",
- "Update to {version}" : "{version}(으)로 업데이트",
- "Default Deploy daemon is not accessible" : "기본 배포 데몬에 액세스할 수 없음",
- "Delete data on remove" : "제거 시 데이터 삭제",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "이 앱은 Nextcloud 최소 버전을 지정하지 않았습니다. 차후 버전에서는 오류로 처리됩니다.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "이 앱은 Nextcloud 최대 버전을 지정하지 않았습니다. 차후 버전에서는 오류로 처리됩니다.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "다음 의존성을 만족할 수 없기 때문에 이 앱을 설치할 수 없습니다:",
- "Latest updated" : "최신 업데이트됨",
- "Author" : "저자",
- "Categories" : "분류",
- "Resources" : "자원",
- "Documentation" : "문서",
- "Interact" : "상호작용",
- "Report a bug" : "버그 신고",
- "Request feature" : "기능 요청",
- "Ask questions or discuss" : "질문 및 토론",
- "Rate the app" : "앱 평가하기",
- "Rate" : "평가",
- "Changelog" : "변경 기록",
- "Google Chrome for Android" : "Android용 Google 크롬",
- "{productName} iOS app" : "{productName} iOS 앱",
- "{productName} Android app" : "{productName} Android 앱",
- "{productName} Talk for iOS" : "{productName} iOS용 Talk",
- "{productName} Talk for Android" : "{productName} Android용 Talk",
- "Sync client" : "클라이언드 동기화",
- "This session" : "이 세션",
- "Device name" : "기기 이름",
- "Cancel renaming" : "이름 변경 취소",
- "Save new name" : "새 이름 저장",
- "Marked for remote wipe" : "원격 제거를 위해 지정됨",
- "Device settings" : "디바이스 설정",
- "Allow filesystem access" : "파일시스템 접근 허용",
- "Rename" : "이름 바꾸기",
- "Revoke" : "취소",
- "Wipe device" : "디바이스 지우기",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "기기 제거가 아직 시작되지 않았다면, 이 토큰을 취소하여 기기의 제거를 방지할 수 있습니다.",
- "Device" : "장치",
- "Last activity" : "최근 활동",
- "Devices & sessions" : "디바이스 & 세션",
- "Web, desktop and mobile clients currently logged in to your account." : "사용자 계정으로 로그인된 웹, 데스크톱, 모바일 클라이언트 목록입니다.",
- "Error while creating device token" : "장치 토큰을 만드는 중 오류가 발생했습니다",
- "App name" : "앱 이름",
- "Create new app password" : "새로운 앱 암호 만들기",
"App password copied!" : "앱 암호가 복사되었습니다!",
"Copy app password" : "앱 암호 복사",
"Login name copied!" : "로그인 이름이 복사되었습니다!",
@@ -482,156 +414,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "데이터를 주기적으로 백업하는 것을 추천하며, 암호화를 사용하고 있다면 데이터와 더불어 암호화 키도 백업하십시오.",
"This is the final warning: Do you really want to enable encryption?" : "마지막 경고입니다. 암호화를 활성화하시겠습니까?",
"Please confirm the group removal" : "그룹 지우기를 확인해 주십시오",
+ "Cancel" : "취소",
+ "Confirm" : "확인",
"Submit" : "제출",
"Rename group" : "그룹 이름 바꾸기",
- "Current password" : "현재 암호",
- "New password" : "새 암호",
- "Change password" : "암호 변경",
- "Choose your profile picture" : "프로필 사진을 선택하십시오",
- "Please select a valid png or jpg file" : "올바른 PNG 또는 JPG 파일을 선택하십시오",
- "Error setting profile picture" : "프로필 사진 설정 중 오류 발생",
- "Error cropping profile picture" : "프로필 사진을 자르는 중 오류 발생",
- "Error saving profile picture" : "프로필 사진 저장 중 오류 발생",
- "Error removing profile picture" : "프로필 사진 삭제 중 오류 발생",
- "Your profile picture" : "내 프로필 사진",
- "Upload profile picture" : "프로필 사진 업로드",
- "Choose profile picture from Files" : "내 파일에서 프로필 사진 선택",
- "Remove profile picture" : "프로필 사진 삭제",
- "The file must be a PNG or JPG" : "파일은 PNG 또는 JPG여야 합니다.",
- "Picture provided by original account" : "원래 계정에서 제공하는 사진",
- "Set as profile picture" : "프로필 사진으로 설정",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "프로필사진이 모든 곳에 갱신될 때까지 최대 24시간이 걸릴 수 있습니다.",
- "Unable to update date of birth" : "생일 변경 실패",
- "Enter your date of birth" : "생일을 입력하세요",
- "You are a member of the following groups:" : "당신은 다음 그룹의 멤버입니다:",
- "Your full name" : "내 전체 이름",
- "Email options" : "이메일 옵션",
- "Remove primary email" : "주 이메일 삭제",
- "Delete email" : "이메일 삭제",
- "This address is not confirmed" : "이 주소는 확인되지 않음",
- "Unset as primary email" : "주 이메일 지정 해제",
- "Set as primary email" : "주 이메일로 지정",
- "Additional email address {index}" : "추가 이메일 주소 {index}",
- "Unable to delete primary email address" : "주 이메일 주소를 삭제할 수 없음",
- "Unable to update primary email address" : "주 이메일 주소를 갱신할 수 없음",
- "Unable to add additional email address" : "추가 이메일 주소를 추가할 수 없음",
- "Unable to update additional email address" : "추가 이메일 주소를 갱신할 수 없음",
- "Unable to delete additional email address" : "추가 이메일 주소를 삭제할 수 없음",
- "Primary email for password reset and notifications" : "암호 초기화 및 알림 수신용 주 이메일 주소",
- "No email address set" : "이메일 주소가 설정되지 않음",
- "Your handle" : "내 아이디",
- "Derived from your locale ({weekDayName})" : "지역의 규정을 바탕으로 함({weekDayName})",
- "Your headline" : "내 표제",
- "Unable to update language" : "언어를 갱신할 수 없음",
- "Languages" : "언어",
- "Help translate" : "번역 돕기",
- "No language set" : "언어가 설정되지 않음",
- "Unable to update locale" : "지역을 갱신할 수 없음",
- "Locales" : "지역",
- "Week starts on {firstDayOfWeek}" : "일주일이 {firstDayOfWeek}에 시작함",
- "No locale set" : "지역이 설정되지 않음",
- "Your city" : "내 도시",
- "Your organisation" : "내 조직",
- "Your phone number" : "내 휴대폰 번호",
- "Edit your Profile visibility" : "프로필 표시 여부 편집",
- "Unable to update profile enabled state" : "프로필 활성화 여부를 갱신할 수 없음",
- "Enable profile" : "프로필 활성화",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "표시 여부나 표시 범위 설정은 더 좁은 쪽이 우선 적용됩니다. 예를 들어, 표시 여부는 \"전체 공개\", 표시 범위는 \"개인\"으로 설정되어 있다면, 해당 항목은 \"개인\"에게만 보여집니다.",
- "Unable to update visibility of {displayId}" : "{displayId}의 표시 여부를 갱신할 수 없음",
- "Your role" : "내 직책",
- "Your X (formerly Twitter) handle" : "내 X (구 Twitter) 아이디",
- "Your website" : "내 웹 사이트",
- "Invalid value" : "잘못된 값",
- "Unable to update {property}" : "{property}을(를) 갱신할 수 없음",
- "No {property} set" : "{property}이(가) 설정되지 않음",
- "Add additional email" : "추가 이메일 추가",
- "Add" : "추가",
- "Create" : "생성",
- "Change" : "변경",
- "Delete" : "삭제",
- "Reshare" : "재공유",
- "Default language" : "기본 언어",
- "Common languages" : "공통 언어",
- "Other languages" : "다른 언어",
- "Password change is disabled because the master key is disabled" : "마스터 키가 비활성화 되어 암호 변경이 비활성화 됨",
- "No accounts" : "계정 없음",
- "Loading accounts …" : "계정 불러오는 중 ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "계정 목록입니다. 성능 저하를 막기 위해 이 목록을 완전히 처리하지 않았습니다. 계속 탐색하면 남은 목록이 자동으로 처리됩니다.",
- "Manager" : "담당 관리자",
- "New account" : "새로운 계정",
- "Display name" : "표시 이름",
- "Either password or email is required" : "암호 또는 이메일이 필요합니다",
- "Password (required)" : "암호 (필수)",
- "Email (required)" : "이메일 (필수)",
- "Email" : "이메일",
- "Quota" : "할당량",
- "Language" : "언어",
- "Set default language" : "기본 언어 지정",
- "Total rows summary" : "총 행 요약",
- "Scroll to load more rows" : "스크롤 하여 더 불러오기",
- "Avatar" : "아바타",
- "Account name" : "계정 아이디",
- "Group admin for" : "다음 그룹의 관리자:",
- "Storage location" : "저장소 위치",
- "Last login" : "마지막 로그인",
- "Account actions" : "계정 동작",
- "{size} used" : "{size} 사용됨",
- "Delete account" : "계정 삭제",
- "Disable account" : "계정 비활성화",
- "Enable account" : "계정 활성화",
- "Resend welcome email" : "환영 메일 다시 보내기",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "기기를 분실했거나 조직에서 이탈할 경우, 이를 통해 모든 기기에 있는 {userid} 관련 Nextcloud 데이터를 원격으로 삭제할 수 있습니다. 해당 기기들이 인터넷에 연결된 경우에 한하여 작동합니다.",
- "Remote wipe of devices" : "기기 원격 제거",
- "Wipe {userid}'s devices" : "{userid}의 기기 제거",
- "Wiped {userid}'s devices" : "{userid}의 기기를 제거함",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "모든 개인 파일, 앱, 데이터 등을 포함한 {userid} 계정을 완전히 삭제하기",
- "Account deletion" : "계정 삭제",
- "Delete {userid}'s account" : "{userid}의 계정 삭제",
- "Display name was successfully changed" : "표시 이름이 성공적으로 변경됨",
- "Password was successfully changed" : "암호를 성공적으로 변경함",
- "Email was successfully changed" : "이메일을 성공적으로 변경함",
- "Welcome mail sent!" : "환영 메일을 보냈습니다!",
- "Loading account …" : "계정 불러오는 중 ...",
- "Change display name" : "표시 이름 변경",
- "Set new password" : "새 암호 설정",
- "You do not have permissions to see the details of this account" : "이 계정의 상세정보를 볼 권한이 없습니다.",
- "Set new email address" : "새 이메일 주소 설정",
- "Add account to group" : "계정을 그룹에 추가",
- "Set account as admin for" : "계정을 다음에 대한 관리자로 설정: ",
- "Select account quota" : "계정 할당량 설정",
- "Set the language" : "언어 설정",
- "Toggle account actions menu" : "계정 동작 메뉴 켜고 끄기",
- "Done" : "완료",
- "Edit" : "편집",
- "Account management settings" : "계정 관리 설정",
- "Visibility" : "표시 여부",
- "Show language" : "언어 보이기",
- "Show account backend" : "계정 백엔드 보이기",
- "Show storage path" : "스토리지 경로 보이기",
- "Show last login" : "마지막 로그인 보이기",
- "Sorting" : "정렬",
- "Send email" : "이메일 보내기",
- "Send welcome email to new accounts" : "새 계정에 환영 이메일 보내기",
- "Defaults" : "기본값",
- "Default quota" : "기본 할당량",
- "Select default quota" : "기본 할당량 설정",
- "Server error while trying to complete WebAuthn device registration" : "WebAuthn 기기 등록을 마치는 중 오류 발생",
- "Passwordless authentication requires a secure connection." : "무암호 인증을 위해 보안 연결이 필요합니다.",
- "Add WebAuthn device" : "WebAuthn 기기 추가",
- "Please authorize your WebAuthn device." : "내 WebAuthn 기기를 인증하십시오.",
- "Adding your device …" : "장치 추가 중 …",
- "Unnamed device" : "이름 없는 장치",
- "Passwordless Authentication" : "무암호 인증",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "FIDO2 기준을 준수하여 계정에 무암호 인증을 설정하세요.",
- "No devices configured." : "설정된 기기가 없습니다.",
- "The following devices are configured for your account:" : "다음의 기기가 계정에 설정되었습니다:",
- "Your browser does not support WebAuthn." : "WebAuthn이 현재 브라우저를 지원하지 않습니다.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "관리자로 공유 행동을 미세 조정할 수 있습니다. 더 많은 정보를 보려면 문서를 참조하십시오.",
- "You need to enable the File sharing App." : "파일 공유 앱을 활성화해야 합니다.",
- "Developer documentation ↗" : "개발자 문서 ↗",
- "Admins" : "관리자",
- "Account group: {group}" : "계정 그룹: {group}",
- "Account management" : "계정 관리",
"Sending…" : "보내는 중…",
"Email sent" : "이메일 보냄",
"Location" : "위치",
@@ -639,6 +425,7 @@
"About" : "정보",
"Full name" : "전체 이름",
"Additional email" : "추가 이메일",
+ "Email" : "이메일",
"Fediverse (e.g. Mastodon)" : "Fediverse (예: Mastodon)",
"Headline" : "표제",
"Organisation" : "조직",
@@ -647,6 +434,7 @@
"X (formerly Twitter)" : "X (구 Twitter)",
"Website" : "웹사이트",
"Profile visibility" : "프로필 표시 여부",
+ "Language" : "언어",
"Locale" : "지역",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "이 설정은 파일 공유, 달력 초대 등 핵심 기능에 필요하므로 비울 수 없습니다",
"Not available as federation has been disabled for your account, contact your system administration if you have any questions" : "이 계정에 대한 연합이 비활성화되어 현재 사용할 수 없는 상태입니다. 시스템 관리자에게 문의하십시오.",
@@ -660,12 +448,14 @@
"Show to everyone" : "전체 공개",
"Show to logged in accounts only" : "로그인된 계정에 공개",
"Hide" : "비공개",
+ "Update to {version}" : "{version}(으)로 업데이트",
"Deploy and Enable" : "배포 및 활성화",
"Download and enable" : "다운로드 및 사용",
"Disable" : "사용 안함",
"Allow untested app" : "확인되지 않은 앱 허용",
"The app will be downloaded from the App Store" : "이 앱이 앱 스토어에서 다운로드됩니다.",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "이 앱은 현재 Nextcloud 버젼과 호환되지 않습니다. 이 앱을 설치하면, 제대로 작동하지 않을 수 있습니다.",
+ "{size} used" : "{size} 사용됨",
"Unknown" : "알 수 없음",
"Never" : "하지 않음",
"Could not register device: Network error" : "기기를 등록할 수 없음: 네트워크 오류",
@@ -682,8 +472,10 @@
"Error while updating device token name" : "기기 토큰 이름을 갱신하는 중 오류 발생",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "이 네트워크에 너무 요청이 많습니다. 나중에 다시 시도하십시오. 이것이 오류일 경우 관리자에게 문의하십시오.",
"Error" : "오류",
+ "Default quota" : "기본 할당량",
"Account documentation" : "계정 문서",
"Administration documentation" : "관리 문서",
+ "Documentation" : "문서",
"Forum" : "포럼",
"General documentation" : "일반 문서",
"Legal notice" : "법적 고지",
@@ -705,6 +497,7 @@
"SMTP Password" : "SMTP 암호",
"Save" : "저장",
"Test and verify email settings" : "이메일 설정 테스트 및 검증",
+ "Send email" : "이메일 보내기",
"Security & setup warnings" : "보안 및 설치 경고",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "정확한 설정은 인스턴스의 보안과 성능에 중요합니다. 아래의 자동 진단 결과를 참조하여 최적의 설정으로 조정하십시오. 더 자세한 정보를 위해서 링크된 문서를 참고하세요.",
"All checks passed." : "모든 검사를 통과했습니다.",
@@ -728,9 +521,6 @@
"The PHP memory limit is below the recommended value of %s." : "PHP 메모리 제한이 추천값인 %s보다 작습니다.",
"for WebAuthn passwordless login" : ": WebAuthn 무암호 인증을 위해 사용",
"for WebAuthn passwordless login, and SFTP storage" : ": WebAuthn 무암호 인증 및 SFTP 저장소를 위해 사용",
- "Set default expiration date for shares" : "공유에 대한 기본 만료 날짜 설정",
- "Your biography" : "내 소개문구",
- "You are using <strong>{usage}</strong>" : "<strong>{usage}</strong>를 사용하고 있습니다.",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "전체 <strong>{totalSpace}</strong> 중 <strong>{usage}</strong>(<strong>{usageRelative}%</strong>)를 사용하고 있습니다."
+ "Set default expiration date for shares" : "공유에 대한 기본 만료 날짜 설정"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/lt_LT.js b/apps/settings/l10n/lt_LT.js
index cf411ff2897..c01c5df0364 100644
--- a/apps/settings/l10n/lt_LT.js
+++ b/apps/settings/l10n/lt_LT.js
@@ -189,60 +189,6 @@ OC.L10N.register(
"Nothing to show" : "Nėra ką rodyti",
"Loading" : "Įkeliama",
"Fetching the latest news…" : "Gaunamos paskiausios naujienos…",
- "Previous slide" : "Ankstesnė skaidrė",
- "Next slide" : "Kita skaidrė",
- "{index} of {total}" : "{index} iš {total}",
- "Daemon" : "Tarnyba",
- "Type" : "Tipas",
- "Display Name" : "Rodomas vardas",
- "Learn more" : "Sužinoti daugiau",
- "Environment variables" : "Aplinkos kintamieji",
- "Read-only" : "Tik skaitymui",
- "Confirm" : "Patvirtinti",
- "Cancel" : "Atšaukti",
- "Description" : "Aprašas",
- "View in store" : "Rodyti parduotuvėje",
- "Visit website" : "Aplankyti svetainę",
- "Admin documentation" : "Administratoriaus dokumentacija",
- "Developer documentation" : "Plėtotojo dokumentacija",
- "Details" : "Išsamiau",
- "All" : "Viskas",
- "Limit app usage to groups" : "Programos panaudojimas ribojamas grupėms",
- "No results" : "Rezultatų nėra",
- "Update to {version}" : "Atnaujinti į versiją {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Ši programėlė neturi priskirtos žemiausios „Nextcloud“ versijos. Ateityje tai bus klaida.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ši programėlė neturi priskirtos aukščiausios „Nextcloud“ versijos. Ateityje tai bus klaida.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ši programėlė negali būti įdiegta, nes nėra patenkintos žemiau išvardintos priklausomybės:",
- "Author" : "Autorius",
- "Categories" : "Kategorijos",
- "Resources" : "Ištekliai",
- "Documentation" : "Dokumentacija",
- "Report a bug" : "Pranešti apie klaidą",
- "Request feature" : "Prašyti funkcionalumo",
- "Ask questions or discuss" : "Užduokite klausimus arba diskutuokite",
- "Rate" : "Įvertinkite",
- "Changelog" : "Keitinių žurnalas",
- "Google Chrome for Android" : "Google Chrome, skirta Android",
- "{productName} iOS app" : "{productName} „iOS“ programėlė",
- "{productName} Android app" : "{productName} „Android“ programėlė",
- "This session" : "Šis seansas",
- "{client} - {version} ({system})" : "{client} – {version} ({system})",
- "{client} - {version}" : "{client} – {version}",
- "Device name" : "Įrenginio pavadinimas",
- "Cancel renaming" : "Atsisakyti pervadinimo",
- "Marked for remote wipe" : "Pažymėtas nuotolinių duomenų ištrynimui",
- "Device settings" : "Įrenginio nustatymai",
- "Allow filesystem access" : "Leisti prieigą prie failų sistemos",
- "Rename" : "Pervadinti",
- "Revoke" : "Panaikinti",
- "Wipe device" : "Ištrinti duomenis įrenginyje",
- "Device" : "Įrenginys",
- "Last activity" : "Paskutinė veikla",
- "Devices & sessions" : "Įrenginiai ir seansai",
- "Web, desktop and mobile clients currently logged in to your account." : "Saityno, darbalaukio ir mobilieji klientai, kurie šiuo metu yra prisijungę prie jūsų paskyros.",
- "Error while creating device token" : "Klaida, kuriant įrenginio prieigos raktą",
- "App name" : "Programėlės pavadinimas",
- "Create new app password" : "Sukurti naują programėlės slaptažodį",
"Could not copy app password. Please copy it manually." : "Nepavyko nukopijuoti programos slaptažodžio. Nukopijuokite jį ranka.",
"Login" : "Prisijungti",
"Password" : "Slaptažodis",
@@ -272,130 +218,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Visada yra gerai daryti reguliarias atsargines duomenų kopijas. Esant šifravimui, nepamirškite kartu su savo duomenų atsargine kopija, pasidaryti ir šifravimo raktų atsarginę kopiją.",
"This is the final warning: Do you really want to enable encryption?" : "Tai yra paskutinis įspėjimas: Ar tikrai norite įjungti šifravimą?",
"Please confirm the group removal" : "Patvirtinkite grupės pašalinimą",
+ "Cancel" : "Atšaukti",
+ "Confirm" : "Patvirtinti",
"Submit" : "Pateikti",
"Rename group" : "Pervadinti grupę",
- "Current password" : "Dabartinis slaptažodis",
- "New password" : "Naujas slaptažodis",
- "Change password" : "Pakeisti slaptažodį",
- "Please select a valid png or jpg file" : "Pasirinkite tinkamą png ar jpg failą",
- "Error setting profile picture" : "Klaida nustatant profilio paveikslėlį",
- "Error cropping profile picture" : "Klaida apkerpant profilio paveikslėlį",
- "Error saving profile picture" : "Klaida įrašant profilio paveikslėlį",
- "Error removing profile picture" : "Klaida šalinant profilio paveikslėlį",
- "Your profile picture" : "Jūsų profilio paveikslėlis",
- "Remove profile picture" : "Šalinti profilio paveikslėlį",
- "The file must be a PNG or JPG" : "Failas privalo būti PNG ar JPG tipo",
- "Picture provided by original account" : "Paveikslėlis gautas iš pagrindinės paskyros",
- "Set as profile picture" : "Nustatyti kaip profilio paveikslėlį",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Turėkite omenyje, kad gali praeiti iki 24 valandų, kol jūsų profilis bus visur atnaujintas.",
- "Unable to update date of birth" : "Nepavyko atnaujinti gimimo datos",
- "Enter your date of birth" : "Įveskite savo gimimo datą",
- "You are a member of the following groups:" : "Jūs esate šių grupių narys:",
- "Your full name" : "Jūsų visas vardas",
- "Email options" : "El. pašto parinktys",
- "Remove primary email" : "Šalinti pirminį el. paštą",
- "Delete email" : "Ištrinti el. paštą",
- "This address is not confirmed" : "Šis adresas nėra patvirtintas",
- "Set as primary email" : "Nustatyti kaip pirminį el. paštą",
- "Additional email address {index}" : "Papildomas el. pašto adresas {index}",
- "Unable to delete primary email address" : "Nepavyko ištrinti pirminio el. pašto adreso",
- "Unable to update primary email address" : "Nepavyko atnaujinti pirminio el. pašto adreso",
- "Unable to add additional email address" : "Nepavyko pridėti papildomo el. pašto adreso",
- "Unable to update additional email address" : "Nepavyko atnaujinti papildomo el. pašto adreso",
- "Unable to delete additional email address" : "Nepavyko ištrinti papildomo el. pašto adreso",
- "Primary email for password reset and notifications" : "Pirminis el. paštas, skirtas slaptažodžio atstatymui bei pranešimams",
- "No email address set" : "Nenustatytas joks el. pašto adresas",
- "Your headline" : "Santrauka apie jus",
- "Unable to update language" : "Nepavyko atnaujinti kalbos",
- "Languages" : "Kalbos",
- "Help translate" : "Padėkite išversti",
- "No language set" : "Nenustatyta jokia kalba",
- "Unable to update locale" : "Nepavyko atnaujinti lokalės",
- "Locales" : "Lokalės",
- "Week starts on {firstDayOfWeek}" : "Savaitės pradžia yra {firstDayOfWeek}",
- "Your city" : "Jūsų miestas",
- "Your organisation" : "Jūsų organizacija",
- "Your phone number" : "Jūsų telefono numeris",
- "Edit your Profile visibility" : "Taisyti savo profilio matomumą",
- "Unable to update profile enabled state" : "Nepavyko atnaujinti profilio įjungimo būsenos",
- "Unable to update visibility of {displayId}" : "Nepavyko atnaujinti {displayId} matomumo",
- "Your role" : "Jūsų vaidmuo",
- "Your website" : "Jūsų svetainė",
- "Unable to update {property}" : "Nepavyko atnaujinti {property}",
- "Add additional email" : "Pridėti papildomą el. paštą",
- "Add" : "Pridėti",
- "Create" : "Sukurti",
- "Change" : "Keisti",
- "Delete" : "Ištrinti",
- "Reshare" : "Pakartotinai bendrinti",
- "Default language" : "Numatytoji kalba",
- "Common languages" : "Bendrosios kalbos",
- "Other languages" : "Kitos kalbos",
- "Password change is disabled because the master key is disabled" : "Slaptažodžių keitimas išjungtas, nes yra išjungtas pagrindinis raktas",
- "Loading accounts …" : "Įkeliamos paskyros ...",
- "New account" : "Nauja paskyra",
- "Display name" : "Rodomas vardas",
- "Password (required)" : "Slaptažodis (būtina)",
- "Email (required)" : "El. paštas (būtina)",
- "Email" : "El. paštas",
- "Quota" : "Limitas",
- "Language" : "Kalba",
- "Set default language" : "Nustatyti numatytąją kalbą",
- "Add new account" : "Pridėti naują paskyrą",
- "Avatar" : "Avataras",
- "Account name" : "Paskyros pavadinimas",
- "Group admin for" : "Grupės administratorius",
- "Storage location" : "Saugyklos vieta",
- "First login" : "Pirmas prisijungimas",
- "Last login" : "Paskutinis prisijungimas",
- "Account actions" : "Veiksmai su paskyra",
- "{size} used" : "{size} naudojama",
- "Delete account" : "Ištrinti paskyrą",
- "Disconnect all devices and delete local data" : "Atjungti visus įrenginius ir ištrinti vietinius duomenis",
- "Disable account" : "Išjungti paskyrą",
- "Enable account" : "Įjungti paskyrą",
- "Resend welcome email" : "Siųsti dar kartą pasveikinimo el. laišką",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Pametus įrenginį arba pasikeitus darbo santykiams su organizacija, galima nuotoliniu būdu išvalyti „Nextcloud“ duomenis iš visų įrenginių, susietų su {userid}. Veikia tik su prie interneto prijungtais įrenginiais.",
- "Remote wipe of devices" : "Nuotolinių duomenų įrenginiuose ištrynimas",
- "Wipe {userid}'s devices" : "Ištrinti duomenis naudotojo {userid} įrenginiuose",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Pilnai ištrinta {userid} paskyra, įskaitant visus asmeninius failus, programos duomenis ir pan. ",
- "Account deletion" : "Paskyros ištrynimas",
- "Delete {userid}'s account" : "Ištrinti naudotojo {userid} paskyrą",
- "Password was successfully changed" : "Slaptažodis buvo sėkmingai pakeistas",
- "Email was successfully changed" : "El. paštas buvo sėkmingai pakeistas",
- "Welcome mail sent!" : "Pasveikinimo laiškas išsiųstas!",
- "Loading account …" : "Įkeliama paskyra…",
- "Set new password" : "Nustatyti naują slaptažodį",
- "You do not have permissions to see the details of this account" : "Jūs neturite leidimo matyti išsamesnę informaciją apie šią paskyrą",
- "Set new email address" : "Nustatyti naują el. pašto adresą",
- "Add account to group" : "Pridėti paskyrą į grupę",
- "Set the language" : "Nustatyti kalbą",
- "Done" : "Atlikta",
- "Edit" : "Taisyti",
- "Visibility" : "Matomumas",
- "Show language" : "Rodyti kalbą",
- "Show storage path" : "Rodyti saugyklos kelią",
- "Show first login" : "Rodyti pirmą prisijungimą",
- "Show last login" : "Rodyti paskutinį prisijungimą",
- "Sorting" : "Rikiavimas",
- "Send email" : "Siųsti el. paštą",
- "Default quota" : "Numatytasis leidžiamas duomenų kiekis",
- "Select default quota" : "Pasirinkite numatytą leidžiamą duomenų kiekį ",
- "Server error while trying to complete WebAuthn device registration" : "Serverio klaida, bandant pabaigti WebAuthn įrenginio regsitraciją",
- "Passwordless authentication requires a secure connection." : "Tapatybės nustatymas be slaptažodžio reikalauja saugaus ryšio.",
- "Add WebAuthn device" : "Pridėti WebAuthn įrenginį",
- "Please authorize your WebAuthn device." : "Prašome, autorizikuote savo WebAuthn įrenginį.",
- "Adding your device …" : "Pridedamas jūsų įrenginys …",
- "Unnamed device" : "Įrenginys be pavadinimo",
- "Passwordless Authentication" : "Tapatybės nustatymas be slaptažodžio",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Nustatykite savo paskyrai tapatybės nustatymą be slaptažodžio, pagal FIDO2 standartą.",
- "No devices configured." : "Nėra sukonfiguruotų įrenginių.",
- "The following devices are configured for your account:" : "Jūsų paskyrai sukonfiguruoti šie įrenginiai:",
- "Your browser does not support WebAuthn." : "Jūsų naršyklė nepalaiko WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Būdami administratoriumi, galite reguliuoti bendrinimo elgseną. Išsamesnei informacijai, žiūrėkite dokumentaciją.",
- "Version {version}" : "Versija {version}",
- "All accounts" : "Visos paskyros",
- "Admins" : "Administratoriai",
"Sending…" : "Siunčiama…",
"Email sent" : "El. paštas išsiųstas",
"Location" : "Vieta",
@@ -404,12 +230,14 @@ OC.L10N.register(
"Date of birth" : "Gimimo data",
"Full name" : "Vardas, pavardė",
"Additional email" : "Papildomas el. paštas",
+ "Email" : "El. paštas",
"Headline" : "Santrauka",
"Organisation" : "Organizacija",
"Phone number" : "Telefono numeris",
"Role" : "Vaidmuo",
"Website" : "Svetainė",
"Profile visibility" : "Profilio matomumas",
+ "Language" : "Kalba",
"Locale" : "Lokalė",
"First day of week" : "Pirmoji savaitės diena",
"Your apps" : "Jūsų programėlės",
@@ -421,10 +249,12 @@ OC.L10N.register(
"Supported apps" : "Palaikomos programėlės",
"Show to everyone" : "Rodyti visiems",
"Hide" : "Slėpti",
+ "Update to {version}" : "Atnaujinti į versiją {version}",
"Download and enable" : "Atsisiųsti ir įjungti",
"Disable" : "Išjungti",
"The app will be downloaded from the App Store" : "Programėlė bus atsisiųsta iš programėlių parduotuvės",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ši programėlė nėra pažymėta kaip suderinama su jūsų Nextcloud versija. Jei tęsite, vis tiek galėsite įdiegti programėlę. Turėkite omenyje, kad programėlė gali neveikti taip, kaip tikimasi.",
+ "{size} used" : "{size} naudojama",
"Unknown" : "Nežinoma",
"Never" : "Niekada",
"Could not register device: Network error" : "Nepavyko registruoti įrenginio: Tinklo klaida",
@@ -441,6 +271,8 @@ OC.L10N.register(
"Error while updating device token scope" : "Įvyko klaida atnaujinant įrenginio prieigos rakto taikymą",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Iš jūsų tinklo buvo per daug užklausų. Bandykite dar kartą vėliau arba, jeigu tai klaida, susisiekite su savo administratoriumi.",
"Error" : "Klaida",
+ "Default quota" : "Numatytasis leidžiamas duomenų kiekis",
+ "Documentation" : "Dokumentacija",
"Forum" : "Forumas",
"Legal notice" : "Teisinis pranešimas",
"Privacy policy" : "Privatumo politika",
@@ -460,6 +292,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP slaptažodis",
"Save" : "Įrašyti",
"Test and verify email settings" : "Išbandyti ir patikrinti el. pašto nustatymus",
+ "Send email" : "Siųsti el. paštą",
"Security & setup warnings" : "Saugumo ir sąrankos įspėjimai",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Siekiant jūsų egzemplioriaus saugumo ir našumo, yra svarbu, kad viskas būtų teisingai sukonfigūruota. Norėdami jums padėti, atliekame tam tikrus automatinius patikrinimus. Išsamesnei informacijai, žiūrėkite susietą dokumentaciją.",
"All checks passed." : "Visi patikros rezultatai teigiami.",
@@ -475,9 +308,6 @@ OC.L10N.register(
"Check out our blog" : "Peržvelkite mūsų tinklaraštį",
"Subscribe to our newsletter" : "Prenumeruokite mūsų naujienlaiškį",
"Use a second factor besides your password to increase security for your account." : "Be savo slaptažodžio naudokite ir antrąjį faktorių, kad padidintumėte savo paskyros saugumą.",
- "Set default expiration date for shares" : "Nustatyti viešiniams numatytąją galiojimo pabaigos datą",
- "Your biography" : "Jūsų biografija",
- "You are using <strong>{usage}</strong>" : "Jūs naudojate <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Jūs naudojate <strong>{usage}</strong> iš <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Nustatyti viešiniams numatytąją galiojimo pabaigos datą"
},
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/apps/settings/l10n/lt_LT.json b/apps/settings/l10n/lt_LT.json
index c0651ac3054..d06b6e1c758 100644
--- a/apps/settings/l10n/lt_LT.json
+++ b/apps/settings/l10n/lt_LT.json
@@ -187,60 +187,6 @@
"Nothing to show" : "Nėra ką rodyti",
"Loading" : "Įkeliama",
"Fetching the latest news…" : "Gaunamos paskiausios naujienos…",
- "Previous slide" : "Ankstesnė skaidrė",
- "Next slide" : "Kita skaidrė",
- "{index} of {total}" : "{index} iš {total}",
- "Daemon" : "Tarnyba",
- "Type" : "Tipas",
- "Display Name" : "Rodomas vardas",
- "Learn more" : "Sužinoti daugiau",
- "Environment variables" : "Aplinkos kintamieji",
- "Read-only" : "Tik skaitymui",
- "Confirm" : "Patvirtinti",
- "Cancel" : "Atšaukti",
- "Description" : "Aprašas",
- "View in store" : "Rodyti parduotuvėje",
- "Visit website" : "Aplankyti svetainę",
- "Admin documentation" : "Administratoriaus dokumentacija",
- "Developer documentation" : "Plėtotojo dokumentacija",
- "Details" : "Išsamiau",
- "All" : "Viskas",
- "Limit app usage to groups" : "Programos panaudojimas ribojamas grupėms",
- "No results" : "Rezultatų nėra",
- "Update to {version}" : "Atnaujinti į versiją {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Ši programėlė neturi priskirtos žemiausios „Nextcloud“ versijos. Ateityje tai bus klaida.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ši programėlė neturi priskirtos aukščiausios „Nextcloud“ versijos. Ateityje tai bus klaida.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ši programėlė negali būti įdiegta, nes nėra patenkintos žemiau išvardintos priklausomybės:",
- "Author" : "Autorius",
- "Categories" : "Kategorijos",
- "Resources" : "Ištekliai",
- "Documentation" : "Dokumentacija",
- "Report a bug" : "Pranešti apie klaidą",
- "Request feature" : "Prašyti funkcionalumo",
- "Ask questions or discuss" : "Užduokite klausimus arba diskutuokite",
- "Rate" : "Įvertinkite",
- "Changelog" : "Keitinių žurnalas",
- "Google Chrome for Android" : "Google Chrome, skirta Android",
- "{productName} iOS app" : "{productName} „iOS“ programėlė",
- "{productName} Android app" : "{productName} „Android“ programėlė",
- "This session" : "Šis seansas",
- "{client} - {version} ({system})" : "{client} – {version} ({system})",
- "{client} - {version}" : "{client} – {version}",
- "Device name" : "Įrenginio pavadinimas",
- "Cancel renaming" : "Atsisakyti pervadinimo",
- "Marked for remote wipe" : "Pažymėtas nuotolinių duomenų ištrynimui",
- "Device settings" : "Įrenginio nustatymai",
- "Allow filesystem access" : "Leisti prieigą prie failų sistemos",
- "Rename" : "Pervadinti",
- "Revoke" : "Panaikinti",
- "Wipe device" : "Ištrinti duomenis įrenginyje",
- "Device" : "Įrenginys",
- "Last activity" : "Paskutinė veikla",
- "Devices & sessions" : "Įrenginiai ir seansai",
- "Web, desktop and mobile clients currently logged in to your account." : "Saityno, darbalaukio ir mobilieji klientai, kurie šiuo metu yra prisijungę prie jūsų paskyros.",
- "Error while creating device token" : "Klaida, kuriant įrenginio prieigos raktą",
- "App name" : "Programėlės pavadinimas",
- "Create new app password" : "Sukurti naują programėlės slaptažodį",
"Could not copy app password. Please copy it manually." : "Nepavyko nukopijuoti programos slaptažodžio. Nukopijuokite jį ranka.",
"Login" : "Prisijungti",
"Password" : "Slaptažodis",
@@ -270,130 +216,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Visada yra gerai daryti reguliarias atsargines duomenų kopijas. Esant šifravimui, nepamirškite kartu su savo duomenų atsargine kopija, pasidaryti ir šifravimo raktų atsarginę kopiją.",
"This is the final warning: Do you really want to enable encryption?" : "Tai yra paskutinis įspėjimas: Ar tikrai norite įjungti šifravimą?",
"Please confirm the group removal" : "Patvirtinkite grupės pašalinimą",
+ "Cancel" : "Atšaukti",
+ "Confirm" : "Patvirtinti",
"Submit" : "Pateikti",
"Rename group" : "Pervadinti grupę",
- "Current password" : "Dabartinis slaptažodis",
- "New password" : "Naujas slaptažodis",
- "Change password" : "Pakeisti slaptažodį",
- "Please select a valid png or jpg file" : "Pasirinkite tinkamą png ar jpg failą",
- "Error setting profile picture" : "Klaida nustatant profilio paveikslėlį",
- "Error cropping profile picture" : "Klaida apkerpant profilio paveikslėlį",
- "Error saving profile picture" : "Klaida įrašant profilio paveikslėlį",
- "Error removing profile picture" : "Klaida šalinant profilio paveikslėlį",
- "Your profile picture" : "Jūsų profilio paveikslėlis",
- "Remove profile picture" : "Šalinti profilio paveikslėlį",
- "The file must be a PNG or JPG" : "Failas privalo būti PNG ar JPG tipo",
- "Picture provided by original account" : "Paveikslėlis gautas iš pagrindinės paskyros",
- "Set as profile picture" : "Nustatyti kaip profilio paveikslėlį",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Turėkite omenyje, kad gali praeiti iki 24 valandų, kol jūsų profilis bus visur atnaujintas.",
- "Unable to update date of birth" : "Nepavyko atnaujinti gimimo datos",
- "Enter your date of birth" : "Įveskite savo gimimo datą",
- "You are a member of the following groups:" : "Jūs esate šių grupių narys:",
- "Your full name" : "Jūsų visas vardas",
- "Email options" : "El. pašto parinktys",
- "Remove primary email" : "Šalinti pirminį el. paštą",
- "Delete email" : "Ištrinti el. paštą",
- "This address is not confirmed" : "Šis adresas nėra patvirtintas",
- "Set as primary email" : "Nustatyti kaip pirminį el. paštą",
- "Additional email address {index}" : "Papildomas el. pašto adresas {index}",
- "Unable to delete primary email address" : "Nepavyko ištrinti pirminio el. pašto adreso",
- "Unable to update primary email address" : "Nepavyko atnaujinti pirminio el. pašto adreso",
- "Unable to add additional email address" : "Nepavyko pridėti papildomo el. pašto adreso",
- "Unable to update additional email address" : "Nepavyko atnaujinti papildomo el. pašto adreso",
- "Unable to delete additional email address" : "Nepavyko ištrinti papildomo el. pašto adreso",
- "Primary email for password reset and notifications" : "Pirminis el. paštas, skirtas slaptažodžio atstatymui bei pranešimams",
- "No email address set" : "Nenustatytas joks el. pašto adresas",
- "Your headline" : "Santrauka apie jus",
- "Unable to update language" : "Nepavyko atnaujinti kalbos",
- "Languages" : "Kalbos",
- "Help translate" : "Padėkite išversti",
- "No language set" : "Nenustatyta jokia kalba",
- "Unable to update locale" : "Nepavyko atnaujinti lokalės",
- "Locales" : "Lokalės",
- "Week starts on {firstDayOfWeek}" : "Savaitės pradžia yra {firstDayOfWeek}",
- "Your city" : "Jūsų miestas",
- "Your organisation" : "Jūsų organizacija",
- "Your phone number" : "Jūsų telefono numeris",
- "Edit your Profile visibility" : "Taisyti savo profilio matomumą",
- "Unable to update profile enabled state" : "Nepavyko atnaujinti profilio įjungimo būsenos",
- "Unable to update visibility of {displayId}" : "Nepavyko atnaujinti {displayId} matomumo",
- "Your role" : "Jūsų vaidmuo",
- "Your website" : "Jūsų svetainė",
- "Unable to update {property}" : "Nepavyko atnaujinti {property}",
- "Add additional email" : "Pridėti papildomą el. paštą",
- "Add" : "Pridėti",
- "Create" : "Sukurti",
- "Change" : "Keisti",
- "Delete" : "Ištrinti",
- "Reshare" : "Pakartotinai bendrinti",
- "Default language" : "Numatytoji kalba",
- "Common languages" : "Bendrosios kalbos",
- "Other languages" : "Kitos kalbos",
- "Password change is disabled because the master key is disabled" : "Slaptažodžių keitimas išjungtas, nes yra išjungtas pagrindinis raktas",
- "Loading accounts …" : "Įkeliamos paskyros ...",
- "New account" : "Nauja paskyra",
- "Display name" : "Rodomas vardas",
- "Password (required)" : "Slaptažodis (būtina)",
- "Email (required)" : "El. paštas (būtina)",
- "Email" : "El. paštas",
- "Quota" : "Limitas",
- "Language" : "Kalba",
- "Set default language" : "Nustatyti numatytąją kalbą",
- "Add new account" : "Pridėti naują paskyrą",
- "Avatar" : "Avataras",
- "Account name" : "Paskyros pavadinimas",
- "Group admin for" : "Grupės administratorius",
- "Storage location" : "Saugyklos vieta",
- "First login" : "Pirmas prisijungimas",
- "Last login" : "Paskutinis prisijungimas",
- "Account actions" : "Veiksmai su paskyra",
- "{size} used" : "{size} naudojama",
- "Delete account" : "Ištrinti paskyrą",
- "Disconnect all devices and delete local data" : "Atjungti visus įrenginius ir ištrinti vietinius duomenis",
- "Disable account" : "Išjungti paskyrą",
- "Enable account" : "Įjungti paskyrą",
- "Resend welcome email" : "Siųsti dar kartą pasveikinimo el. laišką",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Pametus įrenginį arba pasikeitus darbo santykiams su organizacija, galima nuotoliniu būdu išvalyti „Nextcloud“ duomenis iš visų įrenginių, susietų su {userid}. Veikia tik su prie interneto prijungtais įrenginiais.",
- "Remote wipe of devices" : "Nuotolinių duomenų įrenginiuose ištrynimas",
- "Wipe {userid}'s devices" : "Ištrinti duomenis naudotojo {userid} įrenginiuose",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Pilnai ištrinta {userid} paskyra, įskaitant visus asmeninius failus, programos duomenis ir pan. ",
- "Account deletion" : "Paskyros ištrynimas",
- "Delete {userid}'s account" : "Ištrinti naudotojo {userid} paskyrą",
- "Password was successfully changed" : "Slaptažodis buvo sėkmingai pakeistas",
- "Email was successfully changed" : "El. paštas buvo sėkmingai pakeistas",
- "Welcome mail sent!" : "Pasveikinimo laiškas išsiųstas!",
- "Loading account …" : "Įkeliama paskyra…",
- "Set new password" : "Nustatyti naują slaptažodį",
- "You do not have permissions to see the details of this account" : "Jūs neturite leidimo matyti išsamesnę informaciją apie šią paskyrą",
- "Set new email address" : "Nustatyti naują el. pašto adresą",
- "Add account to group" : "Pridėti paskyrą į grupę",
- "Set the language" : "Nustatyti kalbą",
- "Done" : "Atlikta",
- "Edit" : "Taisyti",
- "Visibility" : "Matomumas",
- "Show language" : "Rodyti kalbą",
- "Show storage path" : "Rodyti saugyklos kelią",
- "Show first login" : "Rodyti pirmą prisijungimą",
- "Show last login" : "Rodyti paskutinį prisijungimą",
- "Sorting" : "Rikiavimas",
- "Send email" : "Siųsti el. paštą",
- "Default quota" : "Numatytasis leidžiamas duomenų kiekis",
- "Select default quota" : "Pasirinkite numatytą leidžiamą duomenų kiekį ",
- "Server error while trying to complete WebAuthn device registration" : "Serverio klaida, bandant pabaigti WebAuthn įrenginio regsitraciją",
- "Passwordless authentication requires a secure connection." : "Tapatybės nustatymas be slaptažodžio reikalauja saugaus ryšio.",
- "Add WebAuthn device" : "Pridėti WebAuthn įrenginį",
- "Please authorize your WebAuthn device." : "Prašome, autorizikuote savo WebAuthn įrenginį.",
- "Adding your device …" : "Pridedamas jūsų įrenginys …",
- "Unnamed device" : "Įrenginys be pavadinimo",
- "Passwordless Authentication" : "Tapatybės nustatymas be slaptažodžio",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Nustatykite savo paskyrai tapatybės nustatymą be slaptažodžio, pagal FIDO2 standartą.",
- "No devices configured." : "Nėra sukonfiguruotų įrenginių.",
- "The following devices are configured for your account:" : "Jūsų paskyrai sukonfiguruoti šie įrenginiai:",
- "Your browser does not support WebAuthn." : "Jūsų naršyklė nepalaiko WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Būdami administratoriumi, galite reguliuoti bendrinimo elgseną. Išsamesnei informacijai, žiūrėkite dokumentaciją.",
- "Version {version}" : "Versija {version}",
- "All accounts" : "Visos paskyros",
- "Admins" : "Administratoriai",
"Sending…" : "Siunčiama…",
"Email sent" : "El. paštas išsiųstas",
"Location" : "Vieta",
@@ -402,12 +228,14 @@
"Date of birth" : "Gimimo data",
"Full name" : "Vardas, pavardė",
"Additional email" : "Papildomas el. paštas",
+ "Email" : "El. paštas",
"Headline" : "Santrauka",
"Organisation" : "Organizacija",
"Phone number" : "Telefono numeris",
"Role" : "Vaidmuo",
"Website" : "Svetainė",
"Profile visibility" : "Profilio matomumas",
+ "Language" : "Kalba",
"Locale" : "Lokalė",
"First day of week" : "Pirmoji savaitės diena",
"Your apps" : "Jūsų programėlės",
@@ -419,10 +247,12 @@
"Supported apps" : "Palaikomos programėlės",
"Show to everyone" : "Rodyti visiems",
"Hide" : "Slėpti",
+ "Update to {version}" : "Atnaujinti į versiją {version}",
"Download and enable" : "Atsisiųsti ir įjungti",
"Disable" : "Išjungti",
"The app will be downloaded from the App Store" : "Programėlė bus atsisiųsta iš programėlių parduotuvės",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ši programėlė nėra pažymėta kaip suderinama su jūsų Nextcloud versija. Jei tęsite, vis tiek galėsite įdiegti programėlę. Turėkite omenyje, kad programėlė gali neveikti taip, kaip tikimasi.",
+ "{size} used" : "{size} naudojama",
"Unknown" : "Nežinoma",
"Never" : "Niekada",
"Could not register device: Network error" : "Nepavyko registruoti įrenginio: Tinklo klaida",
@@ -439,6 +269,8 @@
"Error while updating device token scope" : "Įvyko klaida atnaujinant įrenginio prieigos rakto taikymą",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Iš jūsų tinklo buvo per daug užklausų. Bandykite dar kartą vėliau arba, jeigu tai klaida, susisiekite su savo administratoriumi.",
"Error" : "Klaida",
+ "Default quota" : "Numatytasis leidžiamas duomenų kiekis",
+ "Documentation" : "Dokumentacija",
"Forum" : "Forumas",
"Legal notice" : "Teisinis pranešimas",
"Privacy policy" : "Privatumo politika",
@@ -458,6 +290,7 @@
"SMTP Password" : "SMTP slaptažodis",
"Save" : "Įrašyti",
"Test and verify email settings" : "Išbandyti ir patikrinti el. pašto nustatymus",
+ "Send email" : "Siųsti el. paštą",
"Security & setup warnings" : "Saugumo ir sąrankos įspėjimai",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Siekiant jūsų egzemplioriaus saugumo ir našumo, yra svarbu, kad viskas būtų teisingai sukonfigūruota. Norėdami jums padėti, atliekame tam tikrus automatinius patikrinimus. Išsamesnei informacijai, žiūrėkite susietą dokumentaciją.",
"All checks passed." : "Visi patikros rezultatai teigiami.",
@@ -473,9 +306,6 @@
"Check out our blog" : "Peržvelkite mūsų tinklaraštį",
"Subscribe to our newsletter" : "Prenumeruokite mūsų naujienlaiškį",
"Use a second factor besides your password to increase security for your account." : "Be savo slaptažodžio naudokite ir antrąjį faktorių, kad padidintumėte savo paskyros saugumą.",
- "Set default expiration date for shares" : "Nustatyti viešiniams numatytąją galiojimo pabaigos datą",
- "Your biography" : "Jūsų biografija",
- "You are using <strong>{usage}</strong>" : "Jūs naudojate <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Jūs naudojate <strong>{usage}</strong> iš <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Nustatyti viešiniams numatytąją galiojimo pabaigos datą"
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/lv.js b/apps/settings/l10n/lv.js
index 0516783f8b2..9ffcac35e6e 100644
--- a/apps/settings/l10n/lv.js
+++ b/apps/settings/l10n/lv.js
@@ -89,40 +89,9 @@ OC.L10N.register(
"_Update_::_Update all_" : ["Atjaunināt visas","Atjaunināt","Atjaunināt visas"],
"Group name" : "Grupas nosaukums",
"Loading" : "Ielādē",
- "Type" : "Veids",
- "Display Name" : "Attēlojamais vārds",
- "Learn more" : "Uzziniet vairāk",
- "Confirm" : "Apstiprināt",
- "Cancel" : "Atcelt",
- "Description" : "Apraksts",
- "Visit website" : "Apmeklējiet vietni",
- "Admin documentation" : "Pārvaldītāja dokumentācija",
- "Developer documentation" : "Izstrādātāja dokumentācija",
- "Details" : "Detaļas",
- "All" : "Visi",
- "No results" : "Nav iznākuma",
- "Update to {version}" : "Atjaunināt uz {version}",
- "Latest updated" : "Pēdējoreiz atjaunināta",
- "Categories" : "Kategorijas",
- "Resources" : "Resursi",
- "Documentation" : "Dokumentācija",
- "Report a bug" : "Ziņot par kļūdu",
- "Rate" : "Vērtēt",
- "Changelog" : "Izmaiņu žurnāls",
- "Google Chrome for Android" : "Google Chrome for Android",
- "This session" : "Šajā sesijā",
- "Device settings" : "Ierīces iestatījumi",
- "Rename" : "Pārdēvēt",
- "Revoke" : "Atsaukt",
- "Device" : "Ierīce",
- "Last activity" : "Pēdējās darbības",
- "Devices & sessions" : "Ierīces un sesijas",
- "Web, desktop and mobile clients currently logged in to your account." : "Tīmekļa, darbvirsmas un viedierīču klienti, kas pašlaik ir pieteikušies Tavā kontā.",
- "App name" : "Lietotnes nosaukums",
- "Create new app password" : "Izveidot jaunu lietotnes paroli",
"New app password" : "Jauna lietotnes parole",
"Use the credentials below to configure your app or device. For security reasons this password will only be shown once." : "Zemāk esošie piekļuves dati jāizmanto, lai konfigurētu lietotni vai ierīci. Drošības iemeslu dēļ šī parole tiks parādīta tikai vienu reizi.",
- "Login" : "Pieteikties",
+ "Login" : "Pieteikumvārds",
"Password" : "Parole",
"Show QR code for mobile apps" : "Parādīt kvadrātkodu tālruņa lietotnēm",
"Profile" : "Profils",
@@ -137,57 +106,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Vienmēr ir ieteicams regulāri veidot datu rezerves kopijas, un šifrēšanas gadījumā jāpārliecinās, ka līdz ar datiem rezerves kopijas ir izveidotas arī šifrēšanas atslēgām.",
"This is the final warning: Do you really want to enable encryption?" : "Šis ir pēdējais brīdinājums: vai tiešām iespējot šifrēšanu?",
"Failed to delete group \"{group}\"" : "Neizdevās izdzēst kopu \"{group}\"",
+ "Cancel" : "Atcelt",
+ "Confirm" : "Apstiprināt",
"Submit" : "Iesniegt",
"Rename group" : "Pārdēvēt kopu",
- "Current password" : "Pašreizējā parole",
- "New password" : "Jaunā parole",
- "Change password" : "Mainīt paroli",
- "The file must be a PNG or JPG" : "Datnei jābūt PNG vai JPG",
- "Unable to update date of birth" : "Nevarēja atjaunināt dzimšanas datumu",
- "Enter your date of birth" : "Ievadi savu dzimšanas datumu",
- "You are using {s}{usage}{/s}" : "Tu izmanto {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Tu izmanto {s}{usage}{/s} no {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Tu esi zemāk uzskaitīto kopu dalībnieks:",
- "This address is not confirmed" : "Šī adrese nav apstiprināta",
- "Primary email for password reset and notifications" : "Primārā e-pasta adrese paroles atjaunošanai un paziņojumiem",
- "No email address set" : "Nav norādīts e-pasts",
- "Help translate" : "Palīdzi tulkot",
- "Unable to update locale" : "Nevarēja atjaunināt lokalizāciju",
- "Locales" : "Lokalizācijas",
- "Week starts on {firstDayOfWeek}" : "Nedēļa sākas {firstDayOfWeek}",
- "No locale set" : "Lokalizācija nav iestatīta",
- "Your phone number" : "Tavs tālruņa numurs",
- "Edit your Profile visibility" : "Labot sava profila redzamību",
- "Your role" : "Tava loma",
- "Your website" : "Tava tīmekļvietne",
- "Add" : "Pievienot",
- "Create" : "Izveidot",
- "Change" : "Mainīt",
- "Delete" : "Izdzēst",
- "Display name" : "Attēlojamais vārds",
- "Email" : "E-pasts",
- "Quota" : "Apjoms",
- "Language" : "Valoda",
- "Add new account" : "Pievienot jaunu kontu",
- "Scroll to load more rows" : "Ritināt, lai ielādētu vairāk rindu",
- "Avatar" : "Profila attēls",
- "Account name" : "Konta nosaukums",
- "Group admin for" : "Kopa \"pārvaldītājs\"",
- "Storage location" : "Krātuves atrašanās vieta",
- "Last login" : "Pēdējā pieteikšanās",
- "Account actions" : "Konta darbības",
- "{size} used" : "Izmantoti {size}",
- "Delete account" : "Izdzēst kontu",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Pazaudētas ierīces vai apvienības pamešanas gadījumā šis var attālināti notīrīt Nextcloud datus visās ar {userid} saistītajās ierīcēs. Darbojas tikai tad, ja ierīces ir savienotas ar internetu.",
- "Add account to group" : "Pievienot kontu kopai",
- "Done" : "Pabeigts",
- "Edit" : "Labot",
- "Visibility" : "Redzamība",
- "Show last login" : "Rādīt pēdējo autorizāciju",
- "Send email" : "Nosūtīt e-pasta ziņojumu",
- "Send welcome email to new accounts" : "Nosūtīt sasveicināšanās e-pasta ziņojumu jauniem lietotājiem",
- "Default quota" : "Apjoms pēc noklusējuma",
- "Admins" : "Pārvaldītāji",
"Sending…" : "Sūta …",
"Email sent" : "E-pasta ziņojums nosūtīts",
"Location" : "Atrašanās vieta",
@@ -195,18 +117,24 @@ OC.L10N.register(
"About" : "Par",
"Date of birth" : "Dzimšanas datums",
"Full name" : "Pilns vārds",
+ "Email" : "E-pasts",
"Phone number" : "Tālruņa numurs",
"Role" : "Loma",
"Website" : "Mājaslapa",
+ "Language" : "Valoda",
"Locale" : "Lokalizācija",
"First day of week" : "Pirmā nedēļas diena",
"Updates" : "Atjauninājumi",
"Hide" : "Paslēpt",
+ "Update to {version}" : "Atjaunināt uz {version}",
"Disable" : "Deaktivēt",
+ "{size} used" : "Izmantoti {size}",
"Unknown" : "Nezināms",
"Never" : "Nekad",
"Do you really want to wipe your data from this device?" : "Vai tiešām izdzēst datus šajā ierīcē?",
"Error" : "Kļūda",
+ "Default quota" : "Apjoms pēc noklusējuma",
+ "Documentation" : "Dokumentācija",
"Forum" : "Forums",
"Nextcloud help & privacy resources" : "Nextcloud palīdzība un privātuma līdzekļi",
"Privacy policy" : "Privātuma politika",
@@ -223,13 +151,11 @@ OC.L10N.register(
"Credentials" : "Akreditācijas dati",
"SMTP Password" : "SMTP parole",
"Save" : "Saglabāt",
+ "Send email" : "Nosūtīt e-pasta ziņojumu",
"Security & setup warnings" : "Drošības un iestatījumu brīdinājumi",
"All checks passed." : "Visas pārbaudes veiksmīgas.",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Izstrādātās {communityopen}Nextcloud kopiena {linkclose}, {githubopen} avota kods {linkclose} licencēts saskaņā ar {licenseopen}AGPL{linkclose}.",
"Use a second factor besides your password to increase security for your account." : "Vēl viena apliecināšanas līdzekļa izmantošana papildus parolei, lai palielinātu sava konta drošību.",
- "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Ja izmanto trešo pušu lietotnes, lai savienotos ar Nextcloud, lūgums ņemt vērā, ka pirms divpakāpju pieteikšanās iespējošanas katrai no tām ir nepieciešams izveidot un izmantot lietotnes paroli.",
- "Your biography" : "Apraksts par sevi",
- "You are using <strong>{usage}</strong>" : "Tu izmanto <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Tu izmanto <strong>{usage}</strong> no <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Ja izmanto trešo pušu lietotnes, lai savienotos ar Nextcloud, lūgums ņemt vērā, ka pirms divpakāpju pieteikšanās iespējošanas katrai no tām ir nepieciešams izveidot un izmantot lietotnes paroli."
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/settings/l10n/lv.json b/apps/settings/l10n/lv.json
index 11de016ba60..002a4162295 100644
--- a/apps/settings/l10n/lv.json
+++ b/apps/settings/l10n/lv.json
@@ -87,40 +87,9 @@
"_Update_::_Update all_" : ["Atjaunināt visas","Atjaunināt","Atjaunināt visas"],
"Group name" : "Grupas nosaukums",
"Loading" : "Ielādē",
- "Type" : "Veids",
- "Display Name" : "Attēlojamais vārds",
- "Learn more" : "Uzziniet vairāk",
- "Confirm" : "Apstiprināt",
- "Cancel" : "Atcelt",
- "Description" : "Apraksts",
- "Visit website" : "Apmeklējiet vietni",
- "Admin documentation" : "Pārvaldītāja dokumentācija",
- "Developer documentation" : "Izstrādātāja dokumentācija",
- "Details" : "Detaļas",
- "All" : "Visi",
- "No results" : "Nav iznākuma",
- "Update to {version}" : "Atjaunināt uz {version}",
- "Latest updated" : "Pēdējoreiz atjaunināta",
- "Categories" : "Kategorijas",
- "Resources" : "Resursi",
- "Documentation" : "Dokumentācija",
- "Report a bug" : "Ziņot par kļūdu",
- "Rate" : "Vērtēt",
- "Changelog" : "Izmaiņu žurnāls",
- "Google Chrome for Android" : "Google Chrome for Android",
- "This session" : "Šajā sesijā",
- "Device settings" : "Ierīces iestatījumi",
- "Rename" : "Pārdēvēt",
- "Revoke" : "Atsaukt",
- "Device" : "Ierīce",
- "Last activity" : "Pēdējās darbības",
- "Devices & sessions" : "Ierīces un sesijas",
- "Web, desktop and mobile clients currently logged in to your account." : "Tīmekļa, darbvirsmas un viedierīču klienti, kas pašlaik ir pieteikušies Tavā kontā.",
- "App name" : "Lietotnes nosaukums",
- "Create new app password" : "Izveidot jaunu lietotnes paroli",
"New app password" : "Jauna lietotnes parole",
"Use the credentials below to configure your app or device. For security reasons this password will only be shown once." : "Zemāk esošie piekļuves dati jāizmanto, lai konfigurētu lietotni vai ierīci. Drošības iemeslu dēļ šī parole tiks parādīta tikai vienu reizi.",
- "Login" : "Pieteikties",
+ "Login" : "Pieteikumvārds",
"Password" : "Parole",
"Show QR code for mobile apps" : "Parādīt kvadrātkodu tālruņa lietotnēm",
"Profile" : "Profils",
@@ -135,57 +104,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Vienmēr ir ieteicams regulāri veidot datu rezerves kopijas, un šifrēšanas gadījumā jāpārliecinās, ka līdz ar datiem rezerves kopijas ir izveidotas arī šifrēšanas atslēgām.",
"This is the final warning: Do you really want to enable encryption?" : "Šis ir pēdējais brīdinājums: vai tiešām iespējot šifrēšanu?",
"Failed to delete group \"{group}\"" : "Neizdevās izdzēst kopu \"{group}\"",
+ "Cancel" : "Atcelt",
+ "Confirm" : "Apstiprināt",
"Submit" : "Iesniegt",
"Rename group" : "Pārdēvēt kopu",
- "Current password" : "Pašreizējā parole",
- "New password" : "Jaunā parole",
- "Change password" : "Mainīt paroli",
- "The file must be a PNG or JPG" : "Datnei jābūt PNG vai JPG",
- "Unable to update date of birth" : "Nevarēja atjaunināt dzimšanas datumu",
- "Enter your date of birth" : "Ievadi savu dzimšanas datumu",
- "You are using {s}{usage}{/s}" : "Tu izmanto {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Tu izmanto {s}{usage}{/s} no {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Tu esi zemāk uzskaitīto kopu dalībnieks:",
- "This address is not confirmed" : "Šī adrese nav apstiprināta",
- "Primary email for password reset and notifications" : "Primārā e-pasta adrese paroles atjaunošanai un paziņojumiem",
- "No email address set" : "Nav norādīts e-pasts",
- "Help translate" : "Palīdzi tulkot",
- "Unable to update locale" : "Nevarēja atjaunināt lokalizāciju",
- "Locales" : "Lokalizācijas",
- "Week starts on {firstDayOfWeek}" : "Nedēļa sākas {firstDayOfWeek}",
- "No locale set" : "Lokalizācija nav iestatīta",
- "Your phone number" : "Tavs tālruņa numurs",
- "Edit your Profile visibility" : "Labot sava profila redzamību",
- "Your role" : "Tava loma",
- "Your website" : "Tava tīmekļvietne",
- "Add" : "Pievienot",
- "Create" : "Izveidot",
- "Change" : "Mainīt",
- "Delete" : "Izdzēst",
- "Display name" : "Attēlojamais vārds",
- "Email" : "E-pasts",
- "Quota" : "Apjoms",
- "Language" : "Valoda",
- "Add new account" : "Pievienot jaunu kontu",
- "Scroll to load more rows" : "Ritināt, lai ielādētu vairāk rindu",
- "Avatar" : "Profila attēls",
- "Account name" : "Konta nosaukums",
- "Group admin for" : "Kopa \"pārvaldītājs\"",
- "Storage location" : "Krātuves atrašanās vieta",
- "Last login" : "Pēdējā pieteikšanās",
- "Account actions" : "Konta darbības",
- "{size} used" : "Izmantoti {size}",
- "Delete account" : "Izdzēst kontu",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Pazaudētas ierīces vai apvienības pamešanas gadījumā šis var attālināti notīrīt Nextcloud datus visās ar {userid} saistītajās ierīcēs. Darbojas tikai tad, ja ierīces ir savienotas ar internetu.",
- "Add account to group" : "Pievienot kontu kopai",
- "Done" : "Pabeigts",
- "Edit" : "Labot",
- "Visibility" : "Redzamība",
- "Show last login" : "Rādīt pēdējo autorizāciju",
- "Send email" : "Nosūtīt e-pasta ziņojumu",
- "Send welcome email to new accounts" : "Nosūtīt sasveicināšanās e-pasta ziņojumu jauniem lietotājiem",
- "Default quota" : "Apjoms pēc noklusējuma",
- "Admins" : "Pārvaldītāji",
"Sending…" : "Sūta …",
"Email sent" : "E-pasta ziņojums nosūtīts",
"Location" : "Atrašanās vieta",
@@ -193,18 +115,24 @@
"About" : "Par",
"Date of birth" : "Dzimšanas datums",
"Full name" : "Pilns vārds",
+ "Email" : "E-pasts",
"Phone number" : "Tālruņa numurs",
"Role" : "Loma",
"Website" : "Mājaslapa",
+ "Language" : "Valoda",
"Locale" : "Lokalizācija",
"First day of week" : "Pirmā nedēļas diena",
"Updates" : "Atjauninājumi",
"Hide" : "Paslēpt",
+ "Update to {version}" : "Atjaunināt uz {version}",
"Disable" : "Deaktivēt",
+ "{size} used" : "Izmantoti {size}",
"Unknown" : "Nezināms",
"Never" : "Nekad",
"Do you really want to wipe your data from this device?" : "Vai tiešām izdzēst datus šajā ierīcē?",
"Error" : "Kļūda",
+ "Default quota" : "Apjoms pēc noklusējuma",
+ "Documentation" : "Dokumentācija",
"Forum" : "Forums",
"Nextcloud help & privacy resources" : "Nextcloud palīdzība un privātuma līdzekļi",
"Privacy policy" : "Privātuma politika",
@@ -221,13 +149,11 @@
"Credentials" : "Akreditācijas dati",
"SMTP Password" : "SMTP parole",
"Save" : "Saglabāt",
+ "Send email" : "Nosūtīt e-pasta ziņojumu",
"Security & setup warnings" : "Drošības un iestatījumu brīdinājumi",
"All checks passed." : "Visas pārbaudes veiksmīgas.",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Izstrādātās {communityopen}Nextcloud kopiena {linkclose}, {githubopen} avota kods {linkclose} licencēts saskaņā ar {licenseopen}AGPL{linkclose}.",
"Use a second factor besides your password to increase security for your account." : "Vēl viena apliecināšanas līdzekļa izmantošana papildus parolei, lai palielinātu sava konta drošību.",
- "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Ja izmanto trešo pušu lietotnes, lai savienotos ar Nextcloud, lūgums ņemt vērā, ka pirms divpakāpju pieteikšanās iespējošanas katrai no tām ir nepieciešams izveidot un izmantot lietotnes paroli.",
- "Your biography" : "Apraksts par sevi",
- "You are using <strong>{usage}</strong>" : "Tu izmanto <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Tu izmanto <strong>{usage}</strong> no <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Ja izmanto trešo pušu lietotnes, lai savienotos ar Nextcloud, lūgums ņemt vērā, ka pirms divpakāpju pieteikšanās iespējošanas katrai no tām ir nepieciešams izveidot un izmantot lietotnes paroli."
},"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/settings/l10n/mk.js b/apps/settings/l10n/mk.js
index ecc9c7a0fce..a1d9d0f9311 100644
--- a/apps/settings/l10n/mk.js
+++ b/apps/settings/l10n/mk.js
@@ -181,49 +181,6 @@ OC.L10N.register(
"_%n app has an update available_::_%n apps have an update available_" : ["За %n апликација има достапно ажурирање","За %n апликации има достапно ажурирање"],
"_Update_::_Update all_" : ["Ажурирај","Ажурирај ги сите"],
"Group name" : "Име на група",
- "Type" : "Вид",
- "Learn more" : "Научи повеќе",
- "Confirm" : "Потврди",
- "Cancel" : "Откажи",
- "View in store" : "Преглед во продавницата за апликации",
- "Visit website" : "Посети ја веб страната",
- "Admin documentation" : "Документација за администратор",
- "Developer documentation" : "Документација за програмери",
- "Details" : "Детали",
- "All" : "Сите",
- "Limit app usage to groups" : "Ограничување за користење на апликации во групи",
- "No results" : "Нема резултати",
- "Update to {version}" : "Надгради на {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Оваа апликација нема доделена минимална верзија. Може да настане грешка во иднина.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Оваа апликација нема доделена максимална верзија. Може да настане грешка во иднина.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Оваа апликација не може да се инсталира затоа што следниве зависности не се исполнети:",
- "Author" : "Автор",
- "Categories" : "Категории",
- "Resources" : "Ресурси",
- "Documentation" : "Документација",
- "Report a bug" : "Пријави грешка",
- "Changelog" : "Листа на промени",
- "Google Chrome for Android" : "Google Chrome за Android",
- "{productName} iOS app" : "{productName} iOS апликација",
- "{productName} Android app" : "{productName} Android апликација",
- "{productName} Talk for iOS" : "{productName} Talk за iOS",
- "{productName} Talk for Android" : "{productName} Talk за Android",
- "This session" : "Оваа сесија",
- "Device name" : "Име на уред",
- "Marked for remote wipe" : "Означи за далечинско бришење",
- "Device settings" : "Параметри за уреди",
- "Allow filesystem access" : "Дозвола за пристап до податоци",
- "Rename" : "Преименувај",
- "Revoke" : "Одземи",
- "Wipe device" : "Избриши уред",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Одземањето на овој токен може да спречи бришење на вашиот уред ако сè уште не е избришано.",
- "Device" : "Уред",
- "Last activity" : "Последна активност",
- "Devices & sessions" : "Уреди и сесии",
- "Web, desktop and mobile clients currently logged in to your account." : "Клиенти за веб, компјутер и мобелен кој моментално се поврзани на твојата сметка.",
- "Error while creating device token" : "Грешка при креирање на токен за уред",
- "App name" : "Име на апликација",
- "Create new app password" : "Креирај нова лозинка за апликација",
"Could not copy app password. Please copy it manually." : "Неможе да се копира лозинката за апликација. Ве молиме копирајте ја рачно.",
"Use the credentials below to configure your app or device. For security reasons this password will only be shown once." : "Користете ги акредитивите подолу за да ја конфигурирате вашата апликација или уред. Од безбедносни причини оваа лозинка ќе се прикаже само еднаш.",
"Login" : "Најава",
@@ -255,134 +212,10 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Бидете свесни дека енкрипцијата секогаш ја зголемува големината на датотеката.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Секогаш е добро да создавате редовни резервни кории на вашите податоци, во случај на енкрипција, осигурајте се да ги зачувате и клучевите за шифрирање заедно со вашите податоци.",
"This is the final warning: Do you really want to enable encryption?" : "Ова е последно предупредување: Дали навистина сакате да овозможите енкрипција?",
+ "Cancel" : "Откажи",
+ "Confirm" : "Потврди",
"Submit" : "Испрати",
"Rename group" : "Преименувај група",
- "Current password" : "Моментална лозинка",
- "New password" : "Нова лозинка",
- "Change password" : "Промени лозинка",
- "Choose your profile picture" : "Избери за фотографија за профилот",
- "Please select a valid png or jpg file" : "Изберете png или jpg датотека",
- "Error setting profile picture" : "Грешка при поставување на фотографија за профилот",
- "Error cropping profile picture" : "Грешка при сечење на фотографија за профилот",
- "Error saving profile picture" : "Грешка при зачувување на фотографија за профилот",
- "Error removing profile picture" : "Грешка при бришење на фотографија за профилот",
- "Your profile picture" : "Ваша фотографија на профилот",
- "Upload profile picture" : "Прикачи фотографија на профилот",
- "Choose profile picture from Files" : "Избери фотографија на профилот од датотеките",
- "Remove profile picture" : "Избриши фотографија на профилот",
- "The file must be a PNG or JPG" : "Датотеката мора да биде PNG или JPG",
- "Picture provided by original account" : "Слика обезбедена од оригинална сметка",
- "Set as profile picture" : "Постави фотографија на профилот",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Имајте предвид дека може да потрае до 24 часа за да се ажурира аватарот насекаде.",
- "Enter your date of birth" : "Внесете го вашиот датум на раѓање",
- "You are a member of the following groups:" : "Член сте на следниве групи",
- "Your full name" : "Вашето целосно име",
- "Email options" : "Е-пошта параметри",
- "Remove primary email" : "Избриши примарна е-пошта",
- "Delete email" : "Избриши е-пошта",
- "This address is not confirmed" : "Оваа адреса не е потврдена",
- "Unset as primary email" : "Острани од примарна е-пошта",
- "Set as primary email" : "Постави како примарна е-пошта",
- "Additional email address {index}" : "Дополнителна е-пошта {index}",
- "Unable to delete primary email address" : "Неможе да се избрише примарната е-пошта",
- "Unable to update primary email address" : "Не може да се ажурира примарната е-пошта адреса",
- "Unable to add additional email address" : "Не може да се додаде дополнителна е-пошта адреса",
- "Unable to update additional email address" : "Не може да се ажурира дополнителната е-пошта адреса",
- "Unable to delete additional email address" : "Не може да се избрише дополнителната е-пошта адреса",
- "Primary email for password reset and notifications" : "Примарна Е-пошта за ресетирање на лозинка и известувања",
- "No email address set" : "Нема поставено адреса за е-пошта ",
- "Derived from your locale ({weekDayName})" : "Произлезено од вашата локација ({weekDayName})",
- "Your headline" : "Вашиот наслов",
- "Unable to update language" : "Не може да се ажурира јазикот",
- "Help translate" : "Помогни во преводот",
- "No language set" : "Не е поставен јазик",
- "Unable to update locale" : "Не може да се ажурира локалната локација",
- "Week starts on {firstDayOfWeek}" : "Неделата започнува во {firstDayOfWeek}",
- "No locale set" : "Нема поставено локална локација",
- "Your city" : "Град",
- "Your organisation" : "Вашата организација",
- "Your phone number" : "Вашиот телефонски број",
- "Edit your Profile visibility" : "Уредете ја видливоста на вашиот профил",
- "Unable to update profile enabled state" : "Неможе да се ажурира достапноста на профилот",
- "Enable profile" : "Овозможи профил",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Порестриктивни параметри за видливост или опсег се почитува на вашиот профил. На пример, ако видливоста е поставена на \"Прикажи на сите\", а опсегот е поставен на \"Приватно\", се почитува \"Приватно\".",
- "Unable to update visibility of {displayId}" : "Неможе да се ажурира видливоста на {displayId}",
- "Your role" : "Ваша улога",
- "Your website" : "Ваша вебстрана",
- "Unable to update {property}" : "Неможе да се ажурира {property}",
- "No {property} set" : "Нема поставено {property}",
- "Change scope level of {property}, current scope is {scope}" : "Променете го нивото на опсегот на {property}, моменталниот опсег е {scope}",
- "Unable to update federation scope of the primary {property}" : "Не може да се ажурира опсегот на федерацијата на примарните {property}",
- "Unable to update federation scope of additional {property}" : "Не може да се ажурира опсегот на федерацијата на дополнителни {property}",
- "Add additional email" : "Додади дополнителна е-пошта",
- "Add" : "Додади",
- "Create" : "Креирај",
- "Change" : "Измени",
- "Delete" : "Избриши",
- "Reshare" : "Пресподели",
- "Default language" : "Стандарден јазик",
- "Common languages" : "Заеднички јазици",
- "Other languages" : "Други јазици",
- "Password change is disabled because the master key is disabled" : "Ресетирање на лозинка е оневозможено бидејќи главниот клуч е оневозможен",
- "No accounts" : "Нема сметки",
- "Manager" : "Менаџер",
- "Display name" : "Име и презиме",
- "Either password or email is required" : "Внесување на лозинка или Е-пошта е задолжително",
- "Password (required)" : "Лозинка (задолжително)",
- "Email (required)" : "Е-пошта (задолжително)",
- "Email" : "Е-пошта",
- "Quota" : "Квота",
- "Language" : "Јазик",
- "Set default language" : "Постави стандарден јазик",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} сметка …","{userCount} сметки …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} сметка","{userCount} сметки"],
- "Total rows summary" : "Резиме на вкупно редови",
- "Scroll to load more rows" : "Одете надолу за да се вчитаат повеќе редови",
- "Password or insufficient permissions message" : "Порака за лозинка или недоволна дозвола",
- "Avatar" : "Аватар",
- "Account name" : "Корисничко име",
- "Group admin for" : "Администратор на група",
- "Storage location" : "Локација на складиште",
- "First login" : "Прво најавување",
- "Last login" : "Последно најавување",
- "{size} used" : "искористено {size}",
- "Delete account" : "Избриши сметка",
- "Resend welcome email" : "Повторно испрати е-пошта порака за добредојде",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Во случај да го изгубите уредот или да излезете од компанијата, можете далечински да ги избришете податоците од сите уреди кој се конектирани со корисникот {userid}. Ова работи само доколку уредот е поврзан на интернет.",
- "Remote wipe of devices" : "Далечинско бришење на уреди",
- "Wipe {userid}'s devices" : "Бришење уред на корисникот {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Целосно бришење на сметка на {userid} вклучувајќи и сопствените податоци, апликации итн.",
- "Account deletion" : "Бришење на сметката",
- "Delete {userid}'s account" : "Избриши го корисникот {userid}",
- "Welcome mail sent!" : "Испратена е-пошта порака за добредојде!",
- "Change display name" : "Промена на името",
- "Set the language" : "Постави јазик",
- "Done" : "Готово",
- "Edit" : "Уреди",
- "Account management settings" : "Параметри за кориснички менаџмент",
- "Visibility" : "Видливост",
- "Show language" : "Прикажи јазик",
- "Show storage path" : "Прикажи патека на складиште",
- "Show last login" : "Прикажи последно најавување",
- "Send email" : "Испрати пошта",
- "Defaults" : "Стандарди",
- "Default quota" : "Стандардна квота",
- "Select default quota" : "Избери стандардна квота",
- "Server error while trying to complete WebAuthn device registration" : "Грешка на серверот при обид за комплетирање на регистрацијата на WEBAuthn уред",
- "Passwordless authentication requires a secure connection." : "За најавување без лозинка потребно е да се користи безбедна врска.",
- "Add WebAuthn device" : "Додади WebAuthn уред",
- "Please authorize your WebAuthn device." : "Авторизирајте го вашиот WebAuthn уред.",
- "Adding your device …" : "Додавање на вашиот уред ...",
- "Unnamed device" : "Уреди без име",
- "Passwordless Authentication" : "Најавување без лозинка",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Поставете ја вашата сметка за најавување без лозинка притоа следете ги FIDO2 стандардите.",
- "No devices configured." : "Нема конфигурирани уреди",
- "The following devices are configured for your account:" : "Следниве уреди се конфигурирани за вашата сметка:",
- "Your browser does not support WebAuthn." : "Вашиот прелистувач не поддржува WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Како администратор, можете детално да го прилагодите однесувањето на споделувањето. Погледнете ја документацијата за повеќе информации.",
- "You need to enable the File sharing App." : "Треба да ја овозможите апликацијата Споделување на датотеки.",
- "All accounts" : "Сите сметки",
- "Admins" : "Администратори",
"Sending…" : "Испраќа…",
"Email sent" : "Е-порака пратена",
"Location" : "Локација",
@@ -390,6 +223,7 @@ OC.L10N.register(
"About" : "За",
"Full name" : "Име и презиме",
"Additional email" : "Дополнителна е-пошта",
+ "Email" : "Е-пошта",
"Headline" : "Наслов",
"Organisation" : "Организација",
"Phone number" : "Телефонски број",
@@ -397,6 +231,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (поранешен Twitter)",
"Website" : "ВЕБ страна",
"Profile visibility" : "Видливост на профилот",
+ "Language" : "Јазик",
"Locale" : "Локација",
"First day of week" : "Прв ден од неделата",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Не е достапно бидејќи ова својство е потребно за основна функционалност, вклучувајќи споделување датотеки и покани од календар",
@@ -410,11 +245,13 @@ OC.L10N.register(
"Show to everyone" : "Прикажи на сите",
"Show to logged in accounts only" : "Прикажи само на најавени корисници",
"Hide" : "Сокриј",
+ "Update to {version}" : "Надгради на {version}",
"Download and enable" : "Преземи и овозможи",
"Disable" : "Оневозможи",
"Allow untested app" : "Дозволи не тестирана апликација",
"The app will be downloaded from the App Store" : "Апликацијата ќе биде преземена преку продавницата за апликации",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Апликацијата не е означена дека е компатибилна со вашата верзија на Nextcloud. Доколку продолжите апликацијата ќе се инсталира. Имајте на ум дека апликацијата може да не работи како што очекувате.",
+ "{size} used" : "искористено {size}",
"Unknown" : "Непознат",
"Never" : "Никогаш",
"An error occurred during the request. Unable to proceed." : "Настана грешка во процесот. Не може да продолжи.",
@@ -427,6 +264,8 @@ OC.L10N.register(
"Error while updating device token scope" : "Грешка при ажурирање на токен за уред",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Има испратено премногу барање од вашата мрежа. Обидете се подоцна повторно или контактирајте го администраторот.",
"Error" : "Грешка",
+ "Default quota" : "Стандардна квота",
+ "Documentation" : "Документација",
"Forum" : "Форум",
"Legal notice" : "Правно известување",
"Privacy policy" : "Политика за приватност",
@@ -446,6 +285,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP лозинка",
"Save" : "Зачувај",
"Test and verify email settings" : "Тестирај и потврди ги параметрите за електронска пошта",
+ "Send email" : "Испрати пошта",
"Security & setup warnings" : "Предупредувања за сигурност & параметри",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Важно е за безбедноста и перформансите на вашата истанца дека сè е правилно конфигурирано. Да ви помогнеме во тоа, правиме неколку автоматски проверки. Погледнете ја документација за повеќе информации.",
"All checks passed." : "Сите проверки се поминати.",
@@ -462,9 +302,6 @@ OC.L10N.register(
"Subscribe to our newsletter" : "Претплатете се на нашиот билтен",
"Use a second factor besides your password to increase security for your account." : "Користете втор фактор и покрај вашата лозинка за да ја зголемите безбедноста на вашата сметка.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Доколку користите друга апликација за поврзување на Nextcloud, осигурајте се дека имате креирано лозинка за секоја апликација пред да овозможите втор фактор.",
- "Set default expiration date for shares" : "Постави основен рок на траење за споделувањата",
- "Your biography" : "Ваша биографија",
- "You are using <strong>{usage}</strong>" : "Користите <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Користите <strong>{usage}</strong> од <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Постави основен рок на траење за споделувањата"
},
"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/apps/settings/l10n/mk.json b/apps/settings/l10n/mk.json
index cd35dd2fe5b..20bd160a30e 100644
--- a/apps/settings/l10n/mk.json
+++ b/apps/settings/l10n/mk.json
@@ -179,49 +179,6 @@
"_%n app has an update available_::_%n apps have an update available_" : ["За %n апликација има достапно ажурирање","За %n апликации има достапно ажурирање"],
"_Update_::_Update all_" : ["Ажурирај","Ажурирај ги сите"],
"Group name" : "Име на група",
- "Type" : "Вид",
- "Learn more" : "Научи повеќе",
- "Confirm" : "Потврди",
- "Cancel" : "Откажи",
- "View in store" : "Преглед во продавницата за апликации",
- "Visit website" : "Посети ја веб страната",
- "Admin documentation" : "Документација за администратор",
- "Developer documentation" : "Документација за програмери",
- "Details" : "Детали",
- "All" : "Сите",
- "Limit app usage to groups" : "Ограничување за користење на апликации во групи",
- "No results" : "Нема резултати",
- "Update to {version}" : "Надгради на {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Оваа апликација нема доделена минимална верзија. Може да настане грешка во иднина.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Оваа апликација нема доделена максимална верзија. Може да настане грешка во иднина.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Оваа апликација не може да се инсталира затоа што следниве зависности не се исполнети:",
- "Author" : "Автор",
- "Categories" : "Категории",
- "Resources" : "Ресурси",
- "Documentation" : "Документација",
- "Report a bug" : "Пријави грешка",
- "Changelog" : "Листа на промени",
- "Google Chrome for Android" : "Google Chrome за Android",
- "{productName} iOS app" : "{productName} iOS апликација",
- "{productName} Android app" : "{productName} Android апликација",
- "{productName} Talk for iOS" : "{productName} Talk за iOS",
- "{productName} Talk for Android" : "{productName} Talk за Android",
- "This session" : "Оваа сесија",
- "Device name" : "Име на уред",
- "Marked for remote wipe" : "Означи за далечинско бришење",
- "Device settings" : "Параметри за уреди",
- "Allow filesystem access" : "Дозвола за пристап до податоци",
- "Rename" : "Преименувај",
- "Revoke" : "Одземи",
- "Wipe device" : "Избриши уред",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Одземањето на овој токен може да спречи бришење на вашиот уред ако сè уште не е избришано.",
- "Device" : "Уред",
- "Last activity" : "Последна активност",
- "Devices & sessions" : "Уреди и сесии",
- "Web, desktop and mobile clients currently logged in to your account." : "Клиенти за веб, компјутер и мобелен кој моментално се поврзани на твојата сметка.",
- "Error while creating device token" : "Грешка при креирање на токен за уред",
- "App name" : "Име на апликација",
- "Create new app password" : "Креирај нова лозинка за апликација",
"Could not copy app password. Please copy it manually." : "Неможе да се копира лозинката за апликација. Ве молиме копирајте ја рачно.",
"Use the credentials below to configure your app or device. For security reasons this password will only be shown once." : "Користете ги акредитивите подолу за да ја конфигурирате вашата апликација или уред. Од безбедносни причини оваа лозинка ќе се прикаже само еднаш.",
"Login" : "Најава",
@@ -253,134 +210,10 @@
"Be aware that encryption always increases the file size." : "Бидете свесни дека енкрипцијата секогаш ја зголемува големината на датотеката.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Секогаш е добро да создавате редовни резервни кории на вашите податоци, во случај на енкрипција, осигурајте се да ги зачувате и клучевите за шифрирање заедно со вашите податоци.",
"This is the final warning: Do you really want to enable encryption?" : "Ова е последно предупредување: Дали навистина сакате да овозможите енкрипција?",
+ "Cancel" : "Откажи",
+ "Confirm" : "Потврди",
"Submit" : "Испрати",
"Rename group" : "Преименувај група",
- "Current password" : "Моментална лозинка",
- "New password" : "Нова лозинка",
- "Change password" : "Промени лозинка",
- "Choose your profile picture" : "Избери за фотографија за профилот",
- "Please select a valid png or jpg file" : "Изберете png или jpg датотека",
- "Error setting profile picture" : "Грешка при поставување на фотографија за профилот",
- "Error cropping profile picture" : "Грешка при сечење на фотографија за профилот",
- "Error saving profile picture" : "Грешка при зачувување на фотографија за профилот",
- "Error removing profile picture" : "Грешка при бришење на фотографија за профилот",
- "Your profile picture" : "Ваша фотографија на профилот",
- "Upload profile picture" : "Прикачи фотографија на профилот",
- "Choose profile picture from Files" : "Избери фотографија на профилот од датотеките",
- "Remove profile picture" : "Избриши фотографија на профилот",
- "The file must be a PNG or JPG" : "Датотеката мора да биде PNG или JPG",
- "Picture provided by original account" : "Слика обезбедена од оригинална сметка",
- "Set as profile picture" : "Постави фотографија на профилот",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Имајте предвид дека може да потрае до 24 часа за да се ажурира аватарот насекаде.",
- "Enter your date of birth" : "Внесете го вашиот датум на раѓање",
- "You are a member of the following groups:" : "Член сте на следниве групи",
- "Your full name" : "Вашето целосно име",
- "Email options" : "Е-пошта параметри",
- "Remove primary email" : "Избриши примарна е-пошта",
- "Delete email" : "Избриши е-пошта",
- "This address is not confirmed" : "Оваа адреса не е потврдена",
- "Unset as primary email" : "Острани од примарна е-пошта",
- "Set as primary email" : "Постави како примарна е-пошта",
- "Additional email address {index}" : "Дополнителна е-пошта {index}",
- "Unable to delete primary email address" : "Неможе да се избрише примарната е-пошта",
- "Unable to update primary email address" : "Не може да се ажурира примарната е-пошта адреса",
- "Unable to add additional email address" : "Не може да се додаде дополнителна е-пошта адреса",
- "Unable to update additional email address" : "Не може да се ажурира дополнителната е-пошта адреса",
- "Unable to delete additional email address" : "Не може да се избрише дополнителната е-пошта адреса",
- "Primary email for password reset and notifications" : "Примарна Е-пошта за ресетирање на лозинка и известувања",
- "No email address set" : "Нема поставено адреса за е-пошта ",
- "Derived from your locale ({weekDayName})" : "Произлезено од вашата локација ({weekDayName})",
- "Your headline" : "Вашиот наслов",
- "Unable to update language" : "Не може да се ажурира јазикот",
- "Help translate" : "Помогни во преводот",
- "No language set" : "Не е поставен јазик",
- "Unable to update locale" : "Не може да се ажурира локалната локација",
- "Week starts on {firstDayOfWeek}" : "Неделата започнува во {firstDayOfWeek}",
- "No locale set" : "Нема поставено локална локација",
- "Your city" : "Град",
- "Your organisation" : "Вашата организација",
- "Your phone number" : "Вашиот телефонски број",
- "Edit your Profile visibility" : "Уредете ја видливоста на вашиот профил",
- "Unable to update profile enabled state" : "Неможе да се ажурира достапноста на профилот",
- "Enable profile" : "Овозможи профил",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Порестриктивни параметри за видливост или опсег се почитува на вашиот профил. На пример, ако видливоста е поставена на \"Прикажи на сите\", а опсегот е поставен на \"Приватно\", се почитува \"Приватно\".",
- "Unable to update visibility of {displayId}" : "Неможе да се ажурира видливоста на {displayId}",
- "Your role" : "Ваша улога",
- "Your website" : "Ваша вебстрана",
- "Unable to update {property}" : "Неможе да се ажурира {property}",
- "No {property} set" : "Нема поставено {property}",
- "Change scope level of {property}, current scope is {scope}" : "Променете го нивото на опсегот на {property}, моменталниот опсег е {scope}",
- "Unable to update federation scope of the primary {property}" : "Не може да се ажурира опсегот на федерацијата на примарните {property}",
- "Unable to update federation scope of additional {property}" : "Не може да се ажурира опсегот на федерацијата на дополнителни {property}",
- "Add additional email" : "Додади дополнителна е-пошта",
- "Add" : "Додади",
- "Create" : "Креирај",
- "Change" : "Измени",
- "Delete" : "Избриши",
- "Reshare" : "Пресподели",
- "Default language" : "Стандарден јазик",
- "Common languages" : "Заеднички јазици",
- "Other languages" : "Други јазици",
- "Password change is disabled because the master key is disabled" : "Ресетирање на лозинка е оневозможено бидејќи главниот клуч е оневозможен",
- "No accounts" : "Нема сметки",
- "Manager" : "Менаџер",
- "Display name" : "Име и презиме",
- "Either password or email is required" : "Внесување на лозинка или Е-пошта е задолжително",
- "Password (required)" : "Лозинка (задолжително)",
- "Email (required)" : "Е-пошта (задолжително)",
- "Email" : "Е-пошта",
- "Quota" : "Квота",
- "Language" : "Јазик",
- "Set default language" : "Постави стандарден јазик",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} сметка …","{userCount} сметки …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} сметка","{userCount} сметки"],
- "Total rows summary" : "Резиме на вкупно редови",
- "Scroll to load more rows" : "Одете надолу за да се вчитаат повеќе редови",
- "Password or insufficient permissions message" : "Порака за лозинка или недоволна дозвола",
- "Avatar" : "Аватар",
- "Account name" : "Корисничко име",
- "Group admin for" : "Администратор на група",
- "Storage location" : "Локација на складиште",
- "First login" : "Прво најавување",
- "Last login" : "Последно најавување",
- "{size} used" : "искористено {size}",
- "Delete account" : "Избриши сметка",
- "Resend welcome email" : "Повторно испрати е-пошта порака за добредојде",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Во случај да го изгубите уредот или да излезете од компанијата, можете далечински да ги избришете податоците од сите уреди кој се конектирани со корисникот {userid}. Ова работи само доколку уредот е поврзан на интернет.",
- "Remote wipe of devices" : "Далечинско бришење на уреди",
- "Wipe {userid}'s devices" : "Бришење уред на корисникот {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Целосно бришење на сметка на {userid} вклучувајќи и сопствените податоци, апликации итн.",
- "Account deletion" : "Бришење на сметката",
- "Delete {userid}'s account" : "Избриши го корисникот {userid}",
- "Welcome mail sent!" : "Испратена е-пошта порака за добредојде!",
- "Change display name" : "Промена на името",
- "Set the language" : "Постави јазик",
- "Done" : "Готово",
- "Edit" : "Уреди",
- "Account management settings" : "Параметри за кориснички менаџмент",
- "Visibility" : "Видливост",
- "Show language" : "Прикажи јазик",
- "Show storage path" : "Прикажи патека на складиште",
- "Show last login" : "Прикажи последно најавување",
- "Send email" : "Испрати пошта",
- "Defaults" : "Стандарди",
- "Default quota" : "Стандардна квота",
- "Select default quota" : "Избери стандардна квота",
- "Server error while trying to complete WebAuthn device registration" : "Грешка на серверот при обид за комплетирање на регистрацијата на WEBAuthn уред",
- "Passwordless authentication requires a secure connection." : "За најавување без лозинка потребно е да се користи безбедна врска.",
- "Add WebAuthn device" : "Додади WebAuthn уред",
- "Please authorize your WebAuthn device." : "Авторизирајте го вашиот WebAuthn уред.",
- "Adding your device …" : "Додавање на вашиот уред ...",
- "Unnamed device" : "Уреди без име",
- "Passwordless Authentication" : "Најавување без лозинка",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Поставете ја вашата сметка за најавување без лозинка притоа следете ги FIDO2 стандардите.",
- "No devices configured." : "Нема конфигурирани уреди",
- "The following devices are configured for your account:" : "Следниве уреди се конфигурирани за вашата сметка:",
- "Your browser does not support WebAuthn." : "Вашиот прелистувач не поддржува WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Како администратор, можете детално да го прилагодите однесувањето на споделувањето. Погледнете ја документацијата за повеќе информации.",
- "You need to enable the File sharing App." : "Треба да ја овозможите апликацијата Споделување на датотеки.",
- "All accounts" : "Сите сметки",
- "Admins" : "Администратори",
"Sending…" : "Испраќа…",
"Email sent" : "Е-порака пратена",
"Location" : "Локација",
@@ -388,6 +221,7 @@
"About" : "За",
"Full name" : "Име и презиме",
"Additional email" : "Дополнителна е-пошта",
+ "Email" : "Е-пошта",
"Headline" : "Наслов",
"Organisation" : "Организација",
"Phone number" : "Телефонски број",
@@ -395,6 +229,7 @@
"X (formerly Twitter)" : "X (поранешен Twitter)",
"Website" : "ВЕБ страна",
"Profile visibility" : "Видливост на профилот",
+ "Language" : "Јазик",
"Locale" : "Локација",
"First day of week" : "Прв ден од неделата",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Не е достапно бидејќи ова својство е потребно за основна функционалност, вклучувајќи споделување датотеки и покани од календар",
@@ -408,11 +243,13 @@
"Show to everyone" : "Прикажи на сите",
"Show to logged in accounts only" : "Прикажи само на најавени корисници",
"Hide" : "Сокриј",
+ "Update to {version}" : "Надгради на {version}",
"Download and enable" : "Преземи и овозможи",
"Disable" : "Оневозможи",
"Allow untested app" : "Дозволи не тестирана апликација",
"The app will be downloaded from the App Store" : "Апликацијата ќе биде преземена преку продавницата за апликации",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Апликацијата не е означена дека е компатибилна со вашата верзија на Nextcloud. Доколку продолжите апликацијата ќе се инсталира. Имајте на ум дека апликацијата може да не работи како што очекувате.",
+ "{size} used" : "искористено {size}",
"Unknown" : "Непознат",
"Never" : "Никогаш",
"An error occurred during the request. Unable to proceed." : "Настана грешка во процесот. Не може да продолжи.",
@@ -425,6 +262,8 @@
"Error while updating device token scope" : "Грешка при ажурирање на токен за уред",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Има испратено премногу барање од вашата мрежа. Обидете се подоцна повторно или контактирајте го администраторот.",
"Error" : "Грешка",
+ "Default quota" : "Стандардна квота",
+ "Documentation" : "Документација",
"Forum" : "Форум",
"Legal notice" : "Правно известување",
"Privacy policy" : "Политика за приватност",
@@ -444,6 +283,7 @@
"SMTP Password" : "SMTP лозинка",
"Save" : "Зачувај",
"Test and verify email settings" : "Тестирај и потврди ги параметрите за електронска пошта",
+ "Send email" : "Испрати пошта",
"Security & setup warnings" : "Предупредувања за сигурност & параметри",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Важно е за безбедноста и перформансите на вашата истанца дека сè е правилно конфигурирано. Да ви помогнеме во тоа, правиме неколку автоматски проверки. Погледнете ја документација за повеќе информации.",
"All checks passed." : "Сите проверки се поминати.",
@@ -460,9 +300,6 @@
"Subscribe to our newsletter" : "Претплатете се на нашиот билтен",
"Use a second factor besides your password to increase security for your account." : "Користете втор фактор и покрај вашата лозинка за да ја зголемите безбедноста на вашата сметка.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Доколку користите друга апликација за поврзување на Nextcloud, осигурајте се дека имате креирано лозинка за секоја апликација пред да овозможите втор фактор.",
- "Set default expiration date for shares" : "Постави основен рок на траење за споделувањата",
- "Your biography" : "Ваша биографија",
- "You are using <strong>{usage}</strong>" : "Користите <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Користите <strong>{usage}</strong> од <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Постави основен рок на траење за споделувањата"
},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/mn.js b/apps/settings/l10n/mn.js
deleted file mode 100644
index eb47c1bc352..00000000000
--- a/apps/settings/l10n/mn.js
+++ /dev/null
@@ -1,111 +0,0 @@
-OC.L10N.register(
- "settings",
- {
- "Private" : "Далд",
- "Federated" : "Federated",
- "Verify" : "Шалнгах",
- "Unable to change password" : "Нууц үг солих боломжгүй",
- "Very weak password" : "маш муу нууц үг",
- "Weak password" : "муу нууц үг",
- "So-so password" : "ердийн нууц үг",
- "Good password" : "зөв нууц үг ",
- "Strong password" : "баттай нууц үг",
- "Groups" : "Бүлгүүд",
- "{actor} changed your password" : "{actor} таны нууц үгийг солив",
- "You changed your password" : "Та өөрийн нууц үг солив",
- "Your password was reset by an administrator" : "Зохицуулагч таны нууц үгийг солив",
- "{actor} changed your email address" : "{actor} таны цахим шуудангийн хаягийг солив",
- "You changed your email address" : "Та өөрийн цахим шуудангийн хаягийг солив",
- "Your email address was changed by an administrator" : "Зохицуулагч таны цахим шуудангийн хаягийг солив",
- "Security" : "Хамгаалалт",
- "Wrong password" : "Нууц үг буруу байна",
- "Saved" : "Хадгалагдсан",
- "Authentication error" : "Нотолгооны алдаа",
- "Invalid SMTP password." : "SMTP -н нууц үг буруу байна ",
- "Email setting test" : "Цахим шуудангийн тохиргоог шалгах",
- "If you received this email, the email configuration seems to be correct." : "Хэрэв та энэ цахим захидалыг хүлээн авсан бол цахим шуудангийн тохиргоо нь зөв байна.",
- "Email could not be sent. Check your mail server log" : "Цахим захидлыг илгээж чадсангүй. Цахим шуудангийн серверийн лог шалгана уу.",
- "Invalid user" : "Буруу хэрэглэгч",
- "Settings saved" : "Тохиргоо хадгалагдлаа",
- "Unable to change full name" : "Бүтэн нэрийг солих боломжгүй",
- "Unable to change email address" : "Цахим шуудангийн хаягийг солих боломжгүй",
- "If you did not request this, please contact an administrator." : "Хэрэв та энэ хүсэлтийг илгээгээгүй бол зохицуулагч руу хандана уу.",
- "Set your password" : "Нууц үгээ тохируулна уу",
- "Apps" : "Аппликэйшинууд",
- "Settings" : "Тохиргоо",
- "Personal" : "Хувийн",
- "Sharing" : "Түгээх",
- "Personal info" : "Хувийн мэдээлэл",
- "Create" : "Үүсгэх",
- "Delete" : "Устгах",
- "None" : "юу ч үгүй",
- "Save changes" : "Өөрчлөлтийг хадгалах",
- "All" : "бүх",
- "No results" : "Үр дүн байхгүй",
- "Update to {version}" : "{version} хувилбар руу шинэчлэх",
- "Remove" : "Устгах",
- "Visit website" : "Цахим хуудсаар зочлох",
- "User documentation" : "Хэрэглэгчийн баримт бичиг",
- "Admin documentation" : "Админы баримт бичиг",
- "Featured" : "Алдартай",
- "Rename" : "Нэрлэнэ үү",
- "Device" : "Төхөөрөмж",
- "Last activity" : "Хамгийн сүүлийн үйлдэл",
- "App name" : "Аппликэйшны нэр",
- "Username" : "Хэрэглэгчийн нэр",
- "Password" : "Нууц үг",
- "Done" : "Дууссан",
- "Copied!" : "Хуулсан!",
- "Copy" : "Хуулах",
- "Language" : "Хэл",
- "Add" : "нэмэх",
- "Cancel" : "Цуцлах",
- "Display name" : "Харагдах нэр",
- "Email" : "Цахим шуудан",
- "Quota" : " хувь хэмжээ",
- "Last login" : "Сүүлд нэвтэрсэн огноо",
- "Unnamed device" : "нэргүй төхөөрөммж",
- "Your apps" : "Таны аппликэйшнүүд",
- "Disabled apps" : "Идэвхижээгүй аппликэйшнүүд",
- "App bundles" : "Аппликэйшны багц",
- "Details" : "Дэлгэрэнгүй",
- "Add group" : "Бүлэг нэмэх",
- "Active users" : "Идэвхтэй хэрэглэгчид",
- "Admins" : "Админууд",
- "Send email to new user" : "Шинэ хэрэглэгч рүү цахим шуудан илгээх",
- "Sending…" : "Илгээх...",
- "Address" : "Хаяг",
- "Avatar" : "Хөрөг",
- "About" : "Тухай",
- "Full name" : "Бүтэн нэр",
- "Phone number" : "Утасны дугаар",
- "Twitter" : "Твиттер",
- "Website" : "Цахим хуудас",
- "Never" : "хэзээч",
- "Administrator documentation" : "Админы баримт бичиг",
- "Forum" : "Хэлэлцүүлэг",
- "Login" : "Нэвтрэх",
- "Open documentation" : "бичиг баримт нээх",
- "Server address" : "хүлээн авагчийн хаяг",
- "Port" : "порт",
- "Credentials" : "Итгэмжлэл",
- "SMTP Password" : "Энгийн мэйл дамжуулах протокол-ийн нууц үг",
- "Save" : "Хадгалах",
- "Version" : "Хувилбар",
- "Always ask for a password" : "Үргэлж нууц үг асуух",
- "Enforce password protection" : "Нууц үгийн хамгаалалтыг хэрэгжүүлэх",
- "Profile picture" : "Профайл зураг",
- "Upload new" : "Шинийг байршуулах",
- "Select from Files" : "Файлуудаас сонгох",
- "Remove image" : "Зургийг хасах",
- "Choose as profile picture" : "Профайл зургаа сонгоно уу",
- "Your phone number" : "Таны утасны дугаар",
- "Your postal address" : "Таны шуудангийн хаяг",
- "Current password" : "Одоогийн нууц үг",
- "New password" : "Шинэ нууц үг",
- "Change password" : "Нууц үг солих",
- "All languages" : "Бүх хэлүүд",
- "Everyone" : "Бүх хэрэглэгчид",
- "days" : "өдрийн дараа"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/mn.json b/apps/settings/l10n/mn.json
deleted file mode 100644
index f7805f0890a..00000000000
--- a/apps/settings/l10n/mn.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{ "translations": {
- "Private" : "Далд",
- "Federated" : "Federated",
- "Verify" : "Шалнгах",
- "Unable to change password" : "Нууц үг солих боломжгүй",
- "Very weak password" : "маш муу нууц үг",
- "Weak password" : "муу нууц үг",
- "So-so password" : "ердийн нууц үг",
- "Good password" : "зөв нууц үг ",
- "Strong password" : "баттай нууц үг",
- "Groups" : "Бүлгүүд",
- "{actor} changed your password" : "{actor} таны нууц үгийг солив",
- "You changed your password" : "Та өөрийн нууц үг солив",
- "Your password was reset by an administrator" : "Зохицуулагч таны нууц үгийг солив",
- "{actor} changed your email address" : "{actor} таны цахим шуудангийн хаягийг солив",
- "You changed your email address" : "Та өөрийн цахим шуудангийн хаягийг солив",
- "Your email address was changed by an administrator" : "Зохицуулагч таны цахим шуудангийн хаягийг солив",
- "Security" : "Хамгаалалт",
- "Wrong password" : "Нууц үг буруу байна",
- "Saved" : "Хадгалагдсан",
- "Authentication error" : "Нотолгооны алдаа",
- "Invalid SMTP password." : "SMTP -н нууц үг буруу байна ",
- "Email setting test" : "Цахим шуудангийн тохиргоог шалгах",
- "If you received this email, the email configuration seems to be correct." : "Хэрэв та энэ цахим захидалыг хүлээн авсан бол цахим шуудангийн тохиргоо нь зөв байна.",
- "Email could not be sent. Check your mail server log" : "Цахим захидлыг илгээж чадсангүй. Цахим шуудангийн серверийн лог шалгана уу.",
- "Invalid user" : "Буруу хэрэглэгч",
- "Settings saved" : "Тохиргоо хадгалагдлаа",
- "Unable to change full name" : "Бүтэн нэрийг солих боломжгүй",
- "Unable to change email address" : "Цахим шуудангийн хаягийг солих боломжгүй",
- "If you did not request this, please contact an administrator." : "Хэрэв та энэ хүсэлтийг илгээгээгүй бол зохицуулагч руу хандана уу.",
- "Set your password" : "Нууц үгээ тохируулна уу",
- "Apps" : "Аппликэйшинууд",
- "Settings" : "Тохиргоо",
- "Personal" : "Хувийн",
- "Sharing" : "Түгээх",
- "Personal info" : "Хувийн мэдээлэл",
- "Create" : "Үүсгэх",
- "Delete" : "Устгах",
- "None" : "юу ч үгүй",
- "Save changes" : "Өөрчлөлтийг хадгалах",
- "All" : "бүх",
- "No results" : "Үр дүн байхгүй",
- "Update to {version}" : "{version} хувилбар руу шинэчлэх",
- "Remove" : "Устгах",
- "Visit website" : "Цахим хуудсаар зочлох",
- "User documentation" : "Хэрэглэгчийн баримт бичиг",
- "Admin documentation" : "Админы баримт бичиг",
- "Featured" : "Алдартай",
- "Rename" : "Нэрлэнэ үү",
- "Device" : "Төхөөрөмж",
- "Last activity" : "Хамгийн сүүлийн үйлдэл",
- "App name" : "Аппликэйшны нэр",
- "Username" : "Хэрэглэгчийн нэр",
- "Password" : "Нууц үг",
- "Done" : "Дууссан",
- "Copied!" : "Хуулсан!",
- "Copy" : "Хуулах",
- "Language" : "Хэл",
- "Add" : "нэмэх",
- "Cancel" : "Цуцлах",
- "Display name" : "Харагдах нэр",
- "Email" : "Цахим шуудан",
- "Quota" : " хувь хэмжээ",
- "Last login" : "Сүүлд нэвтэрсэн огноо",
- "Unnamed device" : "нэргүй төхөөрөммж",
- "Your apps" : "Таны аппликэйшнүүд",
- "Disabled apps" : "Идэвхижээгүй аппликэйшнүүд",
- "App bundles" : "Аппликэйшны багц",
- "Details" : "Дэлгэрэнгүй",
- "Add group" : "Бүлэг нэмэх",
- "Active users" : "Идэвхтэй хэрэглэгчид",
- "Admins" : "Админууд",
- "Send email to new user" : "Шинэ хэрэглэгч рүү цахим шуудан илгээх",
- "Sending…" : "Илгээх...",
- "Address" : "Хаяг",
- "Avatar" : "Хөрөг",
- "About" : "Тухай",
- "Full name" : "Бүтэн нэр",
- "Phone number" : "Утасны дугаар",
- "Twitter" : "Твиттер",
- "Website" : "Цахим хуудас",
- "Never" : "хэзээч",
- "Administrator documentation" : "Админы баримт бичиг",
- "Forum" : "Хэлэлцүүлэг",
- "Login" : "Нэвтрэх",
- "Open documentation" : "бичиг баримт нээх",
- "Server address" : "хүлээн авагчийн хаяг",
- "Port" : "порт",
- "Credentials" : "Итгэмжлэл",
- "SMTP Password" : "Энгийн мэйл дамжуулах протокол-ийн нууц үг",
- "Save" : "Хадгалах",
- "Version" : "Хувилбар",
- "Always ask for a password" : "Үргэлж нууц үг асуух",
- "Enforce password protection" : "Нууц үгийн хамгаалалтыг хэрэгжүүлэх",
- "Profile picture" : "Профайл зураг",
- "Upload new" : "Шинийг байршуулах",
- "Select from Files" : "Файлуудаас сонгох",
- "Remove image" : "Зургийг хасах",
- "Choose as profile picture" : "Профайл зургаа сонгоно уу",
- "Your phone number" : "Таны утасны дугаар",
- "Your postal address" : "Таны шуудангийн хаяг",
- "Current password" : "Одоогийн нууц үг",
- "New password" : "Шинэ нууц үг",
- "Change password" : "Нууц үг солих",
- "All languages" : "Бүх хэлүүд",
- "Everyone" : "Бүх хэрэглэгчид",
- "days" : "өдрийн дараа"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/settings/l10n/nb.js b/apps/settings/l10n/nb.js
index eeb6c9e37ac..d0e359d76a8 100644
--- a/apps/settings/l10n/nb.js
+++ b/apps/settings/l10n/nb.js
@@ -275,7 +275,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP-hoder",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- HTTP-hodet '%1$s' er ikke satt til '%2$s'. Noen funksjoner fungerer kanskje ikke som de skal, da det anbefales å justere denne innstillingen tilsvarende.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP-hodet '%1$s' er ikke satt til '%2$s'. Dette er en potensiell sikkerhets- eller personvernrisiko, da det anbefales å justere denne innstillingen tilsvarende.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP-hodet '%1$s' inneholder ikke '%2$s'. Dette er en potensiell sikkerhets- eller personvernrisiko, da det anbefales å justere denne innstillingen tilsvarende.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- HTTP-hodet '%1$s' er ikke satt til '%2$s', '%3$s', '%4$s', '%5$s' eller '%6$s'. Dette kan lekke referanseinformasjon. Se {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "HTTP-hodet 'Strict-Transport-Security' er ikke satt til minst '%d' sekunder (gjeldende verdi: '%d'). For økt sikkerhet anbefales det å bruke en lang HSTS-policy.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- HTTP-hodet 'Strict-Transport-Security' er misformet: '%s'. For forbedret sikkerhet anbefales det å aktivere HSTS.",
@@ -414,74 +413,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Kunne ikke laste inn seksjonsinnhold fra app store.",
"Loading" : "Lasting",
"Fetching the latest news…" : "Henter siste nyheter...",
- "Carousel" : "Karusell",
- "Previous slide" : "Forrige lysbilde",
- "Next slide" : "Neste lysbilde",
- "Choose slide to display" : "Velg lysbilde som skal vises",
- "{index} of {total}" : "{index} av {total}",
- "Daemon" : "Nisse",
- "Deploy Daemon" : "Distribuerings-daemon",
- "Type" : "Type",
- "Display Name" : "Visningsnavn",
- "GPUs support" : "Støtte for GPUer",
- "Compute device" : "Beregningsenhet",
- "Learn more" : "Lær mer",
- "Confirm" : "Bekreft",
- "Cancel" : "Avbryt",
- "Description" : "Beskrivelse",
- "View in store" : "Vis i butikk",
- "Visit website" : "Besøk nettsiden",
- "Usage documentation" : "Bruksdokumentasjon",
- "Admin documentation" : "Administratordokumentasjon",
- "Developer documentation" : "Utviklerdokumentasjon",
- "Details" : "Detaljer",
- "All" : "Alle",
- "Limit app usage to groups" : "Begrens app-bruk til grupper",
- "No results" : "Ingen resultater",
- "Update to {version}" : "Oppdater til {version}",
- "Default Deploy daemon is not accessible" : "Standard distribuerings-daemon er ikke tilgjengelig.",
- "Delete data on remove" : "Slett data ved fjerning",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Denne appen har ingen minimumversjon av Nextcloud definert. Dette vil være en feil i fremtiden.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Denne appen har ingen høyeste versjon av Nextcloud definert. Dette vil være en feil i fremtiden.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Denne appen kan ikke installeres fordi følgende avhengigheter ikke er tilfredsstilt:",
- "Latest updated" : "Sist oppdatert",
- "Author" : "Forfatter",
- "Categories" : "Kategorier",
- "Resources" : "Ressurser",
- "Documentation" : "Dokumentasjon",
- "Interact" : "Samhandle",
- "Report a bug" : "Rapporter en feil",
- "Request feature" : "Ønsk en funksjon",
- "Ask questions or discuss" : "Still spørsmål og diskuter",
- "Rate the app" : "Vurder appen",
- "Rate" : "Vurder",
- "Changelog" : "Endringslogg",
- "Google Chrome for Android" : "Google Chrome for Android",
- "{productName} iOS app" : "{productName} iOS-app",
- "{productName} Android app" : "{productName} Android-app",
- "{productName} Talk for iOS" : "{productName} Talk for iOS",
- "{productName} Talk for Android" : "{productName} Talk for Android",
- "Sync client" : "Synkroniser klient",
- "This session" : "Denne økten",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Enhetsnavn",
- "Cancel renaming" : "Avbryt gi nytt navn",
- "Save new name" : "Lagre nytt navn",
- "Marked for remote wipe" : "Markert for fjernsletting",
- "Device settings" : "Enhetsinnstillinger",
- "Allow filesystem access" : "Tillatt filsystemtilgang",
- "Rename" : "Gi nytt navn",
- "Revoke" : "Avslå",
- "Wipe device" : "Slett enhet",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Hvis du opphever dette tokenet, kan det forhindre sletting av enheten hvis det ikke har startet slettingen enda.",
- "Device" : "Enhet",
- "Last activity" : "Seneste aktivitet",
- "Devices & sessions" : "Enheter og økter",
- "Web, desktop and mobile clients currently logged in to your account." : "Følgende nett, skrivebord og mobile klienter er for øyeblikket logget på din konto.",
- "Error while creating device token" : "Feil under opprettelse av enhetsnøkkel",
- "App name" : "Appnavn",
- "Create new app password" : "Lag nytt apppassord",
"App password copied!" : "App-passord kopiert!",
"Copy app password" : "Kopier app-passord",
"Login name copied!" : "Påloggingsnavnet er kopiert!",
@@ -527,195 +458,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det er alltid bra å ta regelmessig sikkerhetskopi av dataene dine. Pass på å ta kopi av krypteringsnøklene sammen med dataene når kryptering er i bruk.",
"This is the final warning: Do you really want to enable encryption?" : "Dette er siste advarsel: Vil du virkelig aktivere kryptering?",
"Please confirm the group removal" : "Vennligst bekreft fjerning av gruppe",
+ "Cancel" : "Avbryt",
+ "Confirm" : "Bekreft",
"Submit" : "Send inn",
"Rename group" : "Gi nytt navn til gruppen",
- "Current password" : "Nåværende passord",
- "New password" : "Nytt passord",
- "Change password" : "Endre passord",
- "Choose your profile picture" : "Velg profilbildet ditt",
- "Please select a valid png or jpg file" : "Velg en gyldig png- eller jpg-fil",
- "Error setting profile picture" : "Feil ved setting av profilbilde",
- "Error cropping profile picture" : "Feil under beskjæring av profilbilde",
- "Error saving profile picture" : "Feil under lagring av profilbilde",
- "Error removing profile picture" : "Feil ved fjerning av profilbilde",
- "Your profile picture" : "Ditt profilbilde",
- "Upload profile picture" : "Last opp profilbilde",
- "Choose profile picture from Files" : "Velg profilbilde fra Files",
- "Remove profile picture" : "Fjern profilbilde",
- "The file must be a PNG or JPG" : "Filen må være en .PNG eller .JPG",
- "Picture provided by original account" : "Bilde kommer fra opprinnelig konto",
- "Set as profile picture" : "Angi som profilbilde",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Vær oppmerksom på at det kan ta opptil 24 timer før profilbildet ditt blir oppdatert overalt.",
- "Unable to update date of birth" : "Kan ikke oppdatere fødselsdato",
- "Enter your date of birth" : "Skriv inn fødselsdatoen din",
- "You are using {s}{usage}{/s}" : "Du bruker {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Du bruker {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Du er medlem av følgende grupper:",
- "Your full name" : "Ditt fulle navn",
- "Email options" : "Alternativer for e-post",
- "Options for additional email address {index}" : "Alternativer for ekstra e-postadresse {index}",
- "Remove primary email" : "Fjern primær e-post",
- "Delete email" : "Slett e-post",
- "This address is not confirmed" : "Denne adressen er ikke bekreftet",
- "Unset as primary email" : "Deaktivert som primær e-post",
- "Set as primary email" : "Angi som primær e-post",
- "Additional email address {index}" : "Ekstra e-postadresse {index}",
- "Unable to delete primary email address" : "Kan ikke slette primær e-postadresse",
- "Unable to update primary email address" : "Kan ikke oppdatere primær e-postadresse",
- "Unable to add additional email address" : "Kan ikke legge til ytterligere e-postadresse",
- "Unable to update additional email address" : "Kan ikke oppdatere ytterligere e-postadresse",
- "Unable to delete additional email address" : "Kan ikke slette ytterligere e-postadresse",
- "Primary email for password reset and notifications" : "Primær e-postadresse for tilbakestilling av passord og varsler",
- "No email address set" : "E-postadresse ikke satt",
- "Your handle" : "Ditt brukernavn",
- "Derived from your locale ({weekDayName})" : "Avledet fra din nasjonale innstilling ({weekDayName})",
- "Unable to update first day of week" : "Kan ikke oppdatere første dag i uken",
- "Day to use as the first day of week" : "Dag som skal brukes som første dag i uken",
- "Your headline" : "Din overskrift",
- "Unable to update language" : "Kan ikke oppdatere språket",
- "Languages" : "Språk",
- "Help translate" : "Bidra til oversettelsen",
- "No language set" : "Språk ikke satt",
- "Unable to update locale" : "Kan ikke oppdatere lokaliteten",
- "Locales" : "Nasjonale innstillinger",
- "Week starts on {firstDayOfWeek}" : "Uken starter på {firstDayOfWeek}",
- "No locale set" : "Ingen nasjonal innstilling angitt",
- "Your city" : "Byen din",
- "Your organisation" : "Din organisasjon",
- "Your phone number" : "Ditt telefonnummer",
- "Edit your Profile visibility" : "Endre synlighet for din profil",
- "Unable to update profile enabled state" : "Kan ikke oppdatere profilaktivert tilstand",
- "Enable profile" : "Aktiver profil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Den mest restriktive innstillingen synlighet eller omfang respekteres på profilen din. For eksempel, hvis synlighet er satt til \"Vis til alle\" og omfanget er satt til \"Privat\", respekteres \"Privat\".",
- "Unable to update visibility of {displayId}" : "Kan ikke oppdatere synligheten til {displayId}",
- "she/her" : "hun/henne",
- "he/him" : "han/ham",
- "they/them" : "de/dem",
- "Your role" : "Din rolle",
- "Your X (formerly Twitter) handle" : "Ditt X- (tidligere Twitter) brukernavn",
- "Your website" : "Din nettside",
- "Invalid value" : "Ugyldig verdi",
- "Unable to update {property}" : "Kan ikke oppdatere {property}",
- "No {property} set" : "Ingen {property} satt",
- "Change scope level of {property}, current scope is {scope}" : "Endre omfangsnivå til {property}, gjeldende omfang er {scope}",
- "Unable to update federation scope of the primary {property}" : "Kan ikke oppdatere føderasjonsomfanget for den primære {property}",
- "Unable to update federation scope of additional {property}" : "Kan ikke oppdatere føderasjonsomfanget for ytterligere {property}",
- "Add additional email" : "Legg til ekstra e-post",
- "Add" : "Legg til",
- "Create" : "Ny",
- "Change" : "Endre",
- "Delete" : "Slett",
- "Reshare" : "Videredele",
- "Default language" : "Standard språk",
- "Common languages" : "Vanlige språk",
- "Other languages" : "Andre språk",
- "Password change is disabled because the master key is disabled" : "Passordendring er deaktivert fordi hoved-nøkkelen er deaktivert",
- "No accounts" : "Ingen kontoer",
- "Loading accounts …" : "Laster kontoer…",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Liste over kontoer. Denne listen er ikke fullstendig gjengitt av ytelsesgrunner. Kontoene blir gjengitt når du navigerer gjennom listen.",
- "Manager" : "Sjef",
- "Set line manager" : "Angi linjeleder",
- "Account name will be autogenerated" : "Kontonavnet blir automatisk generert",
- "Account name (required)" : "Kontonavn (obligatorisk)",
- "New account" : "Ny konto",
- "Display name" : "Visningsnavn",
- "Either password or email is required" : "Enten passord eller e-post kreves",
- "Password (required)" : "Passord (kreves)",
- "Email (required)" : "E-post (kreves)",
- "Email" : "E-post",
- "Member of the following groups (required)" : "Medlem av følgende grupper (obligatorisk)",
- "Member of the following groups" : "Medlem av følgende grupper",
- "Set account groups" : "Angi kontogrupper",
- "Admin of the following groups" : "Administrator for følgende grupper",
- "Set account as admin for …" : "Angi konto som administrator for...",
- "Quota" : "Kvote",
- "Set account quota" : "Angi kontokvote",
- "Language" : "Språk",
- "Set default language" : "Angi standard språk",
- "Add new account" : "Legg til ny konto",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} konto…","{userCount} kontoer…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} konto","{userCount} kontoer"],
- "Total rows summary" : "Sammendrag av totalrader",
- "Scroll to load more rows" : "Rull for å laste inn flere rader",
- "Password or insufficient permissions message" : "Melding om passord eller utilstrekkelige rettigheter",
- "Avatar" : "Avatar",
- "Account name" : "Kontonavn",
- "Group admin for" : "Gruppeadministrator for",
- "Account backend" : "Konto-backend",
- "Storage location" : "Lagringsplassering",
- "First login" : "Første innlogging",
- "Last login" : "Siste innlogging",
- "Account actions" : "Kontoaktiviteter",
- "{size} used" : "{size} brukt",
- "Delete account" : "Slett konto",
- "Disconnect all devices and delete local data" : "Frakoble alle enheter og slett lokal data",
- "Disable account" : "Deaktiver konto",
- "Enable account" : "Aktiver konto",
- "Resend welcome email" : "Send velkomst-epost igjen",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "I tilfelle man har mistet enheter eller skal ut av organisasjonen, så kan dette fjernslette Nextcloud data fra alle enheter tilknyttet bruker med {userid}. Dette fungerer kun dersom enhetene er tilkoblet internett.",
- "Remote wipe of devices" : "Fjernsletting av enheter",
- "Wipe {userid}'s devices" : "Tøm enhetene til {userid}",
- "Wiped {userid}'s devices" : "Slettet {userid}s enheter",
- "Failed to update line manager" : "Oppdatering av linjeleder feilet",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Slett {userid} sin konto fullstendig, inkludert alle personlige filer, appdata osv.",
- "Account deletion" : "Sletting av konto",
- "Delete {userid}'s account" : "Slett {userid} sin konto",
- "Display name was successfully changed" : "Visningsnavn ble endret",
- "Password was successfully changed" : "Passord ble endret",
- "Email was successfully changed" : "E-post ble endret",
- "Welcome mail sent!" : "Velkomst-epost sendt!",
- "Loading account …" : "Laster konto…",
- "Change display name" : "Endre visningsnavn",
- "Set new password" : "Angi nytt passord",
- "You do not have permissions to see the details of this account" : "Du har ikke tillatelser til å se detaljer om denne kontoen",
- "Set new email address" : "Angi ny e-postadresse",
- "Add account to group" : "Legg konto til gruppe",
- "Set account as admin for" : "Angi konto som administrator for",
- "Select account quota" : "Velg kontokvote",
- "Set the language" : "Angi språk",
- "Toggle account actions menu" : "Veksle meny over kontohandlinger",
- "Done" : "Ferdig",
- "Edit" : "Rediger",
- "Account management settings" : "Innstillinger for kontoadministrasjon",
- "Visibility" : "Synlighet",
- "Show language" : "Vis språk",
- "Show account backend" : "Vis konto-server",
- "Show storage path" : "Vis lagringsplassering",
- "Show first login" : "Vis første innlogging",
- "Show last login" : "Vis siste innlogging",
- "Sorting" : "Sorter",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Systemkonfigurasjonen håndhever sortering av gruppene etter navn. Dette deaktiverer også visning av medlemsantallet.",
- "Group list sorting" : "Gruppeliste sortering",
- "By member count" : "Etter medlemsantall",
- "By name" : "Etter navn",
- "Send email" : "Send e-post",
- "Send welcome email to new accounts" : "Sende velkomst-e-post til nye kontoer",
- "Defaults" : "Standarder",
- "Default quota" : "Standard kvote",
- "Select default quota" : "Sett standard kvote",
- "Server error while trying to complete WebAuthn device registration" : "Serverfeil under forsøk på å fullføre WebAuthn-enhetsregistrering",
- "Passwordless authentication requires a secure connection." : "Passordløs autentisering krever en sikker tilkobling.",
- "Add WebAuthn device" : "Legg til WebAuthn-enhet",
- "Please authorize your WebAuthn device." : "Vennligst autoriser WebAuthn-enheten din",
- "Adding your device …" : "Legger til enheten...",
- "Unnamed device" : "Ikke navngitt enhet",
- "Passwordless Authentication" : "Passordløs autentisering",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Sett opp kontoen din for passordløs autentisering i henhold til FIDO2-standarden.",
- "No devices configured." : "Ingen enheter konfigurert.",
- "The following devices are configured for your account:" : "Følgende enheter er konfigurert for kontoen din:",
- "Your browser does not support WebAuthn." : "Nettleseren din støtter ikke WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Som administrator kan du fininnstille delingsoppførselen. Se dokumentasjonen for mer informasjon.",
- "You need to enable the File sharing App." : "Du trenger å aktivere fildelingsappen.",
- "App Store" : "Appbutikk",
- "Loading app list" : "Laster appliste",
- "Loading categories" : "Laster kategorier",
- "Developer documentation ↗" : "Utviklerdokumentasjon ↗",
- "Version {version}, {license}-licensed" : "Versjon {version}, {license}-lisensiert",
- "Version {version}" : "Versjon {version}",
- "All accounts" : "Alle kontoer",
- "Admins" : "Administratorer",
- "Account group: {group}" : "Kontogruppe: {group}",
- "Account management" : "Kontoadministrasjon",
"Sending…" : "Sender…",
"Email sent" : "E-post sendt",
"Location" : "Sted",
@@ -724,6 +470,7 @@ OC.L10N.register(
"Date of birth" : "Fødselsdato",
"Full name" : "Fullt navn",
"Additional email" : "Ytterligere e-post",
+ "Email" : "E-post",
"Fediverse (e.g. Mastodon)" : "Fediverse (f.eks. Mastodon)",
"Headline" : "Overskrift",
"Organisation" : "Organisasjon",
@@ -733,6 +480,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (tidligere Twitter)",
"Website" : "Nettsted",
"Profile visibility" : "Profil-synlighet",
+ "Language" : "Språk",
"Locale" : "Nasjonal innstilling",
"First day of week" : "Første dag i uken",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Ikke tilgjengelig siden denne egenskapen kreves for kjernefunksjonalitet, inkludert fildeling og kalenderinvitasjoner.",
@@ -749,12 +497,14 @@ OC.L10N.register(
"Show to everyone" : "Vis til alle",
"Show to logged in accounts only" : "Vis kun for påloggede kontoer",
"Hide" : "Skjul",
+ "Update to {version}" : "Oppdater til {version}",
"Deploy and Enable" : "Distribuer og aktiver",
"Download and enable" : "Last ned og aktiver",
"Disable" : "Deaktiver ",
"Allow untested app" : "Tillatt utestet app",
"The app will be downloaded from the App Store" : "Appen vil bli lastet ned fra app-butikken",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Denne appen er ikke merket som kompatibel med Nextcloud-versjonen. Hvis du fortsetter, vil du fortsatt kunne installere appen. Vær oppmerksom på at appen kanskje ikke fungerer som forventet.",
+ "{size} used" : "{size} brukt",
"Unknown" : "Ukjent",
"Never" : "Aldri",
"Could not register device: Network error" : "Kunne ikke registrere enheten: nettverksfeil",
@@ -773,8 +523,10 @@ OC.L10N.register(
"Could not set group sorting" : "Kunne ikke angi gruppesortering",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Det var for mange forespørsler fra ditt nettverk. Prøv igjen senere eller kontakt din administrator hvis dette er en feil.",
"Error" : "Feil",
+ "Default quota" : "Standard kvote",
"Account documentation" : "Kontodokumentasjon",
"Administration documentation" : "Dokumentasjon for administrasjon",
+ "Documentation" : "Dokumentasjon",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud hjelp og personvernressurser",
"General documentation" : "Generell dokumentasjon",
@@ -797,6 +549,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP-passord",
"Save" : "Lagre",
"Test and verify email settings" : "Test og bekreft e-postinnstillinger",
+ "Send email" : "Send e-post",
"Security & setup warnings" : "Advarsler om sikkerhet og oppsett",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Det er viktig for sikkerheten og ytelsen på din installasjon at alt er satt opp rett. For å hjelpe deg er det satt i verk noen automatiske sjekker. Se vedlagt lenke for å lese mer i dokumentasjonen.",
"All checks passed." : "Alle sjekker bestått.",
@@ -822,10 +575,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "PHP-minnegrensen er under den anbefalte verdien på %s.",
"for WebAuthn passwordless login" : "for WebAuthn-passordfripålogging",
"for WebAuthn passwordless login, and SFTP storage" : "for WebAuthn-passordfripålogging og SFTP-lagring",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP-hodet '%1$s' inneholder ikke '%2$s'. Dette er en potensiell sikkerhets- eller personvernrisiko, da det anbefales å justere denne innstillingen tilsvarende.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL-versjon \"%s\" oppdaget. PostgreSQL >=12 og <=16 foreslås for best ytelse, stabilitet og funksjonalitet med denne versjonen av Nextcloud.",
- "Set default expiration date for shares" : "Angi standard utløpsdato for delinger",
- "Your biography" : "Din biografi",
- "You are using <strong>{usage}</strong>" : "Du bruker <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Du bruker <strong>{usage}</strong> av <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Angi standard utløpsdato for delinger"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/nb.json b/apps/settings/l10n/nb.json
index 7a55894aded..4ee9be7fd43 100644
--- a/apps/settings/l10n/nb.json
+++ b/apps/settings/l10n/nb.json
@@ -273,7 +273,6 @@
"HTTP headers" : "HTTP-hoder",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- HTTP-hodet '%1$s' er ikke satt til '%2$s'. Noen funksjoner fungerer kanskje ikke som de skal, da det anbefales å justere denne innstillingen tilsvarende.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP-hodet '%1$s' er ikke satt til '%2$s'. Dette er en potensiell sikkerhets- eller personvernrisiko, da det anbefales å justere denne innstillingen tilsvarende.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP-hodet '%1$s' inneholder ikke '%2$s'. Dette er en potensiell sikkerhets- eller personvernrisiko, da det anbefales å justere denne innstillingen tilsvarende.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- HTTP-hodet '%1$s' er ikke satt til '%2$s', '%3$s', '%4$s', '%5$s' eller '%6$s'. Dette kan lekke referanseinformasjon. Se {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "HTTP-hodet 'Strict-Transport-Security' er ikke satt til minst '%d' sekunder (gjeldende verdi: '%d'). For økt sikkerhet anbefales det å bruke en lang HSTS-policy.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- HTTP-hodet 'Strict-Transport-Security' er misformet: '%s'. For forbedret sikkerhet anbefales det å aktivere HSTS.",
@@ -412,74 +411,6 @@
"Could not load section content from app store." : "Kunne ikke laste inn seksjonsinnhold fra app store.",
"Loading" : "Lasting",
"Fetching the latest news…" : "Henter siste nyheter...",
- "Carousel" : "Karusell",
- "Previous slide" : "Forrige lysbilde",
- "Next slide" : "Neste lysbilde",
- "Choose slide to display" : "Velg lysbilde som skal vises",
- "{index} of {total}" : "{index} av {total}",
- "Daemon" : "Nisse",
- "Deploy Daemon" : "Distribuerings-daemon",
- "Type" : "Type",
- "Display Name" : "Visningsnavn",
- "GPUs support" : "Støtte for GPUer",
- "Compute device" : "Beregningsenhet",
- "Learn more" : "Lær mer",
- "Confirm" : "Bekreft",
- "Cancel" : "Avbryt",
- "Description" : "Beskrivelse",
- "View in store" : "Vis i butikk",
- "Visit website" : "Besøk nettsiden",
- "Usage documentation" : "Bruksdokumentasjon",
- "Admin documentation" : "Administratordokumentasjon",
- "Developer documentation" : "Utviklerdokumentasjon",
- "Details" : "Detaljer",
- "All" : "Alle",
- "Limit app usage to groups" : "Begrens app-bruk til grupper",
- "No results" : "Ingen resultater",
- "Update to {version}" : "Oppdater til {version}",
- "Default Deploy daemon is not accessible" : "Standard distribuerings-daemon er ikke tilgjengelig.",
- "Delete data on remove" : "Slett data ved fjerning",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Denne appen har ingen minimumversjon av Nextcloud definert. Dette vil være en feil i fremtiden.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Denne appen har ingen høyeste versjon av Nextcloud definert. Dette vil være en feil i fremtiden.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Denne appen kan ikke installeres fordi følgende avhengigheter ikke er tilfredsstilt:",
- "Latest updated" : "Sist oppdatert",
- "Author" : "Forfatter",
- "Categories" : "Kategorier",
- "Resources" : "Ressurser",
- "Documentation" : "Dokumentasjon",
- "Interact" : "Samhandle",
- "Report a bug" : "Rapporter en feil",
- "Request feature" : "Ønsk en funksjon",
- "Ask questions or discuss" : "Still spørsmål og diskuter",
- "Rate the app" : "Vurder appen",
- "Rate" : "Vurder",
- "Changelog" : "Endringslogg",
- "Google Chrome for Android" : "Google Chrome for Android",
- "{productName} iOS app" : "{productName} iOS-app",
- "{productName} Android app" : "{productName} Android-app",
- "{productName} Talk for iOS" : "{productName} Talk for iOS",
- "{productName} Talk for Android" : "{productName} Talk for Android",
- "Sync client" : "Synkroniser klient",
- "This session" : "Denne økten",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Enhetsnavn",
- "Cancel renaming" : "Avbryt gi nytt navn",
- "Save new name" : "Lagre nytt navn",
- "Marked for remote wipe" : "Markert for fjernsletting",
- "Device settings" : "Enhetsinnstillinger",
- "Allow filesystem access" : "Tillatt filsystemtilgang",
- "Rename" : "Gi nytt navn",
- "Revoke" : "Avslå",
- "Wipe device" : "Slett enhet",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Hvis du opphever dette tokenet, kan det forhindre sletting av enheten hvis det ikke har startet slettingen enda.",
- "Device" : "Enhet",
- "Last activity" : "Seneste aktivitet",
- "Devices & sessions" : "Enheter og økter",
- "Web, desktop and mobile clients currently logged in to your account." : "Følgende nett, skrivebord og mobile klienter er for øyeblikket logget på din konto.",
- "Error while creating device token" : "Feil under opprettelse av enhetsnøkkel",
- "App name" : "Appnavn",
- "Create new app password" : "Lag nytt apppassord",
"App password copied!" : "App-passord kopiert!",
"Copy app password" : "Kopier app-passord",
"Login name copied!" : "Påloggingsnavnet er kopiert!",
@@ -525,195 +456,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det er alltid bra å ta regelmessig sikkerhetskopi av dataene dine. Pass på å ta kopi av krypteringsnøklene sammen med dataene når kryptering er i bruk.",
"This is the final warning: Do you really want to enable encryption?" : "Dette er siste advarsel: Vil du virkelig aktivere kryptering?",
"Please confirm the group removal" : "Vennligst bekreft fjerning av gruppe",
+ "Cancel" : "Avbryt",
+ "Confirm" : "Bekreft",
"Submit" : "Send inn",
"Rename group" : "Gi nytt navn til gruppen",
- "Current password" : "Nåværende passord",
- "New password" : "Nytt passord",
- "Change password" : "Endre passord",
- "Choose your profile picture" : "Velg profilbildet ditt",
- "Please select a valid png or jpg file" : "Velg en gyldig png- eller jpg-fil",
- "Error setting profile picture" : "Feil ved setting av profilbilde",
- "Error cropping profile picture" : "Feil under beskjæring av profilbilde",
- "Error saving profile picture" : "Feil under lagring av profilbilde",
- "Error removing profile picture" : "Feil ved fjerning av profilbilde",
- "Your profile picture" : "Ditt profilbilde",
- "Upload profile picture" : "Last opp profilbilde",
- "Choose profile picture from Files" : "Velg profilbilde fra Files",
- "Remove profile picture" : "Fjern profilbilde",
- "The file must be a PNG or JPG" : "Filen må være en .PNG eller .JPG",
- "Picture provided by original account" : "Bilde kommer fra opprinnelig konto",
- "Set as profile picture" : "Angi som profilbilde",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Vær oppmerksom på at det kan ta opptil 24 timer før profilbildet ditt blir oppdatert overalt.",
- "Unable to update date of birth" : "Kan ikke oppdatere fødselsdato",
- "Enter your date of birth" : "Skriv inn fødselsdatoen din",
- "You are using {s}{usage}{/s}" : "Du bruker {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Du bruker {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Du er medlem av følgende grupper:",
- "Your full name" : "Ditt fulle navn",
- "Email options" : "Alternativer for e-post",
- "Options for additional email address {index}" : "Alternativer for ekstra e-postadresse {index}",
- "Remove primary email" : "Fjern primær e-post",
- "Delete email" : "Slett e-post",
- "This address is not confirmed" : "Denne adressen er ikke bekreftet",
- "Unset as primary email" : "Deaktivert som primær e-post",
- "Set as primary email" : "Angi som primær e-post",
- "Additional email address {index}" : "Ekstra e-postadresse {index}",
- "Unable to delete primary email address" : "Kan ikke slette primær e-postadresse",
- "Unable to update primary email address" : "Kan ikke oppdatere primær e-postadresse",
- "Unable to add additional email address" : "Kan ikke legge til ytterligere e-postadresse",
- "Unable to update additional email address" : "Kan ikke oppdatere ytterligere e-postadresse",
- "Unable to delete additional email address" : "Kan ikke slette ytterligere e-postadresse",
- "Primary email for password reset and notifications" : "Primær e-postadresse for tilbakestilling av passord og varsler",
- "No email address set" : "E-postadresse ikke satt",
- "Your handle" : "Ditt brukernavn",
- "Derived from your locale ({weekDayName})" : "Avledet fra din nasjonale innstilling ({weekDayName})",
- "Unable to update first day of week" : "Kan ikke oppdatere første dag i uken",
- "Day to use as the first day of week" : "Dag som skal brukes som første dag i uken",
- "Your headline" : "Din overskrift",
- "Unable to update language" : "Kan ikke oppdatere språket",
- "Languages" : "Språk",
- "Help translate" : "Bidra til oversettelsen",
- "No language set" : "Språk ikke satt",
- "Unable to update locale" : "Kan ikke oppdatere lokaliteten",
- "Locales" : "Nasjonale innstillinger",
- "Week starts on {firstDayOfWeek}" : "Uken starter på {firstDayOfWeek}",
- "No locale set" : "Ingen nasjonal innstilling angitt",
- "Your city" : "Byen din",
- "Your organisation" : "Din organisasjon",
- "Your phone number" : "Ditt telefonnummer",
- "Edit your Profile visibility" : "Endre synlighet for din profil",
- "Unable to update profile enabled state" : "Kan ikke oppdatere profilaktivert tilstand",
- "Enable profile" : "Aktiver profil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Den mest restriktive innstillingen synlighet eller omfang respekteres på profilen din. For eksempel, hvis synlighet er satt til \"Vis til alle\" og omfanget er satt til \"Privat\", respekteres \"Privat\".",
- "Unable to update visibility of {displayId}" : "Kan ikke oppdatere synligheten til {displayId}",
- "she/her" : "hun/henne",
- "he/him" : "han/ham",
- "they/them" : "de/dem",
- "Your role" : "Din rolle",
- "Your X (formerly Twitter) handle" : "Ditt X- (tidligere Twitter) brukernavn",
- "Your website" : "Din nettside",
- "Invalid value" : "Ugyldig verdi",
- "Unable to update {property}" : "Kan ikke oppdatere {property}",
- "No {property} set" : "Ingen {property} satt",
- "Change scope level of {property}, current scope is {scope}" : "Endre omfangsnivå til {property}, gjeldende omfang er {scope}",
- "Unable to update federation scope of the primary {property}" : "Kan ikke oppdatere føderasjonsomfanget for den primære {property}",
- "Unable to update federation scope of additional {property}" : "Kan ikke oppdatere føderasjonsomfanget for ytterligere {property}",
- "Add additional email" : "Legg til ekstra e-post",
- "Add" : "Legg til",
- "Create" : "Ny",
- "Change" : "Endre",
- "Delete" : "Slett",
- "Reshare" : "Videredele",
- "Default language" : "Standard språk",
- "Common languages" : "Vanlige språk",
- "Other languages" : "Andre språk",
- "Password change is disabled because the master key is disabled" : "Passordendring er deaktivert fordi hoved-nøkkelen er deaktivert",
- "No accounts" : "Ingen kontoer",
- "Loading accounts …" : "Laster kontoer…",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Liste over kontoer. Denne listen er ikke fullstendig gjengitt av ytelsesgrunner. Kontoene blir gjengitt når du navigerer gjennom listen.",
- "Manager" : "Sjef",
- "Set line manager" : "Angi linjeleder",
- "Account name will be autogenerated" : "Kontonavnet blir automatisk generert",
- "Account name (required)" : "Kontonavn (obligatorisk)",
- "New account" : "Ny konto",
- "Display name" : "Visningsnavn",
- "Either password or email is required" : "Enten passord eller e-post kreves",
- "Password (required)" : "Passord (kreves)",
- "Email (required)" : "E-post (kreves)",
- "Email" : "E-post",
- "Member of the following groups (required)" : "Medlem av følgende grupper (obligatorisk)",
- "Member of the following groups" : "Medlem av følgende grupper",
- "Set account groups" : "Angi kontogrupper",
- "Admin of the following groups" : "Administrator for følgende grupper",
- "Set account as admin for …" : "Angi konto som administrator for...",
- "Quota" : "Kvote",
- "Set account quota" : "Angi kontokvote",
- "Language" : "Språk",
- "Set default language" : "Angi standard språk",
- "Add new account" : "Legg til ny konto",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} konto…","{userCount} kontoer…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} konto","{userCount} kontoer"],
- "Total rows summary" : "Sammendrag av totalrader",
- "Scroll to load more rows" : "Rull for å laste inn flere rader",
- "Password or insufficient permissions message" : "Melding om passord eller utilstrekkelige rettigheter",
- "Avatar" : "Avatar",
- "Account name" : "Kontonavn",
- "Group admin for" : "Gruppeadministrator for",
- "Account backend" : "Konto-backend",
- "Storage location" : "Lagringsplassering",
- "First login" : "Første innlogging",
- "Last login" : "Siste innlogging",
- "Account actions" : "Kontoaktiviteter",
- "{size} used" : "{size} brukt",
- "Delete account" : "Slett konto",
- "Disconnect all devices and delete local data" : "Frakoble alle enheter og slett lokal data",
- "Disable account" : "Deaktiver konto",
- "Enable account" : "Aktiver konto",
- "Resend welcome email" : "Send velkomst-epost igjen",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "I tilfelle man har mistet enheter eller skal ut av organisasjonen, så kan dette fjernslette Nextcloud data fra alle enheter tilknyttet bruker med {userid}. Dette fungerer kun dersom enhetene er tilkoblet internett.",
- "Remote wipe of devices" : "Fjernsletting av enheter",
- "Wipe {userid}'s devices" : "Tøm enhetene til {userid}",
- "Wiped {userid}'s devices" : "Slettet {userid}s enheter",
- "Failed to update line manager" : "Oppdatering av linjeleder feilet",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Slett {userid} sin konto fullstendig, inkludert alle personlige filer, appdata osv.",
- "Account deletion" : "Sletting av konto",
- "Delete {userid}'s account" : "Slett {userid} sin konto",
- "Display name was successfully changed" : "Visningsnavn ble endret",
- "Password was successfully changed" : "Passord ble endret",
- "Email was successfully changed" : "E-post ble endret",
- "Welcome mail sent!" : "Velkomst-epost sendt!",
- "Loading account …" : "Laster konto…",
- "Change display name" : "Endre visningsnavn",
- "Set new password" : "Angi nytt passord",
- "You do not have permissions to see the details of this account" : "Du har ikke tillatelser til å se detaljer om denne kontoen",
- "Set new email address" : "Angi ny e-postadresse",
- "Add account to group" : "Legg konto til gruppe",
- "Set account as admin for" : "Angi konto som administrator for",
- "Select account quota" : "Velg kontokvote",
- "Set the language" : "Angi språk",
- "Toggle account actions menu" : "Veksle meny over kontohandlinger",
- "Done" : "Ferdig",
- "Edit" : "Rediger",
- "Account management settings" : "Innstillinger for kontoadministrasjon",
- "Visibility" : "Synlighet",
- "Show language" : "Vis språk",
- "Show account backend" : "Vis konto-server",
- "Show storage path" : "Vis lagringsplassering",
- "Show first login" : "Vis første innlogging",
- "Show last login" : "Vis siste innlogging",
- "Sorting" : "Sorter",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Systemkonfigurasjonen håndhever sortering av gruppene etter navn. Dette deaktiverer også visning av medlemsantallet.",
- "Group list sorting" : "Gruppeliste sortering",
- "By member count" : "Etter medlemsantall",
- "By name" : "Etter navn",
- "Send email" : "Send e-post",
- "Send welcome email to new accounts" : "Sende velkomst-e-post til nye kontoer",
- "Defaults" : "Standarder",
- "Default quota" : "Standard kvote",
- "Select default quota" : "Sett standard kvote",
- "Server error while trying to complete WebAuthn device registration" : "Serverfeil under forsøk på å fullføre WebAuthn-enhetsregistrering",
- "Passwordless authentication requires a secure connection." : "Passordløs autentisering krever en sikker tilkobling.",
- "Add WebAuthn device" : "Legg til WebAuthn-enhet",
- "Please authorize your WebAuthn device." : "Vennligst autoriser WebAuthn-enheten din",
- "Adding your device …" : "Legger til enheten...",
- "Unnamed device" : "Ikke navngitt enhet",
- "Passwordless Authentication" : "Passordløs autentisering",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Sett opp kontoen din for passordløs autentisering i henhold til FIDO2-standarden.",
- "No devices configured." : "Ingen enheter konfigurert.",
- "The following devices are configured for your account:" : "Følgende enheter er konfigurert for kontoen din:",
- "Your browser does not support WebAuthn." : "Nettleseren din støtter ikke WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Som administrator kan du fininnstille delingsoppførselen. Se dokumentasjonen for mer informasjon.",
- "You need to enable the File sharing App." : "Du trenger å aktivere fildelingsappen.",
- "App Store" : "Appbutikk",
- "Loading app list" : "Laster appliste",
- "Loading categories" : "Laster kategorier",
- "Developer documentation ↗" : "Utviklerdokumentasjon ↗",
- "Version {version}, {license}-licensed" : "Versjon {version}, {license}-lisensiert",
- "Version {version}" : "Versjon {version}",
- "All accounts" : "Alle kontoer",
- "Admins" : "Administratorer",
- "Account group: {group}" : "Kontogruppe: {group}",
- "Account management" : "Kontoadministrasjon",
"Sending…" : "Sender…",
"Email sent" : "E-post sendt",
"Location" : "Sted",
@@ -722,6 +468,7 @@
"Date of birth" : "Fødselsdato",
"Full name" : "Fullt navn",
"Additional email" : "Ytterligere e-post",
+ "Email" : "E-post",
"Fediverse (e.g. Mastodon)" : "Fediverse (f.eks. Mastodon)",
"Headline" : "Overskrift",
"Organisation" : "Organisasjon",
@@ -731,6 +478,7 @@
"X (formerly Twitter)" : "X (tidligere Twitter)",
"Website" : "Nettsted",
"Profile visibility" : "Profil-synlighet",
+ "Language" : "Språk",
"Locale" : "Nasjonal innstilling",
"First day of week" : "Første dag i uken",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Ikke tilgjengelig siden denne egenskapen kreves for kjernefunksjonalitet, inkludert fildeling og kalenderinvitasjoner.",
@@ -747,12 +495,14 @@
"Show to everyone" : "Vis til alle",
"Show to logged in accounts only" : "Vis kun for påloggede kontoer",
"Hide" : "Skjul",
+ "Update to {version}" : "Oppdater til {version}",
"Deploy and Enable" : "Distribuer og aktiver",
"Download and enable" : "Last ned og aktiver",
"Disable" : "Deaktiver ",
"Allow untested app" : "Tillatt utestet app",
"The app will be downloaded from the App Store" : "Appen vil bli lastet ned fra app-butikken",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Denne appen er ikke merket som kompatibel med Nextcloud-versjonen. Hvis du fortsetter, vil du fortsatt kunne installere appen. Vær oppmerksom på at appen kanskje ikke fungerer som forventet.",
+ "{size} used" : "{size} brukt",
"Unknown" : "Ukjent",
"Never" : "Aldri",
"Could not register device: Network error" : "Kunne ikke registrere enheten: nettverksfeil",
@@ -771,8 +521,10 @@
"Could not set group sorting" : "Kunne ikke angi gruppesortering",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Det var for mange forespørsler fra ditt nettverk. Prøv igjen senere eller kontakt din administrator hvis dette er en feil.",
"Error" : "Feil",
+ "Default quota" : "Standard kvote",
"Account documentation" : "Kontodokumentasjon",
"Administration documentation" : "Dokumentasjon for administrasjon",
+ "Documentation" : "Dokumentasjon",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud hjelp og personvernressurser",
"General documentation" : "Generell dokumentasjon",
@@ -795,6 +547,7 @@
"SMTP Password" : "SMTP-passord",
"Save" : "Lagre",
"Test and verify email settings" : "Test og bekreft e-postinnstillinger",
+ "Send email" : "Send e-post",
"Security & setup warnings" : "Advarsler om sikkerhet og oppsett",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Det er viktig for sikkerheten og ytelsen på din installasjon at alt er satt opp rett. For å hjelpe deg er det satt i verk noen automatiske sjekker. Se vedlagt lenke for å lese mer i dokumentasjonen.",
"All checks passed." : "Alle sjekker bestått.",
@@ -820,10 +573,8 @@
"The PHP memory limit is below the recommended value of %s." : "PHP-minnegrensen er under den anbefalte verdien på %s.",
"for WebAuthn passwordless login" : "for WebAuthn-passordfripålogging",
"for WebAuthn passwordless login, and SFTP storage" : "for WebAuthn-passordfripålogging og SFTP-lagring",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP-hodet '%1$s' inneholder ikke '%2$s'. Dette er en potensiell sikkerhets- eller personvernrisiko, da det anbefales å justere denne innstillingen tilsvarende.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL-versjon \"%s\" oppdaget. PostgreSQL >=12 og <=16 foreslås for best ytelse, stabilitet og funksjonalitet med denne versjonen av Nextcloud.",
- "Set default expiration date for shares" : "Angi standard utløpsdato for delinger",
- "Your biography" : "Din biografi",
- "You are using <strong>{usage}</strong>" : "Du bruker <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Du bruker <strong>{usage}</strong> av <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Angi standard utløpsdato for delinger"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/nl.js b/apps/settings/l10n/nl.js
index 3505a5ce7b6..20417f4b88e 100644
--- a/apps/settings/l10n/nl.js
+++ b/apps/settings/l10n/nl.js
@@ -275,71 +275,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Kon de inhoud van het onderdeel niet laden vanuit de app store.",
"Loading" : "Laden",
"Fetching the latest news…" : "Ophalen laatste nieuws...",
- "Carousel" : "Caroussel",
- "Previous slide" : "Vorige dia",
- "Next slide" : "Volgende dia",
- "Choose slide to display" : "Kies dia om te tonen",
- "{index} of {total}" : "{index} van {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Daemon implementeren",
- "Type" : "Type",
- "Display Name" : "Weergavenaam",
- "GPUs support" : "GPUs support",
- "Compute device" : "Compute apparaat",
- "Learn more" : "Meer weten",
- "Confirm" : "Bevestigen",
- "Cancel" : "Annuleren",
- "Description" : "Omschrijving",
- "View in store" : "Bekijken in store",
- "Visit website" : "Bezoek website",
- "Usage documentation" : "Gebruiksdocumentatie",
- "Admin documentation" : "Beheerdocumentatie",
- "Developer documentation" : "Ontwikkelaarsdocumentatie",
- "Details" : "Details",
- "All" : "Alle",
- "Limit app usage to groups" : "Beperk appgebruik tot groepen",
- "No results" : "Geen resultaten",
- "Update to {version}" : "Update naar {version}",
- "Default Deploy daemon is not accessible" : "Standaard Deploy Daemon niet toegankelijk",
- "Delete data on remove" : "Bij verwijderen ook data verwijderen",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Deze app heeft geen minimum Nextcloud versie toegewezen gekregen. In de toekomst wordt dit wordt een fout.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Deze app heeft geen maximum Nextcloud versie toegewezen gekregen. In de toekomst wordt dit wordt een fout.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Deze app kan niet worden geïnstalleerd, omdat de volgende afhankelijkheden niet zijn ingevuld:",
- "Latest updated" : "Laatste update",
- "Author" : "Auteur",
- "Categories" : "Categorieën",
- "Resources" : "Bronnen",
- "Documentation" : "Documentatie",
- "Interact" : "Interacteren",
- "Report a bug" : "Rapporteer een fout",
- "Request feature" : "Vraag functionaliteit aan",
- "Ask questions or discuss" : "Stel vragen of discussieer",
- "Rate the app" : "Beoordeel de app",
- "Rate" : "Beoordelen",
- "Changelog" : "Lijst van veranderingen",
- "Google Chrome for Android" : "Google Chrome voor Android",
- "{productName} iOS app" : "{productName} iOS app",
- "{productName} Android app" : "{productName} Android app",
- "{productName} Talk for iOS" : "{productName} Talk for iOS",
- "{productName} Talk for Android" : "{productName} Talk for Android",
- "This session" : "Huidige sessie",
- "Device name" : "Apparaatnaam",
- "Cancel renaming" : "Annuleer hernoemen",
- "Save new name" : "Bewaar nieuwe naam",
- "Marked for remote wipe" : "Aangemerkt voor wissen op afstand",
- "Device settings" : "Apparaatinstellingen",
- "Allow filesystem access" : "Toestaan toegang bestandssysteem",
- "Rename" : "Hernoemen",
- "Revoke" : "Intrekken",
- "Wipe device" : "Apparaat wissen",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Intrekken van deze token kan het wissen van uw apparaat voorkomen als het nog niet is begonnen met wissen.",
- "Device" : "Apparaat",
- "Last activity" : "Laatste activiteit",
- "Devices & sessions" : "Apparaten & sessies",
- "Web, desktop and mobile clients currently logged in to your account." : "Web, desktop en mobiele clients die momenteel zijn ingelogd op je account.",
- "Error while creating device token" : "Fout bij creëren apparaat-token",
- "App name" : "Appnaam",
- "Create new app password" : "Creëer een nieuw app wachtwoord",
"App password copied!" : "Appwachtwoord gekopieerd!",
"Copy app password" : "Kopieer appwachtwoord",
"Login name copied!" : "Loginnaam gekopieerd!",
@@ -369,179 +304,10 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Let erop dat versleuteling de bestandsomvang altijd laat toenemen.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Het is altijd verstandig om regelmatig backups van je bestanden te maken. Zorg ervoor dat je in geval van versleuteling ook de cryptosleutel met je gegevens backupt.",
"This is the final warning: Do you really want to enable encryption?" : "Dit is de laatste waarschuwing: Wil je versleuteling echt inschakelen?",
+ "Cancel" : "Annuleren",
+ "Confirm" : "Bevestigen",
"Submit" : "Verwerken",
"Rename group" : "Hernoem groep",
- "Current password" : "Huidig wachtwoord",
- "New password" : "Nieuw wachtwoord",
- "Change password" : "Wijzig wachtwoord",
- "Choose your profile picture" : "Kies je profielafbeelding",
- "Please select a valid png or jpg file" : "Selecteer alstublieft een geldig png of jpg bestand",
- "Error setting profile picture" : "Fout bij instellen profielafbeelding",
- "Error cropping profile picture" : "Fout bij aanpassen profielafbeelding",
- "Error saving profile picture" : "Fout bij opslaan profielafbeelding",
- "Error removing profile picture" : "Fout bij verwijderen profielafbeelding",
- "Your profile picture" : "Je profielafbeelding",
- "Upload profile picture" : "Upload profielafbeelding",
- "Choose profile picture from Files" : "Kies afbeelding via Bestanden",
- "Remove profile picture" : "Verwijder profielafbeelding",
- "The file must be a PNG or JPG" : "Het bestand moet een PNG of JPG bestand zijn",
- "Picture provided by original account" : "Afbeelding is verstrekt door originele account.",
- "Set as profile picture" : "Kies als profielafbeelding",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Let erop dat het tot 24 uur kan duren voordat je profielaafbeelding overal aangepast is.",
- "Unable to update date of birth" : "Kan geboortedatum niet aanpassen",
- "Enter your date of birth" : "Voer je geboortedatum in",
- "You are using {s}{usage}{/s}" : "Je gebruikt {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Je gebruikt {s}{usage}{/s} van {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Je bent lid van de volgende groepen:",
- "Your full name" : "Je volledige naam",
- "Email options" : "E-mail-opties",
- "Options for additional email address {index}" : "Opties voor extra e-mailadressen {index}",
- "Remove primary email" : "Verwijder primair e-mailadres",
- "Delete email" : "Verwijder e-mailadres",
- "This address is not confirmed" : "Dit adres is niet bevestigd",
- "Unset as primary email" : "Verwijder instelling als primaire e-mail",
- "Set as primary email" : "Instellen als primair e-mailadres",
- "Additional email address {index}" : "Extra e-mailadres {index}",
- "Unable to delete primary email address" : "Kan primair e-mailadres niet verwijderen",
- "Unable to update primary email address" : "Kan primair e-mailadres niet updaten",
- "Unable to add additional email address" : "Kan extra e-mailadres niet toevoegen",
- "Unable to update additional email address" : "Kan extra e-mailadres niet updaten",
- "Unable to delete additional email address" : "Kan extra e-mailadres niet verwijderen",
- "Primary email for password reset and notifications" : "Primair e-mailadres voor wachtwoordherstel en meldingen",
- "No email address set" : "Geen e-mailadres opgegeven",
- "Derived from your locale ({weekDayName})" : "Afgeleid van je regionale instellingen {weekDayName}",
- "Unable to update first day of week" : "Kan Eerste dag van de week niet aanpassen",
- "Day to use as the first day of week" : "Eerste dag van de week",
- "Your headline" : "Jouw hoofdlijn",
- "Unable to update language" : "Kan taal niet updaten",
- "Languages" : "Talen",
- "Help translate" : "Help met vertalen",
- "No language set" : "Geen taal ingesteld",
- "Unable to update locale" : "Kan regionale instellingen niet aanpassen",
- "Locales" : "Regionale instellingen",
- "Week starts on {firstDayOfWeek}" : "Week begint op {firstDayOfWeek}",
- "No locale set" : "Geen regionale instelling ingevuld",
- "Your city" : "Je stad",
- "Your organisation" : "Jouw organisatie",
- "Your phone number" : "Je telefoonnummer",
- "Edit your Profile visibility" : "Wijzig je Profiel zichtbaarheid",
- "Unable to update profile enabled state" : "Kan profiel-inschakelstatus niet updaten",
- "Enable profile" : "Schakel profiel in",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "De meer restrictieve de instelling van de zichtbaarheidsscope wordt gerespecteerd in je Profiel. Bijvoorbeeld als je zichtbaarheid is ingesteld op \"Zichtbaar voor iedereen\" en de scope is ingesteld op \"Privé\" wordt \"Privé\" gerespecteerd.",
- "Unable to update visibility of {displayId}" : "Kan zichtbaarheid van {displayId} niet updaten",
- "she/her" : "zij/haar",
- "he/him" : "hij/hem",
- "they/them" : "zij/hun",
- "Your role" : "Jouw rol",
- "Your X (formerly Twitter) handle" : "Je X (voorheen Twitter) handle",
- "Your website" : "Je website",
- "Invalid value" : "Ongeldige waarde",
- "Unable to update {property}" : "Kan {property} niet aanpassen",
- "No {property} set" : "Geen {property} ingesteld",
- "Add additional email" : "Toevoegen extra e-mailadres",
- "Add" : "Toevoegen",
- "Create" : "Maak",
- "Change" : "Pas aan",
- "Delete" : "Verwijder",
- "Reshare" : "Doordelen",
- "Default language" : "Standaardtaal",
- "Common languages" : "Gebruikelijke talen",
- "Other languages" : "Andere talen",
- "Password change is disabled because the master key is disabled" : "Wachtwoordwijziging is uitgeschakeld omdat de hoofdsleutel is uitgeschakeld",
- "No accounts" : "Geen accounts",
- "Loading accounts …" : "Laden van accounts …",
- "Manager" : "Manager",
- "Account name will be autogenerated" : "Accountnaam wordt automatisch gegenereert",
- "Account name (required)" : "Accountnaam (vereist)",
- "New account" : "Nieuw account",
- "Display name" : "Weergavenaam",
- "Either password or email is required" : "Wachtwoord of e-mail is vereist",
- "Password (required)" : "Wachtwoord (vereist)",
- "Email (required)" : "E-mail (vereist)",
- "Email" : "E-mailadres",
- "Member of the following groups (required)" : "Lid van de volgende groepen (vereist)",
- "Member of the following groups" : "Lid van de volgende groepen",
- "Set account groups" : "Selecteer accountgroepen",
- "Admin of the following groups" : "Beheerder van de volgende groepen",
- "Set account as admin for …" : "Maak account beheerder voor ...",
- "Quota" : "Limieten",
- "Set account quota" : "Voer account quota in",
- "Language" : "Taal",
- "Set default language" : "Voer standaardtaal in",
- "Add new account" : "Voeg nieuw account toe",
- "Total rows summary" : "Aantal rijen samenvatting",
- "Scroll to load more rows" : "Scroll om meer rijen te laden",
- "Password or insufficient permissions message" : "Wachtwoord of onvoldoende machtigingen bericht",
- "Avatar" : "Avatar",
- "Account name" : "Accountnaam",
- "Group admin for" : "Groepsbeheerder voor",
- "Storage location" : "Opslag locatie",
- "Last login" : "Laatste login",
- "Account actions" : "Accountacties",
- "{size} used" : "{size} gebruikt",
- "Delete account" : "Account verwijderen",
- "Disconnect all devices and delete local data" : "Ontkoppel alle apparaten en verwijder lokale data",
- "Disable account" : "Deactiveer account",
- "Enable account" : "Activeer account",
- "Resend welcome email" : "Verstuur welkomst-e-mail opnieuw",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "In het geval van een verloren apparaat of het verlaten van de organisatie, kan dit op afstand de Nextcloud-gegevens wissen van alle apparaten die zijn gekoppeld aan {userid}. Werkt alleen als de apparaten zijn verbonden met het internet.",
- "Remote wipe of devices" : "Op afstand leegmaken toestellen",
- "Wipe {userid}'s devices" : "Wis {userid}'s toestel",
- "Wiped {userid}'s devices" : "{userid}'s apparaten gewist",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Verwijder {userid}'s account volledig, inclusief alle persoonlijke bestanden, app data, etc.",
- "Account deletion" : "Accountverwijdering",
- "Delete {userid}'s account" : "Verwijderen {userid}'s account",
- "Display name was successfully changed" : "Weergavenaam was succesvol gewijzigd",
- "Password was successfully changed" : "Wachtwoord was succesvol gewijzigd.",
- "Email was successfully changed" : "E-mail succesvol gewijzigd",
- "Welcome mail sent!" : "Welkomst-e-mail verstuurd!",
- "Loading account …" : "Account laden ...",
- "Change display name" : "Weergavenaam wijzigen",
- "Set new password" : "Instellen nieuw wachtwoord",
- "You do not have permissions to see the details of this account" : "Je hebt niet de machtigingen om de details van dit account te zien",
- "Set new email address" : "Voer nieuw e-mailadres in",
- "Add account to group" : "Voeg account toe aan groep",
- "Set account as admin for" : "Maak account beheerder voor ...",
- "Select account quota" : "Selecteer accountquota",
- "Set the language" : "Voer de taal in",
- "Toggle account actions menu" : "Omschakelen gebruikersactiemenu",
- "Done" : "Klaar",
- "Edit" : "Bewerken",
- "Account management settings" : "Accountbeheerinstellingen",
- "Visibility" : "Zichtbaarheid",
- "Show language" : "Toon taal",
- "Show account backend" : "Toon account backend",
- "Show storage path" : "Tonen opslagpad",
- "Show last login" : "Toon laatste inlog",
- "Sorting" : "Sorteren",
- "Send email" : "Verstuur e-mail",
- "Send welcome email to new accounts" : "Stuur welkom e-mail naar nieuwe accounts",
- "Defaults" : "Standaard",
- "Default quota" : "Standaard quota",
- "Select default quota" : "Selecteer standaardquotum",
- "Server error while trying to complete WebAuthn device registration" : "Serverfout tijdens registratie van het WebAuthn apparaat",
- "Passwordless authentication requires a secure connection." : "Inloggen zonder wachtwoord vereist een beveiligde verbinding.",
- "Add WebAuthn device" : "WebAuthn-apparaat toevoegen",
- "Please authorize your WebAuthn device." : "Autoriseer je WebAuthn toestel.",
- "Adding your device …" : "Je apparaat toevoegen...",
- "Unnamed device" : "Naamloos apparaat",
- "Passwordless Authentication" : "Inloggen zonder wachtwoord",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Stel voor je account wachtwoordloze authenticatie in volgens de FIDO2 standaard.",
- "No devices configured." : "Geen apparaten geconfigureerd.",
- "The following devices are configured for your account:" : "De volgende apparaten zijn ingesteld voor je account:",
- "Your browser does not support WebAuthn." : "Je browser ondersteunt WebAuthn niet.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als beheerder kun je gedetailleerde regels voor delen instellen. Bekijk de documentatie voor meer informatie.",
- "You need to enable the File sharing App." : "Je dient de File sharing App in te schakelen",
- "App Store" : "App winkel",
- "Loading app list" : "Laden applijst",
- "Loading categories" : "Laden categorieën",
- "Developer documentation ↗" : "Ontwikkelaarsdocumentatie ↗",
- "Version {version}, {license}-licensed" : "Versie {version}, {license}-licensed",
- "Version {version}" : "Versie {version}",
- "All accounts" : "Alle accounts",
- "Admins" : "Beheerders",
- "Account group: {group}" : "Accountgroep: {group}",
- "Account management" : "Accountbeheer",
"Sending…" : "Versturen...",
"Email sent" : "E-mail verzonden",
"Location" : "Locatie",
@@ -550,6 +316,7 @@ OC.L10N.register(
"Date of birth" : "Geboortedatum",
"Full name" : "Volledige naam",
"Additional email" : "Extra e-mailadres",
+ "Email" : "E-mailadres",
"Headline" : "Hoofdlijn",
"Organisation" : "Organisatie",
"Phone number" : "Telefoonnummer",
@@ -557,6 +324,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (voorheen Twitter)",
"Website" : "Website",
"Profile visibility" : "Profiel zichtbaarheid",
+ "Language" : "Taal",
"Locale" : "Regionale instellingen",
"First day of week" : "Eerste dag van de week",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Niet beschikbaar omdat deze eigenschap benodigd is voor de basisfunctionaliteit inclusief bestandsdeling en kalender uitnodigingen",
@@ -571,6 +339,7 @@ OC.L10N.register(
"Show to everyone" : "Laat zien aan iedereen",
"Show to logged in accounts only" : "Laat alleen zien aan ingelogde accounts",
"Hide" : "Verberg",
+ "Update to {version}" : "Update naar {version}",
"{progress}% Deploying …" : "{progress} % implementeren ...",
"{progress}% Initializing …" : "{progress} % initialiseren ...",
"Health checking" : "Gezondheidscheck",
@@ -580,6 +349,7 @@ OC.L10N.register(
"Allow untested app" : "Niet-geteste apps toestaan",
"The app will be downloaded from the App Store" : "De app zal worden gedownload van de App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Deze is niet aangeduid als compatibel met jouw versie van Nextcloud. Als je verdergaat, zal je de app kunnen installeren. Let op dat de app misschien niet werkt zoals verwacht.",
+ "{size} used" : "{size} gebruikt",
"Unknown" : "Onbekend",
"Never" : "Nooit",
"Could not register device: Network error" : "Kon apparaat niet registreren: netwerkfout",
@@ -598,7 +368,9 @@ OC.L10N.register(
"Could not set group sorting" : "Kon groepsorteren niet instellen",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Er waren te veel aanvragen afkomstig uit uw netwerk. Probeer later opnieuw of contacteer de beheerder als dat niet correct is.",
"Error" : "Fout",
+ "Default quota" : "Standaard quota",
"Administration documentation" : "Beheerdersdocumentatie",
+ "Documentation" : "Documentatie",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud help- & privacy-bronnen",
"General documentation" : "Algemene documentatie",
@@ -619,6 +391,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP wachtwoord",
"Save" : "Bewaar",
"Test and verify email settings" : "Test en controleer de e-mailinstellingen",
+ "Send email" : "Verstuur e-mail",
"Security & setup warnings" : "Beveiligings- en instellingswaarschuwingen",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Voor beveiliging en prestaties van je server is het belangrijk dat alles goed is geconfigureerd. Om je hierbij te helpen doen we paar automatische controles. Bekijk de gerelateerde documentatie voor meer informatie.",
"All checks passed." : "Alle controles geslaagd",
@@ -638,9 +411,6 @@ OC.L10N.register(
"Use a second factor besides your password to increase security for your account." : "Gebruik een tweede factor naast je wachtwoord om de beveiliging van je account te verhogen. ",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Als u toepassingen van derden gebruikt om met Nextcloud te verbinden, zorg er dan voor om voor elke app een wachtwoord te maken en te configureren voordat \"tweede factor authenticatie\" wordt geactiveerd.",
"Logged in account must be a subadmin" : "Aangemeld account moet een subadmin zijn",
- "Set default expiration date for shares" : "Instellen standaard vervaldatum voor deellinks",
- "Your biography" : "Jouw biografie",
- "You are using <strong>{usage}</strong>" : "Je gebruikt <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Je gebruikt <strong>{usage}</strong> van <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Instellen standaard vervaldatum voor deellinks"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/nl.json b/apps/settings/l10n/nl.json
index 52c525faf22..47391964421 100644
--- a/apps/settings/l10n/nl.json
+++ b/apps/settings/l10n/nl.json
@@ -273,71 +273,6 @@
"Could not load section content from app store." : "Kon de inhoud van het onderdeel niet laden vanuit de app store.",
"Loading" : "Laden",
"Fetching the latest news…" : "Ophalen laatste nieuws...",
- "Carousel" : "Caroussel",
- "Previous slide" : "Vorige dia",
- "Next slide" : "Volgende dia",
- "Choose slide to display" : "Kies dia om te tonen",
- "{index} of {total}" : "{index} van {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Daemon implementeren",
- "Type" : "Type",
- "Display Name" : "Weergavenaam",
- "GPUs support" : "GPUs support",
- "Compute device" : "Compute apparaat",
- "Learn more" : "Meer weten",
- "Confirm" : "Bevestigen",
- "Cancel" : "Annuleren",
- "Description" : "Omschrijving",
- "View in store" : "Bekijken in store",
- "Visit website" : "Bezoek website",
- "Usage documentation" : "Gebruiksdocumentatie",
- "Admin documentation" : "Beheerdocumentatie",
- "Developer documentation" : "Ontwikkelaarsdocumentatie",
- "Details" : "Details",
- "All" : "Alle",
- "Limit app usage to groups" : "Beperk appgebruik tot groepen",
- "No results" : "Geen resultaten",
- "Update to {version}" : "Update naar {version}",
- "Default Deploy daemon is not accessible" : "Standaard Deploy Daemon niet toegankelijk",
- "Delete data on remove" : "Bij verwijderen ook data verwijderen",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Deze app heeft geen minimum Nextcloud versie toegewezen gekregen. In de toekomst wordt dit wordt een fout.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Deze app heeft geen maximum Nextcloud versie toegewezen gekregen. In de toekomst wordt dit wordt een fout.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Deze app kan niet worden geïnstalleerd, omdat de volgende afhankelijkheden niet zijn ingevuld:",
- "Latest updated" : "Laatste update",
- "Author" : "Auteur",
- "Categories" : "Categorieën",
- "Resources" : "Bronnen",
- "Documentation" : "Documentatie",
- "Interact" : "Interacteren",
- "Report a bug" : "Rapporteer een fout",
- "Request feature" : "Vraag functionaliteit aan",
- "Ask questions or discuss" : "Stel vragen of discussieer",
- "Rate the app" : "Beoordeel de app",
- "Rate" : "Beoordelen",
- "Changelog" : "Lijst van veranderingen",
- "Google Chrome for Android" : "Google Chrome voor Android",
- "{productName} iOS app" : "{productName} iOS app",
- "{productName} Android app" : "{productName} Android app",
- "{productName} Talk for iOS" : "{productName} Talk for iOS",
- "{productName} Talk for Android" : "{productName} Talk for Android",
- "This session" : "Huidige sessie",
- "Device name" : "Apparaatnaam",
- "Cancel renaming" : "Annuleer hernoemen",
- "Save new name" : "Bewaar nieuwe naam",
- "Marked for remote wipe" : "Aangemerkt voor wissen op afstand",
- "Device settings" : "Apparaatinstellingen",
- "Allow filesystem access" : "Toestaan toegang bestandssysteem",
- "Rename" : "Hernoemen",
- "Revoke" : "Intrekken",
- "Wipe device" : "Apparaat wissen",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Intrekken van deze token kan het wissen van uw apparaat voorkomen als het nog niet is begonnen met wissen.",
- "Device" : "Apparaat",
- "Last activity" : "Laatste activiteit",
- "Devices & sessions" : "Apparaten & sessies",
- "Web, desktop and mobile clients currently logged in to your account." : "Web, desktop en mobiele clients die momenteel zijn ingelogd op je account.",
- "Error while creating device token" : "Fout bij creëren apparaat-token",
- "App name" : "Appnaam",
- "Create new app password" : "Creëer een nieuw app wachtwoord",
"App password copied!" : "Appwachtwoord gekopieerd!",
"Copy app password" : "Kopieer appwachtwoord",
"Login name copied!" : "Loginnaam gekopieerd!",
@@ -367,179 +302,10 @@
"Be aware that encryption always increases the file size." : "Let erop dat versleuteling de bestandsomvang altijd laat toenemen.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Het is altijd verstandig om regelmatig backups van je bestanden te maken. Zorg ervoor dat je in geval van versleuteling ook de cryptosleutel met je gegevens backupt.",
"This is the final warning: Do you really want to enable encryption?" : "Dit is de laatste waarschuwing: Wil je versleuteling echt inschakelen?",
+ "Cancel" : "Annuleren",
+ "Confirm" : "Bevestigen",
"Submit" : "Verwerken",
"Rename group" : "Hernoem groep",
- "Current password" : "Huidig wachtwoord",
- "New password" : "Nieuw wachtwoord",
- "Change password" : "Wijzig wachtwoord",
- "Choose your profile picture" : "Kies je profielafbeelding",
- "Please select a valid png or jpg file" : "Selecteer alstublieft een geldig png of jpg bestand",
- "Error setting profile picture" : "Fout bij instellen profielafbeelding",
- "Error cropping profile picture" : "Fout bij aanpassen profielafbeelding",
- "Error saving profile picture" : "Fout bij opslaan profielafbeelding",
- "Error removing profile picture" : "Fout bij verwijderen profielafbeelding",
- "Your profile picture" : "Je profielafbeelding",
- "Upload profile picture" : "Upload profielafbeelding",
- "Choose profile picture from Files" : "Kies afbeelding via Bestanden",
- "Remove profile picture" : "Verwijder profielafbeelding",
- "The file must be a PNG or JPG" : "Het bestand moet een PNG of JPG bestand zijn",
- "Picture provided by original account" : "Afbeelding is verstrekt door originele account.",
- "Set as profile picture" : "Kies als profielafbeelding",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Let erop dat het tot 24 uur kan duren voordat je profielaafbeelding overal aangepast is.",
- "Unable to update date of birth" : "Kan geboortedatum niet aanpassen",
- "Enter your date of birth" : "Voer je geboortedatum in",
- "You are using {s}{usage}{/s}" : "Je gebruikt {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Je gebruikt {s}{usage}{/s} van {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Je bent lid van de volgende groepen:",
- "Your full name" : "Je volledige naam",
- "Email options" : "E-mail-opties",
- "Options for additional email address {index}" : "Opties voor extra e-mailadressen {index}",
- "Remove primary email" : "Verwijder primair e-mailadres",
- "Delete email" : "Verwijder e-mailadres",
- "This address is not confirmed" : "Dit adres is niet bevestigd",
- "Unset as primary email" : "Verwijder instelling als primaire e-mail",
- "Set as primary email" : "Instellen als primair e-mailadres",
- "Additional email address {index}" : "Extra e-mailadres {index}",
- "Unable to delete primary email address" : "Kan primair e-mailadres niet verwijderen",
- "Unable to update primary email address" : "Kan primair e-mailadres niet updaten",
- "Unable to add additional email address" : "Kan extra e-mailadres niet toevoegen",
- "Unable to update additional email address" : "Kan extra e-mailadres niet updaten",
- "Unable to delete additional email address" : "Kan extra e-mailadres niet verwijderen",
- "Primary email for password reset and notifications" : "Primair e-mailadres voor wachtwoordherstel en meldingen",
- "No email address set" : "Geen e-mailadres opgegeven",
- "Derived from your locale ({weekDayName})" : "Afgeleid van je regionale instellingen {weekDayName}",
- "Unable to update first day of week" : "Kan Eerste dag van de week niet aanpassen",
- "Day to use as the first day of week" : "Eerste dag van de week",
- "Your headline" : "Jouw hoofdlijn",
- "Unable to update language" : "Kan taal niet updaten",
- "Languages" : "Talen",
- "Help translate" : "Help met vertalen",
- "No language set" : "Geen taal ingesteld",
- "Unable to update locale" : "Kan regionale instellingen niet aanpassen",
- "Locales" : "Regionale instellingen",
- "Week starts on {firstDayOfWeek}" : "Week begint op {firstDayOfWeek}",
- "No locale set" : "Geen regionale instelling ingevuld",
- "Your city" : "Je stad",
- "Your organisation" : "Jouw organisatie",
- "Your phone number" : "Je telefoonnummer",
- "Edit your Profile visibility" : "Wijzig je Profiel zichtbaarheid",
- "Unable to update profile enabled state" : "Kan profiel-inschakelstatus niet updaten",
- "Enable profile" : "Schakel profiel in",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "De meer restrictieve de instelling van de zichtbaarheidsscope wordt gerespecteerd in je Profiel. Bijvoorbeeld als je zichtbaarheid is ingesteld op \"Zichtbaar voor iedereen\" en de scope is ingesteld op \"Privé\" wordt \"Privé\" gerespecteerd.",
- "Unable to update visibility of {displayId}" : "Kan zichtbaarheid van {displayId} niet updaten",
- "she/her" : "zij/haar",
- "he/him" : "hij/hem",
- "they/them" : "zij/hun",
- "Your role" : "Jouw rol",
- "Your X (formerly Twitter) handle" : "Je X (voorheen Twitter) handle",
- "Your website" : "Je website",
- "Invalid value" : "Ongeldige waarde",
- "Unable to update {property}" : "Kan {property} niet aanpassen",
- "No {property} set" : "Geen {property} ingesteld",
- "Add additional email" : "Toevoegen extra e-mailadres",
- "Add" : "Toevoegen",
- "Create" : "Maak",
- "Change" : "Pas aan",
- "Delete" : "Verwijder",
- "Reshare" : "Doordelen",
- "Default language" : "Standaardtaal",
- "Common languages" : "Gebruikelijke talen",
- "Other languages" : "Andere talen",
- "Password change is disabled because the master key is disabled" : "Wachtwoordwijziging is uitgeschakeld omdat de hoofdsleutel is uitgeschakeld",
- "No accounts" : "Geen accounts",
- "Loading accounts …" : "Laden van accounts …",
- "Manager" : "Manager",
- "Account name will be autogenerated" : "Accountnaam wordt automatisch gegenereert",
- "Account name (required)" : "Accountnaam (vereist)",
- "New account" : "Nieuw account",
- "Display name" : "Weergavenaam",
- "Either password or email is required" : "Wachtwoord of e-mail is vereist",
- "Password (required)" : "Wachtwoord (vereist)",
- "Email (required)" : "E-mail (vereist)",
- "Email" : "E-mailadres",
- "Member of the following groups (required)" : "Lid van de volgende groepen (vereist)",
- "Member of the following groups" : "Lid van de volgende groepen",
- "Set account groups" : "Selecteer accountgroepen",
- "Admin of the following groups" : "Beheerder van de volgende groepen",
- "Set account as admin for …" : "Maak account beheerder voor ...",
- "Quota" : "Limieten",
- "Set account quota" : "Voer account quota in",
- "Language" : "Taal",
- "Set default language" : "Voer standaardtaal in",
- "Add new account" : "Voeg nieuw account toe",
- "Total rows summary" : "Aantal rijen samenvatting",
- "Scroll to load more rows" : "Scroll om meer rijen te laden",
- "Password or insufficient permissions message" : "Wachtwoord of onvoldoende machtigingen bericht",
- "Avatar" : "Avatar",
- "Account name" : "Accountnaam",
- "Group admin for" : "Groepsbeheerder voor",
- "Storage location" : "Opslag locatie",
- "Last login" : "Laatste login",
- "Account actions" : "Accountacties",
- "{size} used" : "{size} gebruikt",
- "Delete account" : "Account verwijderen",
- "Disconnect all devices and delete local data" : "Ontkoppel alle apparaten en verwijder lokale data",
- "Disable account" : "Deactiveer account",
- "Enable account" : "Activeer account",
- "Resend welcome email" : "Verstuur welkomst-e-mail opnieuw",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "In het geval van een verloren apparaat of het verlaten van de organisatie, kan dit op afstand de Nextcloud-gegevens wissen van alle apparaten die zijn gekoppeld aan {userid}. Werkt alleen als de apparaten zijn verbonden met het internet.",
- "Remote wipe of devices" : "Op afstand leegmaken toestellen",
- "Wipe {userid}'s devices" : "Wis {userid}'s toestel",
- "Wiped {userid}'s devices" : "{userid}'s apparaten gewist",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Verwijder {userid}'s account volledig, inclusief alle persoonlijke bestanden, app data, etc.",
- "Account deletion" : "Accountverwijdering",
- "Delete {userid}'s account" : "Verwijderen {userid}'s account",
- "Display name was successfully changed" : "Weergavenaam was succesvol gewijzigd",
- "Password was successfully changed" : "Wachtwoord was succesvol gewijzigd.",
- "Email was successfully changed" : "E-mail succesvol gewijzigd",
- "Welcome mail sent!" : "Welkomst-e-mail verstuurd!",
- "Loading account …" : "Account laden ...",
- "Change display name" : "Weergavenaam wijzigen",
- "Set new password" : "Instellen nieuw wachtwoord",
- "You do not have permissions to see the details of this account" : "Je hebt niet de machtigingen om de details van dit account te zien",
- "Set new email address" : "Voer nieuw e-mailadres in",
- "Add account to group" : "Voeg account toe aan groep",
- "Set account as admin for" : "Maak account beheerder voor ...",
- "Select account quota" : "Selecteer accountquota",
- "Set the language" : "Voer de taal in",
- "Toggle account actions menu" : "Omschakelen gebruikersactiemenu",
- "Done" : "Klaar",
- "Edit" : "Bewerken",
- "Account management settings" : "Accountbeheerinstellingen",
- "Visibility" : "Zichtbaarheid",
- "Show language" : "Toon taal",
- "Show account backend" : "Toon account backend",
- "Show storage path" : "Tonen opslagpad",
- "Show last login" : "Toon laatste inlog",
- "Sorting" : "Sorteren",
- "Send email" : "Verstuur e-mail",
- "Send welcome email to new accounts" : "Stuur welkom e-mail naar nieuwe accounts",
- "Defaults" : "Standaard",
- "Default quota" : "Standaard quota",
- "Select default quota" : "Selecteer standaardquotum",
- "Server error while trying to complete WebAuthn device registration" : "Serverfout tijdens registratie van het WebAuthn apparaat",
- "Passwordless authentication requires a secure connection." : "Inloggen zonder wachtwoord vereist een beveiligde verbinding.",
- "Add WebAuthn device" : "WebAuthn-apparaat toevoegen",
- "Please authorize your WebAuthn device." : "Autoriseer je WebAuthn toestel.",
- "Adding your device …" : "Je apparaat toevoegen...",
- "Unnamed device" : "Naamloos apparaat",
- "Passwordless Authentication" : "Inloggen zonder wachtwoord",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Stel voor je account wachtwoordloze authenticatie in volgens de FIDO2 standaard.",
- "No devices configured." : "Geen apparaten geconfigureerd.",
- "The following devices are configured for your account:" : "De volgende apparaten zijn ingesteld voor je account:",
- "Your browser does not support WebAuthn." : "Je browser ondersteunt WebAuthn niet.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als beheerder kun je gedetailleerde regels voor delen instellen. Bekijk de documentatie voor meer informatie.",
- "You need to enable the File sharing App." : "Je dient de File sharing App in te schakelen",
- "App Store" : "App winkel",
- "Loading app list" : "Laden applijst",
- "Loading categories" : "Laden categorieën",
- "Developer documentation ↗" : "Ontwikkelaarsdocumentatie ↗",
- "Version {version}, {license}-licensed" : "Versie {version}, {license}-licensed",
- "Version {version}" : "Versie {version}",
- "All accounts" : "Alle accounts",
- "Admins" : "Beheerders",
- "Account group: {group}" : "Accountgroep: {group}",
- "Account management" : "Accountbeheer",
"Sending…" : "Versturen...",
"Email sent" : "E-mail verzonden",
"Location" : "Locatie",
@@ -548,6 +314,7 @@
"Date of birth" : "Geboortedatum",
"Full name" : "Volledige naam",
"Additional email" : "Extra e-mailadres",
+ "Email" : "E-mailadres",
"Headline" : "Hoofdlijn",
"Organisation" : "Organisatie",
"Phone number" : "Telefoonnummer",
@@ -555,6 +322,7 @@
"X (formerly Twitter)" : "X (voorheen Twitter)",
"Website" : "Website",
"Profile visibility" : "Profiel zichtbaarheid",
+ "Language" : "Taal",
"Locale" : "Regionale instellingen",
"First day of week" : "Eerste dag van de week",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Niet beschikbaar omdat deze eigenschap benodigd is voor de basisfunctionaliteit inclusief bestandsdeling en kalender uitnodigingen",
@@ -569,6 +337,7 @@
"Show to everyone" : "Laat zien aan iedereen",
"Show to logged in accounts only" : "Laat alleen zien aan ingelogde accounts",
"Hide" : "Verberg",
+ "Update to {version}" : "Update naar {version}",
"{progress}% Deploying …" : "{progress} % implementeren ...",
"{progress}% Initializing …" : "{progress} % initialiseren ...",
"Health checking" : "Gezondheidscheck",
@@ -578,6 +347,7 @@
"Allow untested app" : "Niet-geteste apps toestaan",
"The app will be downloaded from the App Store" : "De app zal worden gedownload van de App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Deze is niet aangeduid als compatibel met jouw versie van Nextcloud. Als je verdergaat, zal je de app kunnen installeren. Let op dat de app misschien niet werkt zoals verwacht.",
+ "{size} used" : "{size} gebruikt",
"Unknown" : "Onbekend",
"Never" : "Nooit",
"Could not register device: Network error" : "Kon apparaat niet registreren: netwerkfout",
@@ -596,7 +366,9 @@
"Could not set group sorting" : "Kon groepsorteren niet instellen",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Er waren te veel aanvragen afkomstig uit uw netwerk. Probeer later opnieuw of contacteer de beheerder als dat niet correct is.",
"Error" : "Fout",
+ "Default quota" : "Standaard quota",
"Administration documentation" : "Beheerdersdocumentatie",
+ "Documentation" : "Documentatie",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud help- & privacy-bronnen",
"General documentation" : "Algemene documentatie",
@@ -617,6 +389,7 @@
"SMTP Password" : "SMTP wachtwoord",
"Save" : "Bewaar",
"Test and verify email settings" : "Test en controleer de e-mailinstellingen",
+ "Send email" : "Verstuur e-mail",
"Security & setup warnings" : "Beveiligings- en instellingswaarschuwingen",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Voor beveiliging en prestaties van je server is het belangrijk dat alles goed is geconfigureerd. Om je hierbij te helpen doen we paar automatische controles. Bekijk de gerelateerde documentatie voor meer informatie.",
"All checks passed." : "Alle controles geslaagd",
@@ -636,9 +409,6 @@
"Use a second factor besides your password to increase security for your account." : "Gebruik een tweede factor naast je wachtwoord om de beveiliging van je account te verhogen. ",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Als u toepassingen van derden gebruikt om met Nextcloud te verbinden, zorg er dan voor om voor elke app een wachtwoord te maken en te configureren voordat \"tweede factor authenticatie\" wordt geactiveerd.",
"Logged in account must be a subadmin" : "Aangemeld account moet een subadmin zijn",
- "Set default expiration date for shares" : "Instellen standaard vervaldatum voor deellinks",
- "Your biography" : "Jouw biografie",
- "You are using <strong>{usage}</strong>" : "Je gebruikt <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Je gebruikt <strong>{usage}</strong> van <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Instellen standaard vervaldatum voor deellinks"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/nn_NO.js b/apps/settings/l10n/nn_NO.js
deleted file mode 100644
index 1638872ac64..00000000000
--- a/apps/settings/l10n/nn_NO.js
+++ /dev/null
@@ -1,122 +0,0 @@
-OC.L10N.register(
- "settings",
- {
- "Private" : "Privat",
- "Local" : "Lokal",
- "Federated" : "Federated",
- "Published" : "Publisert",
- "Verify" : "Stadfest",
- "Verifying …" : "Stadfestar…",
- "Unable to change password" : "Klarte ikkje å endra passordet",
- "Very weak password" : "Veldig svakt passord",
- "Weak password" : "Svakt passord",
- "So-so password" : "Middelmåtig passord",
- "Good password" : "OK passord",
- "Strong password" : "Sterkt passord",
- "Groups" : "Grupper",
- "Group list is empty" : "Gruppelista er tom",
- "Apps" : "Applikasjonar",
- "Wrong password" : "Feil passord",
- "Saved" : "Lagra",
- "No user supplied" : "Ingen brukar gjeve",
- "Authentication error" : "Autentiseringsfeil",
- "Wrong admin recovery password. Please check the password and try again." : "Feil admingjenopprettingspassord. Ver venleg og sjekk passordet og prøv igjen.",
- "Administrator documentation" : "Administratordokumentasjon",
- "User documentation" : "Brukardokumentasjon",
- "Users" : "Brukarare",
- "Invalid mail address" : "Ugyldig e--postadresse",
- "Welcome aboard" : "Velkomen ombord",
- "Welcome aboard %s" : "Velkomen ombord %s",
- "Your username is: %s" : "Brukarnamnet ditt er: %s",
- "Set your password" : "Vel eit passord",
- "Go to %s" : "Gå til %s",
- "Install Client" : "Installer klient",
- "Settings" : "Instillingar",
- "Personal" : "Personleg",
- "Administration" : "Administrasjon",
- "Additional settings" : "Tilleggsinnstillingar",
- "Overview" : "Oversyn",
- "Sharing" : "Deling",
- "Calendar" : "Kalendar",
- "Personal info" : "Personleg informasjon",
- "Email server" : "E-postserver",
- "Create" : "Lag",
- "Delete" : "Slett",
- "Unlimited" : "Ubegrensa",
- "None" : "Ingen",
- "All" : "Alle",
- "Remove" : "Fjern",
- "Disable" : "Slå av",
- "Visit website" : "Besøk nettstaden",
- "Report a bug" : "Rapporter feil",
- "Admin documentation" : "Admin-dokumentasjon",
- "Name" : "Namn",
- "Version" : "Utgåve",
- "Actions" : "Handlingar",
- "Rename" : "Gje nytt namn",
- "Internet Explorer" : "Internet Explorer",
- "Edge" : "Edge",
- "Firefox" : "Firefox",
- "Google Chrome" : "Google Chrome",
- "Safari" : "Safari",
- "Google Chrome for Android" : "Google Chrome for Android",
- "This session" : "Denne økta",
- "Device" : "Eining",
- "Last activity" : "Siste aktivitet",
- "App name" : "App-namn",
- "Username" : "Brukarnamn",
- "Password" : "Passord",
- "Done" : "Ferdig",
- "Copied!" : "Kopiert!",
- "Copy" : "Kopier",
- "Enable" : "Slå på",
- "Server-side encryption" : "Tenarsidekryptering",
- "Enable server-side encryption" : "Aktiver tenarsidekryptering",
- "Select default encryption module:" : "Vel standard krypteringsmodul:",
- "Current password" : "Passord",
- "New password" : "Nytt passord",
- "Change password" : "Endra passord",
- "Cancel" : "Avbryt",
- "Details" : "Detaljar",
- "Your email address" : "Di e-postadresse",
- "Language" : "Språk",
- "Help translate" : "Hjelp oss å omsetja",
- "Add" : "Legg til",
- "Email" : "E-post",
- "Quota" : "Kvote",
- "Avatar" : "Avatar",
- "Last login" : "Siste innlogging",
- "Edit" : "Rediger",
- "Send email" : "Send e-post",
- "Add group" : "Legg til gruppe",
- "Active users" : "Aktive brukarare",
- "Email sent" : "E-post sendt",
- "Location" : "Stad",
- "Profile picture" : "Profilbilete",
- "About" : "Om",
- "Full name" : "Fult namn",
- "Hide" : "Gøym",
- "Never" : "Aldri",
- "Documentation" : "Dokumentasjon",
- "Forum" : "Forum",
- "Login" : "Logg inn",
- "Open documentation" : "Opne dokumentasjon",
- "Encryption" : "Kryptering",
- "From address" : "Frå adresse",
- "Server address" : "Tenaradresse",
- "Port" : "Port",
- "Authentication" : "Godkjenning",
- "Credentials" : "Credentials",
- "SMTP Username" : "SMTP-brukarnamn",
- "Save" : "Lagre",
- "Allow apps to use the Share API" : "La app-ar bruka API-et til deling",
- "Allow public uploads" : "Tillat offentlege opplastingar",
- "Allow resharing" : "Tillat vidaredeling",
- "Allow sharing with groups" : "Tillat deling med grupper",
- "Like our Facebook page" : "Fylj på Facebook",
- "Follow us on Twitter" : "Fylj på Twitter",
- "Check out our blog" : "Les våre nettsider",
- "Subscribe to our newsletter" : "Abonner på nyhende",
- "png or jpg, max. 20 MB" : "png eller jpg, maks. 20 MB"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/nn_NO.json b/apps/settings/l10n/nn_NO.json
deleted file mode 100644
index 9212c32e56a..00000000000
--- a/apps/settings/l10n/nn_NO.json
+++ /dev/null
@@ -1,120 +0,0 @@
-{ "translations": {
- "Private" : "Privat",
- "Local" : "Lokal",
- "Federated" : "Federated",
- "Published" : "Publisert",
- "Verify" : "Stadfest",
- "Verifying …" : "Stadfestar…",
- "Unable to change password" : "Klarte ikkje å endra passordet",
- "Very weak password" : "Veldig svakt passord",
- "Weak password" : "Svakt passord",
- "So-so password" : "Middelmåtig passord",
- "Good password" : "OK passord",
- "Strong password" : "Sterkt passord",
- "Groups" : "Grupper",
- "Group list is empty" : "Gruppelista er tom",
- "Apps" : "Applikasjonar",
- "Wrong password" : "Feil passord",
- "Saved" : "Lagra",
- "No user supplied" : "Ingen brukar gjeve",
- "Authentication error" : "Autentiseringsfeil",
- "Wrong admin recovery password. Please check the password and try again." : "Feil admingjenopprettingspassord. Ver venleg og sjekk passordet og prøv igjen.",
- "Administrator documentation" : "Administratordokumentasjon",
- "User documentation" : "Brukardokumentasjon",
- "Users" : "Brukarare",
- "Invalid mail address" : "Ugyldig e--postadresse",
- "Welcome aboard" : "Velkomen ombord",
- "Welcome aboard %s" : "Velkomen ombord %s",
- "Your username is: %s" : "Brukarnamnet ditt er: %s",
- "Set your password" : "Vel eit passord",
- "Go to %s" : "Gå til %s",
- "Install Client" : "Installer klient",
- "Settings" : "Instillingar",
- "Personal" : "Personleg",
- "Administration" : "Administrasjon",
- "Additional settings" : "Tilleggsinnstillingar",
- "Overview" : "Oversyn",
- "Sharing" : "Deling",
- "Calendar" : "Kalendar",
- "Personal info" : "Personleg informasjon",
- "Email server" : "E-postserver",
- "Create" : "Lag",
- "Delete" : "Slett",
- "Unlimited" : "Ubegrensa",
- "None" : "Ingen",
- "All" : "Alle",
- "Remove" : "Fjern",
- "Disable" : "Slå av",
- "Visit website" : "Besøk nettstaden",
- "Report a bug" : "Rapporter feil",
- "Admin documentation" : "Admin-dokumentasjon",
- "Name" : "Namn",
- "Version" : "Utgåve",
- "Actions" : "Handlingar",
- "Rename" : "Gje nytt namn",
- "Internet Explorer" : "Internet Explorer",
- "Edge" : "Edge",
- "Firefox" : "Firefox",
- "Google Chrome" : "Google Chrome",
- "Safari" : "Safari",
- "Google Chrome for Android" : "Google Chrome for Android",
- "This session" : "Denne økta",
- "Device" : "Eining",
- "Last activity" : "Siste aktivitet",
- "App name" : "App-namn",
- "Username" : "Brukarnamn",
- "Password" : "Passord",
- "Done" : "Ferdig",
- "Copied!" : "Kopiert!",
- "Copy" : "Kopier",
- "Enable" : "Slå på",
- "Server-side encryption" : "Tenarsidekryptering",
- "Enable server-side encryption" : "Aktiver tenarsidekryptering",
- "Select default encryption module:" : "Vel standard krypteringsmodul:",
- "Current password" : "Passord",
- "New password" : "Nytt passord",
- "Change password" : "Endra passord",
- "Cancel" : "Avbryt",
- "Details" : "Detaljar",
- "Your email address" : "Di e-postadresse",
- "Language" : "Språk",
- "Help translate" : "Hjelp oss å omsetja",
- "Add" : "Legg til",
- "Email" : "E-post",
- "Quota" : "Kvote",
- "Avatar" : "Avatar",
- "Last login" : "Siste innlogging",
- "Edit" : "Rediger",
- "Send email" : "Send e-post",
- "Add group" : "Legg til gruppe",
- "Active users" : "Aktive brukarare",
- "Email sent" : "E-post sendt",
- "Location" : "Stad",
- "Profile picture" : "Profilbilete",
- "About" : "Om",
- "Full name" : "Fult namn",
- "Hide" : "Gøym",
- "Never" : "Aldri",
- "Documentation" : "Dokumentasjon",
- "Forum" : "Forum",
- "Login" : "Logg inn",
- "Open documentation" : "Opne dokumentasjon",
- "Encryption" : "Kryptering",
- "From address" : "Frå adresse",
- "Server address" : "Tenaradresse",
- "Port" : "Port",
- "Authentication" : "Godkjenning",
- "Credentials" : "Credentials",
- "SMTP Username" : "SMTP-brukarnamn",
- "Save" : "Lagre",
- "Allow apps to use the Share API" : "La app-ar bruka API-et til deling",
- "Allow public uploads" : "Tillat offentlege opplastingar",
- "Allow resharing" : "Tillat vidaredeling",
- "Allow sharing with groups" : "Tillat deling med grupper",
- "Like our Facebook page" : "Fylj på Facebook",
- "Follow us on Twitter" : "Fylj på Twitter",
- "Check out our blog" : "Les våre nettsider",
- "Subscribe to our newsletter" : "Abonner på nyhende",
- "png or jpg, max. 20 MB" : "png eller jpg, maks. 20 MB"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/settings/l10n/oc.js b/apps/settings/l10n/oc.js
index 083d8703887..c759fd6d1ea 100644
--- a/apps/settings/l10n/oc.js
+++ b/apps/settings/l10n/oc.js
@@ -92,94 +92,14 @@ OC.L10N.register(
"_%n app has an update available_::_%n apps have an update available_" : ["%n aplicacion an una mesa a jorn de disponibla","%n aplicacions an una mesa a jorn de disponibla"],
"Group name" : "Nom del grop",
"Loading" : "Cargament",
- "Type" : "Tipe",
- "Confirm" : "Confirmar",
- "Cancel" : "Anullar",
- "Description" : "Descripcion",
- "View in store" : "Veire a la botiga",
- "Visit website" : "Veire lo site web",
- "Admin documentation" : "Documentacion d’admin",
- "Developer documentation" : "Documentacion desvolopaire",
- "Details" : "Detalhs",
- "All" : "Tot",
- "No results" : "Cap de resultat",
- "Update to {version}" : "Metre a jorn cap a {version}",
- "Categories" : "Categorias",
- "Documentation" : "Documentacion",
- "Report a bug" : "Raportar un bug",
- "Request feature" : "Demanda de foncionalitat",
- "Ask questions or discuss" : "Pausar de question o discutir",
- "Changelog" : "Nòta de version",
- "Google Chrome for Android" : "Google Chrome per Android",
- "{productName} iOS app" : "Aplicacion iOS {productName}",
- "{productName} Android app" : "Aplicacion Android {productName}",
- "{productName} Talk for iOS" : "Talk de {productName} per iOS",
- "{productName} Talk for Android" : "Talk de {productName} per Android",
- "This session" : "Aquesta session",
- "Device settings" : "Paramètres periferic",
- "Allow filesystem access" : "Permetre accès filesystem",
- "Rename" : "Renomenar",
- "Revoke" : "Revocar",
- "Wipe device" : "Tirar periferic",
- "Device" : "Periferic",
- "Last activity" : "Darrièra activitat",
- "Devices & sessions" : "Periferics e sessions",
- "App name" : "Nom d’aplicacion",
"Login" : "Login",
"Password" : "Senhal",
"Profile" : "Perfil",
"Enable encryption" : "Activar lo chiframent",
+ "Cancel" : "Anullar",
+ "Confirm" : "Confirmar",
"Submit" : "Transmetre",
"Rename group" : "Renomenar lo grop",
- "Current password" : "Senhal actual",
- "New password" : "Senhal novèl",
- "Change password" : "Cambiar de senhal",
- "Picture provided by original account" : "Imatge provesit pel compte d’origina",
- "You are a member of the following groups:" : "Formatz part d’aquestes grops :",
- "Your full name" : "Vòstre nom complèt",
- "Email options" : "Opcions d’email",
- "This address is not confirmed" : "Aquesta adreça es pas confirmada",
- "Set as primary email" : "Definir coma adreça principala",
- "No email address set" : "Cap d’adreça pas definida",
- "Your headline" : "Vòstre títol",
- "Unable to update language" : "Actualizacion de la lenga impossibla",
- "Help translate" : "Ajudar a traduire",
- "No language set" : "Cap de lenga pas definida",
- "Your organisation" : "Vòstra organizacion",
- "Your phone number" : "Vòstre numèro de telefòn",
- "Edit your Profile visibility" : "Modificatz la visibilitat de vòstre perfil",
- "Your role" : "Vòstre ròtle",
- "Add" : "Ajustar",
- "Create" : "Crear",
- "Change" : "Modificar",
- "Delete" : "Suprimir",
- "Reshare" : "Repartir",
- "Default language" : "Lenga per defaut",
- "Common languages" : "Lengas comunas",
- "Other languages" : "Autras lengas",
- "Display name" : "Nom afichat",
- "Email" : "Adreça corrièl",
- "Quota" : "Quota",
- "Language" : "Lenga",
- "Avatar" : "Avatar",
- "Last login" : "Darrièra connexion",
- "{size} used" : "{size} utilizat",
- "Resend welcome email" : "Tornar enviar l’email de benvenguda",
- "Account deletion" : "Supression de compte",
- "Delete {userid}'s account" : "Suprimir lo compte de {userid}",
- "Welcome mail sent!" : "Email de benvenguda enviat !",
- "Done" : "Done",
- "Edit" : "Modificar",
- "Visibility" : "Visibilitat",
- "Show last login" : "Afichar la darrièra connexion",
- "Send email" : "Enviar email",
- "Default quota" : "Quota per defaut",
- "Adding your device …" : "Apondon del periferic…",
- "Unnamed device" : "Periferic sens nom",
- "Passwordless Authentication" : "Autentificacion sens senhal",
- "No devices configured." : "Cap de periferic pas configurat.",
- "Your browser does not support WebAuthn." : "Vòstre navigador es pas compatible amb WebAuthn.",
- "Admins" : "Admins",
"Sending…" : "Mandadís…",
"Email sent" : "Corrièl mandat",
"Location" : "Emplaçament",
@@ -187,12 +107,14 @@ OC.L10N.register(
"About" : "A prepaus",
"Full name" : "Nom complèt",
"Additional email" : "Email suplementari",
+ "Email" : "Adreça corrièl",
"Headline" : "Títol",
"Organisation" : "Organizacion",
"Phone number" : "Numèro de telefòn",
"Role" : "Ròtle",
"Website" : "Site web",
"Profile visibility" : "Visibilitat perfil",
+ "Language" : "Lenga",
"Locale" : "Varianta lingüistica",
"Your apps" : "Vòstras aplicacions",
"Active apps" : "Aplicacions activas",
@@ -200,11 +122,15 @@ OC.L10N.register(
"Updates" : "Mesas a jorn",
"Show to everyone" : "Afichar a tot lo monde",
"Hide" : "Amagar",
+ "Update to {version}" : "Metre a jorn cap a {version}",
"Disable" : "Desactivar",
+ "{size} used" : "{size} utilizat",
"Unknown" : "Desconegut",
"Never" : "Pas jamais",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "I a agut tròp de requèstas a partir de vòstre ret. Tornatz ensajar mai tard o contactatz vòstre administrator s’aquò es una error.",
"Error" : "Error",
+ "Default quota" : "Quota per defaut",
+ "Documentation" : "Documentacion",
"Forum" : "Forum",
"Open documentation" : "Dobrir la documentacion",
"Send mode" : "Mòde de mandadís",
@@ -216,12 +142,12 @@ OC.L10N.register(
"Credentials" : "Informacions d'identificacion",
"SMTP Password" : "Senhal SMTP",
"Save" : "Salvar",
+ "Send email" : "Enviar email",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desvolopat per la {communityopen}comunautat Nextcloud{linkclose}, lo {githubopen}còdi font{linkclose} es jos licéncia {licenseopen}AGPL{linkclose}.",
"Like our Facebook page" : "Aimar nòstra pagina Facebook",
"Follow us on Mastodon" : "Nos seguir sus Mastodon",
"Check out our blog" : "Donar un còp d’uèlh a nòstre blòg",
"Subscribe to our newsletter" : "S’abonar a l’infoletra",
- "Set default expiration date for shares" : "Definir una data d’expiracion per defaut pels partatges",
- "Your biography" : "Vòstra biografia"
+ "Set default expiration date for shares" : "Definir una data d’expiracion per defaut pels partatges"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/settings/l10n/oc.json b/apps/settings/l10n/oc.json
index 665d476d0a1..22f5331964e 100644
--- a/apps/settings/l10n/oc.json
+++ b/apps/settings/l10n/oc.json
@@ -90,94 +90,14 @@
"_%n app has an update available_::_%n apps have an update available_" : ["%n aplicacion an una mesa a jorn de disponibla","%n aplicacions an una mesa a jorn de disponibla"],
"Group name" : "Nom del grop",
"Loading" : "Cargament",
- "Type" : "Tipe",
- "Confirm" : "Confirmar",
- "Cancel" : "Anullar",
- "Description" : "Descripcion",
- "View in store" : "Veire a la botiga",
- "Visit website" : "Veire lo site web",
- "Admin documentation" : "Documentacion d’admin",
- "Developer documentation" : "Documentacion desvolopaire",
- "Details" : "Detalhs",
- "All" : "Tot",
- "No results" : "Cap de resultat",
- "Update to {version}" : "Metre a jorn cap a {version}",
- "Categories" : "Categorias",
- "Documentation" : "Documentacion",
- "Report a bug" : "Raportar un bug",
- "Request feature" : "Demanda de foncionalitat",
- "Ask questions or discuss" : "Pausar de question o discutir",
- "Changelog" : "Nòta de version",
- "Google Chrome for Android" : "Google Chrome per Android",
- "{productName} iOS app" : "Aplicacion iOS {productName}",
- "{productName} Android app" : "Aplicacion Android {productName}",
- "{productName} Talk for iOS" : "Talk de {productName} per iOS",
- "{productName} Talk for Android" : "Talk de {productName} per Android",
- "This session" : "Aquesta session",
- "Device settings" : "Paramètres periferic",
- "Allow filesystem access" : "Permetre accès filesystem",
- "Rename" : "Renomenar",
- "Revoke" : "Revocar",
- "Wipe device" : "Tirar periferic",
- "Device" : "Periferic",
- "Last activity" : "Darrièra activitat",
- "Devices & sessions" : "Periferics e sessions",
- "App name" : "Nom d’aplicacion",
"Login" : "Login",
"Password" : "Senhal",
"Profile" : "Perfil",
"Enable encryption" : "Activar lo chiframent",
+ "Cancel" : "Anullar",
+ "Confirm" : "Confirmar",
"Submit" : "Transmetre",
"Rename group" : "Renomenar lo grop",
- "Current password" : "Senhal actual",
- "New password" : "Senhal novèl",
- "Change password" : "Cambiar de senhal",
- "Picture provided by original account" : "Imatge provesit pel compte d’origina",
- "You are a member of the following groups:" : "Formatz part d’aquestes grops :",
- "Your full name" : "Vòstre nom complèt",
- "Email options" : "Opcions d’email",
- "This address is not confirmed" : "Aquesta adreça es pas confirmada",
- "Set as primary email" : "Definir coma adreça principala",
- "No email address set" : "Cap d’adreça pas definida",
- "Your headline" : "Vòstre títol",
- "Unable to update language" : "Actualizacion de la lenga impossibla",
- "Help translate" : "Ajudar a traduire",
- "No language set" : "Cap de lenga pas definida",
- "Your organisation" : "Vòstra organizacion",
- "Your phone number" : "Vòstre numèro de telefòn",
- "Edit your Profile visibility" : "Modificatz la visibilitat de vòstre perfil",
- "Your role" : "Vòstre ròtle",
- "Add" : "Ajustar",
- "Create" : "Crear",
- "Change" : "Modificar",
- "Delete" : "Suprimir",
- "Reshare" : "Repartir",
- "Default language" : "Lenga per defaut",
- "Common languages" : "Lengas comunas",
- "Other languages" : "Autras lengas",
- "Display name" : "Nom afichat",
- "Email" : "Adreça corrièl",
- "Quota" : "Quota",
- "Language" : "Lenga",
- "Avatar" : "Avatar",
- "Last login" : "Darrièra connexion",
- "{size} used" : "{size} utilizat",
- "Resend welcome email" : "Tornar enviar l’email de benvenguda",
- "Account deletion" : "Supression de compte",
- "Delete {userid}'s account" : "Suprimir lo compte de {userid}",
- "Welcome mail sent!" : "Email de benvenguda enviat !",
- "Done" : "Done",
- "Edit" : "Modificar",
- "Visibility" : "Visibilitat",
- "Show last login" : "Afichar la darrièra connexion",
- "Send email" : "Enviar email",
- "Default quota" : "Quota per defaut",
- "Adding your device …" : "Apondon del periferic…",
- "Unnamed device" : "Periferic sens nom",
- "Passwordless Authentication" : "Autentificacion sens senhal",
- "No devices configured." : "Cap de periferic pas configurat.",
- "Your browser does not support WebAuthn." : "Vòstre navigador es pas compatible amb WebAuthn.",
- "Admins" : "Admins",
"Sending…" : "Mandadís…",
"Email sent" : "Corrièl mandat",
"Location" : "Emplaçament",
@@ -185,12 +105,14 @@
"About" : "A prepaus",
"Full name" : "Nom complèt",
"Additional email" : "Email suplementari",
+ "Email" : "Adreça corrièl",
"Headline" : "Títol",
"Organisation" : "Organizacion",
"Phone number" : "Numèro de telefòn",
"Role" : "Ròtle",
"Website" : "Site web",
"Profile visibility" : "Visibilitat perfil",
+ "Language" : "Lenga",
"Locale" : "Varianta lingüistica",
"Your apps" : "Vòstras aplicacions",
"Active apps" : "Aplicacions activas",
@@ -198,11 +120,15 @@
"Updates" : "Mesas a jorn",
"Show to everyone" : "Afichar a tot lo monde",
"Hide" : "Amagar",
+ "Update to {version}" : "Metre a jorn cap a {version}",
"Disable" : "Desactivar",
+ "{size} used" : "{size} utilizat",
"Unknown" : "Desconegut",
"Never" : "Pas jamais",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "I a agut tròp de requèstas a partir de vòstre ret. Tornatz ensajar mai tard o contactatz vòstre administrator s’aquò es una error.",
"Error" : "Error",
+ "Default quota" : "Quota per defaut",
+ "Documentation" : "Documentacion",
"Forum" : "Forum",
"Open documentation" : "Dobrir la documentacion",
"Send mode" : "Mòde de mandadís",
@@ -214,12 +140,12 @@
"Credentials" : "Informacions d'identificacion",
"SMTP Password" : "Senhal SMTP",
"Save" : "Salvar",
+ "Send email" : "Enviar email",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desvolopat per la {communityopen}comunautat Nextcloud{linkclose}, lo {githubopen}còdi font{linkclose} es jos licéncia {licenseopen}AGPL{linkclose}.",
"Like our Facebook page" : "Aimar nòstra pagina Facebook",
"Follow us on Mastodon" : "Nos seguir sus Mastodon",
"Check out our blog" : "Donar un còp d’uèlh a nòstre blòg",
"Subscribe to our newsletter" : "S’abonar a l’infoletra",
- "Set default expiration date for shares" : "Definir una data d’expiracion per defaut pels partatges",
- "Your biography" : "Vòstra biografia"
+ "Set default expiration date for shares" : "Definir una data d’expiracion per defaut pels partatges"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/pl.js b/apps/settings/l10n/pl.js
index 470368174ef..32648a0c9a6 100644
--- a/apps/settings/l10n/pl.js
+++ b/apps/settings/l10n/pl.js
@@ -363,73 +363,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Nie można wczytać zawartości sekcji ze sklepu z aplikacjami.",
"Loading" : "Wczytywanie",
"Fetching the latest news…" : "Pobieram najnowsze wiadomości…",
- "Carousel" : "Karuzela",
- "Previous slide" : "Poprzedni slajd",
- "Next slide" : "Następny slajd",
- "Choose slide to display" : "Wybierz slajd do wyświetlenia",
- "{index} of {total}" : "{index} z {total}",
- "Daemon" : "Demon",
- "Type" : "Rodzaj",
- "Display Name" : "Wyświetlana nazwa",
- "GPUs support" : "Obsługa procesorów graficznych",
- "Compute device" : "Urządzenie obliczeniowe",
- "Learn more" : "Dowiedz się więcej",
- "Confirm" : "Potwierdź",
- "Cancel" : "Anuluj",
- "Description" : "Opis",
- "View in store" : "Zobacz w sklepie",
- "Visit website" : "Odwiedź stronę",
- "Usage documentation" : "Dokumentacja użytkowania",
- "Admin documentation" : "Dokumentacja administratora",
- "Developer documentation" : "Dokumentacja dewelopera",
- "Details" : "Szczegóły",
- "All" : "Wszystkie",
- "Limit app usage to groups" : "Ogranicz korzystanie z aplikacji dla grup",
- "No results" : "Brak wyników",
- "Update to {version}" : "Zaktualizuj do {version}",
- "Default Deploy daemon is not accessible" : "Domyślny demon wdrażania jest niedostępny",
- "Delete data on remove" : "Usuń dane przy usuwaniu",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Ta aplikacja nie ma przypisanej minimalnej wersji Nextcloud. W przyszłości będzie to błąd.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ta aplikacja nie ma przypisanej maksymalnej wersji Nextcloud. W przyszłości będzie to błąd.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ta aplikacja nie może być zainstalowana, ponieważ nie są spełnione następujące zależności:",
- "Latest updated" : "Ostatnia aktualizacja",
- "Author" : "Autor",
- "Categories" : "Kategorie",
- "Resources" : "Zasoby",
- "Documentation" : "Dokumentacja",
- "Interact" : "Współpraca",
- "Report a bug" : "Zgłoś błąd",
- "Request feature" : "Zgłoś propozycję",
- "Ask questions or discuss" : "Zadaj pytanie lub weź udział w dyskusji",
- "Rate the app" : "Oceń aplikację",
- "Rate" : "Oceń",
- "Changelog" : "Dziennik zmian",
- "Google Chrome for Android" : "Google Chrome dla Android",
- "{productName} iOS app" : "Aplikacja {productName} na iOS",
- "{productName} Android app" : "Aplikacja {productName} na Android",
- "{productName} Talk for iOS" : "{productName} Talk dla iOS",
- "{productName} Talk for Android" : "{productName} Talk dla Androida",
- "Sync client" : "Synchronizuj klienta",
- "This session" : "Ta sesja",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nazwa urządzenia",
- "Cancel renaming" : "Anuluj zmianę nazwy",
- "Save new name" : "Zapisz nową nazwę",
- "Marked for remote wipe" : "Oznaczone do zdalnego czyszczenia",
- "Device settings" : "Ustawienia urządzenia",
- "Allow filesystem access" : "Zezwalaj na dostęp do systemu plików",
- "Rename" : "Zmień nazwę",
- "Revoke" : "Cofnij",
- "Wipe device" : "Wyczyść urządzenie",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Unieważnienie tego tokena uniemożliwi czyszczenie urządzenia, jeśli jeszcze nie zostało rozpoczęte.",
- "Device" : "Urządzenie",
- "Last activity" : "Ostatnia aktywność",
- "Devices & sessions" : "Urządzenia i sesje",
- "Web, desktop and mobile clients currently logged in to your account." : "Klienci internetowi, desktopowi i mobilni aktualnie zalogowani na Twoim koncie.",
- "Error while creating device token" : "Błąd podczas tworzenia tokena urządzenia",
- "App name" : "Nazwa aplikacji",
- "Create new app password" : "Utwórz nowe hasło aplikacji",
"App password copied!" : "Hasło do aplikacji skopiowane!",
"Copy app password" : "Skopiuj hasło do aplikacji",
"Login name copied!" : "Nazwa logowania została skopiowana!",
@@ -475,188 +408,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Zawsze dobrze jest regularnie wykonywać kopie zapasowe swoich danych. W przypadku szyfrowania upewnij się, aby kopie zapasowe kluczy szyfrowania były wraz z danymi.",
"This is the final warning: Do you really want to enable encryption?" : "To ostatnie ostrzeżenie: Czy na pewno chcesz włączyć szyfrowanie?",
"Please confirm the group removal" : "Potwierdź usunięcie grupy",
+ "Cancel" : "Anuluj",
+ "Confirm" : "Potwierdź",
"Submit" : "Wyślij",
"Rename group" : "Zmień nazwę grupy",
- "Current password" : "Bieżące hasło",
- "New password" : "Nowe hasło",
- "Change password" : "Zmień hasło",
- "Choose your profile picture" : "Wybierz swoje zdjęcie profilowe",
- "Please select a valid png or jpg file" : "Wybierz prawidłowy plik png lub jpg",
- "Error setting profile picture" : "Błąd podczas ustawiania zdjęcia profilowego",
- "Error cropping profile picture" : "Błąd przycinania zdjęcia profilowego",
- "Error saving profile picture" : "Błąd podczas zapisywania zdjęcia profilowego",
- "Error removing profile picture" : "Błąd podczas usuwania zdjęcia profilowego",
- "Your profile picture" : "Twoje zdjęcie profilowe",
- "Upload profile picture" : "Wyślij zdjęcie profilowe",
- "Choose profile picture from Files" : "Wybierz zdjęcie profilowe z Plików",
- "Remove profile picture" : "Usuń zdjęcie profilowe",
- "The file must be a PNG or JPG" : "Plik musi być w formacie PNG lub JPG",
- "Picture provided by original account" : "Zdjęcie dostarczone przez oryginalne konto",
- "Set as profile picture" : "Ustaw jako zdjęcie profilowe",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Pamiętaj, że aktualizacja Twojego zdjęcia profilowego może potrwać do 24 godzin.",
- "Unable to update date of birth" : "Nie można zapisać daty urodzin",
- "Enter your date of birth" : "Podaj datę swoich urodzin",
- "You are a member of the following groups:" : "Należysz do następujących grup:",
- "Your full name" : "Twoja pełna nazwa",
- "Email options" : "Opcje e-mail",
- "Remove primary email" : "Usuń podstawowy adres e-mail",
- "Delete email" : "Usuń e-mail",
- "This address is not confirmed" : "Ten adres nie jest potwierdzony",
- "Unset as primary email" : "Usuń jako podstawowy adres e-mail",
- "Set as primary email" : "Ustaw jako podstawowy adres e-mail",
- "Additional email address {index}" : "Dodatkowy adres e-mail {index}",
- "Unable to delete primary email address" : "Nie można usunąć głównego adresu e-mail",
- "Unable to update primary email address" : "Nie można zaktualizować głównego adresu e-mail",
- "Unable to add additional email address" : "Nie można dodać dodatkowego adresu e-mail",
- "Unable to update additional email address" : "Nie można zaktualizować dodatkowego adresu e-mail",
- "Unable to delete additional email address" : "Nie można usunąć dodatkowego adresu e-mail",
- "Primary email for password reset and notifications" : "Główny adres e-mail do resetowania hasła i powiadomień",
- "No email address set" : "Brak adresu e-mail",
- "Your handle" : "Twoja ksywka",
- "Unable to update first day of week" : "Nie można zaktualizować pierwszego dnia tygodnia",
- "Day to use as the first day of week" : "Dzień używany jako pierwszy dzień tygodnia",
- "Your headline" : "Twój nagłówek",
- "Unable to update language" : "Nie można zaktualizować języka",
- "Languages" : "Języki",
- "Help translate" : "Pomóż w tłumaczeniu",
- "No language set" : "Nie ustawiono języka",
- "Unable to update locale" : "Nie można zaktualizować regionu",
- "Locales" : "Ustawienia lokalizacyjne",
- "Week starts on {firstDayOfWeek}" : "Tydzień zaczyna się w {firstDayOfWeek}",
- "No locale set" : "Nie ustawiono regionu",
- "Your city" : "Miasto",
- "Your organisation" : "Twoja organizacja",
- "Your phone number" : "Twój numer telefonu",
- "Edit your Profile visibility" : "Edycja widoczności swojego profilu",
- "Unable to update profile enabled state" : "Nie można zaktualizować stanu włączenia profilu",
- "Enable profile" : "Włącz profil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Bardziej restrykcyjne ustawienie widoczności lub zakresu jest przestrzegane w Twoim profilu. Na przykład, jeśli widoczność jest ustawiona na \"Pokaż wszystkim\", a zakres jest ustawiony na \"Prywatny\", to przestrzegany jest \"Prywatny\".",
- "Unable to update visibility of {displayId}" : "Nie można zaktualizować widoczności {displayId}",
- "she/her" : "ona/jej",
- "he/him" : "on/jego",
- "they/them" : "oni/ich",
- "Your role" : "Twoja rola społeczna",
- "Your X (formerly Twitter) handle" : "Twój przeniesiony X (dawniej Twitter).",
- "Your website" : "Twoja strona WWW",
- "Invalid value" : "Niewłaściwa wartość",
- "Unable to update {property}" : "Nie można zaktualizować {property}",
- "No {property} set" : "Nie ustawiono {property}",
- "Change scope level of {property}, current scope is {scope}" : "Zmień poziom zakresu {property}, obecny zakres to {scope}",
- "Unable to update federation scope of the primary {property}" : "Nie można zaktualizować zakresu federacji podstawowej {property}",
- "Unable to update federation scope of additional {property}" : "Nie można zaktualizować zakresu federacji dodatkowego {property}",
- "Add additional email" : "Dodaj dodatkowy e-mail",
- "Add" : "Dodaj",
- "Create" : "Utwórz",
- "Change" : "Zmień",
- "Delete" : "Usuń",
- "Reshare" : "Udostępnianie innym",
- "Default language" : "Domyślny język",
- "Common languages" : "Popularne języki",
- "Other languages" : "Inne języki",
- "Password change is disabled because the master key is disabled" : "Zmiana hasła jest zablokowana z powodu włączenia klucza głównego.",
- "No accounts" : "Brak kont",
- "Loading accounts …" : "Wczytywanie kont...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Lista kont. Ta lista nie jest w pełni renderowana ze względu na wydajność. Konta będą renderowane podczas poruszania się po liście.",
- "Manager" : "Menedżer",
- "Set line manager" : "Ustaw menedżera liniowego",
- "Account name will be autogenerated" : "Nazwa konta zostanie wygenerowana automatycznie",
- "Account name (required)" : "Nazwa konta (wymagane)",
- "New account" : "Nowe konto",
- "Display name" : "Nazwa wyświetlana",
- "Either password or email is required" : "Wymagane jest hasło lub adres e-mail",
- "Password (required)" : "Hasło (wymagane)",
- "Email (required)" : "E-mail (wymagany)",
- "Email" : "E-mail",
- "Member of the following groups (required)" : "Członek następujących grup (wymagane)",
- "Member of the following groups" : "Członek następujących grup",
- "Set account groups" : "Ustaw grupy konta",
- "Admin of the following groups" : "Administrator następujących grup",
- "Set account as admin for …" : "Ustaw konto jako administrator dla…",
- "Quota" : "Limit",
- "Set account quota" : "Ustaw limit konta",
- "Language" : "Język",
- "Set default language" : "Ustaw domyślny język",
- "Add new account" : "Dodaj nowe konto",
- "Total rows summary" : "Podsumowanie wszystkich wierszy",
- "Scroll to load more rows" : "Przewiń, aby wczytać więcej wierszy",
- "Password or insufficient permissions message" : "Komunikat o haśle lub niewystarczających uprawnieniach",
- "Avatar" : "Awatar",
- "Account name" : "Nazwa konta",
- "Group admin for" : "Administrator grupy",
- "Account backend" : "Zaplecze konta",
- "Storage location" : "Lokalizacja magazynu",
- "Last login" : "Ostatnio zalogowany",
- "Account actions" : "Czynności na koncie",
- "{size} used" : "Wykorzystane: {size}",
- "Delete account" : "Usuń konto",
- "Disconnect all devices and delete local data" : "Odłącz wszystkie urządzenia i usuń dane lokalne",
- "Disable account" : "Wyłącz konto",
- "Enable account" : "Włącz konto",
- "Resend welcome email" : "Wyślij ponownie wiadomość powitalną",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "W przypadku zagubienia urządzenia lub opuszczenia organizacji można zdalnie wyczyścić dane Nextcloud ze wszystkich urządzeń powiązanych z {userid}. Działa tylko wtedy, gdy urządzenia są podłączone do Internetu.",
- "Remote wipe of devices" : "Zdalne czyszczenie urządzeń",
- "Wipe {userid}'s devices" : "Wyczyść urządzenia {userid}",
- "Wiped {userid}'s devices" : "Wyczyszczono urządzenia użytkownika {userid}",
- "Failed to update line manager" : "Nie udało się zaktualizować menedżera liniowego",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Całkowicie usuń konto {userid}, w tym wszystkie pliki osobiste, dane aplikacji itp.",
- "Account deletion" : "Usunięcie konta",
- "Delete {userid}'s account" : "Usuń konto {userid}",
- "Display name was successfully changed" : "Nazwa wyświetlana została zmieniona",
- "Password can't be empty" : "Hasło nie możne być puste",
- "Password was successfully changed" : "Hasło zostało zmienione",
- "Email was successfully changed" : "Adres e-mail został pomyślnie zmieniony",
- "Welcome mail sent!" : "Wysłano wiadomość powitalną!",
- "Loading account …" : "Wczytywanie konta...",
- "Change display name" : "Zmiana wyświetlanej nazwy",
- "Set new password" : "Ustaw nowe hasło",
- "You do not have permissions to see the details of this account" : "Nie masz uprawnień, aby zobaczyć szczegóły tego konta",
- "Set new email address" : "Ustaw nowy adres e-mail",
- "Add account to group" : "Dodaj konto do grupy",
- "Set account as admin for" : "Ustaw konto jako administrator dla",
- "Select account quota" : "Wybierz limit konta",
- "Set the language" : "Ustaw język",
- "Toggle account actions menu" : "Przełącz menu działań na koncie",
- "Done" : "Gotowe",
- "Edit" : "Edycja",
- "Account management settings" : "Ustawienia zarządzania kontami",
- "Visibility" : "Widoczne",
- "Show language" : "Pokaż język",
- "Show account backend" : "Pokaż moduł konta",
- "Show storage path" : "Pokaż ścieżkę przechowywania",
- "Show last login" : "Pokaż ostatnie logowanie",
- "Sorting" : "Sortowanie",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Konfiguracja systemu wymusza sortowanie grup według nazwy. Wyłącza to również wyświetlanie liczby członków.",
- "Group list sorting" : "Sortowanie listy grup",
- "By member count" : "Według liczby członków",
- "By name" : "Według nazwy",
- "Send email" : "Wyślij e-mail",
- "Send welcome email to new accounts" : "Wyślij wiadomość powitalną do nowych kont",
- "Defaults" : "Domyślne",
- "Default quota" : "Domyślny limit",
- "Select default quota" : "Wybierz domyślny limit",
- "Server error while trying to complete WebAuthn device registration" : "Błąd serwera podczas próby ukończenia rejestracji urządzenia WebAuthn",
- "Passwordless authentication requires a secure connection." : "Uwierzytelnianie bez hasła wymaga bezpiecznego połączenia.",
- "Add WebAuthn device" : "Dodaj urządzenie WebAuthn",
- "Please authorize your WebAuthn device." : "Autoryzuj swoje urządzenie WebAuthn.",
- "Adding your device …" : "Dodawanie urządzenia…",
- "Unnamed device" : "Nienazwane urządzenie",
- "Passwordless Authentication" : "Uwierzytelnianie bez hasła",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Skonfiguruj konto do uwierzytelniania bez hasła zgodnie ze standardem FIDO2.",
- "No devices configured." : "Brak skonfigurowanych urządzeń.",
- "The following devices are configured for your account:" : "Dla Twojego konta skonfigurowane są następujące urządzenia:",
- "Your browser does not support WebAuthn." : "Twoja przeglądarka nie obsługuje WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Jako administrator możesz zoptymalizować ustawienia udostępniania. Szczegółowe informacje znajdziesz w dokumentacji.",
- "You need to enable the File sharing App." : "Musisz włączyć aplikację do udostępniania plików.",
- "App Store" : "Sklep aplikacji",
- "Loading app list" : "Wczytywanie listy aplikacji",
- "Loading categories" : "Wczytywanie kategorii",
- "Developer documentation ↗" : "Dokumentacja deweloperska ↗",
- "Version {version}, {license}-licensed" : "Wersja {version}, {license}-licencjonowana",
- "Version {version}" : "Wersja {version}",
- "All accounts" : "Wszystkie konta",
- "Admins" : "Administratorzy",
- "Account group: {group}" : "Grupa kont: {group}",
- "Account management" : "Zarządzanie kontem",
"Sending…" : "Wysyłam…",
"Email sent" : "E-mail został wysłany",
"Location" : "Lokalizacja",
@@ -665,6 +420,7 @@ OC.L10N.register(
"Date of birth" : "Data urodzin",
"Full name" : "Pełna nazwa",
"Additional email" : "Dodatkowy e-mail",
+ "Email" : "E-mail",
"Fediverse (e.g. Mastodon)" : "Fediverse (np. Mastodon)",
"Headline" : "Nagłówek",
"Organisation" : "Organizacja",
@@ -674,6 +430,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (dawniej Twitter)",
"Website" : "Strona internetowa",
"Profile visibility" : "Widoczność profilu",
+ "Language" : "Język",
"Locale" : "Region",
"First day of week" : "Pierwszy dzień tygodnia",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Niedostępne, ponieważ ta właściwość jest wymagana do podstawowych funkcji, w tym udostępniania pliku i zaproszeń do kalendarza",
@@ -690,6 +447,7 @@ OC.L10N.register(
"Show to everyone" : "Pokaż wszystkim",
"Show to logged in accounts only" : "Pokaż tylko zalogowanym kontom",
"Hide" : "Ukryj",
+ "Update to {version}" : "Zaktualizuj do {version}",
"Health checking" : "Sprawdzanie stanu zdrowia",
"Deploy and Enable" : "Wdróż i włącz",
"Download and enable" : "Pobierz i włącz",
@@ -697,6 +455,7 @@ OC.L10N.register(
"Allow untested app" : "Zezwalaj na nietestowane aplikacje",
"The app will be downloaded from the App Store" : "Aplikacja zostanie pobrana ze sklepu z aplikacjami",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ta aplikacja jest niezgodna z wersją Nextcloud. Przy dalszej kontynuacji, możesz pozwolić na zainstalowanie tej aplikacji. Pamiętaj, że aplikacja może nie działać zgodnie z oczekiwaniami.",
+ "{size} used" : "Wykorzystane: {size}",
"Unknown" : "Nieznany",
"Never" : "Nigdy",
"Could not register device: Network error" : "Nie można zarejestrować urządzenia: błąd sieci",
@@ -715,8 +474,10 @@ OC.L10N.register(
"Could not set group sorting" : "Nie można ustawić sortowania grupy",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Zbyt wiele żądań z Twojej sieci. Spróbuj ponownie później lub skontaktuj się z administratorem, jeśli jest to błąd.",
"Error" : "Błąd",
+ "Default quota" : "Domyślny limit",
"Account documentation" : "Dokumentacja konta",
"Administration documentation" : "Dokumentacja administracyjna",
+ "Documentation" : "Dokumentacja",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Zasoby pomocy i prywatności w Nextcloud",
"General documentation" : "Dokumentacja ogólna",
@@ -739,6 +500,7 @@ OC.L10N.register(
"SMTP Password" : "Hasło SMTP",
"Save" : "Zapisz",
"Test and verify email settings" : "Przetestuj i zweryfikuj ustawienia poczty e-mail",
+ "Send email" : "Wyślij e-mail",
"Security & setup warnings" : "Ostrzeżenia bezpieczeństwa i konfiguracji",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Poprawna konfiguracja jest ważna dla bezpieczeństwa i wydajności Twojej instancji. W celach pomocniczych przeprowadzane jest automatyczne sprawdzanie. Więcej informacji możesz znaleźć w dokumentacji.",
"All checks passed." : "Wszystkie testy konfiguracji zakończyły się pomyślnie.",
@@ -758,12 +520,10 @@ OC.L10N.register(
"Use a second factor besides your password to increase security for your account." : "Użyj drugiego zabezpieczenia oprócz hasła, aby zwiększyć bezpieczeństwo konta.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Jeśli używasz aplikacji innych firm do łączenia się z Nextcloud, upewnij się, że utworzyłeś i skonfigurowałeś hasło aplikacji dla każdej przed włączeniem uwierzytelniania dwuskładnikowego.",
"Logged in account must be a subadmin" : "Zalogowane konto musi być subadminem",
+ "To allow this check to run you have to make sure that your Web server can connect to itself. Therefore it must be able to resolve and connect to at least one of its `trusted_domains` or the `overwrite.cli.url`. This failure may be the result of a server-side DNS mismatch or outbound firewall rule." : "Aby umożliwić wykonanie tego sprawdzenia, upewnij się, że serwer WWW może połączyć się sam ze sobą. Musi on być w stanie rozpoznać i połączyć się przynajmniej z jedną z wartości 'trusted_domains' lub 'overwrite.cli.url'. Błąd ten może być wynikiem niezgodności DNS po stronie serwera lub reguły zapory sieciowej wychodzącej.",
"File locking" : "Blokowanie plików",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "Blokowanie plików transakcyjnych jest wyłączone, może to prowadzić do problemów z przepustowością. Włącz \"filelocking.enabled\" w config.php, aby uniknąć tych problemów.",
"The PHP memory limit is below the recommended value of %s." : "Limit pamięci PHP jest poniżej zalecanej wartości %s",
- "Set default expiration date for shares" : "Ustaw domyślną datę ważności udostępnień",
- "Your biography" : "Twoja biografia",
- "You are using <strong>{usage}</strong>" : "Używasz <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Używasz <strong>{usage}</strong> z <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Ustaw domyślną datę ważności udostępnień"
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/apps/settings/l10n/pl.json b/apps/settings/l10n/pl.json
index 4ae48245ad9..5aacea84e46 100644
--- a/apps/settings/l10n/pl.json
+++ b/apps/settings/l10n/pl.json
@@ -361,73 +361,6 @@
"Could not load section content from app store." : "Nie można wczytać zawartości sekcji ze sklepu z aplikacjami.",
"Loading" : "Wczytywanie",
"Fetching the latest news…" : "Pobieram najnowsze wiadomości…",
- "Carousel" : "Karuzela",
- "Previous slide" : "Poprzedni slajd",
- "Next slide" : "Następny slajd",
- "Choose slide to display" : "Wybierz slajd do wyświetlenia",
- "{index} of {total}" : "{index} z {total}",
- "Daemon" : "Demon",
- "Type" : "Rodzaj",
- "Display Name" : "Wyświetlana nazwa",
- "GPUs support" : "Obsługa procesorów graficznych",
- "Compute device" : "Urządzenie obliczeniowe",
- "Learn more" : "Dowiedz się więcej",
- "Confirm" : "Potwierdź",
- "Cancel" : "Anuluj",
- "Description" : "Opis",
- "View in store" : "Zobacz w sklepie",
- "Visit website" : "Odwiedź stronę",
- "Usage documentation" : "Dokumentacja użytkowania",
- "Admin documentation" : "Dokumentacja administratora",
- "Developer documentation" : "Dokumentacja dewelopera",
- "Details" : "Szczegóły",
- "All" : "Wszystkie",
- "Limit app usage to groups" : "Ogranicz korzystanie z aplikacji dla grup",
- "No results" : "Brak wyników",
- "Update to {version}" : "Zaktualizuj do {version}",
- "Default Deploy daemon is not accessible" : "Domyślny demon wdrażania jest niedostępny",
- "Delete data on remove" : "Usuń dane przy usuwaniu",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Ta aplikacja nie ma przypisanej minimalnej wersji Nextcloud. W przyszłości będzie to błąd.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ta aplikacja nie ma przypisanej maksymalnej wersji Nextcloud. W przyszłości będzie to błąd.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ta aplikacja nie może być zainstalowana, ponieważ nie są spełnione następujące zależności:",
- "Latest updated" : "Ostatnia aktualizacja",
- "Author" : "Autor",
- "Categories" : "Kategorie",
- "Resources" : "Zasoby",
- "Documentation" : "Dokumentacja",
- "Interact" : "Współpraca",
- "Report a bug" : "Zgłoś błąd",
- "Request feature" : "Zgłoś propozycję",
- "Ask questions or discuss" : "Zadaj pytanie lub weź udział w dyskusji",
- "Rate the app" : "Oceń aplikację",
- "Rate" : "Oceń",
- "Changelog" : "Dziennik zmian",
- "Google Chrome for Android" : "Google Chrome dla Android",
- "{productName} iOS app" : "Aplikacja {productName} na iOS",
- "{productName} Android app" : "Aplikacja {productName} na Android",
- "{productName} Talk for iOS" : "{productName} Talk dla iOS",
- "{productName} Talk for Android" : "{productName} Talk dla Androida",
- "Sync client" : "Synchronizuj klienta",
- "This session" : "Ta sesja",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nazwa urządzenia",
- "Cancel renaming" : "Anuluj zmianę nazwy",
- "Save new name" : "Zapisz nową nazwę",
- "Marked for remote wipe" : "Oznaczone do zdalnego czyszczenia",
- "Device settings" : "Ustawienia urządzenia",
- "Allow filesystem access" : "Zezwalaj na dostęp do systemu plików",
- "Rename" : "Zmień nazwę",
- "Revoke" : "Cofnij",
- "Wipe device" : "Wyczyść urządzenie",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Unieważnienie tego tokena uniemożliwi czyszczenie urządzenia, jeśli jeszcze nie zostało rozpoczęte.",
- "Device" : "Urządzenie",
- "Last activity" : "Ostatnia aktywność",
- "Devices & sessions" : "Urządzenia i sesje",
- "Web, desktop and mobile clients currently logged in to your account." : "Klienci internetowi, desktopowi i mobilni aktualnie zalogowani na Twoim koncie.",
- "Error while creating device token" : "Błąd podczas tworzenia tokena urządzenia",
- "App name" : "Nazwa aplikacji",
- "Create new app password" : "Utwórz nowe hasło aplikacji",
"App password copied!" : "Hasło do aplikacji skopiowane!",
"Copy app password" : "Skopiuj hasło do aplikacji",
"Login name copied!" : "Nazwa logowania została skopiowana!",
@@ -473,188 +406,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Zawsze dobrze jest regularnie wykonywać kopie zapasowe swoich danych. W przypadku szyfrowania upewnij się, aby kopie zapasowe kluczy szyfrowania były wraz z danymi.",
"This is the final warning: Do you really want to enable encryption?" : "To ostatnie ostrzeżenie: Czy na pewno chcesz włączyć szyfrowanie?",
"Please confirm the group removal" : "Potwierdź usunięcie grupy",
+ "Cancel" : "Anuluj",
+ "Confirm" : "Potwierdź",
"Submit" : "Wyślij",
"Rename group" : "Zmień nazwę grupy",
- "Current password" : "Bieżące hasło",
- "New password" : "Nowe hasło",
- "Change password" : "Zmień hasło",
- "Choose your profile picture" : "Wybierz swoje zdjęcie profilowe",
- "Please select a valid png or jpg file" : "Wybierz prawidłowy plik png lub jpg",
- "Error setting profile picture" : "Błąd podczas ustawiania zdjęcia profilowego",
- "Error cropping profile picture" : "Błąd przycinania zdjęcia profilowego",
- "Error saving profile picture" : "Błąd podczas zapisywania zdjęcia profilowego",
- "Error removing profile picture" : "Błąd podczas usuwania zdjęcia profilowego",
- "Your profile picture" : "Twoje zdjęcie profilowe",
- "Upload profile picture" : "Wyślij zdjęcie profilowe",
- "Choose profile picture from Files" : "Wybierz zdjęcie profilowe z Plików",
- "Remove profile picture" : "Usuń zdjęcie profilowe",
- "The file must be a PNG or JPG" : "Plik musi być w formacie PNG lub JPG",
- "Picture provided by original account" : "Zdjęcie dostarczone przez oryginalne konto",
- "Set as profile picture" : "Ustaw jako zdjęcie profilowe",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Pamiętaj, że aktualizacja Twojego zdjęcia profilowego może potrwać do 24 godzin.",
- "Unable to update date of birth" : "Nie można zapisać daty urodzin",
- "Enter your date of birth" : "Podaj datę swoich urodzin",
- "You are a member of the following groups:" : "Należysz do następujących grup:",
- "Your full name" : "Twoja pełna nazwa",
- "Email options" : "Opcje e-mail",
- "Remove primary email" : "Usuń podstawowy adres e-mail",
- "Delete email" : "Usuń e-mail",
- "This address is not confirmed" : "Ten adres nie jest potwierdzony",
- "Unset as primary email" : "Usuń jako podstawowy adres e-mail",
- "Set as primary email" : "Ustaw jako podstawowy adres e-mail",
- "Additional email address {index}" : "Dodatkowy adres e-mail {index}",
- "Unable to delete primary email address" : "Nie można usunąć głównego adresu e-mail",
- "Unable to update primary email address" : "Nie można zaktualizować głównego adresu e-mail",
- "Unable to add additional email address" : "Nie można dodać dodatkowego adresu e-mail",
- "Unable to update additional email address" : "Nie można zaktualizować dodatkowego adresu e-mail",
- "Unable to delete additional email address" : "Nie można usunąć dodatkowego adresu e-mail",
- "Primary email for password reset and notifications" : "Główny adres e-mail do resetowania hasła i powiadomień",
- "No email address set" : "Brak adresu e-mail",
- "Your handle" : "Twoja ksywka",
- "Unable to update first day of week" : "Nie można zaktualizować pierwszego dnia tygodnia",
- "Day to use as the first day of week" : "Dzień używany jako pierwszy dzień tygodnia",
- "Your headline" : "Twój nagłówek",
- "Unable to update language" : "Nie można zaktualizować języka",
- "Languages" : "Języki",
- "Help translate" : "Pomóż w tłumaczeniu",
- "No language set" : "Nie ustawiono języka",
- "Unable to update locale" : "Nie można zaktualizować regionu",
- "Locales" : "Ustawienia lokalizacyjne",
- "Week starts on {firstDayOfWeek}" : "Tydzień zaczyna się w {firstDayOfWeek}",
- "No locale set" : "Nie ustawiono regionu",
- "Your city" : "Miasto",
- "Your organisation" : "Twoja organizacja",
- "Your phone number" : "Twój numer telefonu",
- "Edit your Profile visibility" : "Edycja widoczności swojego profilu",
- "Unable to update profile enabled state" : "Nie można zaktualizować stanu włączenia profilu",
- "Enable profile" : "Włącz profil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Bardziej restrykcyjne ustawienie widoczności lub zakresu jest przestrzegane w Twoim profilu. Na przykład, jeśli widoczność jest ustawiona na \"Pokaż wszystkim\", a zakres jest ustawiony na \"Prywatny\", to przestrzegany jest \"Prywatny\".",
- "Unable to update visibility of {displayId}" : "Nie można zaktualizować widoczności {displayId}",
- "she/her" : "ona/jej",
- "he/him" : "on/jego",
- "they/them" : "oni/ich",
- "Your role" : "Twoja rola społeczna",
- "Your X (formerly Twitter) handle" : "Twój przeniesiony X (dawniej Twitter).",
- "Your website" : "Twoja strona WWW",
- "Invalid value" : "Niewłaściwa wartość",
- "Unable to update {property}" : "Nie można zaktualizować {property}",
- "No {property} set" : "Nie ustawiono {property}",
- "Change scope level of {property}, current scope is {scope}" : "Zmień poziom zakresu {property}, obecny zakres to {scope}",
- "Unable to update federation scope of the primary {property}" : "Nie można zaktualizować zakresu federacji podstawowej {property}",
- "Unable to update federation scope of additional {property}" : "Nie można zaktualizować zakresu federacji dodatkowego {property}",
- "Add additional email" : "Dodaj dodatkowy e-mail",
- "Add" : "Dodaj",
- "Create" : "Utwórz",
- "Change" : "Zmień",
- "Delete" : "Usuń",
- "Reshare" : "Udostępnianie innym",
- "Default language" : "Domyślny język",
- "Common languages" : "Popularne języki",
- "Other languages" : "Inne języki",
- "Password change is disabled because the master key is disabled" : "Zmiana hasła jest zablokowana z powodu włączenia klucza głównego.",
- "No accounts" : "Brak kont",
- "Loading accounts …" : "Wczytywanie kont...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Lista kont. Ta lista nie jest w pełni renderowana ze względu na wydajność. Konta będą renderowane podczas poruszania się po liście.",
- "Manager" : "Menedżer",
- "Set line manager" : "Ustaw menedżera liniowego",
- "Account name will be autogenerated" : "Nazwa konta zostanie wygenerowana automatycznie",
- "Account name (required)" : "Nazwa konta (wymagane)",
- "New account" : "Nowe konto",
- "Display name" : "Nazwa wyświetlana",
- "Either password or email is required" : "Wymagane jest hasło lub adres e-mail",
- "Password (required)" : "Hasło (wymagane)",
- "Email (required)" : "E-mail (wymagany)",
- "Email" : "E-mail",
- "Member of the following groups (required)" : "Członek następujących grup (wymagane)",
- "Member of the following groups" : "Członek następujących grup",
- "Set account groups" : "Ustaw grupy konta",
- "Admin of the following groups" : "Administrator następujących grup",
- "Set account as admin for …" : "Ustaw konto jako administrator dla…",
- "Quota" : "Limit",
- "Set account quota" : "Ustaw limit konta",
- "Language" : "Język",
- "Set default language" : "Ustaw domyślny język",
- "Add new account" : "Dodaj nowe konto",
- "Total rows summary" : "Podsumowanie wszystkich wierszy",
- "Scroll to load more rows" : "Przewiń, aby wczytać więcej wierszy",
- "Password or insufficient permissions message" : "Komunikat o haśle lub niewystarczających uprawnieniach",
- "Avatar" : "Awatar",
- "Account name" : "Nazwa konta",
- "Group admin for" : "Administrator grupy",
- "Account backend" : "Zaplecze konta",
- "Storage location" : "Lokalizacja magazynu",
- "Last login" : "Ostatnio zalogowany",
- "Account actions" : "Czynności na koncie",
- "{size} used" : "Wykorzystane: {size}",
- "Delete account" : "Usuń konto",
- "Disconnect all devices and delete local data" : "Odłącz wszystkie urządzenia i usuń dane lokalne",
- "Disable account" : "Wyłącz konto",
- "Enable account" : "Włącz konto",
- "Resend welcome email" : "Wyślij ponownie wiadomość powitalną",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "W przypadku zagubienia urządzenia lub opuszczenia organizacji można zdalnie wyczyścić dane Nextcloud ze wszystkich urządzeń powiązanych z {userid}. Działa tylko wtedy, gdy urządzenia są podłączone do Internetu.",
- "Remote wipe of devices" : "Zdalne czyszczenie urządzeń",
- "Wipe {userid}'s devices" : "Wyczyść urządzenia {userid}",
- "Wiped {userid}'s devices" : "Wyczyszczono urządzenia użytkownika {userid}",
- "Failed to update line manager" : "Nie udało się zaktualizować menedżera liniowego",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Całkowicie usuń konto {userid}, w tym wszystkie pliki osobiste, dane aplikacji itp.",
- "Account deletion" : "Usunięcie konta",
- "Delete {userid}'s account" : "Usuń konto {userid}",
- "Display name was successfully changed" : "Nazwa wyświetlana została zmieniona",
- "Password can't be empty" : "Hasło nie możne być puste",
- "Password was successfully changed" : "Hasło zostało zmienione",
- "Email was successfully changed" : "Adres e-mail został pomyślnie zmieniony",
- "Welcome mail sent!" : "Wysłano wiadomość powitalną!",
- "Loading account …" : "Wczytywanie konta...",
- "Change display name" : "Zmiana wyświetlanej nazwy",
- "Set new password" : "Ustaw nowe hasło",
- "You do not have permissions to see the details of this account" : "Nie masz uprawnień, aby zobaczyć szczegóły tego konta",
- "Set new email address" : "Ustaw nowy adres e-mail",
- "Add account to group" : "Dodaj konto do grupy",
- "Set account as admin for" : "Ustaw konto jako administrator dla",
- "Select account quota" : "Wybierz limit konta",
- "Set the language" : "Ustaw język",
- "Toggle account actions menu" : "Przełącz menu działań na koncie",
- "Done" : "Gotowe",
- "Edit" : "Edycja",
- "Account management settings" : "Ustawienia zarządzania kontami",
- "Visibility" : "Widoczne",
- "Show language" : "Pokaż język",
- "Show account backend" : "Pokaż moduł konta",
- "Show storage path" : "Pokaż ścieżkę przechowywania",
- "Show last login" : "Pokaż ostatnie logowanie",
- "Sorting" : "Sortowanie",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Konfiguracja systemu wymusza sortowanie grup według nazwy. Wyłącza to również wyświetlanie liczby członków.",
- "Group list sorting" : "Sortowanie listy grup",
- "By member count" : "Według liczby członków",
- "By name" : "Według nazwy",
- "Send email" : "Wyślij e-mail",
- "Send welcome email to new accounts" : "Wyślij wiadomość powitalną do nowych kont",
- "Defaults" : "Domyślne",
- "Default quota" : "Domyślny limit",
- "Select default quota" : "Wybierz domyślny limit",
- "Server error while trying to complete WebAuthn device registration" : "Błąd serwera podczas próby ukończenia rejestracji urządzenia WebAuthn",
- "Passwordless authentication requires a secure connection." : "Uwierzytelnianie bez hasła wymaga bezpiecznego połączenia.",
- "Add WebAuthn device" : "Dodaj urządzenie WebAuthn",
- "Please authorize your WebAuthn device." : "Autoryzuj swoje urządzenie WebAuthn.",
- "Adding your device …" : "Dodawanie urządzenia…",
- "Unnamed device" : "Nienazwane urządzenie",
- "Passwordless Authentication" : "Uwierzytelnianie bez hasła",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Skonfiguruj konto do uwierzytelniania bez hasła zgodnie ze standardem FIDO2.",
- "No devices configured." : "Brak skonfigurowanych urządzeń.",
- "The following devices are configured for your account:" : "Dla Twojego konta skonfigurowane są następujące urządzenia:",
- "Your browser does not support WebAuthn." : "Twoja przeglądarka nie obsługuje WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Jako administrator możesz zoptymalizować ustawienia udostępniania. Szczegółowe informacje znajdziesz w dokumentacji.",
- "You need to enable the File sharing App." : "Musisz włączyć aplikację do udostępniania plików.",
- "App Store" : "Sklep aplikacji",
- "Loading app list" : "Wczytywanie listy aplikacji",
- "Loading categories" : "Wczytywanie kategorii",
- "Developer documentation ↗" : "Dokumentacja deweloperska ↗",
- "Version {version}, {license}-licensed" : "Wersja {version}, {license}-licencjonowana",
- "Version {version}" : "Wersja {version}",
- "All accounts" : "Wszystkie konta",
- "Admins" : "Administratorzy",
- "Account group: {group}" : "Grupa kont: {group}",
- "Account management" : "Zarządzanie kontem",
"Sending…" : "Wysyłam…",
"Email sent" : "E-mail został wysłany",
"Location" : "Lokalizacja",
@@ -663,6 +418,7 @@
"Date of birth" : "Data urodzin",
"Full name" : "Pełna nazwa",
"Additional email" : "Dodatkowy e-mail",
+ "Email" : "E-mail",
"Fediverse (e.g. Mastodon)" : "Fediverse (np. Mastodon)",
"Headline" : "Nagłówek",
"Organisation" : "Organizacja",
@@ -672,6 +428,7 @@
"X (formerly Twitter)" : "X (dawniej Twitter)",
"Website" : "Strona internetowa",
"Profile visibility" : "Widoczność profilu",
+ "Language" : "Język",
"Locale" : "Region",
"First day of week" : "Pierwszy dzień tygodnia",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Niedostępne, ponieważ ta właściwość jest wymagana do podstawowych funkcji, w tym udostępniania pliku i zaproszeń do kalendarza",
@@ -688,6 +445,7 @@
"Show to everyone" : "Pokaż wszystkim",
"Show to logged in accounts only" : "Pokaż tylko zalogowanym kontom",
"Hide" : "Ukryj",
+ "Update to {version}" : "Zaktualizuj do {version}",
"Health checking" : "Sprawdzanie stanu zdrowia",
"Deploy and Enable" : "Wdróż i włącz",
"Download and enable" : "Pobierz i włącz",
@@ -695,6 +453,7 @@
"Allow untested app" : "Zezwalaj na nietestowane aplikacje",
"The app will be downloaded from the App Store" : "Aplikacja zostanie pobrana ze sklepu z aplikacjami",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ta aplikacja jest niezgodna z wersją Nextcloud. Przy dalszej kontynuacji, możesz pozwolić na zainstalowanie tej aplikacji. Pamiętaj, że aplikacja może nie działać zgodnie z oczekiwaniami.",
+ "{size} used" : "Wykorzystane: {size}",
"Unknown" : "Nieznany",
"Never" : "Nigdy",
"Could not register device: Network error" : "Nie można zarejestrować urządzenia: błąd sieci",
@@ -713,8 +472,10 @@
"Could not set group sorting" : "Nie można ustawić sortowania grupy",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Zbyt wiele żądań z Twojej sieci. Spróbuj ponownie później lub skontaktuj się z administratorem, jeśli jest to błąd.",
"Error" : "Błąd",
+ "Default quota" : "Domyślny limit",
"Account documentation" : "Dokumentacja konta",
"Administration documentation" : "Dokumentacja administracyjna",
+ "Documentation" : "Dokumentacja",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Zasoby pomocy i prywatności w Nextcloud",
"General documentation" : "Dokumentacja ogólna",
@@ -737,6 +498,7 @@
"SMTP Password" : "Hasło SMTP",
"Save" : "Zapisz",
"Test and verify email settings" : "Przetestuj i zweryfikuj ustawienia poczty e-mail",
+ "Send email" : "Wyślij e-mail",
"Security & setup warnings" : "Ostrzeżenia bezpieczeństwa i konfiguracji",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Poprawna konfiguracja jest ważna dla bezpieczeństwa i wydajności Twojej instancji. W celach pomocniczych przeprowadzane jest automatyczne sprawdzanie. Więcej informacji możesz znaleźć w dokumentacji.",
"All checks passed." : "Wszystkie testy konfiguracji zakończyły się pomyślnie.",
@@ -756,12 +518,10 @@
"Use a second factor besides your password to increase security for your account." : "Użyj drugiego zabezpieczenia oprócz hasła, aby zwiększyć bezpieczeństwo konta.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Jeśli używasz aplikacji innych firm do łączenia się z Nextcloud, upewnij się, że utworzyłeś i skonfigurowałeś hasło aplikacji dla każdej przed włączeniem uwierzytelniania dwuskładnikowego.",
"Logged in account must be a subadmin" : "Zalogowane konto musi być subadminem",
+ "To allow this check to run you have to make sure that your Web server can connect to itself. Therefore it must be able to resolve and connect to at least one of its `trusted_domains` or the `overwrite.cli.url`. This failure may be the result of a server-side DNS mismatch or outbound firewall rule." : "Aby umożliwić wykonanie tego sprawdzenia, upewnij się, że serwer WWW może połączyć się sam ze sobą. Musi on być w stanie rozpoznać i połączyć się przynajmniej z jedną z wartości 'trusted_domains' lub 'overwrite.cli.url'. Błąd ten może być wynikiem niezgodności DNS po stronie serwera lub reguły zapory sieciowej wychodzącej.",
"File locking" : "Blokowanie plików",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "Blokowanie plików transakcyjnych jest wyłączone, może to prowadzić do problemów z przepustowością. Włącz \"filelocking.enabled\" w config.php, aby uniknąć tych problemów.",
"The PHP memory limit is below the recommended value of %s." : "Limit pamięci PHP jest poniżej zalecanej wartości %s",
- "Set default expiration date for shares" : "Ustaw domyślną datę ważności udostępnień",
- "Your biography" : "Twoja biografia",
- "You are using <strong>{usage}</strong>" : "Używasz <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Używasz <strong>{usage}</strong> z <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Ustaw domyślną datę ważności udostępnień"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/pt_BR.js b/apps/settings/l10n/pt_BR.js
index a693eec2880..865d7bd23a5 100644
--- a/apps/settings/l10n/pt_BR.js
+++ b/apps/settings/l10n/pt_BR.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "Cabeçalhos HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- O cabeçalho HTTP `%1$s` não está definido como `%2$s`. Alguns recursos podem não funcionar corretamente, portanto, é recomendado ajustar esta configuração de acordo.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- O cabeçalho HTTP `%1$s` não está definido como `%2$s`. Este é um possível risco à segurança ou à privacidade, portanto, é recomendável ajustar esta configuração de acordo.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- O cabeçalho HTTP `%1$s` não contém `%2$s`. Este é um possível risco à segurança ou à privacidade, portanto, é recomendável ajustar esta configuração de acordo.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- O cabeçalho HTTP `%1$s` não está definido como `%2$s`, `%3$s`, `%4$s`, `%5$s` ou `%6$s`. Isso pode vazar informações do referenciador. Consulte a {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- O cabeçalho HTTP `Strict-Transport-Security` não está definido para pelo menos `%d` segundos (valor atual: `%d`). Para aumentar a segurança, é recomendável usar uma política HSTS longa.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- O cabeçalho HTTP `Strict-Transport-Security` está malformado: `%s`. Para aumentar a segurança, é recomendável ativar o HSTS.",
@@ -447,97 +446,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Não foi possível carregar o conteúdo da seção da loja de aplicativos.",
"Loading" : "Carregando",
"Fetching the latest news…" : "Buscando as últimas notícias…",
- "Carousel" : "Carrossel",
- "Previous slide" : "Slide anterior",
- "Next slide" : "Próximo slide",
- "Choose slide to display" : "Escolher slide a ser exibido",
- "{index} of {total}" : "{index} de {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Daemon de Deploy",
- "Type" : "Tipo",
- "Display Name" : "Nome de Exibição",
- "GPUs support" : "Suporte a GPUs",
- "Compute device" : "Dispositivo de computação",
- "Advanced deploy options" : "Opções avançadas de implantação",
- "Edit ExApp deploy options before installation" : "Edite as opções de implantação do ExApp antes da instalação",
- "Configured ExApp deploy options. Can be set only during installation" : "Opções de implantação do ExApp configuradas. Podem ser definidas apenas durante a instalação",
- "Learn more" : "Saiba mais",
- "Environment variables" : "Variáveis de ambiente",
- "ExApp container environment variables" : "Variáveis de ambiente do contêiner ExApp",
- "No environment variables defined" : "Nenhuma variável de ambiente definida",
- "Mounts" : "Montagens",
- "Define host folder mounts to bind to the ExApp container" : "Definir montagens de pastas no host para vincular ao contêiner do ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Deve existir no host do daemon de Deploy antes da instalação do ExApp",
- "Host path" : "Caminho no host",
- "Container path" : "Caminho no contêiner",
- "Read-only" : "Somente leitura",
- "Remove mount" : "Remover montagem",
- "New mount" : "Nova montagem",
- "Enter path to host folder" : "Digite o caminho para a pasta no host",
- "Enter path to container folder" : "Digite o caminho para a pasta no contêiner",
- "Toggle read-only mode" : "Alternar o modo somente leitura",
- "Confirm adding new mount" : "Confirmar adição da nova montagem",
- "Confirm" : "Confirmar",
- "Cancel adding mount" : "Cancelar a adição de montagem",
- "Cancel" : "Cancelar",
- "Add mount" : "Adicionar montagem",
- "ExApp container mounts" : "Montagens de contêiner ExApp",
- "No mounts defined" : "Nenhuma montagem definida",
- "Description" : "Descrição",
- "View in store" : "Ver na loja",
- "Visit website" : "Visitar website",
- "Usage documentation" : "Documentação de uso",
- "Admin documentation" : "Documentação do administrador",
- "Developer documentation" : "Documentação do desenvolvedor",
- "Details" : "Detalhes",
- "All" : "Todos",
- "Limit app usage to groups" : "Limitar o uso de aplicativos a grupos",
- "No results" : "Sem resultados",
- "Update to {version}" : "Atualizar para {version}",
- "Deploy options" : "Opções de implantação",
- "Default Deploy daemon is not accessible" : "O Daemon de deploy padrão não está acessível.",
- "Delete data on remove" : "Excluir dados ao remover",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Este aplicativo não possui uma versão mínima atribuída para uso no Nextcloud. Isto poderá se converter em um erro no futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Este aplicativo não possui uma versão máxima atribuida para uso no Nextcloud. Isto poderá se converter em um erro no futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Este aplicativo não pode ser instalado pois as seguintes dependências não forão cumpridas:",
- "Latest updated" : "Última atualização",
- "Author" : "Autor",
- "Categories" : "Categorias ",
- "Resources" : "Recursos",
- "Documentation" : "Documentação",
- "Interact" : "Interagir",
- "Report a bug" : "Relatar um erro",
- "Request feature" : "Solicitar uma funcionalidade",
- "Ask questions or discuss" : "Fazer perguntas ou discutir",
- "Rate the app" : "Avalie o aplicativo",
- "Rate" : "Avaliação",
- "Changelog" : "Changelog",
- "Google Chrome for Android" : "Google Chrome para Android",
- "{productName} iOS app" : "Aplicativo {productName} para iOS",
- "{productName} Android app" : "Aplicativo {productName} para Android",
- "{productName} Talk for iOS" : "{productName} Talk para iOS",
- "{productName} Talk for Android" : "{productName} Talk para Android ",
- "Sync client" : "Cliente de sincronização",
- "This session" : "Esta sessão",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nome do dispositivo",
- "Cancel renaming" : "Cancelar renomeação",
- "Save new name" : "Salvar novo nome",
- "Marked for remote wipe" : "Marcado para limpeza remota",
- "Device settings" : "Configuração dos dispositivos",
- "Allow filesystem access" : "Permitir acesso ao sistema de arquivos",
- "Rename" : "Renomear",
- "Revoke" : "Revogar",
- "Wipe device" : "Limpar o dispositivo",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "A revogação desse token pode impedir o apagamento do seu dispositivo se ele ainda não tiver iniciado o apagamento.",
- "Device" : "Dispositivo",
- "Last activity" : "Última atividade",
- "Devices & sessions" : "Dispositivos & sessões",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, desktop e móvel que estão conectados à sua conta.",
- "Error while creating device token" : "Erro ao criar token de dispositivo",
- "App name" : "Nome do aplicativo",
- "Create new app password" : "Criar nova senha de aplicativo",
"App password copied!" : "Senha do aplicativo copiada!",
"Copy app password" : "Copiar senha do aplicativo",
"Login name copied!" : "Nome de login copiado!",
@@ -591,203 +499,11 @@ OC.L10N.register(
"Failed to delete group \"{group}\"" : "Falha ao excluir grupo \"{group}\"",
"Please confirm the group removal" : "Por favor confirme a remoção do grupo",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Você está prestes a excluir o grupo \"{group}\". As contas NÃO serão excluídas.",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
"Rename group" : "Renomear grupo",
"Delete group" : "Excluir grupo",
- "Current password" : "Senha atual",
- "New password" : "Nova senha",
- "Change password" : "Alterar senha",
- "Choose your profile picture" : "Escolha sua foto de perfil",
- "Please select a valid png or jpg file" : "Por favor, selecione um arquivo png ou jpg válido",
- "Error setting profile picture" : "Erro ao definir a foto do perfil",
- "Error cropping profile picture" : "Erro ao recortar a foto do perfil",
- "Error saving profile picture" : "Erro ao salvar a foto do perfil",
- "Error removing profile picture" : "Erro ao remover a foto do perfil",
- "Your profile picture" : "Sua foto de perfil",
- "Upload profile picture" : "Fazer upload da foto do perfil",
- "Choose profile picture from Files" : "Escolher foto do perfil em Arquivos",
- "Remove profile picture" : "Remover foto do perfil",
- "The file must be a PNG or JPG" : "O arquivo deve ser um PNG ou JPG",
- "Picture provided by original account" : "Imagem fornecida pela conta original",
- "Set as profile picture" : "Definir como imagem do perfil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Observe que pode levar até 24 horas para que sua foto de perfil seja atualizada em todos os lugares.",
- "Your biography. Markdown is supported." : "Sua biografia. Markdown é suportado.",
- "Unable to update date of birth" : "Não foi possível atualizar a data de nascimento",
- "Enter your date of birth" : "Digite sua data de nascimento",
- "You are using {s}{usage}{/s}" : "Você está usando {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Você está usando {s}{usage}{/s} de {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Você é membro dos seguintes grupos:",
- "Your full name" : "Seu nome completo",
- "Email options" : "Opções de e-mail ",
- "Options for additional email address {index}" : "Opções para endereço de e-mail adicional {index}",
- "Remove primary email" : "Remover e-mail principal ",
- "Delete email" : "Excluir e-mail ",
- "This address is not confirmed" : "Este endereço não foi confirmado",
- "Unset as primary email" : "Desativar como e-mail principal",
- "Set as primary email" : "Definir como e-mail principal ",
- "Additional email address {index}" : "Endereço de e-mail adicional {index} ",
- "Unable to delete primary email address" : "Não é possível excluir o endereço de e-mail principal",
- "Unable to update primary email address" : "Não é possível atualizar o endereço de e-mail primário ",
- "Unable to add additional email address" : "Não é possível adicionar um endereço de e-mail adicional",
- "Unable to update additional email address" : "Não é possível atualizar o endereço de e-mail adicional ",
- "Unable to delete additional email address" : "Não é possível excluir endereço de e-mail adicional",
- "Primary email for password reset and notifications" : "E-mail principal para redefinição de senha e notificações",
- "No email address set" : "Nenhum endereço de e-mail foi configurado",
- "Your handle" : "Seu identificador",
- "Derived from your locale ({weekDayName})" : "Derivado da sua configuração regional ({weekDayName})",
- "Unable to update first day of week" : "Não é possível atualizar o primeiro dia da semana",
- "Day to use as the first day of week" : "Dia a ser usado como o primeiro dia da semana",
- "Your headline" : "Seu título",
- "Unable to update language" : "Não foi possível atualizar o idioma",
- "Languages" : "Idiomas",
- "Help translate" : "Ajude a traduzir",
- "No language set" : "Nenhum conjunto de idiomas",
- "Unable to update locale" : "Não foi possível atualizar a configuração regional",
- "Locales" : "Configuração regional",
- "Week starts on {firstDayOfWeek}" : "A semana começa com {firstDayOfWeek}",
- "No locale set" : "Nenhuma configuração regional definida",
- "Your city" : "Sua cidade",
- "Your organisation" : "Sua organização",
- "Your phone number" : "Seu número de telefone",
- "Edit your Profile visibility" : "Edite a visibilidade do seu Perfil",
- "Unable to update profile enabled state" : "Não é possível atualizar o estado de ativação do perfil",
- "Enable profile" : "Ativar perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "A configuração mais restritiva de visibilidade ou escopo é respeitada em seu perfil. Por exemplo, se a visibilidade for definida como \"Mostrar para todos\" e o escopo for definido como \"Privado\", \"Privado\" será respeitado.",
- "Unable to update visibility of {displayId}" : "Não é possível atualizar a visibilidade de {displayId}",
- "she/her" : "ela/dela",
- "he/him" : "ele/dele",
- "they/them" : "eles/delas",
- "Your role" : "Sua função",
- "Your X (formerly Twitter) handle" : "Seu identificador X (anteriormente Twitter)",
- "Your website" : "Seu site",
- "Invalid value" : "Valor inválido",
- "Unable to update {property}" : "Não foi possível atualizar {property}",
- "No {property} set" : "Nenhum {property} definido",
- "Change scope level of {property}, current scope is {scope}" : "Alterar o nível de escopo de {property}, escopo atual é {scope}",
- "Unable to update federation scope of the primary {property}" : "Não é possível atualizar o escopo da federação do {property} primário",
- "Unable to update federation scope of additional {property}" : "Não é possível atualizar o escopo da federação de {property} adicional",
- "Add additional email" : "Adicionar e-mail adicional",
- "Add" : "Adicionar",
- "Create" : "Criar",
- "Change" : "Alterar",
- "Delete" : "Excluir",
- "Reshare" : "Recompartilhar",
- "Default language" : "Idioma padrão",
- "Common languages" : "Idiomas comuns",
- "Other languages" : "Outros idiomas",
- "Password change is disabled because the master key is disabled" : "A alteração de senha está desativada porque a chave mestra está desativada",
- "No accounts" : "Sem contas",
- "Loading accounts …" : "Carregando contas …",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Lista de contas. Esta lista não foi totalmente renderizada por motivos de desempenho. As contas serão renderizadas quando você navegar pela lista.",
- "Manager" : "Gerente",
- "Set line manager" : "Definir superior hierárquico",
- "Account name will be autogenerated" : "O nome da conta será autogerado",
- "Account name (required)" : "Nome da conta (obrigatório)",
- "Failed to search groups" : "Falha ao pesquisar grupos",
- "New account" : "Nova conta",
- "Display name" : "Nome de exibição",
- "Either password or email is required" : "É necessário ou e-mail ou senha",
- "Password (required)" : "Senha (obrigatória)",
- "Email (required)" : "E-mail (obrigatório)",
- "Email" : "E-mail",
- "Member of the following groups (required)" : "Membro dos seguintes grupos (obrigatório)",
- "Member of the following groups" : "Membro dos seguintes grupos",
- "Set account groups" : "Definir grupos de contas",
- "Admin of the following groups" : "Administrador dos seguintes grupos",
- "Set account as admin for …" : "Definir conta como administrador para …",
- "Quota" : "Cota",
- "Set account quota" : "Definir cota da conta",
- "Language" : "Idioma",
- "Set default language" : "Definir idioma padrão",
- "Add new account" : "Adicionar nova conta",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} conta …","{userCount} de contas …","{userCount} contas …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} conta","{userCount} de contas","{userCount} contas"],
- "Total rows summary" : "Resumo do total de linhas",
- "Scroll to load more rows" : "Role para carregar mais linhas",
- "Password or insufficient permissions message" : "Mensagem de senha ou permissões insuficientes",
- "Avatar" : "Avatar",
- "Account name" : "Nome da conta",
- "Group admin for" : "Admin. de grupo",
- "Account backend" : "Back-end da conta",
- "Storage location" : "Local do armazenamento",
- "First login" : "Primeiro login",
- "Last login" : "Último acesso",
- "Account actions" : "Ações da conta",
- "{size} used" : "{size} usado",
- "Delete account" : "Excluir conta",
- "Disconnect all devices and delete local data" : "Desconecte todos os dispositivos e exclua os dados locais",
- "Disable account" : "Desativar conta",
- "Enable account" : "Ativar conta",
- "Resend welcome email" : "Reenviar e-mail de boas-vindas",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Em caso de perda do dispositivo ou saída da organização, pode-se limpar remotamente os dados do Nextcloud dos dispositivos associados ao {userid}. Só funciona se estiverem conectados à Internet.",
- "Remote wipe of devices" : "Limpeza remota de dispositivos",
- "Wipe {userid}'s devices" : "Limpar os dispositivos de {userid}",
- "Wiped {userid}'s devices" : "Dispositivos de {userid} apagados",
- "Failed to load groups with details" : "Falha ao carregar grupos com detalhes",
- "Failed to load sub admin groups with details" : "Falha ao carregar grupos de subadministradores com detalhes",
- "Failed to update line manager" : "Falha ao atualizar o superior hierárquico",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Excluir a conta de {userid}, incluindo todos os arquivos pessoais, dados de aplicativos, etc",
- "Account deletion" : "Exclusão de conta",
- "Delete {userid}'s account" : "Excluir a conta de {userid}",
- "Display name was successfully changed" : "O nome de exibição foi alterado com sucesso",
- "Password can't be empty" : "A senha não pode estar vazia",
- "Password was successfully changed" : "A senha foi alterada com sucesso",
- "Email can't be empty" : "O e-mail não pode estar vazio",
- "Email was successfully changed" : "O e-mail foi alterado com sucesso",
- "Welcome mail sent!" : "E-mail de boas-vindas enviado!",
- "Loading account …" : "Carregando conta …",
- "Change display name" : "Alterar nome de exibição",
- "Set new password" : "Definir nova senha",
- "You do not have permissions to see the details of this account" : "Você não tem permissão para ver os detalhes desta conta",
- "Set new email address" : "Definir novo endereço de e-mail",
- "Add account to group" : "Adicionar conta ao grupo",
- "Set account as admin for" : "Definir conta como administrador para",
- "Select account quota" : "Selecionar cota da conta",
- "Set the language" : "Definir o idioma",
- "Toggle account actions menu" : "Alternar menu de ações da conta",
- "Done" : "Concluído",
- "Edit" : "Editar",
- "Account management settings" : "Configurações de gerenciamento de conta",
- "Visibility" : "Visibilidade",
- "Show language" : "Mostrar idioma",
- "Show account backend" : "Mostrar back-end da conta",
- "Show storage path" : "Exibir caminho de armazenamento",
- "Show first login" : "Mostrar primeiro login",
- "Show last login" : "Exibir último login",
- "Sorting" : "Classificação",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "A configuração do sistema impõe a classificação dos grupos por nome. Isso também desabilita a exibição da contagem de membros.",
- "Group list sorting" : "Classificação de lista de grupos",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Por motivos de desempenho, a classificação só se aplica aos grupos carregados no momento. Os grupos serão carregados quando você navegar ou pesquisar na lista.",
- "By member count" : "Por contagem de membros",
- "By name" : "Por nome",
- "Send email" : "Enviar e-mail",
- "Send welcome email to new accounts" : "Enviar e-mail de boas-vindas para novas contas",
- "Defaults" : "Padrões",
- "Default quota" : "Cota padrão",
- "Select default quota" : "Selecionar a cota padrão",
- "Server error while trying to complete WebAuthn device registration" : "Erro no servidor ao finalizar o registro do dispositivo WebAuthn",
- "Passwordless authentication requires a secure connection." : "Autenticação sem senha necessita uma conexão segura.",
- "Add WebAuthn device" : "Adicionar dispositivo WebAuthn",
- "Please authorize your WebAuthn device." : "Autorize seu dispositivo Webauthn.",
- "Adding your device …" : "Adicionando seu dispositivo...",
- "Unnamed device" : "Dispositivo sem nome",
- "Passwordless Authentication" : "Autenticação sem senha",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configure sua conta para autenticação sem senha, seguindo o padrão FIDO2.",
- "No devices configured." : "Nenhum dispositivo configurado.",
- "The following devices are configured for your account:" : "Os seguintes dispositivos estão configurados para sua conta:",
- "Your browser does not support WebAuthn." : "Seu navegador não suporta WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, você pode ajustar o comportamento dos compartilhamentos. Consulte a documentação para obter mais informações.",
- "You need to enable the File sharing App." : "Você precisa habilitar o aplicativo de compartilhamento de arquivos.",
- "App Store" : "Loja de aplicativos",
- "Loading app list" : "Carregando lista de aplicativos",
- "Loading categories" : "Carregando categorias",
- "Developer documentation ↗" : "Documentação do desenvolvedor ↗",
- "Version {version}, {license}-licensed" : "Versão {version}, licenciada por {license}",
- "Version {version}" : "Versão {version}",
- "All accounts" : "Todas as contas",
- "Admins" : "Administradores",
- "Account group: {group}" : "Grupo de contas: {group}",
- "Account management" : "Gerenciamento de contas",
"Sending…" : "Enviando...",
"Email sent" : "E-mail enviado",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Por motivos de desempenho, quando você ativa a criptografia em um servidor Nextcloud, somente os arquivos novos e alterados são criptografados.",
@@ -797,6 +513,7 @@ OC.L10N.register(
"Date of birth" : "Data de nascimento",
"Full name" : "Nome completo",
"Additional email" : "E-mail adicional ",
+ "Email" : "E-mail",
"Fediverse (e.g. Mastodon)" : "Fediverso (p. ex. Mastodon)",
"Headline" : "Título",
"Organisation" : "Organização",
@@ -806,6 +523,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (anteriormente Twitter)",
"Website" : "Website",
"Profile visibility" : "Visibilidade do perfil",
+ "Language" : "Idioma",
"Locale" : "Configuração regional",
"First day of week" : "Primeiro dia da semana",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Não disponível porque esta propriedade é necessária para a funcionalidade principal, incluindo compartilhamento de arquivos e convites de calendário",
@@ -823,6 +541,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Mostrar apenas para contas logadas",
"Hide" : "Ocultar",
"Manually installed apps cannot be updated" : "Aplicativos instalados manualmente não podem ser atualizados",
+ "Update to {version}" : "Atualizar para {version}",
"{progress}% Deploying …" : "{progress}% Implantando …",
"{progress}% Initializing …" : "{progress}% Inicializando …",
"Health checking" : "Verificação de saúde",
@@ -832,6 +551,7 @@ OC.L10N.register(
"Allow untested app" : "Permitir aplicativo não testado",
"The app will be downloaded from the App Store" : "O aplicativo será baixado da Loja de Aplicativos",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Este aplicativo não está marcado como compatível com sua versão do Nextcloud. Se você continuar, ainda poderá instalar o aplicativo mas poderá não funcionar como esperado.",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconhecido",
"Never" : "Nunca",
"Could not register device: Network error" : "Não foi possível registrar o dispositivo: Erro de rede",
@@ -850,8 +570,10 @@ OC.L10N.register(
"Could not set group sorting" : "Não foi possível definir a classificação de grupo",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Houve muitas solicitações de sua rede. Tente novamente mais tarde ou entre em contato com o administrador se isso for um erro.",
"Error" : "Erro",
+ "Default quota" : "Cota padrão",
"Account documentation" : "Documentação da conta",
"Administration documentation" : "Documentação de administração",
+ "Documentation" : "Documentação",
"Forum" : "Fórum",
"Nextcloud help & privacy resources" : "Ajuda & recursos de privacidade do Nextcloud",
"General documentation" : "Documentação geral",
@@ -874,6 +596,7 @@ OC.L10N.register(
"SMTP Password" : "Senha SMTP",
"Save" : "Salvar",
"Test and verify email settings" : "Testar e verificar as configurações de e-mail",
+ "Send email" : "Enviar e-mail",
"Security & setup warnings" : "Segurança & avisos de configuração",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Para segurança e desempenho da sua instalação é importante que tudo esteja configurado corretamente. Para ajudá-lo com isso, estamos fazendo algumas verificações automáticas. Consulte a documentação para mais informações.",
"All checks passed." : "Todas as verificações passaram.",
@@ -899,11 +622,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "O limite de memória do PHP está abaixo do valor recomendado de %s.",
"for WebAuthn passwordless login" : "para login sem senha via WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "para login sem senha via WebAuthn e armazenamento SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- O cabeçalho HTTP `%1$s` não contém `%2$s`. Este é um possível risco à segurança ou à privacidade, portanto, é recomendável ajustar esta configuração de acordo.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Versão do PostgreSQL \"%s\" detectada. PostgreSQL >=12 e <=16 é sugerido para melhor desempenho, estabilidade e funcionalidade com esta versão do Nextcloud.",
- "Set default expiration date for shares" : "Definir data de validade padrão para compartilhamentos",
- "Your biography" : "Sua biografia",
- "You are using <strong>{usage}</strong>" : "Você está usando <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Você está usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Falha ao carregar grupos de subadministradores com detalhes"
+ "Set default expiration date for shares" : "Definir data de validade padrão para compartilhamentos"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/settings/l10n/pt_BR.json b/apps/settings/l10n/pt_BR.json
index c0f1a073c9e..84e8b919b43 100644
--- a/apps/settings/l10n/pt_BR.json
+++ b/apps/settings/l10n/pt_BR.json
@@ -294,7 +294,6 @@
"HTTP headers" : "Cabeçalhos HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- O cabeçalho HTTP `%1$s` não está definido como `%2$s`. Alguns recursos podem não funcionar corretamente, portanto, é recomendado ajustar esta configuração de acordo.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- O cabeçalho HTTP `%1$s` não está definido como `%2$s`. Este é um possível risco à segurança ou à privacidade, portanto, é recomendável ajustar esta configuração de acordo.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- O cabeçalho HTTP `%1$s` não contém `%2$s`. Este é um possível risco à segurança ou à privacidade, portanto, é recomendável ajustar esta configuração de acordo.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- O cabeçalho HTTP `%1$s` não está definido como `%2$s`, `%3$s`, `%4$s`, `%5$s` ou `%6$s`. Isso pode vazar informações do referenciador. Consulte a {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- O cabeçalho HTTP `Strict-Transport-Security` não está definido para pelo menos `%d` segundos (valor atual: `%d`). Para aumentar a segurança, é recomendável usar uma política HSTS longa.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- O cabeçalho HTTP `Strict-Transport-Security` está malformado: `%s`. Para aumentar a segurança, é recomendável ativar o HSTS.",
@@ -445,97 +444,6 @@
"Could not load section content from app store." : "Não foi possível carregar o conteúdo da seção da loja de aplicativos.",
"Loading" : "Carregando",
"Fetching the latest news…" : "Buscando as últimas notícias…",
- "Carousel" : "Carrossel",
- "Previous slide" : "Slide anterior",
- "Next slide" : "Próximo slide",
- "Choose slide to display" : "Escolher slide a ser exibido",
- "{index} of {total}" : "{index} de {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Daemon de Deploy",
- "Type" : "Tipo",
- "Display Name" : "Nome de Exibição",
- "GPUs support" : "Suporte a GPUs",
- "Compute device" : "Dispositivo de computação",
- "Advanced deploy options" : "Opções avançadas de implantação",
- "Edit ExApp deploy options before installation" : "Edite as opções de implantação do ExApp antes da instalação",
- "Configured ExApp deploy options. Can be set only during installation" : "Opções de implantação do ExApp configuradas. Podem ser definidas apenas durante a instalação",
- "Learn more" : "Saiba mais",
- "Environment variables" : "Variáveis de ambiente",
- "ExApp container environment variables" : "Variáveis de ambiente do contêiner ExApp",
- "No environment variables defined" : "Nenhuma variável de ambiente definida",
- "Mounts" : "Montagens",
- "Define host folder mounts to bind to the ExApp container" : "Definir montagens de pastas no host para vincular ao contêiner do ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Deve existir no host do daemon de Deploy antes da instalação do ExApp",
- "Host path" : "Caminho no host",
- "Container path" : "Caminho no contêiner",
- "Read-only" : "Somente leitura",
- "Remove mount" : "Remover montagem",
- "New mount" : "Nova montagem",
- "Enter path to host folder" : "Digite o caminho para a pasta no host",
- "Enter path to container folder" : "Digite o caminho para a pasta no contêiner",
- "Toggle read-only mode" : "Alternar o modo somente leitura",
- "Confirm adding new mount" : "Confirmar adição da nova montagem",
- "Confirm" : "Confirmar",
- "Cancel adding mount" : "Cancelar a adição de montagem",
- "Cancel" : "Cancelar",
- "Add mount" : "Adicionar montagem",
- "ExApp container mounts" : "Montagens de contêiner ExApp",
- "No mounts defined" : "Nenhuma montagem definida",
- "Description" : "Descrição",
- "View in store" : "Ver na loja",
- "Visit website" : "Visitar website",
- "Usage documentation" : "Documentação de uso",
- "Admin documentation" : "Documentação do administrador",
- "Developer documentation" : "Documentação do desenvolvedor",
- "Details" : "Detalhes",
- "All" : "Todos",
- "Limit app usage to groups" : "Limitar o uso de aplicativos a grupos",
- "No results" : "Sem resultados",
- "Update to {version}" : "Atualizar para {version}",
- "Deploy options" : "Opções de implantação",
- "Default Deploy daemon is not accessible" : "O Daemon de deploy padrão não está acessível.",
- "Delete data on remove" : "Excluir dados ao remover",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Este aplicativo não possui uma versão mínima atribuída para uso no Nextcloud. Isto poderá se converter em um erro no futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Este aplicativo não possui uma versão máxima atribuida para uso no Nextcloud. Isto poderá se converter em um erro no futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Este aplicativo não pode ser instalado pois as seguintes dependências não forão cumpridas:",
- "Latest updated" : "Última atualização",
- "Author" : "Autor",
- "Categories" : "Categorias ",
- "Resources" : "Recursos",
- "Documentation" : "Documentação",
- "Interact" : "Interagir",
- "Report a bug" : "Relatar um erro",
- "Request feature" : "Solicitar uma funcionalidade",
- "Ask questions or discuss" : "Fazer perguntas ou discutir",
- "Rate the app" : "Avalie o aplicativo",
- "Rate" : "Avaliação",
- "Changelog" : "Changelog",
- "Google Chrome for Android" : "Google Chrome para Android",
- "{productName} iOS app" : "Aplicativo {productName} para iOS",
- "{productName} Android app" : "Aplicativo {productName} para Android",
- "{productName} Talk for iOS" : "{productName} Talk para iOS",
- "{productName} Talk for Android" : "{productName} Talk para Android ",
- "Sync client" : "Cliente de sincronização",
- "This session" : "Esta sessão",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Nome do dispositivo",
- "Cancel renaming" : "Cancelar renomeação",
- "Save new name" : "Salvar novo nome",
- "Marked for remote wipe" : "Marcado para limpeza remota",
- "Device settings" : "Configuração dos dispositivos",
- "Allow filesystem access" : "Permitir acesso ao sistema de arquivos",
- "Rename" : "Renomear",
- "Revoke" : "Revogar",
- "Wipe device" : "Limpar o dispositivo",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "A revogação desse token pode impedir o apagamento do seu dispositivo se ele ainda não tiver iniciado o apagamento.",
- "Device" : "Dispositivo",
- "Last activity" : "Última atividade",
- "Devices & sessions" : "Dispositivos & sessões",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, desktop e móvel que estão conectados à sua conta.",
- "Error while creating device token" : "Erro ao criar token de dispositivo",
- "App name" : "Nome do aplicativo",
- "Create new app password" : "Criar nova senha de aplicativo",
"App password copied!" : "Senha do aplicativo copiada!",
"Copy app password" : "Copiar senha do aplicativo",
"Login name copied!" : "Nome de login copiado!",
@@ -589,203 +497,11 @@
"Failed to delete group \"{group}\"" : "Falha ao excluir grupo \"{group}\"",
"Please confirm the group removal" : "Por favor confirme a remoção do grupo",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Você está prestes a excluir o grupo \"{group}\". As contas NÃO serão excluídas.",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Enviar",
"Rename group" : "Renomear grupo",
"Delete group" : "Excluir grupo",
- "Current password" : "Senha atual",
- "New password" : "Nova senha",
- "Change password" : "Alterar senha",
- "Choose your profile picture" : "Escolha sua foto de perfil",
- "Please select a valid png or jpg file" : "Por favor, selecione um arquivo png ou jpg válido",
- "Error setting profile picture" : "Erro ao definir a foto do perfil",
- "Error cropping profile picture" : "Erro ao recortar a foto do perfil",
- "Error saving profile picture" : "Erro ao salvar a foto do perfil",
- "Error removing profile picture" : "Erro ao remover a foto do perfil",
- "Your profile picture" : "Sua foto de perfil",
- "Upload profile picture" : "Fazer upload da foto do perfil",
- "Choose profile picture from Files" : "Escolher foto do perfil em Arquivos",
- "Remove profile picture" : "Remover foto do perfil",
- "The file must be a PNG or JPG" : "O arquivo deve ser um PNG ou JPG",
- "Picture provided by original account" : "Imagem fornecida pela conta original",
- "Set as profile picture" : "Definir como imagem do perfil",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Observe que pode levar até 24 horas para que sua foto de perfil seja atualizada em todos os lugares.",
- "Your biography. Markdown is supported." : "Sua biografia. Markdown é suportado.",
- "Unable to update date of birth" : "Não foi possível atualizar a data de nascimento",
- "Enter your date of birth" : "Digite sua data de nascimento",
- "You are using {s}{usage}{/s}" : "Você está usando {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Você está usando {s}{usage}{/s} de {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Você é membro dos seguintes grupos:",
- "Your full name" : "Seu nome completo",
- "Email options" : "Opções de e-mail ",
- "Options for additional email address {index}" : "Opções para endereço de e-mail adicional {index}",
- "Remove primary email" : "Remover e-mail principal ",
- "Delete email" : "Excluir e-mail ",
- "This address is not confirmed" : "Este endereço não foi confirmado",
- "Unset as primary email" : "Desativar como e-mail principal",
- "Set as primary email" : "Definir como e-mail principal ",
- "Additional email address {index}" : "Endereço de e-mail adicional {index} ",
- "Unable to delete primary email address" : "Não é possível excluir o endereço de e-mail principal",
- "Unable to update primary email address" : "Não é possível atualizar o endereço de e-mail primário ",
- "Unable to add additional email address" : "Não é possível adicionar um endereço de e-mail adicional",
- "Unable to update additional email address" : "Não é possível atualizar o endereço de e-mail adicional ",
- "Unable to delete additional email address" : "Não é possível excluir endereço de e-mail adicional",
- "Primary email for password reset and notifications" : "E-mail principal para redefinição de senha e notificações",
- "No email address set" : "Nenhum endereço de e-mail foi configurado",
- "Your handle" : "Seu identificador",
- "Derived from your locale ({weekDayName})" : "Derivado da sua configuração regional ({weekDayName})",
- "Unable to update first day of week" : "Não é possível atualizar o primeiro dia da semana",
- "Day to use as the first day of week" : "Dia a ser usado como o primeiro dia da semana",
- "Your headline" : "Seu título",
- "Unable to update language" : "Não foi possível atualizar o idioma",
- "Languages" : "Idiomas",
- "Help translate" : "Ajude a traduzir",
- "No language set" : "Nenhum conjunto de idiomas",
- "Unable to update locale" : "Não foi possível atualizar a configuração regional",
- "Locales" : "Configuração regional",
- "Week starts on {firstDayOfWeek}" : "A semana começa com {firstDayOfWeek}",
- "No locale set" : "Nenhuma configuração regional definida",
- "Your city" : "Sua cidade",
- "Your organisation" : "Sua organização",
- "Your phone number" : "Seu número de telefone",
- "Edit your Profile visibility" : "Edite a visibilidade do seu Perfil",
- "Unable to update profile enabled state" : "Não é possível atualizar o estado de ativação do perfil",
- "Enable profile" : "Ativar perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "A configuração mais restritiva de visibilidade ou escopo é respeitada em seu perfil. Por exemplo, se a visibilidade for definida como \"Mostrar para todos\" e o escopo for definido como \"Privado\", \"Privado\" será respeitado.",
- "Unable to update visibility of {displayId}" : "Não é possível atualizar a visibilidade de {displayId}",
- "she/her" : "ela/dela",
- "he/him" : "ele/dele",
- "they/them" : "eles/delas",
- "Your role" : "Sua função",
- "Your X (formerly Twitter) handle" : "Seu identificador X (anteriormente Twitter)",
- "Your website" : "Seu site",
- "Invalid value" : "Valor inválido",
- "Unable to update {property}" : "Não foi possível atualizar {property}",
- "No {property} set" : "Nenhum {property} definido",
- "Change scope level of {property}, current scope is {scope}" : "Alterar o nível de escopo de {property}, escopo atual é {scope}",
- "Unable to update federation scope of the primary {property}" : "Não é possível atualizar o escopo da federação do {property} primário",
- "Unable to update federation scope of additional {property}" : "Não é possível atualizar o escopo da federação de {property} adicional",
- "Add additional email" : "Adicionar e-mail adicional",
- "Add" : "Adicionar",
- "Create" : "Criar",
- "Change" : "Alterar",
- "Delete" : "Excluir",
- "Reshare" : "Recompartilhar",
- "Default language" : "Idioma padrão",
- "Common languages" : "Idiomas comuns",
- "Other languages" : "Outros idiomas",
- "Password change is disabled because the master key is disabled" : "A alteração de senha está desativada porque a chave mestra está desativada",
- "No accounts" : "Sem contas",
- "Loading accounts …" : "Carregando contas …",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Lista de contas. Esta lista não foi totalmente renderizada por motivos de desempenho. As contas serão renderizadas quando você navegar pela lista.",
- "Manager" : "Gerente",
- "Set line manager" : "Definir superior hierárquico",
- "Account name will be autogenerated" : "O nome da conta será autogerado",
- "Account name (required)" : "Nome da conta (obrigatório)",
- "Failed to search groups" : "Falha ao pesquisar grupos",
- "New account" : "Nova conta",
- "Display name" : "Nome de exibição",
- "Either password or email is required" : "É necessário ou e-mail ou senha",
- "Password (required)" : "Senha (obrigatória)",
- "Email (required)" : "E-mail (obrigatório)",
- "Email" : "E-mail",
- "Member of the following groups (required)" : "Membro dos seguintes grupos (obrigatório)",
- "Member of the following groups" : "Membro dos seguintes grupos",
- "Set account groups" : "Definir grupos de contas",
- "Admin of the following groups" : "Administrador dos seguintes grupos",
- "Set account as admin for …" : "Definir conta como administrador para …",
- "Quota" : "Cota",
- "Set account quota" : "Definir cota da conta",
- "Language" : "Idioma",
- "Set default language" : "Definir idioma padrão",
- "Add new account" : "Adicionar nova conta",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} conta …","{userCount} de contas …","{userCount} contas …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} conta","{userCount} de contas","{userCount} contas"],
- "Total rows summary" : "Resumo do total de linhas",
- "Scroll to load more rows" : "Role para carregar mais linhas",
- "Password or insufficient permissions message" : "Mensagem de senha ou permissões insuficientes",
- "Avatar" : "Avatar",
- "Account name" : "Nome da conta",
- "Group admin for" : "Admin. de grupo",
- "Account backend" : "Back-end da conta",
- "Storage location" : "Local do armazenamento",
- "First login" : "Primeiro login",
- "Last login" : "Último acesso",
- "Account actions" : "Ações da conta",
- "{size} used" : "{size} usado",
- "Delete account" : "Excluir conta",
- "Disconnect all devices and delete local data" : "Desconecte todos os dispositivos e exclua os dados locais",
- "Disable account" : "Desativar conta",
- "Enable account" : "Ativar conta",
- "Resend welcome email" : "Reenviar e-mail de boas-vindas",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Em caso de perda do dispositivo ou saída da organização, pode-se limpar remotamente os dados do Nextcloud dos dispositivos associados ao {userid}. Só funciona se estiverem conectados à Internet.",
- "Remote wipe of devices" : "Limpeza remota de dispositivos",
- "Wipe {userid}'s devices" : "Limpar os dispositivos de {userid}",
- "Wiped {userid}'s devices" : "Dispositivos de {userid} apagados",
- "Failed to load groups with details" : "Falha ao carregar grupos com detalhes",
- "Failed to load sub admin groups with details" : "Falha ao carregar grupos de subadministradores com detalhes",
- "Failed to update line manager" : "Falha ao atualizar o superior hierárquico",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Excluir a conta de {userid}, incluindo todos os arquivos pessoais, dados de aplicativos, etc",
- "Account deletion" : "Exclusão de conta",
- "Delete {userid}'s account" : "Excluir a conta de {userid}",
- "Display name was successfully changed" : "O nome de exibição foi alterado com sucesso",
- "Password can't be empty" : "A senha não pode estar vazia",
- "Password was successfully changed" : "A senha foi alterada com sucesso",
- "Email can't be empty" : "O e-mail não pode estar vazio",
- "Email was successfully changed" : "O e-mail foi alterado com sucesso",
- "Welcome mail sent!" : "E-mail de boas-vindas enviado!",
- "Loading account …" : "Carregando conta …",
- "Change display name" : "Alterar nome de exibição",
- "Set new password" : "Definir nova senha",
- "You do not have permissions to see the details of this account" : "Você não tem permissão para ver os detalhes desta conta",
- "Set new email address" : "Definir novo endereço de e-mail",
- "Add account to group" : "Adicionar conta ao grupo",
- "Set account as admin for" : "Definir conta como administrador para",
- "Select account quota" : "Selecionar cota da conta",
- "Set the language" : "Definir o idioma",
- "Toggle account actions menu" : "Alternar menu de ações da conta",
- "Done" : "Concluído",
- "Edit" : "Editar",
- "Account management settings" : "Configurações de gerenciamento de conta",
- "Visibility" : "Visibilidade",
- "Show language" : "Mostrar idioma",
- "Show account backend" : "Mostrar back-end da conta",
- "Show storage path" : "Exibir caminho de armazenamento",
- "Show first login" : "Mostrar primeiro login",
- "Show last login" : "Exibir último login",
- "Sorting" : "Classificação",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "A configuração do sistema impõe a classificação dos grupos por nome. Isso também desabilita a exibição da contagem de membros.",
- "Group list sorting" : "Classificação de lista de grupos",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Por motivos de desempenho, a classificação só se aplica aos grupos carregados no momento. Os grupos serão carregados quando você navegar ou pesquisar na lista.",
- "By member count" : "Por contagem de membros",
- "By name" : "Por nome",
- "Send email" : "Enviar e-mail",
- "Send welcome email to new accounts" : "Enviar e-mail de boas-vindas para novas contas",
- "Defaults" : "Padrões",
- "Default quota" : "Cota padrão",
- "Select default quota" : "Selecionar a cota padrão",
- "Server error while trying to complete WebAuthn device registration" : "Erro no servidor ao finalizar o registro do dispositivo WebAuthn",
- "Passwordless authentication requires a secure connection." : "Autenticação sem senha necessita uma conexão segura.",
- "Add WebAuthn device" : "Adicionar dispositivo WebAuthn",
- "Please authorize your WebAuthn device." : "Autorize seu dispositivo Webauthn.",
- "Adding your device …" : "Adicionando seu dispositivo...",
- "Unnamed device" : "Dispositivo sem nome",
- "Passwordless Authentication" : "Autenticação sem senha",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Configure sua conta para autenticação sem senha, seguindo o padrão FIDO2.",
- "No devices configured." : "Nenhum dispositivo configurado.",
- "The following devices are configured for your account:" : "Os seguintes dispositivos estão configurados para sua conta:",
- "Your browser does not support WebAuthn." : "Seu navegador não suporta WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, você pode ajustar o comportamento dos compartilhamentos. Consulte a documentação para obter mais informações.",
- "You need to enable the File sharing App." : "Você precisa habilitar o aplicativo de compartilhamento de arquivos.",
- "App Store" : "Loja de aplicativos",
- "Loading app list" : "Carregando lista de aplicativos",
- "Loading categories" : "Carregando categorias",
- "Developer documentation ↗" : "Documentação do desenvolvedor ↗",
- "Version {version}, {license}-licensed" : "Versão {version}, licenciada por {license}",
- "Version {version}" : "Versão {version}",
- "All accounts" : "Todas as contas",
- "Admins" : "Administradores",
- "Account group: {group}" : "Grupo de contas: {group}",
- "Account management" : "Gerenciamento de contas",
"Sending…" : "Enviando...",
"Email sent" : "E-mail enviado",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Por motivos de desempenho, quando você ativa a criptografia em um servidor Nextcloud, somente os arquivos novos e alterados são criptografados.",
@@ -795,6 +511,7 @@
"Date of birth" : "Data de nascimento",
"Full name" : "Nome completo",
"Additional email" : "E-mail adicional ",
+ "Email" : "E-mail",
"Fediverse (e.g. Mastodon)" : "Fediverso (p. ex. Mastodon)",
"Headline" : "Título",
"Organisation" : "Organização",
@@ -804,6 +521,7 @@
"X (formerly Twitter)" : "X (anteriormente Twitter)",
"Website" : "Website",
"Profile visibility" : "Visibilidade do perfil",
+ "Language" : "Idioma",
"Locale" : "Configuração regional",
"First day of week" : "Primeiro dia da semana",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Não disponível porque esta propriedade é necessária para a funcionalidade principal, incluindo compartilhamento de arquivos e convites de calendário",
@@ -821,6 +539,7 @@
"Show to logged in accounts only" : "Mostrar apenas para contas logadas",
"Hide" : "Ocultar",
"Manually installed apps cannot be updated" : "Aplicativos instalados manualmente não podem ser atualizados",
+ "Update to {version}" : "Atualizar para {version}",
"{progress}% Deploying …" : "{progress}% Implantando …",
"{progress}% Initializing …" : "{progress}% Inicializando …",
"Health checking" : "Verificação de saúde",
@@ -830,6 +549,7 @@
"Allow untested app" : "Permitir aplicativo não testado",
"The app will be downloaded from the App Store" : "O aplicativo será baixado da Loja de Aplicativos",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Este aplicativo não está marcado como compatível com sua versão do Nextcloud. Se você continuar, ainda poderá instalar o aplicativo mas poderá não funcionar como esperado.",
+ "{size} used" : "{size} usado",
"Unknown" : "Desconhecido",
"Never" : "Nunca",
"Could not register device: Network error" : "Não foi possível registrar o dispositivo: Erro de rede",
@@ -848,8 +568,10 @@
"Could not set group sorting" : "Não foi possível definir a classificação de grupo",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Houve muitas solicitações de sua rede. Tente novamente mais tarde ou entre em contato com o administrador se isso for um erro.",
"Error" : "Erro",
+ "Default quota" : "Cota padrão",
"Account documentation" : "Documentação da conta",
"Administration documentation" : "Documentação de administração",
+ "Documentation" : "Documentação",
"Forum" : "Fórum",
"Nextcloud help & privacy resources" : "Ajuda & recursos de privacidade do Nextcloud",
"General documentation" : "Documentação geral",
@@ -872,6 +594,7 @@
"SMTP Password" : "Senha SMTP",
"Save" : "Salvar",
"Test and verify email settings" : "Testar e verificar as configurações de e-mail",
+ "Send email" : "Enviar e-mail",
"Security & setup warnings" : "Segurança & avisos de configuração",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Para segurança e desempenho da sua instalação é importante que tudo esteja configurado corretamente. Para ajudá-lo com isso, estamos fazendo algumas verificações automáticas. Consulte a documentação para mais informações.",
"All checks passed." : "Todas as verificações passaram.",
@@ -897,11 +620,8 @@
"The PHP memory limit is below the recommended value of %s." : "O limite de memória do PHP está abaixo do valor recomendado de %s.",
"for WebAuthn passwordless login" : "para login sem senha via WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "para login sem senha via WebAuthn e armazenamento SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- O cabeçalho HTTP `%1$s` não contém `%2$s`. Este é um possível risco à segurança ou à privacidade, portanto, é recomendável ajustar esta configuração de acordo.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Versão do PostgreSQL \"%s\" detectada. PostgreSQL >=12 e <=16 é sugerido para melhor desempenho, estabilidade e funcionalidade com esta versão do Nextcloud.",
- "Set default expiration date for shares" : "Definir data de validade padrão para compartilhamentos",
- "Your biography" : "Sua biografia",
- "You are using <strong>{usage}</strong>" : "Você está usando <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Você está usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Falha ao carregar grupos de subadministradores com detalhes"
+ "Set default expiration date for shares" : "Definir data de validade padrão para compartilhamentos"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/pt_PT.js b/apps/settings/l10n/pt_PT.js
index 1cde4731f80..30385f3c85b 100644
--- a/apps/settings/l10n/pt_PT.js
+++ b/apps/settings/l10n/pt_PT.js
@@ -133,49 +133,6 @@ OC.L10N.register(
"_Update_::_Update all_" : ["Atualizar","Atualizar todos","Atualizar todos"],
"Group name" : "Nome do grupo",
"Loading" : "A carregar",
- "Type" : "Tipo",
- "Learn more" : "Conheça melhor",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descrição",
- "View in store" : "Ver na loja",
- "Visit website" : "Visitar o website",
- "Admin documentation" : "Documentação do Administrador",
- "Developer documentation" : "Documentação de Programador",
- "Details" : "Detalhes",
- "All" : "Todos",
- "No results" : "Sem resultados",
- "Update to {version}" : "Atualizar para {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta app não tem a versão mínima do Nextcloud atribuída. Isto será um erro no futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta app não tem a versão máxima do Nextcloud atribuída. Isto será um erro no futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicação não pode ser instalada porque as seguintes dependências não podem ser realizadas:",
- "Author" : "Autor",
- "Categories" : "Categorias",
- "Resources" : "Recursos",
- "Documentation" : "Documentação",
- "Interact" : "Interagir",
- "Report a bug" : "Reportar um erro",
- "Request feature" : "Pedir funcionalidade",
- "Ask questions or discuss" : "Perguntar ou discutir",
- "Rate" : "Classificar",
- "Changelog" : "Registo de alterações",
- "Google Chrome for Android" : "Google Chrome para Android",
- "Sync client" : "Sincronizar cliente",
- "This session" : "Esta sessão",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device settings" : "Definições de dispositivo",
- "Allow filesystem access" : "Permitir acesso ao sistema de ficheiros",
- "Rename" : "Renomear",
- "Revoke" : "Revogar",
- "Wipe device" : "Apagar dispositivo",
- "Device" : "Dispositivo",
- "Last activity" : "Última atividade",
- "Devices & sessions" : "Sessões e dispositivos",
- "Web, desktop and mobile clients currently logged in to your account." : "Os clientes da Web, de PC e móveis estão atualmente autenticados na sua conta.",
- "Error while creating device token" : "Erro durante a criação do token do dispositivo",
- "App name" : "Nome da App",
- "Create new app password" : "Criar nova palavra-passe de aplicação",
"Login" : "Iniciar Sessão",
"Password" : "Palavra-passe",
"Profile" : "Perfil",
@@ -191,75 +148,33 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Tenha em conta que a encriptação aumenta sempre o tamanho do ficheiro.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar cópias de segurança regulares dos seus dados, em caso de encriptação tenha a certeza de que faz cópia das chaves de encriptação em conjunto com os seus dados.",
"This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: quer mesmo ativar a encriptação?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Submeter",
- "Current password" : "Palavra-passe atual",
- "New password" : "Nova palavra-passe",
- "Change password" : "Alterar palavra-passe",
- "Choose your profile picture" : "Escolher imagem de perfil",
- "Please select a valid png or jpg file" : "Escolha ficheiro png ou jpg válido",
- "Error setting profile picture" : "Erro a definir imagem de perfil",
- "Error cropping profile picture" : "Erro a cortar imagem de perfil",
- "Error saving profile picture" : "Erro a guardar imagem de perfil",
- "Error removing profile picture" : "Erro a remover imagem de perfil",
- "Your profile picture" : "Imagem de perfil",
- "Upload profile picture" : "Atualização de imagem de perfil",
- "Choose profile picture from Files" : "Escolher a imagem de perfil em Ficheiros",
- "Remove profile picture" : "Remover imagem de perfil",
- "Picture provided by original account" : "Imagem fornecida pela conta original",
- "Set as profile picture" : "Definir como imagem de perfil",
- "You are a member of the following groups:" : "Membro dos seguintes grupos:",
- "Your full name" : "Nome completo",
- "Email options" : "Opções de correio eletrónico",
- "Remove primary email" : "Remoção de correio eletrónico principal",
- "Delete email" : "Apagar correio eletrónico",
- "Unset as primary email" : "Remove atribuição de correio eletrónico como principal",
- "No email address set" : "Nenhum endereço de email estabelecido",
- "Help translate" : "Ajude a traduzir",
- "Your phone number" : "O seu número de telefone",
- "Add" : "Adicionar",
- "Create" : "Criar",
- "Change" : "Mudar",
- "Delete" : "Apagar",
- "Reshare" : "Partilhar novamente",
- "Display name" : "Nome de apresentação",
- "Email" : "Email",
- "Quota" : "Quota",
- "Language" : "Idioma",
- "Total rows summary" : "Resumo do total de linhas",
- "Avatar" : "Avatar",
- "Account name" : "Nome da conta",
- "Group admin for" : "Administrador de grupo para",
- "Storage location" : "Localização do armazenamento",
- "Last login" : "Último início de sessão",
- "{size} used" : "{size} utilizado",
- "Done" : "Concluído",
- "Edit" : "Editar",
- "Visibility" : "Visibilidade",
- "Show last login" : "Mostrar último início de sessão",
- "Send email" : "Enviar email",
- "Default quota" : "Quota padrão",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador pode afinar o comportamento de partilha. Por favor veja a documentação para mais informação.",
- "Admins" : "Administrador",
"Sending…" : "A enviar...",
"Email sent" : "Mensagem de correio eletrónico enviada",
"Location" : "Localização",
"Profile picture" : "Foto do perfil",
"About" : "Sobre",
"Full name" : "Nome completo",
+ "Email" : "Email",
"Headline" : "Título ",
"Organisation" : "Organização",
"Phone number" : "Número de telefone",
"Role" : "Função",
"Website" : "Website",
+ "Language" : "Idioma",
"Your apps" : "As suas apps",
"Disabled apps" : "Apps desativadas",
"Updates" : "Atualizações",
"App bundles" : "Pacotes de apps",
"Featured apps" : "Aplicações principais",
"Hide" : "Ocultar",
+ "Update to {version}" : "Atualizar para {version}",
"Download and enable" : "Transferir e ativar",
"Disable" : "Desativar",
"The app will be downloaded from the App Store" : "A aplicação será transferida da App Store",
+ "{size} used" : "{size} utilizado",
"Unknown" : "Desconhecido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "A aplicação foi ativada mas necessita ser atualizada. Irá ser redirecionado para a página de atualização em 5 segundos.",
@@ -267,6 +182,8 @@ OC.L10N.register(
"Confirm wipe" : "Confirmação de limpeza",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Foram efetuados demasiados pedidos a partir da sua rede. Tente mais tarde ou contacte o administrador se for um erro.",
"Error" : "Erro",
+ "Default quota" : "Quota padrão",
+ "Documentation" : "Documentação",
"Forum" : "Fórum",
"Legal notice" : "Informação legal",
"Privacy policy" : "Política de privacidade",
@@ -283,13 +200,13 @@ OC.L10N.register(
"Credentials" : "Credenciais",
"SMTP Password" : "Palavra-passe SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar email",
"Security & setup warnings" : "Avisos de configuração e segurança",
"All checks passed." : "Todas as verificações passaram.",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desenvolvido pela [communityopen]Comunidade Nextcloud[linkclose]. O [githubcode]código fonte[/linkclose] está licenciado sob [licenseopen]AGPL[linkclose].",
"Like our Facebook page" : "Deixe um Gosto na nossa página do Facebook",
"Check out our blog" : "Veja o nosso blog",
"Subscribe to our newsletter" : "Subscreva as nossas notícias",
- "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Este lançamento comunitário do Nextcloud não é compatível e as notificações instantâneas não estão disponíveis.",
- "Your biography" : "Biografia"
+ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Este lançamento comunitário do Nextcloud não é compatível e as notificações instantâneas não estão disponíveis."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/settings/l10n/pt_PT.json b/apps/settings/l10n/pt_PT.json
index 9cb5d408aa4..91077199099 100644
--- a/apps/settings/l10n/pt_PT.json
+++ b/apps/settings/l10n/pt_PT.json
@@ -131,49 +131,6 @@
"_Update_::_Update all_" : ["Atualizar","Atualizar todos","Atualizar todos"],
"Group name" : "Nome do grupo",
"Loading" : "A carregar",
- "Type" : "Tipo",
- "Learn more" : "Conheça melhor",
- "Confirm" : "Confirmar",
- "Cancel" : "Cancelar",
- "Description" : "Descrição",
- "View in store" : "Ver na loja",
- "Visit website" : "Visitar o website",
- "Admin documentation" : "Documentação do Administrador",
- "Developer documentation" : "Documentação de Programador",
- "Details" : "Detalhes",
- "All" : "Todos",
- "No results" : "Sem resultados",
- "Update to {version}" : "Atualizar para {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Esta app não tem a versão mínima do Nextcloud atribuída. Isto será um erro no futuro.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Esta app não tem a versão máxima do Nextcloud atribuída. Isto será um erro no futuro.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicação não pode ser instalada porque as seguintes dependências não podem ser realizadas:",
- "Author" : "Autor",
- "Categories" : "Categorias",
- "Resources" : "Recursos",
- "Documentation" : "Documentação",
- "Interact" : "Interagir",
- "Report a bug" : "Reportar um erro",
- "Request feature" : "Pedir funcionalidade",
- "Ask questions or discuss" : "Perguntar ou discutir",
- "Rate" : "Classificar",
- "Changelog" : "Registo de alterações",
- "Google Chrome for Android" : "Google Chrome para Android",
- "Sync client" : "Sincronizar cliente",
- "This session" : "Esta sessão",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device settings" : "Definições de dispositivo",
- "Allow filesystem access" : "Permitir acesso ao sistema de ficheiros",
- "Rename" : "Renomear",
- "Revoke" : "Revogar",
- "Wipe device" : "Apagar dispositivo",
- "Device" : "Dispositivo",
- "Last activity" : "Última atividade",
- "Devices & sessions" : "Sessões e dispositivos",
- "Web, desktop and mobile clients currently logged in to your account." : "Os clientes da Web, de PC e móveis estão atualmente autenticados na sua conta.",
- "Error while creating device token" : "Erro durante a criação do token do dispositivo",
- "App name" : "Nome da App",
- "Create new app password" : "Criar nova palavra-passe de aplicação",
"Login" : "Iniciar Sessão",
"Password" : "Palavra-passe",
"Profile" : "Perfil",
@@ -189,75 +146,33 @@
"Be aware that encryption always increases the file size." : "Tenha em conta que a encriptação aumenta sempre o tamanho do ficheiro.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar cópias de segurança regulares dos seus dados, em caso de encriptação tenha a certeza de que faz cópia das chaves de encriptação em conjunto com os seus dados.",
"This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: quer mesmo ativar a encriptação?",
+ "Cancel" : "Cancelar",
+ "Confirm" : "Confirmar",
"Submit" : "Submeter",
- "Current password" : "Palavra-passe atual",
- "New password" : "Nova palavra-passe",
- "Change password" : "Alterar palavra-passe",
- "Choose your profile picture" : "Escolher imagem de perfil",
- "Please select a valid png or jpg file" : "Escolha ficheiro png ou jpg válido",
- "Error setting profile picture" : "Erro a definir imagem de perfil",
- "Error cropping profile picture" : "Erro a cortar imagem de perfil",
- "Error saving profile picture" : "Erro a guardar imagem de perfil",
- "Error removing profile picture" : "Erro a remover imagem de perfil",
- "Your profile picture" : "Imagem de perfil",
- "Upload profile picture" : "Atualização de imagem de perfil",
- "Choose profile picture from Files" : "Escolher a imagem de perfil em Ficheiros",
- "Remove profile picture" : "Remover imagem de perfil",
- "Picture provided by original account" : "Imagem fornecida pela conta original",
- "Set as profile picture" : "Definir como imagem de perfil",
- "You are a member of the following groups:" : "Membro dos seguintes grupos:",
- "Your full name" : "Nome completo",
- "Email options" : "Opções de correio eletrónico",
- "Remove primary email" : "Remoção de correio eletrónico principal",
- "Delete email" : "Apagar correio eletrónico",
- "Unset as primary email" : "Remove atribuição de correio eletrónico como principal",
- "No email address set" : "Nenhum endereço de email estabelecido",
- "Help translate" : "Ajude a traduzir",
- "Your phone number" : "O seu número de telefone",
- "Add" : "Adicionar",
- "Create" : "Criar",
- "Change" : "Mudar",
- "Delete" : "Apagar",
- "Reshare" : "Partilhar novamente",
- "Display name" : "Nome de apresentação",
- "Email" : "Email",
- "Quota" : "Quota",
- "Language" : "Idioma",
- "Total rows summary" : "Resumo do total de linhas",
- "Avatar" : "Avatar",
- "Account name" : "Nome da conta",
- "Group admin for" : "Administrador de grupo para",
- "Storage location" : "Localização do armazenamento",
- "Last login" : "Último início de sessão",
- "{size} used" : "{size} utilizado",
- "Done" : "Concluído",
- "Edit" : "Editar",
- "Visibility" : "Visibilidade",
- "Show last login" : "Mostrar último início de sessão",
- "Send email" : "Enviar email",
- "Default quota" : "Quota padrão",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador pode afinar o comportamento de partilha. Por favor veja a documentação para mais informação.",
- "Admins" : "Administrador",
"Sending…" : "A enviar...",
"Email sent" : "Mensagem de correio eletrónico enviada",
"Location" : "Localização",
"Profile picture" : "Foto do perfil",
"About" : "Sobre",
"Full name" : "Nome completo",
+ "Email" : "Email",
"Headline" : "Título ",
"Organisation" : "Organização",
"Phone number" : "Número de telefone",
"Role" : "Função",
"Website" : "Website",
+ "Language" : "Idioma",
"Your apps" : "As suas apps",
"Disabled apps" : "Apps desativadas",
"Updates" : "Atualizações",
"App bundles" : "Pacotes de apps",
"Featured apps" : "Aplicações principais",
"Hide" : "Ocultar",
+ "Update to {version}" : "Atualizar para {version}",
"Download and enable" : "Transferir e ativar",
"Disable" : "Desativar",
"The app will be downloaded from the App Store" : "A aplicação será transferida da App Store",
+ "{size} used" : "{size} utilizado",
"Unknown" : "Desconhecido",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "A aplicação foi ativada mas necessita ser atualizada. Irá ser redirecionado para a página de atualização em 5 segundos.",
@@ -265,6 +180,8 @@
"Confirm wipe" : "Confirmação de limpeza",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Foram efetuados demasiados pedidos a partir da sua rede. Tente mais tarde ou contacte o administrador se for um erro.",
"Error" : "Erro",
+ "Default quota" : "Quota padrão",
+ "Documentation" : "Documentação",
"Forum" : "Fórum",
"Legal notice" : "Informação legal",
"Privacy policy" : "Política de privacidade",
@@ -281,13 +198,13 @@
"Credentials" : "Credenciais",
"SMTP Password" : "Palavra-passe SMTP",
"Save" : "Guardar",
+ "Send email" : "Enviar email",
"Security & setup warnings" : "Avisos de configuração e segurança",
"All checks passed." : "Todas as verificações passaram.",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desenvolvido pela [communityopen]Comunidade Nextcloud[linkclose]. O [githubcode]código fonte[/linkclose] está licenciado sob [licenseopen]AGPL[linkclose].",
"Like our Facebook page" : "Deixe um Gosto na nossa página do Facebook",
"Check out our blog" : "Veja o nosso blog",
"Subscribe to our newsletter" : "Subscreva as nossas notícias",
- "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Este lançamento comunitário do Nextcloud não é compatível e as notificações instantâneas não estão disponíveis.",
- "Your biography" : "Biografia"
+ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Este lançamento comunitário do Nextcloud não é compatível e as notificações instantâneas não estão disponíveis."
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ro.js b/apps/settings/l10n/ro.js
index 0357adbac64..e3e2989988b 100644
--- a/apps/settings/l10n/ro.js
+++ b/apps/settings/l10n/ro.js
@@ -146,41 +146,6 @@ OC.L10N.register(
"Actions" : "Acțiuni",
"No apps found for your version" : "Nu au fost găsite aplicații pentru versiunea ta",
"Group name" : "Numele grupului",
- "Type" : "Tip",
- "Learn more" : "Află mai mult",
- "Confirm" : "Confirmă",
- "Cancel" : "Anulare",
- "Description" : "Descriere",
- "View in store" : "Vezi în magazin",
- "Visit website" : "Viziteaza pagina web",
- "Admin documentation" : "Documentație pentru administrare",
- "Developer documentation" : "Documentație pentru dezvoltatori",
- "Details" : "Detalii",
- "All" : "Toate ",
- "No results" : "Niciun rezultat",
- "Update to {version}" : "Actualizare la {version}",
- "Author" : "Autor",
- "Categories" : "Categori",
- "Resources" : "Resurse",
- "Documentation" : "Documentație",
- "Interact" : "Interacționați",
- "Report a bug" : "Raportează un defect",
- "Request feature" : "Solicitare funcționalități",
- "Ask questions or discuss" : "Puneți întrebări sau participați la discuții",
- "Changelog" : "Listă modificări",
- "Google Chrome for Android" : "Google Chrome for Android",
- "This session" : "Această sesiune",
- "Device settings" : "Setările dispozitivului",
- "Allow filesystem access" : "Permite accesul la fișierele de sistem",
- "Rename" : "Redenumește",
- "Revoke" : "Revocă",
- "Device" : "Dispozitiv",
- "Last activity" : "Ultima activitate",
- "Devices & sessions" : "Dispozitive și sesiuni",
- "Web, desktop and mobile clients currently logged in to your account." : "Clienții web, desktop și mobil conectați în prezent la contul dvs.",
- "Error while creating device token" : "Eroare la crearea token-ului de dispozitiv",
- "App name" : "Numele aplicației",
- "Create new app password" : "Crează o nouă parolă pentru aplicație",
"Login" : "Autentificare",
"Password" : "Parolă",
"Password confirmation is required" : "Confirmarea parolei este necesară",
@@ -190,55 +155,30 @@ OC.L10N.register(
"Enable encryption" : "Activează criptarea",
"Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Criptarea, ca unică variantă, nu garantează securitatea sistemului. Consultați documentația pentru mai multe informații despre cum funcționează aplicația de criptare și variantele de utilizare acceptate.",
"This is the final warning: Do you really want to enable encryption?" : "Aceasta este avertizarea finală: Chiar vrei să activezi criptarea?",
+ "Cancel" : "Anulare",
+ "Confirm" : "Confirmă",
"Submit" : "Trimite",
- "Current password" : "Parola curentă",
- "New password" : "Noua parolă",
- "Change password" : "Schimbă parola",
- "No email address set" : "Fără adresă de email setată",
- "Help translate" : "Ajută la traducere",
- "Your phone number" : "Numărul tău de telefon",
- "Add" : "Adaugă",
- "Create" : "Creează",
- "Change" : "Schimbă",
- "Delete" : "Șterge",
- "Reshare" : "Redistribuiți",
- "Default language" : "Limba implicită",
- "Display name" : "Nume afișat",
- "Email" : "Email",
- "Quota" : "Cotă",
- "Language" : "Limba",
- "Total rows summary" : "Rezumat total rânduri",
- "Avatar" : "Avatar",
- "Last login" : "Ultima autentificare",
- "{size} used" : "{size} folosită",
- "Done" : "Realizat",
- "Edit" : "Editează",
- "Visibility" : "Vizibil",
- "Show last login" : "Arată ultima autentificare",
- "Send email" : "Expediază mesajul",
- "Server error while trying to complete WebAuthn device registration" : "Eroare de server în timpul încercării de a finaliza înregistrarea dispozitivului WebAuthn",
- "Add WebAuthn device" : "Adăugați dispozitivul WebAuthn",
- "Adding your device …" : "Adăugarea dispozitivului dvs ...",
- "Unnamed device" : "Dispozitiv fără nume",
- "Your browser does not support WebAuthn." : "Browserul dvs. nu acceptă WebAuthn.",
- "Admins" : "Administratori",
"Sending…" : "Se trimite...",
"Email sent" : "Mesajul a fost expediat",
"Location" : "Locație",
"Profile picture" : "Imagine de profil",
"About" : "Despre",
"Full name" : "Nume complet",
+ "Email" : "Email",
"Headline" : "Titlu",
"Organisation" : "Organizație",
"Phone number" : "Număr telefon",
"Role" : "Rol",
"Website" : "Site web",
+ "Language" : "Limba",
"Your apps" : "Aplicațiile tale",
"Disabled apps" : "Aplicații inactive",
"Updates" : "Actualizări",
"Featured apps" : "Aplicații recomandate",
"Hide" : "Ascunde",
+ "Update to {version}" : "Actualizare la {version}",
"Disable" : "Dezactivați",
+ "{size} used" : "{size} folosită",
"Unknown" : "Necunoscut",
"Never" : "Niciodată",
"Do you really want to wipe your data from this device?" : "Chiar doriți să vă ștergeți datele de pe acest dispozitiv?",
@@ -248,6 +188,7 @@ OC.L10N.register(
"Error while updating device token scope" : "Eroare la actualizarea domeniului de aplicare a token-ului de dispozitiv",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Prea multe cereri din această rețea. Încercați mai târziu sau contactați administratorul.",
"Error" : "Eroare",
+ "Documentation" : "Documentație",
"Forum" : "Forum",
"Legal notice" : "Aviz juridic",
"SSL" : "SSL",
@@ -262,6 +203,7 @@ OC.L10N.register(
"Credentials" : "Detalii de autentificare",
"SMTP Password" : "Parolă SMTP",
"Save" : "Salvează",
+ "Send email" : "Expediază mesajul",
"Security & setup warnings" : "Alerte de securitate & configurare",
"All checks passed." : "Toate verificările s-au terminat fără erori.",
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Această versiune comunitară a Nextcloud nu este suportată, iar notificările instantanee nu sunt disponibile."
diff --git a/apps/settings/l10n/ro.json b/apps/settings/l10n/ro.json
index 04560361dbc..2a88dff6d1b 100644
--- a/apps/settings/l10n/ro.json
+++ b/apps/settings/l10n/ro.json
@@ -144,41 +144,6 @@
"Actions" : "Acțiuni",
"No apps found for your version" : "Nu au fost găsite aplicații pentru versiunea ta",
"Group name" : "Numele grupului",
- "Type" : "Tip",
- "Learn more" : "Află mai mult",
- "Confirm" : "Confirmă",
- "Cancel" : "Anulare",
- "Description" : "Descriere",
- "View in store" : "Vezi în magazin",
- "Visit website" : "Viziteaza pagina web",
- "Admin documentation" : "Documentație pentru administrare",
- "Developer documentation" : "Documentație pentru dezvoltatori",
- "Details" : "Detalii",
- "All" : "Toate ",
- "No results" : "Niciun rezultat",
- "Update to {version}" : "Actualizare la {version}",
- "Author" : "Autor",
- "Categories" : "Categori",
- "Resources" : "Resurse",
- "Documentation" : "Documentație",
- "Interact" : "Interacționați",
- "Report a bug" : "Raportează un defect",
- "Request feature" : "Solicitare funcționalități",
- "Ask questions or discuss" : "Puneți întrebări sau participați la discuții",
- "Changelog" : "Listă modificări",
- "Google Chrome for Android" : "Google Chrome for Android",
- "This session" : "Această sesiune",
- "Device settings" : "Setările dispozitivului",
- "Allow filesystem access" : "Permite accesul la fișierele de sistem",
- "Rename" : "Redenumește",
- "Revoke" : "Revocă",
- "Device" : "Dispozitiv",
- "Last activity" : "Ultima activitate",
- "Devices & sessions" : "Dispozitive și sesiuni",
- "Web, desktop and mobile clients currently logged in to your account." : "Clienții web, desktop și mobil conectați în prezent la contul dvs.",
- "Error while creating device token" : "Eroare la crearea token-ului de dispozitiv",
- "App name" : "Numele aplicației",
- "Create new app password" : "Crează o nouă parolă pentru aplicație",
"Login" : "Autentificare",
"Password" : "Parolă",
"Password confirmation is required" : "Confirmarea parolei este necesară",
@@ -188,55 +153,30 @@
"Enable encryption" : "Activează criptarea",
"Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Criptarea, ca unică variantă, nu garantează securitatea sistemului. Consultați documentația pentru mai multe informații despre cum funcționează aplicația de criptare și variantele de utilizare acceptate.",
"This is the final warning: Do you really want to enable encryption?" : "Aceasta este avertizarea finală: Chiar vrei să activezi criptarea?",
+ "Cancel" : "Anulare",
+ "Confirm" : "Confirmă",
"Submit" : "Trimite",
- "Current password" : "Parola curentă",
- "New password" : "Noua parolă",
- "Change password" : "Schimbă parola",
- "No email address set" : "Fără adresă de email setată",
- "Help translate" : "Ajută la traducere",
- "Your phone number" : "Numărul tău de telefon",
- "Add" : "Adaugă",
- "Create" : "Creează",
- "Change" : "Schimbă",
- "Delete" : "Șterge",
- "Reshare" : "Redistribuiți",
- "Default language" : "Limba implicită",
- "Display name" : "Nume afișat",
- "Email" : "Email",
- "Quota" : "Cotă",
- "Language" : "Limba",
- "Total rows summary" : "Rezumat total rânduri",
- "Avatar" : "Avatar",
- "Last login" : "Ultima autentificare",
- "{size} used" : "{size} folosită",
- "Done" : "Realizat",
- "Edit" : "Editează",
- "Visibility" : "Vizibil",
- "Show last login" : "Arată ultima autentificare",
- "Send email" : "Expediază mesajul",
- "Server error while trying to complete WebAuthn device registration" : "Eroare de server în timpul încercării de a finaliza înregistrarea dispozitivului WebAuthn",
- "Add WebAuthn device" : "Adăugați dispozitivul WebAuthn",
- "Adding your device …" : "Adăugarea dispozitivului dvs ...",
- "Unnamed device" : "Dispozitiv fără nume",
- "Your browser does not support WebAuthn." : "Browserul dvs. nu acceptă WebAuthn.",
- "Admins" : "Administratori",
"Sending…" : "Se trimite...",
"Email sent" : "Mesajul a fost expediat",
"Location" : "Locație",
"Profile picture" : "Imagine de profil",
"About" : "Despre",
"Full name" : "Nume complet",
+ "Email" : "Email",
"Headline" : "Titlu",
"Organisation" : "Organizație",
"Phone number" : "Număr telefon",
"Role" : "Rol",
"Website" : "Site web",
+ "Language" : "Limba",
"Your apps" : "Aplicațiile tale",
"Disabled apps" : "Aplicații inactive",
"Updates" : "Actualizări",
"Featured apps" : "Aplicații recomandate",
"Hide" : "Ascunde",
+ "Update to {version}" : "Actualizare la {version}",
"Disable" : "Dezactivați",
+ "{size} used" : "{size} folosită",
"Unknown" : "Necunoscut",
"Never" : "Niciodată",
"Do you really want to wipe your data from this device?" : "Chiar doriți să vă ștergeți datele de pe acest dispozitiv?",
@@ -246,6 +186,7 @@
"Error while updating device token scope" : "Eroare la actualizarea domeniului de aplicare a token-ului de dispozitiv",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Prea multe cereri din această rețea. Încercați mai târziu sau contactați administratorul.",
"Error" : "Eroare",
+ "Documentation" : "Documentație",
"Forum" : "Forum",
"Legal notice" : "Aviz juridic",
"SSL" : "SSL",
@@ -260,6 +201,7 @@
"Credentials" : "Detalii de autentificare",
"SMTP Password" : "Parolă SMTP",
"Save" : "Salvează",
+ "Send email" : "Expediază mesajul",
"Security & setup warnings" : "Alerte de securitate & configurare",
"All checks passed." : "Toate verificările s-au terminat fără erori.",
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Această versiune comunitară a Nextcloud nu este suportată, iar notificările instantanee nu sunt disponibile."
diff --git a/apps/settings/l10n/ru.js b/apps/settings/l10n/ru.js
index 2f924db4cd6..4771fdf6796 100644
--- a/apps/settings/l10n/ru.js
+++ b/apps/settings/l10n/ru.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "Заголовки HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP-заголовок не установлен на `%2$s`. Некоторые функции могут работать некорректно, поэтому рекомендуется соответствующим образом настроить этот параметр.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP-заголовок не установлен на `%2$s`. Это потенциальный риск безопасности или конфиденциальности, поэтому рекомендуется соответствующим образом настроить этот параметр.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP-заголовок не содержит `%2$s`. Это потенциальный риск безопасности или конфиденциальности, поэтому рекомендуется соответствующим образом настроить этот параметр.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- Заголовок `%1$s` HTTP не установлен в `%2$s`, `%3$s`, `%4$s`, `%5$s` или `%6$s`. Это может привести к утечке информации о реферере. См. {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- HTTP-заголовок `Strict-Transport-Security` не установлен по крайней мере на `%d` секунд (текущее значение: `%d`). Для повышения безопасности рекомендуется использовать длинную политику HSTS.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- HTTP-заголовок `Strict-Transport-Security` имеет неверный формат: `%s`. Для повышения безопасности рекомендуется включить HSTS.",
@@ -447,97 +446,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Не удалось загрузить содержимое из магазина приложений",
"Loading" : "Загрузка",
"Fetching the latest news…" : "Получение последних новостей…",
- "Carousel" : "Карусель",
- "Previous slide" : "Предыдущий слайд",
- "Next slide" : "Следующий слайд",
- "Choose slide to display" : "Выберите слайд для показа",
- "{index} of {total}" : "{index} из {total}",
- "Daemon" : "Служба",
- "Deploy Daemon" : "Служба публикации",
- "Type" : "Тип",
- "Display Name" : "Отображаемое имя",
- "GPUs support" : "Поддержка графических процессоров",
- "Compute device" : "Вычислительное устройство",
- "Advanced deploy options" : "Расширенные возможности развертывания",
- "Edit ExApp deploy options before installation" : "Отредактируйте параметры развертывания ExApp перед установкой",
- "Configured ExApp deploy options. Can be set only during installation" : "Настроенные параметры развертывания ExApp. Можно задать только во время установки",
- "Learn more" : "Узнать больше",
- "Environment variables" : "Переменные среды",
- "ExApp container environment variables" : "Переменные среды контейнера ExApp",
- "No environment variables defined" : "Переменные среды не определены",
- "Mounts" : "Монтирования",
- "Define host folder mounts to bind to the ExApp container" : "Определите монтирование папок хоста для привязки к контейнеру ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Должен существовать на хосте демона развертывания до установки ExApp",
- "Host path" : "Путь к хосту",
- "Container path" : "Путь контейнера",
- "Read-only" : "Только для чтения",
- "Remove mount" : "Удалить монтирование",
- "New mount" : "Новое монтирование",
- "Enter path to host folder" : "Введите путь к папке хоста",
- "Enter path to container folder" : "Введите путь к папке контейнера",
- "Toggle read-only mode" : "Переключить режим «только чтение»",
- "Confirm adding new mount" : "Подтвердите добавление нового монтирования",
- "Confirm" : "Подтвердить",
- "Cancel adding mount" : "Отменить добавление монтирования",
- "Cancel" : "Отмена",
- "Add mount" : "Добавить монтирование",
- "ExApp container mounts" : "Монтирование контейнера ExApp",
- "No mounts defined" : "Монтирования не определены",
- "Description" : "Описание",
- "View in store" : "Посмотреть в магазине приложений",
- "Visit website" : "Перейти на веб-сайт",
- "Usage documentation" : "Документация по использованию",
- "Admin documentation" : "Документация для администратора",
- "Developer documentation" : "Документация для разработчиков",
- "Details" : "Подробные сведения",
- "All" : "Все",
- "Limit app usage to groups" : "Разрешить использовать приложение только участникам этих групп",
- "No results" : "Результаты отсутствуют",
- "Update to {version}" : "Обновление до {version}",
- "Deploy options" : "Варианты развертывания",
- "Default Deploy daemon is not accessible" : "Служба публикации по умолчанию недоступна",
- "Delete data on remove" : "Удалить данные при удалении",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Для этого приложения не указана минимальная поддерживаемая версия Nextcloud, в будущем это будет считаться ошибкой.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Для этого приложения не указана максимальная поддерживаемая версия Nextcloud, в будущем это будет считаться ошибкой.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Приложение не может быть установлено, следующие зависимости не удовлетворены:",
- "Latest updated" : "Недавно обновлённые",
- "Author" : "Автор",
- "Categories" : "Категории",
- "Resources" : "Ресурсы",
- "Documentation" : "Документация",
- "Interact" : "Содействовать",
- "Report a bug" : "Сообщить об ошибке",
- "Request feature" : "Запросить новую возможность",
- "Ask questions or discuss" : "Задать вопросы или обсудить",
- "Rate the app" : "Оценить приложение",
- "Rate" : "Оценка",
- "Changelog" : "Журнал изменений",
- "Google Chrome for Android" : "Google Chrome для Android",
- "{productName} iOS app" : "Приложение {productName} для iOS",
- "{productName} Android app" : "Приложение {productName} для Android",
- "{productName} Talk for iOS" : "Приложение {productName} Talk для iOS",
- "{productName} Talk for Android" : "Приложение {productName} Talk для Android",
- "Sync client" : "Приложение для синхронизации",
- "This session" : "Этот сеанс работы",
- "{client} - {version} ({system})" : "{client} — {version} ({system})",
- "{client} - {version}" : "{client} — {version}",
- "Device name" : "Название устройства",
- "Cancel renaming" : "Отменить переименование",
- "Save new name" : "Сохранить новое имя",
- "Marked for remote wipe" : "Помечено для удаления данных",
- "Device settings" : "Параметры устройства",
- "Allow filesystem access" : "Разрешить доступ к файлам",
- "Rename" : "Переименовать",
- "Revoke" : "Отозвать",
- "Wipe device" : "Удалить данные с устройства",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Отзыв токена может привести к невозможности удаления данных с устройства, если такое удаление ещё не запущено.",
- "Device" : "Устройство",
- "Last activity" : "Последние действия",
- "Devices & sessions" : "Активные устройства и сеансы",
- "Web, desktop and mobile clients currently logged in to your account." : "Веб, настольные и мобильные клиенты, которые в настоящий момент авторизованы вашей учётной записью.",
- "Error while creating device token" : "Ошибка при создании токена для устройства",
- "App name" : "Название приложения",
- "Create new app password" : "Создать пароль приложения",
"App password copied!" : "Пароль приложения скопирован.",
"Copy app password" : "Копировать пароль приложения",
"Login name copied!" : "Имя пользователя скопировано.",
@@ -591,203 +499,11 @@ OC.L10N.register(
"Failed to delete group \"{group}\"" : "Не удалось удалить группу «{group}»",
"Please confirm the group removal" : "Подтвердите удаление группы",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Вы собираетесь удалить группу «{group}». Учётные записи НЕ будут удалены.",
+ "Cancel" : "Отмена",
+ "Confirm" : "Подтвердить",
"Submit" : "Отправить ответ",
"Rename group" : "Переименовать группу",
"Delete group" : "Удалить группу",
- "Current password" : "Текущий пароль",
- "New password" : "Новый пароль",
- "Change password" : "Сменить пароль",
- "Choose your profile picture" : "Выберите изображение профиля",
- "Please select a valid png or jpg file" : "Выберите файл в формате .png и .jpg",
- "Error setting profile picture" : "Не удалось установить изображение профиля",
- "Error cropping profile picture" : "Не удалось обрезать изображение профиля",
- "Error saving profile picture" : "Не удалось сохранить изображение профиля",
- "Error removing profile picture" : "Не удалось очистить изображения профиля",
- "Your profile picture" : "Изображение профиля",
- "Upload profile picture" : "Загрузить изображение профиля",
- "Choose profile picture from Files" : "Выбрать изображение профиля из загруженных файлов",
- "Remove profile picture" : "Удалить изображение профиля",
- "The file must be a PNG or JPG" : "Файл должен быть в формате PNG или JPG",
- "Picture provided by original account" : "Изображение получено из исходной учётной записи",
- "Set as profile picture" : "Использовать как изображение профиля",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Обновление изображения профиля может занять до 24 часов.",
- "Your biography. Markdown is supported." : "Ваша биография. Markdown поддерживается.",
- "Unable to update date of birth" : "Не удалось обновить дату рождения",
- "Enter your date of birth" : "Введите дату своего рождения",
- "You are using {s}{usage}{/s}" : "Вы используете {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Вы используете {s} {usage} {/s} из {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Вы являетесь участником следующих групп:",
- "Your full name" : "Ваше полное имя",
- "Email options" : "Параметры эл. почты",
- "Options for additional email address {index}" : "Настройки для дополнительных адресов эл. почты ",
- "Remove primary email" : "Удалить основной адрес эл. почты",
- "Delete email" : "Удалить адрес эл. почты",
- "This address is not confirmed" : "Адрес не подтвержден",
- "Unset as primary email" : "Не использовать как основной адрес эл. почты",
- "Set as primary email" : "Использовать как основной адрес эл. почты",
- "Additional email address {index}" : "Дополнительные адреса эл. почты {index}",
- "Unable to delete primary email address" : "Не удалось удалить основной адрес эл. почты",
- "Unable to update primary email address" : "Не удалось изменить основной адрес эл. почты",
- "Unable to add additional email address" : "Не удалось добавить дополнительный адрес эл. почты",
- "Unable to update additional email address" : "Не удалось изменить дополнительный адрес эл. почты",
- "Unable to delete additional email address" : "Не удалось удалить дополнительный адрес эл. почты",
- "Primary email for password reset and notifications" : "Основной адрес эл. почты для сброса пароля и получения уведомлений",
- "No email address set" : "Адрес эл.почты не указан",
- "Your handle" : "Ваш дескриптор",
- "Derived from your locale ({weekDayName})" : "Зависит от вашего региона ({weekDayName})",
- "Unable to update first day of week" : "Не удалось обновить первый день недели",
- "Day to use as the first day of week" : "День для использования в качестве первого дня недели",
- "Your headline" : "Ваш заголовок",
- "Unable to update language" : "Не удалось изменить язык",
- "Languages" : "Языки",
- "Help translate" : "Помочь с переводом",
- "No language set" : "Язык не задан",
- "Unable to update locale" : "Не удалось обновить локаль",
- "Locales" : "Региональные стандарты",
- "Week starts on {firstDayOfWeek}" : "Первый день недели: {firstDayOfWeek}",
- "No locale set" : "Локаль не задана",
- "Your city" : "Ваш город",
- "Your organisation" : "Ваша организация",
- "Your phone number" : "Ваш номер телефона",
- "Edit your Profile visibility" : "Изменить видимость профиля",
- "Unable to update profile enabled state" : "Не удалось обновить состояние профиля",
- "Enable profile" : "Использовать профиль",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "В профиле устанавливаются более строгие настройки видимости или области действия. Например, если для видимости установлено значение «Видно всем», а для области действия установлено значение «Скрыто», будет использоваться значение «Скрыто».",
- "Unable to update visibility of {displayId}" : "Не удалось изменить видимость {displayId}",
- "she/her" : "она/её",
- "he/him" : "он/его",
- "they/them" : "они/их",
- "Your role" : "Ваша роль",
- "Your X (formerly Twitter) handle" : "Ваше имя в сети X (ранее — Твиттер)",
- "Your website" : "Ваш сайт",
- "Invalid value" : "Недопустимое значение",
- "Unable to update {property}" : "Не удалось обновить свойство «{property}»",
- "No {property} set" : "Свойство «{property}» не задано",
- "Change scope level of {property}, current scope is {scope}" : "Изменить уровень области {property}, текущая область - {scope}",
- "Unable to update federation scope of the primary {property}" : "Не удалось обновить область федерации основного {property}",
- "Unable to update federation scope of additional {property}" : "Не удалось обновить область федерации дополнительного {property}",
- "Add additional email" : "Добавить дополнительную электронную почту",
- "Add" : "Добавить",
- "Create" : "Создать",
- "Change" : "Изменить",
- "Delete" : "Удалить",
- "Reshare" : "Публиковать",
- "Default language" : "Язык по умолчанию",
- "Common languages" : "Основные языки",
- "Other languages" : "Другие языки",
- "Password change is disabled because the master key is disabled" : "Смена пароля невозможна при отключённом мастер-ключе",
- "No accounts" : "Не найдено ни одной учётной записи",
- "Loading accounts …" : "Загрузка учётных записей",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Список учётных записей. Этот список отображен не полностью по соображениям производительности. Учётные записи будут отображаться по мере того, как Вы будете перемещаться по списку.",
- "Manager" : "Руководитель",
- "Set line manager" : "Выбрать руководителя",
- "Account name will be autogenerated" : "Имя учётной записи будет создано автоматически",
- "Account name (required)" : "Имя учётной записи (обязательно)",
- "Failed to search groups" : "Не удалось выполнить поиск групп",
- "New account" : "Новая учётная запись",
- "Display name" : "Отображаемое имя",
- "Either password or email is required" : "Также обязательны к заполнению пароль или эл.почта",
- "Password (required)" : "Пароль (обязательно)",
- "Email (required)" : "Эл. почта (обязательно)",
- "Email" : "Адрес эл. почты",
- "Member of the following groups (required)" : "Участник следующих групп (обязательное)",
- "Member of the following groups" : "Участник следующих групп",
- "Set account groups" : "Выбрать группы учётной записи",
- "Admin of the following groups" : "Администратор следующих групп",
- "Set account as admin for …" : "Установите учетную запись в качестве администратора для …",
- "Quota" : "Квота",
- "Set account quota" : "Задать квоту для учётной записи",
- "Language" : "Язык",
- "Set default language" : "Выбрать язык по умолчанию",
- "Add new account" : "Создать учётную запись",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} учётная запись…","{userCount} учётных записи…","{userCount} учётных записей…","{userCount} учётных записи…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} учётная запись","{userCount} учётные записи","{userCount} учётных записей","{userCount} учётные записи"],
- "Total rows summary" : "Количество строк в общем",
- "Scroll to load more rows" : "Прокрутите, чтобы загрузить больше строк",
- "Password or insufficient permissions message" : "Сообщение о пароле или недостаточных разрешениях",
- "Avatar" : "Аватар",
- "Account name" : "Имя учётной записи",
- "Group admin for" : "Администратор групп",
- "Account backend" : "Механизм учёта",
- "Storage location" : "Расположение хранилища",
- "First login" : "Первый вход",
- "Last login" : "Последний вход",
- "Account actions" : "Действия над аккаунтом",
- "{size} used" : "использовано {size}",
- "Delete account" : "Удалить учётную запись",
- "Disconnect all devices and delete local data" : "Отключить все устройства и удалить локальные данные",
- "Disable account" : "Отключить учётную запись",
- "Enable account" : "Включить учётную запись",
- "Resend welcome email" : "Отправить приглашение ещё раз",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Это действие позволяет удалить все данные Nextcloud с устройств {userid}, например, в случае утери или при завершении работы сотрудника в компании. Удаление будет выполнено только если устройства подключены к интернету.",
- "Remote wipe of devices" : "Удаление данных с устройств",
- "Wipe {userid}'s devices" : "Удалить данные с устройств пользователя {userid}",
- "Wiped {userid}'s devices" : "Удалить данные с устройств пользователя {userid}",
- "Failed to load groups with details" : "Не удалось загрузить группы с подробностями",
- "Failed to load sub admin groups with details" : "Не удалось загрузить группы подчиненных администраторов с подробностями",
- "Failed to update line manager" : "Не удалось обновить линейного менеджера",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Полностью удалить все данные пользователя {userid}, в том числе учётную запись, личные файлы и данные приложений.",
- "Account deletion" : "Удаление учётной записи",
- "Delete {userid}'s account" : "Удалить учётную запись пользователя {userid}",
- "Display name was successfully changed" : "Отображаемое имя было успешно изменено",
- "Password can't be empty" : "Пароль не может быть пустым",
- "Password was successfully changed" : "Пароль был успешно изменен",
- "Email can't be empty" : "Электронная почта не может быть пустой",
- "Email was successfully changed" : "Эл. почта была успешно изменена",
- "Welcome mail sent!" : "Приглашение отправлено!",
- "Loading account …" : "Загрузка сведений об учётной записи…",
- "Change display name" : "Изменить отображаемое имя",
- "Set new password" : "Установить новый пароль",
- "You do not have permissions to see the details of this account" : "У вас нет прав на просмотр данных этой учётной записи",
- "Set new email address" : "Установить новый адрес эл. почты",
- "Add account to group" : "Добавить учётную запись в группу",
- "Set account as admin for" : "Назначить администратором",
- "Select account quota" : "Выбор квоты для учётной записи",
- "Set the language" : "Выбрать язык",
- "Toggle account actions menu" : "Переключение меню действий с учетной записью",
- "Done" : "Выполнено",
- "Edit" : "Редактирование",
- "Account management settings" : "Параметры управления учётными записями",
- "Visibility" : "Видимость",
- "Show language" : "Показывать язык",
- "Show account backend" : "Показать механизм учёта",
- "Show storage path" : "Путь хранилища",
- "Show first login" : "Показать первый вход",
- "Show last login" : "Время последнего входа в систему",
- "Sorting" : "Сортировка",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Системная конфигурация обеспечивает сортировку групп по названию. Это также отключает отображение количества участников.",
- "Group list sorting" : "Сортировка списка групп",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Сортировка применяется только к текущим загруженным группам по соображениям производительности. Группы будут загружаться по мере навигации или поиска по списку.",
- "By member count" : "По количеству участников",
- "By name" : "По имени",
- "Send email" : "Отправить сообщение",
- "Send welcome email to new accounts" : "Отправлять приветственное электронное письмо новым пользователям",
- "Defaults" : "Значения по умолчанию",
- "Default quota" : "Квота по умолчанию",
- "Select default quota" : "Квота по умолчанию",
- "Server error while trying to complete WebAuthn device registration" : "Ошибка сервера при попытке завершить регистрацию устройства WebAuthn",
- "Passwordless authentication requires a secure connection." : "Аутентификация без пароля требует безопасного соединения.",
- "Add WebAuthn device" : "Добавить устройство WebAuthn",
- "Please authorize your WebAuthn device." : "Пожалуйста, авторизуйте ваше устройство WebAuthn.",
- "Adding your device …" : "Добавление устройства…",
- "Unnamed device" : "Безымянное устройство",
- "Passwordless Authentication" : "Аутентификация без пароля",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Настройте свою учетную запись для аутентификации без пароля в соответствии со стандартом FIDO2.",
- "No devices configured." : "Устройства не настроены.",
- "The following devices are configured for your account:" : "Следующие устройства настроены для вашей учетной записи:",
- "Your browser does not support WebAuthn." : "Ваш браузер не поддерживает WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "В этом разделе администраторы могут тонко настроить поведение механизма предоставления общего доступа. Обратитесь к документации для получения дополнительной информации.",
- "You need to enable the File sharing App." : "Необходимо включить приложение публикации файлов.",
- "App Store" : "Магазин приложений",
- "Loading app list" : "Получение списка приложений",
- "Loading categories" : "Загрузка категорий",
- "Developer documentation ↗" : "Документация разработчика ↗",
- "Version {version}, {license}-licensed" : "Версия: {version}, лицензия: {license}",
- "Version {version}" : "Версия {version}",
- "All accounts" : "Все аккаунты",
- "Admins" : "Администраторы",
- "Account group: {group}" : "Группа учётных записей: {group}",
- "Account management" : "Управление учётными записями",
"Sending…" : "Отправка…",
"Email sent" : "Письмо отправлено",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "В целях повышения производительности при включении шифрования на сервере Nextcloud шифруются только новые и измененные файлы.",
@@ -797,6 +513,7 @@ OC.L10N.register(
"Date of birth" : "Дата рождения",
"Full name" : "Полное имя",
"Additional email" : "Доп. адрес эл. почты",
+ "Email" : "Адрес эл. почты",
"Fediverse (e.g. Mastodon)" : "Федерации (например, Mastodon)",
"Headline" : "Заголовок",
"Organisation" : "Организация",
@@ -806,6 +523,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (ранее Твиттер)",
"Website" : "Адрес сайта",
"Profile visibility" : "Видимость профиля",
+ "Language" : "Язык",
"Locale" : "Региональные стандарты",
"First day of week" : "Первый день недели",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Заданный параметр не может быть использован, так как его используют основные функции, такие как совместный доступ к файлам и приглашения к событиям из календаря",
@@ -823,6 +541,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Только для вошедших в систему",
"Hide" : "Скрыт",
"Manually installed apps cannot be updated" : "Приложения, установленные вручную, не могут быть обновлены.",
+ "Update to {version}" : "Обновление до {version}",
"{progress}% Deploying …" : "{progress} % Развертывание…",
"{progress}% Initializing …" : "{progress}% Инициализация…",
"Health checking" : "Проверка здоровья",
@@ -832,6 +551,7 @@ OC.L10N.register(
"Allow untested app" : "Разрешить непроверенное приложение",
"The app will be downloaded from the App Store" : "Приложение будет скачано из магазина приложений",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Это приложение не отмечено как совместимое с вашей версией Nextcloud. Если вы продолжите, вы сможете установить это приложение, однако оно может работать не так, как ожидается.",
+ "{size} used" : "использовано {size}",
"Unknown" : "Неизвестно",
"Never" : "Никогда",
"Could not register device: Network error" : "Не удалось зарегистрировать устройство: ошибка сети",
@@ -850,8 +570,10 @@ OC.L10N.register(
"Could not set group sorting" : "Не удалось настроить сортировку групп",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Превышено количество запросов из вашей сети. Попробуйте позднее или сообщите администратору об этой ошибке.",
"Error" : "Ошибка",
+ "Default quota" : "Квота по умолчанию",
"Account documentation" : "Учетная документация",
"Administration documentation" : "Документация администратора",
+ "Documentation" : "Документация",
"Forum" : "Форум",
"Nextcloud help & privacy resources" : "Справочные ресурсы Nexcloud и руководства по безопасности",
"General documentation" : "Основная документация",
@@ -874,6 +596,7 @@ OC.L10N.register(
"SMTP Password" : "Пароль SMTP",
"Save" : "Сохранить",
"Test and verify email settings" : "Проверить параметры эл. почты",
+ "Send email" : "Отправить сообщение",
"Security & setup warnings" : "Проверка безопасности и параметров",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Для обеспечения безопасности и производительности важно, чтобы всё было настроено правильно. Чтобы убедиться в этом, мы выполняем некоторые автоматические проверки. Для получения дополнительной информации обратитесь к соответствующему разделу документации.",
"All checks passed." : "Все проверки пройдены.",
@@ -899,11 +622,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "Разрешённое максимальное значение использования памяти PHP ниже рекомендуемого значения %s.",
"for WebAuthn passwordless login" : "для входа без использования пароля по протоколу WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "для входа в систему без пароля WebAuthn и хранения данных по протоколу SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP-заголовок не содержит `%2$s`. Это потенциальный риск безопасности или конфиденциальности, поэтому рекомендуется соответствующим образом настроить этот параметр.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Обнаружена версия PostgreSQL \"%s\". Для лучшей производительности, стабильности и функциональности с этой версией Nextcloud рекомендуется использовать PostgreSQL >=12 и <=16.",
- "Set default expiration date for shares" : "Установить срок действия общего доступа по умолчанию",
- "Your biography" : "Ваша биография",
- "You are using <strong>{usage}</strong>" : "Вы используете <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Вы используете <strong>{usage}</strong> из <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Не удалось загрузить группы субадминистраторов с подробностями"
+ "Set default expiration date for shares" : "Установить срок действия общего доступа по умолчанию"
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/settings/l10n/ru.json b/apps/settings/l10n/ru.json
index fbac86a5f61..84d72ad7719 100644
--- a/apps/settings/l10n/ru.json
+++ b/apps/settings/l10n/ru.json
@@ -294,7 +294,6 @@
"HTTP headers" : "Заголовки HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP-заголовок не установлен на `%2$s`. Некоторые функции могут работать некорректно, поэтому рекомендуется соответствующим образом настроить этот параметр.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP-заголовок не установлен на `%2$s`. Это потенциальный риск безопасности или конфиденциальности, поэтому рекомендуется соответствующим образом настроить этот параметр.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP-заголовок не содержит `%2$s`. Это потенциальный риск безопасности или конфиденциальности, поэтому рекомендуется соответствующим образом настроить этот параметр.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- Заголовок `%1$s` HTTP не установлен в `%2$s`, `%3$s`, `%4$s`, `%5$s` или `%6$s`. Это может привести к утечке информации о реферере. См. {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- HTTP-заголовок `Strict-Transport-Security` не установлен по крайней мере на `%d` секунд (текущее значение: `%d`). Для повышения безопасности рекомендуется использовать длинную политику HSTS.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- HTTP-заголовок `Strict-Transport-Security` имеет неверный формат: `%s`. Для повышения безопасности рекомендуется включить HSTS.",
@@ -445,97 +444,6 @@
"Could not load section content from app store." : "Не удалось загрузить содержимое из магазина приложений",
"Loading" : "Загрузка",
"Fetching the latest news…" : "Получение последних новостей…",
- "Carousel" : "Карусель",
- "Previous slide" : "Предыдущий слайд",
- "Next slide" : "Следующий слайд",
- "Choose slide to display" : "Выберите слайд для показа",
- "{index} of {total}" : "{index} из {total}",
- "Daemon" : "Служба",
- "Deploy Daemon" : "Служба публикации",
- "Type" : "Тип",
- "Display Name" : "Отображаемое имя",
- "GPUs support" : "Поддержка графических процессоров",
- "Compute device" : "Вычислительное устройство",
- "Advanced deploy options" : "Расширенные возможности развертывания",
- "Edit ExApp deploy options before installation" : "Отредактируйте параметры развертывания ExApp перед установкой",
- "Configured ExApp deploy options. Can be set only during installation" : "Настроенные параметры развертывания ExApp. Можно задать только во время установки",
- "Learn more" : "Узнать больше",
- "Environment variables" : "Переменные среды",
- "ExApp container environment variables" : "Переменные среды контейнера ExApp",
- "No environment variables defined" : "Переменные среды не определены",
- "Mounts" : "Монтирования",
- "Define host folder mounts to bind to the ExApp container" : "Определите монтирование папок хоста для привязки к контейнеру ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Должен существовать на хосте демона развертывания до установки ExApp",
- "Host path" : "Путь к хосту",
- "Container path" : "Путь контейнера",
- "Read-only" : "Только для чтения",
- "Remove mount" : "Удалить монтирование",
- "New mount" : "Новое монтирование",
- "Enter path to host folder" : "Введите путь к папке хоста",
- "Enter path to container folder" : "Введите путь к папке контейнера",
- "Toggle read-only mode" : "Переключить режим «только чтение»",
- "Confirm adding new mount" : "Подтвердите добавление нового монтирования",
- "Confirm" : "Подтвердить",
- "Cancel adding mount" : "Отменить добавление монтирования",
- "Cancel" : "Отмена",
- "Add mount" : "Добавить монтирование",
- "ExApp container mounts" : "Монтирование контейнера ExApp",
- "No mounts defined" : "Монтирования не определены",
- "Description" : "Описание",
- "View in store" : "Посмотреть в магазине приложений",
- "Visit website" : "Перейти на веб-сайт",
- "Usage documentation" : "Документация по использованию",
- "Admin documentation" : "Документация для администратора",
- "Developer documentation" : "Документация для разработчиков",
- "Details" : "Подробные сведения",
- "All" : "Все",
- "Limit app usage to groups" : "Разрешить использовать приложение только участникам этих групп",
- "No results" : "Результаты отсутствуют",
- "Update to {version}" : "Обновление до {version}",
- "Deploy options" : "Варианты развертывания",
- "Default Deploy daemon is not accessible" : "Служба публикации по умолчанию недоступна",
- "Delete data on remove" : "Удалить данные при удалении",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Для этого приложения не указана минимальная поддерживаемая версия Nextcloud, в будущем это будет считаться ошибкой.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Для этого приложения не указана максимальная поддерживаемая версия Nextcloud, в будущем это будет считаться ошибкой.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Приложение не может быть установлено, следующие зависимости не удовлетворены:",
- "Latest updated" : "Недавно обновлённые",
- "Author" : "Автор",
- "Categories" : "Категории",
- "Resources" : "Ресурсы",
- "Documentation" : "Документация",
- "Interact" : "Содействовать",
- "Report a bug" : "Сообщить об ошибке",
- "Request feature" : "Запросить новую возможность",
- "Ask questions or discuss" : "Задать вопросы или обсудить",
- "Rate the app" : "Оценить приложение",
- "Rate" : "Оценка",
- "Changelog" : "Журнал изменений",
- "Google Chrome for Android" : "Google Chrome для Android",
- "{productName} iOS app" : "Приложение {productName} для iOS",
- "{productName} Android app" : "Приложение {productName} для Android",
- "{productName} Talk for iOS" : "Приложение {productName} Talk для iOS",
- "{productName} Talk for Android" : "Приложение {productName} Talk для Android",
- "Sync client" : "Приложение для синхронизации",
- "This session" : "Этот сеанс работы",
- "{client} - {version} ({system})" : "{client} — {version} ({system})",
- "{client} - {version}" : "{client} — {version}",
- "Device name" : "Название устройства",
- "Cancel renaming" : "Отменить переименование",
- "Save new name" : "Сохранить новое имя",
- "Marked for remote wipe" : "Помечено для удаления данных",
- "Device settings" : "Параметры устройства",
- "Allow filesystem access" : "Разрешить доступ к файлам",
- "Rename" : "Переименовать",
- "Revoke" : "Отозвать",
- "Wipe device" : "Удалить данные с устройства",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Отзыв токена может привести к невозможности удаления данных с устройства, если такое удаление ещё не запущено.",
- "Device" : "Устройство",
- "Last activity" : "Последние действия",
- "Devices & sessions" : "Активные устройства и сеансы",
- "Web, desktop and mobile clients currently logged in to your account." : "Веб, настольные и мобильные клиенты, которые в настоящий момент авторизованы вашей учётной записью.",
- "Error while creating device token" : "Ошибка при создании токена для устройства",
- "App name" : "Название приложения",
- "Create new app password" : "Создать пароль приложения",
"App password copied!" : "Пароль приложения скопирован.",
"Copy app password" : "Копировать пароль приложения",
"Login name copied!" : "Имя пользователя скопировано.",
@@ -589,203 +497,11 @@
"Failed to delete group \"{group}\"" : "Не удалось удалить группу «{group}»",
"Please confirm the group removal" : "Подтвердите удаление группы",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Вы собираетесь удалить группу «{group}». Учётные записи НЕ будут удалены.",
+ "Cancel" : "Отмена",
+ "Confirm" : "Подтвердить",
"Submit" : "Отправить ответ",
"Rename group" : "Переименовать группу",
"Delete group" : "Удалить группу",
- "Current password" : "Текущий пароль",
- "New password" : "Новый пароль",
- "Change password" : "Сменить пароль",
- "Choose your profile picture" : "Выберите изображение профиля",
- "Please select a valid png or jpg file" : "Выберите файл в формате .png и .jpg",
- "Error setting profile picture" : "Не удалось установить изображение профиля",
- "Error cropping profile picture" : "Не удалось обрезать изображение профиля",
- "Error saving profile picture" : "Не удалось сохранить изображение профиля",
- "Error removing profile picture" : "Не удалось очистить изображения профиля",
- "Your profile picture" : "Изображение профиля",
- "Upload profile picture" : "Загрузить изображение профиля",
- "Choose profile picture from Files" : "Выбрать изображение профиля из загруженных файлов",
- "Remove profile picture" : "Удалить изображение профиля",
- "The file must be a PNG or JPG" : "Файл должен быть в формате PNG или JPG",
- "Picture provided by original account" : "Изображение получено из исходной учётной записи",
- "Set as profile picture" : "Использовать как изображение профиля",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Обновление изображения профиля может занять до 24 часов.",
- "Your biography. Markdown is supported." : "Ваша биография. Markdown поддерживается.",
- "Unable to update date of birth" : "Не удалось обновить дату рождения",
- "Enter your date of birth" : "Введите дату своего рождения",
- "You are using {s}{usage}{/s}" : "Вы используете {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Вы используете {s} {usage} {/s} из {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Вы являетесь участником следующих групп:",
- "Your full name" : "Ваше полное имя",
- "Email options" : "Параметры эл. почты",
- "Options for additional email address {index}" : "Настройки для дополнительных адресов эл. почты ",
- "Remove primary email" : "Удалить основной адрес эл. почты",
- "Delete email" : "Удалить адрес эл. почты",
- "This address is not confirmed" : "Адрес не подтвержден",
- "Unset as primary email" : "Не использовать как основной адрес эл. почты",
- "Set as primary email" : "Использовать как основной адрес эл. почты",
- "Additional email address {index}" : "Дополнительные адреса эл. почты {index}",
- "Unable to delete primary email address" : "Не удалось удалить основной адрес эл. почты",
- "Unable to update primary email address" : "Не удалось изменить основной адрес эл. почты",
- "Unable to add additional email address" : "Не удалось добавить дополнительный адрес эл. почты",
- "Unable to update additional email address" : "Не удалось изменить дополнительный адрес эл. почты",
- "Unable to delete additional email address" : "Не удалось удалить дополнительный адрес эл. почты",
- "Primary email for password reset and notifications" : "Основной адрес эл. почты для сброса пароля и получения уведомлений",
- "No email address set" : "Адрес эл.почты не указан",
- "Your handle" : "Ваш дескриптор",
- "Derived from your locale ({weekDayName})" : "Зависит от вашего региона ({weekDayName})",
- "Unable to update first day of week" : "Не удалось обновить первый день недели",
- "Day to use as the first day of week" : "День для использования в качестве первого дня недели",
- "Your headline" : "Ваш заголовок",
- "Unable to update language" : "Не удалось изменить язык",
- "Languages" : "Языки",
- "Help translate" : "Помочь с переводом",
- "No language set" : "Язык не задан",
- "Unable to update locale" : "Не удалось обновить локаль",
- "Locales" : "Региональные стандарты",
- "Week starts on {firstDayOfWeek}" : "Первый день недели: {firstDayOfWeek}",
- "No locale set" : "Локаль не задана",
- "Your city" : "Ваш город",
- "Your organisation" : "Ваша организация",
- "Your phone number" : "Ваш номер телефона",
- "Edit your Profile visibility" : "Изменить видимость профиля",
- "Unable to update profile enabled state" : "Не удалось обновить состояние профиля",
- "Enable profile" : "Использовать профиль",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "В профиле устанавливаются более строгие настройки видимости или области действия. Например, если для видимости установлено значение «Видно всем», а для области действия установлено значение «Скрыто», будет использоваться значение «Скрыто».",
- "Unable to update visibility of {displayId}" : "Не удалось изменить видимость {displayId}",
- "she/her" : "она/её",
- "he/him" : "он/его",
- "they/them" : "они/их",
- "Your role" : "Ваша роль",
- "Your X (formerly Twitter) handle" : "Ваше имя в сети X (ранее — Твиттер)",
- "Your website" : "Ваш сайт",
- "Invalid value" : "Недопустимое значение",
- "Unable to update {property}" : "Не удалось обновить свойство «{property}»",
- "No {property} set" : "Свойство «{property}» не задано",
- "Change scope level of {property}, current scope is {scope}" : "Изменить уровень области {property}, текущая область - {scope}",
- "Unable to update federation scope of the primary {property}" : "Не удалось обновить область федерации основного {property}",
- "Unable to update federation scope of additional {property}" : "Не удалось обновить область федерации дополнительного {property}",
- "Add additional email" : "Добавить дополнительную электронную почту",
- "Add" : "Добавить",
- "Create" : "Создать",
- "Change" : "Изменить",
- "Delete" : "Удалить",
- "Reshare" : "Публиковать",
- "Default language" : "Язык по умолчанию",
- "Common languages" : "Основные языки",
- "Other languages" : "Другие языки",
- "Password change is disabled because the master key is disabled" : "Смена пароля невозможна при отключённом мастер-ключе",
- "No accounts" : "Не найдено ни одной учётной записи",
- "Loading accounts …" : "Загрузка учётных записей",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Список учётных записей. Этот список отображен не полностью по соображениям производительности. Учётные записи будут отображаться по мере того, как Вы будете перемещаться по списку.",
- "Manager" : "Руководитель",
- "Set line manager" : "Выбрать руководителя",
- "Account name will be autogenerated" : "Имя учётной записи будет создано автоматически",
- "Account name (required)" : "Имя учётной записи (обязательно)",
- "Failed to search groups" : "Не удалось выполнить поиск групп",
- "New account" : "Новая учётная запись",
- "Display name" : "Отображаемое имя",
- "Either password or email is required" : "Также обязательны к заполнению пароль или эл.почта",
- "Password (required)" : "Пароль (обязательно)",
- "Email (required)" : "Эл. почта (обязательно)",
- "Email" : "Адрес эл. почты",
- "Member of the following groups (required)" : "Участник следующих групп (обязательное)",
- "Member of the following groups" : "Участник следующих групп",
- "Set account groups" : "Выбрать группы учётной записи",
- "Admin of the following groups" : "Администратор следующих групп",
- "Set account as admin for …" : "Установите учетную запись в качестве администратора для …",
- "Quota" : "Квота",
- "Set account quota" : "Задать квоту для учётной записи",
- "Language" : "Язык",
- "Set default language" : "Выбрать язык по умолчанию",
- "Add new account" : "Создать учётную запись",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} учётная запись…","{userCount} учётных записи…","{userCount} учётных записей…","{userCount} учётных записи…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} учётная запись","{userCount} учётные записи","{userCount} учётных записей","{userCount} учётные записи"],
- "Total rows summary" : "Количество строк в общем",
- "Scroll to load more rows" : "Прокрутите, чтобы загрузить больше строк",
- "Password or insufficient permissions message" : "Сообщение о пароле или недостаточных разрешениях",
- "Avatar" : "Аватар",
- "Account name" : "Имя учётной записи",
- "Group admin for" : "Администратор групп",
- "Account backend" : "Механизм учёта",
- "Storage location" : "Расположение хранилища",
- "First login" : "Первый вход",
- "Last login" : "Последний вход",
- "Account actions" : "Действия над аккаунтом",
- "{size} used" : "использовано {size}",
- "Delete account" : "Удалить учётную запись",
- "Disconnect all devices and delete local data" : "Отключить все устройства и удалить локальные данные",
- "Disable account" : "Отключить учётную запись",
- "Enable account" : "Включить учётную запись",
- "Resend welcome email" : "Отправить приглашение ещё раз",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Это действие позволяет удалить все данные Nextcloud с устройств {userid}, например, в случае утери или при завершении работы сотрудника в компании. Удаление будет выполнено только если устройства подключены к интернету.",
- "Remote wipe of devices" : "Удаление данных с устройств",
- "Wipe {userid}'s devices" : "Удалить данные с устройств пользователя {userid}",
- "Wiped {userid}'s devices" : "Удалить данные с устройств пользователя {userid}",
- "Failed to load groups with details" : "Не удалось загрузить группы с подробностями",
- "Failed to load sub admin groups with details" : "Не удалось загрузить группы подчиненных администраторов с подробностями",
- "Failed to update line manager" : "Не удалось обновить линейного менеджера",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Полностью удалить все данные пользователя {userid}, в том числе учётную запись, личные файлы и данные приложений.",
- "Account deletion" : "Удаление учётной записи",
- "Delete {userid}'s account" : "Удалить учётную запись пользователя {userid}",
- "Display name was successfully changed" : "Отображаемое имя было успешно изменено",
- "Password can't be empty" : "Пароль не может быть пустым",
- "Password was successfully changed" : "Пароль был успешно изменен",
- "Email can't be empty" : "Электронная почта не может быть пустой",
- "Email was successfully changed" : "Эл. почта была успешно изменена",
- "Welcome mail sent!" : "Приглашение отправлено!",
- "Loading account …" : "Загрузка сведений об учётной записи…",
- "Change display name" : "Изменить отображаемое имя",
- "Set new password" : "Установить новый пароль",
- "You do not have permissions to see the details of this account" : "У вас нет прав на просмотр данных этой учётной записи",
- "Set new email address" : "Установить новый адрес эл. почты",
- "Add account to group" : "Добавить учётную запись в группу",
- "Set account as admin for" : "Назначить администратором",
- "Select account quota" : "Выбор квоты для учётной записи",
- "Set the language" : "Выбрать язык",
- "Toggle account actions menu" : "Переключение меню действий с учетной записью",
- "Done" : "Выполнено",
- "Edit" : "Редактирование",
- "Account management settings" : "Параметры управления учётными записями",
- "Visibility" : "Видимость",
- "Show language" : "Показывать язык",
- "Show account backend" : "Показать механизм учёта",
- "Show storage path" : "Путь хранилища",
- "Show first login" : "Показать первый вход",
- "Show last login" : "Время последнего входа в систему",
- "Sorting" : "Сортировка",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Системная конфигурация обеспечивает сортировку групп по названию. Это также отключает отображение количества участников.",
- "Group list sorting" : "Сортировка списка групп",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Сортировка применяется только к текущим загруженным группам по соображениям производительности. Группы будут загружаться по мере навигации или поиска по списку.",
- "By member count" : "По количеству участников",
- "By name" : "По имени",
- "Send email" : "Отправить сообщение",
- "Send welcome email to new accounts" : "Отправлять приветственное электронное письмо новым пользователям",
- "Defaults" : "Значения по умолчанию",
- "Default quota" : "Квота по умолчанию",
- "Select default quota" : "Квота по умолчанию",
- "Server error while trying to complete WebAuthn device registration" : "Ошибка сервера при попытке завершить регистрацию устройства WebAuthn",
- "Passwordless authentication requires a secure connection." : "Аутентификация без пароля требует безопасного соединения.",
- "Add WebAuthn device" : "Добавить устройство WebAuthn",
- "Please authorize your WebAuthn device." : "Пожалуйста, авторизуйте ваше устройство WebAuthn.",
- "Adding your device …" : "Добавление устройства…",
- "Unnamed device" : "Безымянное устройство",
- "Passwordless Authentication" : "Аутентификация без пароля",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Настройте свою учетную запись для аутентификации без пароля в соответствии со стандартом FIDO2.",
- "No devices configured." : "Устройства не настроены.",
- "The following devices are configured for your account:" : "Следующие устройства настроены для вашей учетной записи:",
- "Your browser does not support WebAuthn." : "Ваш браузер не поддерживает WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "В этом разделе администраторы могут тонко настроить поведение механизма предоставления общего доступа. Обратитесь к документации для получения дополнительной информации.",
- "You need to enable the File sharing App." : "Необходимо включить приложение публикации файлов.",
- "App Store" : "Магазин приложений",
- "Loading app list" : "Получение списка приложений",
- "Loading categories" : "Загрузка категорий",
- "Developer documentation ↗" : "Документация разработчика ↗",
- "Version {version}, {license}-licensed" : "Версия: {version}, лицензия: {license}",
- "Version {version}" : "Версия {version}",
- "All accounts" : "Все аккаунты",
- "Admins" : "Администраторы",
- "Account group: {group}" : "Группа учётных записей: {group}",
- "Account management" : "Управление учётными записями",
"Sending…" : "Отправка…",
"Email sent" : "Письмо отправлено",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "В целях повышения производительности при включении шифрования на сервере Nextcloud шифруются только новые и измененные файлы.",
@@ -795,6 +511,7 @@
"Date of birth" : "Дата рождения",
"Full name" : "Полное имя",
"Additional email" : "Доп. адрес эл. почты",
+ "Email" : "Адрес эл. почты",
"Fediverse (e.g. Mastodon)" : "Федерации (например, Mastodon)",
"Headline" : "Заголовок",
"Organisation" : "Организация",
@@ -804,6 +521,7 @@
"X (formerly Twitter)" : "X (ранее Твиттер)",
"Website" : "Адрес сайта",
"Profile visibility" : "Видимость профиля",
+ "Language" : "Язык",
"Locale" : "Региональные стандарты",
"First day of week" : "Первый день недели",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Заданный параметр не может быть использован, так как его используют основные функции, такие как совместный доступ к файлам и приглашения к событиям из календаря",
@@ -821,6 +539,7 @@
"Show to logged in accounts only" : "Только для вошедших в систему",
"Hide" : "Скрыт",
"Manually installed apps cannot be updated" : "Приложения, установленные вручную, не могут быть обновлены.",
+ "Update to {version}" : "Обновление до {version}",
"{progress}% Deploying …" : "{progress} % Развертывание…",
"{progress}% Initializing …" : "{progress}% Инициализация…",
"Health checking" : "Проверка здоровья",
@@ -830,6 +549,7 @@
"Allow untested app" : "Разрешить непроверенное приложение",
"The app will be downloaded from the App Store" : "Приложение будет скачано из магазина приложений",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Это приложение не отмечено как совместимое с вашей версией Nextcloud. Если вы продолжите, вы сможете установить это приложение, однако оно может работать не так, как ожидается.",
+ "{size} used" : "использовано {size}",
"Unknown" : "Неизвестно",
"Never" : "Никогда",
"Could not register device: Network error" : "Не удалось зарегистрировать устройство: ошибка сети",
@@ -848,8 +568,10 @@
"Could not set group sorting" : "Не удалось настроить сортировку групп",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Превышено количество запросов из вашей сети. Попробуйте позднее или сообщите администратору об этой ошибке.",
"Error" : "Ошибка",
+ "Default quota" : "Квота по умолчанию",
"Account documentation" : "Учетная документация",
"Administration documentation" : "Документация администратора",
+ "Documentation" : "Документация",
"Forum" : "Форум",
"Nextcloud help & privacy resources" : "Справочные ресурсы Nexcloud и руководства по безопасности",
"General documentation" : "Основная документация",
@@ -872,6 +594,7 @@
"SMTP Password" : "Пароль SMTP",
"Save" : "Сохранить",
"Test and verify email settings" : "Проверить параметры эл. почты",
+ "Send email" : "Отправить сообщение",
"Security & setup warnings" : "Проверка безопасности и параметров",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Для обеспечения безопасности и производительности важно, чтобы всё было настроено правильно. Чтобы убедиться в этом, мы выполняем некоторые автоматические проверки. Для получения дополнительной информации обратитесь к соответствующему разделу документации.",
"All checks passed." : "Все проверки пройдены.",
@@ -897,11 +620,8 @@
"The PHP memory limit is below the recommended value of %s." : "Разрешённое максимальное значение использования памяти PHP ниже рекомендуемого значения %s.",
"for WebAuthn passwordless login" : "для входа без использования пароля по протоколу WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "для входа в систему без пароля WebAuthn и хранения данных по протоколу SFTP",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP-заголовок не содержит `%2$s`. Это потенциальный риск безопасности или конфиденциальности, поэтому рекомендуется соответствующим образом настроить этот параметр.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Обнаружена версия PostgreSQL \"%s\". Для лучшей производительности, стабильности и функциональности с этой версией Nextcloud рекомендуется использовать PostgreSQL >=12 и <=16.",
- "Set default expiration date for shares" : "Установить срок действия общего доступа по умолчанию",
- "Your biography" : "Ваша биография",
- "You are using <strong>{usage}</strong>" : "Вы используете <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Вы используете <strong>{usage}</strong> из <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Не удалось загрузить группы субадминистраторов с подробностями"
+ "Set default expiration date for shares" : "Установить срок действия общего доступа по умолчанию"
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/sc.js b/apps/settings/l10n/sc.js
index d7a8345f3ae..3dbd0dec83a 100644
--- a/apps/settings/l10n/sc.js
+++ b/apps/settings/l10n/sc.js
@@ -161,51 +161,6 @@ OC.L10N.register(
"Loading groups…" : "Carrighende grupos...",
"Nothing to show" : "Nudda de mustrare",
"Loading" : "Carrighende",
- "Type" : "Genia",
- "Confirm" : "Cunfirma",
- "Cancel" : "Annulla",
- "Description" : "Descritzione",
- "View in store" : "Càstia in s'archìviu",
- "Visit website" : "Vìsita su situ",
- "Admin documentation" : "Documentatzione amministratzione",
- "Developer documentation" : "Documentatzione isvilupu",
- "Details" : "Detàllios",
- "All" : "Totu",
- "Limit app usage to groups" : "Lìmita s'impreu de s'aplicatzione a grupos",
- "No results" : "Perunu resurtadu",
- "Update to {version}" : "Agiorna a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Custa aplicatzione non cuntenet sa versione mìnima de Nextcloud assignada. At a èssere unu problema in su benidore.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Custa aplicatzione non cuntenet sa versione màssima de Nextcloud assignada. At a èssere unu problema in su benidore.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Non faghet a installare custa aplicatzione ca is dipendèntzias in fatu non sunt satisfatos:",
- "Author" : "Autoria",
- "Categories" : "Categ",
- "Resources" : "Risorsas",
- "Documentation" : "Documentatzione",
- "Report a bug" : "Signala un'errore",
- "Request feature" : "Rechede funtzionalidade",
- "Ask questions or discuss" : "Faghe preguntas o discuti",
- "Rate" : "Vàluta",
- "Changelog" : "Registru de is càmbios",
- "Google Chrome for Android" : "Google Chrome pro Android",
- "{productName} iOS app" : "{productName} aplicatzione iOS ",
- "{productName} Android app" : "Aplicatzione de {productName} pro Android",
- "{productName} Talk for iOS" : "{productName} Talk pro iOS",
- "{productName} Talk for Android" : "{productName} Talk pro Android",
- "This session" : "Custa sessione",
- "Save new name" : "Sarva nùmene nou",
- "Marked for remote wipe" : "Marcadu pro cantzelladura remota",
- "Device settings" : "Cunfiguratzione de su dispositivu",
- "Allow filesystem access" : "Permite s'intrada a su sistema de is archìvios",
- "Rename" : "Torra a numenare",
- "Revoke" : "Rèvoca",
- "Wipe device" : "Cantzella dispositivu",
- "Device" : "Dispositivu",
- "Last activity" : "Ùrtima atividade",
- "Devices & sessions" : "Dispositivos & sessiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de iscrivania e mòbiles collegados immoe in su contu tuo.",
- "Error while creating device token" : "Errore creende su token de su dispositivu",
- "App name" : "Nùmene de s'aplicatzione",
- "Create new app password" : "Crea una crae noa de aplicatzione",
"Could not copy app password. Please copy it manually." : "No at fatu a copiare sa crae. Copia·dda a manu.",
"New app password" : "Crae de aplicatzione noa",
"Login" : "Atzessu",
@@ -224,92 +179,16 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Regorda ca sa tzifradura creschet semper sa mannària de s'archìviu.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Benit semper a bene a creare còpias de seguresa regulares de is datos tuos, in casu de tzifradura assegura•ti de creare còpia de is craes de tzfradura paris cun is datos tuos.",
"This is the final warning: Do you really want to enable encryption?" : "Custu est s'ùrtimu avisu : a beru boles ativare sa tzifradura?",
+ "Cancel" : "Annulla",
+ "Confirm" : "Cunfirma",
"Submit" : "Imbia",
- "Current password" : "Crae currente",
- "New password" : "Crae noa",
- "Change password" : "Càmbia crae",
- "The file must be a PNG or JPG" : "S'archìviu depet èssere unu PNG o JPG",
- "Picture provided by original account" : "Immàgine frunida dae su contu originale",
- "You are a member of the following groups:" : "Faghes parte de custos grupos:",
- "Your full name" : "Nùmene cumpletu",
- "Email options" : "Optziones de posta eletrònica",
- "Remove primary email" : "Boga•nche s'indiritzu de posta eletrònica printzipale",
- "Delete email" : "Cantzella indiritzu de posta eletrònica",
- "Additional email address {index}" : "Segundu indiritzu de posta eletrònica {index}",
- "Primary email for password reset and notifications" : "Indiritzu de posta eletrònica printzipale pro torrare a cunfigurare sa crae e retzire notìficas",
- "No email address set" : "Perunu indiritzu de posta eletrònica cunfiguradu",
- "Your handle" : "Nùmene de utente tuo",
- "Your headline" : "Su tìtulu tuo",
- "Help translate" : "Agiuda a tradùere",
- "No language set" : "Peruna limba cunfigurada",
- "Week starts on {firstDayOfWeek}" : "Sa chida cumintzat su {firstDayOfWeek}",
- "Your city" : "Sa tzitade tua",
- "Your organisation" : "S'organizatzione tua",
- "Your phone number" : "Nùmero tuo de telèfonu",
- "Edit your Profile visibility" : "Modifica su visibilidade de su profilu tuo",
- "Unable to update profile enabled state" : "Impossìbile agiornare s'istadu de profilu ativu",
- "Enable profile" : "Ativa su profilu",
- "Your role" : "Sa faina tua",
- "Your X (formerly Twitter) handle" : "Su profilu tuo de X (in antis, Twitter)",
- "Your website" : "Su situ web tuo",
- "Add" : "Agiunghe",
- "Create" : "Crea",
- "Change" : "Càmbia",
- "Delete" : "Cantzella",
- "Reshare" : "Torra a cumpartzire",
- "Default language" : "Limba predefinida",
- "Common languages" : "Limbas comunes",
- "Password change is disabled because the master key is disabled" : "Su càmbiu de sa crae est disativadu ca sa crae printzipale est disativada",
- "New account" : "Contu nou",
- "Display name" : "Ammustra nùmene",
- "Email" : "Posta eletrònica",
- "Quota" : "Cuota",
- "Language" : "Limba",
- "Add new account" : "Agiunghe unu contu nou",
- "Avatar" : "Avatar",
- "Group admin for" : "In amministratzione pro su grupu",
- "Storage location" : "Positzione de s'archiviatzione",
- "Last login" : "Ùrtimu atzessu",
- "Account actions" : "Atziones de su contu",
- "{size} used" : "{size} impreadu",
- "Delete account" : "Cantzella contu",
- "Resend welcome email" : "Torra a imbiare su messàgiu de benebènnida",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "In casu de pèrdida de su dispositivu o de essida dae s'organizatzione, custu podet cantzellare dae remotu is datos de Nextcloud dae totu is dispositivos assotziados cun {userid}. Funtzionat isceti si is dispositivos sunt collegados a internet. ",
- "Remote wipe of devices" : "Cantzelladura remota de is dispositivos",
- "Wipe {userid}'s devices" : "Cantzella is dispositivos de {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Cantzella su contu de {userid}, inclùdidos archìvios personales, datos de aplicatziones, etc.",
- "Account deletion" : "Cantzelladura de su contu",
- "Delete {userid}'s account" : "Cantzella su contu de {userid}",
- "Welcome mail sent!" : "Messàgiu de benebènnida imbiadu!",
- "Set new password" : "Cunfigura una crae noa",
- "Set new email address" : "Cunfigura un'indiritzu nou de posta eletrònica",
- "Done" : "Fatu",
- "Edit" : "Modìfica",
- "Show storage path" : "Mustra su percursu de archiviatzione",
- "Show last login" : "Mustra s'ùrtimu atzessu",
- "Sorting" : "Assentende",
- "Send email" : "Imbia messàgiu de posta eletrònica",
- "Default quota" : "Cuota predefinida",
- "Select default quota" : "Seletziona cuota predefinida",
- "Server error while trying to complete WebAuthn device registration" : "Errore de su serbidore chirchende de cumpletare sa registratzione de su dispositivu WebAuthn",
- "Passwordless authentication requires a secure connection." : "S'autenticatzione chene crae rechedet una connessione segura.",
- "Add WebAuthn device" : "Agiunghe dispositivu WebAuthn",
- "Please authorize your WebAuthn device." : "Autoriza su dispositivu WebAuthn tuo.",
- "Adding your device …" : "Agiunghende su dispositivu tuo ...",
- "Unnamed device" : "Dispositivu chene nùmene",
- "Passwordless Authentication" : "Autenticatzione chene crae",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Cunfigura su contu tuo pro s'autenticatzione chene crae, sighende s'istandard FIDO2.",
- "No devices configured." : "Perunu dispositivu cunfiguradu.",
- "The following devices are configured for your account:" : "Is dispositivos in fatu sunt cunfigurados pro su contu tuo:",
- "Your browser does not support WebAuthn." : "Su serbidore tuo non suportat WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Comente parte de s'amministratzione podes afinigare su cumportamentu de cumpartzidura. Càstia sa documentatzione pro àteras informatziones.",
- "Admins" : "Amministratzione",
"Sending…" : "Imbiende...",
"Email sent" : "Messàgiu de posta imbiadu",
"Location" : "Positzione",
"Profile picture" : "Immàgine de profilu",
"About" : "In contu de",
"Full name" : "Nùmene cumpletu",
+ "Email" : "Posta eletrònica",
"Fediverse (e.g. Mastodon)" : "Fediverse (pro esempru, Mastodon)",
"Headline" : "Tìtulos",
"Organisation" : "Organizatzione",
@@ -318,6 +197,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (in antis, Twitter)",
"Website" : "Situ ìnternet",
"Profile visibility" : "Visibilidade de su profilu",
+ "Language" : "Limba",
"Locale" : "Localizatzione",
"Your apps" : "Is aplicatziones tuas",
"Active apps" : "Aplicatziones ativas",
@@ -328,10 +208,12 @@ OC.L10N.register(
"Show to everyone" : "Mustra a totus",
"Show to logged in accounts only" : "Mustra isceti a is contos autenticados",
"Hide" : "Cua",
+ "Update to {version}" : "Agiorna a {version}",
"Download and enable" : "Iscàrriga e ativa",
"Disable" : "Disativa",
"The app will be downloaded from the App Store" : "S'aplicatzione s'at a iscarrigare dae sa butega de is aplicatziones",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Custa aplicatzione no est marcada comente cumpatìbile cun sa versione tua de Nextcloud. Si sighis, as a pòdere installare s'aplicatzione. Càstia ca podet èssere chi non funtzionet comente prevìdidu.",
+ "{size} used" : "{size} impreadu",
"Unknown" : "Disconnotu",
"Never" : "Mai",
"Error: This app cannot be enabled because it makes the server unstable" : "Errore: Custa aplicatzione non si podet ativare ca faghet su serbidore no istàbile",
@@ -343,6 +225,8 @@ OC.L10N.register(
"Error while updating device token scope" : "Errore agiornende s'àmbitu de su token de su dispositivu",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Tropu rechestas sunt arribadas dae sa rete tua. Torra a proare prus a tardu o cuntata s'amministradore tuo chi ddoe at un'errore.",
"Error" : "Errore",
+ "Default quota" : "Cuota predefinida",
+ "Documentation" : "Documentatzione",
"Forum" : "Forum",
"Legal notice" : "Avisu legale",
"Privacy policy" : "Critèriu de riservadesa",
@@ -359,6 +243,7 @@ OC.L10N.register(
"Credentials" : "Credentziales",
"SMTP Password" : "Crae SMTP",
"Save" : "Sarva",
+ "Send email" : "Imbia messàgiu de posta eletrònica",
"Security & setup warnings" : "Avisos de seguresa e cunfiguratzione",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Est importante pro sa seguresa e s'esecutzione de s'istàntzia tua chi totu siat cunfiguradu bene. Pro t'agiudare, semus faghende controllos automàticos. Càstia sa documentatzione in ligòngiu pro àteras informatziones.",
"All checks passed." : "Passados totu is controllos.",
@@ -375,7 +260,6 @@ OC.L10N.register(
"Subscribe to our newsletter" : "Iscrie·ti a sa lista de messàgios nostra",
"Use a second factor besides your password to increase security for your account." : "Imprea unu segundu fatore a parte sa crae tua pro crèschere sa seguresa de su contu tuo.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Si impreas aplicatziones de sa de tres partes pro ti connètere a Nextcloud, assegura•ti de creare e cunfigurare una crae pro cada aplicatzione antis de ativare su segundu fatore de autenticatzione.",
- "Set default expiration date for shares" : "Cunfigura sa data de iscadèntzia predefinida pro is cumpartziduras",
- "Your biography" : "Sa biografia tua"
+ "Set default expiration date for shares" : "Cunfigura sa data de iscadèntzia predefinida pro is cumpartziduras"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/sc.json b/apps/settings/l10n/sc.json
index f1ec7c6b3ab..853fc2c3bdc 100644
--- a/apps/settings/l10n/sc.json
+++ b/apps/settings/l10n/sc.json
@@ -159,51 +159,6 @@
"Loading groups…" : "Carrighende grupos...",
"Nothing to show" : "Nudda de mustrare",
"Loading" : "Carrighende",
- "Type" : "Genia",
- "Confirm" : "Cunfirma",
- "Cancel" : "Annulla",
- "Description" : "Descritzione",
- "View in store" : "Càstia in s'archìviu",
- "Visit website" : "Vìsita su situ",
- "Admin documentation" : "Documentatzione amministratzione",
- "Developer documentation" : "Documentatzione isvilupu",
- "Details" : "Detàllios",
- "All" : "Totu",
- "Limit app usage to groups" : "Lìmita s'impreu de s'aplicatzione a grupos",
- "No results" : "Perunu resurtadu",
- "Update to {version}" : "Agiorna a {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Custa aplicatzione non cuntenet sa versione mìnima de Nextcloud assignada. At a èssere unu problema in su benidore.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Custa aplicatzione non cuntenet sa versione màssima de Nextcloud assignada. At a èssere unu problema in su benidore.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Non faghet a installare custa aplicatzione ca is dipendèntzias in fatu non sunt satisfatos:",
- "Author" : "Autoria",
- "Categories" : "Categ",
- "Resources" : "Risorsas",
- "Documentation" : "Documentatzione",
- "Report a bug" : "Signala un'errore",
- "Request feature" : "Rechede funtzionalidade",
- "Ask questions or discuss" : "Faghe preguntas o discuti",
- "Rate" : "Vàluta",
- "Changelog" : "Registru de is càmbios",
- "Google Chrome for Android" : "Google Chrome pro Android",
- "{productName} iOS app" : "{productName} aplicatzione iOS ",
- "{productName} Android app" : "Aplicatzione de {productName} pro Android",
- "{productName} Talk for iOS" : "{productName} Talk pro iOS",
- "{productName} Talk for Android" : "{productName} Talk pro Android",
- "This session" : "Custa sessione",
- "Save new name" : "Sarva nùmene nou",
- "Marked for remote wipe" : "Marcadu pro cantzelladura remota",
- "Device settings" : "Cunfiguratzione de su dispositivu",
- "Allow filesystem access" : "Permite s'intrada a su sistema de is archìvios",
- "Rename" : "Torra a numenare",
- "Revoke" : "Rèvoca",
- "Wipe device" : "Cantzella dispositivu",
- "Device" : "Dispositivu",
- "Last activity" : "Ùrtima atividade",
- "Devices & sessions" : "Dispositivos & sessiones",
- "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, de iscrivania e mòbiles collegados immoe in su contu tuo.",
- "Error while creating device token" : "Errore creende su token de su dispositivu",
- "App name" : "Nùmene de s'aplicatzione",
- "Create new app password" : "Crea una crae noa de aplicatzione",
"Could not copy app password. Please copy it manually." : "No at fatu a copiare sa crae. Copia·dda a manu.",
"New app password" : "Crae de aplicatzione noa",
"Login" : "Atzessu",
@@ -222,92 +177,16 @@
"Be aware that encryption always increases the file size." : "Regorda ca sa tzifradura creschet semper sa mannària de s'archìviu.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Benit semper a bene a creare còpias de seguresa regulares de is datos tuos, in casu de tzifradura assegura•ti de creare còpia de is craes de tzfradura paris cun is datos tuos.",
"This is the final warning: Do you really want to enable encryption?" : "Custu est s'ùrtimu avisu : a beru boles ativare sa tzifradura?",
+ "Cancel" : "Annulla",
+ "Confirm" : "Cunfirma",
"Submit" : "Imbia",
- "Current password" : "Crae currente",
- "New password" : "Crae noa",
- "Change password" : "Càmbia crae",
- "The file must be a PNG or JPG" : "S'archìviu depet èssere unu PNG o JPG",
- "Picture provided by original account" : "Immàgine frunida dae su contu originale",
- "You are a member of the following groups:" : "Faghes parte de custos grupos:",
- "Your full name" : "Nùmene cumpletu",
- "Email options" : "Optziones de posta eletrònica",
- "Remove primary email" : "Boga•nche s'indiritzu de posta eletrònica printzipale",
- "Delete email" : "Cantzella indiritzu de posta eletrònica",
- "Additional email address {index}" : "Segundu indiritzu de posta eletrònica {index}",
- "Primary email for password reset and notifications" : "Indiritzu de posta eletrònica printzipale pro torrare a cunfigurare sa crae e retzire notìficas",
- "No email address set" : "Perunu indiritzu de posta eletrònica cunfiguradu",
- "Your handle" : "Nùmene de utente tuo",
- "Your headline" : "Su tìtulu tuo",
- "Help translate" : "Agiuda a tradùere",
- "No language set" : "Peruna limba cunfigurada",
- "Week starts on {firstDayOfWeek}" : "Sa chida cumintzat su {firstDayOfWeek}",
- "Your city" : "Sa tzitade tua",
- "Your organisation" : "S'organizatzione tua",
- "Your phone number" : "Nùmero tuo de telèfonu",
- "Edit your Profile visibility" : "Modifica su visibilidade de su profilu tuo",
- "Unable to update profile enabled state" : "Impossìbile agiornare s'istadu de profilu ativu",
- "Enable profile" : "Ativa su profilu",
- "Your role" : "Sa faina tua",
- "Your X (formerly Twitter) handle" : "Su profilu tuo de X (in antis, Twitter)",
- "Your website" : "Su situ web tuo",
- "Add" : "Agiunghe",
- "Create" : "Crea",
- "Change" : "Càmbia",
- "Delete" : "Cantzella",
- "Reshare" : "Torra a cumpartzire",
- "Default language" : "Limba predefinida",
- "Common languages" : "Limbas comunes",
- "Password change is disabled because the master key is disabled" : "Su càmbiu de sa crae est disativadu ca sa crae printzipale est disativada",
- "New account" : "Contu nou",
- "Display name" : "Ammustra nùmene",
- "Email" : "Posta eletrònica",
- "Quota" : "Cuota",
- "Language" : "Limba",
- "Add new account" : "Agiunghe unu contu nou",
- "Avatar" : "Avatar",
- "Group admin for" : "In amministratzione pro su grupu",
- "Storage location" : "Positzione de s'archiviatzione",
- "Last login" : "Ùrtimu atzessu",
- "Account actions" : "Atziones de su contu",
- "{size} used" : "{size} impreadu",
- "Delete account" : "Cantzella contu",
- "Resend welcome email" : "Torra a imbiare su messàgiu de benebènnida",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "In casu de pèrdida de su dispositivu o de essida dae s'organizatzione, custu podet cantzellare dae remotu is datos de Nextcloud dae totu is dispositivos assotziados cun {userid}. Funtzionat isceti si is dispositivos sunt collegados a internet. ",
- "Remote wipe of devices" : "Cantzelladura remota de is dispositivos",
- "Wipe {userid}'s devices" : "Cantzella is dispositivos de {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Cantzella su contu de {userid}, inclùdidos archìvios personales, datos de aplicatziones, etc.",
- "Account deletion" : "Cantzelladura de su contu",
- "Delete {userid}'s account" : "Cantzella su contu de {userid}",
- "Welcome mail sent!" : "Messàgiu de benebènnida imbiadu!",
- "Set new password" : "Cunfigura una crae noa",
- "Set new email address" : "Cunfigura un'indiritzu nou de posta eletrònica",
- "Done" : "Fatu",
- "Edit" : "Modìfica",
- "Show storage path" : "Mustra su percursu de archiviatzione",
- "Show last login" : "Mustra s'ùrtimu atzessu",
- "Sorting" : "Assentende",
- "Send email" : "Imbia messàgiu de posta eletrònica",
- "Default quota" : "Cuota predefinida",
- "Select default quota" : "Seletziona cuota predefinida",
- "Server error while trying to complete WebAuthn device registration" : "Errore de su serbidore chirchende de cumpletare sa registratzione de su dispositivu WebAuthn",
- "Passwordless authentication requires a secure connection." : "S'autenticatzione chene crae rechedet una connessione segura.",
- "Add WebAuthn device" : "Agiunghe dispositivu WebAuthn",
- "Please authorize your WebAuthn device." : "Autoriza su dispositivu WebAuthn tuo.",
- "Adding your device …" : "Agiunghende su dispositivu tuo ...",
- "Unnamed device" : "Dispositivu chene nùmene",
- "Passwordless Authentication" : "Autenticatzione chene crae",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Cunfigura su contu tuo pro s'autenticatzione chene crae, sighende s'istandard FIDO2.",
- "No devices configured." : "Perunu dispositivu cunfiguradu.",
- "The following devices are configured for your account:" : "Is dispositivos in fatu sunt cunfigurados pro su contu tuo:",
- "Your browser does not support WebAuthn." : "Su serbidore tuo non suportat WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Comente parte de s'amministratzione podes afinigare su cumportamentu de cumpartzidura. Càstia sa documentatzione pro àteras informatziones.",
- "Admins" : "Amministratzione",
"Sending…" : "Imbiende...",
"Email sent" : "Messàgiu de posta imbiadu",
"Location" : "Positzione",
"Profile picture" : "Immàgine de profilu",
"About" : "In contu de",
"Full name" : "Nùmene cumpletu",
+ "Email" : "Posta eletrònica",
"Fediverse (e.g. Mastodon)" : "Fediverse (pro esempru, Mastodon)",
"Headline" : "Tìtulos",
"Organisation" : "Organizatzione",
@@ -316,6 +195,7 @@
"X (formerly Twitter)" : "X (in antis, Twitter)",
"Website" : "Situ ìnternet",
"Profile visibility" : "Visibilidade de su profilu",
+ "Language" : "Limba",
"Locale" : "Localizatzione",
"Your apps" : "Is aplicatziones tuas",
"Active apps" : "Aplicatziones ativas",
@@ -326,10 +206,12 @@
"Show to everyone" : "Mustra a totus",
"Show to logged in accounts only" : "Mustra isceti a is contos autenticados",
"Hide" : "Cua",
+ "Update to {version}" : "Agiorna a {version}",
"Download and enable" : "Iscàrriga e ativa",
"Disable" : "Disativa",
"The app will be downloaded from the App Store" : "S'aplicatzione s'at a iscarrigare dae sa butega de is aplicatziones",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Custa aplicatzione no est marcada comente cumpatìbile cun sa versione tua de Nextcloud. Si sighis, as a pòdere installare s'aplicatzione. Càstia ca podet èssere chi non funtzionet comente prevìdidu.",
+ "{size} used" : "{size} impreadu",
"Unknown" : "Disconnotu",
"Never" : "Mai",
"Error: This app cannot be enabled because it makes the server unstable" : "Errore: Custa aplicatzione non si podet ativare ca faghet su serbidore no istàbile",
@@ -341,6 +223,8 @@
"Error while updating device token scope" : "Errore agiornende s'àmbitu de su token de su dispositivu",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Tropu rechestas sunt arribadas dae sa rete tua. Torra a proare prus a tardu o cuntata s'amministradore tuo chi ddoe at un'errore.",
"Error" : "Errore",
+ "Default quota" : "Cuota predefinida",
+ "Documentation" : "Documentatzione",
"Forum" : "Forum",
"Legal notice" : "Avisu legale",
"Privacy policy" : "Critèriu de riservadesa",
@@ -357,6 +241,7 @@
"Credentials" : "Credentziales",
"SMTP Password" : "Crae SMTP",
"Save" : "Sarva",
+ "Send email" : "Imbia messàgiu de posta eletrònica",
"Security & setup warnings" : "Avisos de seguresa e cunfiguratzione",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Est importante pro sa seguresa e s'esecutzione de s'istàntzia tua chi totu siat cunfiguradu bene. Pro t'agiudare, semus faghende controllos automàticos. Càstia sa documentatzione in ligòngiu pro àteras informatziones.",
"All checks passed." : "Passados totu is controllos.",
@@ -373,7 +258,6 @@
"Subscribe to our newsletter" : "Iscrie·ti a sa lista de messàgios nostra",
"Use a second factor besides your password to increase security for your account." : "Imprea unu segundu fatore a parte sa crae tua pro crèschere sa seguresa de su contu tuo.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Si impreas aplicatziones de sa de tres partes pro ti connètere a Nextcloud, assegura•ti de creare e cunfigurare una crae pro cada aplicatzione antis de ativare su segundu fatore de autenticatzione.",
- "Set default expiration date for shares" : "Cunfigura sa data de iscadèntzia predefinida pro is cumpartziduras",
- "Your biography" : "Sa biografia tua"
+ "Set default expiration date for shares" : "Cunfigura sa data de iscadèntzia predefinida pro is cumpartziduras"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/sk.js b/apps/settings/l10n/sk.js
index 758bf38f889..7734f131b30 100644
--- a/apps/settings/l10n/sk.js
+++ b/apps/settings/l10n/sk.js
@@ -295,7 +295,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP hlavičky",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "Hlavička HTTP `%1$s` nie je nakonfigurovaná na `%2$s`. Niektoré funkcie nemusia pracovať správne a preto odporúčame toto nastavenie upraviť.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Hlavička HTTP `%1$s` nie je nakonfigurovaná na `%2$s`. Toto je potenciálne riziko pre bezpečnosť alebo ochranu osobných údajov a preto odporúčame toto nastavenie upraviť.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Hlavička HTTP `%1$s` neobsahuje `%2$s`. Toto je potenciálne riziko pre bezpečnosť alebo ochranu osobných údajov a preto odporúčame toto nastavenie upraviť.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- Hlavička `%1$s` HTTP nie je nastavená na `%2$s`, `%3$s`, `%4$s`, `%5$s` alebo `%6$s`. Toto môže spôsobiť únik informácií o referentovi. Pozrite si {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- HTTP hlavička `Strict-Transport-Security` nie je nastavená na aspoň `%d` sekúnd (aktuálna hodnota: `%d`). Na zvýšenie bezpečnosti sa odporúča použiť dlhšiu politiku pre HSTS.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- HTTP hlavička `Strict-Transport-Security` má nesprávny tvar: `%s`. Pre zvýšenie bezpečnosti sa odporúča povoliť HSTS.",
@@ -442,97 +441,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Nepodarilo sa načítať obsah sekcie z obchodu s aplikáciami.",
"Loading" : "Načítava sa",
"Fetching the latest news…" : "Načítavajú sa najnovšie správy…",
- "Carousel" : "Karusel",
- "Previous slide" : "Predchádzajúca snímka",
- "Next slide" : "Ďalšia snímka",
- "Choose slide to display" : "Vyberte snímok pre zobrazenie",
- "{index} of {total}" : "{index} z {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Nasadiť proces služby",
- "Type" : "Typ",
- "Display Name" : "Zobrazované meno",
- "GPUs support" : "Podpora GPU",
- "Compute device" : "Výpočetné zariadenie",
- "Advanced deploy options" : "Pokročilé možnosti nasadenia",
- "Edit ExApp deploy options before installation" : "Editovať možnosti nasadenia ExApp pred inštaláciou",
- "Configured ExApp deploy options. Can be set only during installation" : "Nakonfigurované možnosti nasadenia ExApp. Dá sa nastaviť len počas inštalácie",
- "Learn more" : "Dozvedieť sa viac",
- "Environment variables" : "Premenné prostredia",
- "ExApp container environment variables" : "Premenné prostredia kontajnera AppAPI",
- "No environment variables defined" : "Neboli definované žiadne premenné prostredia",
- "Mounts" : "Prípojné body",
- "Define host folder mounts to bind to the ExApp container" : "Definujte pripojenia hostiteľského adresára, ktoré sa majú naviazať na kontajner ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Musí existovať na hostiteľovi démona Deploy pred inštaláciou ExApp",
- "Host path" : "Cesta k hostiteľovi",
- "Container path" : "Cesta ku kontajneru",
- "Read-only" : "Iba na čítanie",
- "Remove mount" : "Odstrániť prípojný bod",
- "New mount" : "Nový prípojný bod",
- "Enter path to host folder" : "Vložte cestu k hostiteľskému adresáru ",
- "Enter path to container folder" : "Vložte cestu k adresáru kontajnera",
- "Toggle read-only mode" : "Prepnúť režim iba na čítanie",
- "Confirm adding new mount" : "Potvrdiť pridanie nového prípojného bodu",
- "Confirm" : "Potvrdiť",
- "Cancel adding mount" : "Zrušiť pridanie prípojného bodu",
- "Cancel" : "Zrušiť",
- "Add mount" : "Pridať prípojný bod",
- "ExApp container mounts" : "Prípojné body kontajnera ExApp",
- "No mounts defined" : "Nie sú definované žiadne prípojné body",
- "Description" : "Popis",
- "View in store" : "Zobraz v obchode",
- "Visit website" : "Navštíviť webstránku",
- "Usage documentation" : "Užívateľská dokumentácia",
- "Admin documentation" : "Príručka administrátora",
- "Developer documentation" : "Dokumentácia vývojára",
- "Details" : "Detaily",
- "All" : "Všetky",
- "Limit app usage to groups" : "Obmedziť používanie aplikácií pre skupiny",
- "No results" : "Žiadne výsledky",
- "Update to {version}" : "Aktualizovať na {version}",
- "Deploy options" : "Možnosti nasadenia",
- "Default Deploy daemon is not accessible" : "Východzí proces služby nasadzovania nie je dostupný",
- "Delete data on remove" : "Pri odobraní zmazať dáta",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Pre túto aplikáciu nie je zadaná minimálna verzia Nextcloudu. Toto v budúcnosti spôsobí chybu.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Pre túto aplikáciu nie je zadaná maximálna verzia Nextcloudu. Toto v budúcnosti spôsobí chybu.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Túto aplikáciu nemožno nainštalovať, pretože nie sú splnené nasledovné závislosti:",
- "Latest updated" : "Naposledy aktualizované",
- "Author" : "Autor",
- "Categories" : "Kategórie",
- "Resources" : "Zdroje",
- "Documentation" : "Dokumentácia",
- "Interact" : "Interagovať",
- "Report a bug" : "Nahlásiť chybu",
- "Request feature" : "Požiadavka odporúčania",
- "Ask questions or discuss" : "Pýtajte sa alebo diskutujte",
- "Rate the app" : "Ohodnotiť aplikáciu",
- "Rate" : "Hodnotenie",
- "Changelog" : "Zoznam zmien",
- "Google Chrome for Android" : "Google Chrome pre Android",
- "{productName} iOS app" : "{productName} iOS aplikácia",
- "{productName} Android app" : "{productName} Android aplikácia",
- "{productName} Talk for iOS" : "{productName} Talk /Rozhovor/ pre iOS",
- "{productName} Talk for Android" : "{productName} Talk /Rozhovor/ pre Android",
- "Sync client" : "Klient synchronizácie",
- "This session" : "Táto relácia",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Názov zariadenia",
- "Cancel renaming" : "Zrušiť premenovanie",
- "Save new name" : "Uložiť nové meno",
- "Marked for remote wipe" : "Označené na vymazanie na diaľku",
- "Device settings" : "Nastavenia zariadenia",
- "Allow filesystem access" : "Povoliť prístup ku súborovému systému",
- "Rename" : "Premenovať",
- "Revoke" : "Odvolať",
- "Wipe device" : "Vymazať obsah zariadenia",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Ostránenie tohto tokenu môže zabrániť vymazaniu vášho zariadenia, ak sa ešte nezačalo mazanie.",
- "Device" : "Zariadenie",
- "Last activity" : "Posledná aktivita",
- "Devices & sessions" : "Zariadenia a relácie",
- "Web, desktop and mobile clients currently logged in to your account." : "Weboví, desktopoví alebo mobilní klienti práve prihlásení k vášmu účtu.",
- "Error while creating device token" : "Chyba pri vytváraní tokenov zariadenia",
- "App name" : "Názov aplikácie",
- "Create new app password" : "Vytvoriť nové heslo aplikácie",
"App password copied!" : "Heslo aplikácie skopírované!",
"Copy app password" : "Kopírovať heslo aplikácie",
"Login name copied!" : "Prihlasovacie meno bolo skopírované!",
@@ -584,201 +492,10 @@ OC.L10N.register(
"Refer to the admin documentation on how to manually also encrypt existing files." : "Informácie o tom, ako ručne zašifrovať aj existujúce súbory, nájdete v dokumentácii pre administrátora.",
"This is the final warning: Do you really want to enable encryption?" : "Toto je posledné varovanie: Vážne si prajete povoliť šifrovanie?",
"Please confirm the group removal" : "Prosím potvrďte vymazanie skupiny.",
+ "Cancel" : "Zrušiť",
+ "Confirm" : "Potvrdiť",
"Submit" : "Odoslať",
"Rename group" : "Premenovať skupinu",
- "Current password" : "Aktuálne heslo",
- "New password" : "Nové heslo",
- "Change password" : "Zmeniť heslo",
- "Choose your profile picture" : "Vyberte si váš profilový obrázok",
- "Please select a valid png or jpg file" : "Prosím vyberte platný png alebo jpg súbor",
- "Error setting profile picture" : "Chyba pri nastavovaní profilového obrázku",
- "Error cropping profile picture" : "Chyba pri orezávaní profilového obrázku",
- "Error saving profile picture" : "Chyba pri ukladaní profilového obrázku",
- "Error removing profile picture" : "Chyba pri odstraňovaní profilového obrázku",
- "Your profile picture" : "Váš profilový obrázok",
- "Upload profile picture" : "Nahrať profilový obrázok",
- "Choose profile picture from Files" : "Vyberte profilový obrázok zo Súborov",
- "Remove profile picture" : "Odstrániť profilový obrázok",
- "The file must be a PNG or JPG" : "Súbor musí byť vo formáte PNG alebo JPG",
- "Picture provided by original account" : "Obrázok poskytnutý originálnym účtom",
- "Set as profile picture" : "Nastaviť ako profilový obrázok",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Upozorňujeme, že aktualizácia vášho profilového obrázka môže trvať až 24 hodín.",
- "Your biography. Markdown is supported." : "Váš životopis. Markdown je podporovaný.",
- "Unable to update date of birth" : "Nepodarilo sa aktualizovať dátum narodenia",
- "Enter your date of birth" : "Zadajte váš dátum narodenia",
- "You are using {s}{usage}{/s}" : "Využívate {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Využívate {s}{usage}{/s} z {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Ste členom nasledovných skupín:",
- "Your full name" : "Vaše celé meno",
- "Email options" : "E-mailové nastavenia",
- "Options for additional email address {index}" : "Možnosti pre ďalšiu emailovú adresu {index}",
- "Remove primary email" : "Odobrať primárny email",
- "Delete email" : "Zmazať email",
- "This address is not confirmed" : "Táto adresa nie je potvrdená",
- "Unset as primary email" : "Zrušiť nastavenie ako primárny e-mail",
- "Set as primary email" : "Nastaviť ako primárny e-mail",
- "Additional email address {index}" : "Ďalšia e-mailová adresa {index}",
- "Unable to delete primary email address" : "Nie je možné zmazať primárnu e-mail adresu",
- "Unable to update primary email address" : "Nie je možné aktualizovať primárnu e-mail adresu",
- "Unable to add additional email address" : "Nie je možné pridať ďalšiu e-mail adresu",
- "Unable to update additional email address" : "Nie je možné aktualizovať ďalšiu e-mail adresu",
- "Unable to delete additional email address" : "Nie je možné odstrániť ďalšiu e-mail adresu",
- "Primary email for password reset and notifications" : "Primárny e-mail na obnovenie hesla a zasielanie upozornení",
- "No email address set" : "Emailová adresa nie je nastavená",
- "Your handle" : "Váš identifikátor (handle)",
- "Derived from your locale ({weekDayName})" : "Odvodené z vášho miestneho nastavenia ({weekDayName})",
- "Unable to update first day of week" : "Nepodarilo sa aktualizovať deň používaný ako prvý deň v týždni",
- "Day to use as the first day of week" : "Deň používaný ako prvý deň v týždni",
- "Your headline" : "Váš titul",
- "Unable to update language" : "Nie je možné aktualizovať jazyk",
- "Languages" : "Jazyky",
- "Help translate" : "Pomôcť s prekladom",
- "No language set" : "Nie je nastavený žiadny jazyk",
- "Unable to update locale" : "Nie je možné aktualizovať regionálne nastavenia",
- "Locales" : "Regionálne nastavenia",
- "Week starts on {firstDayOfWeek}" : "Prvý deň v týždni je {firstDayOfWeek}",
- "No locale set" : "Nie sú konfigurované žiadne regionálne nastavenia",
- "Your city" : "Vaše mesto",
- "Your organisation" : "Vaša organizácia",
- "Your phone number" : "Vaše telefónne číslo",
- "Edit your Profile visibility" : "Upraviť viditeľnosť vášho profilu",
- "Unable to update profile enabled state" : "Nie je možné aktualizovať stav aktivácie profilu",
- "Enable profile" : "Povoliť profil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Vo vašom profile sa rešpektuje prísnejšie nastavenie viditeľnosti alebo rozsahu. Ak je napríklad viditeľnosť nastavená na „Zobraziť všetkým“ a rozsah je nastavený na „Súkromné“, „Súkromné“ bude rešpektované.",
- "Unable to update visibility of {displayId}" : "Nie je možné aktualizovať viditeľnosť {displayId}",
- "she/her" : "ona/jej",
- "he/him" : "on/jeho",
- "they/them" : "oni/ich",
- "Your role" : "Vaša rola",
- "Your X (formerly Twitter) handle" : "Ovládanie Vašeho X (predtým Twitter)",
- "Your website" : "Vaša webstránka",
- "Invalid value" : "Chybná hodnota",
- "Unable to update {property}" : "Nie je možné aktualizovať {property}",
- "No {property} set" : "Nie je nastavená žiadna {property}",
- "Change scope level of {property}, current scope is {scope}" : "Zmeniť úroveň rozsahu {property}, aktuálny rozsah je {scope}",
- "Unable to update federation scope of the primary {property}" : "Nie je možné aktualizovať rozsah združenia primárneho {property}",
- "Unable to update federation scope of additional {property}" : "Nie je možné aktualizovať rozsah združenia ďalšieho {property}",
- "Add additional email" : "Pridať ďalší e-mail",
- "Add" : "Pridať",
- "Create" : "Vytvárať",
- "Change" : "Zmeniť",
- "Delete" : "Zmazať",
- "Reshare" : "Zdieľať ďalej",
- "Default language" : "Predvolený jazyk",
- "Common languages" : "Spoločné jazyky",
- "Other languages" : "Iné jazyky",
- "Password change is disabled because the master key is disabled" : "Zmena hesla je zablokovaná pretože hlavný kľúč je vypnutý",
- "No accounts" : "Žiadne účty",
- "Loading accounts …" : "Nahrávanie účtov ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Zoznam účtov. Tento zoznam nie je úplne vykreslený z dôvodov výkonu. Účty budú vykreslené, keď budete prechádzať zoznamom.",
- "Manager" : "Manažér",
- "Set line manager" : "Nastaviť líniového manažéra",
- "Account name will be autogenerated" : "Názov účtu bude automaticky generovaný",
- "Account name (required)" : "Názov účtu (povinné)",
- "Failed to search groups" : "Neporarilo sa prehľadať skupiny",
- "New account" : "Nový účet",
- "Display name" : "Zobrazované meno",
- "Either password or email is required" : "Buď je potrebné zadať heslo alebo e-mail",
- "Password (required)" : "Heslo (povinné)",
- "Email (required)" : "E-mail (povinné)",
- "Email" : "Email",
- "Member of the following groups (required)" : "Člen nasledujúcich skupín (povinné)",
- "Member of the following groups" : "Člen nasledujúcich skupín",
- "Set account groups" : "Nastaviť skupiny pre účet",
- "Admin of the following groups" : "Administrátor nasledujúcich skupín",
- "Set account as admin for …" : "Nastaviť účet ako adminstrátora pre ...",
- "Quota" : "Kvóta",
- "Set account quota" : "Nastaviť kvótu pre účet",
- "Language" : "Jazyk",
- "Set default language" : "Nastaviť predvolený jazyk",
- "Add new account" : " Pridať nový účet",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} účet ...","{userCount} účty ...","{userCount} účtov ...","{userCount} účtov ..."],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} účet","{userCount} účty","{userCount} účtov","{userCount} účtov"],
- "Total rows summary" : "Súčet všetkých riadkov",
- "Scroll to load more rows" : "Posúvajte pre načítanie ďalších riadkov",
- "Password or insufficient permissions message" : "Heslo alebo správa o nedostatočných oprávneniach",
- "Avatar" : "Avatar",
- "Account name" : "Názov účtu",
- "Group admin for" : "Administrátor skupiny pre",
- "Account backend" : "Backend účtu",
- "Storage location" : "Umiestnenie úložiska",
- "First login" : "Prvé prihlásenie",
- "Last login" : "Posledné prihlásenie",
- "Account actions" : "Možnosti účtu",
- "{size} used" : "{size} použité",
- "Delete account" : "Zmazať účet",
- "Disconnect all devices and delete local data" : "Odpojiť všetky zariadenia a vymazať lokálne dáta",
- "Disable account" : "Zakázať účet",
- "Enable account" : "Povoliť účet",
- "Resend welcome email" : "Znova odoslať privítací email",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "V prípade straty zariadenia alebo napr. odchodu z firmy to môže na daľku vymazať údaje Nextcloud zo všetkých zariadení priradených k {userid}. Funguje iba vtedy, ak sú zariadenia pripojené k internetu.",
- "Remote wipe of devices" : "Vymazať obsah zariadení na diaľku",
- "Wipe {userid}'s devices" : "Vymazať obsah zariadení {userid}",
- "Wiped {userid}'s devices" : "Vymazané zariadenia užívateľa {userid}",
- "Failed to load groups with details" : "Nepodarilo sa načítať skupiny s podrobnosťami",
- "Failed to update line manager" : "Nepodarilo sa aktualizovať líniového manažéra",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Úplne odstráiť účet používateľa {userid} vrátane všetkých osobných súborov, údajov aplikácií atď.",
- "Account deletion" : "Zmazanie účtu",
- "Delete {userid}'s account" : "Vymazať účet {userid}",
- "Display name was successfully changed" : "Zobrazované meno ste úspešne zmenili",
- "Password can't be empty" : "Heslo nemôže byť prázdne",
- "Password was successfully changed" : "Heslo bolo úspešne zmenené",
- "Email can't be empty" : "E-mail nemôže byť prázdny",
- "Email was successfully changed" : "Email bol úspešne zmenený",
- "Welcome mail sent!" : "Privítací email odoslaný",
- "Loading account …" : "Nahrávam účet ...",
- "Change display name" : "Zmeniť zobrazované meno",
- "Set new password" : "Vytvoriť nové heslo",
- "You do not have permissions to see the details of this account" : "Nemáte oprávnenie vidieť detaily tohto účtu",
- "Set new email address" : "Nastavte novú e-mailovú adresu",
- "Add account to group" : "Pridať účet do skupiny",
- "Set account as admin for" : "Nastavte účet ako správcu pre",
- "Select account quota" : "Vyberte kvótu účtu",
- "Set the language" : "Nastavte jazyk",
- "Toggle account actions menu" : "Prepnúť ponuku akcií účtu",
- "Done" : "Hotovo",
- "Edit" : "Upraviť",
- "Account management settings" : "Nastavenia správy účtu",
- "Visibility" : "Viditeľnosť",
- "Show language" : "Zobraziť jazyk",
- "Show account backend" : "Zobraziť backend účtu",
- "Show storage path" : "Zobraziť popis umiestnenia úložiska",
- "Show first login" : "Zobraziť prvé prihlásenie",
- "Show last login" : "Zobraziť posledné prihlásenie",
- "Sorting" : "Triedenie",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Systémová konfigurácia vynucuje triedenie skupín podľa názvu. Toto tiež zakáže zobrazovanie počtu členov.",
- "Group list sorting" : "Triedenie zoznamu skupín",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Zoradenie sa z dôvodu výkonu vzťahuje len na aktuálne načítané skupiny. Skupiny sa načítajú pri navigácii alebo vyhľadávaní v zozname.",
- "By member count" : "Podľa počtu členov",
- "By name" : "Podľa názvu",
- "Send email" : "Odoslať email",
- "Send welcome email to new accounts" : "Poslať uvítací e-mail novým účtom",
- "Defaults" : "Predvolené hodnoty",
- "Default quota" : "Predvolená kvóta",
- "Select default quota" : "Vybrať predvolenú kvótu",
- "Server error while trying to complete WebAuthn device registration" : "Chyba servera pri pokuse o dokončenie registrácie zariadenia WebAuthn",
- "Passwordless authentication requires a secure connection." : "Overenie bez hesla vyžaduje zabezpečné pripojenie.",
- "Add WebAuthn device" : "Pridať zariadenie WebAuthn",
- "Please authorize your WebAuthn device." : "Autorizujte svoje zariadenie WebAuthn.",
- "Adding your device …" : "Pridáva sa zariadenie...",
- "Unnamed device" : "Nepomenované zariadenie",
- "Passwordless Authentication" : "Overovanie bez hesla",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Nastavte si účet pre využívanie overovania bez hesla podľa štandardu FIDO2.",
- "No devices configured." : "Nie sú nastavené žiadne zariadenia.",
- "The following devices are configured for your account:" : "Pre váš účet máte nastavené nasledujúce zariadenia:",
- "Your browser does not support WebAuthn." : "Váš prehliadač nepodporuje WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Ako administrátor môžete nastaviť správanie sprístupňovania. Pre viac informácií pozrite dokumentáciu.",
- "You need to enable the File sharing App." : "Musíte povoliť Aplikáciu pre zdieľanie súborov.",
- "App Store" : "Obchod s aplikáciami",
- "Loading app list" : "Načítavam zoznam aplikácií",
- "Loading categories" : "Načítavam kategórie",
- "Developer documentation ↗" : "Dokumentácia vývojára ↗",
- "Version {version}, {license}-licensed" : "Verzia {version}, {license}-licencované",
- "Version {version}" : "Verzia {version}",
- "All accounts" : "Všetky účty",
- "Admins" : "Administrátori",
- "Account group: {group}" : "Skupina účtu: {group}",
- "Account management" : "Správa účtu",
"Sending…" : "Odosielam...",
"Email sent" : "Email odoslaný",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Z dôvodu zachovania výkonu, keď povolíte šifrovanie na serveri Nextcloud, budú šifrované iba nové a zmenené súbory.",
@@ -788,6 +505,7 @@ OC.L10N.register(
"Date of birth" : "Dátum narodenia",
"Full name" : "Meno a priezvisko",
"Additional email" : "Ďalšie e-maily",
+ "Email" : "Email",
"Fediverse (e.g. Mastodon)" : "Fediverse (napr. Mastodon)",
"Headline" : "Titul",
"Organisation" : "Organizácia",
@@ -797,6 +515,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (predtým Twitter)",
"Website" : "Webstránka",
"Profile visibility" : "Viditeľnosť profilu",
+ "Language" : "Jazyk",
"Locale" : "Regionálne nastavenia",
"First day of week" : "Prvý deň v týždni",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nie je k dispozícii, pretože táto vlastnosť je potrebná pre základné funkcie vrátane zdieľania súborov a pozvánok do kalendára",
@@ -814,6 +533,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Zobraziť len pre prihlásené účty",
"Hide" : "Skryť",
"Manually installed apps cannot be updated" : "Manuálne nainštalované aplikácie nemôžu byť aktualizované",
+ "Update to {version}" : "Aktualizovať na {version}",
"{progress}% Deploying …" : "{progress}% Nasadzovanie ...",
"{progress}% Initializing …" : "{progress}% Inicializuje sa ...",
"Health checking" : "Kontrola stavu",
@@ -823,6 +543,7 @@ OC.L10N.register(
"Allow untested app" : "Povoliť netestovanú aplikáciu",
"The app will be downloaded from the App Store" : "Aplikácia bude stiahnutá z obchodu",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Táto aplikácia nie je označená ako kompatibilná s vašou verziou Nextcloud. Ak budete pokračovať, aplikáciu budete môcť stále nainštalovať. Aplikácia nemusí fungovať podľa očakávania.",
+ "{size} used" : "{size} použité",
"Unknown" : "Neznámy",
"Never" : "Nikdy",
"Could not register device: Network error" : "Zariadenie sa nepodarilo zaregistrovať: Chyba siete",
@@ -841,8 +562,10 @@ OC.L10N.register(
"Could not set group sorting" : "Nepodarilo sa nastaviť triedenie podľa skupín",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Príliš mnoho požiadaviek z vašej siete. Skúste to znovu neskôr alebo kontaktujte svojho administrátora ak je toto chyba.",
"Error" : "Chyba",
+ "Default quota" : "Predvolená kvóta",
"Account documentation" : "Dokumentácia k účtom",
"Administration documentation" : "Príručka administrátora",
+ "Documentation" : "Dokumentácia",
"Forum" : "Fórum",
"Nextcloud help & privacy resources" : "Pomocník Nextcloud a zdroje ochrany osobných údajov",
"General documentation" : "Všeobecná dokumentácia",
@@ -865,6 +588,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP heslo",
"Save" : "Uložiť",
"Test and verify email settings" : "Otestovať a overiť nastavenia e-mailu",
+ "Send email" : "Odoslať email",
"Security & setup warnings" : "Bezpečnosť a nastavenia upozornení",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Kvôli bezpečnosti a výkonu vašej inštalácie je dôležité, aby bolo všetko správne nastavené. Robíme automatickú kontrolu, ktorá vám s touto úlohou pomôže. Pre ďalšie informácie nahliadnite do priloženej dokumentácie.",
"All checks passed." : "Všetky kontroly prešli úspešne.",
@@ -890,11 +614,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "Limit pre pamäť PHP je nižší ako odporúčaná hodnota %s.",
"for WebAuthn passwordless login" : "pre bezheslového prihlásenia pomocou WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "pre prihlásenie bez hesla WebAuthn a SFTP úložisko",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Hlavička HTTP `%1$s` neobsahuje `%2$s`. Toto je potenciálne riziko pre bezpečnosť alebo ochranu osobných údajov a preto odporúčame toto nastavenie upraviť.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Bola zistená verzia \"%s\" PostgreSQL. Odporúča sa PostgreSQL >=12 a <=16 pre najlepší výkon, stabilitu a funkčnosť s touto verziou Nextcloud.",
- "Set default expiration date for shares" : "Nastaviť predvolený dátum expirácie pre sprístupnenia",
- "Your biography" : "Váš životopis",
- "You are using <strong>{usage}</strong>" : "Využívate <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Využívate <strong>{usage}</strong> z <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Nepodarilo sa načítať skupiny subadministátorov s podrobnosťami"
+ "Set default expiration date for shares" : "Nastaviť predvolený dátum expirácie pre sprístupnenia"
},
"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/apps/settings/l10n/sk.json b/apps/settings/l10n/sk.json
index 264fcc0dc03..03065bfae56 100644
--- a/apps/settings/l10n/sk.json
+++ b/apps/settings/l10n/sk.json
@@ -293,7 +293,6 @@
"HTTP headers" : "HTTP hlavičky",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "Hlavička HTTP `%1$s` nie je nakonfigurovaná na `%2$s`. Niektoré funkcie nemusia pracovať správne a preto odporúčame toto nastavenie upraviť.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Hlavička HTTP `%1$s` nie je nakonfigurovaná na `%2$s`. Toto je potenciálne riziko pre bezpečnosť alebo ochranu osobných údajov a preto odporúčame toto nastavenie upraviť.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Hlavička HTTP `%1$s` neobsahuje `%2$s`. Toto je potenciálne riziko pre bezpečnosť alebo ochranu osobných údajov a preto odporúčame toto nastavenie upraviť.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- Hlavička `%1$s` HTTP nie je nastavená na `%2$s`, `%3$s`, `%4$s`, `%5$s` alebo `%6$s`. Toto môže spôsobiť únik informácií o referentovi. Pozrite si {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- HTTP hlavička `Strict-Transport-Security` nie je nastavená na aspoň `%d` sekúnd (aktuálna hodnota: `%d`). Na zvýšenie bezpečnosti sa odporúča použiť dlhšiu politiku pre HSTS.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- HTTP hlavička `Strict-Transport-Security` má nesprávny tvar: `%s`. Pre zvýšenie bezpečnosti sa odporúča povoliť HSTS.",
@@ -440,97 +439,6 @@
"Could not load section content from app store." : "Nepodarilo sa načítať obsah sekcie z obchodu s aplikáciami.",
"Loading" : "Načítava sa",
"Fetching the latest news…" : "Načítavajú sa najnovšie správy…",
- "Carousel" : "Karusel",
- "Previous slide" : "Predchádzajúca snímka",
- "Next slide" : "Ďalšia snímka",
- "Choose slide to display" : "Vyberte snímok pre zobrazenie",
- "{index} of {total}" : "{index} z {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Nasadiť proces služby",
- "Type" : "Typ",
- "Display Name" : "Zobrazované meno",
- "GPUs support" : "Podpora GPU",
- "Compute device" : "Výpočetné zariadenie",
- "Advanced deploy options" : "Pokročilé možnosti nasadenia",
- "Edit ExApp deploy options before installation" : "Editovať možnosti nasadenia ExApp pred inštaláciou",
- "Configured ExApp deploy options. Can be set only during installation" : "Nakonfigurované možnosti nasadenia ExApp. Dá sa nastaviť len počas inštalácie",
- "Learn more" : "Dozvedieť sa viac",
- "Environment variables" : "Premenné prostredia",
- "ExApp container environment variables" : "Premenné prostredia kontajnera AppAPI",
- "No environment variables defined" : "Neboli definované žiadne premenné prostredia",
- "Mounts" : "Prípojné body",
- "Define host folder mounts to bind to the ExApp container" : "Definujte pripojenia hostiteľského adresára, ktoré sa majú naviazať na kontajner ExApp",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Musí existovať na hostiteľovi démona Deploy pred inštaláciou ExApp",
- "Host path" : "Cesta k hostiteľovi",
- "Container path" : "Cesta ku kontajneru",
- "Read-only" : "Iba na čítanie",
- "Remove mount" : "Odstrániť prípojný bod",
- "New mount" : "Nový prípojný bod",
- "Enter path to host folder" : "Vložte cestu k hostiteľskému adresáru ",
- "Enter path to container folder" : "Vložte cestu k adresáru kontajnera",
- "Toggle read-only mode" : "Prepnúť režim iba na čítanie",
- "Confirm adding new mount" : "Potvrdiť pridanie nového prípojného bodu",
- "Confirm" : "Potvrdiť",
- "Cancel adding mount" : "Zrušiť pridanie prípojného bodu",
- "Cancel" : "Zrušiť",
- "Add mount" : "Pridať prípojný bod",
- "ExApp container mounts" : "Prípojné body kontajnera ExApp",
- "No mounts defined" : "Nie sú definované žiadne prípojné body",
- "Description" : "Popis",
- "View in store" : "Zobraz v obchode",
- "Visit website" : "Navštíviť webstránku",
- "Usage documentation" : "Užívateľská dokumentácia",
- "Admin documentation" : "Príručka administrátora",
- "Developer documentation" : "Dokumentácia vývojára",
- "Details" : "Detaily",
- "All" : "Všetky",
- "Limit app usage to groups" : "Obmedziť používanie aplikácií pre skupiny",
- "No results" : "Žiadne výsledky",
- "Update to {version}" : "Aktualizovať na {version}",
- "Deploy options" : "Možnosti nasadenia",
- "Default Deploy daemon is not accessible" : "Východzí proces služby nasadzovania nie je dostupný",
- "Delete data on remove" : "Pri odobraní zmazať dáta",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Pre túto aplikáciu nie je zadaná minimálna verzia Nextcloudu. Toto v budúcnosti spôsobí chybu.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Pre túto aplikáciu nie je zadaná maximálna verzia Nextcloudu. Toto v budúcnosti spôsobí chybu.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Túto aplikáciu nemožno nainštalovať, pretože nie sú splnené nasledovné závislosti:",
- "Latest updated" : "Naposledy aktualizované",
- "Author" : "Autor",
- "Categories" : "Kategórie",
- "Resources" : "Zdroje",
- "Documentation" : "Dokumentácia",
- "Interact" : "Interagovať",
- "Report a bug" : "Nahlásiť chybu",
- "Request feature" : "Požiadavka odporúčania",
- "Ask questions or discuss" : "Pýtajte sa alebo diskutujte",
- "Rate the app" : "Ohodnotiť aplikáciu",
- "Rate" : "Hodnotenie",
- "Changelog" : "Zoznam zmien",
- "Google Chrome for Android" : "Google Chrome pre Android",
- "{productName} iOS app" : "{productName} iOS aplikácia",
- "{productName} Android app" : "{productName} Android aplikácia",
- "{productName} Talk for iOS" : "{productName} Talk /Rozhovor/ pre iOS",
- "{productName} Talk for Android" : "{productName} Talk /Rozhovor/ pre Android",
- "Sync client" : "Klient synchronizácie",
- "This session" : "Táto relácia",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Názov zariadenia",
- "Cancel renaming" : "Zrušiť premenovanie",
- "Save new name" : "Uložiť nové meno",
- "Marked for remote wipe" : "Označené na vymazanie na diaľku",
- "Device settings" : "Nastavenia zariadenia",
- "Allow filesystem access" : "Povoliť prístup ku súborovému systému",
- "Rename" : "Premenovať",
- "Revoke" : "Odvolať",
- "Wipe device" : "Vymazať obsah zariadenia",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Ostránenie tohto tokenu môže zabrániť vymazaniu vášho zariadenia, ak sa ešte nezačalo mazanie.",
- "Device" : "Zariadenie",
- "Last activity" : "Posledná aktivita",
- "Devices & sessions" : "Zariadenia a relácie",
- "Web, desktop and mobile clients currently logged in to your account." : "Weboví, desktopoví alebo mobilní klienti práve prihlásení k vášmu účtu.",
- "Error while creating device token" : "Chyba pri vytváraní tokenov zariadenia",
- "App name" : "Názov aplikácie",
- "Create new app password" : "Vytvoriť nové heslo aplikácie",
"App password copied!" : "Heslo aplikácie skopírované!",
"Copy app password" : "Kopírovať heslo aplikácie",
"Login name copied!" : "Prihlasovacie meno bolo skopírované!",
@@ -582,201 +490,10 @@
"Refer to the admin documentation on how to manually also encrypt existing files." : "Informácie o tom, ako ručne zašifrovať aj existujúce súbory, nájdete v dokumentácii pre administrátora.",
"This is the final warning: Do you really want to enable encryption?" : "Toto je posledné varovanie: Vážne si prajete povoliť šifrovanie?",
"Please confirm the group removal" : "Prosím potvrďte vymazanie skupiny.",
+ "Cancel" : "Zrušiť",
+ "Confirm" : "Potvrdiť",
"Submit" : "Odoslať",
"Rename group" : "Premenovať skupinu",
- "Current password" : "Aktuálne heslo",
- "New password" : "Nové heslo",
- "Change password" : "Zmeniť heslo",
- "Choose your profile picture" : "Vyberte si váš profilový obrázok",
- "Please select a valid png or jpg file" : "Prosím vyberte platný png alebo jpg súbor",
- "Error setting profile picture" : "Chyba pri nastavovaní profilového obrázku",
- "Error cropping profile picture" : "Chyba pri orezávaní profilového obrázku",
- "Error saving profile picture" : "Chyba pri ukladaní profilového obrázku",
- "Error removing profile picture" : "Chyba pri odstraňovaní profilového obrázku",
- "Your profile picture" : "Váš profilový obrázok",
- "Upload profile picture" : "Nahrať profilový obrázok",
- "Choose profile picture from Files" : "Vyberte profilový obrázok zo Súborov",
- "Remove profile picture" : "Odstrániť profilový obrázok",
- "The file must be a PNG or JPG" : "Súbor musí byť vo formáte PNG alebo JPG",
- "Picture provided by original account" : "Obrázok poskytnutý originálnym účtom",
- "Set as profile picture" : "Nastaviť ako profilový obrázok",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Upozorňujeme, že aktualizácia vášho profilového obrázka môže trvať až 24 hodín.",
- "Your biography. Markdown is supported." : "Váš životopis. Markdown je podporovaný.",
- "Unable to update date of birth" : "Nepodarilo sa aktualizovať dátum narodenia",
- "Enter your date of birth" : "Zadajte váš dátum narodenia",
- "You are using {s}{usage}{/s}" : "Využívate {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Využívate {s}{usage}{/s} z {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Ste členom nasledovných skupín:",
- "Your full name" : "Vaše celé meno",
- "Email options" : "E-mailové nastavenia",
- "Options for additional email address {index}" : "Možnosti pre ďalšiu emailovú adresu {index}",
- "Remove primary email" : "Odobrať primárny email",
- "Delete email" : "Zmazať email",
- "This address is not confirmed" : "Táto adresa nie je potvrdená",
- "Unset as primary email" : "Zrušiť nastavenie ako primárny e-mail",
- "Set as primary email" : "Nastaviť ako primárny e-mail",
- "Additional email address {index}" : "Ďalšia e-mailová adresa {index}",
- "Unable to delete primary email address" : "Nie je možné zmazať primárnu e-mail adresu",
- "Unable to update primary email address" : "Nie je možné aktualizovať primárnu e-mail adresu",
- "Unable to add additional email address" : "Nie je možné pridať ďalšiu e-mail adresu",
- "Unable to update additional email address" : "Nie je možné aktualizovať ďalšiu e-mail adresu",
- "Unable to delete additional email address" : "Nie je možné odstrániť ďalšiu e-mail adresu",
- "Primary email for password reset and notifications" : "Primárny e-mail na obnovenie hesla a zasielanie upozornení",
- "No email address set" : "Emailová adresa nie je nastavená",
- "Your handle" : "Váš identifikátor (handle)",
- "Derived from your locale ({weekDayName})" : "Odvodené z vášho miestneho nastavenia ({weekDayName})",
- "Unable to update first day of week" : "Nepodarilo sa aktualizovať deň používaný ako prvý deň v týždni",
- "Day to use as the first day of week" : "Deň používaný ako prvý deň v týždni",
- "Your headline" : "Váš titul",
- "Unable to update language" : "Nie je možné aktualizovať jazyk",
- "Languages" : "Jazyky",
- "Help translate" : "Pomôcť s prekladom",
- "No language set" : "Nie je nastavený žiadny jazyk",
- "Unable to update locale" : "Nie je možné aktualizovať regionálne nastavenia",
- "Locales" : "Regionálne nastavenia",
- "Week starts on {firstDayOfWeek}" : "Prvý deň v týždni je {firstDayOfWeek}",
- "No locale set" : "Nie sú konfigurované žiadne regionálne nastavenia",
- "Your city" : "Vaše mesto",
- "Your organisation" : "Vaša organizácia",
- "Your phone number" : "Vaše telefónne číslo",
- "Edit your Profile visibility" : "Upraviť viditeľnosť vášho profilu",
- "Unable to update profile enabled state" : "Nie je možné aktualizovať stav aktivácie profilu",
- "Enable profile" : "Povoliť profil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Vo vašom profile sa rešpektuje prísnejšie nastavenie viditeľnosti alebo rozsahu. Ak je napríklad viditeľnosť nastavená na „Zobraziť všetkým“ a rozsah je nastavený na „Súkromné“, „Súkromné“ bude rešpektované.",
- "Unable to update visibility of {displayId}" : "Nie je možné aktualizovať viditeľnosť {displayId}",
- "she/her" : "ona/jej",
- "he/him" : "on/jeho",
- "they/them" : "oni/ich",
- "Your role" : "Vaša rola",
- "Your X (formerly Twitter) handle" : "Ovládanie Vašeho X (predtým Twitter)",
- "Your website" : "Vaša webstránka",
- "Invalid value" : "Chybná hodnota",
- "Unable to update {property}" : "Nie je možné aktualizovať {property}",
- "No {property} set" : "Nie je nastavená žiadna {property}",
- "Change scope level of {property}, current scope is {scope}" : "Zmeniť úroveň rozsahu {property}, aktuálny rozsah je {scope}",
- "Unable to update federation scope of the primary {property}" : "Nie je možné aktualizovať rozsah združenia primárneho {property}",
- "Unable to update federation scope of additional {property}" : "Nie je možné aktualizovať rozsah združenia ďalšieho {property}",
- "Add additional email" : "Pridať ďalší e-mail",
- "Add" : "Pridať",
- "Create" : "Vytvárať",
- "Change" : "Zmeniť",
- "Delete" : "Zmazať",
- "Reshare" : "Zdieľať ďalej",
- "Default language" : "Predvolený jazyk",
- "Common languages" : "Spoločné jazyky",
- "Other languages" : "Iné jazyky",
- "Password change is disabled because the master key is disabled" : "Zmena hesla je zablokovaná pretože hlavný kľúč je vypnutý",
- "No accounts" : "Žiadne účty",
- "Loading accounts …" : "Nahrávanie účtov ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Zoznam účtov. Tento zoznam nie je úplne vykreslený z dôvodov výkonu. Účty budú vykreslené, keď budete prechádzať zoznamom.",
- "Manager" : "Manažér",
- "Set line manager" : "Nastaviť líniového manažéra",
- "Account name will be autogenerated" : "Názov účtu bude automaticky generovaný",
- "Account name (required)" : "Názov účtu (povinné)",
- "Failed to search groups" : "Neporarilo sa prehľadať skupiny",
- "New account" : "Nový účet",
- "Display name" : "Zobrazované meno",
- "Either password or email is required" : "Buď je potrebné zadať heslo alebo e-mail",
- "Password (required)" : "Heslo (povinné)",
- "Email (required)" : "E-mail (povinné)",
- "Email" : "Email",
- "Member of the following groups (required)" : "Člen nasledujúcich skupín (povinné)",
- "Member of the following groups" : "Člen nasledujúcich skupín",
- "Set account groups" : "Nastaviť skupiny pre účet",
- "Admin of the following groups" : "Administrátor nasledujúcich skupín",
- "Set account as admin for …" : "Nastaviť účet ako adminstrátora pre ...",
- "Quota" : "Kvóta",
- "Set account quota" : "Nastaviť kvótu pre účet",
- "Language" : "Jazyk",
- "Set default language" : "Nastaviť predvolený jazyk",
- "Add new account" : " Pridať nový účet",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} účet ...","{userCount} účty ...","{userCount} účtov ...","{userCount} účtov ..."],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} účet","{userCount} účty","{userCount} účtov","{userCount} účtov"],
- "Total rows summary" : "Súčet všetkých riadkov",
- "Scroll to load more rows" : "Posúvajte pre načítanie ďalších riadkov",
- "Password or insufficient permissions message" : "Heslo alebo správa o nedostatočných oprávneniach",
- "Avatar" : "Avatar",
- "Account name" : "Názov účtu",
- "Group admin for" : "Administrátor skupiny pre",
- "Account backend" : "Backend účtu",
- "Storage location" : "Umiestnenie úložiska",
- "First login" : "Prvé prihlásenie",
- "Last login" : "Posledné prihlásenie",
- "Account actions" : "Možnosti účtu",
- "{size} used" : "{size} použité",
- "Delete account" : "Zmazať účet",
- "Disconnect all devices and delete local data" : "Odpojiť všetky zariadenia a vymazať lokálne dáta",
- "Disable account" : "Zakázať účet",
- "Enable account" : "Povoliť účet",
- "Resend welcome email" : "Znova odoslať privítací email",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "V prípade straty zariadenia alebo napr. odchodu z firmy to môže na daľku vymazať údaje Nextcloud zo všetkých zariadení priradených k {userid}. Funguje iba vtedy, ak sú zariadenia pripojené k internetu.",
- "Remote wipe of devices" : "Vymazať obsah zariadení na diaľku",
- "Wipe {userid}'s devices" : "Vymazať obsah zariadení {userid}",
- "Wiped {userid}'s devices" : "Vymazané zariadenia užívateľa {userid}",
- "Failed to load groups with details" : "Nepodarilo sa načítať skupiny s podrobnosťami",
- "Failed to update line manager" : "Nepodarilo sa aktualizovať líniového manažéra",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Úplne odstráiť účet používateľa {userid} vrátane všetkých osobných súborov, údajov aplikácií atď.",
- "Account deletion" : "Zmazanie účtu",
- "Delete {userid}'s account" : "Vymazať účet {userid}",
- "Display name was successfully changed" : "Zobrazované meno ste úspešne zmenili",
- "Password can't be empty" : "Heslo nemôže byť prázdne",
- "Password was successfully changed" : "Heslo bolo úspešne zmenené",
- "Email can't be empty" : "E-mail nemôže byť prázdny",
- "Email was successfully changed" : "Email bol úspešne zmenený",
- "Welcome mail sent!" : "Privítací email odoslaný",
- "Loading account …" : "Nahrávam účet ...",
- "Change display name" : "Zmeniť zobrazované meno",
- "Set new password" : "Vytvoriť nové heslo",
- "You do not have permissions to see the details of this account" : "Nemáte oprávnenie vidieť detaily tohto účtu",
- "Set new email address" : "Nastavte novú e-mailovú adresu",
- "Add account to group" : "Pridať účet do skupiny",
- "Set account as admin for" : "Nastavte účet ako správcu pre",
- "Select account quota" : "Vyberte kvótu účtu",
- "Set the language" : "Nastavte jazyk",
- "Toggle account actions menu" : "Prepnúť ponuku akcií účtu",
- "Done" : "Hotovo",
- "Edit" : "Upraviť",
- "Account management settings" : "Nastavenia správy účtu",
- "Visibility" : "Viditeľnosť",
- "Show language" : "Zobraziť jazyk",
- "Show account backend" : "Zobraziť backend účtu",
- "Show storage path" : "Zobraziť popis umiestnenia úložiska",
- "Show first login" : "Zobraziť prvé prihlásenie",
- "Show last login" : "Zobraziť posledné prihlásenie",
- "Sorting" : "Triedenie",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Systémová konfigurácia vynucuje triedenie skupín podľa názvu. Toto tiež zakáže zobrazovanie počtu členov.",
- "Group list sorting" : "Triedenie zoznamu skupín",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Zoradenie sa z dôvodu výkonu vzťahuje len na aktuálne načítané skupiny. Skupiny sa načítajú pri navigácii alebo vyhľadávaní v zozname.",
- "By member count" : "Podľa počtu členov",
- "By name" : "Podľa názvu",
- "Send email" : "Odoslať email",
- "Send welcome email to new accounts" : "Poslať uvítací e-mail novým účtom",
- "Defaults" : "Predvolené hodnoty",
- "Default quota" : "Predvolená kvóta",
- "Select default quota" : "Vybrať predvolenú kvótu",
- "Server error while trying to complete WebAuthn device registration" : "Chyba servera pri pokuse o dokončenie registrácie zariadenia WebAuthn",
- "Passwordless authentication requires a secure connection." : "Overenie bez hesla vyžaduje zabezpečné pripojenie.",
- "Add WebAuthn device" : "Pridať zariadenie WebAuthn",
- "Please authorize your WebAuthn device." : "Autorizujte svoje zariadenie WebAuthn.",
- "Adding your device …" : "Pridáva sa zariadenie...",
- "Unnamed device" : "Nepomenované zariadenie",
- "Passwordless Authentication" : "Overovanie bez hesla",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Nastavte si účet pre využívanie overovania bez hesla podľa štandardu FIDO2.",
- "No devices configured." : "Nie sú nastavené žiadne zariadenia.",
- "The following devices are configured for your account:" : "Pre váš účet máte nastavené nasledujúce zariadenia:",
- "Your browser does not support WebAuthn." : "Váš prehliadač nepodporuje WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Ako administrátor môžete nastaviť správanie sprístupňovania. Pre viac informácií pozrite dokumentáciu.",
- "You need to enable the File sharing App." : "Musíte povoliť Aplikáciu pre zdieľanie súborov.",
- "App Store" : "Obchod s aplikáciami",
- "Loading app list" : "Načítavam zoznam aplikácií",
- "Loading categories" : "Načítavam kategórie",
- "Developer documentation ↗" : "Dokumentácia vývojára ↗",
- "Version {version}, {license}-licensed" : "Verzia {version}, {license}-licencované",
- "Version {version}" : "Verzia {version}",
- "All accounts" : "Všetky účty",
- "Admins" : "Administrátori",
- "Account group: {group}" : "Skupina účtu: {group}",
- "Account management" : "Správa účtu",
"Sending…" : "Odosielam...",
"Email sent" : "Email odoslaný",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Z dôvodu zachovania výkonu, keď povolíte šifrovanie na serveri Nextcloud, budú šifrované iba nové a zmenené súbory.",
@@ -786,6 +503,7 @@
"Date of birth" : "Dátum narodenia",
"Full name" : "Meno a priezvisko",
"Additional email" : "Ďalšie e-maily",
+ "Email" : "Email",
"Fediverse (e.g. Mastodon)" : "Fediverse (napr. Mastodon)",
"Headline" : "Titul",
"Organisation" : "Organizácia",
@@ -795,6 +513,7 @@
"X (formerly Twitter)" : "X (predtým Twitter)",
"Website" : "Webstránka",
"Profile visibility" : "Viditeľnosť profilu",
+ "Language" : "Jazyk",
"Locale" : "Regionálne nastavenia",
"First day of week" : "Prvý deň v týždni",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nie je k dispozícii, pretože táto vlastnosť je potrebná pre základné funkcie vrátane zdieľania súborov a pozvánok do kalendára",
@@ -812,6 +531,7 @@
"Show to logged in accounts only" : "Zobraziť len pre prihlásené účty",
"Hide" : "Skryť",
"Manually installed apps cannot be updated" : "Manuálne nainštalované aplikácie nemôžu byť aktualizované",
+ "Update to {version}" : "Aktualizovať na {version}",
"{progress}% Deploying …" : "{progress}% Nasadzovanie ...",
"{progress}% Initializing …" : "{progress}% Inicializuje sa ...",
"Health checking" : "Kontrola stavu",
@@ -821,6 +541,7 @@
"Allow untested app" : "Povoliť netestovanú aplikáciu",
"The app will be downloaded from the App Store" : "Aplikácia bude stiahnutá z obchodu",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Táto aplikácia nie je označená ako kompatibilná s vašou verziou Nextcloud. Ak budete pokračovať, aplikáciu budete môcť stále nainštalovať. Aplikácia nemusí fungovať podľa očakávania.",
+ "{size} used" : "{size} použité",
"Unknown" : "Neznámy",
"Never" : "Nikdy",
"Could not register device: Network error" : "Zariadenie sa nepodarilo zaregistrovať: Chyba siete",
@@ -839,8 +560,10 @@
"Could not set group sorting" : "Nepodarilo sa nastaviť triedenie podľa skupín",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Príliš mnoho požiadaviek z vašej siete. Skúste to znovu neskôr alebo kontaktujte svojho administrátora ak je toto chyba.",
"Error" : "Chyba",
+ "Default quota" : "Predvolená kvóta",
"Account documentation" : "Dokumentácia k účtom",
"Administration documentation" : "Príručka administrátora",
+ "Documentation" : "Dokumentácia",
"Forum" : "Fórum",
"Nextcloud help & privacy resources" : "Pomocník Nextcloud a zdroje ochrany osobných údajov",
"General documentation" : "Všeobecná dokumentácia",
@@ -863,6 +586,7 @@
"SMTP Password" : "SMTP heslo",
"Save" : "Uložiť",
"Test and verify email settings" : "Otestovať a overiť nastavenia e-mailu",
+ "Send email" : "Odoslať email",
"Security & setup warnings" : "Bezpečnosť a nastavenia upozornení",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Kvôli bezpečnosti a výkonu vašej inštalácie je dôležité, aby bolo všetko správne nastavené. Robíme automatickú kontrolu, ktorá vám s touto úlohou pomôže. Pre ďalšie informácie nahliadnite do priloženej dokumentácie.",
"All checks passed." : "Všetky kontroly prešli úspešne.",
@@ -888,11 +612,8 @@
"The PHP memory limit is below the recommended value of %s." : "Limit pre pamäť PHP je nižší ako odporúčaná hodnota %s.",
"for WebAuthn passwordless login" : "pre bezheslového prihlásenia pomocou WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "pre prihlásenie bez hesla WebAuthn a SFTP úložisko",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "Hlavička HTTP `%1$s` neobsahuje `%2$s`. Toto je potenciálne riziko pre bezpečnosť alebo ochranu osobných údajov a preto odporúčame toto nastavenie upraviť.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Bola zistená verzia \"%s\" PostgreSQL. Odporúča sa PostgreSQL >=12 a <=16 pre najlepší výkon, stabilitu a funkčnosť s touto verziou Nextcloud.",
- "Set default expiration date for shares" : "Nastaviť predvolený dátum expirácie pre sprístupnenia",
- "Your biography" : "Váš životopis",
- "You are using <strong>{usage}</strong>" : "Využívate <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Využívate <strong>{usage}</strong> z <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Nepodarilo sa načítať skupiny subadministátorov s podrobnosťami"
+ "Set default expiration date for shares" : "Nastaviť predvolený dátum expirácie pre sprístupnenia"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/sl.js b/apps/settings/l10n/sl.js
index 5dd4503fa4f..b0f1fb50f30 100644
--- a/apps/settings/l10n/sl.js
+++ b/apps/settings/l10n/sl.js
@@ -226,7 +226,6 @@ OC.L10N.register(
"HTTP headers" : "Glave HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "– Glava HTTP »%1$s« ni nastavljena na pričakovano vrednost »%2$s«. Nekatere možnosti morda ne bodo delovale pravilno, zato je priporočljivo prilagoditi nastavitve.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "– Glava HTTP »%1$s« ni nastavljena na pričakovano vrednost »%2$s«. To predstavlja potencialno varnostno ali zasebnostno tveganje, zato je priporočljivo prilagoditi nastavitve.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "– Glava HTTP »%1$s« ne vključuje vrednosti »%2$s«. To predstavlja potencialno varnostno ali zasebnostno tveganje, zato je priporočljivo prilagoditi nastavitve.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "– Glava HTTP »%1$s« ni nastavljena na »%2$s«, »%3$s«, »%4$s«, »%5$s« ali »%6$s«. To la hko povzroči spuščanje sklicnih podatkov. Več o tem je zapisano na {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "– Glava HTTP za varen prenos podatkov »Strict-Transport-Security« ni nastavljena na vsaj »%d« sekund (trenutna vrednost je »%d«). Za večjo varnost je priporočljivo omogočiti pravila HSTS.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "– Glava HTTP za varen prenos podatkov »Strict-Transport-Security« je neustrezno oblikovana: »%s«. Za večjo varnost je priporočljivo omogočiti pravila HSTS.",
@@ -317,67 +316,6 @@ OC.L10N.register(
"Nothing to show" : "Ni vsebine za prikaz",
"Loading" : "Poteka nalaganje ...",
"Fetching the latest news…" : "Poteka pridobivanje zadnjih novic ...",
- "Previous slide" : "Predhodni prikaz",
- "Next slide" : "Naslednji prikaz",
- "Choose slide to display" : "Izbor vsebine za prikaz",
- "{index} of {total}" : "{index} od {total}",
- "Daemon" : "Ozadnji program",
- "Type" : "Vrsta",
- "Learn more" : "Prikaži več",
- "Confirm" : "Potrdi",
- "Cancel" : "Prekliči",
- "Description" : "Opis",
- "View in store" : "Pokaži v trgovini",
- "Visit website" : "Odpri spletno stran",
- "Usage documentation" : "Dokumentacija uporabe",
- "Admin documentation" : "Skrbniška dokumentacija",
- "Developer documentation" : "Dokumentacija za razvijalce",
- "Details" : "Podrobnosti",
- "All" : "Vsi",
- "Limit app usage to groups" : "Omeji uporabo programa na skupine",
- "No results" : "Ni zadetkov",
- "Update to {version}" : "Posodobi na različico {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Program nima določene omejitve različice okolja Nextcloud. V prihodnosti se bo manjkajoči podatek pokazal kot napaka.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Program nima določene omejitve različice okolja Nextcoud. V prihodnosti se bo manjkajoči podatek pokazal kot napaka.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Programa ni mogoče namestiti zaradi nerazrešenih odvisnosti:",
- "Latest updated" : "Nazadnje posodobljeno",
- "Author" : "Avtor",
- "Categories" : "Kategorije",
- "Resources" : "Viri",
- "Documentation" : "Dokumentacija",
- "Interact" : "Interakcija",
- "Report a bug" : "Pošlji poročilo o hrošču",
- "Request feature" : "Predlagaj zmožnost",
- "Ask questions or discuss" : "Vključi se v pogovor",
- "Rate the app" : "Oceni program",
- "Rate" : "Oceni",
- "Changelog" : "Dnevnik sprememb",
- "Google Chrome for Android" : "Google Chrome za Android",
- "{productName} iOS app" : "{productName} za iOS",
- "{productName} Android app" : "{productName} za Android",
- "{productName} Talk for iOS" : "{productName} Talk za iOS",
- "{productName} Talk for Android" : "{productName} Talk za Android",
- "Sync client" : "Odjemalec za usklajevanje",
- "This session" : "Ta seja",
- "{client} - {version} ({system})" : "{client} – {version} ({system})",
- "{client} - {version}" : "{client} – {version}",
- "Device name" : "Ime naprave",
- "Cancel renaming" : "Prekliči preimenovanje",
- "Save new name" : "Shrani novo ime",
- "Marked for remote wipe" : "Označeno za oddaljeno varnostno brisanje",
- "Device settings" : "Nastavitve naprave",
- "Allow filesystem access" : "Dovoli dostop do datotečnega sistema",
- "Rename" : "Preimenuj",
- "Revoke" : "Prekliči",
- "Wipe device" : "Varnostno izbriši napravo",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Obnovitev tega žetona lahko prepreči varnostno brisanje naprave, če se to še ni začelo.",
- "Device" : "Naprava",
- "Last activity" : "Zadnja dejavnost",
- "Devices & sessions" : "Naprave in seje",
- "Web, desktop and mobile clients currently logged in to your account." : "Spletne, namizne in mobilne naprave, ki so trenutno povezane z računom.",
- "Error while creating device token" : " Napaka med ustvarjanjem žetona naprave",
- "App name" : "Ime programa",
- "Create new app password" : "Ustvari novo geslo programa",
"App password copied!" : "Geslo programa je kopirano!",
"Copy app password" : "Kopiraj geslo programa",
"Login name copied!" : "Prijavno ime je kopirano!",
@@ -421,179 +359,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Priporočljivo je redno ustvarjati varnostne kopije podatkov, v primeru šifriranja pa varnostno kopirati tudi šifrirne ključe.",
"This is the final warning: Do you really want to enable encryption?" : "To je zadnje opozorilo. Ali res želite omogočiti šifriranje?",
"Please confirm the group removal" : "Potrditi je treba skupinsko odstranjevanje",
+ "Cancel" : "Prekliči",
+ "Confirm" : "Potrdi",
"Submit" : "Pošlji",
"Rename group" : "Preimenuj skupino",
- "Current password" : "Trenutno geslo",
- "New password" : "Novo geslo",
- "Change password" : "Spremeni geslo",
- "Choose your profile picture" : "Izbor slike profila",
- "Please select a valid png or jpg file" : "Izbrati je treba veljavno datoteko png ali jpg.",
- "Error setting profile picture" : "Napaka nastavljanja slike profila",
- "Error cropping profile picture" : "Napaka obrezovanja slike profila",
- "Error saving profile picture" : "Napaka shranjevanja slike profila",
- "Error removing profile picture" : "Napaka odstranjevanja slike profila",
- "Your profile picture" : "Slika profila",
- "Upload profile picture" : "Pošlji sliko profila",
- "Choose profile picture from Files" : "Izbor slike profila med datotekami",
- "Remove profile picture" : "Odstrani sliko profila",
- "The file must be a PNG or JPG" : "Datoteka mora biti v zapisu PNG ali JPG",
- "Picture provided by original account" : "Slika iz izvornega računa",
- "Set as profile picture" : "Nastavi sliko profila",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Upoštevajte, da lahko traja tudi 24 ur preden se slika profila posodobi na vseh mestih.",
- "Unable to update date of birth" : "Datuma rojstva ni mogoče posodobiti",
- "Enter your date of birth" : "Vpišite datum rojstva",
- "You are a member of the following groups:" : "Omogočeno je članstvo v skupinah:",
- "Your full name" : "Polno ime",
- "Email options" : "Možnosti elektronske pošte",
- "Options for additional email address {index}" : "Dodatni elektronski naslov {index}",
- "Remove primary email" : "Odstrani osnovni elektronski naslov",
- "Delete email" : "Izbriši elektronski naslov",
- "This address is not confirmed" : "Ta naslov ni potrjen",
- "Unset as primary email" : "Odstrani oznako osnovnega elektronskega naslova",
- "Set as primary email" : "Nastavi kot osnovni elektronski naslov",
- "Additional email address {index}" : "Dodatni elektronski naslov {index}",
- "Unable to delete primary email address" : "Ni mogoče izbrisati osnovnega elektronskega naslova",
- "Unable to update primary email address" : "Ni mogoče posodobiti osnovnega elektronskega naslova",
- "Unable to add additional email address" : "Ni mogoče dodati dodatnega elektronskega naslova",
- "Unable to update additional email address" : "Ni mogoče posodobiti dodatnega elektronskega naslova",
- "Unable to delete additional email address" : "Ni mogoče izbrisati dodatnega elektronskega naslova",
- "Primary email for password reset and notifications" : "Osnovni elektronski naslov za obnavljanje gesla in obvestila",
- "No email address set" : "Poštni naslov ni nastavljen",
- "Your handle" : "Ročnik",
- "Your headline" : "Vaš naslov",
- "Unable to update language" : "Ni mogoče posodobiti jezika",
- "Languages" : "Jeziki",
- "Help translate" : "Sodelujte pri prevajanju",
- "No language set" : "Jezik ni nastavljen",
- "Unable to update locale" : "Ni mogoče posodobiti jezikovnih nastavitev",
- "Locales" : "Jezikovne nastavitve",
- "Week starts on {firstDayOfWeek}" : "Prvi dan tedna je {firstDayOfWeek}",
- "No locale set" : "Ni določenih jezikovnih nastavitev",
- "Your city" : "Kraj bivanja",
- "Your organisation" : "Ustanova",
- "Your phone number" : "Osebna telefonska številka",
- "Edit your Profile visibility" : "Prilagodi vidnost profila",
- "Unable to update profile enabled state" : "Ni mogoče posodobiti omogočenega stanja profila",
- "Enable profile" : "Omogoči profil",
- "Unable to update visibility of {displayId}" : "Ni mogoče posodobiti vidnosti {displayId}",
- "Your role" : "Vloga",
- "Your X (formerly Twitter) handle" : "Osebni ročnik X (prej Twitter)",
- "Your website" : "Osebna spletna stran",
- "Invalid value" : "Neveljavna vrednost",
- "Unable to update {property}" : "Lastnosti {property} ni mogoče posodobiti",
- "No {property} set" : "Lastnost {property} ni nastavljena",
- "Change scope level of {property}, current scope is {scope}" : "Spremenite raven obsega lastnosti {property}, trenutno je določena kot {scope}",
- "Unable to update federation scope of the primary {property}" : "Ni mogoče posodobiti obsega zveznosti osnovne lastnosti {property}",
- "Unable to update federation scope of additional {property}" : "Ni mogoče posodobiti obsega zveznosti nadaljnjih lastnosti {property}",
- "Add additional email" : "Dodaj dodaten elektronski naslov",
- "Add" : "Dodaj",
- "Create" : "Ustvarjanje",
- "Change" : "Spreminjanje",
- "Delete" : "Brisanje",
- "Reshare" : "Nadaljnja souporaba",
- "Default language" : "Privzeti jezik",
- "Common languages" : "Splošni jeziki",
- "Other languages" : "Drugi jeziki",
- "Password change is disabled because the master key is disabled" : "Spreminjanje gesla je onemogočeno, ker je onemogočen tudi glavni šifrirni ključ",
- "No accounts" : "Ni računov",
- "Loading accounts …" : "Poteka nalaganje računov ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Seznam računov. Seznam zaradi zmogljivosti sistema ni v celoti prikazan. Podatki uporabnikov se nalagajo med pomikanjem po seznamu.",
- "Manager" : "Upravljalnik",
- "Account name will be autogenerated" : "iME RAČUNA bo samodejno ustvarjeno",
- "Account name (required)" : "Ime računa (zahtevano)",
- "New account" : "Nov račun",
- "Display name" : "Prikazno ime",
- "Either password or email is required" : "Zahtevano je ali geslo ali elektronski naslov",
- "Password (required)" : "Geslo (zahtevano)",
- "Email (required)" : "Elektronski naslov (zahtevano)",
- "Email" : "Elektronski naslov",
- "Member of the following groups" : "Član navedenih skupin",
- "Set account groups" : "Nastavi skupine računov",
- "Admin of the following groups" : "Skrbnik navedenih skupin",
- "Set account as admin for …" : "Nastavi račun kot skrbniški za ...",
- "Quota" : "Količinska omejitev",
- "Set account quota" : "Nastavi količinsko omejitev računa",
- "Language" : "Jezik",
- "Set default language" : "Nastavi privzeti jezik",
- "Add new account" : "Dodaj nov račun",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} račun ...","{userCount} računa ...","{userCount} računi ...","{userCount} računov ..."],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} račun ...","{userCount} računa ...","{userCount} računi ...","{userCount} računov ..."],
- "Total rows summary" : "Skupni povzetek vrstic",
- "Scroll to load more rows" : "Podrsajte za nalaganje več vrstic",
- "Password or insufficient permissions message" : "Sporočilo gesla oziroma neustreznih dovoljenj",
- "Avatar" : "Podoba",
- "Account name" : "Ime računa",
- "Group admin for" : "Skrbnik skupine za",
- "Account backend" : "Ozadnji program računa",
- "Storage location" : "Mesto shrambe",
- "Last login" : "Zadnja prijava",
- "Account actions" : "Dejanja računa",
- "{size} used" : "V uporabi {size}·",
- "Delete account" : "Izbriši račun",
- "Disconnect all devices and delete local data" : "Odklopi vse naprave in izbriši krajevne podatke",
- "Disable account" : "Onemogoči račun",
- "Enable account" : "Omogoči račun",
- "Resend welcome email" : "Ponovno pošlji potrditveno sporočilo",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Možnost omogoča varnostno brisanje podatkov Nextcloud z vseh naprav, povezanih z uporabniškim računom {userid}. Možnost deluje le, če so naprave povezane v spletno omrežje. Brisanje z oddaljenih naprav je uporabno v primeru izgubljene naprave, ali na primer prekinitve sodelovanja v neki skupini.",
- "Remote wipe of devices" : "Oddaljeno varnostno brisanje naprav",
- "Wipe {userid}'s devices" : "Varnostno izbriši naprave uporabniškega računa {userid}",
- "Wiped {userid}'s devices" : "Varnostno izbrisane naprave računa {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Izbriši račun »{userid}« vključno z osebnimi podatki, datotekami, programi ...",
- "Account deletion" : "Brisanje računa",
- "Delete {userid}'s account" : "Izbriši račun {userid}",
- "Display name was successfully changed" : "Prikazno ime je uspešno zamenjano",
- "Password was successfully changed" : "Geslo je uspešno spremenjeno",
- "Email was successfully changed" : "Elektronski naslov je uspešno spremenjen",
- "Welcome mail sent!" : "Potrditveno sporočilo je poslano!",
- "Loading account …" : "Poteka nalaganje računa ...",
- "Change display name" : "Spremeni prikazno ime",
- "Set new password" : "Nastavi novo geslo",
- "You do not have permissions to see the details of this account" : "Ni ustreznih dovoljenj za pregled podrobnosti tega računa",
- "Set new email address" : "Nastavi nov elektronski naslov",
- "Add account to group" : "Dodaj račun v skupino",
- "Set account as admin for" : "Nastavi račun kot skrbniški za ...",
- "Select account quota" : "Nastavi količinsko omejitev računa",
- "Set the language" : "Nastavi jezik",
- "Toggle account actions menu" : "Preklopi meni dejanj računa",
- "Done" : "Končano",
- "Edit" : "Uredi",
- "Account management settings" : "Nastavitve upravljalnika računov",
- "Visibility" : "Vidnost",
- "Show language" : "Pokaži jezik",
- "Show account backend" : "Pokaži ozadnji program računa",
- "Show storage path" : "Pokaži pot mesta shrambe",
- "Show last login" : "Pokaži zadnjo prijavo",
- "Sorting" : "Razvrščanje",
- "Group list sorting" : "Razvrščanje seznama skupin",
- "By member count" : "Po številu članov",
- "By name" : "Po imenu",
- "Send email" : "Pošlji elektronsko sporočilo",
- "Send welcome email to new accounts" : "Pošlji sporočilo novim za nove račune",
- "Defaults" : "Privzeto",
- "Default quota" : "Privzeta omejitev",
- "Select default quota" : "Izbor količinske omejitve",
- "Server error while trying to complete WebAuthn device registration" : "Prišlo je do strežniške napake med zaključevanjem vpisovanja naprave WebAuthn",
- "Passwordless authentication requires a secure connection." : "Brezgeselna overitev zahteva varno povezavo.",
- "Add WebAuthn device" : "Dodaj napravo WebAuthn",
- "Please authorize your WebAuthn device." : "Overite napravo WebAuthn",
- "Adding your device …" : "Poteka dodajanje naprave ..",
- "Unnamed device" : "Neimenovana naprava",
- "Passwordless Authentication" : "Brezgeselna overitev",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Nastavitev račun za brezgeselno overitev dostopa po standardu FIDO2.",
- "No devices configured." : "Ni nastavljenih naprav.",
- "The following devices are configured for your account:" : "Z vašim računom so povezane navedene naprave:",
- "Your browser does not support WebAuthn." : "Brskalnik ne podpira overitve WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Skrbnik lahko prilagodi možnosti souporabe. Več podrobnosti je zapisanih v dokumentaciji.",
- "You need to enable the File sharing App." : "Omogočiti je treba program Souporabe datotek.",
- "App Store" : "Programska trgovina",
- "Loading app list" : "Poteka nalaganje seznama programov ...",
- "Loading categories" : "Poteka nalaganje kategorij",
- "Developer documentation ↗" : "Dokumentacija za razvijalce ↗",
- "Version {version}, {license}-licensed" : "Različica {version}, z dovoljenjem {license}",
- "All accounts" : "Vsi računi",
- "Admins" : "Skrbniki",
- "Account group: {group}" : "Skupina računov: {group}",
- "Account management" : "Upravljanje z računi",
"Sending…" : "Poteka pošiljanje ...",
"Email sent" : "Elektronsko sporočilo je poslano",
"Location" : "Trenutno mesto",
@@ -602,6 +371,7 @@ OC.L10N.register(
"Date of birth" : "Datum rojstva",
"Full name" : "Polno ime",
"Additional email" : "Dodatni elektronski naslov",
+ "Email" : "Elektronski naslov",
"Fediverse (e.g. Mastodon)" : "Fediverse (na primer Mastodon)",
"Headline" : "Naslov",
"Organisation" : "Ustanova",
@@ -610,6 +380,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (prej Twitter)",
"Website" : "Spletna stran",
"Profile visibility" : "Vidnost profila",
+ "Language" : "Jezik",
"Locale" : "Jezikovne nastavitve",
"First day of week" : "Prvi dan tedna",
"Discover" : "Predstavitve",
@@ -623,11 +394,13 @@ OC.L10N.register(
"Show to everyone" : "Pokaži vsem",
"Show to logged in accounts only" : "Pokaži le prijavljenim računom",
"Hide" : "Skrij",
+ "Update to {version}" : "Posodobi na različico {version}",
"Download and enable" : "Prejmi in omogoči",
"Disable" : "Onemogoči",
"Allow untested app" : "Omogoči nepreizkušen program",
"The app will be downloaded from the App Store" : "Program bo prejet iz zbirke programov",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ta program ni označen kot skladen z nameščeno različico oblaka Nextcloud. Če nameravate nadaljevati, boste program lahko namestili, vendar ta morda ne bo deloval po pričakovanjih, ali pa bo vplival na stabilnost sistema.",
+ "{size} used" : "V uporabi {size}·",
"Unknown" : "Neznano",
"Never" : "Nikoli",
"Could not register device: Network error" : "Naprave ni mogoče vpisati: napaka omrežja",
@@ -645,8 +418,10 @@ OC.L10N.register(
"Could not set group sorting" : "Ni mogoče nastaviti razvrščanja skupine",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Iz omrežja je bilo prejetih preveč zahtev. Če je to napaka, stopite v stik s skrbnikom, sicer pa poskusite spet kasneje.",
"Error" : "Napaka",
+ "Default quota" : "Privzeta omejitev",
"Account documentation" : "Dokumentacija računa",
"Administration documentation" : "Skrbniška dokumentacija",
+ "Documentation" : "Dokumentacija",
"Forum" : "Forum",
"General documentation" : "Splošna dokumentacija",
"Legal notice" : "Pravno obvestilo",
@@ -668,6 +443,7 @@ OC.L10N.register(
"SMTP Password" : "Geslo SMTP",
"Save" : "Shrani",
"Test and verify email settings" : "Preizkusi in overi nastavitve elektronske pošte",
+ "Send email" : "Pošlji elektronsko sporočilo",
"Security & setup warnings" : "Varnost in namestitvena opozorila",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Zaradi varnosti in optimizacije delovanja je nujno, da je sistem posodobljen in pravilno nastavljen. Preverjanje poteka tako, da se nekateri preizkusi izvajajo sproti in samodejno. Več podrobnosti je zabeleženih v dokumentaciji. ",
"All checks passed." : "Vsa preverjanja so uspešno zaključena.",
@@ -691,9 +467,7 @@ OC.L10N.register(
"File locking" : "Zaklepanje datotek",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "Zaklepanje datotek je onemogočeno, kar lahko privede do različnih težav. V izogib zapletom je priporočljivo omogočiti možnost »filelocking.enabled« v datoteki config.php.",
"The PHP memory limit is below the recommended value of %s." : "Omejitev pomnilnika PHP je pod priporočeno mejo %s.",
- "Set default expiration date for shares" : "Nastavi privzeti datuma poteka za mesta souporabe",
- "Your biography" : "Biografija",
- "You are using <strong>{usage}</strong>" : "Uporabljate <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Uporabljate <strong>{usage}</strong> od <strong>{totalSpace}</strong> (<strong>{usageRelative} %</strong>)"
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "– Glava HTTP »%1$s« ne vključuje vrednosti »%2$s«. To predstavlja potencialno varnostno ali zasebnostno tveganje, zato je priporočljivo prilagoditi nastavitve.",
+ "Set default expiration date for shares" : "Nastavi privzeti datuma poteka za mesta souporabe"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/settings/l10n/sl.json b/apps/settings/l10n/sl.json
index 1b8237ec98d..318e9fadf24 100644
--- a/apps/settings/l10n/sl.json
+++ b/apps/settings/l10n/sl.json
@@ -224,7 +224,6 @@
"HTTP headers" : "Glave HTTP",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "– Glava HTTP »%1$s« ni nastavljena na pričakovano vrednost »%2$s«. Nekatere možnosti morda ne bodo delovale pravilno, zato je priporočljivo prilagoditi nastavitve.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "– Glava HTTP »%1$s« ni nastavljena na pričakovano vrednost »%2$s«. To predstavlja potencialno varnostno ali zasebnostno tveganje, zato je priporočljivo prilagoditi nastavitve.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "– Glava HTTP »%1$s« ne vključuje vrednosti »%2$s«. To predstavlja potencialno varnostno ali zasebnostno tveganje, zato je priporočljivo prilagoditi nastavitve.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "– Glava HTTP »%1$s« ni nastavljena na »%2$s«, »%3$s«, »%4$s«, »%5$s« ali »%6$s«. To la hko povzroči spuščanje sklicnih podatkov. Več o tem je zapisano na {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "– Glava HTTP za varen prenos podatkov »Strict-Transport-Security« ni nastavljena na vsaj »%d« sekund (trenutna vrednost je »%d«). Za večjo varnost je priporočljivo omogočiti pravila HSTS.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "– Glava HTTP za varen prenos podatkov »Strict-Transport-Security« je neustrezno oblikovana: »%s«. Za večjo varnost je priporočljivo omogočiti pravila HSTS.",
@@ -315,67 +314,6 @@
"Nothing to show" : "Ni vsebine za prikaz",
"Loading" : "Poteka nalaganje ...",
"Fetching the latest news…" : "Poteka pridobivanje zadnjih novic ...",
- "Previous slide" : "Predhodni prikaz",
- "Next slide" : "Naslednji prikaz",
- "Choose slide to display" : "Izbor vsebine za prikaz",
- "{index} of {total}" : "{index} od {total}",
- "Daemon" : "Ozadnji program",
- "Type" : "Vrsta",
- "Learn more" : "Prikaži več",
- "Confirm" : "Potrdi",
- "Cancel" : "Prekliči",
- "Description" : "Opis",
- "View in store" : "Pokaži v trgovini",
- "Visit website" : "Odpri spletno stran",
- "Usage documentation" : "Dokumentacija uporabe",
- "Admin documentation" : "Skrbniška dokumentacija",
- "Developer documentation" : "Dokumentacija za razvijalce",
- "Details" : "Podrobnosti",
- "All" : "Vsi",
- "Limit app usage to groups" : "Omeji uporabo programa na skupine",
- "No results" : "Ni zadetkov",
- "Update to {version}" : "Posodobi na različico {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Program nima določene omejitve različice okolja Nextcloud. V prihodnosti se bo manjkajoči podatek pokazal kot napaka.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Program nima določene omejitve različice okolja Nextcoud. V prihodnosti se bo manjkajoči podatek pokazal kot napaka.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Programa ni mogoče namestiti zaradi nerazrešenih odvisnosti:",
- "Latest updated" : "Nazadnje posodobljeno",
- "Author" : "Avtor",
- "Categories" : "Kategorije",
- "Resources" : "Viri",
- "Documentation" : "Dokumentacija",
- "Interact" : "Interakcija",
- "Report a bug" : "Pošlji poročilo o hrošču",
- "Request feature" : "Predlagaj zmožnost",
- "Ask questions or discuss" : "Vključi se v pogovor",
- "Rate the app" : "Oceni program",
- "Rate" : "Oceni",
- "Changelog" : "Dnevnik sprememb",
- "Google Chrome for Android" : "Google Chrome za Android",
- "{productName} iOS app" : "{productName} za iOS",
- "{productName} Android app" : "{productName} za Android",
- "{productName} Talk for iOS" : "{productName} Talk za iOS",
- "{productName} Talk for Android" : "{productName} Talk za Android",
- "Sync client" : "Odjemalec za usklajevanje",
- "This session" : "Ta seja",
- "{client} - {version} ({system})" : "{client} – {version} ({system})",
- "{client} - {version}" : "{client} – {version}",
- "Device name" : "Ime naprave",
- "Cancel renaming" : "Prekliči preimenovanje",
- "Save new name" : "Shrani novo ime",
- "Marked for remote wipe" : "Označeno za oddaljeno varnostno brisanje",
- "Device settings" : "Nastavitve naprave",
- "Allow filesystem access" : "Dovoli dostop do datotečnega sistema",
- "Rename" : "Preimenuj",
- "Revoke" : "Prekliči",
- "Wipe device" : "Varnostno izbriši napravo",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Obnovitev tega žetona lahko prepreči varnostno brisanje naprave, če se to še ni začelo.",
- "Device" : "Naprava",
- "Last activity" : "Zadnja dejavnost",
- "Devices & sessions" : "Naprave in seje",
- "Web, desktop and mobile clients currently logged in to your account." : "Spletne, namizne in mobilne naprave, ki so trenutno povezane z računom.",
- "Error while creating device token" : " Napaka med ustvarjanjem žetona naprave",
- "App name" : "Ime programa",
- "Create new app password" : "Ustvari novo geslo programa",
"App password copied!" : "Geslo programa je kopirano!",
"Copy app password" : "Kopiraj geslo programa",
"Login name copied!" : "Prijavno ime je kopirano!",
@@ -419,179 +357,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Priporočljivo je redno ustvarjati varnostne kopije podatkov, v primeru šifriranja pa varnostno kopirati tudi šifrirne ključe.",
"This is the final warning: Do you really want to enable encryption?" : "To je zadnje opozorilo. Ali res želite omogočiti šifriranje?",
"Please confirm the group removal" : "Potrditi je treba skupinsko odstranjevanje",
+ "Cancel" : "Prekliči",
+ "Confirm" : "Potrdi",
"Submit" : "Pošlji",
"Rename group" : "Preimenuj skupino",
- "Current password" : "Trenutno geslo",
- "New password" : "Novo geslo",
- "Change password" : "Spremeni geslo",
- "Choose your profile picture" : "Izbor slike profila",
- "Please select a valid png or jpg file" : "Izbrati je treba veljavno datoteko png ali jpg.",
- "Error setting profile picture" : "Napaka nastavljanja slike profila",
- "Error cropping profile picture" : "Napaka obrezovanja slike profila",
- "Error saving profile picture" : "Napaka shranjevanja slike profila",
- "Error removing profile picture" : "Napaka odstranjevanja slike profila",
- "Your profile picture" : "Slika profila",
- "Upload profile picture" : "Pošlji sliko profila",
- "Choose profile picture from Files" : "Izbor slike profila med datotekami",
- "Remove profile picture" : "Odstrani sliko profila",
- "The file must be a PNG or JPG" : "Datoteka mora biti v zapisu PNG ali JPG",
- "Picture provided by original account" : "Slika iz izvornega računa",
- "Set as profile picture" : "Nastavi sliko profila",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Upoštevajte, da lahko traja tudi 24 ur preden se slika profila posodobi na vseh mestih.",
- "Unable to update date of birth" : "Datuma rojstva ni mogoče posodobiti",
- "Enter your date of birth" : "Vpišite datum rojstva",
- "You are a member of the following groups:" : "Omogočeno je članstvo v skupinah:",
- "Your full name" : "Polno ime",
- "Email options" : "Možnosti elektronske pošte",
- "Options for additional email address {index}" : "Dodatni elektronski naslov {index}",
- "Remove primary email" : "Odstrani osnovni elektronski naslov",
- "Delete email" : "Izbriši elektronski naslov",
- "This address is not confirmed" : "Ta naslov ni potrjen",
- "Unset as primary email" : "Odstrani oznako osnovnega elektronskega naslova",
- "Set as primary email" : "Nastavi kot osnovni elektronski naslov",
- "Additional email address {index}" : "Dodatni elektronski naslov {index}",
- "Unable to delete primary email address" : "Ni mogoče izbrisati osnovnega elektronskega naslova",
- "Unable to update primary email address" : "Ni mogoče posodobiti osnovnega elektronskega naslova",
- "Unable to add additional email address" : "Ni mogoče dodati dodatnega elektronskega naslova",
- "Unable to update additional email address" : "Ni mogoče posodobiti dodatnega elektronskega naslova",
- "Unable to delete additional email address" : "Ni mogoče izbrisati dodatnega elektronskega naslova",
- "Primary email for password reset and notifications" : "Osnovni elektronski naslov za obnavljanje gesla in obvestila",
- "No email address set" : "Poštni naslov ni nastavljen",
- "Your handle" : "Ročnik",
- "Your headline" : "Vaš naslov",
- "Unable to update language" : "Ni mogoče posodobiti jezika",
- "Languages" : "Jeziki",
- "Help translate" : "Sodelujte pri prevajanju",
- "No language set" : "Jezik ni nastavljen",
- "Unable to update locale" : "Ni mogoče posodobiti jezikovnih nastavitev",
- "Locales" : "Jezikovne nastavitve",
- "Week starts on {firstDayOfWeek}" : "Prvi dan tedna je {firstDayOfWeek}",
- "No locale set" : "Ni določenih jezikovnih nastavitev",
- "Your city" : "Kraj bivanja",
- "Your organisation" : "Ustanova",
- "Your phone number" : "Osebna telefonska številka",
- "Edit your Profile visibility" : "Prilagodi vidnost profila",
- "Unable to update profile enabled state" : "Ni mogoče posodobiti omogočenega stanja profila",
- "Enable profile" : "Omogoči profil",
- "Unable to update visibility of {displayId}" : "Ni mogoče posodobiti vidnosti {displayId}",
- "Your role" : "Vloga",
- "Your X (formerly Twitter) handle" : "Osebni ročnik X (prej Twitter)",
- "Your website" : "Osebna spletna stran",
- "Invalid value" : "Neveljavna vrednost",
- "Unable to update {property}" : "Lastnosti {property} ni mogoče posodobiti",
- "No {property} set" : "Lastnost {property} ni nastavljena",
- "Change scope level of {property}, current scope is {scope}" : "Spremenite raven obsega lastnosti {property}, trenutno je določena kot {scope}",
- "Unable to update federation scope of the primary {property}" : "Ni mogoče posodobiti obsega zveznosti osnovne lastnosti {property}",
- "Unable to update federation scope of additional {property}" : "Ni mogoče posodobiti obsega zveznosti nadaljnjih lastnosti {property}",
- "Add additional email" : "Dodaj dodaten elektronski naslov",
- "Add" : "Dodaj",
- "Create" : "Ustvarjanje",
- "Change" : "Spreminjanje",
- "Delete" : "Brisanje",
- "Reshare" : "Nadaljnja souporaba",
- "Default language" : "Privzeti jezik",
- "Common languages" : "Splošni jeziki",
- "Other languages" : "Drugi jeziki",
- "Password change is disabled because the master key is disabled" : "Spreminjanje gesla je onemogočeno, ker je onemogočen tudi glavni šifrirni ključ",
- "No accounts" : "Ni računov",
- "Loading accounts …" : "Poteka nalaganje računov ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Seznam računov. Seznam zaradi zmogljivosti sistema ni v celoti prikazan. Podatki uporabnikov se nalagajo med pomikanjem po seznamu.",
- "Manager" : "Upravljalnik",
- "Account name will be autogenerated" : "iME RAČUNA bo samodejno ustvarjeno",
- "Account name (required)" : "Ime računa (zahtevano)",
- "New account" : "Nov račun",
- "Display name" : "Prikazno ime",
- "Either password or email is required" : "Zahtevano je ali geslo ali elektronski naslov",
- "Password (required)" : "Geslo (zahtevano)",
- "Email (required)" : "Elektronski naslov (zahtevano)",
- "Email" : "Elektronski naslov",
- "Member of the following groups" : "Član navedenih skupin",
- "Set account groups" : "Nastavi skupine računov",
- "Admin of the following groups" : "Skrbnik navedenih skupin",
- "Set account as admin for …" : "Nastavi račun kot skrbniški za ...",
- "Quota" : "Količinska omejitev",
- "Set account quota" : "Nastavi količinsko omejitev računa",
- "Language" : "Jezik",
- "Set default language" : "Nastavi privzeti jezik",
- "Add new account" : "Dodaj nov račun",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} račun ...","{userCount} računa ...","{userCount} računi ...","{userCount} računov ..."],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} račun ...","{userCount} računa ...","{userCount} računi ...","{userCount} računov ..."],
- "Total rows summary" : "Skupni povzetek vrstic",
- "Scroll to load more rows" : "Podrsajte za nalaganje več vrstic",
- "Password or insufficient permissions message" : "Sporočilo gesla oziroma neustreznih dovoljenj",
- "Avatar" : "Podoba",
- "Account name" : "Ime računa",
- "Group admin for" : "Skrbnik skupine za",
- "Account backend" : "Ozadnji program računa",
- "Storage location" : "Mesto shrambe",
- "Last login" : "Zadnja prijava",
- "Account actions" : "Dejanja računa",
- "{size} used" : "V uporabi {size}·",
- "Delete account" : "Izbriši račun",
- "Disconnect all devices and delete local data" : "Odklopi vse naprave in izbriši krajevne podatke",
- "Disable account" : "Onemogoči račun",
- "Enable account" : "Omogoči račun",
- "Resend welcome email" : "Ponovno pošlji potrditveno sporočilo",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Možnost omogoča varnostno brisanje podatkov Nextcloud z vseh naprav, povezanih z uporabniškim računom {userid}. Možnost deluje le, če so naprave povezane v spletno omrežje. Brisanje z oddaljenih naprav je uporabno v primeru izgubljene naprave, ali na primer prekinitve sodelovanja v neki skupini.",
- "Remote wipe of devices" : "Oddaljeno varnostno brisanje naprav",
- "Wipe {userid}'s devices" : "Varnostno izbriši naprave uporabniškega računa {userid}",
- "Wiped {userid}'s devices" : "Varnostno izbrisane naprave računa {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Izbriši račun »{userid}« vključno z osebnimi podatki, datotekami, programi ...",
- "Account deletion" : "Brisanje računa",
- "Delete {userid}'s account" : "Izbriši račun {userid}",
- "Display name was successfully changed" : "Prikazno ime je uspešno zamenjano",
- "Password was successfully changed" : "Geslo je uspešno spremenjeno",
- "Email was successfully changed" : "Elektronski naslov je uspešno spremenjen",
- "Welcome mail sent!" : "Potrditveno sporočilo je poslano!",
- "Loading account …" : "Poteka nalaganje računa ...",
- "Change display name" : "Spremeni prikazno ime",
- "Set new password" : "Nastavi novo geslo",
- "You do not have permissions to see the details of this account" : "Ni ustreznih dovoljenj za pregled podrobnosti tega računa",
- "Set new email address" : "Nastavi nov elektronski naslov",
- "Add account to group" : "Dodaj račun v skupino",
- "Set account as admin for" : "Nastavi račun kot skrbniški za ...",
- "Select account quota" : "Nastavi količinsko omejitev računa",
- "Set the language" : "Nastavi jezik",
- "Toggle account actions menu" : "Preklopi meni dejanj računa",
- "Done" : "Končano",
- "Edit" : "Uredi",
- "Account management settings" : "Nastavitve upravljalnika računov",
- "Visibility" : "Vidnost",
- "Show language" : "Pokaži jezik",
- "Show account backend" : "Pokaži ozadnji program računa",
- "Show storage path" : "Pokaži pot mesta shrambe",
- "Show last login" : "Pokaži zadnjo prijavo",
- "Sorting" : "Razvrščanje",
- "Group list sorting" : "Razvrščanje seznama skupin",
- "By member count" : "Po številu članov",
- "By name" : "Po imenu",
- "Send email" : "Pošlji elektronsko sporočilo",
- "Send welcome email to new accounts" : "Pošlji sporočilo novim za nove račune",
- "Defaults" : "Privzeto",
- "Default quota" : "Privzeta omejitev",
- "Select default quota" : "Izbor količinske omejitve",
- "Server error while trying to complete WebAuthn device registration" : "Prišlo je do strežniške napake med zaključevanjem vpisovanja naprave WebAuthn",
- "Passwordless authentication requires a secure connection." : "Brezgeselna overitev zahteva varno povezavo.",
- "Add WebAuthn device" : "Dodaj napravo WebAuthn",
- "Please authorize your WebAuthn device." : "Overite napravo WebAuthn",
- "Adding your device …" : "Poteka dodajanje naprave ..",
- "Unnamed device" : "Neimenovana naprava",
- "Passwordless Authentication" : "Brezgeselna overitev",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Nastavitev račun za brezgeselno overitev dostopa po standardu FIDO2.",
- "No devices configured." : "Ni nastavljenih naprav.",
- "The following devices are configured for your account:" : "Z vašim računom so povezane navedene naprave:",
- "Your browser does not support WebAuthn." : "Brskalnik ne podpira overitve WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Skrbnik lahko prilagodi možnosti souporabe. Več podrobnosti je zapisanih v dokumentaciji.",
- "You need to enable the File sharing App." : "Omogočiti je treba program Souporabe datotek.",
- "App Store" : "Programska trgovina",
- "Loading app list" : "Poteka nalaganje seznama programov ...",
- "Loading categories" : "Poteka nalaganje kategorij",
- "Developer documentation ↗" : "Dokumentacija za razvijalce ↗",
- "Version {version}, {license}-licensed" : "Različica {version}, z dovoljenjem {license}",
- "All accounts" : "Vsi računi",
- "Admins" : "Skrbniki",
- "Account group: {group}" : "Skupina računov: {group}",
- "Account management" : "Upravljanje z računi",
"Sending…" : "Poteka pošiljanje ...",
"Email sent" : "Elektronsko sporočilo je poslano",
"Location" : "Trenutno mesto",
@@ -600,6 +369,7 @@
"Date of birth" : "Datum rojstva",
"Full name" : "Polno ime",
"Additional email" : "Dodatni elektronski naslov",
+ "Email" : "Elektronski naslov",
"Fediverse (e.g. Mastodon)" : "Fediverse (na primer Mastodon)",
"Headline" : "Naslov",
"Organisation" : "Ustanova",
@@ -608,6 +378,7 @@
"X (formerly Twitter)" : "X (prej Twitter)",
"Website" : "Spletna stran",
"Profile visibility" : "Vidnost profila",
+ "Language" : "Jezik",
"Locale" : "Jezikovne nastavitve",
"First day of week" : "Prvi dan tedna",
"Discover" : "Predstavitve",
@@ -621,11 +392,13 @@
"Show to everyone" : "Pokaži vsem",
"Show to logged in accounts only" : "Pokaži le prijavljenim računom",
"Hide" : "Skrij",
+ "Update to {version}" : "Posodobi na različico {version}",
"Download and enable" : "Prejmi in omogoči",
"Disable" : "Onemogoči",
"Allow untested app" : "Omogoči nepreizkušen program",
"The app will be downloaded from the App Store" : "Program bo prejet iz zbirke programov",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ta program ni označen kot skladen z nameščeno različico oblaka Nextcloud. Če nameravate nadaljevati, boste program lahko namestili, vendar ta morda ne bo deloval po pričakovanjih, ali pa bo vplival na stabilnost sistema.",
+ "{size} used" : "V uporabi {size}·",
"Unknown" : "Neznano",
"Never" : "Nikoli",
"Could not register device: Network error" : "Naprave ni mogoče vpisati: napaka omrežja",
@@ -643,8 +416,10 @@
"Could not set group sorting" : "Ni mogoče nastaviti razvrščanja skupine",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Iz omrežja je bilo prejetih preveč zahtev. Če je to napaka, stopite v stik s skrbnikom, sicer pa poskusite spet kasneje.",
"Error" : "Napaka",
+ "Default quota" : "Privzeta omejitev",
"Account documentation" : "Dokumentacija računa",
"Administration documentation" : "Skrbniška dokumentacija",
+ "Documentation" : "Dokumentacija",
"Forum" : "Forum",
"General documentation" : "Splošna dokumentacija",
"Legal notice" : "Pravno obvestilo",
@@ -666,6 +441,7 @@
"SMTP Password" : "Geslo SMTP",
"Save" : "Shrani",
"Test and verify email settings" : "Preizkusi in overi nastavitve elektronske pošte",
+ "Send email" : "Pošlji elektronsko sporočilo",
"Security & setup warnings" : "Varnost in namestitvena opozorila",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Zaradi varnosti in optimizacije delovanja je nujno, da je sistem posodobljen in pravilno nastavljen. Preverjanje poteka tako, da se nekateri preizkusi izvajajo sproti in samodejno. Več podrobnosti je zabeleženih v dokumentaciji. ",
"All checks passed." : "Vsa preverjanja so uspešno zaključena.",
@@ -689,9 +465,7 @@
"File locking" : "Zaklepanje datotek",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "Zaklepanje datotek je onemogočeno, kar lahko privede do različnih težav. V izogib zapletom je priporočljivo omogočiti možnost »filelocking.enabled« v datoteki config.php.",
"The PHP memory limit is below the recommended value of %s." : "Omejitev pomnilnika PHP je pod priporočeno mejo %s.",
- "Set default expiration date for shares" : "Nastavi privzeti datuma poteka za mesta souporabe",
- "Your biography" : "Biografija",
- "You are using <strong>{usage}</strong>" : "Uporabljate <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Uporabljate <strong>{usage}</strong> od <strong>{totalSpace}</strong> (<strong>{usageRelative} %</strong>)"
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "– Glava HTTP »%1$s« ne vključuje vrednosti »%2$s«. To predstavlja potencialno varnostno ali zasebnostno tveganje, zato je priporočljivo prilagoditi nastavitve.",
+ "Set default expiration date for shares" : "Nastavi privzeti datuma poteka za mesta souporabe"
},"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/settings/l10n/sq.js b/apps/settings/l10n/sq.js
index 51619af59c0..5eddf794077 100644
--- a/apps/settings/l10n/sq.js
+++ b/apps/settings/l10n/sq.js
@@ -97,42 +97,6 @@ OC.L10N.register(
"Actions" : "Veprimet",
"No apps found for your version" : "S’u gjetën aplikacione për versionin tuaj",
"Group name" : "Emër grupi",
- "Type" : "Tipi",
- "Display Name" : "Trego Emrin",
- "Learn more" : "Mësoni më shumë",
- "Confirm" : "Konfirmo",
- "Cancel" : "Anuloje",
- "Description" : "Përshkrim",
- "View in store" : "Shiko në dyqan",
- "Visit website" : "Vizitoni sajtin",
- "Admin documentation" : "Dokumentim për përgjegjësit",
- "Developer documentation" : "Dokumentim për zhvillues",
- "Details" : "Detaje",
- "All" : "Krejt",
- "No results" : "Asnjë rezultat",
- "Update to {version}" : "Përditëso në {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Ky aplikacion nuk ka të caktuar një minimum versioni të Nextcloud. Ky do të jetë një gabim në të ardhmen.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ky aplikacion nuk ka të caktuar një maksimum versioni të Nextcloud. Ky do të jetë një gabim në të ardhmen.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ky aplikacion s’mund të instalohet, ngaqë për të nuk plotësohen varësitë vijuese:",
- "Categories" : "Kategoritë",
- "Resources" : "Burimet",
- "Documentation" : "Dokumentacioni",
- "Report a bug" : "Njoftoni një të metë",
- "Request feature" : "Kërkoni një karakteristikë",
- "Ask questions or discuss" : "Pyesni ose diskutoni",
- "Rate" : "Vlerësoj",
- "Changelog" : "Katalogu i ndryshimeve",
- "Google Chrome for Android" : "Google Chrome për Android",
- "This session" : "Ky sesion",
- "Allow filesystem access" : "Lejo aksesin e sistemit të skedarëve",
- "Rename" : "Rename",
- "Revoke" : "Anulo",
- "Device" : "Pajisje",
- "Last activity" : "Aktiviteti i fundit",
- "Web, desktop and mobile clients currently logged in to your account." : "Klientë në rrjet, desktop dhe celular kanë hyrë aktualisht në llogarinë tuaj.",
- "Error while creating device token" : "Gabim gjatë krijimit të token-ëve të pajisjejeve",
- "App name" : "Emër aplikacioni",
- "Create new app password" : "Krijoni fjalëkalim aplikacioni të ri",
"Login" : "Hyrje",
"Password" : "Fjalëkalim",
"Password confirmation is required" : "Kërkohet konfirmimi i fjalëkalimit",
@@ -147,58 +111,34 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "Kini parasysh që fshehtëzimi e rrit gjithnjë madhësinë e kartelës.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Është gjithmonë ide e mirë të krijohen kopjeruajtje të rregullta të të dhënave tuaja, në rast fshehtëzimi sigurohuni që bëni kopjeruajtje të kyçeve të fshehtëzimit, tok me të dhënat tuaja.",
"This is the final warning: Do you really want to enable encryption?" : "Ky është sinjalizimi përfundimtar: Doni vërtet të aktivizohet fshehtëzimi?",
+ "Cancel" : "Anuloje",
+ "Confirm" : "Konfirmo",
"Submit" : "Dërgo",
- "Current password" : "Fjalëkalimi i tanishëm",
- "New password" : "Fjalëkalimi i ri",
- "Change password" : "Ndrysho fjalëkalimin",
- "Picture provided by original account" : "Foto e prurë nga llogaria origjinale",
- "No email address set" : "S’është caktuar adresë email",
- "Help translate" : "Ndihmoni në përkthim",
- "Your phone number" : "Numri juaj i telefonit",
- "Your website" : "Website-i juaj",
- "Add" : "Shto",
- "Create" : "Krijo",
- "Change" : "Ndrysho",
- "Delete" : "Fshij",
- "Display name" : "Shfaq emrin",
- "Email" : "Email",
- "Quota" : "Kuota",
- "Language" : "Gjuhë",
- "Avatar" : "Avatari",
- "Group admin for" : "Administratori i grupit për",
- "Storage location" : "Vendndodhje Depozite",
- "Last login" : "Hyrja e fundit",
- "Account actions" : "Veprimet e llogarisë",
- "{size} used" : "{size} e përdorur",
- "Delete account" : "Fshij llogarinë",
- "Done" : "U bë",
- "Edit" : "Përpuno",
- "Show last login" : "Shfaq hyrjen e fundit",
- "Send email" : "Dërgo email",
- "Default quota" : "Kuota Parazgjedhje",
- "Adding your device …" : "Shtoni pajisjen tuaj ...",
- "Unnamed device" : "Paisje pa emër",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Si admin ju mund të rregulloni mirë sjelljen e ndarjes. Ju lutem shih dokumentacionin për më shumë informacion.",
- "Admins" : "Administratorë",
"Sending…" : "dërgim",
"Email sent" : "Email-i u dërgua",
"Location" : "Vendndodhje",
"Profile picture" : "Foto profili",
"About" : "Rreth ",
"Full name" : "Emër i plotë",
+ "Email" : "Email",
"Phone number" : "Numri i telefonit",
"Website" : "Faqe web-i",
+ "Language" : "Gjuhë",
"Your apps" : "Aplikacionet tuaja ",
"Active apps" : "Aplikacionet aktive",
"Disabled apps" : "Aplikacionet pa aftësi ",
"Updates" : "Përditësime",
"App bundles" : "Pako e aplikacionit ",
"Hide" : "Fshihe",
+ "Update to {version}" : "Përditëso në {version}",
"Disable" : "Çaktivizoje",
+ "{size} used" : "{size} e përdorur",
"Unknown" : "I panjohur",
"Never" : "Kurrë",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikacioni është aktivizuar, por lyp të përditësohet. Do të ridrejtoheni te faqja e përditësimeve brenda 5 sekondash.",
"Error" : "Gabim",
+ "Default quota" : "Kuota Parazgjedhje",
+ "Documentation" : "Dokumentacioni",
"Forum" : "Forum",
"SSL" : "SSL",
"Open documentation" : "Hapni dokumentimin",
@@ -213,6 +153,7 @@ OC.L10N.register(
"Credentials" : "Kredenciale",
"SMTP Password" : "Fjalëkalim SMTP",
"Save" : "Ruaj",
+ "Send email" : "Dërgo email",
"Security & setup warnings" : "Sinjalizime sigurie & rregullimi",
"All checks passed." : "I kaloi krejt kontrollet.",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Zhvilluar nga {communityopen}komuniteti Nextcloud {linkclose}, {githubopen}kodi i hapur{linkclose} iështë licensuar sipar {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/sq.json b/apps/settings/l10n/sq.json
index 544389daab3..65e0c93b1b0 100644
--- a/apps/settings/l10n/sq.json
+++ b/apps/settings/l10n/sq.json
@@ -95,42 +95,6 @@
"Actions" : "Veprimet",
"No apps found for your version" : "S’u gjetën aplikacione për versionin tuaj",
"Group name" : "Emër grupi",
- "Type" : "Tipi",
- "Display Name" : "Trego Emrin",
- "Learn more" : "Mësoni më shumë",
- "Confirm" : "Konfirmo",
- "Cancel" : "Anuloje",
- "Description" : "Përshkrim",
- "View in store" : "Shiko në dyqan",
- "Visit website" : "Vizitoni sajtin",
- "Admin documentation" : "Dokumentim për përgjegjësit",
- "Developer documentation" : "Dokumentim për zhvillues",
- "Details" : "Detaje",
- "All" : "Krejt",
- "No results" : "Asnjë rezultat",
- "Update to {version}" : "Përditëso në {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Ky aplikacion nuk ka të caktuar një minimum versioni të Nextcloud. Ky do të jetë një gabim në të ardhmen.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ky aplikacion nuk ka të caktuar një maksimum versioni të Nextcloud. Ky do të jetë një gabim në të ardhmen.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ky aplikacion s’mund të instalohet, ngaqë për të nuk plotësohen varësitë vijuese:",
- "Categories" : "Kategoritë",
- "Resources" : "Burimet",
- "Documentation" : "Dokumentacioni",
- "Report a bug" : "Njoftoni një të metë",
- "Request feature" : "Kërkoni një karakteristikë",
- "Ask questions or discuss" : "Pyesni ose diskutoni",
- "Rate" : "Vlerësoj",
- "Changelog" : "Katalogu i ndryshimeve",
- "Google Chrome for Android" : "Google Chrome për Android",
- "This session" : "Ky sesion",
- "Allow filesystem access" : "Lejo aksesin e sistemit të skedarëve",
- "Rename" : "Rename",
- "Revoke" : "Anulo",
- "Device" : "Pajisje",
- "Last activity" : "Aktiviteti i fundit",
- "Web, desktop and mobile clients currently logged in to your account." : "Klientë në rrjet, desktop dhe celular kanë hyrë aktualisht në llogarinë tuaj.",
- "Error while creating device token" : "Gabim gjatë krijimit të token-ëve të pajisjejeve",
- "App name" : "Emër aplikacioni",
- "Create new app password" : "Krijoni fjalëkalim aplikacioni të ri",
"Login" : "Hyrje",
"Password" : "Fjalëkalim",
"Password confirmation is required" : "Kërkohet konfirmimi i fjalëkalimit",
@@ -145,58 +109,34 @@
"Be aware that encryption always increases the file size." : "Kini parasysh që fshehtëzimi e rrit gjithnjë madhësinë e kartelës.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Është gjithmonë ide e mirë të krijohen kopjeruajtje të rregullta të të dhënave tuaja, në rast fshehtëzimi sigurohuni që bëni kopjeruajtje të kyçeve të fshehtëzimit, tok me të dhënat tuaja.",
"This is the final warning: Do you really want to enable encryption?" : "Ky është sinjalizimi përfundimtar: Doni vërtet të aktivizohet fshehtëzimi?",
+ "Cancel" : "Anuloje",
+ "Confirm" : "Konfirmo",
"Submit" : "Dërgo",
- "Current password" : "Fjalëkalimi i tanishëm",
- "New password" : "Fjalëkalimi i ri",
- "Change password" : "Ndrysho fjalëkalimin",
- "Picture provided by original account" : "Foto e prurë nga llogaria origjinale",
- "No email address set" : "S’është caktuar adresë email",
- "Help translate" : "Ndihmoni në përkthim",
- "Your phone number" : "Numri juaj i telefonit",
- "Your website" : "Website-i juaj",
- "Add" : "Shto",
- "Create" : "Krijo",
- "Change" : "Ndrysho",
- "Delete" : "Fshij",
- "Display name" : "Shfaq emrin",
- "Email" : "Email",
- "Quota" : "Kuota",
- "Language" : "Gjuhë",
- "Avatar" : "Avatari",
- "Group admin for" : "Administratori i grupit për",
- "Storage location" : "Vendndodhje Depozite",
- "Last login" : "Hyrja e fundit",
- "Account actions" : "Veprimet e llogarisë",
- "{size} used" : "{size} e përdorur",
- "Delete account" : "Fshij llogarinë",
- "Done" : "U bë",
- "Edit" : "Përpuno",
- "Show last login" : "Shfaq hyrjen e fundit",
- "Send email" : "Dërgo email",
- "Default quota" : "Kuota Parazgjedhje",
- "Adding your device …" : "Shtoni pajisjen tuaj ...",
- "Unnamed device" : "Paisje pa emër",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Si admin ju mund të rregulloni mirë sjelljen e ndarjes. Ju lutem shih dokumentacionin për më shumë informacion.",
- "Admins" : "Administratorë",
"Sending…" : "dërgim",
"Email sent" : "Email-i u dërgua",
"Location" : "Vendndodhje",
"Profile picture" : "Foto profili",
"About" : "Rreth ",
"Full name" : "Emër i plotë",
+ "Email" : "Email",
"Phone number" : "Numri i telefonit",
"Website" : "Faqe web-i",
+ "Language" : "Gjuhë",
"Your apps" : "Aplikacionet tuaja ",
"Active apps" : "Aplikacionet aktive",
"Disabled apps" : "Aplikacionet pa aftësi ",
"Updates" : "Përditësime",
"App bundles" : "Pako e aplikacionit ",
"Hide" : "Fshihe",
+ "Update to {version}" : "Përditëso në {version}",
"Disable" : "Çaktivizoje",
+ "{size} used" : "{size} e përdorur",
"Unknown" : "I panjohur",
"Never" : "Kurrë",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikacioni është aktivizuar, por lyp të përditësohet. Do të ridrejtoheni te faqja e përditësimeve brenda 5 sekondash.",
"Error" : "Gabim",
+ "Default quota" : "Kuota Parazgjedhje",
+ "Documentation" : "Dokumentacioni",
"Forum" : "Forum",
"SSL" : "SSL",
"Open documentation" : "Hapni dokumentimin",
@@ -211,6 +151,7 @@
"Credentials" : "Kredenciale",
"SMTP Password" : "Fjalëkalim SMTP",
"Save" : "Ruaj",
+ "Send email" : "Dërgo email",
"Security & setup warnings" : "Sinjalizime sigurie & rregullimi",
"All checks passed." : "I kaloi krejt kontrollet.",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Zhvilluar nga {communityopen}komuniteti Nextcloud {linkclose}, {githubopen}kodi i hapur{linkclose} iështë licensuar sipar {licenseopen}AGPL{linkclose}.",
diff --git a/apps/settings/l10n/sr.js b/apps/settings/l10n/sr.js
index 904dca70386..398ac60df20 100644
--- a/apps/settings/l10n/sr.js
+++ b/apps/settings/l10n/sr.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP заглавља",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- HTTP заглавље `%1$s` није подешено на `%2$s`. Неке функције можда неће радити исправно, па се препоручује да га поставите на одговарајућу вредност.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP заглавље `%1$s` није подешено на `%2$s`. Ово је потенцијални безбедносни ризик или може да угрози приватност, па се препоручује да га поставите на одговарајућу вредност.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP заглавље `%1$s` не садржи `%2$s`. Ово је потенцијални безбедносни ризик или може да угрози приватност, па се препоручује да га поставите на одговарајућу вредност.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- HTTP заглавље `%1$s` није постављено на `%2$s`, `%3$s`, `%4$s`, `%5$s` или `%6$s`. Услед тога могу процурити информације у упућивачу. Погледајте {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- HTTP заглавље `Strict-Transport-Security` није постављено на барем `%d` секунди (тренутна вредност је: `%d`). Препорука за унапређену безбедност је да се користи дуготрајна HSTS полиса.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- HTTP заглавље `Strict-Transport-Security` није исправно постављено: `%s`. Препорука за унапређену безбедност је да укључите HSTS.",
@@ -447,97 +446,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Не може да се учита садржај одељка из продавнице апликација.",
"Loading" : "Учитавам",
"Fetching the latest news…" : "Преузимање најновијих вести",
- "Carousel" : "Карусел",
- "Previous slide" : "Претходни слајд",
- "Next slide" : "Наредни слајд",
- "Choose slide to display" : "Изаберите слајд за приказ",
- "{index} of {total}" : "{index} од {total}",
- "Daemon" : "Сервис",
- "Deploy Daemon" : "Даемон за постављање",
- "Type" : "Тип",
- "Display Name" : "Име за приказ",
- "GPUs support" : "Подршка за GPU",
- "Compute device" : "Рачунарски уређај",
- "Advanced deploy options" : "Напредне опције постављања",
- "Edit ExApp deploy options before installation" : "Уреди ExApp опције постављања пре инсталације",
- "Configured ExApp deploy options. Can be set only during installation" : "Конфигурисане су ExApp опције постављања. Може да се постави само током инсталације",
- "Learn more" : "Сазнајте више",
- "Environment variables" : "Променљиве окружења",
- "ExApp container environment variables" : "Променљиве окружења ExApp контејнера",
- "No environment variables defined" : "Није дефинисана ниједна променљиве окружења",
- "Mounts" : "Монтирања",
- "Define host folder mounts to bind to the ExApp container" : "Дефинише монтирања фолдера на хосту која се везују са ExApp контејнером",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Мора да постоји на хосту даемона постављања пре него што се инсталира ExApp",
- "Host path" : "Путања на хосту",
- "Container path" : "Путања контејнера",
- "Read-only" : "Само-за-читање",
- "Remove mount" : "Уклони монтирање",
- "New mount" : "Ново монтирање",
- "Enter path to host folder" : "Унесите путању до фолдера на хосту",
- "Enter path to container folder" : "Унесите путању до фолдера са контејнером",
- "Toggle read-only mode" : "Укључи/искључи режим само-за-читање",
- "Confirm adding new mount" : "Потврди додавање новог монтирања",
- "Confirm" : "Потврди",
- "Cancel adding mount" : "Откажи додавање монтирања",
- "Cancel" : "Откажи",
- "Add mount" : "Додај монтирање",
- "ExApp container mounts" : "Монтирања ExApp контејнера",
- "No mounts defined" : "Није дефинисано ниједно монтирање",
- "Description" : "Опис",
- "View in store" : "Погледај у продавници",
- "Visit website" : "Посети веб сајт",
- "Usage documentation" : "Документација о употреби",
- "Admin documentation" : "Администраторска документација",
- "Developer documentation" : "Програмерска документација",
- "Details" : "Детаљи",
- "All" : "Све",
- "Limit app usage to groups" : "Ограничи коришћење апликације на групе",
- "No results" : "Нема резултата",
- "Update to {version}" : "Ажурирај на верзију {version}",
- "Deploy options" : "Опције постављања",
- "Default Deploy daemon is not accessible" : "Није доступан подразумевани даемон за постављање ",
- "Delete data on remove" : "Обриши податке приликом уклањања",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Ова апликација нема дефинисану минималну верзију Некстклауда на којој ради. Ово ће у будућности постати грешка.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ова апликација нема дефинисану максималну верзију Некстклауда на којој ради. Ово ће у будућности постати грешка.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Апликација се не може инсталирати јер следеће зависности нису испуњене:",
- "Latest updated" : "Последњи пут ажурирано",
- "Author" : "Аутор",
- "Categories" : "Категорије",
- "Resources" : "Ресурси",
- "Documentation" : "Документација",
- "Interact" : "Остварите узајамно деловање",
- "Report a bug" : "Пријави проблем",
- "Request feature" : "Затражи функционалност",
- "Ask questions or discuss" : "Питајте питање или дискутујте",
- "Rate the app" : "Оцените апликацију",
- "Rate" : "Оцени",
- "Changelog" : "Дневник измена",
- "Google Chrome for Android" : "Google Chrome за Андроид",
- "{productName} iOS app" : "{productName} iOS апликација",
- "{productName} Android app" : "{productName} Android апликација",
- "{productName} Talk for iOS" : "{productName} Talk за iOS",
- "{productName} Talk for Android" : "{productName} Talk за Android",
- "Sync client" : "Клијент за синхронизовање",
- "This session" : "Ова сесија",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Назив уређаја",
- "Cancel renaming" : "Откажи промену имена",
- "Save new name" : "Сачувај ново име",
- "Marked for remote wipe" : "Означено за удаљено брисање",
- "Device settings" : "Подешавања уређаја",
- "Allow filesystem access" : "Дозволи приступ фајловима",
- "Rename" : "Преименуј",
- "Revoke" : "Повуци",
- "Wipe device" : "Очисти уређај",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Опозив овог жетона може да спречи брисање вашег уређаја у случају да брисање још увек није започето.",
- "Device" : "Уређај",
- "Last activity" : "Последња активност",
- "Devices & sessions" : "Уређаји & сесије",
- "Web, desktop and mobile clients currently logged in to your account." : "Веб, рачунарски и мобилни клијенти тренутно пријављени на Ваш налог.",
- "Error while creating device token" : "Грешка при прављењу токена на уређају",
- "App name" : "Назив апликације",
- "Create new app password" : "Направите нову лозинку апликације",
"App password copied!" : "Копирана је лозинка апликације!",
"Copy app password" : "Копирај лозинку апликације",
"Login name copied!" : "Копирано име за пријаву!",
@@ -591,203 +499,11 @@ OC.L10N.register(
"Failed to delete group \"{group}\"" : "Није успело брисање групе „{group}”",
"Please confirm the group removal" : "Молимо вас да потврдите уклањање групе",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Управо ћете обрисати групу „{group}”. Налози се НЕЋЕ обрисати.",
+ "Cancel" : "Откажи",
+ "Confirm" : "Потврди",
"Submit" : "Пошаљи",
"Rename group" : "Промени име групе",
"Delete group" : "Брисање групе",
- "Current password" : "Тренутна лозинка",
- "New password" : "Нова лозинка",
- "Change password" : "Измени лозинку",
- "Choose your profile picture" : "Изаберите слику за свој профил",
- "Please select a valid png or jpg file" : "Молимо вас изаберите исправан png или jpg фајл",
- "Error setting profile picture" : "Грешка приликом постављања слике профила",
- "Error cropping profile picture" : "Грешка приликом опсецања слике профила",
- "Error saving profile picture" : "Грешка приликом чувања слике профила",
- "Error removing profile picture" : "Грешка приликом уклањања слике профила",
- "Your profile picture" : "Ваша слика профила",
- "Upload profile picture" : "Отпреми слику профила",
- "Choose profile picture from Files" : "Изабери слику профила из Фајлова",
- "Remove profile picture" : "Уклони слику профила",
- "The file must be a PNG or JPG" : "Фајл мора да буде PNG или JPG",
- "Picture provided by original account" : "Слика оригиналног налога",
- "Set as profile picture" : "Постави као слику профила",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Молимо вас да имате на уму да може проћи до 24 часа док се слика вашег профила не ажурира на свим местима.",
- "Your biography. Markdown is supported." : "Ваша биографија. Подржава се употреба Markdown означавања.",
- "Unable to update date of birth" : "Није успело ажурирање датума рођења",
- "Enter your date of birth" : "Унесите датум свог рођења",
- "You are using {s}{usage}{/s}" : "Користите {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Користите {s}{usage}{/s} од {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Члан сте следећих група:",
- "Your full name" : "Ваше пуно име",
- "Email options" : "Опције за и-мејл",
- "Options for additional email address {index}" : "Опције за додатну и-мејл адресу {index}",
- "Remove primary email" : "Уклони примарни и-мејл",
- "Delete email" : "Обриши и-мејл",
- "This address is not confirmed" : "Ова адреса није потврђена",
- "Unset as primary email" : "Постави да није примарни и-мејл",
- "Set as primary email" : "Постави као примарни и-мејл",
- "Additional email address {index}" : "Додатна и-мејл адреса {index}",
- "Unable to delete primary email address" : "Примарна и-мејл адреса не може да се обрише",
- "Unable to update primary email address" : "Примарна и-мејл адреса није могла да се ажурира",
- "Unable to add additional email address" : "Не може да се дода додатна и-мејл адреса",
- "Unable to update additional email address" : "Додатна и-мејл адреса није могла да се ажурира",
- "Unable to delete additional email address" : "Додатна и-мејл адреса не може да се обрише",
- "Primary email for password reset and notifications" : "Примарни и-мејл за ресетовање лозинке и обавештења",
- "No email address set" : "Није постављена адреса е-поште",
- "Your handle" : "Ваша ручка",
- "Derived from your locale ({weekDayName})" : "Закључено из вашег локале подешавања ({weekDayName})",
- "Unable to update first day of week" : "Није успело ажурирање првог дана недеље",
- "Day to use as the first day of week" : "Дан који се користи као први дан недеље",
- "Your headline" : "Ваша насловна линија",
- "Unable to update language" : "Језик није могао да се ажурира",
- "Languages" : "Језици",
- "Help translate" : " Помозите у превођењу",
- "No language set" : "Ниједан језик није постављен",
- "Unable to update locale" : "Локалитет није могао да се ажурира",
- "Locales" : "Локалитети",
- "Week starts on {firstDayOfWeek}" : "Недеља почиње у {firstDayOfWeek}",
- "No locale set" : "Није постављен локалитет",
- "Your city" : "Ваш град",
- "Your organisation" : "Ваша организација",
- "Your phone number" : "Ваш број телефона",
- "Edit your Profile visibility" : "Уредите видљивост вашег профила",
- "Unable to update profile enabled state" : "Није могло да се ажурира стање профила",
- "Enable profile" : "Укључи профил",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "На вашем провилу се поштује рестриктивније подешавање било видљивости, било опсега важења. На пример, ако је видљивост постављена на „Прикажи свима”, а опсег важења на „Приватан”, поштује се „Приватан”.",
- "Unable to update visibility of {displayId}" : "Није успело ажурирање видљивости {displayId}",
- "she/her" : "она/њен",
- "he/him" : "он/њему",
- "they/them" : "они/њима",
- "Your role" : "Ваша улога",
- "Your X (formerly Twitter) handle" : "Ваша X (бивши Twitter) ручка",
- "Your website" : "Ваш веб сајт",
- "Invalid value" : "Неисправна вредност",
- "Unable to update {property}" : "Није успело ажурирање {property}",
- "No {property} set" : "{property} није постављено",
- "Change scope level of {property}, current scope is {scope}" : "Измена опсега важења {property}, тренутни опсег важења је {scope}",
- "Unable to update federation scope of the primary {property}" : "Није успело ажурирање опсега важења федерације примарне {property}",
- "Unable to update federation scope of additional {property}" : "Није успело ажурирање опсега важења федерације додатне {property}",
- "Add additional email" : "Додај додатни и-мејл",
- "Add" : "Додај",
- "Create" : "Направи",
- "Change" : "Измени",
- "Delete" : "Обриши",
- "Reshare" : "Дели даље",
- "Default language" : "Подразумевани језик",
- "Common languages" : "Најкоришћенији језици",
- "Other languages" : "Остали језици",
- "Password change is disabled because the master key is disabled" : "Промена лозинке је искључена пошто је главни кључ искључен",
- "No accounts" : "Нема налога",
- "Loading accounts …" : "Учитавање налога",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Листа налога. Услед разлога везаних за перформансе, ова листа се не приказује у потпуности. Налози ће се приказивати како се будете кретали кроз листу.",
- "Manager" : "Менаџер",
- "Set line manager" : "Избор надређеног менаџера",
- "Account name will be autogenerated" : "Име налога ће бити генерисано аутоматски",
- "Account name (required)" : "Име налога (обавезно)",
- "Failed to search groups" : "Није успело претраживање група",
- "New account" : "Нови налог",
- "Display name" : "Име за приказ",
- "Either password or email is required" : "Неопходна је или лозинка или и-мејл",
- "Password (required)" : "Лозинка (обавезно)",
- "Email (required)" : "И-мејл (обавезно)",
- "Email" : "Е-пошта",
- "Member of the following groups (required)" : "Члан следећих група (неопходно)",
- "Member of the following groups" : "Члан следећих група",
- "Set account groups" : "Постави групе налога",
- "Admin of the following groups" : "Админ следећих група",
- "Set account as admin for …" : "Постави налог као администратора за",
- "Quota" : "Квота",
- "Set account quota" : "Постави квоту за налог",
- "Language" : "Језик",
- "Set default language" : "Постави подразумевани језик",
- "Add new account" : "Додај нови налог",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} налог…","{userCount} налога…","{userCount} налога…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} налог","{userCount} налога","{userCount} налога"],
- "Total rows summary" : "Резиме укупног броја редова",
- "Scroll to load more rows" : "Скролујте да се учита још редова",
- "Password or insufficient permissions message" : "Порука о лозинки или недовољним дозволама",
- "Avatar" : "Аватар",
- "Account name" : "Име рачуна",
- "Group admin for" : "Администратор групе за",
- "Account backend" : "Позадински механизам за налоге",
- "Storage location" : "Локација складишта",
- "First login" : "Прва пријава",
- "Last login" : "Последња пријава",
- "Account actions" : "Акције налога",
- "{size} used" : "{size} искоришћено",
- "Delete account" : "Обриши рачун",
- "Disconnect all devices and delete local data" : "Раскини везу са свим уређајима и обриши локалне податке",
- "Disable account" : "Искључи налог",
- "Enable account" : "Укључи налог",
- "Resend welcome email" : "Поново пошаљи е-пошту добродошлице",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "У случају изгубљеног уређаја или напуштања организације, овим се могу удаљено обрисати Некстклауд подаци са свих уређаја повезаних са налогом {userid}. Ради само ако је уређај повезан на интернет.",
- "Remote wipe of devices" : "Удаљено брисање уређаја",
- "Wipe {userid}'s devices" : "Обриши уређај од корисника {userid}",
- "Wiped {userid}'s devices" : "Обрисани уређаји корисника {userid}",
- "Failed to load groups with details" : "Није успело учитавање група са детаљима",
- "Failed to load sub admin groups with details" : "Није успело учитавање под админ група са детаљима",
- "Failed to update line manager" : "Није успело ажурирање надређеног менаџера",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Комплетно брисање уређаја са налога корисника {userid} укључујући све личне фајлове, апликативне податке, итд.",
- "Account deletion" : "Брисање налога",
- "Delete {userid}'s account" : "Обриши налог корисника {userid}",
- "Display name was successfully changed" : "Име за приказ је успешно промењено",
- "Password can't be empty" : "Лозинка не може да буде празна",
- "Password was successfully changed" : "Лозинка је усшешно промењена",
- "Email can't be empty" : "И-мејл не може да буде празан",
- "Email was successfully changed" : "И-мејл је успешно промењен",
- "Welcome mail sent!" : "Е-пошта добродошлице послата!",
- "Loading account …" : "Налог се учитава…",
- "Change display name" : "Промени име за приказ",
- "Set new password" : "Постави нову лозинку",
- "You do not have permissions to see the details of this account" : "Немате дозволе да видите детаље о овом налогу",
- "Set new email address" : "Постави нову адресу е-поште",
- "Add account to group" : "Додај налог у групу",
- "Set account as admin for" : "Постави налог као администратора за",
- "Select account quota" : "Одаберите квоту за налог",
- "Set the language" : "Постави језик",
- "Toggle account actions menu" : "Укључи/искључи мени са акцијама налога",
- "Done" : "Завршено",
- "Edit" : "Измени",
- "Account management settings" : "Подешавања управљања налозима",
- "Visibility" : "Видљивост",
- "Show language" : "Прикажи језик",
- "Show account backend" : "Прикажи позадински механизам за налоге",
- "Show storage path" : "Прикажи путању до складишта",
- "Show first login" : "Прикажи прву пријаву",
- "Show last login" : "Прикажи последњу пријаву",
- "Sorting" : "Сортирање",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Конфигурација система форсира сортирање група по имену. Ово такође искључује приказ броја чланова.",
- "Group list sorting" : "Сортирање листе група",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Из разлога перформанси, сортирање се примењује само на тренутно учитане групе. Групе ће се учитавати како се крећете кроз листу.",
- "By member count" : "По броју чланова",
- "By name" : "По имену",
- "Send email" : "Пошаљи е-пошту",
- "Send welcome email to new accounts" : "Пошаљи и-мејл добродошлице новим налозима",
- "Defaults" : "Пордазумеване",
- "Default quota" : "Подразумевана квота",
- "Select default quota" : "Одаберите подразумевану квоту",
- "Server error while trying to complete WebAuthn device registration" : "Серверска грешка при завршетку регистрације WebAuthn уређаја",
- "Passwordless authentication requires a secure connection." : "Пријављивање без лозинке захтева безбедну конекцију.",
- "Add WebAuthn device" : "Додајте WebAuthn уређај",
- "Please authorize your WebAuthn device." : "Ауторизујте Ваш WebAuthn уређај.",
- "Adding your device …" : "Додајем Ваш уређај…",
- "Unnamed device" : "Неименовани уређај",
- "Passwordless Authentication" : "Провера идентитета без лозинке",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Подесите налог за пријављивање без лозинке користећи FIDO2 стандард.",
- "No devices configured." : "Ниједан уређај није подешен.",
- "The following devices are configured for your account:" : "Следећи уређаји су подешени за Ваш налог:",
- "Your browser does not support WebAuthn." : "Ваш веб читач не подржава WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Као администратор, можете фино подешавати понашања дељења. Погледајте документацију за више информација.",
- "You need to enable the File sharing App." : "Морате да укључите Апликацију за дељење фајла",
- "App Store" : "Продавница апликације",
- "Loading app list" : "Листа апликација се учитава",
- "Loading categories" : "Учитавају се категорије",
- "Developer documentation ↗" : "Програмерска документација ↗",
- "Version {version}, {license}-licensed" : "Верзија {version}, {license}-лиценцирано",
- "Version {version}" : "Верзија {version}",
- "All accounts" : "Сви налози",
- "Admins" : "Администратори",
- "Account group: {group}" : "Група налога: {group}",
- "Account management" : "Управљање налозима",
"Sending…" : "Шаљем…",
"Email sent" : "Порука је послата",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Из разлога перформанси, када укључите шифровање само на Nextcloud серверу, шифрују се нови и измењени фајлови.",
@@ -797,6 +513,7 @@ OC.L10N.register(
"Date of birth" : "Датум рођења",
"Full name" : "Пуно име",
"Additional email" : "Додатни и-мејл",
+ "Email" : "Е-пошта",
"Fediverse (e.g. Mastodon)" : "Fediverse (нпр. Mastodon)",
"Headline" : "Наслов",
"Organisation" : "Организација",
@@ -806,6 +523,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (бивши Twitter)",
"Website" : "Веб сајт",
"Profile visibility" : "Видљивост профила",
+ "Language" : "Језик",
"Locale" : "Локалитет",
"First day of week" : "Први дан недеље",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Није доступно јер је ова особина потребна за основну функционалност укључујући дељење фајла и позивнице календара",
@@ -823,6 +541,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "Прикажи само пријављеним налозима",
"Hide" : "Сакриј",
"Manually installed apps cannot be updated" : "Ручно инсталиране апликације не могу да се ажурирају",
+ "Update to {version}" : "Ажурирај на верзију {version}",
"{progress}% Deploying …" : "{progress}% Поставља се",
"{progress}% Initializing …" : "{progress}% Иницијализује се…",
"Health checking" : "Провера здравља",
@@ -832,6 +551,7 @@ OC.L10N.register(
"Allow untested app" : "Дозволи нетестиране апликације",
"The app will be downloaded from the App Store" : "Апликација ће се преузети са Продавнице апликација",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ова апликација није означена као компатибилна са Вашом верзијом Некстклауда. Ако наставите, моћи ћете свеједно да инсталирате апликацију. Врло је могуће да апликација неће радити како је планирано.",
+ "{size} used" : "{size} искоришћено",
"Unknown" : "Непознато",
"Never" : "Никад",
"Could not register device: Network error" : "Не може да се региструје уређај: мрежна грешка",
@@ -850,8 +570,10 @@ OC.L10N.register(
"Could not set group sorting" : "Није могло да се постави соритирање групе",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Са ваше мреже долази превише захтева. Покушајте поново касније или контактирајте администратора уколико је ово нека грешка.",
"Error" : "Грешка",
+ "Default quota" : "Подразумевана квота",
"Account documentation" : "Документација налога",
"Administration documentation" : "Администраторска документација",
+ "Documentation" : "Документација",
"Forum" : "Форум",
"Nextcloud help & privacy resources" : "Nextcloud ресурси помоћи и приватности",
"General documentation" : "Општа документација",
@@ -874,6 +596,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP лозинка",
"Save" : "Сачувај",
"Test and verify email settings" : "Тестирај и потврди подешавања и-мејла",
+ "Send email" : "Пошаљи е-пошту",
"Security & setup warnings" : "Упозорења за безбедност и поставке",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Због безбедности и перформанси Ваше инстанце сервера, важно је да је све подешено исправно. Да бисмо Вам помогли у томе, радићемо неке аутоматске провере. Погледајте увезану документацију за више информација.",
"All checks passed." : "Све провере успешно прошле.",
@@ -899,11 +622,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "Ограничење PHP меморије је испод препоручене вредности од %s.",
"for WebAuthn passwordless login" : "за WebAuthn пријаву без лозинке",
"for WebAuthn passwordless login, and SFTP storage" : "за WebAuthn пријаву без лозинке и за SFTP складиште",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP заглавље `%1$s` не садржи `%2$s`. Ово је потенцијални безбедносни ризик или може да угрози приватност, па се препоручује да га поставите на одговарајућу вредност.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Детектована је PostgreSQL верзија „%s”. За најбоље перформансе, стабилност и функционалност са овом Nextcloud верзијом, препоручује се PostgreSQL >=12 и <=16.",
- "Set default expiration date for shares" : "Постави подразумевано време истека дељења",
- "Your biography" : "Ваша биографија",
- "You are using <strong>{usage}</strong>" : "Користите <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Користите <strong>{usage}</strong> од <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Није успело учитавање подадмин група са детаљима"
+ "Set default expiration date for shares" : "Постави подразумевано време истека дељења"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/settings/l10n/sr.json b/apps/settings/l10n/sr.json
index a360c48f907..5a0dd9597a3 100644
--- a/apps/settings/l10n/sr.json
+++ b/apps/settings/l10n/sr.json
@@ -294,7 +294,6 @@
"HTTP headers" : "HTTP заглавља",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- HTTP заглавље `%1$s` није подешено на `%2$s`. Неке функције можда неће радити исправно, па се препоручује да га поставите на одговарајућу вредност.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP заглавље `%1$s` није подешено на `%2$s`. Ово је потенцијални безбедносни ризик или може да угрози приватност, па се препоручује да га поставите на одговарајућу вредност.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP заглавље `%1$s` не садржи `%2$s`. Ово је потенцијални безбедносни ризик или може да угрози приватност, па се препоручује да га поставите на одговарајућу вредност.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- HTTP заглавље `%1$s` није постављено на `%2$s`, `%3$s`, `%4$s`, `%5$s` или `%6$s`. Услед тога могу процурити информације у упућивачу. Погледајте {w3c-recommendation}.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- HTTP заглавље `Strict-Transport-Security` није постављено на барем `%d` секунди (тренутна вредност је: `%d`). Препорука за унапређену безбедност је да се користи дуготрајна HSTS полиса.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- HTTP заглавље `Strict-Transport-Security` није исправно постављено: `%s`. Препорука за унапређену безбедност је да укључите HSTS.",
@@ -445,97 +444,6 @@
"Could not load section content from app store." : "Не може да се учита садржај одељка из продавнице апликација.",
"Loading" : "Учитавам",
"Fetching the latest news…" : "Преузимање најновијих вести",
- "Carousel" : "Карусел",
- "Previous slide" : "Претходни слајд",
- "Next slide" : "Наредни слајд",
- "Choose slide to display" : "Изаберите слајд за приказ",
- "{index} of {total}" : "{index} од {total}",
- "Daemon" : "Сервис",
- "Deploy Daemon" : "Даемон за постављање",
- "Type" : "Тип",
- "Display Name" : "Име за приказ",
- "GPUs support" : "Подршка за GPU",
- "Compute device" : "Рачунарски уређај",
- "Advanced deploy options" : "Напредне опције постављања",
- "Edit ExApp deploy options before installation" : "Уреди ExApp опције постављања пре инсталације",
- "Configured ExApp deploy options. Can be set only during installation" : "Конфигурисане су ExApp опције постављања. Може да се постави само током инсталације",
- "Learn more" : "Сазнајте више",
- "Environment variables" : "Променљиве окружења",
- "ExApp container environment variables" : "Променљиве окружења ExApp контејнера",
- "No environment variables defined" : "Није дефинисана ниједна променљиве окружења",
- "Mounts" : "Монтирања",
- "Define host folder mounts to bind to the ExApp container" : "Дефинише монтирања фолдера на хосту која се везују са ExApp контејнером",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "Мора да постоји на хосту даемона постављања пре него што се инсталира ExApp",
- "Host path" : "Путања на хосту",
- "Container path" : "Путања контејнера",
- "Read-only" : "Само-за-читање",
- "Remove mount" : "Уклони монтирање",
- "New mount" : "Ново монтирање",
- "Enter path to host folder" : "Унесите путању до фолдера на хосту",
- "Enter path to container folder" : "Унесите путању до фолдера са контејнером",
- "Toggle read-only mode" : "Укључи/искључи режим само-за-читање",
- "Confirm adding new mount" : "Потврди додавање новог монтирања",
- "Confirm" : "Потврди",
- "Cancel adding mount" : "Откажи додавање монтирања",
- "Cancel" : "Откажи",
- "Add mount" : "Додај монтирање",
- "ExApp container mounts" : "Монтирања ExApp контејнера",
- "No mounts defined" : "Није дефинисано ниједно монтирање",
- "Description" : "Опис",
- "View in store" : "Погледај у продавници",
- "Visit website" : "Посети веб сајт",
- "Usage documentation" : "Документација о употреби",
- "Admin documentation" : "Администраторска документација",
- "Developer documentation" : "Програмерска документација",
- "Details" : "Детаљи",
- "All" : "Све",
- "Limit app usage to groups" : "Ограничи коришћење апликације на групе",
- "No results" : "Нема резултата",
- "Update to {version}" : "Ажурирај на верзију {version}",
- "Deploy options" : "Опције постављања",
- "Default Deploy daemon is not accessible" : "Није доступан подразумевани даемон за постављање ",
- "Delete data on remove" : "Обриши податке приликом уклањања",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Ова апликација нема дефинисану минималну верзију Некстклауда на којој ради. Ово ће у будућности постати грешка.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ова апликација нема дефинисану максималну верзију Некстклауда на којој ради. Ово ће у будућности постати грешка.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Апликација се не може инсталирати јер следеће зависности нису испуњене:",
- "Latest updated" : "Последњи пут ажурирано",
- "Author" : "Аутор",
- "Categories" : "Категорије",
- "Resources" : "Ресурси",
- "Documentation" : "Документација",
- "Interact" : "Остварите узајамно деловање",
- "Report a bug" : "Пријави проблем",
- "Request feature" : "Затражи функционалност",
- "Ask questions or discuss" : "Питајте питање или дискутујте",
- "Rate the app" : "Оцените апликацију",
- "Rate" : "Оцени",
- "Changelog" : "Дневник измена",
- "Google Chrome for Android" : "Google Chrome за Андроид",
- "{productName} iOS app" : "{productName} iOS апликација",
- "{productName} Android app" : "{productName} Android апликација",
- "{productName} Talk for iOS" : "{productName} Talk за iOS",
- "{productName} Talk for Android" : "{productName} Talk за Android",
- "Sync client" : "Клијент за синхронизовање",
- "This session" : "Ова сесија",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Назив уређаја",
- "Cancel renaming" : "Откажи промену имена",
- "Save new name" : "Сачувај ново име",
- "Marked for remote wipe" : "Означено за удаљено брисање",
- "Device settings" : "Подешавања уређаја",
- "Allow filesystem access" : "Дозволи приступ фајловима",
- "Rename" : "Преименуј",
- "Revoke" : "Повуци",
- "Wipe device" : "Очисти уређај",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Опозив овог жетона може да спречи брисање вашег уређаја у случају да брисање још увек није започето.",
- "Device" : "Уређај",
- "Last activity" : "Последња активност",
- "Devices & sessions" : "Уређаји & сесије",
- "Web, desktop and mobile clients currently logged in to your account." : "Веб, рачунарски и мобилни клијенти тренутно пријављени на Ваш налог.",
- "Error while creating device token" : "Грешка при прављењу токена на уређају",
- "App name" : "Назив апликације",
- "Create new app password" : "Направите нову лозинку апликације",
"App password copied!" : "Копирана је лозинка апликације!",
"Copy app password" : "Копирај лозинку апликације",
"Login name copied!" : "Копирано име за пријаву!",
@@ -589,203 +497,11 @@
"Failed to delete group \"{group}\"" : "Није успело брисање групе „{group}”",
"Please confirm the group removal" : "Молимо вас да потврдите уклањање групе",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Управо ћете обрисати групу „{group}”. Налози се НЕЋЕ обрисати.",
+ "Cancel" : "Откажи",
+ "Confirm" : "Потврди",
"Submit" : "Пошаљи",
"Rename group" : "Промени име групе",
"Delete group" : "Брисање групе",
- "Current password" : "Тренутна лозинка",
- "New password" : "Нова лозинка",
- "Change password" : "Измени лозинку",
- "Choose your profile picture" : "Изаберите слику за свој профил",
- "Please select a valid png or jpg file" : "Молимо вас изаберите исправан png или jpg фајл",
- "Error setting profile picture" : "Грешка приликом постављања слике профила",
- "Error cropping profile picture" : "Грешка приликом опсецања слике профила",
- "Error saving profile picture" : "Грешка приликом чувања слике профила",
- "Error removing profile picture" : "Грешка приликом уклањања слике профила",
- "Your profile picture" : "Ваша слика профила",
- "Upload profile picture" : "Отпреми слику профила",
- "Choose profile picture from Files" : "Изабери слику профила из Фајлова",
- "Remove profile picture" : "Уклони слику профила",
- "The file must be a PNG or JPG" : "Фајл мора да буде PNG или JPG",
- "Picture provided by original account" : "Слика оригиналног налога",
- "Set as profile picture" : "Постави као слику профила",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Молимо вас да имате на уму да може проћи до 24 часа док се слика вашег профила не ажурира на свим местима.",
- "Your biography. Markdown is supported." : "Ваша биографија. Подржава се употреба Markdown означавања.",
- "Unable to update date of birth" : "Није успело ажурирање датума рођења",
- "Enter your date of birth" : "Унесите датум свог рођења",
- "You are using {s}{usage}{/s}" : "Користите {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Користите {s}{usage}{/s} од {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Члан сте следећих група:",
- "Your full name" : "Ваше пуно име",
- "Email options" : "Опције за и-мејл",
- "Options for additional email address {index}" : "Опције за додатну и-мејл адресу {index}",
- "Remove primary email" : "Уклони примарни и-мејл",
- "Delete email" : "Обриши и-мејл",
- "This address is not confirmed" : "Ова адреса није потврђена",
- "Unset as primary email" : "Постави да није примарни и-мејл",
- "Set as primary email" : "Постави као примарни и-мејл",
- "Additional email address {index}" : "Додатна и-мејл адреса {index}",
- "Unable to delete primary email address" : "Примарна и-мејл адреса не може да се обрише",
- "Unable to update primary email address" : "Примарна и-мејл адреса није могла да се ажурира",
- "Unable to add additional email address" : "Не може да се дода додатна и-мејл адреса",
- "Unable to update additional email address" : "Додатна и-мејл адреса није могла да се ажурира",
- "Unable to delete additional email address" : "Додатна и-мејл адреса не може да се обрише",
- "Primary email for password reset and notifications" : "Примарни и-мејл за ресетовање лозинке и обавештења",
- "No email address set" : "Није постављена адреса е-поште",
- "Your handle" : "Ваша ручка",
- "Derived from your locale ({weekDayName})" : "Закључено из вашег локале подешавања ({weekDayName})",
- "Unable to update first day of week" : "Није успело ажурирање првог дана недеље",
- "Day to use as the first day of week" : "Дан који се користи као први дан недеље",
- "Your headline" : "Ваша насловна линија",
- "Unable to update language" : "Језик није могао да се ажурира",
- "Languages" : "Језици",
- "Help translate" : " Помозите у превођењу",
- "No language set" : "Ниједан језик није постављен",
- "Unable to update locale" : "Локалитет није могао да се ажурира",
- "Locales" : "Локалитети",
- "Week starts on {firstDayOfWeek}" : "Недеља почиње у {firstDayOfWeek}",
- "No locale set" : "Није постављен локалитет",
- "Your city" : "Ваш град",
- "Your organisation" : "Ваша организација",
- "Your phone number" : "Ваш број телефона",
- "Edit your Profile visibility" : "Уредите видљивост вашег профила",
- "Unable to update profile enabled state" : "Није могло да се ажурира стање профила",
- "Enable profile" : "Укључи профил",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "На вашем провилу се поштује рестриктивније подешавање било видљивости, било опсега важења. На пример, ако је видљивост постављена на „Прикажи свима”, а опсег важења на „Приватан”, поштује се „Приватан”.",
- "Unable to update visibility of {displayId}" : "Није успело ажурирање видљивости {displayId}",
- "she/her" : "она/њен",
- "he/him" : "он/њему",
- "they/them" : "они/њима",
- "Your role" : "Ваша улога",
- "Your X (formerly Twitter) handle" : "Ваша X (бивши Twitter) ручка",
- "Your website" : "Ваш веб сајт",
- "Invalid value" : "Неисправна вредност",
- "Unable to update {property}" : "Није успело ажурирање {property}",
- "No {property} set" : "{property} није постављено",
- "Change scope level of {property}, current scope is {scope}" : "Измена опсега важења {property}, тренутни опсег важења је {scope}",
- "Unable to update federation scope of the primary {property}" : "Није успело ажурирање опсега важења федерације примарне {property}",
- "Unable to update federation scope of additional {property}" : "Није успело ажурирање опсега важења федерације додатне {property}",
- "Add additional email" : "Додај додатни и-мејл",
- "Add" : "Додај",
- "Create" : "Направи",
- "Change" : "Измени",
- "Delete" : "Обриши",
- "Reshare" : "Дели даље",
- "Default language" : "Подразумевани језик",
- "Common languages" : "Најкоришћенији језици",
- "Other languages" : "Остали језици",
- "Password change is disabled because the master key is disabled" : "Промена лозинке је искључена пошто је главни кључ искључен",
- "No accounts" : "Нема налога",
- "Loading accounts …" : "Учитавање налога",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Листа налога. Услед разлога везаних за перформансе, ова листа се не приказује у потпуности. Налози ће се приказивати како се будете кретали кроз листу.",
- "Manager" : "Менаџер",
- "Set line manager" : "Избор надређеног менаџера",
- "Account name will be autogenerated" : "Име налога ће бити генерисано аутоматски",
- "Account name (required)" : "Име налога (обавезно)",
- "Failed to search groups" : "Није успело претраживање група",
- "New account" : "Нови налог",
- "Display name" : "Име за приказ",
- "Either password or email is required" : "Неопходна је или лозинка или и-мејл",
- "Password (required)" : "Лозинка (обавезно)",
- "Email (required)" : "И-мејл (обавезно)",
- "Email" : "Е-пошта",
- "Member of the following groups (required)" : "Члан следећих група (неопходно)",
- "Member of the following groups" : "Члан следећих група",
- "Set account groups" : "Постави групе налога",
- "Admin of the following groups" : "Админ следећих група",
- "Set account as admin for …" : "Постави налог као администратора за",
- "Quota" : "Квота",
- "Set account quota" : "Постави квоту за налог",
- "Language" : "Језик",
- "Set default language" : "Постави подразумевани језик",
- "Add new account" : "Додај нови налог",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} налог…","{userCount} налога…","{userCount} налога…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} налог","{userCount} налога","{userCount} налога"],
- "Total rows summary" : "Резиме укупног броја редова",
- "Scroll to load more rows" : "Скролујте да се учита још редова",
- "Password or insufficient permissions message" : "Порука о лозинки или недовољним дозволама",
- "Avatar" : "Аватар",
- "Account name" : "Име рачуна",
- "Group admin for" : "Администратор групе за",
- "Account backend" : "Позадински механизам за налоге",
- "Storage location" : "Локација складишта",
- "First login" : "Прва пријава",
- "Last login" : "Последња пријава",
- "Account actions" : "Акције налога",
- "{size} used" : "{size} искоришћено",
- "Delete account" : "Обриши рачун",
- "Disconnect all devices and delete local data" : "Раскини везу са свим уређајима и обриши локалне податке",
- "Disable account" : "Искључи налог",
- "Enable account" : "Укључи налог",
- "Resend welcome email" : "Поново пошаљи е-пошту добродошлице",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "У случају изгубљеног уређаја или напуштања организације, овим се могу удаљено обрисати Некстклауд подаци са свих уређаја повезаних са налогом {userid}. Ради само ако је уређај повезан на интернет.",
- "Remote wipe of devices" : "Удаљено брисање уређаја",
- "Wipe {userid}'s devices" : "Обриши уређај од корисника {userid}",
- "Wiped {userid}'s devices" : "Обрисани уређаји корисника {userid}",
- "Failed to load groups with details" : "Није успело учитавање група са детаљима",
- "Failed to load sub admin groups with details" : "Није успело учитавање под админ група са детаљима",
- "Failed to update line manager" : "Није успело ажурирање надређеног менаџера",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Комплетно брисање уређаја са налога корисника {userid} укључујући све личне фајлове, апликативне податке, итд.",
- "Account deletion" : "Брисање налога",
- "Delete {userid}'s account" : "Обриши налог корисника {userid}",
- "Display name was successfully changed" : "Име за приказ је успешно промењено",
- "Password can't be empty" : "Лозинка не може да буде празна",
- "Password was successfully changed" : "Лозинка је усшешно промењена",
- "Email can't be empty" : "И-мејл не може да буде празан",
- "Email was successfully changed" : "И-мејл је успешно промењен",
- "Welcome mail sent!" : "Е-пошта добродошлице послата!",
- "Loading account …" : "Налог се учитава…",
- "Change display name" : "Промени име за приказ",
- "Set new password" : "Постави нову лозинку",
- "You do not have permissions to see the details of this account" : "Немате дозволе да видите детаље о овом налогу",
- "Set new email address" : "Постави нову адресу е-поште",
- "Add account to group" : "Додај налог у групу",
- "Set account as admin for" : "Постави налог као администратора за",
- "Select account quota" : "Одаберите квоту за налог",
- "Set the language" : "Постави језик",
- "Toggle account actions menu" : "Укључи/искључи мени са акцијама налога",
- "Done" : "Завршено",
- "Edit" : "Измени",
- "Account management settings" : "Подешавања управљања налозима",
- "Visibility" : "Видљивост",
- "Show language" : "Прикажи језик",
- "Show account backend" : "Прикажи позадински механизам за налоге",
- "Show storage path" : "Прикажи путању до складишта",
- "Show first login" : "Прикажи прву пријаву",
- "Show last login" : "Прикажи последњу пријаву",
- "Sorting" : "Сортирање",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Конфигурација система форсира сортирање група по имену. Ово такође искључује приказ броја чланова.",
- "Group list sorting" : "Сортирање листе група",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Из разлога перформанси, сортирање се примењује само на тренутно учитане групе. Групе ће се учитавати како се крећете кроз листу.",
- "By member count" : "По броју чланова",
- "By name" : "По имену",
- "Send email" : "Пошаљи е-пошту",
- "Send welcome email to new accounts" : "Пошаљи и-мејл добродошлице новим налозима",
- "Defaults" : "Пордазумеване",
- "Default quota" : "Подразумевана квота",
- "Select default quota" : "Одаберите подразумевану квоту",
- "Server error while trying to complete WebAuthn device registration" : "Серверска грешка при завршетку регистрације WebAuthn уређаја",
- "Passwordless authentication requires a secure connection." : "Пријављивање без лозинке захтева безбедну конекцију.",
- "Add WebAuthn device" : "Додајте WebAuthn уређај",
- "Please authorize your WebAuthn device." : "Ауторизујте Ваш WebAuthn уређај.",
- "Adding your device …" : "Додајем Ваш уређај…",
- "Unnamed device" : "Неименовани уређај",
- "Passwordless Authentication" : "Провера идентитета без лозинке",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Подесите налог за пријављивање без лозинке користећи FIDO2 стандард.",
- "No devices configured." : "Ниједан уређај није подешен.",
- "The following devices are configured for your account:" : "Следећи уређаји су подешени за Ваш налог:",
- "Your browser does not support WebAuthn." : "Ваш веб читач не подржава WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Као администратор, можете фино подешавати понашања дељења. Погледајте документацију за више информација.",
- "You need to enable the File sharing App." : "Морате да укључите Апликацију за дељење фајла",
- "App Store" : "Продавница апликације",
- "Loading app list" : "Листа апликација се учитава",
- "Loading categories" : "Учитавају се категорије",
- "Developer documentation ↗" : "Програмерска документација ↗",
- "Version {version}, {license}-licensed" : "Верзија {version}, {license}-лиценцирано",
- "Version {version}" : "Верзија {version}",
- "All accounts" : "Сви налози",
- "Admins" : "Администратори",
- "Account group: {group}" : "Група налога: {group}",
- "Account management" : "Управљање налозима",
"Sending…" : "Шаљем…",
"Email sent" : "Порука је послата",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Из разлога перформанси, када укључите шифровање само на Nextcloud серверу, шифрују се нови и измењени фајлови.",
@@ -795,6 +511,7 @@
"Date of birth" : "Датум рођења",
"Full name" : "Пуно име",
"Additional email" : "Додатни и-мејл",
+ "Email" : "Е-пошта",
"Fediverse (e.g. Mastodon)" : "Fediverse (нпр. Mastodon)",
"Headline" : "Наслов",
"Organisation" : "Организација",
@@ -804,6 +521,7 @@
"X (formerly Twitter)" : "X (бивши Twitter)",
"Website" : "Веб сајт",
"Profile visibility" : "Видљивост профила",
+ "Language" : "Језик",
"Locale" : "Локалитет",
"First day of week" : "Први дан недеље",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Није доступно јер је ова особина потребна за основну функционалност укључујући дељење фајла и позивнице календара",
@@ -821,6 +539,7 @@
"Show to logged in accounts only" : "Прикажи само пријављеним налозима",
"Hide" : "Сакриј",
"Manually installed apps cannot be updated" : "Ручно инсталиране апликације не могу да се ажурирају",
+ "Update to {version}" : "Ажурирај на верзију {version}",
"{progress}% Deploying …" : "{progress}% Поставља се",
"{progress}% Initializing …" : "{progress}% Иницијализује се…",
"Health checking" : "Провера здравља",
@@ -830,6 +549,7 @@
"Allow untested app" : "Дозволи нетестиране апликације",
"The app will be downloaded from the App Store" : "Апликација ће се преузети са Продавнице апликација",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ова апликација није означена као компатибилна са Вашом верзијом Некстклауда. Ако наставите, моћи ћете свеједно да инсталирате апликацију. Врло је могуће да апликација неће радити како је планирано.",
+ "{size} used" : "{size} искоришћено",
"Unknown" : "Непознато",
"Never" : "Никад",
"Could not register device: Network error" : "Не може да се региструје уређај: мрежна грешка",
@@ -848,8 +568,10 @@
"Could not set group sorting" : "Није могло да се постави соритирање групе",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Са ваше мреже долази превише захтева. Покушајте поново касније или контактирајте администратора уколико је ово нека грешка.",
"Error" : "Грешка",
+ "Default quota" : "Подразумевана квота",
"Account documentation" : "Документација налога",
"Administration documentation" : "Администраторска документација",
+ "Documentation" : "Документација",
"Forum" : "Форум",
"Nextcloud help & privacy resources" : "Nextcloud ресурси помоћи и приватности",
"General documentation" : "Општа документација",
@@ -872,6 +594,7 @@
"SMTP Password" : "SMTP лозинка",
"Save" : "Сачувај",
"Test and verify email settings" : "Тестирај и потврди подешавања и-мејла",
+ "Send email" : "Пошаљи е-пошту",
"Security & setup warnings" : "Упозорења за безбедност и поставке",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Због безбедности и перформанси Ваше инстанце сервера, важно је да је све подешено исправно. Да бисмо Вам помогли у томе, радићемо неке аутоматске провере. Погледајте увезану документацију за више информација.",
"All checks passed." : "Све провере успешно прошле.",
@@ -897,11 +620,8 @@
"The PHP memory limit is below the recommended value of %s." : "Ограничење PHP меморије је испод препоручене вредности од %s.",
"for WebAuthn passwordless login" : "за WebAuthn пријаву без лозинке",
"for WebAuthn passwordless login, and SFTP storage" : "за WebAuthn пријаву без лозинке и за SFTP складиште",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- HTTP заглавље `%1$s` не садржи `%2$s`. Ово је потенцијални безбедносни ризик или може да угрози приватност, па се препоручује да га поставите на одговарајућу вредност.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "Детектована је PostgreSQL верзија „%s”. За најбоље перформансе, стабилност и функционалност са овом Nextcloud верзијом, препоручује се PostgreSQL >=12 и <=16.",
- "Set default expiration date for shares" : "Постави подразумевано време истека дељења",
- "Your biography" : "Ваша биографија",
- "You are using <strong>{usage}</strong>" : "Користите <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Користите <strong>{usage}</strong> од <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "Није успело учитавање подадмин група са детаљима"
+ "Set default expiration date for shares" : "Постави подразумевано време истека дељења"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/sv.js b/apps/settings/l10n/sv.js
index 3fa5b1f24d3..8f8fbbd8a78 100644
--- a/apps/settings/l10n/sv.js
+++ b/apps/settings/l10n/sv.js
@@ -317,69 +317,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Det gick inte att ladda avsnittsinnehåll från app store.",
"Loading" : "Läser in",
"Fetching the latest news…" : "Hämtar de senaste nyheterna...",
- "Carousel" : "Karusell",
- "Previous slide" : "Föregående sida",
- "Next slide" : "Nästa sida",
- "Choose slide to display" : "Välj sida att visa",
- "{index} of {total}" : "{index} av {total}",
- "Daemon" : "Demon",
- "Type" : "Typ",
- "Display Name" : "Visningsnamn",
- "Learn more" : "Läs mer",
- "Confirm" : "Bekräfta",
- "Cancel" : "Avbryt",
- "Description" : "Beskrivning",
- "View in store" : "Visa i butik",
- "Visit website" : "Besök webbplats",
- "Usage documentation" : "Användardokumentation",
- "Admin documentation" : "Administratörsdokumentation",
- "Developer documentation" : "Utvecklardokumentation",
- "Details" : "Detaljer",
- "All" : "Alla",
- "Limit app usage to groups" : "Begränsa appanvändning till grupper",
- "No results" : "Inga resultat",
- "Update to {version}" : "Uppdatera till {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Denna app har ingen lägsta Nextcloud-version tilldelad. Detta kommer att innebära ett problem i framtiden.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Denna app har ingen minimum Nextcloud-version tilldelad. Detta kommer att innebära ett problem i framtiden.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Denna applikation kan inte installeras då följande beroenden inte är uppfyllda: %s",
- "Latest updated" : "Senast uppdaterad",
- "Author" : "Upphovsman",
- "Categories" : "Kategorier",
- "Resources" : "Resurser",
- "Documentation" : "Dokumentation",
- "Interact" : "Interagera",
- "Report a bug" : "Rapportera ett problem",
- "Request feature" : "Begär egenskap",
- "Ask questions or discuss" : "Ställ frågor eller diskutera",
- "Rate the app" : "Betygsätt appen",
- "Rate" : "Betygsätt",
- "Changelog" : "Ändringslogg",
- "Google Chrome for Android" : "Google Chrome för Android",
- "{productName} iOS app" : "{productName} iOS app",
- "{productName} Android app" : "{productName} Android app",
- "{productName} Talk for iOS" : "{productName} Talk för iOS",
- "{productName} Talk for Android" : "{productName} Talk för Android",
- "Sync client" : "Synkklient",
- "This session" : "Denna session ",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Enhetsnamn",
- "Cancel renaming" : "Avbryt namnändring",
- "Save new name" : "Spara nya namnet",
- "Marked for remote wipe" : "Markerad för fjärrensning",
- "Device settings" : "Enhetsinställningar",
- "Allow filesystem access" : "Tillåt åtkomst till filsystemet",
- "Rename" : "Byt namn",
- "Revoke" : "Återkalla",
- "Wipe device" : "Rensa enhet",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Återkallning kan förhindra att enheten rensas om inte rensningen redan har startat.",
- "Device" : "Enhet",
- "Last activity" : "Senaste aktivitet",
- "Devices & sessions" : "Enheter & sessioner",
- "Web, desktop and mobile clients currently logged in to your account." : "Webb-, skrivbords- och mobila klienter som är inloggade på ditt konto just nu.",
- "Error while creating device token" : "Fel vid skapande av enhetstoken",
- "App name" : "Appnamn",
- "Create new app password" : "Skapa nytt applösenord",
"App password copied!" : "Applösenordet har kopierats!",
"Copy app password" : "Kopiera applösenord",
"Login name copied!" : "Inloggningsnamnet kopierat!",
@@ -421,195 +358,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det är alltid en god ide att skapa regelbundna säkerhetskopior av din data, om kryptering används var säker på att även krypteringsnycklarna säkerhetskopieras tillsammans med din data.",
"This is the final warning: Do you really want to enable encryption?" : "Detta är en slutgiltig varning: Vill du verkligen aktivera kryptering?",
"Please confirm the group removal" : "Bekräfta borttagning av gruppen",
+ "Cancel" : "Avbryt",
+ "Confirm" : "Bekräfta",
"Submit" : "Skicka",
"Rename group" : "Byt namn på grupp",
- "Current password" : "Nuvarande lösenord",
- "New password" : "Nytt lösenord",
- "Change password" : "Ändra lösenord",
- "Choose your profile picture" : "Välj din profilbild",
- "Please select a valid png or jpg file" : "Välj en giltig png- eller jpg-fil",
- "Error setting profile picture" : "Fel vid inställning av profilbild",
- "Error cropping profile picture" : "Det gick inte att beskära profilbilden",
- "Error saving profile picture" : "Det gick inte att spara profilbilden",
- "Error removing profile picture" : "Det gick inte att ta bort profilbilden",
- "Your profile picture" : "Din profilbild",
- "Upload profile picture" : "Ladda upp profilbild",
- "Choose profile picture from Files" : "Välj profilbild från filer",
- "Remove profile picture" : "Ta bort profilbild",
- "The file must be a PNG or JPG" : "Filen måste vara en PNG eller JPG",
- "Picture provided by original account" : "Bild gjordes tillgänglig av orginalkonto",
- "Set as profile picture" : "Ställ in som profilbild",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Observera att det kan ta upp till 24 timmar för din profilbild att uppdateras överallt.",
- "Your biography. Markdown is supported." : "Din biografi. Markdown stöds.",
- "Unable to update date of birth" : "Det gick inte att uppdatera födelsedatum",
- "Enter your date of birth" : "Ange ditt födelsedatum",
- "You are using {s}{usage}{/s}" : "Du använder {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Du använder {s}{usage}{/s} av {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Du är medlem i följande grupper:",
- "Your full name" : "Ditt fullständiga namn",
- "Email options" : "E-postinställningar",
- "Options for additional email address {index}" : "Alternativ för ytterligare e-postadress {index}",
- "Remove primary email" : "Ta bort primär e-postadress",
- "Delete email" : "Ta bort e-post",
- "This address is not confirmed" : "Denna adress är inte verifierad",
- "Unset as primary email" : "Ta bort som primär e-post",
- "Set as primary email" : "Välj som primär e-post",
- "Additional email address {index}" : "Ytterligare e-postadress {index}",
- "Unable to delete primary email address" : "Kunde inte ta bort primär e-postadress",
- "Unable to update primary email address" : "Kunde inte uppdatera primär e-postadress",
- "Unable to add additional email address" : "Kunde inte lägga till ytterligare e-postadress",
- "Unable to update additional email address" : "Kunde inte uppdatera ytterligare e-postadress",
- "Unable to delete additional email address" : "Kunde inte ta bort ytterligare e-postadress",
- "Primary email for password reset and notifications" : "Primär e-postadress för notifikationer och återställning av lösenord",
- "No email address set" : "Ingen e-postadress angiven",
- "Your handle" : "Ditt kontonamn",
- "Derived from your locale ({weekDayName})" : "Härledd från din plats ({weekDayName})",
- "Unable to update first day of week" : "Kunde inte uppdatera första veckodagen",
- "Day to use as the first day of week" : "Dag att använda som första veckodag",
- "Your headline" : "Din rubrik",
- "Unable to update language" : "Kunde inte uppdatera språk",
- "Languages" : "Språk",
- "Help translate" : "Hjälp till med översättningarna",
- "No language set" : "Inget språk angivet",
- "Unable to update locale" : "Det gick inte att uppdatera språk",
- "Locales" : "Platser",
- "Week starts on {firstDayOfWeek}" : "Veckan börjar med {firstDayOfWeek}",
- "No locale set" : "Inget språk angivet",
- "Your city" : "Din stad",
- "Your organisation" : "Din organisation",
- "Your phone number" : "Ditt telefonnummer",
- "Edit your Profile visibility" : "Ändra synligheten för din profil",
- "Unable to update profile enabled state" : "Kunde inte uppdatera profilaktivering",
- "Enable profile" : "Aktivera profil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Den mer restriktiva inställningen av antingen synlighet eller omfattning respekteras på din profil. Till exempel, om synlighet är inställd på \"Visa för alla\" och omfattningen är inställd på \"Privat\", respekteras \"Privat\".",
- "Unable to update visibility of {displayId}" : "Kunde inte uppdatera synlighet för {displayId}",
- "she/her" : "hon/henne",
- "he/him" : "han/honom",
- "they/them" : "de/dem",
- "Your role" : "Din roll",
- "Your X (formerly Twitter) handle" : "Ditt användarnamn på X (tidigare Twitter)",
- "Your website" : "Din webbsida",
- "Invalid value" : "Ogiltigt värde",
- "Unable to update {property}" : "Det gick inte att uppdatera {property}",
- "No {property} set" : "Ingen {property} inställd",
- "Change scope level of {property}, current scope is {scope}" : "Ändra omfattningsnivå för {property}, nuvarande omfattning är {scope}",
- "Unable to update federation scope of the primary {property}" : "Det gick inte att uppdatera federationsomfånget för den primära {property}",
- "Unable to update federation scope of additional {property}" : "Det gick inte att uppdatera federationens omfattning för ytterligare {property}",
- "Add additional email" : "Lägg till ytterligare e-post",
- "Add" : "Lägg till",
- "Create" : "Skapa",
- "Change" : "Ändra",
- "Delete" : "Radera",
- "Reshare" : "Dela vidare",
- "Default language" : "Standardspråk",
- "Common languages" : "Vanliga språk",
- "Other languages" : "Andra språk",
- "Password change is disabled because the master key is disabled" : "Lösenordsbyte är inaktiverat eftersom huvudnyckeln är inaktiverad",
- "No accounts" : "Inga konton",
- "Loading accounts …" : "Laddar konton ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Lista över konton. Denna lista är inte helt återgiven av prestandaskäl. Konton kommer att renderas när du navigerar genom listan.",
- "Manager" : "Chef",
- "Set line manager" : "Ange linjechef",
- "Account name will be autogenerated" : "Kontonamn kommer att autogenereras",
- "Account name (required)" : "Kontonamn (obligatoriskt)",
- "Failed to search groups" : "Kunde inte söka efter grupper",
- "New account" : "Nytt konto",
- "Display name" : "Visningsnamn",
- "Either password or email is required" : "Antingen lösenord eller e-post krävs",
- "Password (required)" : "Lösenord (obligatoriskt)",
- "Email (required)" : "E-post (obligatoriskt)",
- "Email" : "E-post",
- "Member of the following groups (required)" : "Medlem i följande grupper (obligatoriskt)",
- "Member of the following groups" : "Medlem i följande grupper",
- "Set account groups" : "Ställ in kontogrupper",
- "Admin of the following groups" : "Administratör för följande grupper",
- "Set account as admin for …" : "Ange konto som administratör för ...",
- "Quota" : "Lagringsutrymme",
- "Set account quota" : "Ställ in kvot för konto",
- "Language" : "Språk",
- "Set default language" : "Ställ in standardspråk",
- "Add new account" : "Lägg till nytt konto",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} konto …","{userCount} konton …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} konto","{userCount} konton"],
- "Total rows summary" : "Sammanfattning antal rader",
- "Scroll to load more rows" : "Bläddra för att ladda fler rader",
- "Password or insufficient permissions message" : "Lösenord eller meddelande om otillräckliga behörigheter",
- "Avatar" : "Avatar",
- "Account name" : "Kontonamn",
- "Group admin for" : "Gruppadministratör för",
- "Storage location" : "Lagringsplats",
- "Last login" : "Senaste inloggning",
- "Account actions" : "Kontoåtgärder",
- "{size} used" : "{size} använt",
- "Delete account" : "Radera konto",
- "Disconnect all devices and delete local data" : "Koppla bort alla enheter och radera lokalt data",
- "Disable account" : "Inaktivera konto",
- "Enable account" : "Aktivera konto",
- "Resend welcome email" : "Skicka om välkomstmeddelande via e-post",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Om användaren förlorar sin enhet eller lämnar organisationen, kan all Nextcloud-data fjärrensas från alla enheter associerade med {userid}. Fungerar bara om enheterna är anslutna till internet.",
- "Remote wipe of devices" : "Fjärrensning av enheter",
- "Wipe {userid}'s devices" : "Rensa enheter för {userid}",
- "Wiped {userid}'s devices" : "Rensade enheter för {userid}",
- "Failed to load groups with details" : "Kunde inte läsa in grupper med detaljer",
- "Failed to update line manager" : "Kunde inte uppdatera linjechef",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Fullständig radering av konto för {userid} inklusive alla personliga filer, appdata etc.",
- "Account deletion" : "Radering av konto",
- "Delete {userid}'s account" : "Ta bort konto för {userid}",
- "Display name was successfully changed" : "Visningsnamnet har ändrats",
- "Password can't be empty" : "Lösenord får inte vara tomt",
- "Password was successfully changed" : "Lösenordet har ändrats",
- "Email can't be empty" : "E-post får inte vara tomt",
- "Email was successfully changed" : "E-postadressen har ändrats",
- "Welcome mail sent!" : "Välkomstmeddelande skickat via e-post!",
- "Loading account …" : "Laddar konto ...",
- "Change display name" : "Ändra visningsnamn",
- "Set new password" : "Ange nytt lösenord",
- "You do not have permissions to see the details of this account" : "Du har inte behörighet att se detaljerna för detta konto.",
- "Set new email address" : "Ange ny e-postadress",
- "Add account to group" : "Lägg till konto till grupp",
- "Set account as admin for" : "Ange konto som administratör för",
- "Select account quota" : "Välj kvot för konto",
- "Set the language" : "Ställ in språk",
- "Toggle account actions menu" : "Växla menyn med kontoåtgärder",
- "Done" : "Färdig",
- "Edit" : "Redigera",
- "Account management settings" : "Inställningar kontohantering",
- "Visibility" : "Synlighet",
- "Show language" : "Visa språk",
- "Show storage path" : "Visa lagringsväg",
- "Show last login" : "Visa senaste inloggning",
- "Sorting" : "Sortering",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Systemkonfigurationen tvingar sortering av grupper efter namn. Detta inaktiverar också visning av medlemsantal.",
- "Group list sorting" : "Sortering av grupplistor",
- "By member count" : "Efter medlemsantal",
- "By name" : "Efter namn",
- "Send email" : "Skicka e-post",
- "Send welcome email to new accounts" : "Skicka välkomstmail till nya konton",
- "Defaults" : "Standardvärden",
- "Default quota" : "Standard kvot",
- "Select default quota" : "Välj standard kvot",
- "Server error while trying to complete WebAuthn device registration" : "Serverfel när du försökte slutföra registreringen av en WebAuthn-enhet",
- "Passwordless authentication requires a secure connection." : "Lösenordsfri autentisering kräver en säker anslutning.",
- "Add WebAuthn device" : "Lägg till WebAuthn-enhet",
- "Please authorize your WebAuthn device." : "Godkänn din WebAuthn-enhet.",
- "Adding your device …" : "Lägger till din enhet ....",
- "Unnamed device" : "Namnlös enhet",
- "Passwordless Authentication" : "Lösenordsfri autentisering",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Ställ in ditt konto för lösenordsfri autentisering som följer FIDO2-standarden.",
- "No devices configured." : "Inga enheter konfigurerade.",
- "The following devices are configured for your account:" : "Följande enheter är konfigurerade för ditt konto:",
- "Your browser does not support WebAuthn." : "Din webbläsare stödjer inte WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Som administratör kan du fininställa delningsbeteendet. Vänligen se dokumentationen för mer information.",
- "You need to enable the File sharing App." : "Du måste aktivera fildelnings-appen.",
- "App Store" : "App Store",
- "Loading app list" : "Laddar applista",
- "Loading categories" : "Laddar kategorier",
- "Developer documentation ↗" : "Utvecklardokumentation ↗",
- "Version {version}, {license}-licensed" : "Version {version}, {license}-licensierad",
- "All accounts" : "Alla konton",
- "Admins" : "Administratörer",
- "Account group: {group}" : "Kontogrupp: {group}",
- "Account management" : "Kontohantering",
"Sending…" : "Skickar...",
"Email sent" : "E-post skickad",
"Location" : "Plats",
@@ -618,6 +370,7 @@ OC.L10N.register(
"Date of birth" : "Födelsedatum",
"Full name" : "Namn",
"Additional email" : "Ytterligare e-postadress",
+ "Email" : "E-post",
"Fediverse (e.g. Mastodon)" : "Fediverse (t.ex. Mastodon)",
"Headline" : "Rubrik",
"Organisation" : "Organisation",
@@ -627,6 +380,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (tidigare Twitter)",
"Website" : "Webbplats",
"Profile visibility" : "Profilsynlighet",
+ "Language" : "Språk",
"Locale" : "Plats",
"First day of week" : "Första dagen i veckan",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Inte tillgänglig då denna inställning krävs för essentiell funktionalitet såsom fildelning och kalenderinbjudningar",
@@ -642,11 +396,13 @@ OC.L10N.register(
"Show to everyone" : "Visa för alla",
"Show to logged in accounts only" : "Visa endast till inloggade konton",
"Hide" : "Dölj",
+ "Update to {version}" : "Uppdatera till {version}",
"Download and enable" : "Hämta och aktivera",
"Disable" : "Inaktivera",
"Allow untested app" : "Tillåt otestad app",
"The app will be downloaded from the App Store" : "Appen kommer hämtas från appbutiken",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Den här appen är inte markerad som kompatibel med din Nextcloud-version. Om du fortsätter kan du fortfarande installera appen. Observera att appen kanske inte fungerar som förväntat.",
+ "{size} used" : "{size} använt",
"Unknown" : "Okänd",
"Never" : "Aldrig",
"Could not register device: Network error" : "Kunde inte registrera enheten: Nätverksfel",
@@ -664,8 +420,10 @@ OC.L10N.register(
"Could not set group sorting" : "Kunde inte ställa in gruppsortering",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Det kom för många förfrågningar från ditt nätverk. Försök senare eller kontakta din administratör om detta är ett fel.",
"Error" : "Fel",
+ "Default quota" : "Standard kvot",
"Account documentation" : "Användardokumentation",
"Administration documentation" : "Administratörsdokumentation",
+ "Documentation" : "Dokumentation",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud hjälp- och sekretessresurser",
"General documentation" : "Dokumentationsöversikt",
@@ -688,6 +446,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP-lösenord",
"Save" : "Spara",
"Test and verify email settings" : "Testa och verifiera e-postinställningar",
+ "Send email" : "Skicka e-post",
"Security & setup warnings" : "Säkerhet & systemvarningar",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Det är viktigt för säkerhet och prestanda av din instans att allt är korrekt konfigurerat. För att hjälpa dig med det gör vi några automatiska kontroller. Se den länkade dokumentationen för mer information.",
"All checks passed." : "Alla kontroller lyckades!",
@@ -711,9 +470,6 @@ OC.L10N.register(
"File locking" : "Fillåsning",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "Transaktionsbaserad fillåsning är inaktiverad, detta kan leda till problem med konflikter. Aktivera \"filelocking.enabled\" i config.php för att undvika dessa problem.",
"The PHP memory limit is below the recommended value of %s." : "Minnesgränsen för PHP är under det rekommenderade värdet på %s.",
- "Set default expiration date for shares" : "Ställ in standardutgångsdatum för delningar",
- "Your biography" : "Din biografi",
- "You are using <strong>{usage}</strong>" : "Du använder <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Du använder <strong>{usage}</strong> av <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Ställ in standardutgångsdatum för delningar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/sv.json b/apps/settings/l10n/sv.json
index 7cffffd15f0..d5a05aee292 100644
--- a/apps/settings/l10n/sv.json
+++ b/apps/settings/l10n/sv.json
@@ -315,69 +315,6 @@
"Could not load section content from app store." : "Det gick inte att ladda avsnittsinnehåll från app store.",
"Loading" : "Läser in",
"Fetching the latest news…" : "Hämtar de senaste nyheterna...",
- "Carousel" : "Karusell",
- "Previous slide" : "Föregående sida",
- "Next slide" : "Nästa sida",
- "Choose slide to display" : "Välj sida att visa",
- "{index} of {total}" : "{index} av {total}",
- "Daemon" : "Demon",
- "Type" : "Typ",
- "Display Name" : "Visningsnamn",
- "Learn more" : "Läs mer",
- "Confirm" : "Bekräfta",
- "Cancel" : "Avbryt",
- "Description" : "Beskrivning",
- "View in store" : "Visa i butik",
- "Visit website" : "Besök webbplats",
- "Usage documentation" : "Användardokumentation",
- "Admin documentation" : "Administratörsdokumentation",
- "Developer documentation" : "Utvecklardokumentation",
- "Details" : "Detaljer",
- "All" : "Alla",
- "Limit app usage to groups" : "Begränsa appanvändning till grupper",
- "No results" : "Inga resultat",
- "Update to {version}" : "Uppdatera till {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Denna app har ingen lägsta Nextcloud-version tilldelad. Detta kommer att innebära ett problem i framtiden.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Denna app har ingen minimum Nextcloud-version tilldelad. Detta kommer att innebära ett problem i framtiden.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Denna applikation kan inte installeras då följande beroenden inte är uppfyllda: %s",
- "Latest updated" : "Senast uppdaterad",
- "Author" : "Upphovsman",
- "Categories" : "Kategorier",
- "Resources" : "Resurser",
- "Documentation" : "Dokumentation",
- "Interact" : "Interagera",
- "Report a bug" : "Rapportera ett problem",
- "Request feature" : "Begär egenskap",
- "Ask questions or discuss" : "Ställ frågor eller diskutera",
- "Rate the app" : "Betygsätt appen",
- "Rate" : "Betygsätt",
- "Changelog" : "Ändringslogg",
- "Google Chrome for Android" : "Google Chrome för Android",
- "{productName} iOS app" : "{productName} iOS app",
- "{productName} Android app" : "{productName} Android app",
- "{productName} Talk for iOS" : "{productName} Talk för iOS",
- "{productName} Talk for Android" : "{productName} Talk för Android",
- "Sync client" : "Synkklient",
- "This session" : "Denna session ",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Enhetsnamn",
- "Cancel renaming" : "Avbryt namnändring",
- "Save new name" : "Spara nya namnet",
- "Marked for remote wipe" : "Markerad för fjärrensning",
- "Device settings" : "Enhetsinställningar",
- "Allow filesystem access" : "Tillåt åtkomst till filsystemet",
- "Rename" : "Byt namn",
- "Revoke" : "Återkalla",
- "Wipe device" : "Rensa enhet",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Återkallning kan förhindra att enheten rensas om inte rensningen redan har startat.",
- "Device" : "Enhet",
- "Last activity" : "Senaste aktivitet",
- "Devices & sessions" : "Enheter & sessioner",
- "Web, desktop and mobile clients currently logged in to your account." : "Webb-, skrivbords- och mobila klienter som är inloggade på ditt konto just nu.",
- "Error while creating device token" : "Fel vid skapande av enhetstoken",
- "App name" : "Appnamn",
- "Create new app password" : "Skapa nytt applösenord",
"App password copied!" : "Applösenordet har kopierats!",
"Copy app password" : "Kopiera applösenord",
"Login name copied!" : "Inloggningsnamnet kopierat!",
@@ -419,195 +356,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det är alltid en god ide att skapa regelbundna säkerhetskopior av din data, om kryptering används var säker på att även krypteringsnycklarna säkerhetskopieras tillsammans med din data.",
"This is the final warning: Do you really want to enable encryption?" : "Detta är en slutgiltig varning: Vill du verkligen aktivera kryptering?",
"Please confirm the group removal" : "Bekräfta borttagning av gruppen",
+ "Cancel" : "Avbryt",
+ "Confirm" : "Bekräfta",
"Submit" : "Skicka",
"Rename group" : "Byt namn på grupp",
- "Current password" : "Nuvarande lösenord",
- "New password" : "Nytt lösenord",
- "Change password" : "Ändra lösenord",
- "Choose your profile picture" : "Välj din profilbild",
- "Please select a valid png or jpg file" : "Välj en giltig png- eller jpg-fil",
- "Error setting profile picture" : "Fel vid inställning av profilbild",
- "Error cropping profile picture" : "Det gick inte att beskära profilbilden",
- "Error saving profile picture" : "Det gick inte att spara profilbilden",
- "Error removing profile picture" : "Det gick inte att ta bort profilbilden",
- "Your profile picture" : "Din profilbild",
- "Upload profile picture" : "Ladda upp profilbild",
- "Choose profile picture from Files" : "Välj profilbild från filer",
- "Remove profile picture" : "Ta bort profilbild",
- "The file must be a PNG or JPG" : "Filen måste vara en PNG eller JPG",
- "Picture provided by original account" : "Bild gjordes tillgänglig av orginalkonto",
- "Set as profile picture" : "Ställ in som profilbild",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Observera att det kan ta upp till 24 timmar för din profilbild att uppdateras överallt.",
- "Your biography. Markdown is supported." : "Din biografi. Markdown stöds.",
- "Unable to update date of birth" : "Det gick inte att uppdatera födelsedatum",
- "Enter your date of birth" : "Ange ditt födelsedatum",
- "You are using {s}{usage}{/s}" : "Du använder {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "Du använder {s}{usage}{/s} av {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "Du är medlem i följande grupper:",
- "Your full name" : "Ditt fullständiga namn",
- "Email options" : "E-postinställningar",
- "Options for additional email address {index}" : "Alternativ för ytterligare e-postadress {index}",
- "Remove primary email" : "Ta bort primär e-postadress",
- "Delete email" : "Ta bort e-post",
- "This address is not confirmed" : "Denna adress är inte verifierad",
- "Unset as primary email" : "Ta bort som primär e-post",
- "Set as primary email" : "Välj som primär e-post",
- "Additional email address {index}" : "Ytterligare e-postadress {index}",
- "Unable to delete primary email address" : "Kunde inte ta bort primär e-postadress",
- "Unable to update primary email address" : "Kunde inte uppdatera primär e-postadress",
- "Unable to add additional email address" : "Kunde inte lägga till ytterligare e-postadress",
- "Unable to update additional email address" : "Kunde inte uppdatera ytterligare e-postadress",
- "Unable to delete additional email address" : "Kunde inte ta bort ytterligare e-postadress",
- "Primary email for password reset and notifications" : "Primär e-postadress för notifikationer och återställning av lösenord",
- "No email address set" : "Ingen e-postadress angiven",
- "Your handle" : "Ditt kontonamn",
- "Derived from your locale ({weekDayName})" : "Härledd från din plats ({weekDayName})",
- "Unable to update first day of week" : "Kunde inte uppdatera första veckodagen",
- "Day to use as the first day of week" : "Dag att använda som första veckodag",
- "Your headline" : "Din rubrik",
- "Unable to update language" : "Kunde inte uppdatera språk",
- "Languages" : "Språk",
- "Help translate" : "Hjälp till med översättningarna",
- "No language set" : "Inget språk angivet",
- "Unable to update locale" : "Det gick inte att uppdatera språk",
- "Locales" : "Platser",
- "Week starts on {firstDayOfWeek}" : "Veckan börjar med {firstDayOfWeek}",
- "No locale set" : "Inget språk angivet",
- "Your city" : "Din stad",
- "Your organisation" : "Din organisation",
- "Your phone number" : "Ditt telefonnummer",
- "Edit your Profile visibility" : "Ändra synligheten för din profil",
- "Unable to update profile enabled state" : "Kunde inte uppdatera profilaktivering",
- "Enable profile" : "Aktivera profil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Den mer restriktiva inställningen av antingen synlighet eller omfattning respekteras på din profil. Till exempel, om synlighet är inställd på \"Visa för alla\" och omfattningen är inställd på \"Privat\", respekteras \"Privat\".",
- "Unable to update visibility of {displayId}" : "Kunde inte uppdatera synlighet för {displayId}",
- "she/her" : "hon/henne",
- "he/him" : "han/honom",
- "they/them" : "de/dem",
- "Your role" : "Din roll",
- "Your X (formerly Twitter) handle" : "Ditt användarnamn på X (tidigare Twitter)",
- "Your website" : "Din webbsida",
- "Invalid value" : "Ogiltigt värde",
- "Unable to update {property}" : "Det gick inte att uppdatera {property}",
- "No {property} set" : "Ingen {property} inställd",
- "Change scope level of {property}, current scope is {scope}" : "Ändra omfattningsnivå för {property}, nuvarande omfattning är {scope}",
- "Unable to update federation scope of the primary {property}" : "Det gick inte att uppdatera federationsomfånget för den primära {property}",
- "Unable to update federation scope of additional {property}" : "Det gick inte att uppdatera federationens omfattning för ytterligare {property}",
- "Add additional email" : "Lägg till ytterligare e-post",
- "Add" : "Lägg till",
- "Create" : "Skapa",
- "Change" : "Ändra",
- "Delete" : "Radera",
- "Reshare" : "Dela vidare",
- "Default language" : "Standardspråk",
- "Common languages" : "Vanliga språk",
- "Other languages" : "Andra språk",
- "Password change is disabled because the master key is disabled" : "Lösenordsbyte är inaktiverat eftersom huvudnyckeln är inaktiverad",
- "No accounts" : "Inga konton",
- "Loading accounts …" : "Laddar konton ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Lista över konton. Denna lista är inte helt återgiven av prestandaskäl. Konton kommer att renderas när du navigerar genom listan.",
- "Manager" : "Chef",
- "Set line manager" : "Ange linjechef",
- "Account name will be autogenerated" : "Kontonamn kommer att autogenereras",
- "Account name (required)" : "Kontonamn (obligatoriskt)",
- "Failed to search groups" : "Kunde inte söka efter grupper",
- "New account" : "Nytt konto",
- "Display name" : "Visningsnamn",
- "Either password or email is required" : "Antingen lösenord eller e-post krävs",
- "Password (required)" : "Lösenord (obligatoriskt)",
- "Email (required)" : "E-post (obligatoriskt)",
- "Email" : "E-post",
- "Member of the following groups (required)" : "Medlem i följande grupper (obligatoriskt)",
- "Member of the following groups" : "Medlem i följande grupper",
- "Set account groups" : "Ställ in kontogrupper",
- "Admin of the following groups" : "Administratör för följande grupper",
- "Set account as admin for …" : "Ange konto som administratör för ...",
- "Quota" : "Lagringsutrymme",
- "Set account quota" : "Ställ in kvot för konto",
- "Language" : "Språk",
- "Set default language" : "Ställ in standardspråk",
- "Add new account" : "Lägg till nytt konto",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} konto …","{userCount} konton …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} konto","{userCount} konton"],
- "Total rows summary" : "Sammanfattning antal rader",
- "Scroll to load more rows" : "Bläddra för att ladda fler rader",
- "Password or insufficient permissions message" : "Lösenord eller meddelande om otillräckliga behörigheter",
- "Avatar" : "Avatar",
- "Account name" : "Kontonamn",
- "Group admin for" : "Gruppadministratör för",
- "Storage location" : "Lagringsplats",
- "Last login" : "Senaste inloggning",
- "Account actions" : "Kontoåtgärder",
- "{size} used" : "{size} använt",
- "Delete account" : "Radera konto",
- "Disconnect all devices and delete local data" : "Koppla bort alla enheter och radera lokalt data",
- "Disable account" : "Inaktivera konto",
- "Enable account" : "Aktivera konto",
- "Resend welcome email" : "Skicka om välkomstmeddelande via e-post",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Om användaren förlorar sin enhet eller lämnar organisationen, kan all Nextcloud-data fjärrensas från alla enheter associerade med {userid}. Fungerar bara om enheterna är anslutna till internet.",
- "Remote wipe of devices" : "Fjärrensning av enheter",
- "Wipe {userid}'s devices" : "Rensa enheter för {userid}",
- "Wiped {userid}'s devices" : "Rensade enheter för {userid}",
- "Failed to load groups with details" : "Kunde inte läsa in grupper med detaljer",
- "Failed to update line manager" : "Kunde inte uppdatera linjechef",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Fullständig radering av konto för {userid} inklusive alla personliga filer, appdata etc.",
- "Account deletion" : "Radering av konto",
- "Delete {userid}'s account" : "Ta bort konto för {userid}",
- "Display name was successfully changed" : "Visningsnamnet har ändrats",
- "Password can't be empty" : "Lösenord får inte vara tomt",
- "Password was successfully changed" : "Lösenordet har ändrats",
- "Email can't be empty" : "E-post får inte vara tomt",
- "Email was successfully changed" : "E-postadressen har ändrats",
- "Welcome mail sent!" : "Välkomstmeddelande skickat via e-post!",
- "Loading account …" : "Laddar konto ...",
- "Change display name" : "Ändra visningsnamn",
- "Set new password" : "Ange nytt lösenord",
- "You do not have permissions to see the details of this account" : "Du har inte behörighet att se detaljerna för detta konto.",
- "Set new email address" : "Ange ny e-postadress",
- "Add account to group" : "Lägg till konto till grupp",
- "Set account as admin for" : "Ange konto som administratör för",
- "Select account quota" : "Välj kvot för konto",
- "Set the language" : "Ställ in språk",
- "Toggle account actions menu" : "Växla menyn med kontoåtgärder",
- "Done" : "Färdig",
- "Edit" : "Redigera",
- "Account management settings" : "Inställningar kontohantering",
- "Visibility" : "Synlighet",
- "Show language" : "Visa språk",
- "Show storage path" : "Visa lagringsväg",
- "Show last login" : "Visa senaste inloggning",
- "Sorting" : "Sortering",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Systemkonfigurationen tvingar sortering av grupper efter namn. Detta inaktiverar också visning av medlemsantal.",
- "Group list sorting" : "Sortering av grupplistor",
- "By member count" : "Efter medlemsantal",
- "By name" : "Efter namn",
- "Send email" : "Skicka e-post",
- "Send welcome email to new accounts" : "Skicka välkomstmail till nya konton",
- "Defaults" : "Standardvärden",
- "Default quota" : "Standard kvot",
- "Select default quota" : "Välj standard kvot",
- "Server error while trying to complete WebAuthn device registration" : "Serverfel när du försökte slutföra registreringen av en WebAuthn-enhet",
- "Passwordless authentication requires a secure connection." : "Lösenordsfri autentisering kräver en säker anslutning.",
- "Add WebAuthn device" : "Lägg till WebAuthn-enhet",
- "Please authorize your WebAuthn device." : "Godkänn din WebAuthn-enhet.",
- "Adding your device …" : "Lägger till din enhet ....",
- "Unnamed device" : "Namnlös enhet",
- "Passwordless Authentication" : "Lösenordsfri autentisering",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Ställ in ditt konto för lösenordsfri autentisering som följer FIDO2-standarden.",
- "No devices configured." : "Inga enheter konfigurerade.",
- "The following devices are configured for your account:" : "Följande enheter är konfigurerade för ditt konto:",
- "Your browser does not support WebAuthn." : "Din webbläsare stödjer inte WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Som administratör kan du fininställa delningsbeteendet. Vänligen se dokumentationen för mer information.",
- "You need to enable the File sharing App." : "Du måste aktivera fildelnings-appen.",
- "App Store" : "App Store",
- "Loading app list" : "Laddar applista",
- "Loading categories" : "Laddar kategorier",
- "Developer documentation ↗" : "Utvecklardokumentation ↗",
- "Version {version}, {license}-licensed" : "Version {version}, {license}-licensierad",
- "All accounts" : "Alla konton",
- "Admins" : "Administratörer",
- "Account group: {group}" : "Kontogrupp: {group}",
- "Account management" : "Kontohantering",
"Sending…" : "Skickar...",
"Email sent" : "E-post skickad",
"Location" : "Plats",
@@ -616,6 +368,7 @@
"Date of birth" : "Födelsedatum",
"Full name" : "Namn",
"Additional email" : "Ytterligare e-postadress",
+ "Email" : "E-post",
"Fediverse (e.g. Mastodon)" : "Fediverse (t.ex. Mastodon)",
"Headline" : "Rubrik",
"Organisation" : "Organisation",
@@ -625,6 +378,7 @@
"X (formerly Twitter)" : "X (tidigare Twitter)",
"Website" : "Webbplats",
"Profile visibility" : "Profilsynlighet",
+ "Language" : "Språk",
"Locale" : "Plats",
"First day of week" : "Första dagen i veckan",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Inte tillgänglig då denna inställning krävs för essentiell funktionalitet såsom fildelning och kalenderinbjudningar",
@@ -640,11 +394,13 @@
"Show to everyone" : "Visa för alla",
"Show to logged in accounts only" : "Visa endast till inloggade konton",
"Hide" : "Dölj",
+ "Update to {version}" : "Uppdatera till {version}",
"Download and enable" : "Hämta och aktivera",
"Disable" : "Inaktivera",
"Allow untested app" : "Tillåt otestad app",
"The app will be downloaded from the App Store" : "Appen kommer hämtas från appbutiken",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Den här appen är inte markerad som kompatibel med din Nextcloud-version. Om du fortsätter kan du fortfarande installera appen. Observera att appen kanske inte fungerar som förväntat.",
+ "{size} used" : "{size} använt",
"Unknown" : "Okänd",
"Never" : "Aldrig",
"Could not register device: Network error" : "Kunde inte registrera enheten: Nätverksfel",
@@ -662,8 +418,10 @@
"Could not set group sorting" : "Kunde inte ställa in gruppsortering",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Det kom för många förfrågningar från ditt nätverk. Försök senare eller kontakta din administratör om detta är ett fel.",
"Error" : "Fel",
+ "Default quota" : "Standard kvot",
"Account documentation" : "Användardokumentation",
"Administration documentation" : "Administratörsdokumentation",
+ "Documentation" : "Dokumentation",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud hjälp- och sekretessresurser",
"General documentation" : "Dokumentationsöversikt",
@@ -686,6 +444,7 @@
"SMTP Password" : "SMTP-lösenord",
"Save" : "Spara",
"Test and verify email settings" : "Testa och verifiera e-postinställningar",
+ "Send email" : "Skicka e-post",
"Security & setup warnings" : "Säkerhet & systemvarningar",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Det är viktigt för säkerhet och prestanda av din instans att allt är korrekt konfigurerat. För att hjälpa dig med det gör vi några automatiska kontroller. Se den länkade dokumentationen för mer information.",
"All checks passed." : "Alla kontroller lyckades!",
@@ -709,9 +468,6 @@
"File locking" : "Fillåsning",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "Transaktionsbaserad fillåsning är inaktiverad, detta kan leda till problem med konflikter. Aktivera \"filelocking.enabled\" i config.php för att undvika dessa problem.",
"The PHP memory limit is below the recommended value of %s." : "Minnesgränsen för PHP är under det rekommenderade värdet på %s.",
- "Set default expiration date for shares" : "Ställ in standardutgångsdatum för delningar",
- "Your biography" : "Din biografi",
- "You are using <strong>{usage}</strong>" : "Du använder <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Du använder <strong>{usage}</strong> av <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Ställ in standardutgångsdatum för delningar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/th.js b/apps/settings/l10n/th.js
index b923d57537c..6035d448063 100644
--- a/apps/settings/l10n/th.js
+++ b/apps/settings/l10n/th.js
@@ -103,47 +103,6 @@ OC.L10N.register(
"_%n app has an update available_::_%n apps have an update available_" : ["%n แอปมีอัปเดตใหม่"],
"Group name" : "ชื่อกลุ่ม",
"Loading" : "กำลังโหลด",
- "Type" : "ประเภท",
- "Confirm" : "ยืนยัน",
- "Cancel" : "ยกเลิก",
- "Description" : "คำอธิบาย",
- "View in store" : "ดูในร้านค้า",
- "Visit website" : "เข้าสู่เว็บไซต์",
- "Admin documentation" : "เอกสารประกอบสำหรับผู้ดูแลระบบ",
- "Developer documentation" : "เอกสารประกอบสำหรับนักพัฒนา",
- "Details" : "รายละเอียด",
- "All" : "ทั้งหมด",
- "Limit app usage to groups" : "จำกัดการใช้แอปสำหรับกลุ่ม",
- "No results" : "ไม่มีผลลัพธ์",
- "Update to {version}" : "อัปเดตเป็น {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "แอปนี้ไม่ได้ระบุรุ่นขั้นต่ำของ Nextcloud ซึ่งอาจเป็นปัญหาในอนาคตได้",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "แอปนี้ไม่ได้ระบุรุ่นสูงสุดของ Nextcloud ซึ่งอาจเป็นปัญหาในอนาคตได้",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "ไม่สามารถติดตั้งแอปนี้ เนื่องจากสิ่งที่พึ่งพาต่อไปนี้ยังไม่ครบ:",
- "Categories" : "หมวดหมู่",
- "Resources" : "ทรัพยากร",
- "Documentation" : "เอกสารประกอบ",
- "Report a bug" : "รายงานข้อผิดพลาด",
- "Changelog" : "บันทึกการเปลี่ยนแปลง",
- "Google Chrome for Android" : "Google Chrome สำหรับ Android",
- "{productName} iOS app" : "แอป {productName} สำหรับ iOS",
- "{productName} Android app" : "แอป {productName} สำหรับ Android",
- "{productName} Talk for iOS" : "{productName} Talk สำหรับ iOS",
- "{productName} Talk for Android" : "{productName} Talk สำหรับ Android",
- "Sync client" : "ไคลเอ็นต์ซิงค์",
- "This session" : "เซสชันนี้",
- "Marked for remote wipe" : "ระบุสำหรับการล้างระยะไกลแล้ว",
- "Device settings" : "การตั้งค่าอุปกรณ์",
- "Allow filesystem access" : "อนุญาตให้เข้าถึงระบบไฟล์",
- "Rename" : "เปลี่ยนชื่อ",
- "Revoke" : "เพิกถอน",
- "Wipe device" : "ล้างอุปกรณ์",
- "Device" : "อุปกรณ์",
- "Last activity" : "กิจกรรมล่าสุด",
- "Devices & sessions" : "อุปกรณ์และเซสซัน",
- "Web, desktop and mobile clients currently logged in to your account." : "ไคลเอ็นต์เว็บ เดสก์ท็อป และมือถือที่เข้าสู่ระบบบัญชีของคุณอยู่",
- "Error while creating device token" : "ข้อผิดพลาดขณะสร้างโทเค็นอุปกรณ์",
- "App name" : "ชื่อแอป",
- "Create new app password" : "สร้างรหัสผ่านแอปใหม่",
"Could not copy app password. Please copy it manually." : "ไม่สามารถคัดลอกรหัสผ่านแอป โปรดคัดลอกด้วยตนเอง",
"Login" : "เข้าสู่ระบบ",
"Password" : "รหัสผ่าน",
@@ -158,72 +117,19 @@ OC.L10N.register(
"Be aware that encryption always increases the file size." : "โปรดทราบว่าการเข้ารหัสไฟล์จะทำให้ขนาดของไฟล์ใหญ่ขึ้นเสมอ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "การสำรองข้อมูลของคุณเป็นประจำเป็นเรื่องที่ดีเสมอ ในกรณีของการเข้ารหัส อย่าลืมสำรองคีย์เข้ารหัสพร้อมข้อมูลของคุณด้วย",
"This is the final warning: Do you really want to enable encryption?" : "นี่คือการเตือนครั้งสุดท้าย: คุณต้องการเปิดใช้การเข้ารหัสจริง ๆ หรือไม่?",
+ "Cancel" : "ยกเลิก",
+ "Confirm" : "ยืนยัน",
"Submit" : "ส่ง",
- "Current password" : "รหัสผ่านปัจจุบัน",
- "New password" : "รหัสผ่านใหม่",
- "Change password" : "เปลี่ยนรหัสผ่าน",
- "Picture provided by original account" : "ใช้รูปภาพจากบัญชีเดิม",
- "Email options" : "ตัวเลือกอีเมล",
- "Remove primary email" : "ลบอีเมลหลักออก",
- "Delete email" : "ลบอีเมล",
- "Additional email address {index}" : "ที่อยู่อีเมลเพิ่มเติม {index}",
- "Primary email for password reset and notifications" : "อีเมลหลักสำหรับการตั้งรหัสผ่านใหม่และการแจ้งเตือน",
- "No email address set" : "ไม่ได้ระบุที่อยู่อีเมล",
- "Help translate" : "ช่วยแปล",
- "No language set" : "ไม่ได้ตั้งภาษา",
- "Add" : "เพิ่ม",
- "Create" : "สร้าง",
- "Change" : "เปลี่ยนแปลง",
- "Delete" : "ลบ",
- "Default language" : "ภาษาค่าเริ่มต้น",
- "Common languages" : "ภาษาที่นิยม",
- "Password change is disabled because the master key is disabled" : "การเปลี่ยนรหัสผ่านถูกปิดการใช้งาน เนื่องจากคีย์หลักถูกปิดการใช้งาน",
- "Display name" : "ชื่อที่แสดง",
- "Email" : "อีเมล",
- "Quota" : "โควต้า",
- "Language" : "ภาษา",
- "Avatar" : "ภาพแทนตัว",
- "Account name" : "ชื่อบัญชี",
- "Group admin for" : "ผู้ดูแลกลุ่มสำหรับ",
- "Storage location" : "สถานที่จัดเก็บข้อมูล",
- "Last login" : "เข้าสู่ระบบล่าสุด",
- "{size} used" : "ใช้ไป {size}",
- "Delete account" : "ลบบัญชี",
- "Resend welcome email" : "ส่งอีเมลยินดีต้อนรับซ้ำ",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "ในกรณีที่อุปกรณ์สูญหายหรือออกจากองค์กร ตัวเลือกนี้สามารถล้างข้อมูล Nextcloud จากทุกอุปกรณ์ที่เชื่อมโยงกับ {userid} จากระยะไกล การล้างข้อมูลจะทำงานเฉพาะเมื่ออุปกรณ์เชื่อมต่อกับอินเทอร์เน็ตเท่านั้น",
- "Remote wipe of devices" : "ล้างอุปกรณ์จากระยะไกล",
- "Wipe {userid}'s devices" : "ล้างอุปกรณ์ของ {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "ลบบัญชีของ {userid} ทั้งหมด รวมถึงไฟล์ส่วนตัว ข้อมูลแอป และอื่น ๆ ทั้งหมด",
- "Account deletion" : "การลบบัญชี",
- "Delete {userid}'s account" : "ลบบัญชีของ {userid}",
- "Welcome mail sent!" : "ส่งอีเมลยินดีต้อนรับแล้ว!",
- "Done" : "เสร็จสิ้น",
- "Edit" : "แก้ไข",
- "Show storage path" : "แสดงเส้นทางจัดเก็บข้อมูล",
- "Show last login" : "แสดงการเข้าสู่ระบบล่าสุด",
- "Send email" : "ส่งอีเมล",
- "Default quota" : "ค่าโควต้าเริ่มต้น",
- "Select default quota" : "เลือกค่าโควต้าเริ่มต้น",
- "Server error while trying to complete WebAuthn device registration" : "เกิดข้อผิดพลาดเซิร์ฟเวอร์ขณะกำลังพยายามลงทะเบียนอุปกรณ์ WebAuthn ให้เสร็จสิ้น",
- "Passwordless authentication requires a secure connection." : "การรับรองความถูกต้องแบบไร้รหัสผ่านต้องใช้การเชื่อมต่อที่ปลอดภัย",
- "Add WebAuthn device" : "เพิ่มอุปกรณ์ WebAuthn",
- "Please authorize your WebAuthn device." : "โปรดอนุมัติอุปกรณ์ WebAuthn ของคุณ",
- "Adding your device …" : "กำลังเพิ่มอุปกรณ์ …",
- "Unnamed device" : "อุปกรณ์ไม่มีชื่อ",
- "Passwordless Authentication" : "การรับรองความถูกต้องแบบไร้รหัสผ่าน",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "ตั้งค่าบัญชีของคุณเพื่อใช้การรับรองความถูกต้องแบบไร้รหัสผ่านตามมาตรฐาน FIDO2",
- "No devices configured." : "ไม่มีอุปกรณ์ที่กำหนดค่า",
- "The following devices are configured for your account:" : "อุปกรณ์เหล่านี้มีการกำหนดค่าสำหรับบัญชีของคุณแล้ว:",
- "Your browser does not support WebAuthn." : "เบราว์เซอร์ของคุณไม่รองรับ WebAuthn",
- "Admins" : "ผู้ดูแลระบบ",
"Sending…" : "กำลังส่ง....",
"Email sent" : "ส่งอีเมลแล้ว",
"Location" : "ตำแหน่ง",
"Profile picture" : "รูปภาพโปรไฟล์",
"About" : "เกี่ยวกับ",
"Full name" : "ชื่อเต็ม",
+ "Email" : "อีเมล",
"Phone number" : "หมายเลขโทรศัพท์",
"Website" : "เว็บไซต์",
+ "Language" : "ภาษา",
"Locale" : "ตำแหน่งที่ตั้ง",
"Your apps" : "แอปของคุณ",
"Active apps" : "แอปที่เปิดใช้งานอยู่",
@@ -232,10 +138,12 @@ OC.L10N.register(
"App bundles" : "ชุดรวมแอป",
"Featured apps" : "แอปแนะนำ",
"Hide" : "ซ๋อน",
+ "Update to {version}" : "อัปเดตเป็น {version}",
"Download and enable" : "ดาวน์โหลดและเปิดใช้งาน",
"Disable" : "ปิดใช้งาน",
"The app will be downloaded from the App Store" : "แอปจะถูกดาวน์โหลดจากร้านค้าแอป",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "แอปนี้ยังไม่ถูกระบุว่ารองรับกับรุ่น Nextcloud ของคุณ หากคุณดำเนินการต่อ คุณจะสามารถติดตั้งแอปได้ แต่แอปอาจไม่ทำงานอย่างที่คาดหวังไว้",
+ "{size} used" : "ใช้ไป {size}",
"Unknown" : "ไม่ทราบ",
"Never" : "ไม่เคย",
"Error: This app cannot be enabled because it makes the server unstable" : "ข้อผิดพลาด: ไม่สามารถเปิดใช้งานแอปนี้เพราะทำให้เซิร์ฟเวอร์ไม่เสถียร",
@@ -247,6 +155,8 @@ OC.L10N.register(
"Error while updating device token scope" : "ข้อผิดพลาดขณะอัปเดตขอบเขตโทเค็นอุปกรณ์",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "มีการส่งคำขอจากเครือข่ายของคุณมากเกินไป กรุณาลองอีกครั้งในภายหลัง หรือติดต่อผู้ดูแลระบบหากเป็นข้อผิดพลาด",
"Error" : "ข้อผิดพลาด",
+ "Default quota" : "ค่าโควต้าเริ่มต้น",
+ "Documentation" : "เอกสารประกอบ",
"Forum" : "ฟอรัม",
"SSL" : "SSL",
"Open documentation" : "เปิดเอกสารประกอบ",
@@ -262,6 +172,7 @@ OC.L10N.register(
"Credentials" : "ข้อมูลส่วนตัวสำหรับเข้าระบบ",
"SMTP Password" : "รหัสผ่าน SMTP",
"Save" : "บันทึก",
+ "Send email" : "ส่งอีเมล",
"Security & setup warnings" : "คำเตือนความปลอดภัยและการติดตั้ง",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "การกำหนดค่าทุกอย่างให้ถูกต้องเป็นสิ่งสำคัญสำหรับความปลอดภัยและประสิทธิภาพของเซิร์ฟเวอร์ของคุณ เพื่อช่วยคุณในเรื่องนี้ เรากำลังทำการตรวจสอบอัตโนมัติ โปรดดูเอกสารประกอบที่ลิงก์มาสำหรับข้อมูลเพิ่มเติม",
"All checks passed." : "ผ่านการตรวจสอบทั้งหมด",
diff --git a/apps/settings/l10n/th.json b/apps/settings/l10n/th.json
index f20c0a8bcfc..dc0fc7fbb04 100644
--- a/apps/settings/l10n/th.json
+++ b/apps/settings/l10n/th.json
@@ -101,47 +101,6 @@
"_%n app has an update available_::_%n apps have an update available_" : ["%n แอปมีอัปเดตใหม่"],
"Group name" : "ชื่อกลุ่ม",
"Loading" : "กำลังโหลด",
- "Type" : "ประเภท",
- "Confirm" : "ยืนยัน",
- "Cancel" : "ยกเลิก",
- "Description" : "คำอธิบาย",
- "View in store" : "ดูในร้านค้า",
- "Visit website" : "เข้าสู่เว็บไซต์",
- "Admin documentation" : "เอกสารประกอบสำหรับผู้ดูแลระบบ",
- "Developer documentation" : "เอกสารประกอบสำหรับนักพัฒนา",
- "Details" : "รายละเอียด",
- "All" : "ทั้งหมด",
- "Limit app usage to groups" : "จำกัดการใช้แอปสำหรับกลุ่ม",
- "No results" : "ไม่มีผลลัพธ์",
- "Update to {version}" : "อัปเดตเป็น {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "แอปนี้ไม่ได้ระบุรุ่นขั้นต่ำของ Nextcloud ซึ่งอาจเป็นปัญหาในอนาคตได้",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "แอปนี้ไม่ได้ระบุรุ่นสูงสุดของ Nextcloud ซึ่งอาจเป็นปัญหาในอนาคตได้",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "ไม่สามารถติดตั้งแอปนี้ เนื่องจากสิ่งที่พึ่งพาต่อไปนี้ยังไม่ครบ:",
- "Categories" : "หมวดหมู่",
- "Resources" : "ทรัพยากร",
- "Documentation" : "เอกสารประกอบ",
- "Report a bug" : "รายงานข้อผิดพลาด",
- "Changelog" : "บันทึกการเปลี่ยนแปลง",
- "Google Chrome for Android" : "Google Chrome สำหรับ Android",
- "{productName} iOS app" : "แอป {productName} สำหรับ iOS",
- "{productName} Android app" : "แอป {productName} สำหรับ Android",
- "{productName} Talk for iOS" : "{productName} Talk สำหรับ iOS",
- "{productName} Talk for Android" : "{productName} Talk สำหรับ Android",
- "Sync client" : "ไคลเอ็นต์ซิงค์",
- "This session" : "เซสชันนี้",
- "Marked for remote wipe" : "ระบุสำหรับการล้างระยะไกลแล้ว",
- "Device settings" : "การตั้งค่าอุปกรณ์",
- "Allow filesystem access" : "อนุญาตให้เข้าถึงระบบไฟล์",
- "Rename" : "เปลี่ยนชื่อ",
- "Revoke" : "เพิกถอน",
- "Wipe device" : "ล้างอุปกรณ์",
- "Device" : "อุปกรณ์",
- "Last activity" : "กิจกรรมล่าสุด",
- "Devices & sessions" : "อุปกรณ์และเซสซัน",
- "Web, desktop and mobile clients currently logged in to your account." : "ไคลเอ็นต์เว็บ เดสก์ท็อป และมือถือที่เข้าสู่ระบบบัญชีของคุณอยู่",
- "Error while creating device token" : "ข้อผิดพลาดขณะสร้างโทเค็นอุปกรณ์",
- "App name" : "ชื่อแอป",
- "Create new app password" : "สร้างรหัสผ่านแอปใหม่",
"Could not copy app password. Please copy it manually." : "ไม่สามารถคัดลอกรหัสผ่านแอป โปรดคัดลอกด้วยตนเอง",
"Login" : "เข้าสู่ระบบ",
"Password" : "รหัสผ่าน",
@@ -156,72 +115,19 @@
"Be aware that encryption always increases the file size." : "โปรดทราบว่าการเข้ารหัสไฟล์จะทำให้ขนาดของไฟล์ใหญ่ขึ้นเสมอ",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "การสำรองข้อมูลของคุณเป็นประจำเป็นเรื่องที่ดีเสมอ ในกรณีของการเข้ารหัส อย่าลืมสำรองคีย์เข้ารหัสพร้อมข้อมูลของคุณด้วย",
"This is the final warning: Do you really want to enable encryption?" : "นี่คือการเตือนครั้งสุดท้าย: คุณต้องการเปิดใช้การเข้ารหัสจริง ๆ หรือไม่?",
+ "Cancel" : "ยกเลิก",
+ "Confirm" : "ยืนยัน",
"Submit" : "ส่ง",
- "Current password" : "รหัสผ่านปัจจุบัน",
- "New password" : "รหัสผ่านใหม่",
- "Change password" : "เปลี่ยนรหัสผ่าน",
- "Picture provided by original account" : "ใช้รูปภาพจากบัญชีเดิม",
- "Email options" : "ตัวเลือกอีเมล",
- "Remove primary email" : "ลบอีเมลหลักออก",
- "Delete email" : "ลบอีเมล",
- "Additional email address {index}" : "ที่อยู่อีเมลเพิ่มเติม {index}",
- "Primary email for password reset and notifications" : "อีเมลหลักสำหรับการตั้งรหัสผ่านใหม่และการแจ้งเตือน",
- "No email address set" : "ไม่ได้ระบุที่อยู่อีเมล",
- "Help translate" : "ช่วยแปล",
- "No language set" : "ไม่ได้ตั้งภาษา",
- "Add" : "เพิ่ม",
- "Create" : "สร้าง",
- "Change" : "เปลี่ยนแปลง",
- "Delete" : "ลบ",
- "Default language" : "ภาษาค่าเริ่มต้น",
- "Common languages" : "ภาษาที่นิยม",
- "Password change is disabled because the master key is disabled" : "การเปลี่ยนรหัสผ่านถูกปิดการใช้งาน เนื่องจากคีย์หลักถูกปิดการใช้งาน",
- "Display name" : "ชื่อที่แสดง",
- "Email" : "อีเมล",
- "Quota" : "โควต้า",
- "Language" : "ภาษา",
- "Avatar" : "ภาพแทนตัว",
- "Account name" : "ชื่อบัญชี",
- "Group admin for" : "ผู้ดูแลกลุ่มสำหรับ",
- "Storage location" : "สถานที่จัดเก็บข้อมูล",
- "Last login" : "เข้าสู่ระบบล่าสุด",
- "{size} used" : "ใช้ไป {size}",
- "Delete account" : "ลบบัญชี",
- "Resend welcome email" : "ส่งอีเมลยินดีต้อนรับซ้ำ",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "ในกรณีที่อุปกรณ์สูญหายหรือออกจากองค์กร ตัวเลือกนี้สามารถล้างข้อมูล Nextcloud จากทุกอุปกรณ์ที่เชื่อมโยงกับ {userid} จากระยะไกล การล้างข้อมูลจะทำงานเฉพาะเมื่ออุปกรณ์เชื่อมต่อกับอินเทอร์เน็ตเท่านั้น",
- "Remote wipe of devices" : "ล้างอุปกรณ์จากระยะไกล",
- "Wipe {userid}'s devices" : "ล้างอุปกรณ์ของ {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "ลบบัญชีของ {userid} ทั้งหมด รวมถึงไฟล์ส่วนตัว ข้อมูลแอป และอื่น ๆ ทั้งหมด",
- "Account deletion" : "การลบบัญชี",
- "Delete {userid}'s account" : "ลบบัญชีของ {userid}",
- "Welcome mail sent!" : "ส่งอีเมลยินดีต้อนรับแล้ว!",
- "Done" : "เสร็จสิ้น",
- "Edit" : "แก้ไข",
- "Show storage path" : "แสดงเส้นทางจัดเก็บข้อมูล",
- "Show last login" : "แสดงการเข้าสู่ระบบล่าสุด",
- "Send email" : "ส่งอีเมล",
- "Default quota" : "ค่าโควต้าเริ่มต้น",
- "Select default quota" : "เลือกค่าโควต้าเริ่มต้น",
- "Server error while trying to complete WebAuthn device registration" : "เกิดข้อผิดพลาดเซิร์ฟเวอร์ขณะกำลังพยายามลงทะเบียนอุปกรณ์ WebAuthn ให้เสร็จสิ้น",
- "Passwordless authentication requires a secure connection." : "การรับรองความถูกต้องแบบไร้รหัสผ่านต้องใช้การเชื่อมต่อที่ปลอดภัย",
- "Add WebAuthn device" : "เพิ่มอุปกรณ์ WebAuthn",
- "Please authorize your WebAuthn device." : "โปรดอนุมัติอุปกรณ์ WebAuthn ของคุณ",
- "Adding your device …" : "กำลังเพิ่มอุปกรณ์ …",
- "Unnamed device" : "อุปกรณ์ไม่มีชื่อ",
- "Passwordless Authentication" : "การรับรองความถูกต้องแบบไร้รหัสผ่าน",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "ตั้งค่าบัญชีของคุณเพื่อใช้การรับรองความถูกต้องแบบไร้รหัสผ่านตามมาตรฐาน FIDO2",
- "No devices configured." : "ไม่มีอุปกรณ์ที่กำหนดค่า",
- "The following devices are configured for your account:" : "อุปกรณ์เหล่านี้มีการกำหนดค่าสำหรับบัญชีของคุณแล้ว:",
- "Your browser does not support WebAuthn." : "เบราว์เซอร์ของคุณไม่รองรับ WebAuthn",
- "Admins" : "ผู้ดูแลระบบ",
"Sending…" : "กำลังส่ง....",
"Email sent" : "ส่งอีเมลแล้ว",
"Location" : "ตำแหน่ง",
"Profile picture" : "รูปภาพโปรไฟล์",
"About" : "เกี่ยวกับ",
"Full name" : "ชื่อเต็ม",
+ "Email" : "อีเมล",
"Phone number" : "หมายเลขโทรศัพท์",
"Website" : "เว็บไซต์",
+ "Language" : "ภาษา",
"Locale" : "ตำแหน่งที่ตั้ง",
"Your apps" : "แอปของคุณ",
"Active apps" : "แอปที่เปิดใช้งานอยู่",
@@ -230,10 +136,12 @@
"App bundles" : "ชุดรวมแอป",
"Featured apps" : "แอปแนะนำ",
"Hide" : "ซ๋อน",
+ "Update to {version}" : "อัปเดตเป็น {version}",
"Download and enable" : "ดาวน์โหลดและเปิดใช้งาน",
"Disable" : "ปิดใช้งาน",
"The app will be downloaded from the App Store" : "แอปจะถูกดาวน์โหลดจากร้านค้าแอป",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "แอปนี้ยังไม่ถูกระบุว่ารองรับกับรุ่น Nextcloud ของคุณ หากคุณดำเนินการต่อ คุณจะสามารถติดตั้งแอปได้ แต่แอปอาจไม่ทำงานอย่างที่คาดหวังไว้",
+ "{size} used" : "ใช้ไป {size}",
"Unknown" : "ไม่ทราบ",
"Never" : "ไม่เคย",
"Error: This app cannot be enabled because it makes the server unstable" : "ข้อผิดพลาด: ไม่สามารถเปิดใช้งานแอปนี้เพราะทำให้เซิร์ฟเวอร์ไม่เสถียร",
@@ -245,6 +153,8 @@
"Error while updating device token scope" : "ข้อผิดพลาดขณะอัปเดตขอบเขตโทเค็นอุปกรณ์",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "มีการส่งคำขอจากเครือข่ายของคุณมากเกินไป กรุณาลองอีกครั้งในภายหลัง หรือติดต่อผู้ดูแลระบบหากเป็นข้อผิดพลาด",
"Error" : "ข้อผิดพลาด",
+ "Default quota" : "ค่าโควต้าเริ่มต้น",
+ "Documentation" : "เอกสารประกอบ",
"Forum" : "ฟอรัม",
"SSL" : "SSL",
"Open documentation" : "เปิดเอกสารประกอบ",
@@ -260,6 +170,7 @@
"Credentials" : "ข้อมูลส่วนตัวสำหรับเข้าระบบ",
"SMTP Password" : "รหัสผ่าน SMTP",
"Save" : "บันทึก",
+ "Send email" : "ส่งอีเมล",
"Security & setup warnings" : "คำเตือนความปลอดภัยและการติดตั้ง",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "การกำหนดค่าทุกอย่างให้ถูกต้องเป็นสิ่งสำคัญสำหรับความปลอดภัยและประสิทธิภาพของเซิร์ฟเวอร์ของคุณ เพื่อช่วยคุณในเรื่องนี้ เรากำลังทำการตรวจสอบอัตโนมัติ โปรดดูเอกสารประกอบที่ลิงก์มาสำหรับข้อมูลเพิ่มเติม",
"All checks passed." : "ผ่านการตรวจสอบทั้งหมด",
diff --git a/apps/settings/l10n/tr.js b/apps/settings/l10n/tr.js
index e28a06963ef..e7362bd32a0 100644
--- a/apps/settings/l10n/tr.js
+++ b/apps/settings/l10n/tr.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"settings",
{
"Private" : "Kişisel",
- "Only visible to people matched via phone number integration through Talk on mobile" : "Yalnızca mobil aygıt üzerinde Talk uygulaması telefon numarası bütünleştirmesi ile eşleşen kişiler görebilir",
+ "Only visible to people matched via phone number integration through Talk on mobile" : "Yalnızca mobil aygıt üzerinde Konuş uygulaması telefon numarası bütünleştirmesi ile eşleşen kişiler görebilir",
"Local" : "Yerel",
"Only visible to people on this instance and guests" : "Yalnızca bu kopyadaki kişiler ve konuklar görebilir",
"Federated" : "Birleşik",
@@ -73,7 +73,7 @@ OC.L10N.register(
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "E-posta gönderilirken bir sorun çıktı. Lütfen ayarlarınızı gözden geçirin. (Hata: %s)",
"You need to set your account email before being able to send test emails. Go to %s for that." : "Sınama e-postaları göndermeden önce hesap e-postanızı ayarlamalısınız. Bunun için %s bölümüne gidin.",
"Recently active" : "Son kullanılanlar",
- "Disabled accounts" : "Devre dışı hesaplar",
+ "Disabled accounts" : "Kullanımdan kaldırılmış hesaplar",
"Invalid account" : "Hesap geçersiz",
"Invalid mail address" : "E-posta adresi geçersiz",
"Settings saved" : "Ayarlar kaydedildi",
@@ -119,7 +119,7 @@ OC.L10N.register(
"Availability" : "Uygunluk",
"Calendar" : "Takvim",
"Personal info" : "Kişisel bilgiler",
- "Mobile & desktop" : "Mobil ve masaüstü",
+ "Mobile & desktop" : "Mobil ve bilgisayar",
"Email server" : "E-posta sunucusu",
"Mail Providers" : "E-posta hizmeti sağlayıcıları",
"Mail provider enables sending emails directly through the user's personal email account. At present, this functionality is limited to calendar invitations. It requires Nextcloud Mail 4.1 and an email account in Nextcloud Mail that matches the user's email address in Nextcloud." : "E-posta hizmeti sağlayıcısı, e-postaları doğrudan kullanıcının kişisel e-posta hesabı üzerinden göndermeyi sağlar. Şu anda, bu özellik takvim davetleriyle sınırlıdır. Nextcloud Posta 4.1 ve Nextcloud Posta üzerinde kullanıcının Nextcloud e-posta adresiyle eşleşen bir e-posta hesabı gerekir.",
@@ -138,10 +138,10 @@ OC.L10N.register(
"App directories owner" : "Uygulama klasörleri sahibi",
"Some app directories are owned by a different user than the web server one. This may be the case if apps have been installed manually. Check the permissions of the following app directories:\n%s" : "Bazı uygulama klasörlerinin sahipliği site sunucusunun kullandığından başka bir kullanıcıya ait. Bu durum, uygulamalar el ile kurulduğunda ortaya çıkabilir. Şu uygulama klasörlerinin izinlerini denetleyin:\n%s",
"App directories have the correct owner \"%s\"" : "Uygulama klasörlerinin sahibi \"%s\" ve doğru",
- "Brute-force Throttle" : "Kaba kuvvet sınırlaması",
+ "Brute-force Throttle" : "Kaba kuvvet saldırısı sınırlaması",
"Your remote address could not be determined." : "Uzak adresiniz belirlenemedi.",
- "Your remote address was identified as \"%s\" and is brute-force throttled at the moment slowing down the performance of various requests. If the remote address is not your address this can be an indication that a proxy is not configured correctly." : "Uzak adresiniz \"%s\" olarak belirlendi ve şu anda çeşitli isteklerin yerine getirilmesini yavaşlatacak şekilde kaba kuvvet saldırısı nedeniyle kısıtlanıyor. Uzak adres sizin adresiniz değilse bu, vekil sunucusunun doğru şekilde yapılandırılmadığını gösteriyor olabilir.",
- "Your remote address \"%s\" is not brute-force throttled." : "\"%s\" uzak adresinize kaba kuvvet sınırlaması uygulanmıyor.",
+ "Your remote address was identified as \"%s\" and is brute-force throttled at the moment slowing down the performance of various requests. If the remote address is not your address this can be an indication that a proxy is not configured correctly." : "Uzak adresiniz \"%s\" olarak belirlendi ve şu anda çeşitli isteklerin yerine getirilmesini yavaşlatacak şekilde kaba kuvvet saldırısı koruması nedeniyle kısıtlanıyor. Uzak adres sizin adresiniz değilse bu, vekil sunucusunun doğru şekilde yapılandırılmadığını gösteriyor olabilir.",
+ "Your remote address \"%s\" is not brute-force throttled." : "\"%s\" uzak adresinize kaba kuvvet saldırısı sınırlaması uygulanmıyor.",
"Old administration imported certificates" : "Eski yönetimin içe aktarılmış sertifikaları",
"A background job is pending that checks for administration imported SSL certificates. Please check back later." : "Yönetim tarafından içe aktarılmış SSL sertifikalarını denetleyen bir arka plan görevi bekliyor. Lütfen bir süre sonra yeniden denetleyin.",
"There are some administration imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below." : "Yönetim tarafından içe aktarılmış ancak artık Nextcloud 21 ile kullanılmayan bazı SSL sertifikaları var. Bunlar, komut satırından \"occ security:certificates:import\" komutu ile içe aktarılabilir. Veri klasörü içindeki yollarını aşağıda görebilirsiniz.",
@@ -164,24 +164,24 @@ OC.L10N.register(
"Database missing indices" : "Veri tabanında dizinler eksik",
"Missing indices:" : "Dizinler eksik:",
"\"%s\" in table \"%s\"" : "\"%s\", \"%s\" tablosunda",
- "Detected some missing optional indices. Occasionally new indices are added (by Nextcloud or installed applications) to improve database performance. Adding indices can sometimes take awhile and temporarily hurt performance so this is not done automatically during upgrades. Once the indices are added, queries to those tables should be faster. Use the command `occ db:add-missing-indices` to add them." : "İsteğe bağlı bazı dizinlerin eksik olduğu bulundu. Bazen veritabanı başarımını iyileştirmek için yeni dizinler eklenir (Nextcloud veya kurulmuş uygulamalar tarafından). Dizinleri eklemek bazen biraz zaman alabilir ve başarımı geçici olarak düşürebilir, bu nedenle yükseltmeler sırasında bu işlem otomatik olarak yapılmaz. Dizinler eklendikten sonra, bu tablolara yapılan sorguların daha hızlı olması beklenir. Bunları eklemek için `occ db:add-missing-indices` komutunu kullanın.",
+ "Detected some missing optional indices. Occasionally new indices are added (by Nextcloud or installed applications) to improve database performance. Adding indices can sometimes take awhile and temporarily hurt performance so this is not done automatically during upgrades. Once the indices are added, queries to those tables should be faster. Use the command `occ db:add-missing-indices` to add them." : "İsteğe bağlı bazı dizinlerin eksik olduğu bulundu. Bazen veri tabanı başarımını iyileştirmek için yeni dizinler eklenir (Nextcloud veya kurulmuş uygulamalar tarafından). Dizinleri eklemek bazen biraz zaman alabilir ve başarımı geçici olarak düşürebilir. Bu nedenle yükseltmeler sırasında bu işlem otomatik olarak yapılmaz. Dizinler eklendikten sonra, bu tablolara yapılan sorguların daha hızlı olması beklenir. Bunları eklemek için `occ db:add-missing-indices` komutunu kullanın.",
"Database missing primary keys" : "Veri tabanında birincil anahtarlar eksik",
"Missing primary key on table \"%s\"." : "\"%s\" tablosunda birincil dizin anahtarı eksik.",
"The database is missing some primary keys. Due to the fact that adding primary keys on big tables could take some time they were not added automatically. By running \"occ db:add-missing-primary-keys\" those missing primary keys could be added manually while the instance keeps running." : "Veri tabanında bazı birincil dizin anahtarları eksik. Büyük tablolara birincil anahtarların eklenmesi uzun sürebildiğinden bu işlem otomatik olarak yapılmaz. Sunucunuz normal çalışırken eksik birincil anahtarları el ile eklemek için \"occ db:add-missing-primary-keys\" komutunu yürütün.",
- "Database pending bigint migrations" : "Veritabanı büyük tam sayı dönüşümleri bekliyor",
+ "Database pending bigint migrations" : "Veri tabanı büyük tam sayı dönüşümleri bekliyor",
"Some columns in the database are missing a conversion to big int. Due to the fact that changing column types on big tables could take some time they were not changed automatically. By running \"occ db:convert-filecache-bigint\" those pending changes could be applied manually. This operation needs to be made while the instance is offline." : "Veri tabanında büyük tam sayıya dönüştürülecek bazı sütunlar eksik. Sütun türlerini büyük tablolara dönüştürme işlemi uzun sürebileceğinden bu işlem otomatik olarak yapılmaz. Sunucunuz normal çalışırken bekleyen değişiklikleri el ile uygulamak için \"occ db:convert-filecache-bigint\" komutunu yürütün. Bu işlem yapılırken Nextcloud kopyası çevrim dışı olur.",
"Debug mode" : "Hata ayıklama kipi",
- "This instance is running in debug mode. Only enable this for local development and not in production environments." : "Bu kopya hata ayıklama kipinde çalışıyor. Bu seçeneği yalnızca yerel geliştirme ortamında etkinleştirin, üretim ortamlarında kullanmayın.",
- "Debug mode is disabled." : "Hata ayıklama kipi devre dışı bırakıldı.",
+ "This instance is running in debug mode. Only enable this for local development and not in production environments." : "Bu kopya hata ayıklama kipinde çalışıyor. Bu seçeneği yalnızca yerel geliştirme ortamında açın, üretim ortamlarında kullanmayın.",
+ "Debug mode is disabled." : "Hata ayıklama kipi kapatıldı.",
"Default phone region" : "Varsayılan telefon alan kodu",
"Your installation has no default phone region set. This is required to validate phone numbers in the profile settings without a country code. To allow numbers without a country code, please add \"default_phone_region\" with the respective ISO 3166-1 code of the region to your config file." : "Kurulumunuz için bir varsayılan telefon bölgesi ayarlanmamış. Bu bölge telefon numaralarının bir ülke kodu belirtilmeden doğrulanmasını sağlar. Telefon numaralarının ülke kodu olmadan yazılabilmesini istiyorsanız, yapılandırma dosyasına \"default_phone_region\" seçeneğini ekleyerek ilgili ISO 3166-1 bölge kodunu yazın.",
"Email test" : "E-posta sınaması",
- "Mail delivery is disabled by instance config \"%s\"." : "E-posta gönderimi kopyanın yapılandırmasından devre dışı bırakılmış \"%s\".",
+ "Mail delivery is disabled by instance config \"%s\"." : "E-posta gönderimi kopyanın yapılandırmasında kapatılmış \"%s\".",
"Email test was successfully sent" : "E-posta sınaması gönderildi",
"You have not set or verified your email server configuration, yet. Please head over to the \"Basic settings\" in order to set them. Afterwards, use the \"Send email\" button below the form to verify your settings." : "E-posta sunucusu yapılandırmanızı henüz ayarlamadınız veya doğrulamadınız. Ayarları yapmak için \"Temel ayarlar\" bölümüne gidin. Ardından, ayarlarınızı doğrulamak için formun altındaki \"E-posta gönder\" düğmesine tıklayın.",
"Transactional File Locking" : "İşlemsel dosya kilidi",
- "Transactional File Locking is disabled. This is not a a supported configuraton. It may lead to difficult to isolate problems including file corruption. Please remove the `'filelocking.enabled' => false` configuration entry from your `config.php` to avoid these problems." : "İşlemsel dosya kilidi devre dışı bırakılmış. Bu yapılandırma desteklenmez ve dosyaların bozulması gibi çözülmesi zor sorunlara yol açabilir. Bu sorunları önlemek için lütfen `config.php` dosyanızdan `'filelocking.enabled' => false` yapılandırma kaydını kaldırın.",
- "The database is used for transactional file locking. To enhance performance, please configure memcache, if available." : "Veritabanı, işlemsel dosya kilitleme için kullanılır. Başarımı yükseltmek için varsa lütfen memcache yapılandırmasını ayarlayın.",
+ "Transactional File Locking is disabled. This is not a a supported configuraton. It may lead to difficult to isolate problems including file corruption. Please remove the `'filelocking.enabled' => false` configuration entry from your `config.php` to avoid these problems." : "İşlemsel dosya kilidi kapatılmış. Bu yapılandırma desteklenmez ve dosyaların bozulması gibi çözülmesi zor sorunlara yol açabilir. Bu sorunları önlemek için lütfen `config.php` dosyanızdan `'filelocking.enabled' => false` yapılandırma kaydını kaldırın.",
+ "The database is used for transactional file locking. To enhance performance, please configure memcache, if available." : "Veri tabanı, işlemsel dosya kilitleme için kullanılır. Başarımı yükseltmek için varsa lütfen memcache yapılandırmasını ayarlayın.",
"Forwarded for headers" : "Üst bilgi yönlendirmesi",
"Your \"trusted_proxies\" setting is not correctly set, it should be an array." : "\"trusted_proxies\" ayarınız düzgün yapılmamış. Bu bir dizi olmalıdır.",
"Your \"trusted_proxies\" setting is not correctly set, it should be an array of IP addresses - optionally with range in CIDR notation." : "\"Trusted_proxies\" ayarınız doğru şekilde yapılmamış. İsteğe bağlı olarak CIDR gösterimindeki aralıkla birlikte bir IP adresi aralığı olmalıdır.",
@@ -195,7 +195,7 @@ OC.L10N.register(
"Your instance is generating insecure URLs. If you access your instance over HTTPS, this likely means that your instance is behind a reverse proxy and the Nextcloud `overwrite*` config values are not set correctly." : "Kopyanız güvenli olmayan adresler üretiyor. Kopyanıza HTTPS üzerinden erişiyorsanız, bu durum genellikle bir ters vekil sunucunun arkasında bulunmanızdan ve Nextcloud `overwrite*` yapılandırma değerlerinin doğru olarak ayarlanmamış olmasından kaynaklanır.",
"You are accessing your instance over a secure connection, and your instance is generating secure URLs." : "Kopyanıza güvenli bir bağlantı üzerinden erişiyorsunuz ve kopyanız güvenli adresler oluşturuyor.",
"Internet connectivity" : "İnternet bağlantısı",
- "Internet connectivity is disabled in configuration file." : "İnternet bağlantısı yapılandırma dosyasında devre dışı bırakılmış.",
+ "Internet connectivity is disabled in configuration file." : "İnternet bağlantısı yapılandırma dosyasında kapatılmış.",
"This server has no working internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the internet to enjoy all features." : "Bu sunucunun çalışan bir İnternet bağlantısı yok. Birden çok uç noktaya erişilemez. Bu durumda dış depolama alanı bağlama, güncelleme bildirimleri ya da üçüncü taraf uygulamalarını kurmak gibi bazı özellikler çalışmaz. Dosyalara uzaktan erişim ve bildirim e-postalarının gönderilmesi işlemleri de yapılamaz. Tüm bu özelliklerin kullanılabilmesi için sunucuyu İnternet üzerine bağlamanız önerilir.",
"JavaScript modules support" : "JavaScript modülleri desteği",
"Unable to run check for JavaScript support. Please remedy or confirm manually if your webserver serves `.mjs` files using the JavaScript MIME type." : "JavaScript desteği denetlenemedi. Lütfen site sunucunuzun JavaScript MIME türünü kullanarak `.mjs` dosyalarını sunup sunmadığını el ile denetleyin.",
@@ -203,8 +203,8 @@ OC.L10N.register(
"JavaScript source map support" : "JavaScript kaynak haritası desteği",
"Your webserver is not set up to serve `.js.map` files. Without these files, JavaScript Source Maps won't function properly, making it more challenging to troubleshoot and debug any issues that may arise." : "Site sunucunuz `.js.map` dosyalarını sunacak şekilde ayarlanmamış. Bu dosyalar olmadan, JavaScript kaynak haritaları düzgün çalışmaz. Bu durum ortaya çıkabilecek sorunların giderilmesini ve hata ayıklamasını zorlaştırır.",
"Old server-side-encryption" : "Eski sunucu tarafı şifreleme",
- "Disabled" : "Devre Dışı",
- "The old server-side-encryption format is enabled. We recommend disabling this." : "Eski sunucu tarafı şifreleme biçimi etkinleştirilmiş. Bu seçeneği devre dışı bırakmanız önerilir.",
+ "Disabled" : "Kapalı",
+ "The old server-side-encryption format is enabled. We recommend disabling this." : "Eski sunucu tarafı şifreleme biçimi açılmış. Bu seçeneği kapatmanız önerilir.",
"Logging level" : "Günlük kaydı düzeyi",
"The %1$s configuration option must be a valid integer value." : "%1$s yapılandırma seçeneği geçerli bir tam sayı olmalıdır.",
"The logging level is set to debug level. Use debug level only when you have a problem to diagnose, and then reset your log level to a less-verbose level as it outputs a lot of information, and can affect your server performance." : "Günlük kaydı hata ayıklama düzeyine ayarlanmış. Hata ayıklama düzeyini yalnızca bulmanız gereken bir sorununuz olduğunda kullanın ve ardından daha az ayrıntılı bir düzeye döndürün. Bu düzey çok fazla bilgi kaydeder ve sunucunuzun başarımını etkileyebilir.",
@@ -224,10 +224,10 @@ OC.L10N.register(
"MySQL row format" : "MySQL satır biçimi",
"You are not using MySQL" : "MySQL kullanmıyorsunuz",
"None of your tables use ROW_FORMAT=Compressed" : "Hiçbir tablonuzda ROW_FORMAT=Compressed kullanılmıyor",
- "Incorrect row format found in your database. ROW_FORMAT=Dynamic offers the best database performances for Nextcloud. Please update row format on the following list: %s." : "Veri tabanınızda yanlış satır biçimi bulundu. ROW_FORMAT=Dynamic, Nextcloud için en iyi veritabanı başarımını sunar. Lütfen aşağıdaki listedeki satır biçimini güncelleyin: %s.",
+ "Incorrect row format found in your database. ROW_FORMAT=Dynamic offers the best database performances for Nextcloud. Please update row format on the following list: %s." : "Veri tabanınızda yanlış satır biçimi bulundu. ROW_FORMAT=Dynamic, Nextcloud için en iyi veri tabanı başarımını sunar. Lütfen aşağıdaki listedeki satır biçimini güncelleyin: %s.",
"MySQL Unicode support" : "MySQL Unikod desteği",
- "MySQL is used as database and does support 4-byte characters" : "Veritabanı olarak MySQL kullanılıyor ve 4 baytlık karakterler destekleniyor",
- "MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL." : "Veritabanı olarak MySQL kullanılıyor ancak 4 bayt uzunluğundaki karakterler desteklenmiyor. 4 bayt uzunluğundaki karaktelerin (emoji simgeleri gibi) dosya adları ya da yorumlarda sorun çıkmadan işlenebilmesi için MySQL üzerinde 4 bayt desteğinin etkinleştirilmesi önerilir.",
+ "MySQL is used as database and does support 4-byte characters" : "Veri tabanı olarak MySQL kullanılıyor ve 4 baytlık karakterler destekleniyor",
+ "MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL." : "Veri tabanı olarak MySQL kullanılıyor ancak 4 bayt uzunluğundaki karakterler desteklenmiyor. 4 bayt uzunluğundaki karakterlerin (emoji simgeleri gibi) dosya adları ya da yorumlarda sorun çıkmadan işlenebilmesi için MySQL üzerinde 4 bayt desteğinin etkinleştirilmesi önerilir.",
"OCS provider resolving" : "OCS hizmet sağlayıcısı çözümleniyor",
"Could not check if your web server properly resolves the OCM and OCS provider URLs." : "Site sunucunuzun OCM ve OCS hizmet sağlayıcı adreslerini doğru şekilde çözümleyip çözümlemediği denetlenemedi.",
"Your web server is not properly set up to resolve %1$s.\nThis is most likely related to a web server configuration that was not updated to deliver this folder directly.\nPlease compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx.\nOn Nginx those are typically the lines starting with \"location ~\" that need an update." : "Site sunucunuz %1$s adresini doğru olarak çözümleyecek şekilde yapılandırılmamış.\nBu sorun genellikle site sunucusu yapılandırmasının bu klasörü doğrudan aktaracak şekilde güncellenmemiş olmamasından kaynaklanır.\nLütfen kendi yapılandırmanızı, Apache için uygulama ile gelen \".htaccess\" dosyasındaki rewrite komutları ile ya da Nginx için belgeler bölümünde bulunan ayarlar ile karşılaştırın.\nNginx üzerinde genellikle \"location ~\" ile başlayan satırların güncellenmesi gerekir.",
@@ -242,7 +242,7 @@ OC.L10N.register(
"PHP configuration option \"default_charset\" should be UTF-8" : "PHP \"default_charset\" yapılandırma seçeneği UTF-8 olmalı",
"PHP set_time_limit" : "PHP set_time_limit",
"The function is available." : "Özellik kullanılabilir.",
- "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "\"set_time_limit\" PHP işlevi kullanılamıyor. Bu durum betiklerin yürütme sırasında durmasına, ve kurulumunuzun çalışmamasına neden olabilir. Bu işlevin etkinleştirilmesi önemle önerilir.",
+ "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "\"set_time_limit\" PHP işlevi kullanılamıyor. Bu durum betiklerin yürütme sırasında durmasına, ve kurulumunuzun çalışmamasına neden olabilir. Bu işlevin kullanıma alınması önemle önerilir.",
"Freetype" : "Freetype",
"Supported" : "Destekleniyor",
"Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "PHP kurulumunuzda FreeType desteği yok. Bu durum profil görsellerinin ve ayarlar bölümünün bozuk görüntülenmesine neden olur.",
@@ -264,14 +264,14 @@ OC.L10N.register(
"This instance is missing some recommended PHP modules. For improved performance and better compatibility it is highly recommended to install them:\n%s" : "Bu kopyada önerilen bazı PHP modülleri eksik. Daha iyi başarım ve uyumluluk için bu modüllerin kurulması önemle önerilir:\n%s",
"PHP opcache" : "PHP opcache",
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "PHP OPcache modülü yüklenmemiş. Daha iyi başarım sağlamak için PHP kurulumunuza eklemeniz önerilir.",
- "OPcache is disabled. For better performance, it is recommended to apply \"opcache.enable=1\" to your PHP configuration." : "OPcache devre dışı bırakılmış. Daha iyi başarım için PHP yapılandırmanızda \"opcache.enable=1\" seçeneğini ayarlamanız önerilir.",
- "The shared memory based OPcache is disabled. For better performance, it is recommended to apply \"opcache.file_cache_only=0\" to your PHP configuration and use the file cache as second level cache only." : "Paylaşılan bellek temelli OPcache devre dışı bırakılmış. Başarımı iyileştirmek için PHP yapılandırmanızda \"opcache.file_cache_only=0\" seçeneğini ayarlamanız ve dosya ön belleğini yalnızca ikinci düzey ön bellek olarak kullanmanız önerilir.",
+ "OPcache is disabled. For better performance, it is recommended to apply \"opcache.enable=1\" to your PHP configuration." : "OPcache kullanılmıyor. Daha iyi başarım için PHP yapılandırmanızda \"opcache.enable=1\" seçeneğini ayarlamanız önerilir.",
+ "The shared memory based OPcache is disabled. For better performance, it is recommended to apply \"opcache.file_cache_only=0\" to your PHP configuration and use the file cache as second level cache only." : "Paylaşılan bellek temelli OPcache kullanılmıyor. Başarımı iyileştirmek için PHP yapılandırmanızda \"opcache.file_cache_only=0\" seçeneğini ayarlamanız ve dosya ön belleğini yalnızca ikinci düzey ön bellek olarak kullanmanız önerilir.",
"OPcache is not working as it should, opcache_get_status() returns false, please check configuration." : "OPcache olması gerektiği gibi çalışmıyor, opcache_get_status() işlevi false değerini döndürüyor. Lütfen yapılandırmayı denetleyin.",
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply \"opcache.max_accelerated_files\" to your PHP configuration with a value higher than \"%s\"." : "En fazla OPcache anahtar sayısına neredeyse erişildi. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza \"%s\" üzerinde bir değerle \"opcache.max_accelerated_files\" uygulamanız önerilir.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply \"opcache.memory_consumption\" to your PHP configuration with a value higher than \"%s\"." : "OPcache ara belleği neredeyse dolu. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza \"%s\" üzerinde bir değerle \"opcache.memory_consumption\" uygulamanız önerilir.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply \"opcache.interned_strings_buffer\" to your PHP configuration with a value higher than \"%s\"." : "OPcache interned dizge ara belleği neredeyse dolu. Yinelenen dizgelerin etkin bir şekilde ön belleğe alınabilmesini sağlamak için, PHP yapılandırmanıza \"%s\" üzerinde bir değerle \"opcache.interned_strings_buffer\" uygulamanız önerilir.",
- "OPcache is configured to remove code comments. With OPcache enabled, \"opcache.save_comments=1\" must be set for Nextcloud to function." : "OPcache, kod yorumlarını kaldıracak şekilde yapılandırılmış. OPcache etkinleştirildiğinde Nextcloud uygulamasının çalışması için \"opcache.save_comments=1\" ayarı yapılmalıdır.",
- "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with \"opcache.restrict_api\" or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud tarafından OPcache API' yazılımının kullanmasına izin verilmez. OPcache etkinleştirildiğinde, Nextcloud çekirdeği veya uygulama yükseltmeleri sırasında hataları önlemek için \"opcache.restrict_api\" ile tüm Nextcloud klasörlerini katmanız ya da OPcache API kısıtlamalarını devre dışı bırakmak için bu ayarı kaldırmanız önemle önerilir.",
+ "OPcache is configured to remove code comments. With OPcache enabled, \"opcache.save_comments=1\" must be set for Nextcloud to function." : "OPcache, kod yorumlarını kaldıracak şekilde yapılandırılmış. OPcache kullanıma alındığında Nextcloud uygulamasının çalışması için \"opcache.save_comments=1\" ayarı yapılmalıdır.",
+ "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with \"opcache.restrict_api\" or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud tarafından OPcache API' yazılımının kullanmasına izin verilmez. OPcache kullanıma alındığında, Nextcloud çekirdeği veya uygulama yükseltmeleri sırasında oluşabilecek hataları önlemek için \"opcache.restrict_api\" ile tüm Nextcloud klasörlerini katmanız ya da OPcache API kısıtlamalarını kapatmak için bu ayarı kaldırmanız önemle önerilir.",
"Checking from CLI, OPcache checks have been skipped." : "Komut satırından denetleniyor, OPcache denetimleri atlanmış.",
"The PHP OPcache module is not properly configured. %s." : "PHP OPcache modülü doğru yapılandırılmamış. %s.",
"Correctly configured" : "Doğru yapılandırılmış",
@@ -279,7 +279,7 @@ OC.L10N.register(
"You are currently running PHP %1$s. PHP %2$s is deprecated since Nextcloud %3$s. Nextcloud %4$s may require at least PHP %5$s. Please upgrade to one of the officially supported PHP versions provided by the PHP Group as soon as possible." : "Şu anda PHP %1$s kullanıyorsunuz. PHP %2$s son olarak Nextcloud %3$s sürümünde destekleniyor. Nextcloud %4$s için en az PHP %5$s gerekebilir. Lütfen olabilecek en kısa sürede PHP Group tarafından sağlanan resmi olarak desteklenen PHP sürümlerinden birine yükseltin.",
"You are currently running PHP %s." : "Şu anda PHP %s kullanıyorsunuz.",
"PHP \"output_buffering\" option" : "PHP \"output_buffering\" seçeneği",
- "PHP configuration option \"output_buffering\" must be disabled" : "PHP \"option output_buffering\" yapılandırma seçeneği devre dışı bırakılmalıdır",
+ "PHP configuration option \"output_buffering\" must be disabled" : "PHP \"option output_buffering\" yapılandırma seçeneği kapatılmalıdır",
"Push service" : "Anında bildirim hizmeti",
"Valid enterprise license" : "Geçerli Enterprise lisansı",
"Free push service" : "Ücretsiz anında bildirim hizmeti",
@@ -288,7 +288,7 @@ OC.L10N.register(
"No suitable source for randomness found by PHP which is highly discouraged for security reasons." : "PHP tarafında uygun bir rastgelelik kaynağı bulunamadı. Güvenlik nedeniyle kesinlikle önerilir.",
"Secure" : "Güvenli",
"Configuration file access rights" : "Yapılandırma dosyasının erişim izinleri",
- "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt okunur yapılandırma etkinleştirilmiş. Bu yapılandırma, bazı ayarların site arayüzünden yapılmasını önler. Ayrıca, bu dosyanın her güncelleme öncesinde el ile yazılabilir yapılması gerekir.",
+ "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt okunur yapılandırma açık. Bu yapılandırma, bazı ayarların site arayüzünden yapılmasını önler. Ayrıca, bu dosyanın izinlerinin her güncelleme öncesinde el ile yazılabilir olarak ayarlanması gerekir.",
"Nextcloud configuration file is writable" : "Nextcloud yapılandırma dosyası yazılabilir",
"Scheduling objects table size" : "Zamanlama nesneler tablosu boyutu",
"You have more than %s rows in the scheduling objects table. Please run the expensive repair jobs via occ maintenance:repair --include-expensive." : "Zamanlama nesneleri tablosunda %s üzerinde satır var. Lütfen büyük onarım işlerini occ maintenance:repair --include-expensive komutu ile yapın",
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP üst bilgileri",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "`%1$s` HTTP üst bilgisi `%2$s` şeklinde ayarlanmamış. Bu durum bazı özelliklerin düzgün çalışmasını engelleyebileceğinden bu ayarın belirtildiği gibi yapılması önerilir.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "`%1$s` HTTP üst bilgisi `%2$s` şeklinde ayarlanmamış. Bu durum olası bir güvenlik ya da gizlilik riski oluşturduğundan bu ayarın belirtildiği gibi yapılması önerilir.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "`%1$s` HTTP üst bilgisinde `%2$s` bulunmuyor. Bu durum olası bir güvenlik ya da gizlilik riski oluşturduğundan bu ayarın belirtildiği gibi yapılması önerilir.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- `%1$s` HTTP üst bilgisi `%2$s`, `%3$s`, `%4$s`, `%5$s` ya da `%6$s` olarak ayarlanmamış. Bu durum yönlendiren bilgisinin sızmasına neden olabilir. {w3c-recommendation} bölümüne bakın.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- `Strict-Transport-Security` HTTP üst bilgisi en azından `%d` saniye olarak ayarlanmamış (geçerli değer: `%d`). Güvenliği artırmak için uzun bir HSTS ilkesi kullanılması önerilir.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- `Strict-Transport-Security` HTTP üst bilgisi doğru biçimde değil: `%s`. Güvenliği artırmak için HSTS kullanılması önerilir.",
@@ -305,26 +304,30 @@ OC.L10N.register(
"Could not check that your web server serves security headers correctly. Please check manually." : "Site sunucunuzun güvenlik üst bilgilerini doğru şekilde sunup sunmadığı denetlenemedi. Lütfen el ile denetleyin.",
"Could not check that your web server serves security headers correctly, unable to query `%s`" : "Site sunucunuzun güvenlik üst bilgilerini doğru şekilde sunup sunmadığı denetlenemedi. `%s` sorgulanamadı.",
"Your server is correctly configured to send security headers." : "Sunucunuz, güvenlik üst bilgilerini göndermek üzere doğru şekilde yapılandırılmış.",
- "Database version" : "Veritabanı sürümü",
+ "Database version" : "Veri tabanı sürümü",
"MariaDB version 10.3 detected, this version is end-of-life and only supported as part of Ubuntu 20.04. MariaDB >=%1$s and <=%2$s is suggested for best performance, stability and functionality with this version of Nextcloud." : "MariaDB 10.3 sürümü bulundu. Bu sürüm ömrünün sonuna geldi ve yalnızca Ubuntu 20.04 sürümünün bir parçası. Bu Nextcloud sürümüyle en iyi başarım, kararlılık ve işlevsellik sağlamak için MariaDB sürümünün %1$s ile %2$s arasında olması önerilir.",
"MariaDB version \"%1$s\" detected. MariaDB >=%2$s and <=%3$s is suggested for best performance, stability and functionality with this version of Nextcloud." : "MariaDB \"%1$s\" sürümü bulundu. Bu Nextcloud sürümüyle en iyi başarım, kararlılık ve işlevsellik sağlamak için MariaDB sürümünün %2$s ile %3$s arasında olması önerilir.",
"MySQL version \"%1$s\" detected. MySQL >=%2$s and <=%3$s is suggested for best performance, stability and functionality with this version of Nextcloud." : "MySQL \"%1$s\" sürümü bulundu. Bu Nextcloud sürümüyle en iyi başarım, kararlılık ve işlevsellik sağlamak için MySQL sürümünün %2$s ile %3$s arasında olması önerilir.",
"PostgreSQL version \"%1$s\" detected. PostgreSQL >=%2$s and <=%3$s is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL \"%1$s\" sürümü bulundu. Bu Nextcloud sürümüyle en iyi başarım, kararlılık ve işlevsellik sağlamak için PostgreSQL sürümünün %2$s ile %3$s arasında olması önerilir.",
- "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend. This is particularly recommended when using the desktop client for file synchronisation. To migrate to another database use the command line tool: \"occ db:convert-type\"." : "Şu anda arka uç veritabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veritabanı arka ucuna geçmenizi öneririz. Bu özellikle dosya eşitlemesi için masaüstü istemcisini kullanırken önerilir. Başka bir veri tabanına geçmek için komut satırı aracını kullanın: \"occ db:convert-type\".",
- "Unknown database platform" : "Veritabanı platformu bilinmiyor",
+ "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend. This is particularly recommended when using the desktop client for file synchronisation. To migrate to another database use the command line tool: \"occ db:convert-type\"." : "Şu anda veri tabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veri tabanına geçmenizi öneririz. Bu özellikle dosya eşitlemesi için bilgisayar istemcisini kullanırken önerilir. Başka bir veri tabanına geçmek için komut satırı aracını kullanın: \"occ db:convert-type\".",
+ "Unknown database platform" : "Veri tabanı platformu bilinmiyor",
"Architecture" : "Mimari",
"64-bit" : "64-bit",
"It seems like you are running a 32-bit PHP version. Nextcloud needs 64-bit to run well. Please upgrade your OS and PHP to 64-bit!" : "32 bit bir PHP sürümü çalıştırıyorsunuz gibi görünüyor. Nextcloud uygulamasının iyi çalışması için 64 bit bir PHP sürümü kullanılmalıdır. Lütfen işletim sisteminizi ve PHP sürümünüzü 64 bit olacak şekilde yükseltin!",
+ "Task Processing pickup speed" : "İşlenecek görevi alma hızı",
+ "_No scheduled tasks in the last %n hour._::_No scheduled tasks in the last %n hours._" : ["Son %n saatte zamanlanmış bir görev yok.","Son %n saatte zamanlanmış bir görev yok."],
+ "_The task pickup speed has been ok in the last %n hour._::_The task pickup speed has been ok in the last %n hours._" : ["Son %n saatte zamanlanmış işlenecek görevi alma hızı iyi.","Son %n saatte zamanlanmış işlenecek görevi alma hızı iyi."],
+ "_The task pickup speed has been slow in the last %n hour. Many tasks took longer than 4 minutes to be picked up. Consider setting up a worker to process tasks in the background._::_The task pickup speed has been slow in the last %n hours. Many tasks took longer than 4 minutes to be picked up. Consider setting up a worker to process tasks in the background._" : ["İşlenecek görevi alma hızı son %n saatte yavaştı. Birçok görevin alınması 4 dakikadan uzun sürdü. Görevlerin arka planda işlenmesi için bir işlem ayarlamayı değerlendirin.","İşlenecek görevi alma hızı son %n saatte yavaştı. Birçok görevin alınması 4 dakikadan uzun sürdü. Görevlerin arka planda işlenmesi için bir işlem ayarlamayı değerlendirin."],
"Temporary space available" : "Geçici alan kullanılabilir",
"Error while checking the temporary PHP path - it was not properly set to a directory. Returned value: %s" : "Geçici PHP yolu denetlenirken sorun çıktı. Doğru şekilde bir klasöre ayarlanmamış. Döndürülen değer: %s",
- "The PHP function \"disk_free_space\" is disabled, which prevents the check for enough space in the temporary directories." : "PHP \"disk_free_space\" işlevi devre dışı bırakıldığından geçici klasörlerde yeterli alan olup olmadığı denetlenemedi.",
+ "The PHP function \"disk_free_space\" is disabled, which prevents the check for enough space in the temporary directories." : "PHP \"disk_free_space\" işlevi kullanılamadığından geçici klasörlerde yeterli alan olup olmadığı denetlenemedi.",
"Error while checking the available disk space of temporary PHP path or no free disk space returned. Temporary path: %s" : "Geçici PHP yolunun kullanılabilir disk alanı denetlenirken sorun çıktı veya boş disk alanı döndürülmedi. Geçici yol: %s",
"- %.1f GiB available in %s (PHP temporary directory)" : "- %s içinde %.1f GiB kullanılabilir (PHP geçici klasörü)",
"- %.1f GiB available in %s (Nextcloud temporary directory)" : "- %s içinde %.1f GiB kullanılabilir (Nextcloud geçici klasörü)",
"Temporary directory is correctly configured:\n%s" : "Geçici klasör doğru şekilde yapılandırılmış:\n%s",
"This instance uses an S3 based object store as primary storage, and has enough space in the temporary directory.\n%s" : "Bu kopya, birincil depolama olarak S3 tabanlı bir nesne deposunu kullanıyor ve geçici klasörde yeterli alan var.\n%s",
"This instance uses an S3 based object store as primary storage. The uploaded files are stored temporarily on the server and thus it is recommended to have 50 GiB of free space available in the temp directory of PHP. To improve this please change the temporary directory in the php.ini or make more space available in that path. \nChecking the available space in the temporary path resulted in %.1f GiB instead of the recommended 50 GiB. Path: %s" : "Bu kopya, birincil depolama olarak S3 tabanlı bir nesne deposu kullanıyor. Yüklenen dosyalar geçici olarak sunucuya kaydedildiğinden PHP geçici klasöründe 50 GiB boş alan bulunması önerilir. Bu durumu düzeltmek için php.ini içindeki geçici klasör yolunu değiştirin ya da kullanılan geçici klasörde daha fazla yer açın.\nGeçici yoldaki kullanılabilir alanın denetlenmesi önerilen 50 GiB yerine %.1f GiB sonucu verdi. Yol: %s",
- "Database transaction isolation level" : "Veritabanı işlemsel yalıtım düzeyi",
+ "Database transaction isolation level" : "Veri tabanı işlemsel yalıtım düzeyi",
"Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Veri tabanınız \"READ COMMITTED\" işlem yalıtma düzeyinde çalışmıyor. Bu durum aynı anda birden çok işlem yapıldığında sorun çıkmasına yol açabilir.",
"Was not able to get transaction isolation level: %s" : "İşlemsel yalıtım düzeyi alınamadı: %s",
".well-known URLs" : ".well-known adresler",
@@ -336,18 +339,18 @@ OC.L10N.register(
"Could not check for {extension} loading support. Please check manually if your webserver serves `.{extension}` files." : "{extension} yükleme desteği denetlenemedi. Lütfen site sunucunuzun `.{extension}` dosyalarını sunup sunmadığını el ile denetleyin.",
"Your web server is not properly set up to deliver .{extension} files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustment to also deliver .{extension} files. Compare your Nginx configuration to the recommended configuration in our documentation." : "Site sunucunuz .{extension} dosyalarını aktaracak şekilde yapılandırılmamış. Bu sık karşılaşılan bir Nginx yapılandırma sorunudur. Nextcloud 15 için .{extension} dosyalarını da aktaracak ek bir ayar yapılması gereklidir. Kullandığınız Nginx yapılandırmasını belgeler bölümünde bulunan önerilen yapılandırma dosyası ile karşılaştırın.",
"Profile information" : "Profil bilgileri",
- "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Profil görseli, tam ad, e-posta adresi, telefon numarası, adres, site, Twitter, kuruluş, rol, başlık, özgeçmiş ve profilde etkinleştirilmiş diğer bilgiler",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Profil görseli, tam ad, e-posta adresi, telefon numarası, adres, site, Twitter, kuruluş, rol, başlık, özgeçmiş ve profilde kullanılan diğer bilgiler",
"Nextcloud settings" : "Nextcloud ayarları",
"Unified task processing" : "Birleştirilmiş görev işleme",
"AI tasks can be implemented by different apps. Here you can set which app should be used for which task." : "Yapay zeka görevleri farklı uygulamalardan sağlanabilir. Buradan, bu görev için hangi uygulamanın kullanılacağını ayarlayabilirsiniz.",
"Task:" : "Görev:",
- "Enable" : "Etkinleştir",
- "None of your currently installed apps provide Task processing functionality" : "Şu anda kurulu uygulamaların hiçbirinde görev işleme özelliği yok",
+ "Enable" : "Kullanıma al",
+ "None of your currently installed apps provide Task processing functionality" : "Kurulu uygulamaların hiçbirinde görev işleme özelliği yok",
"Machine translation" : "Makine çevirisi",
"Machine translation can be implemented by different apps. Here you can define the precedence of the machine translation apps you have installed at the moment." : "Makine çevirisi, farklı uygulamalardan sağlanabilir. Buradan, şu anda kurulu makine çevirisi uygulamalarının önceliğini belirtebilirsiniz.",
"Image generation" : "Görsel oluşturma",
"Image generation can be implemented by different apps. Here you can set which app should be used." : "Görsel oluşturma özelliği farklı uygulamalardan sağlanabilir. Buradan, hangi uygulamanın kullanılacağını ayarlayabilirsiniz.",
- "None of your currently installed apps provide image generation functionality" : "Şu anda kurulu uygulamaların hiçbirinde görsel oluşturma özelliği yok",
+ "None of your currently installed apps provide image generation functionality" : "Kurulu uygulamaların hiçbirinde görsel oluşturma özelliği yok",
"Text processing" : "Metin işleme",
"Text processing tasks can be implemented by different apps. Here you can set which app should be used for which task." : "Metin işleme özelliği farklı uygulamalardan sağlanabilir. Buradan, bu görev için hangi uygulamanın kullanılacağını ayarlayabilirsiniz.",
"None of your currently installed apps provide text processing functionality using the Text Processing API." : "Kurulu uygulamaların hiçbirinde Metin İşleme API uygulamasını kullanan bir metin işleme özelliği yok",
@@ -365,7 +368,7 @@ OC.L10N.register(
"Allow users to share via link and emails" : "Kullanıcılar bağlantı ve e-posta ile paylaşabilsin",
"Allow public uploads" : "Herkes yükleyebilsin",
"Always ask for a password" : "Her zaman parola sorulsun",
- "Enforce password protection" : "Parola koruması dayatılsın",
+ "Enforce password protection" : "Parola koruması zorunlu kılınsın",
"Exclude groups from password requirements" : "Parola gereksinimlerine katılmayacak gruplar",
"Exclude groups from creating link shares" : "Bağlantı paylaşımı oluşturamayacak gruplar",
"Allow users to set custom share link tokens" : "Kullanıcılar özel paylaşım bağlantısı kodları ayarlayabilsin",
@@ -379,18 +382,18 @@ OC.L10N.register(
"Groups excluded from sharing" : "Paylaşıma katılmayacak gruplar",
"Not allowed groups will still be able to receive shares, but not to initiate them." : "İzin verilmeyen gruplar paylaşımları almayı sürdürebilir ancak paylaşım yapamaz.",
"Set default expiration date for internal shares" : "İç paylaşımlar için varsayılan kullanma süresi sonunu ayarlayın",
- "Enforce expiration date" : "Geçerlilik sonu tarihi dayatılsın",
+ "Enforce expiration date" : "Geçerlilik sonu tarihi zorunlu kılınsın",
"Default expiration time of new shares in days" : "Yeni paylaşımların gün olarak varsayılan geçerlilik süresi",
"Expire shares after x days" : "Paylaşımların geçerlilik süresi x gün sonra dolsun",
"Set default expiration date for shares to other servers" : "Diğer sunuculara yapılan paylaşımlar için varsayılan geçerlilik sonu tarihi ayarlansın",
- "Enforce expiration date for remote shares" : "Uzak paylaşımlar için geçerlilik sonu tarihi dayatılsın",
+ "Enforce expiration date for remote shares" : "Uzak paylaşımlar için geçerlilik sonu tarihi zorunlu kılınsın",
"Default expiration time of remote shares in days" : "Uzak paylaşımların gün olarak varsayılan geçerlilik süresi",
"Expire remote shares after x days" : "Uzak paylaşımların geçerlilik süresi x gün sonra dolsun",
"Set default expiration date for shares via link or mail" : "Bağlantı ya da e-posta ile yapılan paylaşımlar için varsayılan geçerlilik sonu tarihini ayarlansın",
"Default expiration time of shares in days" : "Paylaşımların gün olarak varsayılan geçerlilik süresi",
"Privacy settings for sharing" : "Paylaşım için gizlilik ayarı",
"Allow account name autocompletion in share dialog and allow access to the system address book" : "Paylaşım penceresinde hesap adının otomatik tamamlanmasına ve sistem adres defterine erişilmesine izin verilsin",
- "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "\"Aynı grup\" ve \"telefon numarası bütünleştirmesi\" etkinleştirilmişse, kullanıcının görüntülenmesi için ikisinden birinde eşleşme olması yeterlidir.",
+ "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "\"Aynı grup\" ve \"telefon numarası bütünleştirmesi\" seçeneklerinin ikisi de açıksa, kullanıcının görüntülenmesi için ikisinden birinde eşleşme olması yeterlidir.",
"Restrict account name autocompletion and system address book access to users within the same groups" : "Hesap adının otomatik tamamlanması ve sistem adres defterine erişim aynı gruplardaki kullanıcılarla kısıtlansın",
"Restrict account name autocompletion to users based on phone number integration" : "Hesap adlarının telefon numarası bütünleştirmesi eşleşmelerine göre otomatik olarak tamamlanması kısıtlansın",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tam ad ya da e-posta adresi yazılırken otomatik olarak tamamlanabilsin (aynı grupta olma ya da telefon defteri eşleşmesi yok sayılarak)",
@@ -399,15 +402,15 @@ OC.L10N.register(
"This text will be shown on the public link upload page when the file list is hidden." : "Dosya listesi gizliyken herkese açık bağlantı yükleme sayfasında görüntülenecek sorumluluk reddi bildirimi metnini buraya yazabilirsiniz.",
"Default share permissions" : "Varsayılan paylaşım izinleri",
"Two-Factor Authentication" : "İki adımlı doğrulama",
- "Two-factor authentication can be enforced for all accounts and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Tüm hesaplar ve belirli gruplar için iki adımlı doğrulama kullanılır. İki adımlı doğrulama hizmeti sağlayıcısını yapılandırmayan kullanıcılar oturum açamaz.",
- "Enforce two-factor authentication" : "İki adımlı doğrulama dayatılsın",
+ "Two-factor authentication can be enforced for all accounts and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Tüm hesaplar ve belirli gruplar için iki adımlı doğrulama zorunlu kılınabilir. İki adımlı doğrulama hizmeti sağlayıcısını yapılandırmayan kullanıcılar oturum açamaz.",
+ "Enforce two-factor authentication" : "İki adımlı doğrulama zorunlu kılınsın",
"Limit to groups" : "Sınırlanacak gruplar",
- "Enforcement of two-factor authentication can be set for certain groups only." : "İki adımlı doğrulama yalnızca belirli gruplar için sınırlanabilir.",
- "Two-factor authentication is enforced for all members of the following groups." : "Belirtilen grupların tüm üyeleri için iki adımlı doğrulama kullanımı zorunlu olur.",
- "Enforced groups" : "Uygulanacak gruplar",
- "Two-factor authentication is not enforced for members of the following groups." : "Belirtilen grupların tüm üyeleri için iki adımlı doğrulama kullanımı zorunlu olmaz.",
+ "Enforcement of two-factor authentication can be set for certain groups only." : "İki adımlı doğrulama yalnızca belirli gruplar için zorunlu kılınabilir.",
+ "Two-factor authentication is enforced for all members of the following groups." : "Belirtilen grupların tüm üyeleri için iki adımlı doğrulama kullanılması zorunlu kılınır.",
+ "Enforced groups" : "Zorunlu kılınacak gruplar",
+ "Two-factor authentication is not enforced for members of the following groups." : "Belirtilen grupların tüm üyeleri için iki adımlı doğrulama kullanımı zorunlu kılınmaz.",
"Excluded groups" : "Uygulanmayacak gruplar",
- "When groups are selected/excluded, they use the following logic to determine if an account has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If an account is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "Uygulanan ya da uygulanmayan gruplar belirtildiğinde, bir hesabın iki adımlı doğrulama kullanıp kullanmayacağına şu şekilde karar verilir. Herhangi bir grup belirtilmemiş ise, uygulanmayan grupların üyeleri dışındaki tüm üyeler için iki adımlı doğrulama kullanılır. Belirtilmiş gruplar varsa, uygulanan bu grupların üyeleri için iki adımlı doğrulama kullanılır. Bir hesabın hem uygulanan hem de uygulanmayan gruplarda üyeliği varsa, uygulanan grupların önceliği vardır ve iki adımlı doğrulama kullanılır.",
+ "When groups are selected/excluded, they use the following logic to determine if an account has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If an account is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "Uygulanan ya da uygulanmayan gruplar belirtildiğinde, bir hesap için iki adımlı doğrulamanın zorunlu kılınıp kılınmayacağına şu şekilde karar verilir. Herhangi bir grup belirtilmemiş ise, uygulanmayan grupların üyeleri dışındaki tüm üyeler için iki adımlı doğrulama kullanılır. Belirtilmiş gruplar varsa, uygulanan bu grupların üyeleri için iki adımlı doğrulama kullanılır. Bir hesabın hem uygulanan hem de uygulanmayan gruplarda üyeliği varsa, uygulanan grupların önceliği vardır ve iki adımlı doğrulama zorunlu kılınır.",
"Save changes" : "Değişiklikleri kaydet",
"Show details for {appName} app" : "{appName} uygulamasının ayrıntılarını görüntüle",
"Update to {update}" : "{update} sürümüne güncelle",
@@ -417,7 +420,7 @@ OC.L10N.register(
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Öne çıkarılmış uygulamalar topluluk tarafından geliştirilmiştir. Temel işlevleri yerine getirirler ve üretim ortamında kullanılabilirler.",
"Community rating: {score}/5" : "Topluluk değerlendirmesi: {score}/5",
"Disable all" : "Tümünü kullanımdan kaldır",
- "Download and enable all" : "İndir ve tümünü etkinleştir",
+ "Download and enable all" : "İndir ve tümünü kullanıma al",
"All apps are up-to-date." : "Tüm uygulamalar güncel",
"Icon" : "Simge",
"Name" : "Ad",
@@ -443,97 +446,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Uygulama mağazasından bölüm içeriği yüklenemedi.",
"Loading" : "Yükleniyor",
"Fetching the latest news…" : "Son haberler alınıyor…",
- "Carousel" : "Dönme dolap",
- "Previous slide" : "Önceki slayt",
- "Next slide" : "Sonraki slayt",
- "Choose slide to display" : "Görüntülenecek slaytı seçin",
- "{index} of {total}" : "{index} / {total}",
- "Daemon" : "Arka plan işlemi",
- "Deploy Daemon" : "Dağıtım arka plan işlemi",
- "Type" : "Tür",
- "Display Name" : "Görüntülenecek ad",
- "GPUs support" : "Grafik işlemci desteği",
- "Compute device" : "Hesaplama aygıtı",
- "Advanced deploy options" : "Gelişmiş dağıtma seçenekleri",
- "Edit ExApp deploy options before installation" : "ExApp dağıtma seçeneklerini kurulumdan önce düzenleyin",
- "Configured ExApp deploy options. Can be set only during installation" : "Yapılandırılmış ExApp dağıtım seçenekleri. Yalnızca kurulum sırasında ayarlanabilir",
- "Learn more" : "Ayrıntılı bilgi alın",
- "Environment variables" : "Ortam değişkenleri",
- "ExApp container environment variables" : "ExApp kapsayıcısı ortam değişkenleri",
- "No environment variables defined" : "Herhangi bir ortam değişkeni tanımlanmamış",
- "Mounts" : "Takılanlar",
- "Define host folder mounts to bind to the ExApp container" : "ExApp kapsayıcısına takılacak sunucu klasörü bağlantılarını tanımlayın",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "ExApp kurmadan önce sunucuda dağıtım işlemi var olmalıdır",
- "Host path" : "Sunucu yolu",
- "Container path" : "Kapsayıcı yolu",
- "Read-only" : "Salt okunur",
- "Remove mount" : "Takmayı kaldır",
- "New mount" : "Yeni takma",
- "Enter path to host folder" : "Sunucu klasörünün yolunu yazın",
- "Enter path to container folder" : "Kapsayıcı klasörünün yolunu yazın",
- "Toggle read-only mode" : "Salt okunur kipi aç/kapat",
- "Confirm adding new mount" : "Yeni takma eklemeyi onayla",
- "Confirm" : "Onayla",
- "Cancel adding mount" : "Takma eklemeyi iptal et",
- "Cancel" : "İptal",
- "Add mount" : "Takma ekle",
- "ExApp container mounts" : "ExApp kapsayıcı takmaları",
- "No mounts defined" : "Herhangi bir takma tanımlanmamış",
- "Description" : "Açıklama",
- "View in store" : "Mağazada görüntüle",
- "Visit website" : "Siteye bakın",
- "Usage documentation" : "Kullanım belgeleri",
- "Admin documentation" : "Yönetici belgeleri",
- "Developer documentation" : "Geliştirici belgeleri",
- "Details" : "Ayrıntılar",
- "All" : "Tümü",
- "Limit app usage to groups" : "Uygulama kullanımı şu gruplarla sınırlansın",
- "No results" : "Herhangi bir sonuç bulunamadı",
- "Update to {version}" : "{version} sürümüne güncelle",
- "Deploy options" : "Dağıtım seçenekleri",
- "Default Deploy daemon is not accessible" : "Varsayılan dağıtım arka plan işlemine erişilemedi",
- "Delete data on remove" : "Kaldırıldığında veriler silinsin",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Bu uygulama için en düşük Nextcloud sürümü belirtilmemiş. Bu durum ileride sorun çıkarır.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Bu uygulama için en yüksek Nextcloud sürümü belirtilmemiş. Bu durum ileride sorun çıkarır.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Aşağıdaki bağımlılıklar sağlanmadığından bu uygulama kurulamıyor:",
- "Latest updated" : "Son güncellenen",
- "Author" : "İlgili",
- "Categories" : "Kategoriler",
- "Resources" : "Kaynaklar",
- "Documentation" : "Belgeler",
- "Interact" : "Ulaşın",
- "Report a bug" : "Hata bildirin",
- "Request feature" : "Özellik isteyin",
- "Ask questions or discuss" : "Soru sorun ya da tartışın",
- "Rate the app" : "Uygulamayı değerlendir",
- "Rate" : "Değerlendirin",
- "Changelog" : "Değişiklik günlüğü",
- "Google Chrome for Android" : "Android için Google Chrome",
- "{productName} iOS app" : "{productName} iOS uygulaması",
- "{productName} Android app" : "{productName} Android uygulaması",
- "{productName} Talk for iOS" : "iOS için {productName} Talk",
- "{productName} Talk for Android" : "Android için {productName} Talk",
- "Sync client" : "İstemciyi eşitle",
- "This session" : "Bu oturum",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Aygıt adı",
- "Cancel renaming" : "Yeniden adlandırmayı iptal et",
- "Save new name" : "Yeni adı kaydet",
- "Marked for remote wipe" : "Uzaktan silme için işaretlendi",
- "Device settings" : "Aygıt ayarları",
- "Allow filesystem access" : "Dosya sistemine erişilebilsin",
- "Rename" : "Yeniden adlandır",
- "Revoke" : "Geri al",
- "Wipe device" : "Aygıtı sil",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Silme işlemi henüz başlamamış ise bu kodun geri çekilmesi aygıtınızın silinmesini engelleyebilir.",
- "Device" : "Aygıt",
- "Last activity" : "Son işlem",
- "Devices & sessions" : "Aygıt ve oturumlar",
- "Web, desktop and mobile clients currently logged in to your account." : "Şu anda hesabınıza oturum açmış internet, masaüstü ve mobil istemcileri.",
- "Error while creating device token" : "Aygıt kodu oluşturulurken sorun çıktı",
- "App name" : "Uygulama adı",
- "Create new app password" : "Yeni uygulama parolası oluştur",
"App password copied!" : "Uygulama parolası kopyalandı!",
"Copy app password" : "Uygulama parolasını kopyala",
"Login name copied!" : "Kullanıcı adı kopyalandı!",
@@ -544,7 +456,7 @@ OC.L10N.register(
"Use the credentials below to configure your app or device. For security reasons this password will only be shown once." : "Uygulamanızı veya aygıtınızı yapılandırmak için aşağıdaki kimlik doğrulama bilgilerini kullanın. Güvenlik nedeniyle bu parola yalnızca bir kez görüntülenecek.",
"Login" : "Oturum açın",
"Password" : "Parola",
- "Show QR code for mobile apps" : "Mobil uygulamalar için QR kodu görüntülensin",
+ "Show QR code for mobile apps" : "Mobil uygulamalar için kare kod görüntülensin",
"Use system cron service to call the cron.php file every 5 minutes." : "5 dakikada bir cron.php dosyasının çağrılması için sistem cron hizmeti kullanılsın.",
"The cron.php needs to be executed by the system account \"{user}\"." : "cron.php dosyası \"{user}\" sistem hesabı tarafından yürütülmelidir.",
"The PHP POSIX extension is required. See {linkstart}PHP documentation{linkend} for more details." : "PHP POSIX eklentisi gereklidir. Ayrıntılı bilgi almak için {linkstart}PHP belgelerine{linkend} bakabilirsiniz.",
@@ -560,227 +472,38 @@ OC.L10N.register(
"Cron (Recommended)" : "Cron (önerilen)",
"Unable to update profile default setting" : "Profil varsayılan ayarı güncellenemedi",
"Profile" : "Profil",
- "Enable or disable profile by default for new accounts." : "Yeni hesaplar için varsayılan olarak profilleri etkinleştir veya devre dışı bırak.",
+ "Enable or disable profile by default for new accounts." : "Yeni hesaplar için profilleri varsayılan olarak kullanıma al ya da kaldır.",
"Password confirmation is required" : "Parola onayının yazılması zorunludur",
"Failed to save setting" : "Ayar kaydedilemedi",
"{app}'s declarative setting field: {name}" : "{app} uygulamasının bildirdiği ayar alanı: {name}",
"Unable to update server side encryption config" : "Sunucu tarafı şifreleme yapılandırması güncellenemedi",
"Server-side encryption" : "Sunucu tarafı şifreleme",
- "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Sunucu tarafındaki şifreleme, sunucuya yüklenen dosyaların şifrelenebilmesini sağlar. Bu özellik genel başarımı düşürdüğünden yalnızca gerek varsa etkinleştirin.",
+ "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Sunucu tarafındaki şifreleme, sunucuya yüklenen dosyaların şifrelenebilmesini sağlar. Bu özellik genel başarımı düşürdüğünden yalnızca gerek varsa açın.",
"To encrypt all existing files run this OCC command:" : "Var olan tüm dosyaları şifrelemek için şu OCC komutunu kullanın:",
"Enable server-side encryption" : "Sunucu tarafı şifreleme kullanılsın",
"Disabling server side encryption is only possible using OCC, please refer to the documentation." : "Sunucu tarafındaki şifreleme yalnızca OCC ile kapatılabilir. Lütfen belgelere bakın.",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Herhangi bir şifreleme modülü yüklenmemiş. Lütfen uygulama menüsünden bir şifreleme modülünü etkinleştirin.",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Herhangi bir şifreleme modülü yüklenmemiş. Lütfen uygulama menüsünden bir şifreleme modülünü açın.",
"Select default encryption module:" : "Varsayılan şifreleme modülünü seçin:",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız. Lütfen \"Varsayılan şifreleme modülü\"nü etkinleştirip {command} komutunu yürütün",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız. Lütfen bir \"Varsayılan şifreleme modülü\" açıp {command} komutunu yürütün",
"Cancel encryption" : "Şifrelemeyi kapat",
"Enable encryption" : "Şifreleme kullanılsın",
"Confirm enabling encryption" : "Şifrelemeyi açmayı onayla",
- "Please read carefully before activating server-side encryption:" : "Sunucu tarafında şifrelemeyi etkinleştirmeden önce lütfen dikkatlice okuyun:",
- "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Şifreleme etkinleştirildiğinde, bu andan itibaren sunucuya yüklenen tüm dosyalar şifrelenir. Şifreleme daha sonra devre dışı bırakılmak istenirse, kullanımdaki şifreleme modülünün bu özelliği desteklemesi ve tüm ön koşulların (örneğin kurtarma anahtarı oluşturulması) yerine getirilmesi gerekir.",
+ "Please read carefully before activating server-side encryption:" : "Sunucu tarafında şifrelemeyi açmadan önce lütfen dikkatlice okuyun:",
+ "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Şifreleme açıldığında, bu andan itibaren sunucuya yüklenen tüm dosyalar şifrelenir. Şifreleme daha sonra kapatılmak istenirse, kullanımdaki şifreleme modülünün bu özelliği desteklemesi ve tüm ön koşulların (örneğin kurtarma anahtarı oluşturulması) yerine getirilmesi gerekir.",
"By default a master key for the whole instance will be generated. Please check if that level of access is compliant with your needs." : "Varsayılan olarak tüm kopya için bir ana anahtar oluşturulur. Lütfen bu erişim düzeyinin gereksinimlerinize uygun olup olmadığını kontrol edin.",
"Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Şifreleme tek başına sistemin güvenliğini garanti etmez. Lütfen şifreleme uygulamasının nasıl çalıştığı ve desteklenen kullanım şekilleri hakkında ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
"Be aware that encryption always increases the file size." : "Şifreleme işleminin dosya boyutlarını büyüteceğini unutmayın.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Verilerinizi düzenli yedekleyin ve şifreleme kullanıyorsanız şifreleme anahtarlarınızın da verilerinizle birlikte yedeklendiğinden emin olun.",
"Refer to the admin documentation on how to manually also encrypt existing files." : "Var olan dosyaların el ile nasıl şifreleneceğini öğrenmek için yönetici belgelerine bakın.",
- "This is the final warning: Do you really want to enable encryption?" : "Son uyarı: Şifrelemeyi etkinleştirmek istiyor musunuz?",
+ "This is the final warning: Do you really want to enable encryption?" : "Son uyarı: Şifrelemeyi açmak istiyor musunuz?",
+ "Failed to delete group \"{group}\"" : "\"{group}\" grubu silinemedi",
"Please confirm the group removal" : "Grubu silme işlemini onaylayın",
+ "You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "\"{group}\" grubunu silmek üzeresiniz. Hesaplar SİLİNMEYECEK.",
+ "Cancel" : "İptal",
+ "Confirm" : "Onayla",
"Submit" : "Gönder",
"Rename group" : "Grubu yeniden adlandır",
- "Current password" : "Geçerli parola",
- "New password" : "Yeni parola",
- "Change password" : "Parola değiştir",
- "Choose your profile picture" : "Profil görselinizi seçin",
- "Please select a valid png or jpg file" : "Lütfen geçerli bir png ya da jpg dosyası seçin",
- "Error setting profile picture" : "Profil görseli ayarlanırken sorun çıktı",
- "Error cropping profile picture" : "Profil görseli kırpılırken sorun çıktı",
- "Error saving profile picture" : "Profil görseli kaydediliirken sorun çıktı",
- "Error removing profile picture" : "Profil görseli kaldırılırken sorun çıktı",
- "Your profile picture" : "Profil görseliniz",
- "Upload profile picture" : "Profil görseli yükle",
- "Choose profile picture from Files" : "Dosyalar uygulamasından profil görseli seçin",
- "Remove profile picture" : "Profil görselini kaldır",
- "The file must be a PNG or JPG" : "Dosya PNG ya da JPG biçiminde olmalıdır",
- "Picture provided by original account" : "Görsel özgün hesabınız tarafından sağlanıyor",
- "Set as profile picture" : "Profil görseli olarak ayarla",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Lütfen profil görselinizin her yerde güncellenmesinin 24 saat kadar sürebileceğini unutmayın.",
- "Your biography. Markdown is supported." : "Özgeçmişiniz. Markdown kullanılabilir.",
- "Unable to update date of birth" : "Doğum tarihi güncellenemedi",
- "Enter your date of birth" : "Doğum tarihinizi yazın",
- "You are using {s}{usage}{/s}" : "{s}{usage}{/s} kullanıyorsunuz",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "{s}{usage}{/s} / {s}{totalSpace}{/s} kullanıyorsunuz ({s}%{usageRelative}{/s})",
- "You are a member of the following groups:" : "Şu gruplara üyesiniz:",
- "Your full name" : "Tam adınız",
- "Email options" : "E-posta seçenekleri",
- "Options for additional email address {index}" : "{index}. ek e-posta adresi seçenekleri",
- "Remove primary email" : "Birincil e-posta adresini sil",
- "Delete email" : "E-posta adresini sil",
- "This address is not confirmed" : "Bu adres doğrulanmamış",
- "Unset as primary email" : "Birincil e-posta işaretini kaldır",
- "Set as primary email" : "Birincil e-posta olarak ayarla",
- "Additional email address {index}" : "{index}. ek e-posta adresi",
- "Unable to delete primary email address" : "Birincil e-posta adresi silinemedi",
- "Unable to update primary email address" : "Birincil e-posta adresi güncellenemedi",
- "Unable to add additional email address" : "Ek e-posta adresi eklenemedi",
- "Unable to update additional email address" : "Ek e-posta adresi güncellenemedi",
- "Unable to delete additional email address" : "Ek e-posta adresi silinemedi",
- "Primary email for password reset and notifications" : "Parola sıfırlama ve bildirimler için birincil e-posta adresi",
- "No email address set" : "E-posta adresi belirtilmemiş",
- "Your handle" : "Kodunuz",
- "Derived from your locale ({weekDayName})" : "Yerel ayarlarınızdan alınan ({weekDayName})",
- "Unable to update first day of week" : "Haftanın ilk günü güncellenemedi",
- "Day to use as the first day of week" : "Haftanın ilk günü olarak kullanılacak gün",
- "Your headline" : "Başlığınız",
- "Unable to update language" : "Dil güncellenemedi",
- "Languages" : "Diller",
- "Help translate" : "Çeviriye yardım edin",
- "No language set" : "Herhangi bir dil ayarlanmamış",
- "Unable to update locale" : "Yerel ayar güncellenemedi",
- "Locales" : "Yerel ayarlar",
- "Week starts on {firstDayOfWeek}" : "Hafta başlangıcı: {firstDayOfWeek}",
- "No locale set" : "Herhangi bir yerel ayar seçilmemiş",
- "Your city" : "İliniz",
- "Your organisation" : "Kuruluşunuz",
- "Your phone number" : "Telefon numaranız",
- "Edit your Profile visibility" : "Profilinizin görünürlüğü değiştirin",
- "Unable to update profile enabled state" : "Profilin etkinleştirme durumu güncellenemedi",
- "Enable profile" : "Profili etkinleştir",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Profilinizde daha kısıtlayıcı olan görünürlük veya kapsam ayarına uyulur - Örneğin, görünürlük \"Herkese görüntülensin\" ve kapsam \"Özel\" olarak ayarlanmışsa, \"Özel\" seçimine uyulur.",
- "Unable to update visibility of {displayId}" : "{displayId} görünürlüğü güncellenemedi",
- "she/her" : "hanım",
- "he/him" : "bey",
- "they/them" : "kişi",
- "Your role" : "Pozisyonunuz",
- "Your X (formerly Twitter) handle" : "X (eski Twitter) kullanıcı adınız",
- "Your website" : "Sitenizin adresi",
- "Invalid value" : "Değer geçersiz",
- "Unable to update {property}" : "{property} güncellenemedi",
- "No {property} set" : "Herhangi bir {property} ayarlanmamış",
- "Change scope level of {property}, current scope is {scope}" : "{property} kapsam düzeyini değiştir. Geçerli kapsam: {scope}",
- "Unable to update federation scope of the primary {property}" : "Birincil {property} birleşik kapsamı güncellenemedi",
- "Unable to update federation scope of additional {property}" : "Ek {property} birleşik kapsamı güncellenemedi",
- "Add additional email" : "Ek e-posta adresi ekle",
- "Add" : "Ekle",
- "Create" : "Ekle",
- "Change" : "Değiştir",
- "Delete" : "Sil",
- "Reshare" : "Yeniden paylaş",
- "Default language" : "Varsayılan dil",
- "Common languages" : "Sık kullanılan diller",
- "Other languages" : "Diğer diller",
- "Password change is disabled because the master key is disabled" : "Ana anahtar devre dışı bırakıldığından parola değişikliği devre dışı bırakıldı.",
- "No accounts" : "Henüz bir hesap yok",
- "Loading accounts …" : "Hesaplar yükleniyor...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Hesap listesi. Başarımı olumsuz etkilememek için listenin tümü görüntülenmiyor. Listede ilerledikçe diğer hesaplar görüntülenecek.",
- "Manager" : "Yönetici",
- "Set line manager" : "Satır yöneticisini ayarla",
- "Account name will be autogenerated" : "Hesap adı otomatik olarak oluşturulacak",
- "Account name (required)" : "Hesap adı (zorunlu)",
- "Failed to search groups" : "Gruplar aranamadı",
- "New account" : "Hesap ekle",
- "Display name" : "Görüntülenecek ad",
- "Either password or email is required" : "Parola ya da e-posta adresi zorunludur",
- "Password (required)" : "Parola (zorunlu)",
- "Email (required)" : "E-posta adresi (zorunlu)",
- "Email" : "E-posta",
- "Member of the following groups (required)" : "Şu grupların üyesi (zorunlu)",
- "Member of the following groups" : "Şu grupların üyesi",
- "Set account groups" : "Hesap gruplarını ayarla",
- "Admin of the following groups" : "Şu grupların yöneticisi",
- "Set account as admin for …" : "Hesabı şunun yöneticisi olarak ayarla…",
- "Quota" : "Kota",
- "Set account quota" : "Hesap kotasını ayarla",
- "Language" : "Dil",
- "Set default language" : "Varsayılan dili ayarla",
- "Add new account" : "Yeni hesap ekle",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} hesap…","{userCount} hesap…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} hesap","{userCount} hesap"],
- "Total rows summary" : "Toplam satır özeti",
- "Scroll to load more rows" : "Diğer satırları görüntülemek için aşağı kaydırın",
- "Password or insufficient permissions message" : "Parola ya da izinler yetersiz iletisi",
- "Avatar" : "Avatar",
- "Account name" : "Hesap adı",
- "Group admin for" : "Şunun grup yöneticisi",
- "Account backend" : "Hesap arka ucu",
- "Storage location" : "Depolama konumu",
- "First login" : "İlk oturum açma",
- "Last login" : "Son oturum açma",
- "Account actions" : "Hesap işlemleri",
- "{size} used" : "{size} kullanılmış",
- "Delete account" : "Hesabı sil",
- "Disconnect all devices and delete local data" : "Tüm aygıtların bağlantısını kes ve yerel verileri sil",
- "Disable account" : "Hesabı kullanımdan kaldır",
- "Enable account" : "Hesabı etkinleştir",
- "Resend welcome email" : "Karşılama e-postasını yeniden gönder",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Aygıt kaybedildiğinde ya da kuruluş ile çalışma sona erdirildiğinde, bu özellik {userid} ile ilişkili tüm aygıtlardaki Nextcloud verilerini silebilir. Bu özellik yalnızca aygıtların İnternet bağlantısı olduğunda kullanılabilir.",
- "Remote wipe of devices" : "Uzaktan aygıt temizleme",
- "Wipe {userid}'s devices" : "{userid} aygıtlarını temizle",
- "Wiped {userid}'s devices" : "{userid} kullanıcısının aygıtları silindi",
- "Failed to load groups with details" : "Gruplar ayrıntıları ile yüklenemedi",
- "Failed to load sub admin groups with details" : "Alt yönetici grupları ayrıntıları ile yüklenemedi",
- "Failed to update line manager" : "Satır yöneticisi güncellenemedi",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "{userid} için kişisel dosyalar ve uygulama verileri gibi tüm hesap bilgilerini tamamen siler",
- "Account deletion" : "Hesap silme",
- "Delete {userid}'s account" : "{userid} hesabını sil",
- "Display name was successfully changed" : "Görüntülenecek ad değiştirildi",
- "Password can't be empty" : "Parola boş olamaz",
- "Password was successfully changed" : "Parola değiştirildi",
- "Email can't be empty" : "E-posta adresi boş olamaz",
- "Email was successfully changed" : "E-posta adresi değiştirildi",
- "Welcome mail sent!" : "Karşılama e-postası gönderildi!",
- "Loading account …" : "Hesap yükleniyor…",
- "Change display name" : "Görüntülenecek adı değiştir",
- "Set new password" : "Yeni parola ayarla",
- "You do not have permissions to see the details of this account" : "Bu hesabın ayrıntılarını görüntüleme izniniz yok",
- "Set new email address" : "Yeni e-posta adresi ayarla",
- "Add account to group" : "Hesabı gruba ekle",
- "Set account as admin for" : "Hesabı şurada yönetici yap",
- "Select account quota" : "Hesap kotasını seçin",
- "Set the language" : "Dili ayarla",
- "Toggle account actions menu" : "Hesap işlemleri menüsünü aç/kapat",
- "Done" : "Tamam",
- "Edit" : "Düzenle",
- "Account management settings" : "Hesap yönetimi ayarları",
- "Visibility" : "Görünürlük",
- "Show language" : "Görüntülenecek dil",
- "Show account backend" : "Hesap arka ucu görüntülensin",
- "Show storage path" : "Depolama yolu görüntülensin",
- "Show first login" : "İlk oturum açma zamanı görüntülensin",
- "Show last login" : "Son oturum açma zamanı görüntülensin",
- "Sorting" : "Sıralama",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Sistem yapılandırması, grupların ada göre sıralanmasını zorunlu kılar. Bu aynı zamanda üye sayısının görüntülenmesini de kapatır.",
- "Group list sorting" : "Grup listesi sıralaması",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Başarımı olumsuz etkilememek için sıralama şu anda yalnızca yüklü olan gruplara uygulanıyor. Listede ilerledikçe ya da aradıkça gruplar yüklenecek.",
- "By member count" : "Üye sayısına göre",
- "By name" : "Ada göre",
- "Send email" : "E-posta gönder",
- "Send welcome email to new accounts" : "Yeni hesaplara hoş geldiniz e-postası gönderilsin",
- "Defaults" : "Varsayılanlar",
- "Default quota" : "Varsayılan kota",
- "Select default quota" : "Varsayılan kota değerini seçin",
- "Server error while trying to complete WebAuthn device registration" : "WebAuthn aygıtı kaydedilirken sunucu sorunu çıktı",
- "Passwordless authentication requires a secure connection." : "Parolasız kimlik doğrulama özelliği güvenli bir bağlantı üzerinden kullanılabilir.",
- "Add WebAuthn device" : "WebAuthn aygıtı ekle",
- "Please authorize your WebAuthn device." : "Lütfen WebAuthn aygıtınızın kimliğini doğrulayın.",
- "Adding your device …" : "Aygıtınız ekleniyor …",
- "Unnamed device" : "Adsız aygıt",
- "Passwordless Authentication" : "Parolasız kimlik doğrulaması",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Hesabınız için FIDO2 standardına uygun parolasız kimlik doğrulamasını yapılandırın.",
- "No devices configured." : "Herhangi bir aygıt yapılandırılmamış.",
- "The following devices are configured for your account:" : "Hesabınız için şu aygıtlar yapılandırılmış:",
- "Your browser does not support WebAuthn." : "Tarayıcınız WebAuthn desteklemiyor.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Yönetici olarak paylaşma davranışı ile ilgili ince ayarları yapabilirsiniz. Ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
- "You need to enable the File sharing App." : "Dosya paylaşımı uygulamasını etkinleştirmelisiniz.",
- "App Store" : "Uygulama mağazası",
- "Loading app list" : "Uygulama listesi yükleniyor",
- "Loading categories" : "Kategoriler yükleniyor",
- "Developer documentation ↗" : "Geliştirici belgeleri ↗",
- "Version {version}, {license}-licensed" : "{version} sürümü, {license} lisansı",
- "Version {version}" : "{version} sürümü",
- "All accounts" : "Tüm hesaplar",
- "Admins" : "Yöneticiler",
- "Account group: {group}" : "Hesap grubu: {group}",
- "Account management" : "Hesap yönetimi",
+ "Delete group" : "Grubu sil",
"Sending…" : "Gönderiliyor …",
"Email sent" : "E-posta gönderildi",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Bir Nextcloud sunucusunda şifrelemeyi açtığınızda, başarımı korumak için yalnızca yeni ve değiştirilen dosyalar şifrelenir.",
@@ -790,6 +513,7 @@ OC.L10N.register(
"Date of birth" : "Doğum tarihi",
"Full name" : "Tam ad",
"Additional email" : "Ek e-posta",
+ "Email" : "E-posta",
"Fediverse (e.g. Mastodon)" : "Fediverse (Mastodon gibi)",
"Headline" : "Başlık",
"Organisation" : "Kuruluş",
@@ -799,6 +523,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (eski Twitter)",
"Website" : "Site",
"Profile visibility" : "Profil görünürlüğü",
+ "Language" : "Dil",
"Locale" : "Yerel Ayar",
"First day of week" : "Haftanın ilk günü",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Bu özellik, dosya paylaşımı ve takvim davetleri gibi temel işlevler için gerekli olduğundan kullanılamıyor",
@@ -806,8 +531,8 @@ OC.L10N.register(
"Not available as publishing account specific data to the lookup server is not allowed, contact your system administration if you have any questions" : "Hesaba özel verilerin arama sunucusunda yayınlanmasına izin verilmediğinden kullanılamıyor. Herhangi bir sorunuz varsa sistem yönetimi ile görüşün.",
"Discover" : "Keşfedin",
"Your apps" : "Uygulamalarınız",
- "Active apps" : "Etkin uygulamalar",
- "Disabled apps" : "Devre dışı uygulamalar",
+ "Active apps" : "Kullanıma alınmış uygulamalar",
+ "Disabled apps" : "Kullanımdan kaldırılmış uygulamalar",
"Updates" : "Güncellemeler",
"App bundles" : "Uygulama Paketleri",
"Featured apps" : "Öne çıkarılmış uygulamalar",
@@ -816,24 +541,26 @@ OC.L10N.register(
"Show to logged in accounts only" : "Yalnızca oturum açmış hesaplara görüntülensin",
"Hide" : "Gizlensin",
"Manually installed apps cannot be updated" : "El ile kurulmuş uygulamalar güncellenemez",
+ "Update to {version}" : "{version} sürümüne güncelle",
"{progress}% Deploying …" : "Dağıtılıyor %{progress}…",
"{progress}% Initializing …" : "Hazırlanıyor %{progress}…",
"Health checking" : "Sağlık denetimi",
- "Deploy and Enable" : "Dağıt ve Etkinleştir",
- "Download and enable" : "İndir ve etkinleştir",
+ "Deploy and Enable" : "Dağıt ve kullanıma al",
+ "Download and enable" : "İndir ve kullanıma al",
"Disable" : "Kullanımdan kaldır",
"Allow untested app" : "Denenmemiş uygulamalar kullanılabilsin",
"The app will be downloaded from the App Store" : "Uygulama uygulama mağazasından indirilecek",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Bu uygulamanın kullandığınız Nextcloud sürümü ile uyumluluğu denetlenmemiş. İşlemi sürdürerek uygulamayı kurabilirsiniz. Ancak uygulama beklendiği gibi çalışmayabilir.",
+ "{size} used" : "{size} kullanılmış",
"Unknown" : "Bilinmiyor",
"Never" : "Asla",
"Could not register device: Network error" : "Aygıt kaydedilemedi: Ağ sorunu",
"Could not register device: Probably already registered" : "Aygıt kaydedilemedi: Büyük olasılıkla zaten kayıtlı",
"Could not register device" : "Aygıt kaydedilemedi",
"An error occurred during the request. Unable to proceed." : "İstek sırasında bir sorun çıktı. İşlem sürdürülemiyor.",
- "The app has been enabled but needs to be updated." : "Uygulama etkinleştirildi ancak güncellenmesi gerekiyor.",
- "Error: This app cannot be enabled because it makes the server unstable" : "Hata: Bu uygulama sunucuda kararsızlığa yol açtığından etkinleştirilemez",
- "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Uygulama etkinleştirildi fakat güncellenmesi gerekiyor. 5 saniye içinde güncelleme sayfasına yönlendirileceksiniz.",
+ "The app has been enabled but needs to be updated." : "Uygulama kullanıma alındı ancak güncellenmesi gerekiyor.",
+ "Error: This app cannot be enabled because it makes the server unstable" : "Hata: Bu uygulama sunucuda kararsızlığa yol açtığından kullanıma alınamaz",
+ "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Uygulama kullanıma alındı fakat güncellenmesi gerekiyor. 5 saniye içinde güncelleme sayfasına yönlendirileceksiniz.",
"Do you really want to wipe your data from this device?" : "Bu aygıt üzerindeki verilerinizi silmek istediğinize emin misiniz?",
"Confirm wipe" : "Silmeyi onayla",
"Could not delete the app token" : "Uygulama kodu silinemedi",
@@ -843,8 +570,10 @@ OC.L10N.register(
"Could not set group sorting" : "Grup sıralaması ayarlanamadı",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Ağınızdan çok fazla istekte bulunuldu. Bir süre sonra yeniden deneyin ya da bir sorun olduğunu düşünüyorsanız BT yöneticiniz ile görüşün.",
"Error" : "Hata",
+ "Default quota" : "Varsayılan kota",
"Account documentation" : "Hesap belgeleri",
"Administration documentation" : "Yönetim belgeleri",
+ "Documentation" : "Belgeler",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud yardım ve gizlilik kaynakları",
"General documentation" : "Genel belgeler",
@@ -867,6 +596,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP parolası",
"Save" : "Kaydet",
"Test and verify email settings" : "E-posta ayarlarını sınayın ve doğrulayın",
+ "Send email" : "E-posta gönder",
"Security & setup warnings" : "Güvenlik ve kurulum uyarıları",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Kopyanızın güvenli ve yüksek başarımla çalışması için ayarların doğru yapılmış olması önemlidir. Bunu sağlamak için bazı otomatik denetimler yapılır. Ayrıntılı bilgi almak için İpuçları bölümüne ve belgelere bakın.",
"All checks passed." : "Tüm denetimlerden geçti.",
@@ -884,19 +614,16 @@ OC.L10N.register(
"Subscribe to our newsletter" : "Bültenimize abone olun",
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Bu Nextcloud topluluk sürümü desteklenmiyor ve anlık bildirimler kullanılamıyor.",
"Use a second factor besides your password to increase security for your account." : "Parolanızın yanında ikinci bir doğrulama kullanarak hesabınızın güvenliğini arttırabilirsiniz.",
- "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Nextcloud bağlantısı kurmak için üçüncü taraf uygulamaları kullanıyorsanız, lütfen iki adımlı doğrulamayı etkinleştirmeden önce her biri için bir uygulama parolası oluşturduğunuzdan ve yapılandırdığınızdan emin olun.",
+ "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Nextcloud bağlantısı kurmak için üçüncü taraf uygulamaları kullanıyorsanız, lütfen iki adımlı doğrulamayı açmadan önce her biri için bir uygulama parolası oluşturduğunuzdan ve yapılandırdığınızdan emin olun.",
"Logged in account must be a subadmin" : "Oturum açmış hesap bir alt yönetici olmalıdır",
"To allow this check to run you have to make sure that your Web server can connect to itself. Therefore it must be able to resolve and connect to at least one of its `trusted_domains` or the `overwrite.cli.url`. This failure may be the result of a server-side DNS mismatch or outbound firewall rule." : "Bu denetimi çalıştırabilmek için site sunucunuzun kendisine bağlanabildiğinden emin olmanız gerekir. Bu nedenle, `trusted_domains` ya da `overwrite.cli.url` değerlerinden en az birini çözümleyebilmeli ve bunlara bağlanabilmelidir. Bu sorun, sunucu tarafındaki bir DNS uyumsuzluğunun veya giden güvenlik duvarı kuralının sonucu olabilir.",
"File locking" : "Dosya kilitleme",
- "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "İşlemsel dosya kilidi devre dışı. Bu durum yarış koşullarında (race condition) sorun çıkarabilir. Bu sorunlardan kaçınmak için config.php dosyasındaki \"filelocking.enabled\" seçeneğini etkinleştirin.",
+ "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "İşlemsel dosya kilidi kapalı. Bu durum yarış koşullarında (race condition) sorun çıkarabilir. Bu sorunlardan kaçınmak için config.php dosyasındaki \"filelocking.enabled\" seçeneğini açın.",
"The PHP memory limit is below the recommended value of %s." : "PHP bellek sınırı önerilen %s değerinden küçük.",
"for WebAuthn passwordless login" : "WebAuthn parolasız oturum açma için",
"for WebAuthn passwordless login, and SFTP storage" : "WebAuthn parolasız oturum açma ve SFTP depolama alanı için",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "`%1$s` HTTP üst bilgisinde `%2$s` bulunmuyor. Bu durum olası bir güvenlik ya da gizlilik riski oluşturduğundan bu ayarın belirtildiği gibi yapılması önerilir.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL \"%s\" sürümü bulundu. Bu Nextcloud sürümüyle en iyi başarım, kararlılık ve işlevsellik sağlamak için PostgreSQL sürümünün 12 ile 16 arasında olması önerilir.",
- "Set default expiration date for shares" : "Paylaşımlar için varsayılan geçerlilik süresi sonu ayarlansın",
- "Your biography" : "Özgeçmişiniz",
- "You are using <strong>{usage}</strong>" : "<strong>{usage}</strong> kullanıyorsunuz",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "<strong>{usage}</strong> / <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>) kullanıyorsunuz",
- "Failed to load subadmin groups with details" : "Alt yönetici grupları ayrıntıları ile yüklenemedi"
+ "Set default expiration date for shares" : "Paylaşımlar için varsayılan geçerlilik süresi sonu ayarlansın"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/settings/l10n/tr.json b/apps/settings/l10n/tr.json
index 7d0da40466f..7f1b187f58e 100644
--- a/apps/settings/l10n/tr.json
+++ b/apps/settings/l10n/tr.json
@@ -1,6 +1,6 @@
{ "translations": {
"Private" : "Kişisel",
- "Only visible to people matched via phone number integration through Talk on mobile" : "Yalnızca mobil aygıt üzerinde Talk uygulaması telefon numarası bütünleştirmesi ile eşleşen kişiler görebilir",
+ "Only visible to people matched via phone number integration through Talk on mobile" : "Yalnızca mobil aygıt üzerinde Konuş uygulaması telefon numarası bütünleştirmesi ile eşleşen kişiler görebilir",
"Local" : "Yerel",
"Only visible to people on this instance and guests" : "Yalnızca bu kopyadaki kişiler ve konuklar görebilir",
"Federated" : "Birleşik",
@@ -71,7 +71,7 @@
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "E-posta gönderilirken bir sorun çıktı. Lütfen ayarlarınızı gözden geçirin. (Hata: %s)",
"You need to set your account email before being able to send test emails. Go to %s for that." : "Sınama e-postaları göndermeden önce hesap e-postanızı ayarlamalısınız. Bunun için %s bölümüne gidin.",
"Recently active" : "Son kullanılanlar",
- "Disabled accounts" : "Devre dışı hesaplar",
+ "Disabled accounts" : "Kullanımdan kaldırılmış hesaplar",
"Invalid account" : "Hesap geçersiz",
"Invalid mail address" : "E-posta adresi geçersiz",
"Settings saved" : "Ayarlar kaydedildi",
@@ -117,7 +117,7 @@
"Availability" : "Uygunluk",
"Calendar" : "Takvim",
"Personal info" : "Kişisel bilgiler",
- "Mobile & desktop" : "Mobil ve masaüstü",
+ "Mobile & desktop" : "Mobil ve bilgisayar",
"Email server" : "E-posta sunucusu",
"Mail Providers" : "E-posta hizmeti sağlayıcıları",
"Mail provider enables sending emails directly through the user's personal email account. At present, this functionality is limited to calendar invitations. It requires Nextcloud Mail 4.1 and an email account in Nextcloud Mail that matches the user's email address in Nextcloud." : "E-posta hizmeti sağlayıcısı, e-postaları doğrudan kullanıcının kişisel e-posta hesabı üzerinden göndermeyi sağlar. Şu anda, bu özellik takvim davetleriyle sınırlıdır. Nextcloud Posta 4.1 ve Nextcloud Posta üzerinde kullanıcının Nextcloud e-posta adresiyle eşleşen bir e-posta hesabı gerekir.",
@@ -136,10 +136,10 @@
"App directories owner" : "Uygulama klasörleri sahibi",
"Some app directories are owned by a different user than the web server one. This may be the case if apps have been installed manually. Check the permissions of the following app directories:\n%s" : "Bazı uygulama klasörlerinin sahipliği site sunucusunun kullandığından başka bir kullanıcıya ait. Bu durum, uygulamalar el ile kurulduğunda ortaya çıkabilir. Şu uygulama klasörlerinin izinlerini denetleyin:\n%s",
"App directories have the correct owner \"%s\"" : "Uygulama klasörlerinin sahibi \"%s\" ve doğru",
- "Brute-force Throttle" : "Kaba kuvvet sınırlaması",
+ "Brute-force Throttle" : "Kaba kuvvet saldırısı sınırlaması",
"Your remote address could not be determined." : "Uzak adresiniz belirlenemedi.",
- "Your remote address was identified as \"%s\" and is brute-force throttled at the moment slowing down the performance of various requests. If the remote address is not your address this can be an indication that a proxy is not configured correctly." : "Uzak adresiniz \"%s\" olarak belirlendi ve şu anda çeşitli isteklerin yerine getirilmesini yavaşlatacak şekilde kaba kuvvet saldırısı nedeniyle kısıtlanıyor. Uzak adres sizin adresiniz değilse bu, vekil sunucusunun doğru şekilde yapılandırılmadığını gösteriyor olabilir.",
- "Your remote address \"%s\" is not brute-force throttled." : "\"%s\" uzak adresinize kaba kuvvet sınırlaması uygulanmıyor.",
+ "Your remote address was identified as \"%s\" and is brute-force throttled at the moment slowing down the performance of various requests. If the remote address is not your address this can be an indication that a proxy is not configured correctly." : "Uzak adresiniz \"%s\" olarak belirlendi ve şu anda çeşitli isteklerin yerine getirilmesini yavaşlatacak şekilde kaba kuvvet saldırısı koruması nedeniyle kısıtlanıyor. Uzak adres sizin adresiniz değilse bu, vekil sunucusunun doğru şekilde yapılandırılmadığını gösteriyor olabilir.",
+ "Your remote address \"%s\" is not brute-force throttled." : "\"%s\" uzak adresinize kaba kuvvet saldırısı sınırlaması uygulanmıyor.",
"Old administration imported certificates" : "Eski yönetimin içe aktarılmış sertifikaları",
"A background job is pending that checks for administration imported SSL certificates. Please check back later." : "Yönetim tarafından içe aktarılmış SSL sertifikalarını denetleyen bir arka plan görevi bekliyor. Lütfen bir süre sonra yeniden denetleyin.",
"There are some administration imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below." : "Yönetim tarafından içe aktarılmış ancak artık Nextcloud 21 ile kullanılmayan bazı SSL sertifikaları var. Bunlar, komut satırından \"occ security:certificates:import\" komutu ile içe aktarılabilir. Veri klasörü içindeki yollarını aşağıda görebilirsiniz.",
@@ -162,24 +162,24 @@
"Database missing indices" : "Veri tabanında dizinler eksik",
"Missing indices:" : "Dizinler eksik:",
"\"%s\" in table \"%s\"" : "\"%s\", \"%s\" tablosunda",
- "Detected some missing optional indices. Occasionally new indices are added (by Nextcloud or installed applications) to improve database performance. Adding indices can sometimes take awhile and temporarily hurt performance so this is not done automatically during upgrades. Once the indices are added, queries to those tables should be faster. Use the command `occ db:add-missing-indices` to add them." : "İsteğe bağlı bazı dizinlerin eksik olduğu bulundu. Bazen veritabanı başarımını iyileştirmek için yeni dizinler eklenir (Nextcloud veya kurulmuş uygulamalar tarafından). Dizinleri eklemek bazen biraz zaman alabilir ve başarımı geçici olarak düşürebilir, bu nedenle yükseltmeler sırasında bu işlem otomatik olarak yapılmaz. Dizinler eklendikten sonra, bu tablolara yapılan sorguların daha hızlı olması beklenir. Bunları eklemek için `occ db:add-missing-indices` komutunu kullanın.",
+ "Detected some missing optional indices. Occasionally new indices are added (by Nextcloud or installed applications) to improve database performance. Adding indices can sometimes take awhile and temporarily hurt performance so this is not done automatically during upgrades. Once the indices are added, queries to those tables should be faster. Use the command `occ db:add-missing-indices` to add them." : "İsteğe bağlı bazı dizinlerin eksik olduğu bulundu. Bazen veri tabanı başarımını iyileştirmek için yeni dizinler eklenir (Nextcloud veya kurulmuş uygulamalar tarafından). Dizinleri eklemek bazen biraz zaman alabilir ve başarımı geçici olarak düşürebilir. Bu nedenle yükseltmeler sırasında bu işlem otomatik olarak yapılmaz. Dizinler eklendikten sonra, bu tablolara yapılan sorguların daha hızlı olması beklenir. Bunları eklemek için `occ db:add-missing-indices` komutunu kullanın.",
"Database missing primary keys" : "Veri tabanında birincil anahtarlar eksik",
"Missing primary key on table \"%s\"." : "\"%s\" tablosunda birincil dizin anahtarı eksik.",
"The database is missing some primary keys. Due to the fact that adding primary keys on big tables could take some time they were not added automatically. By running \"occ db:add-missing-primary-keys\" those missing primary keys could be added manually while the instance keeps running." : "Veri tabanında bazı birincil dizin anahtarları eksik. Büyük tablolara birincil anahtarların eklenmesi uzun sürebildiğinden bu işlem otomatik olarak yapılmaz. Sunucunuz normal çalışırken eksik birincil anahtarları el ile eklemek için \"occ db:add-missing-primary-keys\" komutunu yürütün.",
- "Database pending bigint migrations" : "Veritabanı büyük tam sayı dönüşümleri bekliyor",
+ "Database pending bigint migrations" : "Veri tabanı büyük tam sayı dönüşümleri bekliyor",
"Some columns in the database are missing a conversion to big int. Due to the fact that changing column types on big tables could take some time they were not changed automatically. By running \"occ db:convert-filecache-bigint\" those pending changes could be applied manually. This operation needs to be made while the instance is offline." : "Veri tabanında büyük tam sayıya dönüştürülecek bazı sütunlar eksik. Sütun türlerini büyük tablolara dönüştürme işlemi uzun sürebileceğinden bu işlem otomatik olarak yapılmaz. Sunucunuz normal çalışırken bekleyen değişiklikleri el ile uygulamak için \"occ db:convert-filecache-bigint\" komutunu yürütün. Bu işlem yapılırken Nextcloud kopyası çevrim dışı olur.",
"Debug mode" : "Hata ayıklama kipi",
- "This instance is running in debug mode. Only enable this for local development and not in production environments." : "Bu kopya hata ayıklama kipinde çalışıyor. Bu seçeneği yalnızca yerel geliştirme ortamında etkinleştirin, üretim ortamlarında kullanmayın.",
- "Debug mode is disabled." : "Hata ayıklama kipi devre dışı bırakıldı.",
+ "This instance is running in debug mode. Only enable this for local development and not in production environments." : "Bu kopya hata ayıklama kipinde çalışıyor. Bu seçeneği yalnızca yerel geliştirme ortamında açın, üretim ortamlarında kullanmayın.",
+ "Debug mode is disabled." : "Hata ayıklama kipi kapatıldı.",
"Default phone region" : "Varsayılan telefon alan kodu",
"Your installation has no default phone region set. This is required to validate phone numbers in the profile settings without a country code. To allow numbers without a country code, please add \"default_phone_region\" with the respective ISO 3166-1 code of the region to your config file." : "Kurulumunuz için bir varsayılan telefon bölgesi ayarlanmamış. Bu bölge telefon numaralarının bir ülke kodu belirtilmeden doğrulanmasını sağlar. Telefon numaralarının ülke kodu olmadan yazılabilmesini istiyorsanız, yapılandırma dosyasına \"default_phone_region\" seçeneğini ekleyerek ilgili ISO 3166-1 bölge kodunu yazın.",
"Email test" : "E-posta sınaması",
- "Mail delivery is disabled by instance config \"%s\"." : "E-posta gönderimi kopyanın yapılandırmasından devre dışı bırakılmış \"%s\".",
+ "Mail delivery is disabled by instance config \"%s\"." : "E-posta gönderimi kopyanın yapılandırmasında kapatılmış \"%s\".",
"Email test was successfully sent" : "E-posta sınaması gönderildi",
"You have not set or verified your email server configuration, yet. Please head over to the \"Basic settings\" in order to set them. Afterwards, use the \"Send email\" button below the form to verify your settings." : "E-posta sunucusu yapılandırmanızı henüz ayarlamadınız veya doğrulamadınız. Ayarları yapmak için \"Temel ayarlar\" bölümüne gidin. Ardından, ayarlarınızı doğrulamak için formun altındaki \"E-posta gönder\" düğmesine tıklayın.",
"Transactional File Locking" : "İşlemsel dosya kilidi",
- "Transactional File Locking is disabled. This is not a a supported configuraton. It may lead to difficult to isolate problems including file corruption. Please remove the `'filelocking.enabled' => false` configuration entry from your `config.php` to avoid these problems." : "İşlemsel dosya kilidi devre dışı bırakılmış. Bu yapılandırma desteklenmez ve dosyaların bozulması gibi çözülmesi zor sorunlara yol açabilir. Bu sorunları önlemek için lütfen `config.php` dosyanızdan `'filelocking.enabled' => false` yapılandırma kaydını kaldırın.",
- "The database is used for transactional file locking. To enhance performance, please configure memcache, if available." : "Veritabanı, işlemsel dosya kilitleme için kullanılır. Başarımı yükseltmek için varsa lütfen memcache yapılandırmasını ayarlayın.",
+ "Transactional File Locking is disabled. This is not a a supported configuraton. It may lead to difficult to isolate problems including file corruption. Please remove the `'filelocking.enabled' => false` configuration entry from your `config.php` to avoid these problems." : "İşlemsel dosya kilidi kapatılmış. Bu yapılandırma desteklenmez ve dosyaların bozulması gibi çözülmesi zor sorunlara yol açabilir. Bu sorunları önlemek için lütfen `config.php` dosyanızdan `'filelocking.enabled' => false` yapılandırma kaydını kaldırın.",
+ "The database is used for transactional file locking. To enhance performance, please configure memcache, if available." : "Veri tabanı, işlemsel dosya kilitleme için kullanılır. Başarımı yükseltmek için varsa lütfen memcache yapılandırmasını ayarlayın.",
"Forwarded for headers" : "Üst bilgi yönlendirmesi",
"Your \"trusted_proxies\" setting is not correctly set, it should be an array." : "\"trusted_proxies\" ayarınız düzgün yapılmamış. Bu bir dizi olmalıdır.",
"Your \"trusted_proxies\" setting is not correctly set, it should be an array of IP addresses - optionally with range in CIDR notation." : "\"Trusted_proxies\" ayarınız doğru şekilde yapılmamış. İsteğe bağlı olarak CIDR gösterimindeki aralıkla birlikte bir IP adresi aralığı olmalıdır.",
@@ -193,7 +193,7 @@
"Your instance is generating insecure URLs. If you access your instance over HTTPS, this likely means that your instance is behind a reverse proxy and the Nextcloud `overwrite*` config values are not set correctly." : "Kopyanız güvenli olmayan adresler üretiyor. Kopyanıza HTTPS üzerinden erişiyorsanız, bu durum genellikle bir ters vekil sunucunun arkasında bulunmanızdan ve Nextcloud `overwrite*` yapılandırma değerlerinin doğru olarak ayarlanmamış olmasından kaynaklanır.",
"You are accessing your instance over a secure connection, and your instance is generating secure URLs." : "Kopyanıza güvenli bir bağlantı üzerinden erişiyorsunuz ve kopyanız güvenli adresler oluşturuyor.",
"Internet connectivity" : "İnternet bağlantısı",
- "Internet connectivity is disabled in configuration file." : "İnternet bağlantısı yapılandırma dosyasında devre dışı bırakılmış.",
+ "Internet connectivity is disabled in configuration file." : "İnternet bağlantısı yapılandırma dosyasında kapatılmış.",
"This server has no working internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the internet to enjoy all features." : "Bu sunucunun çalışan bir İnternet bağlantısı yok. Birden çok uç noktaya erişilemez. Bu durumda dış depolama alanı bağlama, güncelleme bildirimleri ya da üçüncü taraf uygulamalarını kurmak gibi bazı özellikler çalışmaz. Dosyalara uzaktan erişim ve bildirim e-postalarının gönderilmesi işlemleri de yapılamaz. Tüm bu özelliklerin kullanılabilmesi için sunucuyu İnternet üzerine bağlamanız önerilir.",
"JavaScript modules support" : "JavaScript modülleri desteği",
"Unable to run check for JavaScript support. Please remedy or confirm manually if your webserver serves `.mjs` files using the JavaScript MIME type." : "JavaScript desteği denetlenemedi. Lütfen site sunucunuzun JavaScript MIME türünü kullanarak `.mjs` dosyalarını sunup sunmadığını el ile denetleyin.",
@@ -201,8 +201,8 @@
"JavaScript source map support" : "JavaScript kaynak haritası desteği",
"Your webserver is not set up to serve `.js.map` files. Without these files, JavaScript Source Maps won't function properly, making it more challenging to troubleshoot and debug any issues that may arise." : "Site sunucunuz `.js.map` dosyalarını sunacak şekilde ayarlanmamış. Bu dosyalar olmadan, JavaScript kaynak haritaları düzgün çalışmaz. Bu durum ortaya çıkabilecek sorunların giderilmesini ve hata ayıklamasını zorlaştırır.",
"Old server-side-encryption" : "Eski sunucu tarafı şifreleme",
- "Disabled" : "Devre Dışı",
- "The old server-side-encryption format is enabled. We recommend disabling this." : "Eski sunucu tarafı şifreleme biçimi etkinleştirilmiş. Bu seçeneği devre dışı bırakmanız önerilir.",
+ "Disabled" : "Kapalı",
+ "The old server-side-encryption format is enabled. We recommend disabling this." : "Eski sunucu tarafı şifreleme biçimi açılmış. Bu seçeneği kapatmanız önerilir.",
"Logging level" : "Günlük kaydı düzeyi",
"The %1$s configuration option must be a valid integer value." : "%1$s yapılandırma seçeneği geçerli bir tam sayı olmalıdır.",
"The logging level is set to debug level. Use debug level only when you have a problem to diagnose, and then reset your log level to a less-verbose level as it outputs a lot of information, and can affect your server performance." : "Günlük kaydı hata ayıklama düzeyine ayarlanmış. Hata ayıklama düzeyini yalnızca bulmanız gereken bir sorununuz olduğunda kullanın ve ardından daha az ayrıntılı bir düzeye döndürün. Bu düzey çok fazla bilgi kaydeder ve sunucunuzun başarımını etkileyebilir.",
@@ -222,10 +222,10 @@
"MySQL row format" : "MySQL satır biçimi",
"You are not using MySQL" : "MySQL kullanmıyorsunuz",
"None of your tables use ROW_FORMAT=Compressed" : "Hiçbir tablonuzda ROW_FORMAT=Compressed kullanılmıyor",
- "Incorrect row format found in your database. ROW_FORMAT=Dynamic offers the best database performances for Nextcloud. Please update row format on the following list: %s." : "Veri tabanınızda yanlış satır biçimi bulundu. ROW_FORMAT=Dynamic, Nextcloud için en iyi veritabanı başarımını sunar. Lütfen aşağıdaki listedeki satır biçimini güncelleyin: %s.",
+ "Incorrect row format found in your database. ROW_FORMAT=Dynamic offers the best database performances for Nextcloud. Please update row format on the following list: %s." : "Veri tabanınızda yanlış satır biçimi bulundu. ROW_FORMAT=Dynamic, Nextcloud için en iyi veri tabanı başarımını sunar. Lütfen aşağıdaki listedeki satır biçimini güncelleyin: %s.",
"MySQL Unicode support" : "MySQL Unikod desteği",
- "MySQL is used as database and does support 4-byte characters" : "Veritabanı olarak MySQL kullanılıyor ve 4 baytlık karakterler destekleniyor",
- "MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL." : "Veritabanı olarak MySQL kullanılıyor ancak 4 bayt uzunluğundaki karakterler desteklenmiyor. 4 bayt uzunluğundaki karaktelerin (emoji simgeleri gibi) dosya adları ya da yorumlarda sorun çıkmadan işlenebilmesi için MySQL üzerinde 4 bayt desteğinin etkinleştirilmesi önerilir.",
+ "MySQL is used as database and does support 4-byte characters" : "Veri tabanı olarak MySQL kullanılıyor ve 4 baytlık karakterler destekleniyor",
+ "MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL." : "Veri tabanı olarak MySQL kullanılıyor ancak 4 bayt uzunluğundaki karakterler desteklenmiyor. 4 bayt uzunluğundaki karakterlerin (emoji simgeleri gibi) dosya adları ya da yorumlarda sorun çıkmadan işlenebilmesi için MySQL üzerinde 4 bayt desteğinin etkinleştirilmesi önerilir.",
"OCS provider resolving" : "OCS hizmet sağlayıcısı çözümleniyor",
"Could not check if your web server properly resolves the OCM and OCS provider URLs." : "Site sunucunuzun OCM ve OCS hizmet sağlayıcı adreslerini doğru şekilde çözümleyip çözümlemediği denetlenemedi.",
"Your web server is not properly set up to resolve %1$s.\nThis is most likely related to a web server configuration that was not updated to deliver this folder directly.\nPlease compare your configuration against the shipped rewrite rules in \".htaccess\" for Apache or the provided one in the documentation for Nginx.\nOn Nginx those are typically the lines starting with \"location ~\" that need an update." : "Site sunucunuz %1$s adresini doğru olarak çözümleyecek şekilde yapılandırılmamış.\nBu sorun genellikle site sunucusu yapılandırmasının bu klasörü doğrudan aktaracak şekilde güncellenmemiş olmamasından kaynaklanır.\nLütfen kendi yapılandırmanızı, Apache için uygulama ile gelen \".htaccess\" dosyasındaki rewrite komutları ile ya da Nginx için belgeler bölümünde bulunan ayarlar ile karşılaştırın.\nNginx üzerinde genellikle \"location ~\" ile başlayan satırların güncellenmesi gerekir.",
@@ -240,7 +240,7 @@
"PHP configuration option \"default_charset\" should be UTF-8" : "PHP \"default_charset\" yapılandırma seçeneği UTF-8 olmalı",
"PHP set_time_limit" : "PHP set_time_limit",
"The function is available." : "Özellik kullanılabilir.",
- "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "\"set_time_limit\" PHP işlevi kullanılamıyor. Bu durum betiklerin yürütme sırasında durmasına, ve kurulumunuzun çalışmamasına neden olabilir. Bu işlevin etkinleştirilmesi önemle önerilir.",
+ "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "\"set_time_limit\" PHP işlevi kullanılamıyor. Bu durum betiklerin yürütme sırasında durmasına, ve kurulumunuzun çalışmamasına neden olabilir. Bu işlevin kullanıma alınması önemle önerilir.",
"Freetype" : "Freetype",
"Supported" : "Destekleniyor",
"Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "PHP kurulumunuzda FreeType desteği yok. Bu durum profil görsellerinin ve ayarlar bölümünün bozuk görüntülenmesine neden olur.",
@@ -262,14 +262,14 @@
"This instance is missing some recommended PHP modules. For improved performance and better compatibility it is highly recommended to install them:\n%s" : "Bu kopyada önerilen bazı PHP modülleri eksik. Daha iyi başarım ve uyumluluk için bu modüllerin kurulması önemle önerilir:\n%s",
"PHP opcache" : "PHP opcache",
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "PHP OPcache modülü yüklenmemiş. Daha iyi başarım sağlamak için PHP kurulumunuza eklemeniz önerilir.",
- "OPcache is disabled. For better performance, it is recommended to apply \"opcache.enable=1\" to your PHP configuration." : "OPcache devre dışı bırakılmış. Daha iyi başarım için PHP yapılandırmanızda \"opcache.enable=1\" seçeneğini ayarlamanız önerilir.",
- "The shared memory based OPcache is disabled. For better performance, it is recommended to apply \"opcache.file_cache_only=0\" to your PHP configuration and use the file cache as second level cache only." : "Paylaşılan bellek temelli OPcache devre dışı bırakılmış. Başarımı iyileştirmek için PHP yapılandırmanızda \"opcache.file_cache_only=0\" seçeneğini ayarlamanız ve dosya ön belleğini yalnızca ikinci düzey ön bellek olarak kullanmanız önerilir.",
+ "OPcache is disabled. For better performance, it is recommended to apply \"opcache.enable=1\" to your PHP configuration." : "OPcache kullanılmıyor. Daha iyi başarım için PHP yapılandırmanızda \"opcache.enable=1\" seçeneğini ayarlamanız önerilir.",
+ "The shared memory based OPcache is disabled. For better performance, it is recommended to apply \"opcache.file_cache_only=0\" to your PHP configuration and use the file cache as second level cache only." : "Paylaşılan bellek temelli OPcache kullanılmıyor. Başarımı iyileştirmek için PHP yapılandırmanızda \"opcache.file_cache_only=0\" seçeneğini ayarlamanız ve dosya ön belleğini yalnızca ikinci düzey ön bellek olarak kullanmanız önerilir.",
"OPcache is not working as it should, opcache_get_status() returns false, please check configuration." : "OPcache olması gerektiği gibi çalışmıyor, opcache_get_status() işlevi false değerini döndürüyor. Lütfen yapılandırmayı denetleyin.",
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply \"opcache.max_accelerated_files\" to your PHP configuration with a value higher than \"%s\"." : "En fazla OPcache anahtar sayısına neredeyse erişildi. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza \"%s\" üzerinde bir değerle \"opcache.max_accelerated_files\" uygulamanız önerilir.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply \"opcache.memory_consumption\" to your PHP configuration with a value higher than \"%s\"." : "OPcache ara belleği neredeyse dolu. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza \"%s\" üzerinde bir değerle \"opcache.memory_consumption\" uygulamanız önerilir.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply \"opcache.interned_strings_buffer\" to your PHP configuration with a value higher than \"%s\"." : "OPcache interned dizge ara belleği neredeyse dolu. Yinelenen dizgelerin etkin bir şekilde ön belleğe alınabilmesini sağlamak için, PHP yapılandırmanıza \"%s\" üzerinde bir değerle \"opcache.interned_strings_buffer\" uygulamanız önerilir.",
- "OPcache is configured to remove code comments. With OPcache enabled, \"opcache.save_comments=1\" must be set for Nextcloud to function." : "OPcache, kod yorumlarını kaldıracak şekilde yapılandırılmış. OPcache etkinleştirildiğinde Nextcloud uygulamasının çalışması için \"opcache.save_comments=1\" ayarı yapılmalıdır.",
- "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with \"opcache.restrict_api\" or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud tarafından OPcache API' yazılımının kullanmasına izin verilmez. OPcache etkinleştirildiğinde, Nextcloud çekirdeği veya uygulama yükseltmeleri sırasında hataları önlemek için \"opcache.restrict_api\" ile tüm Nextcloud klasörlerini katmanız ya da OPcache API kısıtlamalarını devre dışı bırakmak için bu ayarı kaldırmanız önemle önerilir.",
+ "OPcache is configured to remove code comments. With OPcache enabled, \"opcache.save_comments=1\" must be set for Nextcloud to function." : "OPcache, kod yorumlarını kaldıracak şekilde yapılandırılmış. OPcache kullanıma alındığında Nextcloud uygulamasının çalışması için \"opcache.save_comments=1\" ayarı yapılmalıdır.",
+ "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with \"opcache.restrict_api\" or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud tarafından OPcache API' yazılımının kullanmasına izin verilmez. OPcache kullanıma alındığında, Nextcloud çekirdeği veya uygulama yükseltmeleri sırasında oluşabilecek hataları önlemek için \"opcache.restrict_api\" ile tüm Nextcloud klasörlerini katmanız ya da OPcache API kısıtlamalarını kapatmak için bu ayarı kaldırmanız önemle önerilir.",
"Checking from CLI, OPcache checks have been skipped." : "Komut satırından denetleniyor, OPcache denetimleri atlanmış.",
"The PHP OPcache module is not properly configured. %s." : "PHP OPcache modülü doğru yapılandırılmamış. %s.",
"Correctly configured" : "Doğru yapılandırılmış",
@@ -277,7 +277,7 @@
"You are currently running PHP %1$s. PHP %2$s is deprecated since Nextcloud %3$s. Nextcloud %4$s may require at least PHP %5$s. Please upgrade to one of the officially supported PHP versions provided by the PHP Group as soon as possible." : "Şu anda PHP %1$s kullanıyorsunuz. PHP %2$s son olarak Nextcloud %3$s sürümünde destekleniyor. Nextcloud %4$s için en az PHP %5$s gerekebilir. Lütfen olabilecek en kısa sürede PHP Group tarafından sağlanan resmi olarak desteklenen PHP sürümlerinden birine yükseltin.",
"You are currently running PHP %s." : "Şu anda PHP %s kullanıyorsunuz.",
"PHP \"output_buffering\" option" : "PHP \"output_buffering\" seçeneği",
- "PHP configuration option \"output_buffering\" must be disabled" : "PHP \"option output_buffering\" yapılandırma seçeneği devre dışı bırakılmalıdır",
+ "PHP configuration option \"output_buffering\" must be disabled" : "PHP \"option output_buffering\" yapılandırma seçeneği kapatılmalıdır",
"Push service" : "Anında bildirim hizmeti",
"Valid enterprise license" : "Geçerli Enterprise lisansı",
"Free push service" : "Ücretsiz anında bildirim hizmeti",
@@ -286,7 +286,7 @@
"No suitable source for randomness found by PHP which is highly discouraged for security reasons." : "PHP tarafında uygun bir rastgelelik kaynağı bulunamadı. Güvenlik nedeniyle kesinlikle önerilir.",
"Secure" : "Güvenli",
"Configuration file access rights" : "Yapılandırma dosyasının erişim izinleri",
- "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt okunur yapılandırma etkinleştirilmiş. Bu yapılandırma, bazı ayarların site arayüzünden yapılmasını önler. Ayrıca, bu dosyanın her güncelleme öncesinde el ile yazılabilir yapılması gerekir.",
+ "The read-only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt okunur yapılandırma açık. Bu yapılandırma, bazı ayarların site arayüzünden yapılmasını önler. Ayrıca, bu dosyanın izinlerinin her güncelleme öncesinde el ile yazılabilir olarak ayarlanması gerekir.",
"Nextcloud configuration file is writable" : "Nextcloud yapılandırma dosyası yazılabilir",
"Scheduling objects table size" : "Zamanlama nesneler tablosu boyutu",
"You have more than %s rows in the scheduling objects table. Please run the expensive repair jobs via occ maintenance:repair --include-expensive." : "Zamanlama nesneleri tablosunda %s üzerinde satır var. Lütfen büyük onarım işlerini occ maintenance:repair --include-expensive komutu ile yapın",
@@ -294,7 +294,6 @@
"HTTP headers" : "HTTP üst bilgileri",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "`%1$s` HTTP üst bilgisi `%2$s` şeklinde ayarlanmamış. Bu durum bazı özelliklerin düzgün çalışmasını engelleyebileceğinden bu ayarın belirtildiği gibi yapılması önerilir.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "`%1$s` HTTP üst bilgisi `%2$s` şeklinde ayarlanmamış. Bu durum olası bir güvenlik ya da gizlilik riski oluşturduğundan bu ayarın belirtildiği gibi yapılması önerilir.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "`%1$s` HTTP üst bilgisinde `%2$s` bulunmuyor. Bu durum olası bir güvenlik ya da gizlilik riski oluşturduğundan bu ayarın belirtildiği gibi yapılması önerilir.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- `%1$s` HTTP üst bilgisi `%2$s`, `%3$s`, `%4$s`, `%5$s` ya da `%6$s` olarak ayarlanmamış. Bu durum yönlendiren bilgisinin sızmasına neden olabilir. {w3c-recommendation} bölümüne bakın.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- `Strict-Transport-Security` HTTP üst bilgisi en azından `%d` saniye olarak ayarlanmamış (geçerli değer: `%d`). Güvenliği artırmak için uzun bir HSTS ilkesi kullanılması önerilir.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- `Strict-Transport-Security` HTTP üst bilgisi doğru biçimde değil: `%s`. Güvenliği artırmak için HSTS kullanılması önerilir.",
@@ -303,26 +302,30 @@
"Could not check that your web server serves security headers correctly. Please check manually." : "Site sunucunuzun güvenlik üst bilgilerini doğru şekilde sunup sunmadığı denetlenemedi. Lütfen el ile denetleyin.",
"Could not check that your web server serves security headers correctly, unable to query `%s`" : "Site sunucunuzun güvenlik üst bilgilerini doğru şekilde sunup sunmadığı denetlenemedi. `%s` sorgulanamadı.",
"Your server is correctly configured to send security headers." : "Sunucunuz, güvenlik üst bilgilerini göndermek üzere doğru şekilde yapılandırılmış.",
- "Database version" : "Veritabanı sürümü",
+ "Database version" : "Veri tabanı sürümü",
"MariaDB version 10.3 detected, this version is end-of-life and only supported as part of Ubuntu 20.04. MariaDB >=%1$s and <=%2$s is suggested for best performance, stability and functionality with this version of Nextcloud." : "MariaDB 10.3 sürümü bulundu. Bu sürüm ömrünün sonuna geldi ve yalnızca Ubuntu 20.04 sürümünün bir parçası. Bu Nextcloud sürümüyle en iyi başarım, kararlılık ve işlevsellik sağlamak için MariaDB sürümünün %1$s ile %2$s arasında olması önerilir.",
"MariaDB version \"%1$s\" detected. MariaDB >=%2$s and <=%3$s is suggested for best performance, stability and functionality with this version of Nextcloud." : "MariaDB \"%1$s\" sürümü bulundu. Bu Nextcloud sürümüyle en iyi başarım, kararlılık ve işlevsellik sağlamak için MariaDB sürümünün %2$s ile %3$s arasında olması önerilir.",
"MySQL version \"%1$s\" detected. MySQL >=%2$s and <=%3$s is suggested for best performance, stability and functionality with this version of Nextcloud." : "MySQL \"%1$s\" sürümü bulundu. Bu Nextcloud sürümüyle en iyi başarım, kararlılık ve işlevsellik sağlamak için MySQL sürümünün %2$s ile %3$s arasında olması önerilir.",
"PostgreSQL version \"%1$s\" detected. PostgreSQL >=%2$s and <=%3$s is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL \"%1$s\" sürümü bulundu. Bu Nextcloud sürümüyle en iyi başarım, kararlılık ve işlevsellik sağlamak için PostgreSQL sürümünün %2$s ile %3$s arasında olması önerilir.",
- "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend. This is particularly recommended when using the desktop client for file synchronisation. To migrate to another database use the command line tool: \"occ db:convert-type\"." : "Şu anda arka uç veritabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veritabanı arka ucuna geçmenizi öneririz. Bu özellikle dosya eşitlemesi için masaüstü istemcisini kullanırken önerilir. Başka bir veri tabanına geçmek için komut satırı aracını kullanın: \"occ db:convert-type\".",
- "Unknown database platform" : "Veritabanı platformu bilinmiyor",
+ "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend. This is particularly recommended when using the desktop client for file synchronisation. To migrate to another database use the command line tool: \"occ db:convert-type\"." : "Şu anda veri tabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veri tabanına geçmenizi öneririz. Bu özellikle dosya eşitlemesi için bilgisayar istemcisini kullanırken önerilir. Başka bir veri tabanına geçmek için komut satırı aracını kullanın: \"occ db:convert-type\".",
+ "Unknown database platform" : "Veri tabanı platformu bilinmiyor",
"Architecture" : "Mimari",
"64-bit" : "64-bit",
"It seems like you are running a 32-bit PHP version. Nextcloud needs 64-bit to run well. Please upgrade your OS and PHP to 64-bit!" : "32 bit bir PHP sürümü çalıştırıyorsunuz gibi görünüyor. Nextcloud uygulamasının iyi çalışması için 64 bit bir PHP sürümü kullanılmalıdır. Lütfen işletim sisteminizi ve PHP sürümünüzü 64 bit olacak şekilde yükseltin!",
+ "Task Processing pickup speed" : "İşlenecek görevi alma hızı",
+ "_No scheduled tasks in the last %n hour._::_No scheduled tasks in the last %n hours._" : ["Son %n saatte zamanlanmış bir görev yok.","Son %n saatte zamanlanmış bir görev yok."],
+ "_The task pickup speed has been ok in the last %n hour._::_The task pickup speed has been ok in the last %n hours._" : ["Son %n saatte zamanlanmış işlenecek görevi alma hızı iyi.","Son %n saatte zamanlanmış işlenecek görevi alma hızı iyi."],
+ "_The task pickup speed has been slow in the last %n hour. Many tasks took longer than 4 minutes to be picked up. Consider setting up a worker to process tasks in the background._::_The task pickup speed has been slow in the last %n hours. Many tasks took longer than 4 minutes to be picked up. Consider setting up a worker to process tasks in the background._" : ["İşlenecek görevi alma hızı son %n saatte yavaştı. Birçok görevin alınması 4 dakikadan uzun sürdü. Görevlerin arka planda işlenmesi için bir işlem ayarlamayı değerlendirin.","İşlenecek görevi alma hızı son %n saatte yavaştı. Birçok görevin alınması 4 dakikadan uzun sürdü. Görevlerin arka planda işlenmesi için bir işlem ayarlamayı değerlendirin."],
"Temporary space available" : "Geçici alan kullanılabilir",
"Error while checking the temporary PHP path - it was not properly set to a directory. Returned value: %s" : "Geçici PHP yolu denetlenirken sorun çıktı. Doğru şekilde bir klasöre ayarlanmamış. Döndürülen değer: %s",
- "The PHP function \"disk_free_space\" is disabled, which prevents the check for enough space in the temporary directories." : "PHP \"disk_free_space\" işlevi devre dışı bırakıldığından geçici klasörlerde yeterli alan olup olmadığı denetlenemedi.",
+ "The PHP function \"disk_free_space\" is disabled, which prevents the check for enough space in the temporary directories." : "PHP \"disk_free_space\" işlevi kullanılamadığından geçici klasörlerde yeterli alan olup olmadığı denetlenemedi.",
"Error while checking the available disk space of temporary PHP path or no free disk space returned. Temporary path: %s" : "Geçici PHP yolunun kullanılabilir disk alanı denetlenirken sorun çıktı veya boş disk alanı döndürülmedi. Geçici yol: %s",
"- %.1f GiB available in %s (PHP temporary directory)" : "- %s içinde %.1f GiB kullanılabilir (PHP geçici klasörü)",
"- %.1f GiB available in %s (Nextcloud temporary directory)" : "- %s içinde %.1f GiB kullanılabilir (Nextcloud geçici klasörü)",
"Temporary directory is correctly configured:\n%s" : "Geçici klasör doğru şekilde yapılandırılmış:\n%s",
"This instance uses an S3 based object store as primary storage, and has enough space in the temporary directory.\n%s" : "Bu kopya, birincil depolama olarak S3 tabanlı bir nesne deposunu kullanıyor ve geçici klasörde yeterli alan var.\n%s",
"This instance uses an S3 based object store as primary storage. The uploaded files are stored temporarily on the server and thus it is recommended to have 50 GiB of free space available in the temp directory of PHP. To improve this please change the temporary directory in the php.ini or make more space available in that path. \nChecking the available space in the temporary path resulted in %.1f GiB instead of the recommended 50 GiB. Path: %s" : "Bu kopya, birincil depolama olarak S3 tabanlı bir nesne deposu kullanıyor. Yüklenen dosyalar geçici olarak sunucuya kaydedildiğinden PHP geçici klasöründe 50 GiB boş alan bulunması önerilir. Bu durumu düzeltmek için php.ini içindeki geçici klasör yolunu değiştirin ya da kullanılan geçici klasörde daha fazla yer açın.\nGeçici yoldaki kullanılabilir alanın denetlenmesi önerilen 50 GiB yerine %.1f GiB sonucu verdi. Yol: %s",
- "Database transaction isolation level" : "Veritabanı işlemsel yalıtım düzeyi",
+ "Database transaction isolation level" : "Veri tabanı işlemsel yalıtım düzeyi",
"Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Veri tabanınız \"READ COMMITTED\" işlem yalıtma düzeyinde çalışmıyor. Bu durum aynı anda birden çok işlem yapıldığında sorun çıkmasına yol açabilir.",
"Was not able to get transaction isolation level: %s" : "İşlemsel yalıtım düzeyi alınamadı: %s",
".well-known URLs" : ".well-known adresler",
@@ -334,18 +337,18 @@
"Could not check for {extension} loading support. Please check manually if your webserver serves `.{extension}` files." : "{extension} yükleme desteği denetlenemedi. Lütfen site sunucunuzun `.{extension}` dosyalarını sunup sunmadığını el ile denetleyin.",
"Your web server is not properly set up to deliver .{extension} files. This is typically an issue with the Nginx configuration. For Nextcloud 15 it needs an adjustment to also deliver .{extension} files. Compare your Nginx configuration to the recommended configuration in our documentation." : "Site sunucunuz .{extension} dosyalarını aktaracak şekilde yapılandırılmamış. Bu sık karşılaşılan bir Nginx yapılandırma sorunudur. Nextcloud 15 için .{extension} dosyalarını da aktaracak ek bir ayar yapılması gereklidir. Kullandığınız Nginx yapılandırmasını belgeler bölümünde bulunan önerilen yapılandırma dosyası ile karşılaştırın.",
"Profile information" : "Profil bilgileri",
- "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Profil görseli, tam ad, e-posta adresi, telefon numarası, adres, site, Twitter, kuruluş, rol, başlık, özgeçmiş ve profilde etkinleştirilmiş diğer bilgiler",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Profil görseli, tam ad, e-posta adresi, telefon numarası, adres, site, Twitter, kuruluş, rol, başlık, özgeçmiş ve profilde kullanılan diğer bilgiler",
"Nextcloud settings" : "Nextcloud ayarları",
"Unified task processing" : "Birleştirilmiş görev işleme",
"AI tasks can be implemented by different apps. Here you can set which app should be used for which task." : "Yapay zeka görevleri farklı uygulamalardan sağlanabilir. Buradan, bu görev için hangi uygulamanın kullanılacağını ayarlayabilirsiniz.",
"Task:" : "Görev:",
- "Enable" : "Etkinleştir",
- "None of your currently installed apps provide Task processing functionality" : "Şu anda kurulu uygulamaların hiçbirinde görev işleme özelliği yok",
+ "Enable" : "Kullanıma al",
+ "None of your currently installed apps provide Task processing functionality" : "Kurulu uygulamaların hiçbirinde görev işleme özelliği yok",
"Machine translation" : "Makine çevirisi",
"Machine translation can be implemented by different apps. Here you can define the precedence of the machine translation apps you have installed at the moment." : "Makine çevirisi, farklı uygulamalardan sağlanabilir. Buradan, şu anda kurulu makine çevirisi uygulamalarının önceliğini belirtebilirsiniz.",
"Image generation" : "Görsel oluşturma",
"Image generation can be implemented by different apps. Here you can set which app should be used." : "Görsel oluşturma özelliği farklı uygulamalardan sağlanabilir. Buradan, hangi uygulamanın kullanılacağını ayarlayabilirsiniz.",
- "None of your currently installed apps provide image generation functionality" : "Şu anda kurulu uygulamaların hiçbirinde görsel oluşturma özelliği yok",
+ "None of your currently installed apps provide image generation functionality" : "Kurulu uygulamaların hiçbirinde görsel oluşturma özelliği yok",
"Text processing" : "Metin işleme",
"Text processing tasks can be implemented by different apps. Here you can set which app should be used for which task." : "Metin işleme özelliği farklı uygulamalardan sağlanabilir. Buradan, bu görev için hangi uygulamanın kullanılacağını ayarlayabilirsiniz.",
"None of your currently installed apps provide text processing functionality using the Text Processing API." : "Kurulu uygulamaların hiçbirinde Metin İşleme API uygulamasını kullanan bir metin işleme özelliği yok",
@@ -363,7 +366,7 @@
"Allow users to share via link and emails" : "Kullanıcılar bağlantı ve e-posta ile paylaşabilsin",
"Allow public uploads" : "Herkes yükleyebilsin",
"Always ask for a password" : "Her zaman parola sorulsun",
- "Enforce password protection" : "Parola koruması dayatılsın",
+ "Enforce password protection" : "Parola koruması zorunlu kılınsın",
"Exclude groups from password requirements" : "Parola gereksinimlerine katılmayacak gruplar",
"Exclude groups from creating link shares" : "Bağlantı paylaşımı oluşturamayacak gruplar",
"Allow users to set custom share link tokens" : "Kullanıcılar özel paylaşım bağlantısı kodları ayarlayabilsin",
@@ -377,18 +380,18 @@
"Groups excluded from sharing" : "Paylaşıma katılmayacak gruplar",
"Not allowed groups will still be able to receive shares, but not to initiate them." : "İzin verilmeyen gruplar paylaşımları almayı sürdürebilir ancak paylaşım yapamaz.",
"Set default expiration date for internal shares" : "İç paylaşımlar için varsayılan kullanma süresi sonunu ayarlayın",
- "Enforce expiration date" : "Geçerlilik sonu tarihi dayatılsın",
+ "Enforce expiration date" : "Geçerlilik sonu tarihi zorunlu kılınsın",
"Default expiration time of new shares in days" : "Yeni paylaşımların gün olarak varsayılan geçerlilik süresi",
"Expire shares after x days" : "Paylaşımların geçerlilik süresi x gün sonra dolsun",
"Set default expiration date for shares to other servers" : "Diğer sunuculara yapılan paylaşımlar için varsayılan geçerlilik sonu tarihi ayarlansın",
- "Enforce expiration date for remote shares" : "Uzak paylaşımlar için geçerlilik sonu tarihi dayatılsın",
+ "Enforce expiration date for remote shares" : "Uzak paylaşımlar için geçerlilik sonu tarihi zorunlu kılınsın",
"Default expiration time of remote shares in days" : "Uzak paylaşımların gün olarak varsayılan geçerlilik süresi",
"Expire remote shares after x days" : "Uzak paylaşımların geçerlilik süresi x gün sonra dolsun",
"Set default expiration date for shares via link or mail" : "Bağlantı ya da e-posta ile yapılan paylaşımlar için varsayılan geçerlilik sonu tarihini ayarlansın",
"Default expiration time of shares in days" : "Paylaşımların gün olarak varsayılan geçerlilik süresi",
"Privacy settings for sharing" : "Paylaşım için gizlilik ayarı",
"Allow account name autocompletion in share dialog and allow access to the system address book" : "Paylaşım penceresinde hesap adının otomatik tamamlanmasına ve sistem adres defterine erişilmesine izin verilsin",
- "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "\"Aynı grup\" ve \"telefon numarası bütünleştirmesi\" etkinleştirilmişse, kullanıcının görüntülenmesi için ikisinden birinde eşleşme olması yeterlidir.",
+ "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "\"Aynı grup\" ve \"telefon numarası bütünleştirmesi\" seçeneklerinin ikisi de açıksa, kullanıcının görüntülenmesi için ikisinden birinde eşleşme olması yeterlidir.",
"Restrict account name autocompletion and system address book access to users within the same groups" : "Hesap adının otomatik tamamlanması ve sistem adres defterine erişim aynı gruplardaki kullanıcılarla kısıtlansın",
"Restrict account name autocompletion to users based on phone number integration" : "Hesap adlarının telefon numarası bütünleştirmesi eşleşmelerine göre otomatik olarak tamamlanması kısıtlansın",
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tam ad ya da e-posta adresi yazılırken otomatik olarak tamamlanabilsin (aynı grupta olma ya da telefon defteri eşleşmesi yok sayılarak)",
@@ -397,15 +400,15 @@
"This text will be shown on the public link upload page when the file list is hidden." : "Dosya listesi gizliyken herkese açık bağlantı yükleme sayfasında görüntülenecek sorumluluk reddi bildirimi metnini buraya yazabilirsiniz.",
"Default share permissions" : "Varsayılan paylaşım izinleri",
"Two-Factor Authentication" : "İki adımlı doğrulama",
- "Two-factor authentication can be enforced for all accounts and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Tüm hesaplar ve belirli gruplar için iki adımlı doğrulama kullanılır. İki adımlı doğrulama hizmeti sağlayıcısını yapılandırmayan kullanıcılar oturum açamaz.",
- "Enforce two-factor authentication" : "İki adımlı doğrulama dayatılsın",
+ "Two-factor authentication can be enforced for all accounts and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Tüm hesaplar ve belirli gruplar için iki adımlı doğrulama zorunlu kılınabilir. İki adımlı doğrulama hizmeti sağlayıcısını yapılandırmayan kullanıcılar oturum açamaz.",
+ "Enforce two-factor authentication" : "İki adımlı doğrulama zorunlu kılınsın",
"Limit to groups" : "Sınırlanacak gruplar",
- "Enforcement of two-factor authentication can be set for certain groups only." : "İki adımlı doğrulama yalnızca belirli gruplar için sınırlanabilir.",
- "Two-factor authentication is enforced for all members of the following groups." : "Belirtilen grupların tüm üyeleri için iki adımlı doğrulama kullanımı zorunlu olur.",
- "Enforced groups" : "Uygulanacak gruplar",
- "Two-factor authentication is not enforced for members of the following groups." : "Belirtilen grupların tüm üyeleri için iki adımlı doğrulama kullanımı zorunlu olmaz.",
+ "Enforcement of two-factor authentication can be set for certain groups only." : "İki adımlı doğrulama yalnızca belirli gruplar için zorunlu kılınabilir.",
+ "Two-factor authentication is enforced for all members of the following groups." : "Belirtilen grupların tüm üyeleri için iki adımlı doğrulama kullanılması zorunlu kılınır.",
+ "Enforced groups" : "Zorunlu kılınacak gruplar",
+ "Two-factor authentication is not enforced for members of the following groups." : "Belirtilen grupların tüm üyeleri için iki adımlı doğrulama kullanımı zorunlu kılınmaz.",
"Excluded groups" : "Uygulanmayacak gruplar",
- "When groups are selected/excluded, they use the following logic to determine if an account has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If an account is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "Uygulanan ya da uygulanmayan gruplar belirtildiğinde, bir hesabın iki adımlı doğrulama kullanıp kullanmayacağına şu şekilde karar verilir. Herhangi bir grup belirtilmemiş ise, uygulanmayan grupların üyeleri dışındaki tüm üyeler için iki adımlı doğrulama kullanılır. Belirtilmiş gruplar varsa, uygulanan bu grupların üyeleri için iki adımlı doğrulama kullanılır. Bir hesabın hem uygulanan hem de uygulanmayan gruplarda üyeliği varsa, uygulanan grupların önceliği vardır ve iki adımlı doğrulama kullanılır.",
+ "When groups are selected/excluded, they use the following logic to determine if an account has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If an account is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "Uygulanan ya da uygulanmayan gruplar belirtildiğinde, bir hesap için iki adımlı doğrulamanın zorunlu kılınıp kılınmayacağına şu şekilde karar verilir. Herhangi bir grup belirtilmemiş ise, uygulanmayan grupların üyeleri dışındaki tüm üyeler için iki adımlı doğrulama kullanılır. Belirtilmiş gruplar varsa, uygulanan bu grupların üyeleri için iki adımlı doğrulama kullanılır. Bir hesabın hem uygulanan hem de uygulanmayan gruplarda üyeliği varsa, uygulanan grupların önceliği vardır ve iki adımlı doğrulama zorunlu kılınır.",
"Save changes" : "Değişiklikleri kaydet",
"Show details for {appName} app" : "{appName} uygulamasının ayrıntılarını görüntüle",
"Update to {update}" : "{update} sürümüne güncelle",
@@ -415,7 +418,7 @@
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Öne çıkarılmış uygulamalar topluluk tarafından geliştirilmiştir. Temel işlevleri yerine getirirler ve üretim ortamında kullanılabilirler.",
"Community rating: {score}/5" : "Topluluk değerlendirmesi: {score}/5",
"Disable all" : "Tümünü kullanımdan kaldır",
- "Download and enable all" : "İndir ve tümünü etkinleştir",
+ "Download and enable all" : "İndir ve tümünü kullanıma al",
"All apps are up-to-date." : "Tüm uygulamalar güncel",
"Icon" : "Simge",
"Name" : "Ad",
@@ -441,97 +444,6 @@
"Could not load section content from app store." : "Uygulama mağazasından bölüm içeriği yüklenemedi.",
"Loading" : "Yükleniyor",
"Fetching the latest news…" : "Son haberler alınıyor…",
- "Carousel" : "Dönme dolap",
- "Previous slide" : "Önceki slayt",
- "Next slide" : "Sonraki slayt",
- "Choose slide to display" : "Görüntülenecek slaytı seçin",
- "{index} of {total}" : "{index} / {total}",
- "Daemon" : "Arka plan işlemi",
- "Deploy Daemon" : "Dağıtım arka plan işlemi",
- "Type" : "Tür",
- "Display Name" : "Görüntülenecek ad",
- "GPUs support" : "Grafik işlemci desteği",
- "Compute device" : "Hesaplama aygıtı",
- "Advanced deploy options" : "Gelişmiş dağıtma seçenekleri",
- "Edit ExApp deploy options before installation" : "ExApp dağıtma seçeneklerini kurulumdan önce düzenleyin",
- "Configured ExApp deploy options. Can be set only during installation" : "Yapılandırılmış ExApp dağıtım seçenekleri. Yalnızca kurulum sırasında ayarlanabilir",
- "Learn more" : "Ayrıntılı bilgi alın",
- "Environment variables" : "Ortam değişkenleri",
- "ExApp container environment variables" : "ExApp kapsayıcısı ortam değişkenleri",
- "No environment variables defined" : "Herhangi bir ortam değişkeni tanımlanmamış",
- "Mounts" : "Takılanlar",
- "Define host folder mounts to bind to the ExApp container" : "ExApp kapsayıcısına takılacak sunucu klasörü bağlantılarını tanımlayın",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "ExApp kurmadan önce sunucuda dağıtım işlemi var olmalıdır",
- "Host path" : "Sunucu yolu",
- "Container path" : "Kapsayıcı yolu",
- "Read-only" : "Salt okunur",
- "Remove mount" : "Takmayı kaldır",
- "New mount" : "Yeni takma",
- "Enter path to host folder" : "Sunucu klasörünün yolunu yazın",
- "Enter path to container folder" : "Kapsayıcı klasörünün yolunu yazın",
- "Toggle read-only mode" : "Salt okunur kipi aç/kapat",
- "Confirm adding new mount" : "Yeni takma eklemeyi onayla",
- "Confirm" : "Onayla",
- "Cancel adding mount" : "Takma eklemeyi iptal et",
- "Cancel" : "İptal",
- "Add mount" : "Takma ekle",
- "ExApp container mounts" : "ExApp kapsayıcı takmaları",
- "No mounts defined" : "Herhangi bir takma tanımlanmamış",
- "Description" : "Açıklama",
- "View in store" : "Mağazada görüntüle",
- "Visit website" : "Siteye bakın",
- "Usage documentation" : "Kullanım belgeleri",
- "Admin documentation" : "Yönetici belgeleri",
- "Developer documentation" : "Geliştirici belgeleri",
- "Details" : "Ayrıntılar",
- "All" : "Tümü",
- "Limit app usage to groups" : "Uygulama kullanımı şu gruplarla sınırlansın",
- "No results" : "Herhangi bir sonuç bulunamadı",
- "Update to {version}" : "{version} sürümüne güncelle",
- "Deploy options" : "Dağıtım seçenekleri",
- "Default Deploy daemon is not accessible" : "Varsayılan dağıtım arka plan işlemine erişilemedi",
- "Delete data on remove" : "Kaldırıldığında veriler silinsin",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Bu uygulama için en düşük Nextcloud sürümü belirtilmemiş. Bu durum ileride sorun çıkarır.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Bu uygulama için en yüksek Nextcloud sürümü belirtilmemiş. Bu durum ileride sorun çıkarır.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Aşağıdaki bağımlılıklar sağlanmadığından bu uygulama kurulamıyor:",
- "Latest updated" : "Son güncellenen",
- "Author" : "İlgili",
- "Categories" : "Kategoriler",
- "Resources" : "Kaynaklar",
- "Documentation" : "Belgeler",
- "Interact" : "Ulaşın",
- "Report a bug" : "Hata bildirin",
- "Request feature" : "Özellik isteyin",
- "Ask questions or discuss" : "Soru sorun ya da tartışın",
- "Rate the app" : "Uygulamayı değerlendir",
- "Rate" : "Değerlendirin",
- "Changelog" : "Değişiklik günlüğü",
- "Google Chrome for Android" : "Android için Google Chrome",
- "{productName} iOS app" : "{productName} iOS uygulaması",
- "{productName} Android app" : "{productName} Android uygulaması",
- "{productName} Talk for iOS" : "iOS için {productName} Talk",
- "{productName} Talk for Android" : "Android için {productName} Talk",
- "Sync client" : "İstemciyi eşitle",
- "This session" : "Bu oturum",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "Aygıt adı",
- "Cancel renaming" : "Yeniden adlandırmayı iptal et",
- "Save new name" : "Yeni adı kaydet",
- "Marked for remote wipe" : "Uzaktan silme için işaretlendi",
- "Device settings" : "Aygıt ayarları",
- "Allow filesystem access" : "Dosya sistemine erişilebilsin",
- "Rename" : "Yeniden adlandır",
- "Revoke" : "Geri al",
- "Wipe device" : "Aygıtı sil",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Silme işlemi henüz başlamamış ise bu kodun geri çekilmesi aygıtınızın silinmesini engelleyebilir.",
- "Device" : "Aygıt",
- "Last activity" : "Son işlem",
- "Devices & sessions" : "Aygıt ve oturumlar",
- "Web, desktop and mobile clients currently logged in to your account." : "Şu anda hesabınıza oturum açmış internet, masaüstü ve mobil istemcileri.",
- "Error while creating device token" : "Aygıt kodu oluşturulurken sorun çıktı",
- "App name" : "Uygulama adı",
- "Create new app password" : "Yeni uygulama parolası oluştur",
"App password copied!" : "Uygulama parolası kopyalandı!",
"Copy app password" : "Uygulama parolasını kopyala",
"Login name copied!" : "Kullanıcı adı kopyalandı!",
@@ -542,7 +454,7 @@
"Use the credentials below to configure your app or device. For security reasons this password will only be shown once." : "Uygulamanızı veya aygıtınızı yapılandırmak için aşağıdaki kimlik doğrulama bilgilerini kullanın. Güvenlik nedeniyle bu parola yalnızca bir kez görüntülenecek.",
"Login" : "Oturum açın",
"Password" : "Parola",
- "Show QR code for mobile apps" : "Mobil uygulamalar için QR kodu görüntülensin",
+ "Show QR code for mobile apps" : "Mobil uygulamalar için kare kod görüntülensin",
"Use system cron service to call the cron.php file every 5 minutes." : "5 dakikada bir cron.php dosyasının çağrılması için sistem cron hizmeti kullanılsın.",
"The cron.php needs to be executed by the system account \"{user}\"." : "cron.php dosyası \"{user}\" sistem hesabı tarafından yürütülmelidir.",
"The PHP POSIX extension is required. See {linkstart}PHP documentation{linkend} for more details." : "PHP POSIX eklentisi gereklidir. Ayrıntılı bilgi almak için {linkstart}PHP belgelerine{linkend} bakabilirsiniz.",
@@ -558,227 +470,38 @@
"Cron (Recommended)" : "Cron (önerilen)",
"Unable to update profile default setting" : "Profil varsayılan ayarı güncellenemedi",
"Profile" : "Profil",
- "Enable or disable profile by default for new accounts." : "Yeni hesaplar için varsayılan olarak profilleri etkinleştir veya devre dışı bırak.",
+ "Enable or disable profile by default for new accounts." : "Yeni hesaplar için profilleri varsayılan olarak kullanıma al ya da kaldır.",
"Password confirmation is required" : "Parola onayının yazılması zorunludur",
"Failed to save setting" : "Ayar kaydedilemedi",
"{app}'s declarative setting field: {name}" : "{app} uygulamasının bildirdiği ayar alanı: {name}",
"Unable to update server side encryption config" : "Sunucu tarafı şifreleme yapılandırması güncellenemedi",
"Server-side encryption" : "Sunucu tarafı şifreleme",
- "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Sunucu tarafındaki şifreleme, sunucuya yüklenen dosyaların şifrelenebilmesini sağlar. Bu özellik genel başarımı düşürdüğünden yalnızca gerek varsa etkinleştirin.",
+ "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Sunucu tarafındaki şifreleme, sunucuya yüklenen dosyaların şifrelenebilmesini sağlar. Bu özellik genel başarımı düşürdüğünden yalnızca gerek varsa açın.",
"To encrypt all existing files run this OCC command:" : "Var olan tüm dosyaları şifrelemek için şu OCC komutunu kullanın:",
"Enable server-side encryption" : "Sunucu tarafı şifreleme kullanılsın",
"Disabling server side encryption is only possible using OCC, please refer to the documentation." : "Sunucu tarafındaki şifreleme yalnızca OCC ile kapatılabilir. Lütfen belgelere bakın.",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Herhangi bir şifreleme modülü yüklenmemiş. Lütfen uygulama menüsünden bir şifreleme modülünü etkinleştirin.",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Herhangi bir şifreleme modülü yüklenmemiş. Lütfen uygulama menüsünden bir şifreleme modülünü açın.",
"Select default encryption module:" : "Varsayılan şifreleme modülünü seçin:",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız. Lütfen \"Varsayılan şifreleme modülü\"nü etkinleştirip {command} komutunu yürütün",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız. Lütfen bir \"Varsayılan şifreleme modülü\" açıp {command} komutunu yürütün",
"Cancel encryption" : "Şifrelemeyi kapat",
"Enable encryption" : "Şifreleme kullanılsın",
"Confirm enabling encryption" : "Şifrelemeyi açmayı onayla",
- "Please read carefully before activating server-side encryption:" : "Sunucu tarafında şifrelemeyi etkinleştirmeden önce lütfen dikkatlice okuyun:",
- "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Şifreleme etkinleştirildiğinde, bu andan itibaren sunucuya yüklenen tüm dosyalar şifrelenir. Şifreleme daha sonra devre dışı bırakılmak istenirse, kullanımdaki şifreleme modülünün bu özelliği desteklemesi ve tüm ön koşulların (örneğin kurtarma anahtarı oluşturulması) yerine getirilmesi gerekir.",
+ "Please read carefully before activating server-side encryption:" : "Sunucu tarafında şifrelemeyi açmadan önce lütfen dikkatlice okuyun:",
+ "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Şifreleme açıldığında, bu andan itibaren sunucuya yüklenen tüm dosyalar şifrelenir. Şifreleme daha sonra kapatılmak istenirse, kullanımdaki şifreleme modülünün bu özelliği desteklemesi ve tüm ön koşulların (örneğin kurtarma anahtarı oluşturulması) yerine getirilmesi gerekir.",
"By default a master key for the whole instance will be generated. Please check if that level of access is compliant with your needs." : "Varsayılan olarak tüm kopya için bir ana anahtar oluşturulur. Lütfen bu erişim düzeyinin gereksinimlerinize uygun olup olmadığını kontrol edin.",
"Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Şifreleme tek başına sistemin güvenliğini garanti etmez. Lütfen şifreleme uygulamasının nasıl çalıştığı ve desteklenen kullanım şekilleri hakkında ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
"Be aware that encryption always increases the file size." : "Şifreleme işleminin dosya boyutlarını büyüteceğini unutmayın.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Verilerinizi düzenli yedekleyin ve şifreleme kullanıyorsanız şifreleme anahtarlarınızın da verilerinizle birlikte yedeklendiğinden emin olun.",
"Refer to the admin documentation on how to manually also encrypt existing files." : "Var olan dosyaların el ile nasıl şifreleneceğini öğrenmek için yönetici belgelerine bakın.",
- "This is the final warning: Do you really want to enable encryption?" : "Son uyarı: Şifrelemeyi etkinleştirmek istiyor musunuz?",
+ "This is the final warning: Do you really want to enable encryption?" : "Son uyarı: Şifrelemeyi açmak istiyor musunuz?",
+ "Failed to delete group \"{group}\"" : "\"{group}\" grubu silinemedi",
"Please confirm the group removal" : "Grubu silme işlemini onaylayın",
+ "You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "\"{group}\" grubunu silmek üzeresiniz. Hesaplar SİLİNMEYECEK.",
+ "Cancel" : "İptal",
+ "Confirm" : "Onayla",
"Submit" : "Gönder",
"Rename group" : "Grubu yeniden adlandır",
- "Current password" : "Geçerli parola",
- "New password" : "Yeni parola",
- "Change password" : "Parola değiştir",
- "Choose your profile picture" : "Profil görselinizi seçin",
- "Please select a valid png or jpg file" : "Lütfen geçerli bir png ya da jpg dosyası seçin",
- "Error setting profile picture" : "Profil görseli ayarlanırken sorun çıktı",
- "Error cropping profile picture" : "Profil görseli kırpılırken sorun çıktı",
- "Error saving profile picture" : "Profil görseli kaydediliirken sorun çıktı",
- "Error removing profile picture" : "Profil görseli kaldırılırken sorun çıktı",
- "Your profile picture" : "Profil görseliniz",
- "Upload profile picture" : "Profil görseli yükle",
- "Choose profile picture from Files" : "Dosyalar uygulamasından profil görseli seçin",
- "Remove profile picture" : "Profil görselini kaldır",
- "The file must be a PNG or JPG" : "Dosya PNG ya da JPG biçiminde olmalıdır",
- "Picture provided by original account" : "Görsel özgün hesabınız tarafından sağlanıyor",
- "Set as profile picture" : "Profil görseli olarak ayarla",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Lütfen profil görselinizin her yerde güncellenmesinin 24 saat kadar sürebileceğini unutmayın.",
- "Your biography. Markdown is supported." : "Özgeçmişiniz. Markdown kullanılabilir.",
- "Unable to update date of birth" : "Doğum tarihi güncellenemedi",
- "Enter your date of birth" : "Doğum tarihinizi yazın",
- "You are using {s}{usage}{/s}" : "{s}{usage}{/s} kullanıyorsunuz",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "{s}{usage}{/s} / {s}{totalSpace}{/s} kullanıyorsunuz ({s}%{usageRelative}{/s})",
- "You are a member of the following groups:" : "Şu gruplara üyesiniz:",
- "Your full name" : "Tam adınız",
- "Email options" : "E-posta seçenekleri",
- "Options for additional email address {index}" : "{index}. ek e-posta adresi seçenekleri",
- "Remove primary email" : "Birincil e-posta adresini sil",
- "Delete email" : "E-posta adresini sil",
- "This address is not confirmed" : "Bu adres doğrulanmamış",
- "Unset as primary email" : "Birincil e-posta işaretini kaldır",
- "Set as primary email" : "Birincil e-posta olarak ayarla",
- "Additional email address {index}" : "{index}. ek e-posta adresi",
- "Unable to delete primary email address" : "Birincil e-posta adresi silinemedi",
- "Unable to update primary email address" : "Birincil e-posta adresi güncellenemedi",
- "Unable to add additional email address" : "Ek e-posta adresi eklenemedi",
- "Unable to update additional email address" : "Ek e-posta adresi güncellenemedi",
- "Unable to delete additional email address" : "Ek e-posta adresi silinemedi",
- "Primary email for password reset and notifications" : "Parola sıfırlama ve bildirimler için birincil e-posta adresi",
- "No email address set" : "E-posta adresi belirtilmemiş",
- "Your handle" : "Kodunuz",
- "Derived from your locale ({weekDayName})" : "Yerel ayarlarınızdan alınan ({weekDayName})",
- "Unable to update first day of week" : "Haftanın ilk günü güncellenemedi",
- "Day to use as the first day of week" : "Haftanın ilk günü olarak kullanılacak gün",
- "Your headline" : "Başlığınız",
- "Unable to update language" : "Dil güncellenemedi",
- "Languages" : "Diller",
- "Help translate" : "Çeviriye yardım edin",
- "No language set" : "Herhangi bir dil ayarlanmamış",
- "Unable to update locale" : "Yerel ayar güncellenemedi",
- "Locales" : "Yerel ayarlar",
- "Week starts on {firstDayOfWeek}" : "Hafta başlangıcı: {firstDayOfWeek}",
- "No locale set" : "Herhangi bir yerel ayar seçilmemiş",
- "Your city" : "İliniz",
- "Your organisation" : "Kuruluşunuz",
- "Your phone number" : "Telefon numaranız",
- "Edit your Profile visibility" : "Profilinizin görünürlüğü değiştirin",
- "Unable to update profile enabled state" : "Profilin etkinleştirme durumu güncellenemedi",
- "Enable profile" : "Profili etkinleştir",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Profilinizde daha kısıtlayıcı olan görünürlük veya kapsam ayarına uyulur - Örneğin, görünürlük \"Herkese görüntülensin\" ve kapsam \"Özel\" olarak ayarlanmışsa, \"Özel\" seçimine uyulur.",
- "Unable to update visibility of {displayId}" : "{displayId} görünürlüğü güncellenemedi",
- "she/her" : "hanım",
- "he/him" : "bey",
- "they/them" : "kişi",
- "Your role" : "Pozisyonunuz",
- "Your X (formerly Twitter) handle" : "X (eski Twitter) kullanıcı adınız",
- "Your website" : "Sitenizin adresi",
- "Invalid value" : "Değer geçersiz",
- "Unable to update {property}" : "{property} güncellenemedi",
- "No {property} set" : "Herhangi bir {property} ayarlanmamış",
- "Change scope level of {property}, current scope is {scope}" : "{property} kapsam düzeyini değiştir. Geçerli kapsam: {scope}",
- "Unable to update federation scope of the primary {property}" : "Birincil {property} birleşik kapsamı güncellenemedi",
- "Unable to update federation scope of additional {property}" : "Ek {property} birleşik kapsamı güncellenemedi",
- "Add additional email" : "Ek e-posta adresi ekle",
- "Add" : "Ekle",
- "Create" : "Ekle",
- "Change" : "Değiştir",
- "Delete" : "Sil",
- "Reshare" : "Yeniden paylaş",
- "Default language" : "Varsayılan dil",
- "Common languages" : "Sık kullanılan diller",
- "Other languages" : "Diğer diller",
- "Password change is disabled because the master key is disabled" : "Ana anahtar devre dışı bırakıldığından parola değişikliği devre dışı bırakıldı.",
- "No accounts" : "Henüz bir hesap yok",
- "Loading accounts …" : "Hesaplar yükleniyor...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "Hesap listesi. Başarımı olumsuz etkilememek için listenin tümü görüntülenmiyor. Listede ilerledikçe diğer hesaplar görüntülenecek.",
- "Manager" : "Yönetici",
- "Set line manager" : "Satır yöneticisini ayarla",
- "Account name will be autogenerated" : "Hesap adı otomatik olarak oluşturulacak",
- "Account name (required)" : "Hesap adı (zorunlu)",
- "Failed to search groups" : "Gruplar aranamadı",
- "New account" : "Hesap ekle",
- "Display name" : "Görüntülenecek ad",
- "Either password or email is required" : "Parola ya da e-posta adresi zorunludur",
- "Password (required)" : "Parola (zorunlu)",
- "Email (required)" : "E-posta adresi (zorunlu)",
- "Email" : "E-posta",
- "Member of the following groups (required)" : "Şu grupların üyesi (zorunlu)",
- "Member of the following groups" : "Şu grupların üyesi",
- "Set account groups" : "Hesap gruplarını ayarla",
- "Admin of the following groups" : "Şu grupların yöneticisi",
- "Set account as admin for …" : "Hesabı şunun yöneticisi olarak ayarla…",
- "Quota" : "Kota",
- "Set account quota" : "Hesap kotasını ayarla",
- "Language" : "Dil",
- "Set default language" : "Varsayılan dili ayarla",
- "Add new account" : "Yeni hesap ekle",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} hesap…","{userCount} hesap…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} hesap","{userCount} hesap"],
- "Total rows summary" : "Toplam satır özeti",
- "Scroll to load more rows" : "Diğer satırları görüntülemek için aşağı kaydırın",
- "Password or insufficient permissions message" : "Parola ya da izinler yetersiz iletisi",
- "Avatar" : "Avatar",
- "Account name" : "Hesap adı",
- "Group admin for" : "Şunun grup yöneticisi",
- "Account backend" : "Hesap arka ucu",
- "Storage location" : "Depolama konumu",
- "First login" : "İlk oturum açma",
- "Last login" : "Son oturum açma",
- "Account actions" : "Hesap işlemleri",
- "{size} used" : "{size} kullanılmış",
- "Delete account" : "Hesabı sil",
- "Disconnect all devices and delete local data" : "Tüm aygıtların bağlantısını kes ve yerel verileri sil",
- "Disable account" : "Hesabı kullanımdan kaldır",
- "Enable account" : "Hesabı etkinleştir",
- "Resend welcome email" : "Karşılama e-postasını yeniden gönder",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Aygıt kaybedildiğinde ya da kuruluş ile çalışma sona erdirildiğinde, bu özellik {userid} ile ilişkili tüm aygıtlardaki Nextcloud verilerini silebilir. Bu özellik yalnızca aygıtların İnternet bağlantısı olduğunda kullanılabilir.",
- "Remote wipe of devices" : "Uzaktan aygıt temizleme",
- "Wipe {userid}'s devices" : "{userid} aygıtlarını temizle",
- "Wiped {userid}'s devices" : "{userid} kullanıcısının aygıtları silindi",
- "Failed to load groups with details" : "Gruplar ayrıntıları ile yüklenemedi",
- "Failed to load sub admin groups with details" : "Alt yönetici grupları ayrıntıları ile yüklenemedi",
- "Failed to update line manager" : "Satır yöneticisi güncellenemedi",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "{userid} için kişisel dosyalar ve uygulama verileri gibi tüm hesap bilgilerini tamamen siler",
- "Account deletion" : "Hesap silme",
- "Delete {userid}'s account" : "{userid} hesabını sil",
- "Display name was successfully changed" : "Görüntülenecek ad değiştirildi",
- "Password can't be empty" : "Parola boş olamaz",
- "Password was successfully changed" : "Parola değiştirildi",
- "Email can't be empty" : "E-posta adresi boş olamaz",
- "Email was successfully changed" : "E-posta adresi değiştirildi",
- "Welcome mail sent!" : "Karşılama e-postası gönderildi!",
- "Loading account …" : "Hesap yükleniyor…",
- "Change display name" : "Görüntülenecek adı değiştir",
- "Set new password" : "Yeni parola ayarla",
- "You do not have permissions to see the details of this account" : "Bu hesabın ayrıntılarını görüntüleme izniniz yok",
- "Set new email address" : "Yeni e-posta adresi ayarla",
- "Add account to group" : "Hesabı gruba ekle",
- "Set account as admin for" : "Hesabı şurada yönetici yap",
- "Select account quota" : "Hesap kotasını seçin",
- "Set the language" : "Dili ayarla",
- "Toggle account actions menu" : "Hesap işlemleri menüsünü aç/kapat",
- "Done" : "Tamam",
- "Edit" : "Düzenle",
- "Account management settings" : "Hesap yönetimi ayarları",
- "Visibility" : "Görünürlük",
- "Show language" : "Görüntülenecek dil",
- "Show account backend" : "Hesap arka ucu görüntülensin",
- "Show storage path" : "Depolama yolu görüntülensin",
- "Show first login" : "İlk oturum açma zamanı görüntülensin",
- "Show last login" : "Son oturum açma zamanı görüntülensin",
- "Sorting" : "Sıralama",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Sistem yapılandırması, grupların ada göre sıralanmasını zorunlu kılar. Bu aynı zamanda üye sayısının görüntülenmesini de kapatır.",
- "Group list sorting" : "Grup listesi sıralaması",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Başarımı olumsuz etkilememek için sıralama şu anda yalnızca yüklü olan gruplara uygulanıyor. Listede ilerledikçe ya da aradıkça gruplar yüklenecek.",
- "By member count" : "Üye sayısına göre",
- "By name" : "Ada göre",
- "Send email" : "E-posta gönder",
- "Send welcome email to new accounts" : "Yeni hesaplara hoş geldiniz e-postası gönderilsin",
- "Defaults" : "Varsayılanlar",
- "Default quota" : "Varsayılan kota",
- "Select default quota" : "Varsayılan kota değerini seçin",
- "Server error while trying to complete WebAuthn device registration" : "WebAuthn aygıtı kaydedilirken sunucu sorunu çıktı",
- "Passwordless authentication requires a secure connection." : "Parolasız kimlik doğrulama özelliği güvenli bir bağlantı üzerinden kullanılabilir.",
- "Add WebAuthn device" : "WebAuthn aygıtı ekle",
- "Please authorize your WebAuthn device." : "Lütfen WebAuthn aygıtınızın kimliğini doğrulayın.",
- "Adding your device …" : "Aygıtınız ekleniyor …",
- "Unnamed device" : "Adsız aygıt",
- "Passwordless Authentication" : "Parolasız kimlik doğrulaması",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Hesabınız için FIDO2 standardına uygun parolasız kimlik doğrulamasını yapılandırın.",
- "No devices configured." : "Herhangi bir aygıt yapılandırılmamış.",
- "The following devices are configured for your account:" : "Hesabınız için şu aygıtlar yapılandırılmış:",
- "Your browser does not support WebAuthn." : "Tarayıcınız WebAuthn desteklemiyor.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Yönetici olarak paylaşma davranışı ile ilgili ince ayarları yapabilirsiniz. Ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
- "You need to enable the File sharing App." : "Dosya paylaşımı uygulamasını etkinleştirmelisiniz.",
- "App Store" : "Uygulama mağazası",
- "Loading app list" : "Uygulama listesi yükleniyor",
- "Loading categories" : "Kategoriler yükleniyor",
- "Developer documentation ↗" : "Geliştirici belgeleri ↗",
- "Version {version}, {license}-licensed" : "{version} sürümü, {license} lisansı",
- "Version {version}" : "{version} sürümü",
- "All accounts" : "Tüm hesaplar",
- "Admins" : "Yöneticiler",
- "Account group: {group}" : "Hesap grubu: {group}",
- "Account management" : "Hesap yönetimi",
+ "Delete group" : "Grubu sil",
"Sending…" : "Gönderiliyor …",
"Email sent" : "E-posta gönderildi",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Bir Nextcloud sunucusunda şifrelemeyi açtığınızda, başarımı korumak için yalnızca yeni ve değiştirilen dosyalar şifrelenir.",
@@ -788,6 +511,7 @@
"Date of birth" : "Doğum tarihi",
"Full name" : "Tam ad",
"Additional email" : "Ek e-posta",
+ "Email" : "E-posta",
"Fediverse (e.g. Mastodon)" : "Fediverse (Mastodon gibi)",
"Headline" : "Başlık",
"Organisation" : "Kuruluş",
@@ -797,6 +521,7 @@
"X (formerly Twitter)" : "X (eski Twitter)",
"Website" : "Site",
"Profile visibility" : "Profil görünürlüğü",
+ "Language" : "Dil",
"Locale" : "Yerel Ayar",
"First day of week" : "Haftanın ilk günü",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Bu özellik, dosya paylaşımı ve takvim davetleri gibi temel işlevler için gerekli olduğundan kullanılamıyor",
@@ -804,8 +529,8 @@
"Not available as publishing account specific data to the lookup server is not allowed, contact your system administration if you have any questions" : "Hesaba özel verilerin arama sunucusunda yayınlanmasına izin verilmediğinden kullanılamıyor. Herhangi bir sorunuz varsa sistem yönetimi ile görüşün.",
"Discover" : "Keşfedin",
"Your apps" : "Uygulamalarınız",
- "Active apps" : "Etkin uygulamalar",
- "Disabled apps" : "Devre dışı uygulamalar",
+ "Active apps" : "Kullanıma alınmış uygulamalar",
+ "Disabled apps" : "Kullanımdan kaldırılmış uygulamalar",
"Updates" : "Güncellemeler",
"App bundles" : "Uygulama Paketleri",
"Featured apps" : "Öne çıkarılmış uygulamalar",
@@ -814,24 +539,26 @@
"Show to logged in accounts only" : "Yalnızca oturum açmış hesaplara görüntülensin",
"Hide" : "Gizlensin",
"Manually installed apps cannot be updated" : "El ile kurulmuş uygulamalar güncellenemez",
+ "Update to {version}" : "{version} sürümüne güncelle",
"{progress}% Deploying …" : "Dağıtılıyor %{progress}…",
"{progress}% Initializing …" : "Hazırlanıyor %{progress}…",
"Health checking" : "Sağlık denetimi",
- "Deploy and Enable" : "Dağıt ve Etkinleştir",
- "Download and enable" : "İndir ve etkinleştir",
+ "Deploy and Enable" : "Dağıt ve kullanıma al",
+ "Download and enable" : "İndir ve kullanıma al",
"Disable" : "Kullanımdan kaldır",
"Allow untested app" : "Denenmemiş uygulamalar kullanılabilsin",
"The app will be downloaded from the App Store" : "Uygulama uygulama mağazasından indirilecek",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Bu uygulamanın kullandığınız Nextcloud sürümü ile uyumluluğu denetlenmemiş. İşlemi sürdürerek uygulamayı kurabilirsiniz. Ancak uygulama beklendiği gibi çalışmayabilir.",
+ "{size} used" : "{size} kullanılmış",
"Unknown" : "Bilinmiyor",
"Never" : "Asla",
"Could not register device: Network error" : "Aygıt kaydedilemedi: Ağ sorunu",
"Could not register device: Probably already registered" : "Aygıt kaydedilemedi: Büyük olasılıkla zaten kayıtlı",
"Could not register device" : "Aygıt kaydedilemedi",
"An error occurred during the request. Unable to proceed." : "İstek sırasında bir sorun çıktı. İşlem sürdürülemiyor.",
- "The app has been enabled but needs to be updated." : "Uygulama etkinleştirildi ancak güncellenmesi gerekiyor.",
- "Error: This app cannot be enabled because it makes the server unstable" : "Hata: Bu uygulama sunucuda kararsızlığa yol açtığından etkinleştirilemez",
- "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Uygulama etkinleştirildi fakat güncellenmesi gerekiyor. 5 saniye içinde güncelleme sayfasına yönlendirileceksiniz.",
+ "The app has been enabled but needs to be updated." : "Uygulama kullanıma alındı ancak güncellenmesi gerekiyor.",
+ "Error: This app cannot be enabled because it makes the server unstable" : "Hata: Bu uygulama sunucuda kararsızlığa yol açtığından kullanıma alınamaz",
+ "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Uygulama kullanıma alındı fakat güncellenmesi gerekiyor. 5 saniye içinde güncelleme sayfasına yönlendirileceksiniz.",
"Do you really want to wipe your data from this device?" : "Bu aygıt üzerindeki verilerinizi silmek istediğinize emin misiniz?",
"Confirm wipe" : "Silmeyi onayla",
"Could not delete the app token" : "Uygulama kodu silinemedi",
@@ -841,8 +568,10 @@
"Could not set group sorting" : "Grup sıralaması ayarlanamadı",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Ağınızdan çok fazla istekte bulunuldu. Bir süre sonra yeniden deneyin ya da bir sorun olduğunu düşünüyorsanız BT yöneticiniz ile görüşün.",
"Error" : "Hata",
+ "Default quota" : "Varsayılan kota",
"Account documentation" : "Hesap belgeleri",
"Administration documentation" : "Yönetim belgeleri",
+ "Documentation" : "Belgeler",
"Forum" : "Forum",
"Nextcloud help & privacy resources" : "Nextcloud yardım ve gizlilik kaynakları",
"General documentation" : "Genel belgeler",
@@ -865,6 +594,7 @@
"SMTP Password" : "SMTP parolası",
"Save" : "Kaydet",
"Test and verify email settings" : "E-posta ayarlarını sınayın ve doğrulayın",
+ "Send email" : "E-posta gönder",
"Security & setup warnings" : "Güvenlik ve kurulum uyarıları",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Kopyanızın güvenli ve yüksek başarımla çalışması için ayarların doğru yapılmış olması önemlidir. Bunu sağlamak için bazı otomatik denetimler yapılır. Ayrıntılı bilgi almak için İpuçları bölümüne ve belgelere bakın.",
"All checks passed." : "Tüm denetimlerden geçti.",
@@ -882,19 +612,16 @@
"Subscribe to our newsletter" : "Bültenimize abone olun",
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Bu Nextcloud topluluk sürümü desteklenmiyor ve anlık bildirimler kullanılamıyor.",
"Use a second factor besides your password to increase security for your account." : "Parolanızın yanında ikinci bir doğrulama kullanarak hesabınızın güvenliğini arttırabilirsiniz.",
- "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Nextcloud bağlantısı kurmak için üçüncü taraf uygulamaları kullanıyorsanız, lütfen iki adımlı doğrulamayı etkinleştirmeden önce her biri için bir uygulama parolası oluşturduğunuzdan ve yapılandırdığınızdan emin olun.",
+ "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "Nextcloud bağlantısı kurmak için üçüncü taraf uygulamaları kullanıyorsanız, lütfen iki adımlı doğrulamayı açmadan önce her biri için bir uygulama parolası oluşturduğunuzdan ve yapılandırdığınızdan emin olun.",
"Logged in account must be a subadmin" : "Oturum açmış hesap bir alt yönetici olmalıdır",
"To allow this check to run you have to make sure that your Web server can connect to itself. Therefore it must be able to resolve and connect to at least one of its `trusted_domains` or the `overwrite.cli.url`. This failure may be the result of a server-side DNS mismatch or outbound firewall rule." : "Bu denetimi çalıştırabilmek için site sunucunuzun kendisine bağlanabildiğinden emin olmanız gerekir. Bu nedenle, `trusted_domains` ya da `overwrite.cli.url` değerlerinden en az birini çözümleyebilmeli ve bunlara bağlanabilmelidir. Bu sorun, sunucu tarafındaki bir DNS uyumsuzluğunun veya giden güvenlik duvarı kuralının sonucu olabilir.",
"File locking" : "Dosya kilitleme",
- "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "İşlemsel dosya kilidi devre dışı. Bu durum yarış koşullarında (race condition) sorun çıkarabilir. Bu sorunlardan kaçınmak için config.php dosyasındaki \"filelocking.enabled\" seçeneğini etkinleştirin.",
+ "Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems." : "İşlemsel dosya kilidi kapalı. Bu durum yarış koşullarında (race condition) sorun çıkarabilir. Bu sorunlardan kaçınmak için config.php dosyasındaki \"filelocking.enabled\" seçeneğini açın.",
"The PHP memory limit is below the recommended value of %s." : "PHP bellek sınırı önerilen %s değerinden küçük.",
"for WebAuthn passwordless login" : "WebAuthn parolasız oturum açma için",
"for WebAuthn passwordless login, and SFTP storage" : "WebAuthn parolasız oturum açma ve SFTP depolama alanı için",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "`%1$s` HTTP üst bilgisinde `%2$s` bulunmuyor. Bu durum olası bir güvenlik ya da gizlilik riski oluşturduğundan bu ayarın belirtildiği gibi yapılması önerilir.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL \"%s\" sürümü bulundu. Bu Nextcloud sürümüyle en iyi başarım, kararlılık ve işlevsellik sağlamak için PostgreSQL sürümünün 12 ile 16 arasında olması önerilir.",
- "Set default expiration date for shares" : "Paylaşımlar için varsayılan geçerlilik süresi sonu ayarlansın",
- "Your biography" : "Özgeçmişiniz",
- "You are using <strong>{usage}</strong>" : "<strong>{usage}</strong> kullanıyorsunuz",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "<strong>{usage}</strong> / <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>) kullanıyorsunuz",
- "Failed to load subadmin groups with details" : "Alt yönetici grupları ayrıntıları ile yüklenemedi"
+ "Set default expiration date for shares" : "Paylaşımlar için varsayılan geçerlilik süresi sonu ayarlansın"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ug.js b/apps/settings/l10n/ug.js
index e5150d0e730..62ad2c3ddd7 100644
--- a/apps/settings/l10n/ug.js
+++ b/apps/settings/l10n/ug.js
@@ -271,7 +271,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP ماۋزۇلىرى",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- \"%1 $ s\" HTTP ماۋزۇسى%2 $ s قىلىپ تەڭشەلمىدى. بۇ ئىقتىدارنى مۇۋاپىق تەڭشەش تەۋسىيە قىلىنغانلىقتىن ، بەزى ئىقتىدارلار نورمال ئىشلىمەسلىكى مۇمكىن.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- \"%1 $ s\" HTTP ماۋزۇسى%2 $ s قىلىپ تەڭشەلمىدى. بۇ تەڭشەكنى ماس ھالدا تەڭشەش تەۋسىيە قىلىنغانلىقتىن ، بۇ يوشۇرۇن بىخەتەرلىك ياكى مەخپىيەتلىك خەۋىپى.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "-%1 $ s` HTTP ماۋزۇسىدا%2 $ s` يوق. بۇ تەڭشەكنى ماس ھالدا تەڭشەش تەۋسىيە قىلىنغانلىقتىن ، بۇ يوشۇرۇن بىخەتەرلىك ياكى مەخپىيەتلىك خەۋىپى.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- \"%1 $ s\" HTTP بەت بېشى \"%2 $ s\" ، \"%3 $ s\" ، \"%4 $ s\" ، \"%5 $ s\" ياكى \"%6 $ s\" قىلىپ بېكىتىلمىگەن. بۇ رېفېراندۇم ئۇچۇرلىرىنى ئاشكارىلىشى مۇمكىن. {w3c-recommendation}-recommendation}- تەۋسىيە} گە قاراڭ.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- «قاتتىق قاتناش-بىخەتەرلىك» HTTP ماۋزۇسى كەم دېگەندە% d` سېكۇنت قىلىپ بېكىتىلمىگەن (ھازىرقى قىممىتى:% d`). بىخەتەرلىكنى كۈچەيتىش ئۈچۈن ، ئۇزۇن HSTS سىياسىتىنى ئىشلىتىش تەۋسىيە قىلىنىدۇ.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- \"قاتتىق-قاتناش-بىخەتەرلىك\" HTTP ماۋزۇسى خاتا: \"% s\". كۈچەيتىلگەن بىخەتەرلىك ئۈچۈن ، HSTS نى قوزغىتىش تەۋسىيە قىلىنىدۇ.",
@@ -408,73 +407,6 @@ OC.L10N.register(
"Could not load section content from app store." : "ئەپ دۇكىنىدىن بۆلەك مەزمۇنىنى يۈكلىيەلمىدى.",
"Loading" : "يۈكلەۋاتىدۇ",
"Fetching the latest news…" : "ئەڭ يېڭى خەۋەرلەرگە ئېرىشىش…",
- "Carousel" : "Carousel",
- "Previous slide" : "ئالدىنقى تام تەسۋىر",
- "Next slide" : "كېيىنكى تام تەسۋىر",
- "Choose slide to display" : "كۆرسىتىش ئۈچۈن تام تەسۋىرنى تاللاڭ",
- "{index} of {total}" : "{index} of {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Daemon نى ئورۇنلاشتۇرۇڭ",
- "Type" : "تىپ",
- "Display Name" : "كۆرسىتىش ئىسمى",
- "GPUs support" : "GPUs نى قوللايدۇ",
- "Compute device" : "ھېسابلاش ئۈسكۈنىسى",
- "Confirm" : "جەزملەشتۈرۈڭ",
- "Cancel" : "ۋاز كەچ",
- "Description" : "چۈشەندۈرۈش",
- "View in store" : "دۇكاندا كۆرۈش",
- "Visit website" : "توربېكەتنى زىيارەت قىلىڭ",
- "Usage documentation" : "ئىشلىتىش ھۆججىتى",
- "Admin documentation" : "باشقۇرغۇچى ھۆججەتلىرى",
- "Developer documentation" : "ئاچقۇچىلار ھۆججىتى",
- "Details" : "تەپسىلاتى",
- "All" : "ھەممىسى",
- "Limit app usage to groups" : "گۇرۇپپىلارغا ئەپ ئىشلىتىشنى چەكلەڭ",
- "No results" : "ھېچقانداق نەتىجە يوق",
- "Update to {version}" : "{version}غا يېڭىلاش",
- "Default Deploy daemon is not accessible" : "سۈكۈتتىكى ئورۇنلاشتۇرۇش daemon نى زىيارەت قىلغىلى بولمايدۇ",
- "Delete data on remove" : "ئۆچۈرۈش ھەققىدىكى سانلىق مەلۇماتلارنى ئۆچۈرۈڭ",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "بۇ ئەپنىڭ ئەڭ تۆۋەن Nextcloud نەشرى يوق. بۇ كەلگۈسىدە خاتالىق بولىدۇ.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "بۇ ئەپنىڭ ئەڭ چوڭ Nextcloud نەشرى بېكىتىلمىگەن. بۇ كەلگۈسىدە خاتالىق بولىدۇ.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "تۆۋەندىكى باغلىنىشلار ئەمەلگە ئاشمىغاچقا ، بۇ دېتالنى قاچىلىغىلى بولمايدۇ:",
- "Latest updated" : "ئەڭ يېڭى يېڭىلاندى",
- "Author" : "ئاپتور",
- "Categories" : "سەھىپىلەر",
- "Resources" : "بايلىق",
- "Documentation" : "قوللانما",
- "Interact" : "Interact",
- "Report a bug" : "خاتالىق مەلۇم قىلىڭ",
- "Request feature" : "تەلەپ قىلىش ئىقتىدارى",
- "Ask questions or discuss" : "سوئال سوراڭ ياكى مۇلاھىزە قىلىڭ",
- "Rate the app" : "ئەپكە باھا بېرىڭ",
- "Rate" : "باھا",
- "Changelog" : "Changelog",
- "Google Chrome for Android" : "ئاندىرويىد ئۈچۈن Google Chrome",
- "{productName} iOS app" : "{productName} iOS دېتالى",
- "{productName} Android app" : "{productName} Android ئەپ",
- "{productName} Talk for iOS" : "{productName} iOS iOS ئۈچۈن پاراڭ",
- "{productName} Talk for Android" : "{productName} Android ئاندىرويىد ئۈچۈن پاراڭ",
- "Sync client" : "ماس قەدەملىك خېرىدار",
- "This session" : "بۇ يىغىن",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "ئۈسكۈنىنىڭ ئىسمى",
- "Cancel renaming" : "ئىسىم ئۆزگەرتىشنى ئەمەلدىن قالدۇرۇڭ",
- "Save new name" : "يېڭى ئىسىمنى ساقلاڭ",
- "Marked for remote wipe" : "يىراقتىن سۈرتۈشكە بەلگە قويۇلغان",
- "Device settings" : "ئۈسكۈنىنىڭ تەڭشىكى",
- "Allow filesystem access" : "ھۆججەت سىستېمىسىنىڭ زىيارەت قىلىشىغا يول قويۇڭ",
- "Rename" : "ئات ئۆزگەرت",
- "Revoke" : "بىكار قىلىش",
- "Wipe device" : "ئۈسكۈنىنى سۈرتۈڭ",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "بۇ بەلگە ئەمەلدىن قالدۇرۇلسا ئۈسكۈنىڭىزنىڭ سۈرتۈلۈشىنىڭ ئالدىنى ئالىدۇ.",
- "Device" : "ئۈسكۈنە",
- "Last activity" : "ئاخىرقى پائالىيەت",
- "Devices & sessions" : "ئۈسكۈنىلەر ۋە ئولتۇرۇشلار",
- "Web, desktop and mobile clients currently logged in to your account." : "تور ، ئۈستەل يۈزى ۋە كۆچمە خېرىدارلار ھازىر ھېساباتىڭىزغا كىردى.",
- "Error while creating device token" : "ئۈسكۈنە بەلگىسىنى قۇرغاندا خاتالىق",
- "App name" : "ئەپ ئىسمى",
- "Create new app password" : "يېڭى ئەپ پارولى قۇر",
"App password copied!" : "ئەپ پارولى كۆچۈرۈلدى!",
"Copy app password" : "ئەپ پارولىنى كۆچۈرۈڭ",
"Login name copied!" : "كىرىش ئىسمى كۆچۈرۈلدى!",
@@ -519,190 +451,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "شىفىرلانغان ئەھۋال ئاستىدا شىفىرلاش كۇنۇپكىسىنى سانلىق مەلۇماتلىرىڭىز بىلەن بىللە زاپاسلاشنى جەزملەشتۈرۈڭ.",
"This is the final warning: Do you really want to enable encryption?" : "بۇ ئاخىرقى ئاگاھلاندۇرۇش: مەخپىيلەشتۈرۈشنى قوزغىتىشنى خالامسىز؟",
"Please confirm the group removal" : "گۇرۇپپا ئۆچۈرۈلگەنلىكىنى جەزملەشتۈرۈڭ",
+ "Cancel" : "ۋاز كەچ",
+ "Confirm" : "جەزملەشتۈرۈڭ",
"Submit" : "يوللاڭ",
"Rename group" : "گۇرۇپپىنىڭ نامىنى ئۆزگەرتىش",
- "Current password" : "نۆۋەتتىكى ئىم",
- "New password" : "يېڭى ئىم",
- "Change password" : "ئىم ئۆزگەرت",
- "Choose your profile picture" : "ئارخىپ رەسىمىڭىزنى تاللاڭ",
- "Please select a valid png or jpg file" : "ئىناۋەتلىك png ياكى jpg ھۆججىتىنى تاللاڭ",
- "Error setting profile picture" : "ئارخىپ رەسىمىنى تەڭشەشتە خاتالىق",
- "Error cropping profile picture" : "ئارخىپ رەسىمىنى كېسىشتە خاتالىق",
- "Error saving profile picture" : "ئارخىپ رەسىمىنى ساقلاشتا خاتالىق",
- "Error removing profile picture" : "ئارخىپ رەسىمىنى ئۆچۈرۈشتە خاتالىق",
- "Your profile picture" : "ئارخىپ رەسىمىڭىز",
- "Upload profile picture" : "ئارخىپ رەسىمىنى يۈكلەڭ",
- "Choose profile picture from Files" : "ھۆججەتلەردىن ئارخىپ رەسىمىنى تاللاڭ",
- "Remove profile picture" : "ئارخىپ رەسىمىنى ئۆچۈرۈڭ",
- "The file must be a PNG or JPG" : "ھۆججەت چوقۇم PNG ياكى JPG بولۇشى كېرەك",
- "Picture provided by original account" : "رەسىم ئەسلى ھېسابات بىلەن تەمىنلەنگەن",
- "Set as profile picture" : "ئارخىپ رەسىمى قىلىپ تەڭشەڭ",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "شۇنىڭغا دىققەت قىلىڭكى ، ئارخىپ رەسىمىڭىزنىڭ ھەممە يەردە يېڭىلىنىشى ئۈچۈن 24 سائەت ۋاقىت كېتىدۇ.",
- "Unable to update date of birth" : "تۇغۇلغان ۋاقتىنى يېڭىلاشقا ئامالسىز",
- "Enter your date of birth" : "تۇغۇلغان ۋاقتىڭىزنى كىرگۈزۈڭ",
- "You are using {s}{usage}{/s}" : "سىز {s} {usage} {/s} نى ئىشلىتىۋاتىسىز",
- "You are a member of the following groups:" : "سىز تۆۋەندىكى گۇرۇپپىلارنىڭ ئەزاسى:",
- "Your full name" : "تولۇق ئىسمىڭىز",
- "Email options" : "ئېلېكترونلۇق خەت تاللانمىلىرى",
- "Options for additional email address {index}" : "قوشۇمچە ئېلېكترونلۇق خەت ئادرېسى {index}",
- "Remove primary email" : "دەسلەپكى ئېلېكترونلۇق خەتنى ئۆچۈرۈڭ",
- "Delete email" : "ئېلېكترونلۇق خەتنى ئۆچۈرۈڭ",
- "This address is not confirmed" : "بۇ ئادرېس جەزملەشتۈرۈلمىدى",
- "Unset as primary email" : "دەسلەپكى ئېلېكترونلۇق خەت سۈپىتىدە تەڭشەڭ",
- "Set as primary email" : "دەسلەپكى ئېلېكترونلۇق خەت قىلىپ تەڭشەڭ",
- "Additional email address {index}" : "قوشۇمچە ئېلخەت ئادرېسى {index}",
- "Unable to delete primary email address" : "دەسلەپكى ئېلېكترونلۇق خەت ئادرېسىنى ئۆچۈرەلمىدى",
- "Unable to update primary email address" : "دەسلەپكى ئېلېكترونلۇق خەت ئادرېسىنى يېڭىلاشقا ئامالسىز",
- "Unable to add additional email address" : "قوشۇمچە ئېلېكترونلۇق خەت ئادرېسىنى قوشالمىدى",
- "Unable to update additional email address" : "قوشۇمچە ئېلېكترونلۇق خەت ئادرېسىنى يېڭىلاشقا ئامالسىز",
- "Unable to delete additional email address" : "قوشۇمچە ئېلېكترونلۇق خەت ئادرېسىنى ئۆچۈرەلمىدى",
- "Primary email for password reset and notifications" : "پارولنى ئەسلىگە كەلتۈرۈش ۋە ئۇقتۇرۇش ئۈچۈن دەسلەپكى ئېلېكترونلۇق خەت",
- "No email address set" : "ئېلېكترونلۇق خەت ئادرېسى يوق",
- "Your handle" : "قولىڭىز",
- "Derived from your locale ({weekDayName})" : "يەرلىكتىن كەلگەن ({weekDayName})",
- "Unable to update first day of week" : "ھەپتىنىڭ بىرىنچى كۈنى يېڭىلانمىدى",
- "Day to use as the first day of week" : "ھەپتىنىڭ بىرىنچى كۈنى سۈپىتىدە ئىشلىتىدىغان كۈن",
- "Your headline" : "ماۋزۇ",
- "Unable to update language" : "تىلنى يېڭىلاشقا ئامالسىز",
- "Languages" : "تىللار",
- "Help translate" : "تەرجىمىگە ياردەم",
- "No language set" : "تىل يوق",
- "Unable to update locale" : "يەرلىكنى يېڭىلاشقا ئامالسىز",
- "Locales" : "Locales",
- "Week starts on {firstDayOfWeek}" : "ھەپتە {firstDayOfWeek} on دا باشلىنىدۇ",
- "No locale set" : "يەرلىك ئورۇن يوق",
- "Your city" : "شەھىرىڭىز",
- "Your organisation" : "تەشكىلاتىڭىز",
- "Your phone number" : "تېلېفون نومۇرىڭىز",
- "Edit your Profile visibility" : "ئارخىپىڭىزنىڭ كۆرۈنۈشچانلىقىنى تەھرىرلەڭ",
- "Unable to update profile enabled state" : "ئارخىپ قوزغىتىلغان ھالەتنى يېڭىلاشقا ئامالسىز",
- "Enable profile" : "ئارخىپنى قوزغىتىڭ",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "كۆرۈنۈش ياكى دائىرىنىڭ تېخىمۇ چەكلىمىگە ئۇچرايدىغان تەڭشىكى ئارخىپىڭىزغا ھۆرمەت قىلىنىدۇ. مەسىلەن ، كۆرۈنۈشچانلىقى «ھەممەيلەنگە كۆرسىتىش» قىلىپ بېكىتىلسە ، دائىرىسى «شەخسىي» قىلىپ بېكىتىلسە ، «شەخسىي» ھۆرمەت قىلىنىدۇ.",
- "Unable to update visibility of {displayId}" : "{displayId} vis نىڭ كۆرۈنۈشچانلىقىنى يېڭىلاشقا ئامالسىز",
- "she/her" : "she / her",
- "he/him" : "he / him",
- "they/them" : "ئۇلار / ئۇلار",
- "Your role" : "سىزنىڭ رولىڭىز",
- "Your X (formerly Twitter) handle" : "سىزنىڭ X (ئىلگىرىكى Twitter) تۇتقۇچى",
- "Your website" : "تور بېتىڭىز",
- "Invalid value" : "ئىناۋەتسىز قىممەت",
- "Unable to update {property}" : "يېڭىلاشقا ئامالسىز {property}",
- "No {property} set" : "No {property} set",
- "Change scope level of {property}, current scope is {scope}" : "دائىرە دەرىجىسىنى ئۆزگەرتىش {property} ، نۆۋەتتىكى دائىرە {scope}",
- "Unable to update federation scope of the primary {property}" : "دەسلەپكى {property} فېدېراتسىيە دائىرىسىنى يېڭىلاشقا ئامالسىز",
- "Unable to update federation scope of additional {property}" : "قوشۇمچە {property} فېدېراتسىيە دائىرىسىنى يېڭىلاشقا ئامالسىز",
- "Add additional email" : "قوشۇمچە ئېلېكترونلۇق خەت قوشۇڭ",
- "Add" : "قوش",
- "Create" : "قۇر",
- "Change" : "ئۆزگەرتىش",
- "Delete" : "ئۆچۈر",
- "Reshare" : "قايتا قۇرۇش",
- "Default language" : "كۆڭۈلدىكى تىل",
- "Common languages" : "ئورتاق تىل",
- "Other languages" : "باشقا تىللار",
- "Password change is disabled because the master key is disabled" : "ئاساسىي ئاچقۇچ چەكلەنگەنلىكتىن پارول ئۆزگەرتىش چەكلەنگەن",
- "No accounts" : "ھېسابات يوق",
- "Loading accounts …" : "ھېسابات يۈكلەۋاتىدۇ…",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "ھېسابات تىزىملىكى. بۇ تىزىملىك ئىقتىدار سەۋەبىدىن تولۇق كۆرسىتىلمىگەن. ھېساباتلار تىزىملىكتىن ئۆتكەندە كۆرسىتىلىدۇ.",
- "Manager" : "باشقۇرغۇچى",
- "Set line manager" : "قۇر باشقۇرغۇچىنى بەلگىلەڭ",
- "Account name will be autogenerated" : "ھېسابات ئىسمى ئاپتوماتىك بولىدۇ",
- "Account name (required)" : "ھېسابات ئىسمى (تەلەپ)",
- "New account" : "يېڭى ھېسابات",
- "Display name" : "كۆرسىتىش ئىسمى",
- "Either password or email is required" : "پارول ياكى ئېلېكترونلۇق خەت تەلەپ قىلىنىدۇ",
- "Password (required)" : "پارول (تەلەپ)",
- "Email (required)" : "ئېلخەت (تەلەپ)",
- "Email" : "تورخەت",
- "Member of the following groups (required)" : "تۆۋەندىكى گۇرۇپپىلارنىڭ ئەزاسى (تەلەپ قىلىنىدۇ)",
- "Member of the following groups" : "تۆۋەندىكى گۇرۇپپىلارنىڭ ئەزاسى",
- "Set account groups" : "ھېسابات گۇرۇپپىسىنى بەلگىلەڭ",
- "Admin of the following groups" : "تۆۋەندىكى گۇرۇپپىلارنىڭ باشقۇرغۇچىسى",
- "Set account as admin for …" : "ھېساباتنى باشقۇرغۇچى قىلىپ تەڭشەڭ…",
- "Quota" : "Quota",
- "Set account quota" : "ھېسابات نورمىسىنى بەلگىلەڭ",
- "Language" : "تىل",
- "Set default language" : "سۈكۈتتىكى تىل بەلگىلەڭ",
- "Add new account" : "يېڭى ھېسابات قوشۇڭ",
- "Total rows summary" : "ئومۇمىي قۇر خۇلاسىسى",
- "Scroll to load more rows" : "تېخىمۇ كۆپ قۇرلارنى يۈكلەڭ",
- "Password or insufficient permissions message" : "پارول ياكى يېتەرلىك ئىجازەت ئۇچۇرى",
- "Avatar" : "Avatar",
- "Account name" : "ھېسابات ئىسمى",
- "Group admin for" : "گۇرۇپپا باشقۇرغۇچى",
- "Account backend" : "ھېسابات ئارقا سۇپىسى",
- "Storage location" : "ساقلاش ئورنى",
- "Last login" : "ئاخىرقى كىرىش",
- "Account actions" : "ھېسابات ھەرىكىتى",
- "{size} used" : "{size} ئىشلىتىلگەن",
- "Delete account" : "ھېساباتنى ئۆچۈرۈڭ",
- "Disconnect all devices and delete local data" : "بارلىق ئۈسكۈنىلەرنى ئۈزۈۋېتىڭ ۋە يەرلىك سانلىق مەلۇماتلارنى ئۆچۈرۈڭ",
- "Disable account" : "ھېساباتنى چەكلەش",
- "Enable account" : "ھېساباتنى قوزغىتىش",
- "Resend welcome email" : "قارشى ئالىدىغان ئېلېكترونلۇق خەتنى ئەۋەتىڭ",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "ئۈسكۈنە يۈتۈپ كەتسە ياكى تەشكىلاتتىن چىقسا ، بۇ {userid} associated غا مۇناسىۋەتلىك بارلىق ئۈسكۈنىلەردىن Nextcloud سانلىق مەلۇماتلىرىنى يىراقتىن ئۆچۈرەلەيدۇ. ئۈسكۈنىلەر تورغا ئۇلانغاندىلا ئىشلەيدۇ.",
- "Remote wipe of devices" : "ئۈسكۈنىلەرنى يىراقتىن سۈرتۈش",
- "Wipe {userid}'s devices" : "{userid} ئۈسكۈنىلىرىنى ئۆچۈرۈڭ",
- "Wiped {userid}'s devices" : "{userid} ئۈسكۈنىلىرىنى ئۆچۈرۈۋەتتى",
- "Failed to update line manager" : "قۇر باشقۇرغۇچىنى يېڭىلاش مەغلۇب بولدى",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "{userid} account نىڭ بارلىق شەخسىي ھۆججەتلىرى ، ئەپ سانلىق مەلۇماتلىرى قاتارلىقلارنى ئۆز ئىچىگە ئالىدۇ.",
- "Account deletion" : "ھېسابات ئۆچۈرۈش",
- "Delete {userid}'s account" : "{userid} account نىڭ ھېساباتىنى ئۆچۈرۈڭ",
- "Display name was successfully changed" : "كۆرسىتىش ئىسمى مۇۋەپپەقىيەتلىك ئۆزگەرتىلدى",
- "Password was successfully changed" : "پارول مۇۋەپپەقىيەتلىك ئۆزگەرتىلدى",
- "Email was successfully changed" : "ئېلېكترونلۇق خەت مۇۋەپپەقىيەتلىك ئۆزگەرتىلدى",
- "Welcome mail sent!" : "ئەۋەتىلگەن خەتنى قارشى ئالىمىز!",
- "Loading account …" : "ھېسابات يۈكلەۋاتىدۇ…",
- "Change display name" : "كۆرسىتىش نامىنى ئۆزگەرتىڭ",
- "Set new password" : "يېڭى پارول بەلگىلەڭ",
- "You do not have permissions to see the details of this account" : "بۇ ھېساباتنىڭ تەپسىلاتلىرىنى كۆرۈش ھوقۇقىڭىز يوق",
- "Set new email address" : "يېڭى ئېلېكترونلۇق خەت ئادرېسىنى بەلگىلەڭ",
- "Add account to group" : "گۇرۇپپىغا ھېسابات قوشۇڭ",
- "Set account as admin for" : "ھېساباتنى باشقۇرغۇچى قىلىپ بەلگىلەڭ",
- "Select account quota" : "ھېسابات نورمىسىنى تاللاڭ",
- "Set the language" : "تىل بەلگىلەڭ",
- "Toggle account actions menu" : "ھېسابات ھەرىكەت تىزىملىكى",
- "Done" : "Done",
- "Edit" : "تەھرىر",
- "Account management settings" : "ھېسابات باشقۇرۇش تەڭشەكلىرى",
- "Visibility" : "كۆرۈنۈشچانلىقى",
- "Show language" : "تىل كۆرسەت",
- "Show account backend" : "ھېسابات ئارقا كۆرۈنۈشىنى كۆرسەت",
- "Show storage path" : "ساقلاش يولىنى كۆرسەت",
- "Show last login" : "ئاخىرقى كىرىشنى كۆرسەت",
- "Sorting" : "تەرتىپلەش",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "سىستېما سەپلىمىسى گۇرۇپپىلارنى ئىسىم بويىچە رەتلەشنى ئىجرا قىلىدۇ. بۇمۇ ئەزا سانىنى كۆرسىتىشنى چەكلەيدۇ.",
- "Group list sorting" : "گۇرۇپپا تىزىملىكىنى رەتلەش",
- "By member count" : "ئەزا سانى بويىچە",
- "By name" : "ئىسمى بىلەن",
- "Send email" : "ئېلېكترونلۇق خەت ئەۋەتىڭ",
- "Send welcome email to new accounts" : "يېڭى ھېساباتلارغا قارشى ئېلخەت ئەۋەتىڭ",
- "Defaults" : "سۈكۈت",
- "Default quota" : "سۈكۈتتىكى نورما",
- "Select default quota" : "سۈكۈتتىكى نورمىنى تاللاڭ",
- "Server error while trying to complete WebAuthn device registration" : "WebAuthn ئۈسكۈنىسىنى تىزىملاشنى تاماملىغاندا مۇلازىمېتىر خاتالىقى",
- "Passwordless authentication requires a secure connection." : "پارولسىز دەلىللەش بىخەتەر ئۇلىنىشنى تەلەپ قىلىدۇ.",
- "Add WebAuthn device" : "WebAuthn ئۈسكۈنىسىنى قوشۇڭ",
- "Please authorize your WebAuthn device." : "WebAuthn ئۈسكۈنىڭىزگە ھوقۇق بېرىڭ.",
- "Adding your device …" : "ئۈسكۈنىڭىزنى قوشۇش…",
- "Unnamed device" : "نامسىز ئۈسكۈنە",
- "Passwordless Authentication" : "پارولسىز دەلىللەش",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "ھېساباتىڭىزنى FIDO2 ئۆلچىمىگە ئاساسەن مەخپىي نومۇرسىز دەلىللەش ئۈچۈن تەڭشەڭ.",
- "No devices configured." : "ھېچقانداق ئۈسكۈنى سەپلەنمىگەن.",
- "The following devices are configured for your account:" : "ھېساباتىڭىزغا تۆۋەندىكى ئۈسكۈنىلەر سەپلەندى:",
- "Your browser does not support WebAuthn." : "توركۆرگۈڭىز WebAuthn نى قوللىمايدۇ.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "باشقۇرغۇچى بولۇش سۈپىتىڭىز بىلەن ھەمبەھىرلىنىش ھەرىكىتىنى ياخشى تەڭشىيەلەيسىز. تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن بۇ ھۆججەتلەرنى كۆرۈڭ.",
- "You need to enable the File sharing App." : "ھۆججەت ئورتاقلىشىش دېتالىنى قوزغىتىشىڭىز كېرەك.",
- "App Store" : "ئەپ دۇكىنى",
- "Loading app list" : "ئەپ تىزىملىكى",
- "Loading categories" : "تۈرلەرنى يۈكلەۋاتىدۇ",
- "Developer documentation ↗" : "ئاچقۇچىلار ھۆججىتى ↗",
- "Version {version}, {license}-licensed" : "نەشرى {version} ، {license} ئىجازەتنامىسى",
- "Version {version}" : "نەشرى {version}",
- "All accounts" : "بارلىق ھېساباتلار",
- "Admins" : "باشقۇرغۇچى",
- "Account group: {group}" : "ھېسابات گۇرۇپپىسى: {group}",
- "Account management" : "ھېسابات باشقۇرۇش",
"Sending…" : "ئەۋەتىش…",
"Email sent" : "ئېلخەت يوللاندى",
"Location" : "ئورنى",
@@ -711,6 +463,7 @@ OC.L10N.register(
"Date of birth" : "تۇغۇلغان ۋاقتى",
"Full name" : "تولۇق ئىسمى",
"Additional email" : "قوشۇمچە ئېلخەت",
+ "Email" : "تورخەت",
"Fediverse (e.g. Mastodon)" : "Fediverse (مەسىلەن Mastodon)",
"Headline" : "ماۋزۇ",
"Organisation" : "تەشكىلات",
@@ -720,6 +473,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (ئىلگىرىكى Twitter)",
"Website" : "تور بېكەت",
"Profile visibility" : "ئارخىپنىڭ كۆرۈنۈشچانلىقى",
+ "Language" : "تىل",
"Locale" : "Locale",
"First day of week" : "ھەپتىنىڭ بىرىنچى كۈنى",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "ھۆججەت ئورتاقلىشىش ۋە كالېندار تەكلىپنامىسىنى ئۆز ئىچىگە ئالغان يادرولۇق ئىقتىدارلار ئۈچۈن بۇ مۈلۈك تەلەپ قىلىنمىغاچقا",
@@ -736,6 +490,7 @@ OC.L10N.register(
"Show to everyone" : "كۆپچىلىككە كۆرسەت",
"Show to logged in accounts only" : "پەقەت ھېساباتقا كىرگەنلىكىنى كۆرسەت",
"Hide" : "يوشۇر",
+ "Update to {version}" : "{version}غا يېڭىلاش",
"{progress}% Deploying …" : "{progress}% ئورۇنلاشتۇرۇش…",
"{progress}% Initializing …" : "{progress}% باشلاش…",
"Health checking" : "سالامەتلىك تەكشۈرتۈش",
@@ -745,6 +500,7 @@ OC.L10N.register(
"Allow untested app" : "سىناق قىلىنمىغان ئەپكە يول قويۇڭ",
"The app will be downloaded from the App Store" : "بۇ ئەپ ئەپ دۇكىنىدىن چۈشۈرۈلىدۇ",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "بۇ ئەپ سىزنىڭ Nextcloud نەشرىڭىزگە ماس كەلمەيدۇ. داۋاملاشتۇرسىڭىز يەنىلا ئەپنى قاچىلىيالايسىز. شۇنىڭغا دىققەت قىلىڭكى ، بۇ دېتال مۆلچەردىكىدەك ئىشلىمەسلىكى مۇمكىن.",
+ "{size} used" : "{size} ئىشلىتىلگەن",
"Unknown" : "نامەلۇم",
"Never" : "ھەرگىز بولمايدۇ",
"Could not register device: Network error" : "ئۈسكۈنىنى تىزىملىيالمىدى: تور خاتالىقى",
@@ -763,8 +519,10 @@ OC.L10N.register(
"Could not set group sorting" : "گۇرۇپپا رەتلەشنى تەڭشىيەلمىدى",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "تورىڭىزدىن بەك كۆپ تەلەپلەر بار ئىدى. كېيىن قايتا سىناڭ ياكى باشقۇرغۇچى بىلەن ئالاقىلىشىڭ.",
"Error" : "خاتالىق",
+ "Default quota" : "سۈكۈتتىكى نورما",
"Account documentation" : "ھېسابات ھۆججىتى",
"Administration documentation" : "باشقۇرۇش ھۆججىتى",
+ "Documentation" : "قوللانما",
"Forum" : "مۇنبەر",
"Nextcloud help & privacy resources" : "Nextcloud ياردەم ۋە مەخپىيەتلىك مەنبەلىرى",
"General documentation" : "ئادەتتىكى ھۆججەتلەر",
@@ -787,6 +545,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP پارول",
"Save" : "ساقلا",
"Test and verify email settings" : "ئېلېكترونلۇق خەت تەڭشىكىنى سىناش ۋە دەلىللەش",
+ "Send email" : "ئېلېكترونلۇق خەت ئەۋەتىڭ",
"Security & setup warnings" : "بىخەتەرلىك ۋە تەڭشەش ئاگاھلاندۇرۇشى",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "ھەممە ئىشنىڭ توغرا تەڭشەلگەنلىكىڭىزنىڭ بىخەتەرلىكى ۋە ئىقتىدارى ئۈچۈن ئىنتايىن مۇھىم. سىزگە ياردەم قىلىش ئۈچۈن بىز ئاپتوماتىك تەكشۈرۈش ئېلىپ بېرىۋاتىمىز. تېخىمۇ كۆپ ئۇچۇرغا ئۇلانغان ھۆججەتلەرنى كۆرۈڭ.",
"All checks passed." : "بارلىق تەكشۈرۈشلەر ئۆتۈپ كەتتى.",
@@ -811,10 +570,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "PHP ئىچكى ساقلىغۇچ چەكلىمىسى تەۋسىيە قىلىنغان% s دىن تۆۋەن.",
"for WebAuthn passwordless login" : "WebAuthn پارولسىز كىرىش ئۈچۈن",
"for WebAuthn passwordless login, and SFTP storage" : "WebAuthn پارولسىز كىرىش ۋە SFTP ساقلاش ئۈچۈن",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "-%1 $ s` HTTP ماۋزۇسىدا%2 $ s` يوق. بۇ تەڭشەكنى ماس ھالدا تەڭشەش تەۋسىيە قىلىنغانلىقتىن ، بۇ يوشۇرۇن بىخەتەرلىك ياكى مەخپىيەتلىك خەۋىپى.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL نەشرى \"% s\" بايقالدى. PostgreSQL> = 12 ۋە <= 16 Nextcloud نىڭ بۇ نەشرى بىلەن ئەڭ ياخشى ئىقتىدار ، مۇقىملىق ۋە ئىقتىدار ئۈچۈن تەۋسىيە قىلىنىدۇ.",
- "Set default expiration date for shares" : "پاي چېكىنىڭ سۈكۈتتىكى مۇددىتىنى بەلگىلەڭ",
- "Your biography" : "تەرجىمىھالىڭىز",
- "You are using <strong>{usage}</strong>" : "سىز <strong> {usage} </strong> نى ئىشلىتىۋاتىسىز",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "سىز <strong> {usage} </strong> نىڭ <strong> {totalSpace} </strong> نى ئىشلىتىۋاتىسىز (<strong> {usageRelative}% </strong>)"
+ "Set default expiration date for shares" : "پاي چېكىنىڭ سۈكۈتتىكى مۇددىتىنى بەلگىلەڭ"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/ug.json b/apps/settings/l10n/ug.json
index f773c4b3d6e..cce071e924e 100644
--- a/apps/settings/l10n/ug.json
+++ b/apps/settings/l10n/ug.json
@@ -269,7 +269,6 @@
"HTTP headers" : "HTTP ماۋزۇلىرى",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- \"%1 $ s\" HTTP ماۋزۇسى%2 $ s قىلىپ تەڭشەلمىدى. بۇ ئىقتىدارنى مۇۋاپىق تەڭشەش تەۋسىيە قىلىنغانلىقتىن ، بەزى ئىقتىدارلار نورمال ئىشلىمەسلىكى مۇمكىن.",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- \"%1 $ s\" HTTP ماۋزۇسى%2 $ s قىلىپ تەڭشەلمىدى. بۇ تەڭشەكنى ماس ھالدا تەڭشەش تەۋسىيە قىلىنغانلىقتىن ، بۇ يوشۇرۇن بىخەتەرلىك ياكى مەخپىيەتلىك خەۋىپى.",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "-%1 $ s` HTTP ماۋزۇسىدا%2 $ s` يوق. بۇ تەڭشەكنى ماس ھالدا تەڭشەش تەۋسىيە قىلىنغانلىقتىن ، بۇ يوشۇرۇن بىخەتەرلىك ياكى مەخپىيەتلىك خەۋىپى.",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- \"%1 $ s\" HTTP بەت بېشى \"%2 $ s\" ، \"%3 $ s\" ، \"%4 $ s\" ، \"%5 $ s\" ياكى \"%6 $ s\" قىلىپ بېكىتىلمىگەن. بۇ رېفېراندۇم ئۇچۇرلىرىنى ئاشكارىلىشى مۇمكىن. {w3c-recommendation}-recommendation}- تەۋسىيە} گە قاراڭ.",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- «قاتتىق قاتناش-بىخەتەرلىك» HTTP ماۋزۇسى كەم دېگەندە% d` سېكۇنت قىلىپ بېكىتىلمىگەن (ھازىرقى قىممىتى:% d`). بىخەتەرلىكنى كۈچەيتىش ئۈچۈن ، ئۇزۇن HSTS سىياسىتىنى ئىشلىتىش تەۋسىيە قىلىنىدۇ.",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- \"قاتتىق-قاتناش-بىخەتەرلىك\" HTTP ماۋزۇسى خاتا: \"% s\". كۈچەيتىلگەن بىخەتەرلىك ئۈچۈن ، HSTS نى قوزغىتىش تەۋسىيە قىلىنىدۇ.",
@@ -406,73 +405,6 @@
"Could not load section content from app store." : "ئەپ دۇكىنىدىن بۆلەك مەزمۇنىنى يۈكلىيەلمىدى.",
"Loading" : "يۈكلەۋاتىدۇ",
"Fetching the latest news…" : "ئەڭ يېڭى خەۋەرلەرگە ئېرىشىش…",
- "Carousel" : "Carousel",
- "Previous slide" : "ئالدىنقى تام تەسۋىر",
- "Next slide" : "كېيىنكى تام تەسۋىر",
- "Choose slide to display" : "كۆرسىتىش ئۈچۈن تام تەسۋىرنى تاللاڭ",
- "{index} of {total}" : "{index} of {total}",
- "Daemon" : "Daemon",
- "Deploy Daemon" : "Daemon نى ئورۇنلاشتۇرۇڭ",
- "Type" : "تىپ",
- "Display Name" : "كۆرسىتىش ئىسمى",
- "GPUs support" : "GPUs نى قوللايدۇ",
- "Compute device" : "ھېسابلاش ئۈسكۈنىسى",
- "Confirm" : "جەزملەشتۈرۈڭ",
- "Cancel" : "ۋاز كەچ",
- "Description" : "چۈشەندۈرۈش",
- "View in store" : "دۇكاندا كۆرۈش",
- "Visit website" : "توربېكەتنى زىيارەت قىلىڭ",
- "Usage documentation" : "ئىشلىتىش ھۆججىتى",
- "Admin documentation" : "باشقۇرغۇچى ھۆججەتلىرى",
- "Developer documentation" : "ئاچقۇچىلار ھۆججىتى",
- "Details" : "تەپسىلاتى",
- "All" : "ھەممىسى",
- "Limit app usage to groups" : "گۇرۇپپىلارغا ئەپ ئىشلىتىشنى چەكلەڭ",
- "No results" : "ھېچقانداق نەتىجە يوق",
- "Update to {version}" : "{version}غا يېڭىلاش",
- "Default Deploy daemon is not accessible" : "سۈكۈتتىكى ئورۇنلاشتۇرۇش daemon نى زىيارەت قىلغىلى بولمايدۇ",
- "Delete data on remove" : "ئۆچۈرۈش ھەققىدىكى سانلىق مەلۇماتلارنى ئۆچۈرۈڭ",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "بۇ ئەپنىڭ ئەڭ تۆۋەن Nextcloud نەشرى يوق. بۇ كەلگۈسىدە خاتالىق بولىدۇ.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "بۇ ئەپنىڭ ئەڭ چوڭ Nextcloud نەشرى بېكىتىلمىگەن. بۇ كەلگۈسىدە خاتالىق بولىدۇ.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "تۆۋەندىكى باغلىنىشلار ئەمەلگە ئاشمىغاچقا ، بۇ دېتالنى قاچىلىغىلى بولمايدۇ:",
- "Latest updated" : "ئەڭ يېڭى يېڭىلاندى",
- "Author" : "ئاپتور",
- "Categories" : "سەھىپىلەر",
- "Resources" : "بايلىق",
- "Documentation" : "قوللانما",
- "Interact" : "Interact",
- "Report a bug" : "خاتالىق مەلۇم قىلىڭ",
- "Request feature" : "تەلەپ قىلىش ئىقتىدارى",
- "Ask questions or discuss" : "سوئال سوراڭ ياكى مۇلاھىزە قىلىڭ",
- "Rate the app" : "ئەپكە باھا بېرىڭ",
- "Rate" : "باھا",
- "Changelog" : "Changelog",
- "Google Chrome for Android" : "ئاندىرويىد ئۈچۈن Google Chrome",
- "{productName} iOS app" : "{productName} iOS دېتالى",
- "{productName} Android app" : "{productName} Android ئەپ",
- "{productName} Talk for iOS" : "{productName} iOS iOS ئۈچۈن پاراڭ",
- "{productName} Talk for Android" : "{productName} Android ئاندىرويىد ئۈچۈن پاراڭ",
- "Sync client" : "ماس قەدەملىك خېرىدار",
- "This session" : "بۇ يىغىن",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "ئۈسكۈنىنىڭ ئىسمى",
- "Cancel renaming" : "ئىسىم ئۆزگەرتىشنى ئەمەلدىن قالدۇرۇڭ",
- "Save new name" : "يېڭى ئىسىمنى ساقلاڭ",
- "Marked for remote wipe" : "يىراقتىن سۈرتۈشكە بەلگە قويۇلغان",
- "Device settings" : "ئۈسكۈنىنىڭ تەڭشىكى",
- "Allow filesystem access" : "ھۆججەت سىستېمىسىنىڭ زىيارەت قىلىشىغا يول قويۇڭ",
- "Rename" : "ئات ئۆزگەرت",
- "Revoke" : "بىكار قىلىش",
- "Wipe device" : "ئۈسكۈنىنى سۈرتۈڭ",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "بۇ بەلگە ئەمەلدىن قالدۇرۇلسا ئۈسكۈنىڭىزنىڭ سۈرتۈلۈشىنىڭ ئالدىنى ئالىدۇ.",
- "Device" : "ئۈسكۈنە",
- "Last activity" : "ئاخىرقى پائالىيەت",
- "Devices & sessions" : "ئۈسكۈنىلەر ۋە ئولتۇرۇشلار",
- "Web, desktop and mobile clients currently logged in to your account." : "تور ، ئۈستەل يۈزى ۋە كۆچمە خېرىدارلار ھازىر ھېساباتىڭىزغا كىردى.",
- "Error while creating device token" : "ئۈسكۈنە بەلگىسىنى قۇرغاندا خاتالىق",
- "App name" : "ئەپ ئىسمى",
- "Create new app password" : "يېڭى ئەپ پارولى قۇر",
"App password copied!" : "ئەپ پارولى كۆچۈرۈلدى!",
"Copy app password" : "ئەپ پارولىنى كۆچۈرۈڭ",
"Login name copied!" : "كىرىش ئىسمى كۆچۈرۈلدى!",
@@ -517,190 +449,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "شىفىرلانغان ئەھۋال ئاستىدا شىفىرلاش كۇنۇپكىسىنى سانلىق مەلۇماتلىرىڭىز بىلەن بىللە زاپاسلاشنى جەزملەشتۈرۈڭ.",
"This is the final warning: Do you really want to enable encryption?" : "بۇ ئاخىرقى ئاگاھلاندۇرۇش: مەخپىيلەشتۈرۈشنى قوزغىتىشنى خالامسىز؟",
"Please confirm the group removal" : "گۇرۇپپا ئۆچۈرۈلگەنلىكىنى جەزملەشتۈرۈڭ",
+ "Cancel" : "ۋاز كەچ",
+ "Confirm" : "جەزملەشتۈرۈڭ",
"Submit" : "يوللاڭ",
"Rename group" : "گۇرۇپپىنىڭ نامىنى ئۆزگەرتىش",
- "Current password" : "نۆۋەتتىكى ئىم",
- "New password" : "يېڭى ئىم",
- "Change password" : "ئىم ئۆزگەرت",
- "Choose your profile picture" : "ئارخىپ رەسىمىڭىزنى تاللاڭ",
- "Please select a valid png or jpg file" : "ئىناۋەتلىك png ياكى jpg ھۆججىتىنى تاللاڭ",
- "Error setting profile picture" : "ئارخىپ رەسىمىنى تەڭشەشتە خاتالىق",
- "Error cropping profile picture" : "ئارخىپ رەسىمىنى كېسىشتە خاتالىق",
- "Error saving profile picture" : "ئارخىپ رەسىمىنى ساقلاشتا خاتالىق",
- "Error removing profile picture" : "ئارخىپ رەسىمىنى ئۆچۈرۈشتە خاتالىق",
- "Your profile picture" : "ئارخىپ رەسىمىڭىز",
- "Upload profile picture" : "ئارخىپ رەسىمىنى يۈكلەڭ",
- "Choose profile picture from Files" : "ھۆججەتلەردىن ئارخىپ رەسىمىنى تاللاڭ",
- "Remove profile picture" : "ئارخىپ رەسىمىنى ئۆچۈرۈڭ",
- "The file must be a PNG or JPG" : "ھۆججەت چوقۇم PNG ياكى JPG بولۇشى كېرەك",
- "Picture provided by original account" : "رەسىم ئەسلى ھېسابات بىلەن تەمىنلەنگەن",
- "Set as profile picture" : "ئارخىپ رەسىمى قىلىپ تەڭشەڭ",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "شۇنىڭغا دىققەت قىلىڭكى ، ئارخىپ رەسىمىڭىزنىڭ ھەممە يەردە يېڭىلىنىشى ئۈچۈن 24 سائەت ۋاقىت كېتىدۇ.",
- "Unable to update date of birth" : "تۇغۇلغان ۋاقتىنى يېڭىلاشقا ئامالسىز",
- "Enter your date of birth" : "تۇغۇلغان ۋاقتىڭىزنى كىرگۈزۈڭ",
- "You are using {s}{usage}{/s}" : "سىز {s} {usage} {/s} نى ئىشلىتىۋاتىسىز",
- "You are a member of the following groups:" : "سىز تۆۋەندىكى گۇرۇپپىلارنىڭ ئەزاسى:",
- "Your full name" : "تولۇق ئىسمىڭىز",
- "Email options" : "ئېلېكترونلۇق خەت تاللانمىلىرى",
- "Options for additional email address {index}" : "قوشۇمچە ئېلېكترونلۇق خەت ئادرېسى {index}",
- "Remove primary email" : "دەسلەپكى ئېلېكترونلۇق خەتنى ئۆچۈرۈڭ",
- "Delete email" : "ئېلېكترونلۇق خەتنى ئۆچۈرۈڭ",
- "This address is not confirmed" : "بۇ ئادرېس جەزملەشتۈرۈلمىدى",
- "Unset as primary email" : "دەسلەپكى ئېلېكترونلۇق خەت سۈپىتىدە تەڭشەڭ",
- "Set as primary email" : "دەسلەپكى ئېلېكترونلۇق خەت قىلىپ تەڭشەڭ",
- "Additional email address {index}" : "قوشۇمچە ئېلخەت ئادرېسى {index}",
- "Unable to delete primary email address" : "دەسلەپكى ئېلېكترونلۇق خەت ئادرېسىنى ئۆچۈرەلمىدى",
- "Unable to update primary email address" : "دەسلەپكى ئېلېكترونلۇق خەت ئادرېسىنى يېڭىلاشقا ئامالسىز",
- "Unable to add additional email address" : "قوشۇمچە ئېلېكترونلۇق خەت ئادرېسىنى قوشالمىدى",
- "Unable to update additional email address" : "قوشۇمچە ئېلېكترونلۇق خەت ئادرېسىنى يېڭىلاشقا ئامالسىز",
- "Unable to delete additional email address" : "قوشۇمچە ئېلېكترونلۇق خەت ئادرېسىنى ئۆچۈرەلمىدى",
- "Primary email for password reset and notifications" : "پارولنى ئەسلىگە كەلتۈرۈش ۋە ئۇقتۇرۇش ئۈچۈن دەسلەپكى ئېلېكترونلۇق خەت",
- "No email address set" : "ئېلېكترونلۇق خەت ئادرېسى يوق",
- "Your handle" : "قولىڭىز",
- "Derived from your locale ({weekDayName})" : "يەرلىكتىن كەلگەن ({weekDayName})",
- "Unable to update first day of week" : "ھەپتىنىڭ بىرىنچى كۈنى يېڭىلانمىدى",
- "Day to use as the first day of week" : "ھەپتىنىڭ بىرىنچى كۈنى سۈپىتىدە ئىشلىتىدىغان كۈن",
- "Your headline" : "ماۋزۇ",
- "Unable to update language" : "تىلنى يېڭىلاشقا ئامالسىز",
- "Languages" : "تىللار",
- "Help translate" : "تەرجىمىگە ياردەم",
- "No language set" : "تىل يوق",
- "Unable to update locale" : "يەرلىكنى يېڭىلاشقا ئامالسىز",
- "Locales" : "Locales",
- "Week starts on {firstDayOfWeek}" : "ھەپتە {firstDayOfWeek} on دا باشلىنىدۇ",
- "No locale set" : "يەرلىك ئورۇن يوق",
- "Your city" : "شەھىرىڭىز",
- "Your organisation" : "تەشكىلاتىڭىز",
- "Your phone number" : "تېلېفون نومۇرىڭىز",
- "Edit your Profile visibility" : "ئارخىپىڭىزنىڭ كۆرۈنۈشچانلىقىنى تەھرىرلەڭ",
- "Unable to update profile enabled state" : "ئارخىپ قوزغىتىلغان ھالەتنى يېڭىلاشقا ئامالسىز",
- "Enable profile" : "ئارخىپنى قوزغىتىڭ",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "كۆرۈنۈش ياكى دائىرىنىڭ تېخىمۇ چەكلىمىگە ئۇچرايدىغان تەڭشىكى ئارخىپىڭىزغا ھۆرمەت قىلىنىدۇ. مەسىلەن ، كۆرۈنۈشچانلىقى «ھەممەيلەنگە كۆرسىتىش» قىلىپ بېكىتىلسە ، دائىرىسى «شەخسىي» قىلىپ بېكىتىلسە ، «شەخسىي» ھۆرمەت قىلىنىدۇ.",
- "Unable to update visibility of {displayId}" : "{displayId} vis نىڭ كۆرۈنۈشچانلىقىنى يېڭىلاشقا ئامالسىز",
- "she/her" : "she / her",
- "he/him" : "he / him",
- "they/them" : "ئۇلار / ئۇلار",
- "Your role" : "سىزنىڭ رولىڭىز",
- "Your X (formerly Twitter) handle" : "سىزنىڭ X (ئىلگىرىكى Twitter) تۇتقۇچى",
- "Your website" : "تور بېتىڭىز",
- "Invalid value" : "ئىناۋەتسىز قىممەت",
- "Unable to update {property}" : "يېڭىلاشقا ئامالسىز {property}",
- "No {property} set" : "No {property} set",
- "Change scope level of {property}, current scope is {scope}" : "دائىرە دەرىجىسىنى ئۆزگەرتىش {property} ، نۆۋەتتىكى دائىرە {scope}",
- "Unable to update federation scope of the primary {property}" : "دەسلەپكى {property} فېدېراتسىيە دائىرىسىنى يېڭىلاشقا ئامالسىز",
- "Unable to update federation scope of additional {property}" : "قوشۇمچە {property} فېدېراتسىيە دائىرىسىنى يېڭىلاشقا ئامالسىز",
- "Add additional email" : "قوشۇمچە ئېلېكترونلۇق خەت قوشۇڭ",
- "Add" : "قوش",
- "Create" : "قۇر",
- "Change" : "ئۆزگەرتىش",
- "Delete" : "ئۆچۈر",
- "Reshare" : "قايتا قۇرۇش",
- "Default language" : "كۆڭۈلدىكى تىل",
- "Common languages" : "ئورتاق تىل",
- "Other languages" : "باشقا تىللار",
- "Password change is disabled because the master key is disabled" : "ئاساسىي ئاچقۇچ چەكلەنگەنلىكتىن پارول ئۆزگەرتىش چەكلەنگەن",
- "No accounts" : "ھېسابات يوق",
- "Loading accounts …" : "ھېسابات يۈكلەۋاتىدۇ…",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "ھېسابات تىزىملىكى. بۇ تىزىملىك ئىقتىدار سەۋەبىدىن تولۇق كۆرسىتىلمىگەن. ھېساباتلار تىزىملىكتىن ئۆتكەندە كۆرسىتىلىدۇ.",
- "Manager" : "باشقۇرغۇچى",
- "Set line manager" : "قۇر باشقۇرغۇچىنى بەلگىلەڭ",
- "Account name will be autogenerated" : "ھېسابات ئىسمى ئاپتوماتىك بولىدۇ",
- "Account name (required)" : "ھېسابات ئىسمى (تەلەپ)",
- "New account" : "يېڭى ھېسابات",
- "Display name" : "كۆرسىتىش ئىسمى",
- "Either password or email is required" : "پارول ياكى ئېلېكترونلۇق خەت تەلەپ قىلىنىدۇ",
- "Password (required)" : "پارول (تەلەپ)",
- "Email (required)" : "ئېلخەت (تەلەپ)",
- "Email" : "تورخەت",
- "Member of the following groups (required)" : "تۆۋەندىكى گۇرۇپپىلارنىڭ ئەزاسى (تەلەپ قىلىنىدۇ)",
- "Member of the following groups" : "تۆۋەندىكى گۇرۇپپىلارنىڭ ئەزاسى",
- "Set account groups" : "ھېسابات گۇرۇپپىسىنى بەلگىلەڭ",
- "Admin of the following groups" : "تۆۋەندىكى گۇرۇپپىلارنىڭ باشقۇرغۇچىسى",
- "Set account as admin for …" : "ھېساباتنى باشقۇرغۇچى قىلىپ تەڭشەڭ…",
- "Quota" : "Quota",
- "Set account quota" : "ھېسابات نورمىسىنى بەلگىلەڭ",
- "Language" : "تىل",
- "Set default language" : "سۈكۈتتىكى تىل بەلگىلەڭ",
- "Add new account" : "يېڭى ھېسابات قوشۇڭ",
- "Total rows summary" : "ئومۇمىي قۇر خۇلاسىسى",
- "Scroll to load more rows" : "تېخىمۇ كۆپ قۇرلارنى يۈكلەڭ",
- "Password or insufficient permissions message" : "پارول ياكى يېتەرلىك ئىجازەت ئۇچۇرى",
- "Avatar" : "Avatar",
- "Account name" : "ھېسابات ئىسمى",
- "Group admin for" : "گۇرۇپپا باشقۇرغۇچى",
- "Account backend" : "ھېسابات ئارقا سۇپىسى",
- "Storage location" : "ساقلاش ئورنى",
- "Last login" : "ئاخىرقى كىرىش",
- "Account actions" : "ھېسابات ھەرىكىتى",
- "{size} used" : "{size} ئىشلىتىلگەن",
- "Delete account" : "ھېساباتنى ئۆچۈرۈڭ",
- "Disconnect all devices and delete local data" : "بارلىق ئۈسكۈنىلەرنى ئۈزۈۋېتىڭ ۋە يەرلىك سانلىق مەلۇماتلارنى ئۆچۈرۈڭ",
- "Disable account" : "ھېساباتنى چەكلەش",
- "Enable account" : "ھېساباتنى قوزغىتىش",
- "Resend welcome email" : "قارشى ئالىدىغان ئېلېكترونلۇق خەتنى ئەۋەتىڭ",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "ئۈسكۈنە يۈتۈپ كەتسە ياكى تەشكىلاتتىن چىقسا ، بۇ {userid} associated غا مۇناسىۋەتلىك بارلىق ئۈسكۈنىلەردىن Nextcloud سانلىق مەلۇماتلىرىنى يىراقتىن ئۆچۈرەلەيدۇ. ئۈسكۈنىلەر تورغا ئۇلانغاندىلا ئىشلەيدۇ.",
- "Remote wipe of devices" : "ئۈسكۈنىلەرنى يىراقتىن سۈرتۈش",
- "Wipe {userid}'s devices" : "{userid} ئۈسكۈنىلىرىنى ئۆچۈرۈڭ",
- "Wiped {userid}'s devices" : "{userid} ئۈسكۈنىلىرىنى ئۆچۈرۈۋەتتى",
- "Failed to update line manager" : "قۇر باشقۇرغۇچىنى يېڭىلاش مەغلۇب بولدى",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "{userid} account نىڭ بارلىق شەخسىي ھۆججەتلىرى ، ئەپ سانلىق مەلۇماتلىرى قاتارلىقلارنى ئۆز ئىچىگە ئالىدۇ.",
- "Account deletion" : "ھېسابات ئۆچۈرۈش",
- "Delete {userid}'s account" : "{userid} account نىڭ ھېساباتىنى ئۆچۈرۈڭ",
- "Display name was successfully changed" : "كۆرسىتىش ئىسمى مۇۋەپپەقىيەتلىك ئۆزگەرتىلدى",
- "Password was successfully changed" : "پارول مۇۋەپپەقىيەتلىك ئۆزگەرتىلدى",
- "Email was successfully changed" : "ئېلېكترونلۇق خەت مۇۋەپپەقىيەتلىك ئۆزگەرتىلدى",
- "Welcome mail sent!" : "ئەۋەتىلگەن خەتنى قارشى ئالىمىز!",
- "Loading account …" : "ھېسابات يۈكلەۋاتىدۇ…",
- "Change display name" : "كۆرسىتىش نامىنى ئۆزگەرتىڭ",
- "Set new password" : "يېڭى پارول بەلگىلەڭ",
- "You do not have permissions to see the details of this account" : "بۇ ھېساباتنىڭ تەپسىلاتلىرىنى كۆرۈش ھوقۇقىڭىز يوق",
- "Set new email address" : "يېڭى ئېلېكترونلۇق خەت ئادرېسىنى بەلگىلەڭ",
- "Add account to group" : "گۇرۇپپىغا ھېسابات قوشۇڭ",
- "Set account as admin for" : "ھېساباتنى باشقۇرغۇچى قىلىپ بەلگىلەڭ",
- "Select account quota" : "ھېسابات نورمىسىنى تاللاڭ",
- "Set the language" : "تىل بەلگىلەڭ",
- "Toggle account actions menu" : "ھېسابات ھەرىكەت تىزىملىكى",
- "Done" : "Done",
- "Edit" : "تەھرىر",
- "Account management settings" : "ھېسابات باشقۇرۇش تەڭشەكلىرى",
- "Visibility" : "كۆرۈنۈشچانلىقى",
- "Show language" : "تىل كۆرسەت",
- "Show account backend" : "ھېسابات ئارقا كۆرۈنۈشىنى كۆرسەت",
- "Show storage path" : "ساقلاش يولىنى كۆرسەت",
- "Show last login" : "ئاخىرقى كىرىشنى كۆرسەت",
- "Sorting" : "تەرتىپلەش",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "سىستېما سەپلىمىسى گۇرۇپپىلارنى ئىسىم بويىچە رەتلەشنى ئىجرا قىلىدۇ. بۇمۇ ئەزا سانىنى كۆرسىتىشنى چەكلەيدۇ.",
- "Group list sorting" : "گۇرۇپپا تىزىملىكىنى رەتلەش",
- "By member count" : "ئەزا سانى بويىچە",
- "By name" : "ئىسمى بىلەن",
- "Send email" : "ئېلېكترونلۇق خەت ئەۋەتىڭ",
- "Send welcome email to new accounts" : "يېڭى ھېساباتلارغا قارشى ئېلخەت ئەۋەتىڭ",
- "Defaults" : "سۈكۈت",
- "Default quota" : "سۈكۈتتىكى نورما",
- "Select default quota" : "سۈكۈتتىكى نورمىنى تاللاڭ",
- "Server error while trying to complete WebAuthn device registration" : "WebAuthn ئۈسكۈنىسىنى تىزىملاشنى تاماملىغاندا مۇلازىمېتىر خاتالىقى",
- "Passwordless authentication requires a secure connection." : "پارولسىز دەلىللەش بىخەتەر ئۇلىنىشنى تەلەپ قىلىدۇ.",
- "Add WebAuthn device" : "WebAuthn ئۈسكۈنىسىنى قوشۇڭ",
- "Please authorize your WebAuthn device." : "WebAuthn ئۈسكۈنىڭىزگە ھوقۇق بېرىڭ.",
- "Adding your device …" : "ئۈسكۈنىڭىزنى قوشۇش…",
- "Unnamed device" : "نامسىز ئۈسكۈنە",
- "Passwordless Authentication" : "پارولسىز دەلىللەش",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "ھېساباتىڭىزنى FIDO2 ئۆلچىمىگە ئاساسەن مەخپىي نومۇرسىز دەلىللەش ئۈچۈن تەڭشەڭ.",
- "No devices configured." : "ھېچقانداق ئۈسكۈنى سەپلەنمىگەن.",
- "The following devices are configured for your account:" : "ھېساباتىڭىزغا تۆۋەندىكى ئۈسكۈنىلەر سەپلەندى:",
- "Your browser does not support WebAuthn." : "توركۆرگۈڭىز WebAuthn نى قوللىمايدۇ.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "باشقۇرغۇچى بولۇش سۈپىتىڭىز بىلەن ھەمبەھىرلىنىش ھەرىكىتىنى ياخشى تەڭشىيەلەيسىز. تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن بۇ ھۆججەتلەرنى كۆرۈڭ.",
- "You need to enable the File sharing App." : "ھۆججەت ئورتاقلىشىش دېتالىنى قوزغىتىشىڭىز كېرەك.",
- "App Store" : "ئەپ دۇكىنى",
- "Loading app list" : "ئەپ تىزىملىكى",
- "Loading categories" : "تۈرلەرنى يۈكلەۋاتىدۇ",
- "Developer documentation ↗" : "ئاچقۇچىلار ھۆججىتى ↗",
- "Version {version}, {license}-licensed" : "نەشرى {version} ، {license} ئىجازەتنامىسى",
- "Version {version}" : "نەشرى {version}",
- "All accounts" : "بارلىق ھېساباتلار",
- "Admins" : "باشقۇرغۇچى",
- "Account group: {group}" : "ھېسابات گۇرۇپپىسى: {group}",
- "Account management" : "ھېسابات باشقۇرۇش",
"Sending…" : "ئەۋەتىش…",
"Email sent" : "ئېلخەت يوللاندى",
"Location" : "ئورنى",
@@ -709,6 +461,7 @@
"Date of birth" : "تۇغۇلغان ۋاقتى",
"Full name" : "تولۇق ئىسمى",
"Additional email" : "قوشۇمچە ئېلخەت",
+ "Email" : "تورخەت",
"Fediverse (e.g. Mastodon)" : "Fediverse (مەسىلەن Mastodon)",
"Headline" : "ماۋزۇ",
"Organisation" : "تەشكىلات",
@@ -718,6 +471,7 @@
"X (formerly Twitter)" : "X (ئىلگىرىكى Twitter)",
"Website" : "تور بېكەت",
"Profile visibility" : "ئارخىپنىڭ كۆرۈنۈشچانلىقى",
+ "Language" : "تىل",
"Locale" : "Locale",
"First day of week" : "ھەپتىنىڭ بىرىنچى كۈنى",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "ھۆججەت ئورتاقلىشىش ۋە كالېندار تەكلىپنامىسىنى ئۆز ئىچىگە ئالغان يادرولۇق ئىقتىدارلار ئۈچۈن بۇ مۈلۈك تەلەپ قىلىنمىغاچقا",
@@ -734,6 +488,7 @@
"Show to everyone" : "كۆپچىلىككە كۆرسەت",
"Show to logged in accounts only" : "پەقەت ھېساباتقا كىرگەنلىكىنى كۆرسەت",
"Hide" : "يوشۇر",
+ "Update to {version}" : "{version}غا يېڭىلاش",
"{progress}% Deploying …" : "{progress}% ئورۇنلاشتۇرۇش…",
"{progress}% Initializing …" : "{progress}% باشلاش…",
"Health checking" : "سالامەتلىك تەكشۈرتۈش",
@@ -743,6 +498,7 @@
"Allow untested app" : "سىناق قىلىنمىغان ئەپكە يول قويۇڭ",
"The app will be downloaded from the App Store" : "بۇ ئەپ ئەپ دۇكىنىدىن چۈشۈرۈلىدۇ",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "بۇ ئەپ سىزنىڭ Nextcloud نەشرىڭىزگە ماس كەلمەيدۇ. داۋاملاشتۇرسىڭىز يەنىلا ئەپنى قاچىلىيالايسىز. شۇنىڭغا دىققەت قىلىڭكى ، بۇ دېتال مۆلچەردىكىدەك ئىشلىمەسلىكى مۇمكىن.",
+ "{size} used" : "{size} ئىشلىتىلگەن",
"Unknown" : "نامەلۇم",
"Never" : "ھەرگىز بولمايدۇ",
"Could not register device: Network error" : "ئۈسكۈنىنى تىزىملىيالمىدى: تور خاتالىقى",
@@ -761,8 +517,10 @@
"Could not set group sorting" : "گۇرۇپپا رەتلەشنى تەڭشىيەلمىدى",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "تورىڭىزدىن بەك كۆپ تەلەپلەر بار ئىدى. كېيىن قايتا سىناڭ ياكى باشقۇرغۇچى بىلەن ئالاقىلىشىڭ.",
"Error" : "خاتالىق",
+ "Default quota" : "سۈكۈتتىكى نورما",
"Account documentation" : "ھېسابات ھۆججىتى",
"Administration documentation" : "باشقۇرۇش ھۆججىتى",
+ "Documentation" : "قوللانما",
"Forum" : "مۇنبەر",
"Nextcloud help & privacy resources" : "Nextcloud ياردەم ۋە مەخپىيەتلىك مەنبەلىرى",
"General documentation" : "ئادەتتىكى ھۆججەتلەر",
@@ -785,6 +543,7 @@
"SMTP Password" : "SMTP پارول",
"Save" : "ساقلا",
"Test and verify email settings" : "ئېلېكترونلۇق خەت تەڭشىكىنى سىناش ۋە دەلىللەش",
+ "Send email" : "ئېلېكترونلۇق خەت ئەۋەتىڭ",
"Security & setup warnings" : "بىخەتەرلىك ۋە تەڭشەش ئاگاھلاندۇرۇشى",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "ھەممە ئىشنىڭ توغرا تەڭشەلگەنلىكىڭىزنىڭ بىخەتەرلىكى ۋە ئىقتىدارى ئۈچۈن ئىنتايىن مۇھىم. سىزگە ياردەم قىلىش ئۈچۈن بىز ئاپتوماتىك تەكشۈرۈش ئېلىپ بېرىۋاتىمىز. تېخىمۇ كۆپ ئۇچۇرغا ئۇلانغان ھۆججەتلەرنى كۆرۈڭ.",
"All checks passed." : "بارلىق تەكشۈرۈشلەر ئۆتۈپ كەتتى.",
@@ -809,10 +568,8 @@
"The PHP memory limit is below the recommended value of %s." : "PHP ئىچكى ساقلىغۇچ چەكلىمىسى تەۋسىيە قىلىنغان% s دىن تۆۋەن.",
"for WebAuthn passwordless login" : "WebAuthn پارولسىز كىرىش ئۈچۈن",
"for WebAuthn passwordless login, and SFTP storage" : "WebAuthn پارولسىز كىرىش ۋە SFTP ساقلاش ئۈچۈن",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "-%1 $ s` HTTP ماۋزۇسىدا%2 $ s` يوق. بۇ تەڭشەكنى ماس ھالدا تەڭشەش تەۋسىيە قىلىنغانلىقتىن ، بۇ يوشۇرۇن بىخەتەرلىك ياكى مەخپىيەتلىك خەۋىپى.",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "PostgreSQL نەشرى \"% s\" بايقالدى. PostgreSQL> = 12 ۋە <= 16 Nextcloud نىڭ بۇ نەشرى بىلەن ئەڭ ياخشى ئىقتىدار ، مۇقىملىق ۋە ئىقتىدار ئۈچۈن تەۋسىيە قىلىنىدۇ.",
- "Set default expiration date for shares" : "پاي چېكىنىڭ سۈكۈتتىكى مۇددىتىنى بەلگىلەڭ",
- "Your biography" : "تەرجىمىھالىڭىز",
- "You are using <strong>{usage}</strong>" : "سىز <strong> {usage} </strong> نى ئىشلىتىۋاتىسىز",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "سىز <strong> {usage} </strong> نىڭ <strong> {totalSpace} </strong> نى ئىشلىتىۋاتىسىز (<strong> {usageRelative}% </strong>)"
+ "Set default expiration date for shares" : "پاي چېكىنىڭ سۈكۈتتىكى مۇددىتىنى بەلگىلەڭ"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/uk.js b/apps/settings/l10n/uk.js
index ba803cae542..8c451ba2d0d 100644
--- a/apps/settings/l10n/uk.js
+++ b/apps/settings/l10n/uk.js
@@ -367,71 +367,6 @@ OC.L10N.register(
"Could not load section content from app store." : "Не вдалося отримати розділ вмісту із крамнички.",
"Loading" : "Завантаження",
"Fetching the latest news…" : "Отримання останніх оновлень...",
- "Carousel" : "Карусель",
- "Previous slide" : "Попередній слайд",
- "Next slide" : "Наступний слайд",
- "Choose slide to display" : "Виберіть слайд для показу",
- "{index} of {total}" : "{index} із {total}",
- "Daemon" : "Демон",
- "Type" : "Тип",
- "Display Name" : "Назва для показу",
- "GPUs support" : "Підтримка GPU",
- "Compute device" : "Пристрій для обчислення",
- "Learn more" : "Дізнатися більше",
- "Read-only" : "Тільки для читання",
- "Toggle read-only mode" : "Перемкнути режим тільки для читання",
- "Confirm" : "Підтвердити",
- "Cancel" : "Скасувати",
- "Description" : "Опис",
- "View in store" : "Переглянути у крамниці застосунків",
- "Visit website" : "Перейти на вебсайт",
- "Usage documentation" : "Документація користувача",
- "Admin documentation" : "Документація адміністратора",
- "Developer documentation" : "Документація для розробника",
- "Details" : "Деталі",
- "All" : "Всі",
- "Limit app usage to groups" : "Обмежити використання застосунку певними групами",
- "No results" : "Немає результатів",
- "Update to {version}" : "Оновити до {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Цей застосунок не має обмежень щодо мінімальної версії Nextcloud. В майбутньому це може викликати певні помилки.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Для цього застосунку не визначено найвищу версію Nextcloud. Це може викликати помилку в майбутньому.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Цей застосунок не буде встановлено, оскільки такі залежності неможливо виконати:",
- "Latest updated" : "Останнє оновлення",
- "Author" : "Автор",
- "Categories" : "Категорії",
- "Resources" : "Ресурси",
- "Documentation" : "Документація",
- "Interact" : "Взаємодія",
- "Report a bug" : "Повідомити про помилку",
- "Request feature" : "Запит на удосконалення",
- "Ask questions or discuss" : "Ставте запитання або обговорюйте",
- "Rate the app" : "Оцініть додаток",
- "Rate" : "Рейтинг",
- "Changelog" : "Зміни",
- "Google Chrome for Android" : "Google Chrome для Android",
- "{productName} iOS app" : "Застосунок для iOS {productName}",
- "{productName} Android app" : "Застосунок для Android {productName}",
- "{productName} Talk for iOS" : "{productName} Talk для iOS",
- "{productName} Talk for Android" : "{productName} Talk для Android",
- "Sync client" : "Синхронізувати клієнт",
- "This session" : "Цей сеанс",
- "Device name" : "Назва пристрою",
- "Cancel renaming" : "Відхилити перейменування",
- "Save new name" : "Зберегти нове ім'я",
- "Marked for remote wipe" : "Позначено для віддаленого стирання",
- "Device settings" : "Налаштування пристрою",
- "Allow filesystem access" : "Дозволити доступ до файлової системи",
- "Rename" : "Перейменувати",
- "Revoke" : "Відкликати",
- "Wipe device" : "Стерти дані на пристрої",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Відкликання цього токена може запобігти вилучення даних з вашого пристрою, якщо очищення ще не розпочалося.",
- "Device" : "Пристрій",
- "Last activity" : "Остання активність",
- "Devices & sessions" : "Пристрої та сеанси",
- "Web, desktop and mobile clients currently logged in to your account." : "Вебдоступ, стільничі клієнти та мобільні застосунки, які було авторизовано з вашим обліковим записом.",
- "Error while creating device token" : "Помилка під час створення токена пристрою",
- "App name" : "Зазначте назву застосунку",
- "Create new app password" : "Створіть новий пароль застосунку",
"App password copied!" : "Пароль на застосунок скопійовано!",
"Copy app password" : "Копіювати пароль на застосунок",
"Login name copied!" : "Лоґін скопійовано!",
@@ -475,187 +410,11 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Завжди корисно регулярно створювати резервні копії ваших даних, у разі шифрування обов’язково зробіть резервну копію ключів шифрування разом із вашими даними.",
"This is the final warning: Do you really want to enable encryption?" : "Це останнє попередження: Ви справді хочете ввімкнути шифрування?",
"Please confirm the group removal" : "Підтвердіть вилучення групи",
+ "Cancel" : "Скасувати",
+ "Confirm" : "Підтвердити",
"Submit" : "Продовжити",
"Rename group" : "Перейменувати групу",
"Delete group" : "Вилучити групу",
- "Current password" : "Поточний пароль",
- "New password" : "Новий пароль",
- "Change password" : "Змінити пароль",
- "Choose your profile picture" : "Виберіть зображення профілю",
- "Please select a valid png or jpg file" : "Виберіть дійсний файл png або jpg",
- "Error setting profile picture" : "Помилка налаштування зображення профілю",
- "Error cropping profile picture" : "Помилка кадрування зображення профілю",
- "Error saving profile picture" : "Помилка збереження зображення профілю",
- "Error removing profile picture" : "Помилка вилучення зображення профілю",
- "Your profile picture" : "Ваше зображення профілю",
- "Upload profile picture" : "Завантажте зображення профілю",
- "Choose profile picture from Files" : "Виберіть зображення профілю з Файлів",
- "Remove profile picture" : "Вилучити зображення профілю",
- "The file must be a PNG or JPG" : "Файл у форматі PNG або JPG",
- "Picture provided by original account" : "Картинка надана оригінальним обліковим записом",
- "Set as profile picture" : "Установити як зображення профілю",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Зауважте, що повсюдне оновлення зображення профілю може зайняти до 24 годин.",
- "Unable to update date of birth" : "Не вдалося оновити дату народження",
- "Enter your date of birth" : "Зазначте дату вашого народження",
- "You are a member of the following groups:" : "Ви є учасником груп:",
- "Your full name" : "Ваше повне ім'я",
- "Email options" : "Параметри електронної пошти",
- "Options for additional email address {index}" : "Параметри додаткової ел.адреси {index}",
- "Remove primary email" : "Вилучити основну електронну адресу",
- "Delete email" : "Вилучити",
- "This address is not confirmed" : "Це непідтверджена адреса",
- "Unset as primary email" : "Скасувати як основну електронну адресу",
- "Set as primary email" : "Зробити основною",
- "Additional email address {index}" : "Додаткова електронна адреса {index}",
- "Unable to delete primary email address" : "Не вдалося вилучити основну електронну адресу",
- "Unable to update primary email address" : "Не вдалося оновити основну електронну адресу",
- "Unable to add additional email address" : "Не вдалося додати додаткову електронну адресу",
- "Unable to update additional email address" : "Не вдалося оновити додаткову електронну адресу",
- "Unable to delete additional email address" : "Не вдалося вилучити додаткову електронну адресу",
- "Primary email for password reset and notifications" : "Основна адреса ел.пошти для надсилання пароля та сповіщень",
- "No email address set" : "E-mail не вказано",
- "Your handle" : "Ви керуєте",
- "Derived from your locale ({weekDayName})" : "{weekDayName} (визначено автоматично)",
- "Unable to update first day of week" : "Не вдалося оновити значення першого дня тижня",
- "Day to use as the first day of week" : "Тиждень починається з",
- "Your headline" : "Ваш заголовок",
- "Unable to update language" : "Не вдалося оновити мову",
- "Languages" : "Мови",
- "Help translate" : "Допомогти з перекладом",
- "No language set" : "Мову не визначено",
- "Unable to update locale" : "Не вдалося оновити мову",
- "Locales" : "Регіональні налаштування",
- "Week starts on {firstDayOfWeek}" : "Тиждень починається у {firstDayOfWeek}",
- "No locale set" : "Локаль не встановлено",
- "Your city" : "Ваше місто",
- "Your organisation" : "Ваша організація",
- "Your phone number" : "Ваш номер телефону",
- "Edit your Profile visibility" : "Встановіть видимість профілю",
- "Unable to update profile enabled state" : "Неможливо оновити стан профілю",
- "Enable profile" : "Увімкнути профіль",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Для вашого профілю можна встановити певні обмеження з показу інформації про вас. Наприклад, якщо встановлено значення \"Показувати всім\", а для певного значення \"Приватне\", значення \"Приватне\" буде мати вищий пріоритет.",
- "Unable to update visibility of {displayId}" : "Не вдалося оновити видимість {displayId}",
- "she/her" : "вона/їй",
- "he/him" : "він/йому",
- "they/them" : "вони/їм",
- "Your role" : "Ваша роль",
- "Your X (formerly Twitter) handle" : "Ваш ідентифікатор в X (раніше відомій як Twitter)",
- "Your website" : "Ваш сайт",
- "Invalid value" : "Помилкове значення",
- "Unable to update {property}" : "Не вдалося оновити {property}",
- "No {property} set" : "{property} не встановлено",
- "Change scope level of {property}, current scope is {scope}" : "Змінити рівень дії {property}, поточна область – {scope}",
- "Unable to update federation scope of the primary {property}" : "Не вдалося оновити область об'єднаної хмари основного {property}",
- "Unable to update federation scope of additional {property}" : "Не вдається оновити область об'єднаної хмари додаткового {property}",
- "Add additional email" : "Додайте додаткову електронну адресу",
- "Add" : "Додати",
- "Create" : "Створити",
- "Change" : "Змінити",
- "Delete" : "Вилучити",
- "Reshare" : "Надати у спільний доступ",
- "Default language" : "Типова мова",
- "Common languages" : "Основні мови",
- "Other languages" : "Інші мови",
- "Password change is disabled because the master key is disabled" : "Зміну пароля вимкнено, оскільки майстер-ключ відключений",
- "No accounts" : "Відсутні користувачі",
- "Loading accounts …" : "Завантаження облікових записів ...",
- "Manager" : "Менеджер",
- "Set line manager" : "Встановити безпосереднього начальника",
- "Account name will be autogenerated" : "Ім'я користувача буде автоматично створено",
- "Account name (required)" : "Ім'я користувача (обов'язково)",
- "New account" : "Новий обліковий запис",
- "Display name" : "Ім'я для показу",
- "Either password or email is required" : "Потрібно зазначити або пароль, або адресу ел.пошти",
- "Password (required)" : "Пароль (обов'язково)",
- "Email (required)" : "Ел. пошта (обов'язково)",
- "Email" : "E-mail",
- "Member of the following groups" : "Учасник(-ця) таких груп",
- "Set account groups" : "Додати користувача до груп",
- "Admin of the following groups" : "Адміністратор таких груп",
- "Set account as admin for …" : "Встановити адміністратором для ...",
- "Quota" : "Квота",
- "Set account quota" : "Встановити квоту для користувача",
- "Language" : "Мова",
- "Set default language" : "Встановити типову мову",
- "Add new account" : "Створити нового користувача",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} обліковий запис …","{userCount} облікові записи …","{userCount} облікових записів …","{userCount} облікових записів …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} обліковий запис","{userCount} облікові записи","{userCount} облікових записів","{userCount} обліковий запис"],
- "Total rows summary" : "Загалом рядків",
- "Scroll to load more rows" : "Прокрутіть для завантаження наступних записів",
- "Password or insufficient permissions message" : "Повідомлення про потребу ввести пароль або недостатній рівень доступу",
- "Avatar" : "Світлина",
- "Account name" : "Назва облікового запису",
- "Group admin for" : "Адміністратор групи",
- "Storage location" : "Місце розташування сховища",
- "First login" : "Перший вхід",
- "Last login" : "Останній вхід",
- "Account actions" : "Дії з обліковим записом",
- "{size} used" : "{size} використано",
- "Delete account" : "Вилучити обліковий запис",
- "Disconnect all devices and delete local data" : "Від'єднайте всі пристрої та видаліть локальні дані",
- "Disable account" : "Вимкнути обліковий запис",
- "Enable account" : "Увімкнути обліковий запис",
- "Resend welcome email" : "Надіслати запрошення ще раз",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "У разі втрати пристрою або виходу з організації це може віддалено стерти дані Nextcloud з усіх пристроїв, пов’язаних з {userid}. Працює, лише якщо пристрої підключено до Інтернету.",
- "Remote wipe of devices" : "Віддалене стирання даних на пристрої",
- "Wipe {userid}'s devices" : "Стерти пристрої {userid}",
- "Wiped {userid}'s devices" : "Стерті пристрої {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Повністю вилучає обліковий запис {userid} включно з особистими файлами, даними застосунків тощо.",
- "Account deletion" : "Вилучення облікового запису",
- "Delete {userid}'s account" : "Вилучити обліковий запис {userid}",
- "Display name was successfully changed" : "Ім'я для показу успішно змінено",
- "Password was successfully changed" : "Пароль успішно змінено",
- "Email was successfully changed" : "Адресу електронної пошти успішно змінено",
- "Welcome mail sent!" : "Запрошення надіслано!",
- "Loading account …" : "Завантаження облікового запису ...",
- "Change display name" : "Зміни ім'я для показу",
- "Set new password" : "Встановіть новий пароль",
- "You do not have permissions to see the details of this account" : "Відсутні повноваження на перегляд інформації про цей обліковий запис",
- "Set new email address" : "Встановіть нову адресу електронної пошти",
- "Add account to group" : "Додати обліковий запис до групи",
- "Set account as admin for" : "Встановити адміністратором для",
- "Select account quota" : "Встановити квоту",
- "Set the language" : "Встановити мову",
- "Toggle account actions menu" : "Переключити меню дій облікового запису",
- "Done" : "Готово",
- "Edit" : "Редагувати",
- "Account management settings" : "Налаштування",
- "Visibility" : "Видимість",
- "Show language" : "Показувати мову",
- "Show account backend" : "Показувати бекенд користувача",
- "Show storage path" : "Показувати шлях до сховища даних",
- "Show last login" : "Показувати останній вхід",
- "Sorting" : "Впорядкування",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Системні наталаштування визначають впорядкування груп за іменем. Ці налаштування також вимикають лічильник учасників.",
- "Group list sorting" : "Впорядкування списку груп",
- "By member count" : "За лічильником учасників",
- "By name" : "Зі ім'ям",
- "Send email" : "Запрошення",
- "Send welcome email to new accounts" : "Надсилати вітальний лист щойно створеним обліковим записам",
- "Defaults" : "Стандартні",
- "Default quota" : "Типова квота",
- "Select default quota" : "Встановити типову квоту",
- "Server error while trying to complete WebAuthn device registration" : "Помилка сервера під час спроби завершити реєстрацію пристрою WebAuthn",
- "Passwordless authentication requires a secure connection." : "Авторизація без пароля вимагає безпечного з'єднання.",
- "Add WebAuthn device" : "Додайте пристрій WebAuthn",
- "Please authorize your WebAuthn device." : "Авторизуйте свій пристрій WebAuthn.",
- "Adding your device …" : "Додавання вашого пристрою...",
- "Unnamed device" : "Неназваний пристрій",
- "Passwordless Authentication" : "Авторизація без пароля",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Налаштуйте ваш обліковий запис для авторизації без пароля згідно зі стандартами FIDO2.",
- "No devices configured." : "Жодного пристрою не налаштовано.",
- "The following devices are configured for your account:" : "Для вашого облікового запису налаштовано такі пристрої:",
- "Your browser does not support WebAuthn." : "Ваш браузер не підтримує WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Як адміністратор ви можете точно налаштувати поведінку спільного використання. Будь ласка, перегляньте документацію для отримання додаткової інформації.",
- "You need to enable the File sharing App." : "Потрібно увімкнути застосунок для обміну файлами.",
- "Loading app list" : "Завантаження переліку застосунків",
- "Loading categories" : "Завантаження категорій",
- "Developer documentation ↗" : "Документація розробника ↗",
- "Version {version}" : "Версія {version}",
- "All accounts" : "Всі облікові записи",
- "Admins" : "Адміністратори",
- "Account group: {group}" : "Група облікового запису: {group}",
- "Account management" : "Керування обліковими записами",
"Sending…" : "Надсилання...",
"Email sent" : "Лист надіслано",
"Location" : "Місце розташування",
@@ -664,6 +423,7 @@ OC.L10N.register(
"Date of birth" : "Дата народження",
"Full name" : "Повне ім'я",
"Additional email" : "Додаткова електронна адреса",
+ "Email" : "E-mail",
"Fediverse (e.g. Mastodon)" : "Fediverse (напр., Mastodon)",
"Headline" : "Заголовок",
"Organisation" : "Організація",
@@ -673,6 +433,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X (раніше відома як Twitter)",
"Website" : "Вебсайт",
"Profile visibility" : "Видимість профілю",
+ "Language" : "Мова",
"Locale" : "Локаль",
"First day of week" : "Тиждень починається",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Недоступно, оскільки ця властивість необхідна для основних функцій, включно спільний доступ до файлів та запрошення в календарі",
@@ -689,12 +450,14 @@ OC.L10N.register(
"Show to everyone" : "Показувати всім",
"Show to logged in accounts only" : "Показувати тільки для авторизованих",
"Hide" : "Сховати",
+ "Update to {version}" : "Оновити до {version}",
"Health checking" : "Перевірка доступности",
"Download and enable" : "Звантажити та увімкнути",
"Disable" : "Вимкнути",
"Allow untested app" : "Дозволити непротестовані застосунки",
"The app will be downloaded from the App Store" : "Застосунок буде звантажено з крамниці застосунків",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Відсутня інформація щодо підтримки цього застосунку вашою версією Nextcloud. Ви зможете встановити цей застосунок, проте він може працювати не так, як ви очікуєте.",
+ "{size} used" : "{size} використано",
"Unknown" : "Невідомо",
"Never" : "Ніколи",
"Could not register device: Network error" : "Не вдалося зареєструвати пристрій: помилка мережі",
@@ -711,8 +474,10 @@ OC.L10N.register(
"Error while updating device token scope" : "Помилка під час оновлення області токена пристрою",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Забагато запитів із вашої мережі. Повторіть спробу пізніше або зверніться до адміністратора, якщо це помилка.",
"Error" : "Помилка",
+ "Default quota" : "Типова квота",
"Account documentation" : "Документація для користувача",
"Administration documentation" : "Документація для адміністратора",
+ "Documentation" : "Документація",
"Forum" : "Форум",
"Nextcloud help & privacy resources" : "Допомога із Nextcloud та ресурси, пов'язані з конфіденційністю",
"General documentation" : "Загальна документація",
@@ -734,6 +499,7 @@ OC.L10N.register(
"SMTP Password" : "Пароль SMTP",
"Save" : "Зберегти",
"Test and verify email settings" : "Перевірити налаштування електронної пошти",
+ "Send email" : "Запрошення",
"Security & setup warnings" : "Перевірка налаштувань та захисту системи",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Для безпеки та продуктивності вашого сервера важливо, щоб все було налаштовано правильно. Щоб допомогти вам, ми робимо деякі автоматичні перевірки. Будь ласка, перегляньте пов'язану документацію для отримання додаткової інформації.",
"All checks passed." : "Всі перевірки виконано.",
@@ -759,9 +525,6 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "Обмеження пам'яті PHP нижче рекомендованого значення %s.",
"for WebAuthn passwordless login" : "для безпарольного входу за допомогою WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "для безпарольного входу за допомогою WebAuthn та сховище SFTP",
- "Set default expiration date for shares" : "Встановити типовий термін дії для спільних ресурсів",
- "Your biography" : "Коротко про себе",
- "You are using <strong>{usage}</strong>" : "Ви використовуєте <strong>{usage}",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Ви використовуєте <strong>{usage}</strong> із <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Встановити типовий термін дії для спільних ресурсів"
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");
diff --git a/apps/settings/l10n/uk.json b/apps/settings/l10n/uk.json
index ea360a0fcbd..e355b78022c 100644
--- a/apps/settings/l10n/uk.json
+++ b/apps/settings/l10n/uk.json
@@ -365,71 +365,6 @@
"Could not load section content from app store." : "Не вдалося отримати розділ вмісту із крамнички.",
"Loading" : "Завантаження",
"Fetching the latest news…" : "Отримання останніх оновлень...",
- "Carousel" : "Карусель",
- "Previous slide" : "Попередній слайд",
- "Next slide" : "Наступний слайд",
- "Choose slide to display" : "Виберіть слайд для показу",
- "{index} of {total}" : "{index} із {total}",
- "Daemon" : "Демон",
- "Type" : "Тип",
- "Display Name" : "Назва для показу",
- "GPUs support" : "Підтримка GPU",
- "Compute device" : "Пристрій для обчислення",
- "Learn more" : "Дізнатися більше",
- "Read-only" : "Тільки для читання",
- "Toggle read-only mode" : "Перемкнути режим тільки для читання",
- "Confirm" : "Підтвердити",
- "Cancel" : "Скасувати",
- "Description" : "Опис",
- "View in store" : "Переглянути у крамниці застосунків",
- "Visit website" : "Перейти на вебсайт",
- "Usage documentation" : "Документація користувача",
- "Admin documentation" : "Документація адміністратора",
- "Developer documentation" : "Документація для розробника",
- "Details" : "Деталі",
- "All" : "Всі",
- "Limit app usage to groups" : "Обмежити використання застосунку певними групами",
- "No results" : "Немає результатів",
- "Update to {version}" : "Оновити до {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Цей застосунок не має обмежень щодо мінімальної версії Nextcloud. В майбутньому це може викликати певні помилки.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Для цього застосунку не визначено найвищу версію Nextcloud. Це може викликати помилку в майбутньому.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Цей застосунок не буде встановлено, оскільки такі залежності неможливо виконати:",
- "Latest updated" : "Останнє оновлення",
- "Author" : "Автор",
- "Categories" : "Категорії",
- "Resources" : "Ресурси",
- "Documentation" : "Документація",
- "Interact" : "Взаємодія",
- "Report a bug" : "Повідомити про помилку",
- "Request feature" : "Запит на удосконалення",
- "Ask questions or discuss" : "Ставте запитання або обговорюйте",
- "Rate the app" : "Оцініть додаток",
- "Rate" : "Рейтинг",
- "Changelog" : "Зміни",
- "Google Chrome for Android" : "Google Chrome для Android",
- "{productName} iOS app" : "Застосунок для iOS {productName}",
- "{productName} Android app" : "Застосунок для Android {productName}",
- "{productName} Talk for iOS" : "{productName} Talk для iOS",
- "{productName} Talk for Android" : "{productName} Talk для Android",
- "Sync client" : "Синхронізувати клієнт",
- "This session" : "Цей сеанс",
- "Device name" : "Назва пристрою",
- "Cancel renaming" : "Відхилити перейменування",
- "Save new name" : "Зберегти нове ім'я",
- "Marked for remote wipe" : "Позначено для віддаленого стирання",
- "Device settings" : "Налаштування пристрою",
- "Allow filesystem access" : "Дозволити доступ до файлової системи",
- "Rename" : "Перейменувати",
- "Revoke" : "Відкликати",
- "Wipe device" : "Стерти дані на пристрої",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Відкликання цього токена може запобігти вилучення даних з вашого пристрою, якщо очищення ще не розпочалося.",
- "Device" : "Пристрій",
- "Last activity" : "Остання активність",
- "Devices & sessions" : "Пристрої та сеанси",
- "Web, desktop and mobile clients currently logged in to your account." : "Вебдоступ, стільничі клієнти та мобільні застосунки, які було авторизовано з вашим обліковим записом.",
- "Error while creating device token" : "Помилка під час створення токена пристрою",
- "App name" : "Зазначте назву застосунку",
- "Create new app password" : "Створіть новий пароль застосунку",
"App password copied!" : "Пароль на застосунок скопійовано!",
"Copy app password" : "Копіювати пароль на застосунок",
"Login name copied!" : "Лоґін скопійовано!",
@@ -473,187 +408,11 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Завжди корисно регулярно створювати резервні копії ваших даних, у разі шифрування обов’язково зробіть резервну копію ключів шифрування разом із вашими даними.",
"This is the final warning: Do you really want to enable encryption?" : "Це останнє попередження: Ви справді хочете ввімкнути шифрування?",
"Please confirm the group removal" : "Підтвердіть вилучення групи",
+ "Cancel" : "Скасувати",
+ "Confirm" : "Підтвердити",
"Submit" : "Продовжити",
"Rename group" : "Перейменувати групу",
"Delete group" : "Вилучити групу",
- "Current password" : "Поточний пароль",
- "New password" : "Новий пароль",
- "Change password" : "Змінити пароль",
- "Choose your profile picture" : "Виберіть зображення профілю",
- "Please select a valid png or jpg file" : "Виберіть дійсний файл png або jpg",
- "Error setting profile picture" : "Помилка налаштування зображення профілю",
- "Error cropping profile picture" : "Помилка кадрування зображення профілю",
- "Error saving profile picture" : "Помилка збереження зображення профілю",
- "Error removing profile picture" : "Помилка вилучення зображення профілю",
- "Your profile picture" : "Ваше зображення профілю",
- "Upload profile picture" : "Завантажте зображення профілю",
- "Choose profile picture from Files" : "Виберіть зображення профілю з Файлів",
- "Remove profile picture" : "Вилучити зображення профілю",
- "The file must be a PNG or JPG" : "Файл у форматі PNG або JPG",
- "Picture provided by original account" : "Картинка надана оригінальним обліковим записом",
- "Set as profile picture" : "Установити як зображення профілю",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Зауважте, що повсюдне оновлення зображення профілю може зайняти до 24 годин.",
- "Unable to update date of birth" : "Не вдалося оновити дату народження",
- "Enter your date of birth" : "Зазначте дату вашого народження",
- "You are a member of the following groups:" : "Ви є учасником груп:",
- "Your full name" : "Ваше повне ім'я",
- "Email options" : "Параметри електронної пошти",
- "Options for additional email address {index}" : "Параметри додаткової ел.адреси {index}",
- "Remove primary email" : "Вилучити основну електронну адресу",
- "Delete email" : "Вилучити",
- "This address is not confirmed" : "Це непідтверджена адреса",
- "Unset as primary email" : "Скасувати як основну електронну адресу",
- "Set as primary email" : "Зробити основною",
- "Additional email address {index}" : "Додаткова електронна адреса {index}",
- "Unable to delete primary email address" : "Не вдалося вилучити основну електронну адресу",
- "Unable to update primary email address" : "Не вдалося оновити основну електронну адресу",
- "Unable to add additional email address" : "Не вдалося додати додаткову електронну адресу",
- "Unable to update additional email address" : "Не вдалося оновити додаткову електронну адресу",
- "Unable to delete additional email address" : "Не вдалося вилучити додаткову електронну адресу",
- "Primary email for password reset and notifications" : "Основна адреса ел.пошти для надсилання пароля та сповіщень",
- "No email address set" : "E-mail не вказано",
- "Your handle" : "Ви керуєте",
- "Derived from your locale ({weekDayName})" : "{weekDayName} (визначено автоматично)",
- "Unable to update first day of week" : "Не вдалося оновити значення першого дня тижня",
- "Day to use as the first day of week" : "Тиждень починається з",
- "Your headline" : "Ваш заголовок",
- "Unable to update language" : "Не вдалося оновити мову",
- "Languages" : "Мови",
- "Help translate" : "Допомогти з перекладом",
- "No language set" : "Мову не визначено",
- "Unable to update locale" : "Не вдалося оновити мову",
- "Locales" : "Регіональні налаштування",
- "Week starts on {firstDayOfWeek}" : "Тиждень починається у {firstDayOfWeek}",
- "No locale set" : "Локаль не встановлено",
- "Your city" : "Ваше місто",
- "Your organisation" : "Ваша організація",
- "Your phone number" : "Ваш номер телефону",
- "Edit your Profile visibility" : "Встановіть видимість профілю",
- "Unable to update profile enabled state" : "Неможливо оновити стан профілю",
- "Enable profile" : "Увімкнути профіль",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Для вашого профілю можна встановити певні обмеження з показу інформації про вас. Наприклад, якщо встановлено значення \"Показувати всім\", а для певного значення \"Приватне\", значення \"Приватне\" буде мати вищий пріоритет.",
- "Unable to update visibility of {displayId}" : "Не вдалося оновити видимість {displayId}",
- "she/her" : "вона/їй",
- "he/him" : "він/йому",
- "they/them" : "вони/їм",
- "Your role" : "Ваша роль",
- "Your X (formerly Twitter) handle" : "Ваш ідентифікатор в X (раніше відомій як Twitter)",
- "Your website" : "Ваш сайт",
- "Invalid value" : "Помилкове значення",
- "Unable to update {property}" : "Не вдалося оновити {property}",
- "No {property} set" : "{property} не встановлено",
- "Change scope level of {property}, current scope is {scope}" : "Змінити рівень дії {property}, поточна область – {scope}",
- "Unable to update federation scope of the primary {property}" : "Не вдалося оновити область об'єднаної хмари основного {property}",
- "Unable to update federation scope of additional {property}" : "Не вдається оновити область об'єднаної хмари додаткового {property}",
- "Add additional email" : "Додайте додаткову електронну адресу",
- "Add" : "Додати",
- "Create" : "Створити",
- "Change" : "Змінити",
- "Delete" : "Вилучити",
- "Reshare" : "Надати у спільний доступ",
- "Default language" : "Типова мова",
- "Common languages" : "Основні мови",
- "Other languages" : "Інші мови",
- "Password change is disabled because the master key is disabled" : "Зміну пароля вимкнено, оскільки майстер-ключ відключений",
- "No accounts" : "Відсутні користувачі",
- "Loading accounts …" : "Завантаження облікових записів ...",
- "Manager" : "Менеджер",
- "Set line manager" : "Встановити безпосереднього начальника",
- "Account name will be autogenerated" : "Ім'я користувача буде автоматично створено",
- "Account name (required)" : "Ім'я користувача (обов'язково)",
- "New account" : "Новий обліковий запис",
- "Display name" : "Ім'я для показу",
- "Either password or email is required" : "Потрібно зазначити або пароль, або адресу ел.пошти",
- "Password (required)" : "Пароль (обов'язково)",
- "Email (required)" : "Ел. пошта (обов'язково)",
- "Email" : "E-mail",
- "Member of the following groups" : "Учасник(-ця) таких груп",
- "Set account groups" : "Додати користувача до груп",
- "Admin of the following groups" : "Адміністратор таких груп",
- "Set account as admin for …" : "Встановити адміністратором для ...",
- "Quota" : "Квота",
- "Set account quota" : "Встановити квоту для користувача",
- "Language" : "Мова",
- "Set default language" : "Встановити типову мову",
- "Add new account" : "Створити нового користувача",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} обліковий запис …","{userCount} облікові записи …","{userCount} облікових записів …","{userCount} облікових записів …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} обліковий запис","{userCount} облікові записи","{userCount} облікових записів","{userCount} обліковий запис"],
- "Total rows summary" : "Загалом рядків",
- "Scroll to load more rows" : "Прокрутіть для завантаження наступних записів",
- "Password or insufficient permissions message" : "Повідомлення про потребу ввести пароль або недостатній рівень доступу",
- "Avatar" : "Світлина",
- "Account name" : "Назва облікового запису",
- "Group admin for" : "Адміністратор групи",
- "Storage location" : "Місце розташування сховища",
- "First login" : "Перший вхід",
- "Last login" : "Останній вхід",
- "Account actions" : "Дії з обліковим записом",
- "{size} used" : "{size} використано",
- "Delete account" : "Вилучити обліковий запис",
- "Disconnect all devices and delete local data" : "Від'єднайте всі пристрої та видаліть локальні дані",
- "Disable account" : "Вимкнути обліковий запис",
- "Enable account" : "Увімкнути обліковий запис",
- "Resend welcome email" : "Надіслати запрошення ще раз",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "У разі втрати пристрою або виходу з організації це може віддалено стерти дані Nextcloud з усіх пристроїв, пов’язаних з {userid}. Працює, лише якщо пристрої підключено до Інтернету.",
- "Remote wipe of devices" : "Віддалене стирання даних на пристрої",
- "Wipe {userid}'s devices" : "Стерти пристрої {userid}",
- "Wiped {userid}'s devices" : "Стерті пристрої {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Повністю вилучає обліковий запис {userid} включно з особистими файлами, даними застосунків тощо.",
- "Account deletion" : "Вилучення облікового запису",
- "Delete {userid}'s account" : "Вилучити обліковий запис {userid}",
- "Display name was successfully changed" : "Ім'я для показу успішно змінено",
- "Password was successfully changed" : "Пароль успішно змінено",
- "Email was successfully changed" : "Адресу електронної пошти успішно змінено",
- "Welcome mail sent!" : "Запрошення надіслано!",
- "Loading account …" : "Завантаження облікового запису ...",
- "Change display name" : "Зміни ім'я для показу",
- "Set new password" : "Встановіть новий пароль",
- "You do not have permissions to see the details of this account" : "Відсутні повноваження на перегляд інформації про цей обліковий запис",
- "Set new email address" : "Встановіть нову адресу електронної пошти",
- "Add account to group" : "Додати обліковий запис до групи",
- "Set account as admin for" : "Встановити адміністратором для",
- "Select account quota" : "Встановити квоту",
- "Set the language" : "Встановити мову",
- "Toggle account actions menu" : "Переключити меню дій облікового запису",
- "Done" : "Готово",
- "Edit" : "Редагувати",
- "Account management settings" : "Налаштування",
- "Visibility" : "Видимість",
- "Show language" : "Показувати мову",
- "Show account backend" : "Показувати бекенд користувача",
- "Show storage path" : "Показувати шлях до сховища даних",
- "Show last login" : "Показувати останній вхід",
- "Sorting" : "Впорядкування",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "Системні наталаштування визначають впорядкування груп за іменем. Ці налаштування також вимикають лічильник учасників.",
- "Group list sorting" : "Впорядкування списку груп",
- "By member count" : "За лічильником учасників",
- "By name" : "Зі ім'ям",
- "Send email" : "Запрошення",
- "Send welcome email to new accounts" : "Надсилати вітальний лист щойно створеним обліковим записам",
- "Defaults" : "Стандартні",
- "Default quota" : "Типова квота",
- "Select default quota" : "Встановити типову квоту",
- "Server error while trying to complete WebAuthn device registration" : "Помилка сервера під час спроби завершити реєстрацію пристрою WebAuthn",
- "Passwordless authentication requires a secure connection." : "Авторизація без пароля вимагає безпечного з'єднання.",
- "Add WebAuthn device" : "Додайте пристрій WebAuthn",
- "Please authorize your WebAuthn device." : "Авторизуйте свій пристрій WebAuthn.",
- "Adding your device …" : "Додавання вашого пристрою...",
- "Unnamed device" : "Неназваний пристрій",
- "Passwordless Authentication" : "Авторизація без пароля",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Налаштуйте ваш обліковий запис для авторизації без пароля згідно зі стандартами FIDO2.",
- "No devices configured." : "Жодного пристрою не налаштовано.",
- "The following devices are configured for your account:" : "Для вашого облікового запису налаштовано такі пристрої:",
- "Your browser does not support WebAuthn." : "Ваш браузер не підтримує WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Як адміністратор ви можете точно налаштувати поведінку спільного використання. Будь ласка, перегляньте документацію для отримання додаткової інформації.",
- "You need to enable the File sharing App." : "Потрібно увімкнути застосунок для обміну файлами.",
- "Loading app list" : "Завантаження переліку застосунків",
- "Loading categories" : "Завантаження категорій",
- "Developer documentation ↗" : "Документація розробника ↗",
- "Version {version}" : "Версія {version}",
- "All accounts" : "Всі облікові записи",
- "Admins" : "Адміністратори",
- "Account group: {group}" : "Група облікового запису: {group}",
- "Account management" : "Керування обліковими записами",
"Sending…" : "Надсилання...",
"Email sent" : "Лист надіслано",
"Location" : "Місце розташування",
@@ -662,6 +421,7 @@
"Date of birth" : "Дата народження",
"Full name" : "Повне ім'я",
"Additional email" : "Додаткова електронна адреса",
+ "Email" : "E-mail",
"Fediverse (e.g. Mastodon)" : "Fediverse (напр., Mastodon)",
"Headline" : "Заголовок",
"Organisation" : "Організація",
@@ -671,6 +431,7 @@
"X (formerly Twitter)" : "X (раніше відома як Twitter)",
"Website" : "Вебсайт",
"Profile visibility" : "Видимість профілю",
+ "Language" : "Мова",
"Locale" : "Локаль",
"First day of week" : "Тиждень починається",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Недоступно, оскільки ця властивість необхідна для основних функцій, включно спільний доступ до файлів та запрошення в календарі",
@@ -687,12 +448,14 @@
"Show to everyone" : "Показувати всім",
"Show to logged in accounts only" : "Показувати тільки для авторизованих",
"Hide" : "Сховати",
+ "Update to {version}" : "Оновити до {version}",
"Health checking" : "Перевірка доступности",
"Download and enable" : "Звантажити та увімкнути",
"Disable" : "Вимкнути",
"Allow untested app" : "Дозволити непротестовані застосунки",
"The app will be downloaded from the App Store" : "Застосунок буде звантажено з крамниці застосунків",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Відсутня інформація щодо підтримки цього застосунку вашою версією Nextcloud. Ви зможете встановити цей застосунок, проте він може працювати не так, як ви очікуєте.",
+ "{size} used" : "{size} використано",
"Unknown" : "Невідомо",
"Never" : "Ніколи",
"Could not register device: Network error" : "Не вдалося зареєструвати пристрій: помилка мережі",
@@ -709,8 +472,10 @@
"Error while updating device token scope" : "Помилка під час оновлення області токена пристрою",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Забагато запитів із вашої мережі. Повторіть спробу пізніше або зверніться до адміністратора, якщо це помилка.",
"Error" : "Помилка",
+ "Default quota" : "Типова квота",
"Account documentation" : "Документація для користувача",
"Administration documentation" : "Документація для адміністратора",
+ "Documentation" : "Документація",
"Forum" : "Форум",
"Nextcloud help & privacy resources" : "Допомога із Nextcloud та ресурси, пов'язані з конфіденційністю",
"General documentation" : "Загальна документація",
@@ -732,6 +497,7 @@
"SMTP Password" : "Пароль SMTP",
"Save" : "Зберегти",
"Test and verify email settings" : "Перевірити налаштування електронної пошти",
+ "Send email" : "Запрошення",
"Security & setup warnings" : "Перевірка налаштувань та захисту системи",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Для безпеки та продуктивності вашого сервера важливо, щоб все було налаштовано правильно. Щоб допомогти вам, ми робимо деякі автоматичні перевірки. Будь ласка, перегляньте пов'язану документацію для отримання додаткової інформації.",
"All checks passed." : "Всі перевірки виконано.",
@@ -757,9 +523,6 @@
"The PHP memory limit is below the recommended value of %s." : "Обмеження пам'яті PHP нижче рекомендованого значення %s.",
"for WebAuthn passwordless login" : "для безпарольного входу за допомогою WebAuthn",
"for WebAuthn passwordless login, and SFTP storage" : "для безпарольного входу за допомогою WebAuthn та сховище SFTP",
- "Set default expiration date for shares" : "Встановити типовий термін дії для спільних ресурсів",
- "Your biography" : "Коротко про себе",
- "You are using <strong>{usage}</strong>" : "Ви використовуєте <strong>{usage}",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Ви використовуєте <strong>{usage}</strong> із <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "Set default expiration date for shares" : "Встановити типовий термін дії для спільних ресурсів"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/vi.js b/apps/settings/l10n/vi.js
index 62c7d6a527d..f534ce2b97e 100644
--- a/apps/settings/l10n/vi.js
+++ b/apps/settings/l10n/vi.js
@@ -196,50 +196,6 @@ OC.L10N.register(
"Group name" : "Tên nhóm",
"Please enter a valid group name" : "Vui lòng nhập tên nhóm hợp lệ",
"Loading" : "Đang tải",
- "Type" : "Loại",
- "Learn more" : "Đọc nhiều hơn",
- "Confirm" : "Xác nhận",
- "Cancel" : "Hủy",
- "Description" : "Mô tả",
- "View in store" : "Xem tại cửa hàng",
- "Visit website" : "Truy cập trang web",
- "Admin documentation" : "Tài liệu quản trị",
- "Developer documentation" : "Tài liệu dành cho nhà phát triển",
- "Details" : "Thông tin",
- "All" : "Tất cả",
- "Limit app usage to groups" : "Giới hạn sử dụng ứng dụng cho các nhóm",
- "No results" : "Không có kết quả",
- "Update to {version}" : "Cập nhật tới {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Ứng dụng này không có phiên bản Nextcloud tối thiểu được chỉ định. Đây sẽ là một lỗi trong tương lai.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ứng dụng này không có phiên bản Nextcloud tối đa được chỉ định. Đây sẽ là một lỗi trong tương lai.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ứng dụng này không thể được cài đặt vì các điều kiện phụ thuộc sau không được đáp ứng:",
- "Categories" : "Các hạng mục",
- "Resources" : "Các nguồn lực",
- "Documentation" : "Tài liệu",
- "Report a bug" : "Báo cáo lỗi",
- "Request feature" : "Yêu cầu tính năng",
- "Ask questions or discuss" : "Hỏi các câu hỏi hoặc thảo luận",
- "Rate" : "Đánh giá",
- "Changelog" : "Sổ cập nhập thay đổi",
- "Google Chrome for Android" : "Google Chrome cho Android",
- "{productName} iOS app" : "Ứng dụng iOS {productName}",
- "{productName} Android app" : "Ứng dụng Android {productName}",
- "This session" : "Phiên này",
- "Device name" : "Tên thiết bị",
- "Marked for remote wipe" : "Đánh dấu để xóa từ xa",
- "Device settings" : "Cài đặt thiết bị",
- "Allow filesystem access" : "Cho phép truy cập file hệ thống",
- "Rename" : "Đổi tên",
- "Revoke" : "Thu hồi",
- "Wipe device" : "Xóa thiết bị",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Việc thu hồi mã thông báo này có thể ngăn quá trình xóa thiết bị của bạn nếu thiết bị chưa bắt đầu quá trình xóa.",
- "Device" : "Thiết bị",
- "Last activity" : "Hoạt động cuối",
- "Devices & sessions" : "Thiết bị và phiên truy cập",
- "Web, desktop and mobile clients currently logged in to your account." : "Web, máy tính để bàn và máy khách di động hiện đang đăng nhập vào tài khoản của bạn.",
- "Error while creating device token" : "Lỗi trong khi tạo mã thông báo thiết bị",
- "App name" : "Tên ứng dụng",
- "Create new app password" : "Tạo ứng dụng mật khẩu mới",
"Could not copy app password. Please copy it manually." : "Không thể sao chép ứng dụng mật khẩu. Vui lòng sao chép thủ công.",
"Login" : "Đăng nhập",
"Password" : "Mật khẩu",
@@ -269,132 +225,10 @@ OC.L10N.register(
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Việc tạo bản sao lưu thường xuyên cho dữ liệu của bạn luôn là điều tốt, trong trường hợp mã hóa, hãy đảm bảo sao lưu các khóa mã hóa cùng với dữ liệu của bạn.",
"This is the final warning: Do you really want to enable encryption?" : "Cảnh báo lần cuối: Bạn có thực sự muốn kích hoạt tính năng mã hoá?",
"Please confirm the group removal" : "Vui lòng xác nhận việc xóa nhóm",
+ "Cancel" : "Hủy",
+ "Confirm" : "Xác nhận",
"Submit" : "Gửi đi",
"Rename group" : "Đổi tên nhóm",
- "Current password" : "Mật khẩu cũ",
- "New password" : "Mật khẩu mới",
- "Change password" : "Đổi mật khẩu",
- "Choose your profile picture" : "Chọn ảnh hồ sơ của bạn",
- "Please select a valid png or jpg file" : "Vui lòng chọn tệp png hoặc jpg hợp lệ",
- "Error setting profile picture" : "Lỗi cài đặt ảnh hồ sơ",
- "Error cropping profile picture" : "Lỗi cắt ảnh hồ sơ",
- "Error saving profile picture" : "Lỗi lưu ảnh hồ sơ",
- "Error removing profile picture" : "Lỗi xóa ảnh hồ sơ",
- "Your profile picture" : "Hình ảnh cá nhân của bạn",
- "Upload profile picture" : "Tải ảnh hồ sơ lên",
- "Choose profile picture from Files" : "Chọn ảnh hồ sơ từ Tệp",
- "Remove profile picture" : "Xóa ảnh hồ sơ",
- "The file must be a PNG or JPG" : "Tệp phải là PNG hoặc JPG",
- "Picture provided by original account" : "Hình ảnh do tài khoản gốc cung cấp",
- "Set as profile picture" : "Thiết lập như là hình ảnh hồ sơ cá nhân",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Xin lưu ý rằng có thể mất tới 24 giờ để ảnh hồ sơ của bạn được cập nhật ở mọi nơi.",
- "You are a member of the following groups:" : "Bạn là thành viên của các nhóm sau:",
- "Your full name" : "Tên đầy đủ của bạn",
- "Email options" : "Tùy chọn email",
- "Remove primary email" : "Xóa email chính",
- "Delete email" : "Xóa email",
- "This address is not confirmed" : "Địa chỉ này chưa được xác nhận",
- "Unset as primary email" : "Bỏ đặt làm email chính",
- "Set as primary email" : "Đặt làm email chính",
- "Additional email address {index}" : "Địa chỉ email bổ sung {index}",
- "Unable to delete primary email address" : "Không thể xóa địa chỉ email chính",
- "Unable to update primary email address" : "Không thể cập nhật địa chỉ email chính",
- "Unable to add additional email address" : "Không thể thêm địa chỉ email bổ sung",
- "Unable to update additional email address" : "Không thể cập nhật địa chỉ email bổ sung",
- "Unable to delete additional email address" : "Không thể xóa địa chỉ email bổ sung",
- "Primary email for password reset and notifications" : "Email chính để đặt lại mật khẩu và thông báo",
- "No email address set" : "Chưa thiết lập địa chỉ email",
- "Your headline" : "Tiêu đề của bạn",
- "Unable to update language" : "Không thể cập nhật ngôn ngữ",
- "Help translate" : "Hỗ trợ dịch thuật",
- "No language set" : "Không có ngôn ngữ",
- "Unable to update locale" : "Không thể cập nhật ngôn ngữ",
- "Week starts on {firstDayOfWeek}" : "Tuần bắt đầu vào {firstDayOfWeek}",
- "No locale set" : "Không có ngôn ngữ nào được đặt",
- "Your city" : "Thành phố",
- "Your organisation" : "Tổ chức",
- "Your phone number" : "Số điện thoại",
- "Edit your Profile visibility" : "Chỉnh sửa khả năng hiển thị Hồ sơ của bạn",
- "Unable to update profile enabled state" : "Không thể cập nhật trạng thái kích hoạt hồ sơ",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Cài đặt hạn chế hơn về khả năng hiển thị hoặc phạm vi được tôn trọng trên Hồ sơ của bạn. Ví dụ: nếu mức độ hiển thị được đặt thành \"Hiển thị cho mọi người\" và phạm vi được đặt thành \"Riêng tư\" thì \"Riêng tư\" sẽ được tôn trọng.",
- "Unable to update visibility of {displayId}" : "Không thể cập nhật mức độ hiển thị của {displayId}",
- "Your role" : "Vai trò của bạn",
- "Your website" : "Trang web của bạn",
- "Unable to update {property}" : "Không thể cập nhật {property}",
- "No {property} set" : "Không có {property} nào được đặt",
- "Change scope level of {property}, current scope is {scope}" : "Thay đổi cấp độ phạm vi của {property}, phạm vi hiện tại là {scope}",
- "Unable to update federation scope of the primary {property}" : "Không thể cập nhật phạm vi liên kết của {property} chính",
- "Unable to update federation scope of additional {property}" : "Không thể cập nhật phạm vi liên kết của {property} bổ sung",
- "Add additional email" : "Thêm email bổ sung",
- "Add" : "Thêm",
- "Create" : "Tạo mới",
- "Change" : "Chỉnh sửa",
- "Delete" : "Xóa",
- "Reshare" : "Chia sẻ lại",
- "Default language" : "Ngôn ngữ mặc định",
- "Common languages" : "Ngôn ngữ thông dụng",
- "Other languages" : "Những ngôn ngữ khác",
- "Password change is disabled because the master key is disabled" : "Thay đổi mật khẩu bị vô hiệu hóa vì khóa chính bị vô hiệu hóa",
- "Manager" : "Giám đốc",
- "Display name" : "Tên hiển thị",
- "Either password or email is required" : "Cần có mật khẩu hoặc email",
- "Password (required)" : "Mật khẩu (được yêu câu)",
- "Email (required)" : "Email (bắt buộc)",
- "Email" : "Email",
- "Quota" : "Hạn ngạch",
- "Language" : "Ngôn ngữ",
- "Set default language" : "Đặt ngôn ngữ mặc định",
- "Total rows summary" : "Tóm tắt tổng số hàng",
- "Scroll to load more rows" : "Cuộn để tải thêm hàng",
- "Password or insufficient permissions message" : "Mật khẩu hoặc thông báo không đủ quyền",
- "Avatar" : "Hình đại diện",
- "Account name" : "Tên tài khoản",
- "Group admin for" : "Quản trị viên nhóm",
- "Storage location" : "Khu vực lưu trữ",
- "Last login" : "Lần đăng nhập cuối",
- "Account actions" : "Hành động với tài khoản",
- "{size} used" : "{size} đã sử dụng",
- "Delete account" : "Xóa tài khoản",
- "Resend welcome email" : "Gửi lại email chào mừng",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Trong trường hợp thiết bị bị mất hoặc thoát khỏi tổ chức, thao tác này có thể xóa từ xa dữ liệu Nextcloud khỏi tất cả các thiết bị được liên kết với {userid}. Chỉ hoạt động nếu các thiết bị được kết nối với internet.",
- "Remote wipe of devices" : "Xóa thiết bị từ xa",
- "Wipe {userid}'s devices" : "Xóa thiết bị của {userid}",
- "Wiped {userid}'s devices" : "Đã xóa thiết bị của {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Xóa hoàn toàn tài khoản của {userid}, bao gồm tất cả các tệp cá nhân, dữ liệu ứng dụng của họ, v.v.",
- "Account deletion" : "Xóa tài khoản",
- "Delete {userid}'s account" : "Xóa tài khoản của {userid}",
- "Display name was successfully changed" : "Tên hiển thị đã được thay đổi thành công",
- "Password was successfully changed" : "Mật khẩu đã được thay đổi thành công",
- "Email was successfully changed" : "Email đã được thay đổi thành công",
- "Welcome mail sent!" : "Thư chào mừng đã được gửi!",
- "Change display name" : "Thay đổi tên hiển thị",
- "Set new password" : "Đặt mật khẩu mới",
- "Set new email address" : "Đặt địa chỉ email mới",
- "Set the language" : "Đặt ngôn ngữ",
- "Done" : "Hoàn thành",
- "Edit" : "Chỉnh sửa",
- "Visibility" : "Hiển thị",
- "Show language" : "Hiển thị ngôn ngữ",
- "Show storage path" : "Hiển thị đường dẫn lưu trữ",
- "Show last login" : "Hiển thị lần cuối đăng nhập",
- "Send email" : "Gửi email",
- "Defaults" : "Mặc định",
- "Default quota" : "Hạn ngạch mặc định",
- "Select default quota" : "Chọn hạn ngạch mặc định",
- "Server error while trying to complete WebAuthn device registration" : "Lỗi máy chủ khi cố gắng hoàn tất đăng ký thiết bị WebAuthn",
- "Passwordless authentication requires a secure connection." : "Xác thực không cần mật khẩu yêu cầu kết nối an toàn.",
- "Add WebAuthn device" : "Thêm thiết bị WebAuthn",
- "Please authorize your WebAuthn device." : "Vui lòng ủy quyền cho thiết bị WebAuthn của bạn.",
- "Adding your device …" : "Đang thêm thiết bị của bạn…",
- "Unnamed device" : "Thiết bị chưa được đặt tên",
- "Passwordless Authentication" : "Xác thực không cần mật khẩu",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Thiết lập tài khoản của bạn để xác thực không cần mật khẩu theo tiêu chuẩn FIDO2.",
- "No devices configured." : "Không có thiết bị nào được định cấu hình.",
- "The following devices are configured for your account:" : "Các thiết bị sau được định cấu hình cho tài khoản của bạn:",
- "Your browser does not support WebAuthn." : "Trình duyệt của bạn không hỗ trợ WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Với tư cách là quản trị viên, bạn có thể tinh chỉnh hành vi chia sẻ. Vui lòng xem tài liệu để biết thêm thông tin.",
- "You need to enable the File sharing App." : "Bạn cần kích hoạt Ứng dụng chia sẻ tệp.",
- "Admins" : "Quản trị viên",
"Sending…" : "Đang gửi...",
"Email sent" : "Email đã được gửi",
"Location" : "Vị trí",
@@ -402,12 +236,14 @@ OC.L10N.register(
"About" : "Giới thiệu",
"Full name" : "Tên đầy đủ",
"Additional email" : "Thư điện tử bổ sung",
+ "Email" : "Email",
"Headline" : "Tiêu đề",
"Organisation" : "Tổ chức",
"Phone number" : "Số điện thoại",
"Role" : "Vai trò",
"Website" : "Website",
"Profile visibility" : "Tấm nhìn hồ sơ",
+ "Language" : "Ngôn ngữ",
"Locale" : "Ngôn ngữ",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Không có sẵn vì thuộc tính này là bắt buộc đối với chức năng cốt lõi bao gồm chia sẻ tệp và lời mời lịch",
"Your apps" : "Ứng dụng của bạn",
@@ -419,11 +255,13 @@ OC.L10N.register(
"Supported apps" : "Ứng dụng được hỗ trợ",
"Show to everyone" : "Hiển thị cho mọi người",
"Hide" : "Ẩn",
+ "Update to {version}" : "Cập nhật tới {version}",
"Download and enable" : "Tải xuống và kích hoạt",
"Disable" : "Tắt",
"Allow untested app" : "Cho phép ứng dụng chưa được kiểm tra",
"The app will be downloaded from the App Store" : "Ứng dụng sẽ được tải xuống từ App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ứng dụng này không được đánh dấu là tương thích với phiên bản Nextcloud của bạn. Nếu bạn tiếp tục, bạn vẫn có thể cài đặt ứng dụng. Lưu ý rằng ứng dụng có thể không hoạt động như mong đợi.",
+ "{size} used" : "{size} đã sử dụng",
"Unknown" : "Không xác định",
"Never" : "Không bao giờ",
"An error occurred during the request. Unable to proceed." : "Đã xảy ra lỗi trong quá trình yêu cầu. Không thể tiếp tục.",
@@ -436,8 +274,10 @@ OC.L10N.register(
"Error while updating device token scope" : "Lỗi trong khi cập nhật phạm vi mã thông báo thiết bị",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Có quá nhiều yêu cầu từ mạng của bạn. Thử lại sau hoặc liên hệ với quản trị viên của bạn nếu đây là lỗi.",
"Error" : "Lỗi",
+ "Default quota" : "Hạn ngạch mặc định",
"Account documentation" : "Tài liệu tài khoản",
"Administration documentation" : "Tài liệu hành chính",
+ "Documentation" : "Tài liệu",
"Forum" : "Diễn đàn",
"General documentation" : "Tài liệu chung",
"Legal notice" : "Thông cáo pháp lý",
@@ -456,6 +296,7 @@ OC.L10N.register(
"SMTP Password" : "Mật khẩu SMTP",
"Save" : "Lưu",
"Test and verify email settings" : "Kiểm tra và xác minh cài đặt email",
+ "Send email" : "Gửi email",
"Security & setup warnings" : "Bảo mật và thiết lập cảnh báo",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Điều quan trọng đối với tính bảo mật và hiệu suất của phiên bản của bạn là mọi thứ đều được đặt cấu hình chính xác. Để giúp bạn điều đó, chúng tôi đang thực hiện một số kiểm tra tự động. Vui lòng xem tài liệu được liên kết để biết thêm thông tin.",
"All checks passed." : "Tất cả các kiểm tra đã thoả điều kiện",
@@ -463,9 +304,6 @@ OC.L10N.register(
"There are some warnings regarding your setup." : "Có một số cảnh báo liên quan đến thiết lập của bạn.",
"Checking for system and security issues." : "Kiểm tra các vấn đề về hệ thống và bảo mật.",
"Use a second factor besides your password to increase security for your account." : "Sử dụng yếu tố thứ hai ngoài mật khẩu để tăng tính bảo mật cho tài khoản của bạn.",
- "Set default expiration date for shares" : "Đặt ngày hết hạn mặc định cho cổ phiếu",
- "Your biography" : "Tiểu sử của bạn",
- "You are using <strong>{usage}</strong>" : "Bạn đang sử dụng {usage}",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Bạn đang sử dụng {usage} trên {totalSpace} ({usageRelative}%)"
+ "Set default expiration date for shares" : "Đặt ngày hết hạn mặc định cho cổ phiếu"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/vi.json b/apps/settings/l10n/vi.json
index 450ea619420..90ce8354649 100644
--- a/apps/settings/l10n/vi.json
+++ b/apps/settings/l10n/vi.json
@@ -194,50 +194,6 @@
"Group name" : "Tên nhóm",
"Please enter a valid group name" : "Vui lòng nhập tên nhóm hợp lệ",
"Loading" : "Đang tải",
- "Type" : "Loại",
- "Learn more" : "Đọc nhiều hơn",
- "Confirm" : "Xác nhận",
- "Cancel" : "Hủy",
- "Description" : "Mô tả",
- "View in store" : "Xem tại cửa hàng",
- "Visit website" : "Truy cập trang web",
- "Admin documentation" : "Tài liệu quản trị",
- "Developer documentation" : "Tài liệu dành cho nhà phát triển",
- "Details" : "Thông tin",
- "All" : "Tất cả",
- "Limit app usage to groups" : "Giới hạn sử dụng ứng dụng cho các nhóm",
- "No results" : "Không có kết quả",
- "Update to {version}" : "Cập nhật tới {version}",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Ứng dụng này không có phiên bản Nextcloud tối thiểu được chỉ định. Đây sẽ là một lỗi trong tương lai.",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Ứng dụng này không có phiên bản Nextcloud tối đa được chỉ định. Đây sẽ là một lỗi trong tương lai.",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "Ứng dụng này không thể được cài đặt vì các điều kiện phụ thuộc sau không được đáp ứng:",
- "Categories" : "Các hạng mục",
- "Resources" : "Các nguồn lực",
- "Documentation" : "Tài liệu",
- "Report a bug" : "Báo cáo lỗi",
- "Request feature" : "Yêu cầu tính năng",
- "Ask questions or discuss" : "Hỏi các câu hỏi hoặc thảo luận",
- "Rate" : "Đánh giá",
- "Changelog" : "Sổ cập nhập thay đổi",
- "Google Chrome for Android" : "Google Chrome cho Android",
- "{productName} iOS app" : "Ứng dụng iOS {productName}",
- "{productName} Android app" : "Ứng dụng Android {productName}",
- "This session" : "Phiên này",
- "Device name" : "Tên thiết bị",
- "Marked for remote wipe" : "Đánh dấu để xóa từ xa",
- "Device settings" : "Cài đặt thiết bị",
- "Allow filesystem access" : "Cho phép truy cập file hệ thống",
- "Rename" : "Đổi tên",
- "Revoke" : "Thu hồi",
- "Wipe device" : "Xóa thiết bị",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Việc thu hồi mã thông báo này có thể ngăn quá trình xóa thiết bị của bạn nếu thiết bị chưa bắt đầu quá trình xóa.",
- "Device" : "Thiết bị",
- "Last activity" : "Hoạt động cuối",
- "Devices & sessions" : "Thiết bị và phiên truy cập",
- "Web, desktop and mobile clients currently logged in to your account." : "Web, máy tính để bàn và máy khách di động hiện đang đăng nhập vào tài khoản của bạn.",
- "Error while creating device token" : "Lỗi trong khi tạo mã thông báo thiết bị",
- "App name" : "Tên ứng dụng",
- "Create new app password" : "Tạo ứng dụng mật khẩu mới",
"Could not copy app password. Please copy it manually." : "Không thể sao chép ứng dụng mật khẩu. Vui lòng sao chép thủ công.",
"Login" : "Đăng nhập",
"Password" : "Mật khẩu",
@@ -267,132 +223,10 @@
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Việc tạo bản sao lưu thường xuyên cho dữ liệu của bạn luôn là điều tốt, trong trường hợp mã hóa, hãy đảm bảo sao lưu các khóa mã hóa cùng với dữ liệu của bạn.",
"This is the final warning: Do you really want to enable encryption?" : "Cảnh báo lần cuối: Bạn có thực sự muốn kích hoạt tính năng mã hoá?",
"Please confirm the group removal" : "Vui lòng xác nhận việc xóa nhóm",
+ "Cancel" : "Hủy",
+ "Confirm" : "Xác nhận",
"Submit" : "Gửi đi",
"Rename group" : "Đổi tên nhóm",
- "Current password" : "Mật khẩu cũ",
- "New password" : "Mật khẩu mới",
- "Change password" : "Đổi mật khẩu",
- "Choose your profile picture" : "Chọn ảnh hồ sơ của bạn",
- "Please select a valid png or jpg file" : "Vui lòng chọn tệp png hoặc jpg hợp lệ",
- "Error setting profile picture" : "Lỗi cài đặt ảnh hồ sơ",
- "Error cropping profile picture" : "Lỗi cắt ảnh hồ sơ",
- "Error saving profile picture" : "Lỗi lưu ảnh hồ sơ",
- "Error removing profile picture" : "Lỗi xóa ảnh hồ sơ",
- "Your profile picture" : "Hình ảnh cá nhân của bạn",
- "Upload profile picture" : "Tải ảnh hồ sơ lên",
- "Choose profile picture from Files" : "Chọn ảnh hồ sơ từ Tệp",
- "Remove profile picture" : "Xóa ảnh hồ sơ",
- "The file must be a PNG or JPG" : "Tệp phải là PNG hoặc JPG",
- "Picture provided by original account" : "Hình ảnh do tài khoản gốc cung cấp",
- "Set as profile picture" : "Thiết lập như là hình ảnh hồ sơ cá nhân",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Xin lưu ý rằng có thể mất tới 24 giờ để ảnh hồ sơ của bạn được cập nhật ở mọi nơi.",
- "You are a member of the following groups:" : "Bạn là thành viên của các nhóm sau:",
- "Your full name" : "Tên đầy đủ của bạn",
- "Email options" : "Tùy chọn email",
- "Remove primary email" : "Xóa email chính",
- "Delete email" : "Xóa email",
- "This address is not confirmed" : "Địa chỉ này chưa được xác nhận",
- "Unset as primary email" : "Bỏ đặt làm email chính",
- "Set as primary email" : "Đặt làm email chính",
- "Additional email address {index}" : "Địa chỉ email bổ sung {index}",
- "Unable to delete primary email address" : "Không thể xóa địa chỉ email chính",
- "Unable to update primary email address" : "Không thể cập nhật địa chỉ email chính",
- "Unable to add additional email address" : "Không thể thêm địa chỉ email bổ sung",
- "Unable to update additional email address" : "Không thể cập nhật địa chỉ email bổ sung",
- "Unable to delete additional email address" : "Không thể xóa địa chỉ email bổ sung",
- "Primary email for password reset and notifications" : "Email chính để đặt lại mật khẩu và thông báo",
- "No email address set" : "Chưa thiết lập địa chỉ email",
- "Your headline" : "Tiêu đề của bạn",
- "Unable to update language" : "Không thể cập nhật ngôn ngữ",
- "Help translate" : "Hỗ trợ dịch thuật",
- "No language set" : "Không có ngôn ngữ",
- "Unable to update locale" : "Không thể cập nhật ngôn ngữ",
- "Week starts on {firstDayOfWeek}" : "Tuần bắt đầu vào {firstDayOfWeek}",
- "No locale set" : "Không có ngôn ngữ nào được đặt",
- "Your city" : "Thành phố",
- "Your organisation" : "Tổ chức",
- "Your phone number" : "Số điện thoại",
- "Edit your Profile visibility" : "Chỉnh sửa khả năng hiển thị Hồ sơ của bạn",
- "Unable to update profile enabled state" : "Không thể cập nhật trạng thái kích hoạt hồ sơ",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Cài đặt hạn chế hơn về khả năng hiển thị hoặc phạm vi được tôn trọng trên Hồ sơ của bạn. Ví dụ: nếu mức độ hiển thị được đặt thành \"Hiển thị cho mọi người\" và phạm vi được đặt thành \"Riêng tư\" thì \"Riêng tư\" sẽ được tôn trọng.",
- "Unable to update visibility of {displayId}" : "Không thể cập nhật mức độ hiển thị của {displayId}",
- "Your role" : "Vai trò của bạn",
- "Your website" : "Trang web của bạn",
- "Unable to update {property}" : "Không thể cập nhật {property}",
- "No {property} set" : "Không có {property} nào được đặt",
- "Change scope level of {property}, current scope is {scope}" : "Thay đổi cấp độ phạm vi của {property}, phạm vi hiện tại là {scope}",
- "Unable to update federation scope of the primary {property}" : "Không thể cập nhật phạm vi liên kết của {property} chính",
- "Unable to update federation scope of additional {property}" : "Không thể cập nhật phạm vi liên kết của {property} bổ sung",
- "Add additional email" : "Thêm email bổ sung",
- "Add" : "Thêm",
- "Create" : "Tạo mới",
- "Change" : "Chỉnh sửa",
- "Delete" : "Xóa",
- "Reshare" : "Chia sẻ lại",
- "Default language" : "Ngôn ngữ mặc định",
- "Common languages" : "Ngôn ngữ thông dụng",
- "Other languages" : "Những ngôn ngữ khác",
- "Password change is disabled because the master key is disabled" : "Thay đổi mật khẩu bị vô hiệu hóa vì khóa chính bị vô hiệu hóa",
- "Manager" : "Giám đốc",
- "Display name" : "Tên hiển thị",
- "Either password or email is required" : "Cần có mật khẩu hoặc email",
- "Password (required)" : "Mật khẩu (được yêu câu)",
- "Email (required)" : "Email (bắt buộc)",
- "Email" : "Email",
- "Quota" : "Hạn ngạch",
- "Language" : "Ngôn ngữ",
- "Set default language" : "Đặt ngôn ngữ mặc định",
- "Total rows summary" : "Tóm tắt tổng số hàng",
- "Scroll to load more rows" : "Cuộn để tải thêm hàng",
- "Password or insufficient permissions message" : "Mật khẩu hoặc thông báo không đủ quyền",
- "Avatar" : "Hình đại diện",
- "Account name" : "Tên tài khoản",
- "Group admin for" : "Quản trị viên nhóm",
- "Storage location" : "Khu vực lưu trữ",
- "Last login" : "Lần đăng nhập cuối",
- "Account actions" : "Hành động với tài khoản",
- "{size} used" : "{size} đã sử dụng",
- "Delete account" : "Xóa tài khoản",
- "Resend welcome email" : "Gửi lại email chào mừng",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "Trong trường hợp thiết bị bị mất hoặc thoát khỏi tổ chức, thao tác này có thể xóa từ xa dữ liệu Nextcloud khỏi tất cả các thiết bị được liên kết với {userid}. Chỉ hoạt động nếu các thiết bị được kết nối với internet.",
- "Remote wipe of devices" : "Xóa thiết bị từ xa",
- "Wipe {userid}'s devices" : "Xóa thiết bị của {userid}",
- "Wiped {userid}'s devices" : "Đã xóa thiết bị của {userid}",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "Xóa hoàn toàn tài khoản của {userid}, bao gồm tất cả các tệp cá nhân, dữ liệu ứng dụng của họ, v.v.",
- "Account deletion" : "Xóa tài khoản",
- "Delete {userid}'s account" : "Xóa tài khoản của {userid}",
- "Display name was successfully changed" : "Tên hiển thị đã được thay đổi thành công",
- "Password was successfully changed" : "Mật khẩu đã được thay đổi thành công",
- "Email was successfully changed" : "Email đã được thay đổi thành công",
- "Welcome mail sent!" : "Thư chào mừng đã được gửi!",
- "Change display name" : "Thay đổi tên hiển thị",
- "Set new password" : "Đặt mật khẩu mới",
- "Set new email address" : "Đặt địa chỉ email mới",
- "Set the language" : "Đặt ngôn ngữ",
- "Done" : "Hoàn thành",
- "Edit" : "Chỉnh sửa",
- "Visibility" : "Hiển thị",
- "Show language" : "Hiển thị ngôn ngữ",
- "Show storage path" : "Hiển thị đường dẫn lưu trữ",
- "Show last login" : "Hiển thị lần cuối đăng nhập",
- "Send email" : "Gửi email",
- "Defaults" : "Mặc định",
- "Default quota" : "Hạn ngạch mặc định",
- "Select default quota" : "Chọn hạn ngạch mặc định",
- "Server error while trying to complete WebAuthn device registration" : "Lỗi máy chủ khi cố gắng hoàn tất đăng ký thiết bị WebAuthn",
- "Passwordless authentication requires a secure connection." : "Xác thực không cần mật khẩu yêu cầu kết nối an toàn.",
- "Add WebAuthn device" : "Thêm thiết bị WebAuthn",
- "Please authorize your WebAuthn device." : "Vui lòng ủy quyền cho thiết bị WebAuthn của bạn.",
- "Adding your device …" : "Đang thêm thiết bị của bạn…",
- "Unnamed device" : "Thiết bị chưa được đặt tên",
- "Passwordless Authentication" : "Xác thực không cần mật khẩu",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Thiết lập tài khoản của bạn để xác thực không cần mật khẩu theo tiêu chuẩn FIDO2.",
- "No devices configured." : "Không có thiết bị nào được định cấu hình.",
- "The following devices are configured for your account:" : "Các thiết bị sau được định cấu hình cho tài khoản của bạn:",
- "Your browser does not support WebAuthn." : "Trình duyệt của bạn không hỗ trợ WebAuthn.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Với tư cách là quản trị viên, bạn có thể tinh chỉnh hành vi chia sẻ. Vui lòng xem tài liệu để biết thêm thông tin.",
- "You need to enable the File sharing App." : "Bạn cần kích hoạt Ứng dụng chia sẻ tệp.",
- "Admins" : "Quản trị viên",
"Sending…" : "Đang gửi...",
"Email sent" : "Email đã được gửi",
"Location" : "Vị trí",
@@ -400,12 +234,14 @@
"About" : "Giới thiệu",
"Full name" : "Tên đầy đủ",
"Additional email" : "Thư điện tử bổ sung",
+ "Email" : "Email",
"Headline" : "Tiêu đề",
"Organisation" : "Tổ chức",
"Phone number" : "Số điện thoại",
"Role" : "Vai trò",
"Website" : "Website",
"Profile visibility" : "Tấm nhìn hồ sơ",
+ "Language" : "Ngôn ngữ",
"Locale" : "Ngôn ngữ",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Không có sẵn vì thuộc tính này là bắt buộc đối với chức năng cốt lõi bao gồm chia sẻ tệp và lời mời lịch",
"Your apps" : "Ứng dụng của bạn",
@@ -417,11 +253,13 @@
"Supported apps" : "Ứng dụng được hỗ trợ",
"Show to everyone" : "Hiển thị cho mọi người",
"Hide" : "Ẩn",
+ "Update to {version}" : "Cập nhật tới {version}",
"Download and enable" : "Tải xuống và kích hoạt",
"Disable" : "Tắt",
"Allow untested app" : "Cho phép ứng dụng chưa được kiểm tra",
"The app will be downloaded from the App Store" : "Ứng dụng sẽ được tải xuống từ App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ứng dụng này không được đánh dấu là tương thích với phiên bản Nextcloud của bạn. Nếu bạn tiếp tục, bạn vẫn có thể cài đặt ứng dụng. Lưu ý rằng ứng dụng có thể không hoạt động như mong đợi.",
+ "{size} used" : "{size} đã sử dụng",
"Unknown" : "Không xác định",
"Never" : "Không bao giờ",
"An error occurred during the request. Unable to proceed." : "Đã xảy ra lỗi trong quá trình yêu cầu. Không thể tiếp tục.",
@@ -434,8 +272,10 @@
"Error while updating device token scope" : "Lỗi trong khi cập nhật phạm vi mã thông báo thiết bị",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Có quá nhiều yêu cầu từ mạng của bạn. Thử lại sau hoặc liên hệ với quản trị viên của bạn nếu đây là lỗi.",
"Error" : "Lỗi",
+ "Default quota" : "Hạn ngạch mặc định",
"Account documentation" : "Tài liệu tài khoản",
"Administration documentation" : "Tài liệu hành chính",
+ "Documentation" : "Tài liệu",
"Forum" : "Diễn đàn",
"General documentation" : "Tài liệu chung",
"Legal notice" : "Thông cáo pháp lý",
@@ -454,6 +294,7 @@
"SMTP Password" : "Mật khẩu SMTP",
"Save" : "Lưu",
"Test and verify email settings" : "Kiểm tra và xác minh cài đặt email",
+ "Send email" : "Gửi email",
"Security & setup warnings" : "Bảo mật và thiết lập cảnh báo",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Điều quan trọng đối với tính bảo mật và hiệu suất của phiên bản của bạn là mọi thứ đều được đặt cấu hình chính xác. Để giúp bạn điều đó, chúng tôi đang thực hiện một số kiểm tra tự động. Vui lòng xem tài liệu được liên kết để biết thêm thông tin.",
"All checks passed." : "Tất cả các kiểm tra đã thoả điều kiện",
@@ -461,9 +302,6 @@
"There are some warnings regarding your setup." : "Có một số cảnh báo liên quan đến thiết lập của bạn.",
"Checking for system and security issues." : "Kiểm tra các vấn đề về hệ thống và bảo mật.",
"Use a second factor besides your password to increase security for your account." : "Sử dụng yếu tố thứ hai ngoài mật khẩu để tăng tính bảo mật cho tài khoản của bạn.",
- "Set default expiration date for shares" : "Đặt ngày hết hạn mặc định cho cổ phiếu",
- "Your biography" : "Tiểu sử của bạn",
- "You are using <strong>{usage}</strong>" : "Bạn đang sử dụng {usage}",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Bạn đang sử dụng {usage} trên {totalSpace} ({usageRelative}%)"
+ "Set default expiration date for shares" : "Đặt ngày hết hạn mặc định cho cổ phiếu"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/zh_CN.js b/apps/settings/l10n/zh_CN.js
index 4d1cb4663a5..8854653742e 100644
--- a/apps/settings/l10n/zh_CN.js
+++ b/apps/settings/l10n/zh_CN.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP标头",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 标头未设置为 `%2$s`。 某些功能可能无法正常工作,建议相应地调整此设置。",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP标头未设置为 `%2$s`。这可能是潜在的安全或隐私风险,建议调整此设置。",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 标头不包含 `%2$s`。这是一个潜在的安全或隐私风险,建议相应地调整此设置。",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- `%1$s` HTTP 头未设置为 `%2$s`、`%3$s`、`%4$s`、`%5$s` 或 `%6$s`。这可能会泄露引用地址信息。请参阅相关文档以获取更多信息:{w3c-recommendation}。",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- Strict-Transport-Security` HTTP 头未设置为至少`%d` 秒(当前值:`%d`)。为了增强安全性,建议采用更长的 HSTS 策略。",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- Strict-Transport-Security HTTP 头格式不正确:%s。为增强安全性,建议启用 HSTS。",
@@ -447,97 +446,6 @@ OC.L10N.register(
"Could not load section content from app store." : "无法从应用商店加载部分内容。",
"Loading" : "加载中",
"Fetching the latest news…" : "正在获取最新消息...",
- "Carousel" : "轮播",
- "Previous slide" : "上一张幻灯片",
- "Next slide" : "下一张幻灯片",
- "Choose slide to display" : "选择要显示的幻灯片",
- "{index} of {total}" : "第 {index} 页,共 {total} 页",
- "Daemon" : "守护进程",
- "Deploy Daemon" : "部署守护进程",
- "Type" : "类型",
- "Display Name" : "显示名称",
- "GPUs support" : "GPU 支持",
- "Compute device" : "计算设备",
- "Advanced deploy options" : "高级部署选项",
- "Edit ExApp deploy options before installation" : "安装前编辑外部应用部署选项",
- "Configured ExApp deploy options. Can be set only during installation" : "已配置外部应用部署选项,只能在安装过程中设置",
- "Learn more" : "了解更多",
- "Environment variables" : "环境变量",
- "ExApp container environment variables" : "外部应用容器环境变量",
- "No environment variables defined" : "未定义环境变量",
- "Mounts" : "挂载",
- "Define host folder mounts to bind to the ExApp container" : "定义要绑定到外部应用容器的主机文件夹挂载",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "安装外部应用之前,必须存在于部署守护进程主机上",
- "Host path" : "主机路径",
- "Container path" : "容器路径",
- "Read-only" : "只读",
- "Remove mount" : "移除挂载",
- "New mount" : "新挂载",
- "Enter path to host folder" : "输入主机文件夹路径",
- "Enter path to container folder" : "输入容器文件夹的路径",
- "Toggle read-only mode" : "切换只读模式",
- "Confirm adding new mount" : "确认添加新挂载",
- "Confirm" : "确认",
- "Cancel adding mount" : "取消添加挂载",
- "Cancel" : "取消",
- "Add mount" : "添加挂载",
- "ExApp container mounts" : "外部应用容器挂载",
- "No mounts defined" : "未定义挂载",
- "Description" : "描述",
- "View in store" : "在商店中查看",
- "Visit website" : "访问网站",
- "Usage documentation" : "使用手册",
- "Admin documentation" : "管理员文档",
- "Developer documentation" : "开发者文档",
- "Details" : "详情",
- "All" : "全部",
- "Limit app usage to groups" : "限制可使用应用的分组",
- "No results" : "没有结果",
- "Update to {version}" : "更新至 {version}",
- "Deploy options" : "部署选项",
- "Default Deploy daemon is not accessible" : "默认部署守护程序不可访问",
- "Delete data on remove" : "移除时删除数据",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "该应用没有指定支持的 Nextcloud 最低版本。可能会在将来出现问题。",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "该应用没有指定支持的 Nextcloud 最高版本。可能会在将来出现问题。",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "无法安装应用,因为无法满足下列依赖:",
- "Latest updated" : "最近更新",
- "Author" : "作者",
- "Categories" : "分类",
- "Resources" : "资源",
- "Documentation" : "文档",
- "Interact" : "交互",
- "Report a bug" : "报告问题",
- "Request feature" : "请求功能",
- "Ask questions or discuss" : "提问或讨论",
- "Rate the app" : "对应用进行评分",
- "Rate" : "评价",
- "Changelog" : "更改日志",
- "Google Chrome for Android" : "Android 版 Google Chrome",
- "{productName} iOS app" : "{productName} iOS 应用",
- "{productName} Android app" : "{productName} 安卓应用",
- "{productName} Talk for iOS" : "{productName} iOS 版通话应用",
- "{productName} Talk for Android" : "{productName} Android 版通话应用",
- "Sync client" : "同步客户端",
- "This session" : "当前会话",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "设备名称",
- "Cancel renaming" : "取消重命名",
- "Save new name" : "保存新名称",
- "Marked for remote wipe" : "标记为远程擦除",
- "Device settings" : "设备设置",
- "Allow filesystem access" : "允许访问文件系统",
- "Rename" : "重命名",
- "Revoke" : "撤销",
- "Wipe device" : "擦除设备",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "如果您的设备还没有开始擦除,撤销这个令牌可能会阻止擦除它。",
- "Device" : "设备",
- "Last activity" : "最后活跃",
- "Devices & sessions" : "设备和活动链接",
- "Web, desktop and mobile clients currently logged in to your account." : "您账号当前登录的网页版,桌面和移动客户端。",
- "Error while creating device token" : "创建设备令牌时出错",
- "App name" : "应用名",
- "Create new app password" : "创建新应用密码",
"App password copied!" : "应用程序密码已复制!",
"Copy app password" : "复制应用程序密码",
"Login name copied!" : "登录名称已复制!",
@@ -591,203 +499,11 @@ OC.L10N.register(
"Failed to delete group \"{group}\"" : "无法删除群组“{group}”",
"Please confirm the group removal" : "请确认移除该群组",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "您即将删除群组“{group}”。账号将不会被删除。",
+ "Cancel" : "取消",
+ "Confirm" : "确认",
"Submit" : "提交",
"Rename group" : "重命名分组",
"Delete group" : "删除群组",
- "Current password" : "当前密码",
- "New password" : "新密码",
- "Change password" : "修改密码",
- "Choose your profile picture" : "选择您的个人资料图片",
- "Please select a valid png or jpg file" : "请选择有效的 png 或 jpg 文件",
- "Error setting profile picture" : "设置个人资料图片出错 ",
- "Error cropping profile picture" : "剪裁个人资料图片出错",
- "Error saving profile picture" : "保存个人资料图片出错",
- "Error removing profile picture" : "移除个人资料图片出错",
- "Your profile picture" : "您的个人资料图片",
- "Upload profile picture" : "上传个人资料图片",
- "Choose profile picture from Files" : "从文件中选择个人资料图片",
- "Remove profile picture" : "移除个人资料图片",
- "The file must be a PNG or JPG" : "文件必须是 PNG 或 JPG 格式",
- "Picture provided by original account" : "初始账号提供的图片",
- "Set as profile picture" : "设置为个人资料图片",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "请注意,您的个人资料图片可能需要 24 小时才能在所有地方更新完成。",
- "Your biography. Markdown is supported." : "您的传记,支持 Markdown。",
- "Unable to update date of birth" : "无法更新出生日期",
- "Enter your date of birth" : "輸入您的出生日期",
- "You are using {s}{usage}{/s}" : "您正在使用 {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "您已使用 {s}{usage}{/s},总容量 {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "您是以下群组的成员:",
- "Your full name" : "您的全名",
- "Email options" : "电子邮件选项",
- "Options for additional email address {index}" : "其他电子邮件地址 {index} 的选项",
- "Remove primary email" : "删除主邮件地址",
- "Delete email" : "删除电子邮件",
- "This address is not confirmed" : "此地址未经确认",
- "Unset as primary email" : "取消设为主邮件地址",
- "Set as primary email" : "设为主电子邮件地址",
- "Additional email address {index}" : "附加邮件地址 {index}",
- "Unable to delete primary email address" : "无法删除主电邮地址",
- "Unable to update primary email address" : "无法更新主电邮地址",
- "Unable to add additional email address" : "无法新增附加电邮地址",
- "Unable to update additional email address" : "无法更新附加电邮地址",
- "Unable to delete additional email address" : "无法删除附加电邮地址",
- "Primary email for password reset and notifications" : "用于重设密码和通知的主邮件",
- "No email address set" : "尚未设置 Email 地址",
- "Your handle" : "您的别名",
- "Derived from your locale ({weekDayName})" : "源自你的区域设置 ({weekDayName})",
- "Unable to update first day of week" : "无法更新每周的第一天",
- "Day to use as the first day of week" : "选择星期几作为每周的第一天",
- "Your headline" : "您的标题",
- "Unable to update language" : "无法更新语言",
- "Languages" : "语言",
- "Help translate" : "帮助翻译",
- "No language set" : "没有设置语言",
- "Unable to update locale" : "无法更新语系",
- "Locales" : "地区语系",
- "Week starts on {firstDayOfWeek}" : "每周开始于 {firstDayOfWeek}",
- "No locale set" : "没有设置语系",
- "Your city" : "您的城市",
- "Your organisation" : "您的组织",
- "Your phone number" : "您的电话号码",
- "Edit your Profile visibility" : "编辑个人资料可见性",
- "Unable to update profile enabled state" : "无法更新个人资料启用状态",
- "Enable profile" : "启用简介",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "系统将遵循个人资料的 “可见性” 和 “范围” 设置中限制更严格那个。例如,当 “可见性” 设置为 “显示给所有人”,而 “范围” 设置为 “私密” 时,系统将按照 “私密” 来设置您个人资料",
- "Unable to update visibility of {displayId}" : "无法更新 {displayId} 的可见性",
- "she/her" : "她",
- "he/him" : "他",
- "they/them" : "他们",
- "Your role" : "您的角色",
- "Your X (formerly Twitter) handle" : "您的X(原Twitter)用户名",
- "Your website" : "您的网站",
- "Invalid value" : "无效的值",
- "Unable to update {property}" : "无法更新 {property}",
- "No {property} set" : "没有设置 {property}",
- "Change scope level of {property}, current scope is {scope}" : "更改 {property} 的范围级别,当前范围为 {scope}",
- "Unable to update federation scope of the primary {property}" : "无法更新主要 {property} 的联盟范围",
- "Unable to update federation scope of additional {property}" : "无法更新额外 {property} 的联盟范围",
- "Add additional email" : "添加额外的电子邮箱",
- "Add" : "添加",
- "Create" : "创建",
- "Change" : "修改",
- "Delete" : "删除",
- "Reshare" : "再次共享",
- "Default language" : "默认语言",
- "Common languages" : "常用语言",
- "Other languages" : "其他语言",
- "Password change is disabled because the master key is disabled" : "密码修改被禁用,因为主密码被禁用",
- "No accounts" : "没有账号",
- "Loading accounts …" : "正在加载账号...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "帐户列表。 出于性能原因,此列表未完全呈现。 当您浏览列表时,将呈现帐户。",
- "Manager" : "管理者",
- "Set line manager" : "设置行管理员",
- "Account name will be autogenerated" : "账号名称将自动生成",
- "Account name (required)" : "账号名称(必填)",
- "Failed to search groups" : "无法搜索群组",
- "New account" : "新建账号",
- "Display name" : "显示名称",
- "Either password or email is required" : "需要密码或者电子邮件地址",
- "Password (required)" : "密码(必填)",
- "Email (required)" : "电子邮件(必填)",
- "Email" : "电子邮件",
- "Member of the following groups (required)" : "以下群组的成员(必填)",
- "Member of the following groups" : "以下群组的成员",
- "Set account groups" : "设置帐户组",
- "Admin of the following groups" : "以下群组的管理员",
- "Set account as admin for …" : "将帐户设置为管理员...",
- "Quota" : "配额",
- "Set account quota" : "设置账号配额",
- "Language" : "语言",
- "Set default language" : "设置默认语言",
- "Add new account" : "添加新账号",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} 个账号…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} 个账号"],
- "Total rows summary" : "总行摘要",
- "Scroll to load more rows" : "滚动以加载更多列。",
- "Password or insufficient permissions message" : "密码错误或权限不足的提示消息",
- "Avatar" : "头像",
- "Account name" : "账号名称",
- "Group admin for" : "分组管理员",
- "Account backend" : "账户后端",
- "Storage location" : "存储位置",
- "First login" : "首次登录",
- "Last login" : "最后登录",
- "Account actions" : "账号操作",
- "{size} used" : "已使用 {size}",
- "Delete account" : "删除账号",
- "Disconnect all devices and delete local data" : "断开所有设备并删除本地数据",
- "Disable account" : "禁用账号",
- "Enable account" : "启用账号",
- "Resend welcome email" : "重新发送欢迎邮件",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "如果设备丢失或退出组织,这可以从与 {userid} 关联的所有设备中远程擦除 Nextcloud 数据。 仅当设备连接到互联网时才有效。",
- "Remote wipe of devices" : "远程擦除设备",
- "Wipe {userid}'s devices" : "擦除 {userid} 的设备",
- "Wiped {userid}'s devices" : "已抹除 {userid} 的设备",
- "Failed to load groups with details" : "无法加载包含详情的群组",
- "Failed to load sub admin groups with details" : "无法加载包含详情的子管理员群组",
- "Failed to update line manager" : "更新行管理员失败",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "完全删除 {userid} 的账号,包括其所有个人文件,应用程序数据等。",
- "Account deletion" : "账号删除",
- "Delete {userid}'s account" : "删除 {userid} 的账号",
- "Display name was successfully changed" : "显示名称更改成功",
- "Password can't be empty" : "密码不能为空",
- "Password was successfully changed" : "密码更改成功",
- "Email can't be empty" : "电子邮件不能为空",
- "Email was successfully changed" : "电子邮件已成功更改",
- "Welcome mail sent!" : "欢迎邮件已经发送!",
- "Loading account …" : "正在加载账号…",
- "Change display name" : "更改显示名称",
- "Set new password" : "设置新密码",
- "You do not have permissions to see the details of this account" : "你无权限查看此账号的详情",
- "Set new email address" : "设置新电子邮件地址",
- "Add account to group" : "将账号添加到组",
- "Set account as admin for" : "将账号设置为管理员",
- "Select account quota" : "选择账号限额",
- "Set the language" : "设置语言",
- "Toggle account actions menu" : "切换账号操作菜单",
- "Done" : "完成",
- "Edit" : "编辑",
- "Account management settings" : "账号管理设置",
- "Visibility" : "可见性",
- "Show language" : "显示语言",
- "Show account backend" : "显示账号后台",
- "Show storage path" : "显示存储路径",
- "Show first login" : "显示首次登录",
- "Show last login" : "显示最后登录",
- "Sorting" : "正在排序",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "系统配置强制按名称对组进行排序。 这也会禁用显示成员计数。",
- "Group list sorting" : "群组列表排序",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "出于性能原因,排序仅适用于当前加载的群组。当您在列表中导航或搜索时,将加载群组。",
- "By member count" : "按成员数量",
- "By name" : "按用户名",
- "Send email" : "发送电子邮件",
- "Send welcome email to new accounts" : "向新帐号发送欢迎邮件",
- "Defaults" : "默认",
- "Default quota" : "默认配额",
- "Select default quota" : "选择默认存储限额",
- "Server error while trying to complete WebAuthn device registration" : "尝试完成 WebAuthn 设备注册时出现服务器错误",
- "Passwordless authentication requires a secure connection." : "无密码身份验证需要安全的连接。",
- "Add WebAuthn device" : "添加 WebAuthn 设备",
- "Please authorize your WebAuthn device." : "请授权您的 WebAuthn 设备。",
- "Adding your device …" : "正在添加您的设备...",
- "Unnamed device" : "未命名的设备",
- "Passwordless Authentication" : "无密码认证",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "遵循 FIDO2 标准为无密码身份验证设置您的账号。",
- "No devices configured." : "未配置任何设备。",
- "The following devices are configured for your account:" : "为您的帐户配置了以下设备:",
- "Your browser does not support WebAuthn." : "您的浏览器不支持 WebAuthn。",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "作为管理员,您可以调整共享行为。 有关详细信息,请参阅文档。",
- "You need to enable the File sharing App." : "您需要启用文件共享应用",
- "App Store" : "应用商店",
- "Loading app list" : "正在加载应用程序列表",
- "Loading categories" : "正在加载分类",
- "Developer documentation ↗" : "开发者文档 ↗",
- "Version {version}, {license}-licensed" : "版本 {version},授权:{license}",
- "Version {version}" : "版本 {version}",
- "All accounts" : "所有账号",
- "Admins" : "管理员",
- "Account group: {group}" : "账号群组:{group}",
- "Account management" : "账号管理",
"Sending…" : "正在发送 ...",
"Email sent" : "邮件已发送",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "出于性能原因,当您在 Nextcloud 服务器上启用加密时,仅加密新文件和更改的文件。",
@@ -797,6 +513,7 @@ OC.L10N.register(
"Date of birth" : "出生日期",
"Full name" : "全名",
"Additional email" : "附加邮箱",
+ "Email" : "电子邮件",
"Fediverse (e.g. Mastodon)" : "联邦宇宙(例如 Mastodon)",
"Headline" : "标题",
"Organisation" : "组织",
@@ -806,6 +523,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X(原Twitter)",
"Website" : "网站",
"Profile visibility" : "个人资料可见性",
+ "Language" : "语言",
"Locale" : "地区语系",
"First day of week" : "每周的第一天",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "不可用,因为包括文件共享和日历邀请在内的核心功能需要此属性",
@@ -823,6 +541,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "仅向已登录账号显示",
"Hide" : "隐藏",
"Manually installed apps cannot be updated" : "无法更新手动安装的应用",
+ "Update to {version}" : "更新至 {version}",
"{progress}% Deploying …" : "{progress}% 部署…",
"{progress}% Initializing …" : "{progress}% 初始化…",
"Health checking" : "健康检查",
@@ -832,6 +551,7 @@ OC.L10N.register(
"Allow untested app" : "允许未经测试的应用",
"The app will be downloaded from the App Store" : "将从应用商店下载应用",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "此应用被标记为与您的 Nextcloud 版本不兼容。如果您要继续,您仍可安装此应用。请注意此应用可能不会正常工作。",
+ "{size} used" : "已使用 {size}",
"Unknown" : "未知",
"Never" : "从不",
"Could not register device: Network error" : "无法注册设备:网络错误",
@@ -850,8 +570,10 @@ OC.L10N.register(
"Could not set group sorting" : "无法设置群组排序",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "您的网络请求过多。如果出现错误,请稍后重试或与您的管理员联系。",
"Error" : "错误",
+ "Default quota" : "默认配额",
"Account documentation" : "账号文档",
"Administration documentation" : "管理文档",
+ "Documentation" : "文档",
"Forum" : "论坛",
"Nextcloud help & privacy resources" : "Nextcloud 帮助和隐私资源",
"General documentation" : "一般文档",
@@ -874,6 +596,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP 密码",
"Save" : "保存",
"Test and verify email settings" : "测试并验证电子邮箱设置",
+ "Send email" : "发送电子邮件",
"Security & setup warnings" : "安全与设置警告",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "您的每项配置对于实例的安全性和性能都至关重要。 为了帮助您,我们正在做一些自动检查。 有关详细信息,请参阅文档链接。",
"All checks passed." : "所有检查已通过。",
@@ -899,11 +622,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "PHP 内存限制低于建议值 %s。",
"for WebAuthn passwordless login" : "用于 WebAuthn 无密码登录",
"for WebAuthn passwordless login, and SFTP storage" : "用于 WebAuthn 无密码登录和 SFTP 存储",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 标头不包含 `%2$s`。这是一个潜在的安全或隐私风险,建议相应地调整此设置。",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "检测到 PostgreSQL 版本\"%s\"。建议使用 PostgreSQL >=12 和 <=16,以获得此版本 Nextcloud 的最佳性能、稳定性和功能。",
- "Set default expiration date for shares" : "设置共享的默认截止日期",
- "Your biography" : "个人简介",
- "You are using <strong>{usage}</strong>" : "您已使用<strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "您已使用 <strong>{totalSpace}</strong> 中的 <strong>{usage}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "无法加载包含详情的子管理员群组"
+ "Set default expiration date for shares" : "设置共享的默认截止日期"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/zh_CN.json b/apps/settings/l10n/zh_CN.json
index 34ea100b230..f7305101549 100644
--- a/apps/settings/l10n/zh_CN.json
+++ b/apps/settings/l10n/zh_CN.json
@@ -294,7 +294,6 @@
"HTTP headers" : "HTTP标头",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 标头未设置为 `%2$s`。 某些功能可能无法正常工作,建议相应地调整此设置。",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP标头未设置为 `%2$s`。这可能是潜在的安全或隐私风险,建议调整此设置。",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 标头不包含 `%2$s`。这是一个潜在的安全或隐私风险,建议相应地调整此设置。",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- `%1$s` HTTP 头未设置为 `%2$s`、`%3$s`、`%4$s`、`%5$s` 或 `%6$s`。这可能会泄露引用地址信息。请参阅相关文档以获取更多信息:{w3c-recommendation}。",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- Strict-Transport-Security` HTTP 头未设置为至少`%d` 秒(当前值:`%d`)。为了增强安全性,建议采用更长的 HSTS 策略。",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- Strict-Transport-Security HTTP 头格式不正确:%s。为增强安全性,建议启用 HSTS。",
@@ -445,97 +444,6 @@
"Could not load section content from app store." : "无法从应用商店加载部分内容。",
"Loading" : "加载中",
"Fetching the latest news…" : "正在获取最新消息...",
- "Carousel" : "轮播",
- "Previous slide" : "上一张幻灯片",
- "Next slide" : "下一张幻灯片",
- "Choose slide to display" : "选择要显示的幻灯片",
- "{index} of {total}" : "第 {index} 页,共 {total} 页",
- "Daemon" : "守护进程",
- "Deploy Daemon" : "部署守护进程",
- "Type" : "类型",
- "Display Name" : "显示名称",
- "GPUs support" : "GPU 支持",
- "Compute device" : "计算设备",
- "Advanced deploy options" : "高级部署选项",
- "Edit ExApp deploy options before installation" : "安装前编辑外部应用部署选项",
- "Configured ExApp deploy options. Can be set only during installation" : "已配置外部应用部署选项,只能在安装过程中设置",
- "Learn more" : "了解更多",
- "Environment variables" : "环境变量",
- "ExApp container environment variables" : "外部应用容器环境变量",
- "No environment variables defined" : "未定义环境变量",
- "Mounts" : "挂载",
- "Define host folder mounts to bind to the ExApp container" : "定义要绑定到外部应用容器的主机文件夹挂载",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "安装外部应用之前,必须存在于部署守护进程主机上",
- "Host path" : "主机路径",
- "Container path" : "容器路径",
- "Read-only" : "只读",
- "Remove mount" : "移除挂载",
- "New mount" : "新挂载",
- "Enter path to host folder" : "输入主机文件夹路径",
- "Enter path to container folder" : "输入容器文件夹的路径",
- "Toggle read-only mode" : "切换只读模式",
- "Confirm adding new mount" : "确认添加新挂载",
- "Confirm" : "确认",
- "Cancel adding mount" : "取消添加挂载",
- "Cancel" : "取消",
- "Add mount" : "添加挂载",
- "ExApp container mounts" : "外部应用容器挂载",
- "No mounts defined" : "未定义挂载",
- "Description" : "描述",
- "View in store" : "在商店中查看",
- "Visit website" : "访问网站",
- "Usage documentation" : "使用手册",
- "Admin documentation" : "管理员文档",
- "Developer documentation" : "开发者文档",
- "Details" : "详情",
- "All" : "全部",
- "Limit app usage to groups" : "限制可使用应用的分组",
- "No results" : "没有结果",
- "Update to {version}" : "更新至 {version}",
- "Deploy options" : "部署选项",
- "Default Deploy daemon is not accessible" : "默认部署守护程序不可访问",
- "Delete data on remove" : "移除时删除数据",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "该应用没有指定支持的 Nextcloud 最低版本。可能会在将来出现问题。",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "该应用没有指定支持的 Nextcloud 最高版本。可能会在将来出现问题。",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "无法安装应用,因为无法满足下列依赖:",
- "Latest updated" : "最近更新",
- "Author" : "作者",
- "Categories" : "分类",
- "Resources" : "资源",
- "Documentation" : "文档",
- "Interact" : "交互",
- "Report a bug" : "报告问题",
- "Request feature" : "请求功能",
- "Ask questions or discuss" : "提问或讨论",
- "Rate the app" : "对应用进行评分",
- "Rate" : "评价",
- "Changelog" : "更改日志",
- "Google Chrome for Android" : "Android 版 Google Chrome",
- "{productName} iOS app" : "{productName} iOS 应用",
- "{productName} Android app" : "{productName} 安卓应用",
- "{productName} Talk for iOS" : "{productName} iOS 版通话应用",
- "{productName} Talk for Android" : "{productName} Android 版通话应用",
- "Sync client" : "同步客户端",
- "This session" : "当前会话",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "设备名称",
- "Cancel renaming" : "取消重命名",
- "Save new name" : "保存新名称",
- "Marked for remote wipe" : "标记为远程擦除",
- "Device settings" : "设备设置",
- "Allow filesystem access" : "允许访问文件系统",
- "Rename" : "重命名",
- "Revoke" : "撤销",
- "Wipe device" : "擦除设备",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "如果您的设备还没有开始擦除,撤销这个令牌可能会阻止擦除它。",
- "Device" : "设备",
- "Last activity" : "最后活跃",
- "Devices & sessions" : "设备和活动链接",
- "Web, desktop and mobile clients currently logged in to your account." : "您账号当前登录的网页版,桌面和移动客户端。",
- "Error while creating device token" : "创建设备令牌时出错",
- "App name" : "应用名",
- "Create new app password" : "创建新应用密码",
"App password copied!" : "应用程序密码已复制!",
"Copy app password" : "复制应用程序密码",
"Login name copied!" : "登录名称已复制!",
@@ -589,203 +497,11 @@
"Failed to delete group \"{group}\"" : "无法删除群组“{group}”",
"Please confirm the group removal" : "请确认移除该群组",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "您即将删除群组“{group}”。账号将不会被删除。",
+ "Cancel" : "取消",
+ "Confirm" : "确认",
"Submit" : "提交",
"Rename group" : "重命名分组",
"Delete group" : "删除群组",
- "Current password" : "当前密码",
- "New password" : "新密码",
- "Change password" : "修改密码",
- "Choose your profile picture" : "选择您的个人资料图片",
- "Please select a valid png or jpg file" : "请选择有效的 png 或 jpg 文件",
- "Error setting profile picture" : "设置个人资料图片出错 ",
- "Error cropping profile picture" : "剪裁个人资料图片出错",
- "Error saving profile picture" : "保存个人资料图片出错",
- "Error removing profile picture" : "移除个人资料图片出错",
- "Your profile picture" : "您的个人资料图片",
- "Upload profile picture" : "上传个人资料图片",
- "Choose profile picture from Files" : "从文件中选择个人资料图片",
- "Remove profile picture" : "移除个人资料图片",
- "The file must be a PNG or JPG" : "文件必须是 PNG 或 JPG 格式",
- "Picture provided by original account" : "初始账号提供的图片",
- "Set as profile picture" : "设置为个人资料图片",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "请注意,您的个人资料图片可能需要 24 小时才能在所有地方更新完成。",
- "Your biography. Markdown is supported." : "您的传记,支持 Markdown。",
- "Unable to update date of birth" : "无法更新出生日期",
- "Enter your date of birth" : "輸入您的出生日期",
- "You are using {s}{usage}{/s}" : "您正在使用 {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "您已使用 {s}{usage}{/s},总容量 {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "您是以下群组的成员:",
- "Your full name" : "您的全名",
- "Email options" : "电子邮件选项",
- "Options for additional email address {index}" : "其他电子邮件地址 {index} 的选项",
- "Remove primary email" : "删除主邮件地址",
- "Delete email" : "删除电子邮件",
- "This address is not confirmed" : "此地址未经确认",
- "Unset as primary email" : "取消设为主邮件地址",
- "Set as primary email" : "设为主电子邮件地址",
- "Additional email address {index}" : "附加邮件地址 {index}",
- "Unable to delete primary email address" : "无法删除主电邮地址",
- "Unable to update primary email address" : "无法更新主电邮地址",
- "Unable to add additional email address" : "无法新增附加电邮地址",
- "Unable to update additional email address" : "无法更新附加电邮地址",
- "Unable to delete additional email address" : "无法删除附加电邮地址",
- "Primary email for password reset and notifications" : "用于重设密码和通知的主邮件",
- "No email address set" : "尚未设置 Email 地址",
- "Your handle" : "您的别名",
- "Derived from your locale ({weekDayName})" : "源自你的区域设置 ({weekDayName})",
- "Unable to update first day of week" : "无法更新每周的第一天",
- "Day to use as the first day of week" : "选择星期几作为每周的第一天",
- "Your headline" : "您的标题",
- "Unable to update language" : "无法更新语言",
- "Languages" : "语言",
- "Help translate" : "帮助翻译",
- "No language set" : "没有设置语言",
- "Unable to update locale" : "无法更新语系",
- "Locales" : "地区语系",
- "Week starts on {firstDayOfWeek}" : "每周开始于 {firstDayOfWeek}",
- "No locale set" : "没有设置语系",
- "Your city" : "您的城市",
- "Your organisation" : "您的组织",
- "Your phone number" : "您的电话号码",
- "Edit your Profile visibility" : "编辑个人资料可见性",
- "Unable to update profile enabled state" : "无法更新个人资料启用状态",
- "Enable profile" : "启用简介",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "系统将遵循个人资料的 “可见性” 和 “范围” 设置中限制更严格那个。例如,当 “可见性” 设置为 “显示给所有人”,而 “范围” 设置为 “私密” 时,系统将按照 “私密” 来设置您个人资料",
- "Unable to update visibility of {displayId}" : "无法更新 {displayId} 的可见性",
- "she/her" : "她",
- "he/him" : "他",
- "they/them" : "他们",
- "Your role" : "您的角色",
- "Your X (formerly Twitter) handle" : "您的X(原Twitter)用户名",
- "Your website" : "您的网站",
- "Invalid value" : "无效的值",
- "Unable to update {property}" : "无法更新 {property}",
- "No {property} set" : "没有设置 {property}",
- "Change scope level of {property}, current scope is {scope}" : "更改 {property} 的范围级别,当前范围为 {scope}",
- "Unable to update federation scope of the primary {property}" : "无法更新主要 {property} 的联盟范围",
- "Unable to update federation scope of additional {property}" : "无法更新额外 {property} 的联盟范围",
- "Add additional email" : "添加额外的电子邮箱",
- "Add" : "添加",
- "Create" : "创建",
- "Change" : "修改",
- "Delete" : "删除",
- "Reshare" : "再次共享",
- "Default language" : "默认语言",
- "Common languages" : "常用语言",
- "Other languages" : "其他语言",
- "Password change is disabled because the master key is disabled" : "密码修改被禁用,因为主密码被禁用",
- "No accounts" : "没有账号",
- "Loading accounts …" : "正在加载账号...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "帐户列表。 出于性能原因,此列表未完全呈现。 当您浏览列表时,将呈现帐户。",
- "Manager" : "管理者",
- "Set line manager" : "设置行管理员",
- "Account name will be autogenerated" : "账号名称将自动生成",
- "Account name (required)" : "账号名称(必填)",
- "Failed to search groups" : "无法搜索群组",
- "New account" : "新建账号",
- "Display name" : "显示名称",
- "Either password or email is required" : "需要密码或者电子邮件地址",
- "Password (required)" : "密码(必填)",
- "Email (required)" : "电子邮件(必填)",
- "Email" : "电子邮件",
- "Member of the following groups (required)" : "以下群组的成员(必填)",
- "Member of the following groups" : "以下群组的成员",
- "Set account groups" : "设置帐户组",
- "Admin of the following groups" : "以下群组的管理员",
- "Set account as admin for …" : "将帐户设置为管理员...",
- "Quota" : "配额",
- "Set account quota" : "设置账号配额",
- "Language" : "语言",
- "Set default language" : "设置默认语言",
- "Add new account" : "添加新账号",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} 个账号…"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} 个账号"],
- "Total rows summary" : "总行摘要",
- "Scroll to load more rows" : "滚动以加载更多列。",
- "Password or insufficient permissions message" : "密码错误或权限不足的提示消息",
- "Avatar" : "头像",
- "Account name" : "账号名称",
- "Group admin for" : "分组管理员",
- "Account backend" : "账户后端",
- "Storage location" : "存储位置",
- "First login" : "首次登录",
- "Last login" : "最后登录",
- "Account actions" : "账号操作",
- "{size} used" : "已使用 {size}",
- "Delete account" : "删除账号",
- "Disconnect all devices and delete local data" : "断开所有设备并删除本地数据",
- "Disable account" : "禁用账号",
- "Enable account" : "启用账号",
- "Resend welcome email" : "重新发送欢迎邮件",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "如果设备丢失或退出组织,这可以从与 {userid} 关联的所有设备中远程擦除 Nextcloud 数据。 仅当设备连接到互联网时才有效。",
- "Remote wipe of devices" : "远程擦除设备",
- "Wipe {userid}'s devices" : "擦除 {userid} 的设备",
- "Wiped {userid}'s devices" : "已抹除 {userid} 的设备",
- "Failed to load groups with details" : "无法加载包含详情的群组",
- "Failed to load sub admin groups with details" : "无法加载包含详情的子管理员群组",
- "Failed to update line manager" : "更新行管理员失败",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "完全删除 {userid} 的账号,包括其所有个人文件,应用程序数据等。",
- "Account deletion" : "账号删除",
- "Delete {userid}'s account" : "删除 {userid} 的账号",
- "Display name was successfully changed" : "显示名称更改成功",
- "Password can't be empty" : "密码不能为空",
- "Password was successfully changed" : "密码更改成功",
- "Email can't be empty" : "电子邮件不能为空",
- "Email was successfully changed" : "电子邮件已成功更改",
- "Welcome mail sent!" : "欢迎邮件已经发送!",
- "Loading account …" : "正在加载账号…",
- "Change display name" : "更改显示名称",
- "Set new password" : "设置新密码",
- "You do not have permissions to see the details of this account" : "你无权限查看此账号的详情",
- "Set new email address" : "设置新电子邮件地址",
- "Add account to group" : "将账号添加到组",
- "Set account as admin for" : "将账号设置为管理员",
- "Select account quota" : "选择账号限额",
- "Set the language" : "设置语言",
- "Toggle account actions menu" : "切换账号操作菜单",
- "Done" : "完成",
- "Edit" : "编辑",
- "Account management settings" : "账号管理设置",
- "Visibility" : "可见性",
- "Show language" : "显示语言",
- "Show account backend" : "显示账号后台",
- "Show storage path" : "显示存储路径",
- "Show first login" : "显示首次登录",
- "Show last login" : "显示最后登录",
- "Sorting" : "正在排序",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "系统配置强制按名称对组进行排序。 这也会禁用显示成员计数。",
- "Group list sorting" : "群组列表排序",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "出于性能原因,排序仅适用于当前加载的群组。当您在列表中导航或搜索时,将加载群组。",
- "By member count" : "按成员数量",
- "By name" : "按用户名",
- "Send email" : "发送电子邮件",
- "Send welcome email to new accounts" : "向新帐号发送欢迎邮件",
- "Defaults" : "默认",
- "Default quota" : "默认配额",
- "Select default quota" : "选择默认存储限额",
- "Server error while trying to complete WebAuthn device registration" : "尝试完成 WebAuthn 设备注册时出现服务器错误",
- "Passwordless authentication requires a secure connection." : "无密码身份验证需要安全的连接。",
- "Add WebAuthn device" : "添加 WebAuthn 设备",
- "Please authorize your WebAuthn device." : "请授权您的 WebAuthn 设备。",
- "Adding your device …" : "正在添加您的设备...",
- "Unnamed device" : "未命名的设备",
- "Passwordless Authentication" : "无密码认证",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "遵循 FIDO2 标准为无密码身份验证设置您的账号。",
- "No devices configured." : "未配置任何设备。",
- "The following devices are configured for your account:" : "为您的帐户配置了以下设备:",
- "Your browser does not support WebAuthn." : "您的浏览器不支持 WebAuthn。",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "作为管理员,您可以调整共享行为。 有关详细信息,请参阅文档。",
- "You need to enable the File sharing App." : "您需要启用文件共享应用",
- "App Store" : "应用商店",
- "Loading app list" : "正在加载应用程序列表",
- "Loading categories" : "正在加载分类",
- "Developer documentation ↗" : "开发者文档 ↗",
- "Version {version}, {license}-licensed" : "版本 {version},授权:{license}",
- "Version {version}" : "版本 {version}",
- "All accounts" : "所有账号",
- "Admins" : "管理员",
- "Account group: {group}" : "账号群组:{group}",
- "Account management" : "账号管理",
"Sending…" : "正在发送 ...",
"Email sent" : "邮件已发送",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "出于性能原因,当您在 Nextcloud 服务器上启用加密时,仅加密新文件和更改的文件。",
@@ -795,6 +511,7 @@
"Date of birth" : "出生日期",
"Full name" : "全名",
"Additional email" : "附加邮箱",
+ "Email" : "电子邮件",
"Fediverse (e.g. Mastodon)" : "联邦宇宙(例如 Mastodon)",
"Headline" : "标题",
"Organisation" : "组织",
@@ -804,6 +521,7 @@
"X (formerly Twitter)" : "X(原Twitter)",
"Website" : "网站",
"Profile visibility" : "个人资料可见性",
+ "Language" : "语言",
"Locale" : "地区语系",
"First day of week" : "每周的第一天",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "不可用,因为包括文件共享和日历邀请在内的核心功能需要此属性",
@@ -821,6 +539,7 @@
"Show to logged in accounts only" : "仅向已登录账号显示",
"Hide" : "隐藏",
"Manually installed apps cannot be updated" : "无法更新手动安装的应用",
+ "Update to {version}" : "更新至 {version}",
"{progress}% Deploying …" : "{progress}% 部署…",
"{progress}% Initializing …" : "{progress}% 初始化…",
"Health checking" : "健康检查",
@@ -830,6 +549,7 @@
"Allow untested app" : "允许未经测试的应用",
"The app will be downloaded from the App Store" : "将从应用商店下载应用",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "此应用被标记为与您的 Nextcloud 版本不兼容。如果您要继续,您仍可安装此应用。请注意此应用可能不会正常工作。",
+ "{size} used" : "已使用 {size}",
"Unknown" : "未知",
"Never" : "从不",
"Could not register device: Network error" : "无法注册设备:网络错误",
@@ -848,8 +568,10 @@
"Could not set group sorting" : "无法设置群组排序",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "您的网络请求过多。如果出现错误,请稍后重试或与您的管理员联系。",
"Error" : "错误",
+ "Default quota" : "默认配额",
"Account documentation" : "账号文档",
"Administration documentation" : "管理文档",
+ "Documentation" : "文档",
"Forum" : "论坛",
"Nextcloud help & privacy resources" : "Nextcloud 帮助和隐私资源",
"General documentation" : "一般文档",
@@ -872,6 +594,7 @@
"SMTP Password" : "SMTP 密码",
"Save" : "保存",
"Test and verify email settings" : "测试并验证电子邮箱设置",
+ "Send email" : "发送电子邮件",
"Security & setup warnings" : "安全与设置警告",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "您的每项配置对于实例的安全性和性能都至关重要。 为了帮助您,我们正在做一些自动检查。 有关详细信息,请参阅文档链接。",
"All checks passed." : "所有检查已通过。",
@@ -897,11 +620,8 @@
"The PHP memory limit is below the recommended value of %s." : "PHP 内存限制低于建议值 %s。",
"for WebAuthn passwordless login" : "用于 WebAuthn 无密码登录",
"for WebAuthn passwordless login, and SFTP storage" : "用于 WebAuthn 无密码登录和 SFTP 存储",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 标头不包含 `%2$s`。这是一个潜在的安全或隐私风险,建议相应地调整此设置。",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "检测到 PostgreSQL 版本\"%s\"。建议使用 PostgreSQL >=12 和 <=16,以获得此版本 Nextcloud 的最佳性能、稳定性和功能。",
- "Set default expiration date for shares" : "设置共享的默认截止日期",
- "Your biography" : "个人简介",
- "You are using <strong>{usage}</strong>" : "您已使用<strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "您已使用 <strong>{totalSpace}</strong> 中的 <strong>{usage}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "无法加载包含详情的子管理员群组"
+ "Set default expiration date for shares" : "设置共享的默认截止日期"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/zh_HK.js b/apps/settings/l10n/zh_HK.js
index ab2f321716b..8ccb8b892c7 100644
--- a/apps/settings/l10n/zh_HK.js
+++ b/apps/settings/l10n/zh_HK.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP 標頭",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並非設定為 `%2$s`。部份功能可能無法正常運作,建議調整此項設定。",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並非設定為 `%2$s`。這可能是潛在的安全性或隱私風險,建議調整此項設定。",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並不包含 `%2$s`。這可能是潛在的安全性或隱私風險,建議調整此項設定。",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- `%1$s` HTTP 標頭並非設定為 `%2$s`、`%3$s`、`%4$s`、`%5$s` 或 `%6$s`。這可能會洩漏參照位址資訊。請見 {w3c-recommendation}。",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- `Strict-Transport-Security` HTTP 標頭並未設定為至少 `%d` 秒(目前值:`%d`)。為了強化安全性,建議使用較長的 HSTS 政策。",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- `Strict-Transport-Security` HTTP 標頭格式錯誤:`%s`。為了強化安全性,建議啟用 HSTS。",
@@ -447,97 +446,6 @@ OC.L10N.register(
"Could not load section content from app store." : "無法從應用程式商店載入部份內容。",
"Loading" : "加載中",
"Fetching the latest news…" : "正在擷取最新新聞 …",
- "Carousel" : "輪播",
- "Previous slide" : "上一張投影片",
- "Next slide" : "下一張投影片",
- "Choose slide to display" : "選擇要顯示的投影片",
- "{index} of {total}" : "第 {index} 張,共 {total} 張",
- "Daemon" : "守護程式",
- "Deploy Daemon" : "部署幕後程式",
- "Type" : "類型",
- "Display Name" : "顯示名稱",
- "GPUs support" : "GPUs 支援",
- "Compute device" : "計算裝置",
- "Advanced deploy options" : "進階部署選項",
- "Edit ExApp deploy options before installation" : "在安裝前編輯 ExApp 部署選項",
- "Configured ExApp deploy options. Can be set only during installation" : "設定的 ExApp 部署選項。僅能在安裝時設定",
- "Learn more" : "了解更多",
- "Environment variables" : "環境變數",
- "ExApp container environment variables" : "ExApp 容器環境變數",
- "No environment variables defined" : "未定義環境變數",
- "Mounts" : "掛載",
- "Define host folder mounts to bind to the ExApp container" : "定義要綁紮到 ExApp 容器的主機資料夾掛載",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "在安裝 ExApp 前,必須存在於部署幕後程式主機上",
- "Host path" : "主機路徑",
- "Container path" : "容器路徑",
- "Read-only" : "唯讀",
- "Remove mount" : "移除掛載",
- "New mount" : "新掛載",
- "Enter path to host folder" : "輸入主機資料夾的路徑",
- "Enter path to container folder" : "輸入容器資料夾的路徑",
- "Toggle read-only mode" : "切換唯讀模式",
- "Confirm adding new mount" : "確認新增掛載",
- "Confirm" : "確認",
- "Cancel adding mount" : "取消新增掛載",
- "Cancel" : "取消",
- "Add mount" : "新增掛載",
- "ExApp container mounts" : "ExApp 容器掛載",
- "No mounts defined" : "未定義掛載",
- "Description" : "描述",
- "View in store" : "在商店中檢視",
- "Visit website" : "造訪網站",
- "Usage documentation" : "使用手冊",
- "Admin documentation" : "管理員使用手冊",
- "Developer documentation" : "開發人員使用手冊",
- "Details" : "詳細資訊",
- "All" : "所有",
- "Limit app usage to groups" : "限制特定群組使用應用程式",
- "No results" : "沒有結果",
- "Update to {version}" : "更新到 {version}",
- "Deploy options" : "部署選項",
- "Default Deploy daemon is not accessible" : "默認部署幕後程式無法使用",
- "Delete data on remove" : "移除時刪除數據",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "此應用程式並未指定最低的 Nextcloud 版本。未來可能會出現錯誤。",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "此應用程式並未指定最高的 Nextcloud 版本。未來可能會出現錯誤。",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "無法安裝此應用程式,因為無法滿足下列的依賴關係:",
- "Latest updated" : "最近更新",
- "Author" : "作者",
- "Categories" : "分類",
- "Resources" : "資源",
- "Documentation" : "使用手冊",
- "Interact" : "相互作用",
- "Report a bug" : "舉報錯誤",
- "Request feature" : "請求功能",
- "Ask questions or discuss" : "發問或討論",
- "Rate the app" : "評價此應用程式",
- "Rate" : "評價",
- "Changelog" : "軟件更新紀錄",
- "Google Chrome for Android" : "Android 版 Google Chrome",
- "{productName} iOS app" : "{productName} iOS 應用程式",
- "{productName} Android app" : "{productName} Android 應用程式",
- "{productName} Talk for iOS" : "{productName} Talk - iOS 版",
- "{productName} Talk for Android" : "{productName} Talk - Android 版",
- "Sync client" : "同步客戶端",
- "This session" : "此節",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "裝置名字",
- "Cancel renaming" : "取消重新命名",
- "Save new name" : "儲存新名稱",
- "Marked for remote wipe" : "標記為可遠端抹除",
- "Device settings" : "裝置設定",
- "Allow filesystem access" : "允許檔案系統的存取",
- "Rename" : "重新命名",
- "Revoke" : "撤銷",
- "Wipe device" : "抹除裝置",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "如果還沒開始抹除,則撤銷此權杖可能會導致無法抹除您的裝置。",
- "Device" : "裝置",
- "Last activity" : "上次活動",
- "Devices & sessions" : "裝置和時段",
- "Web, desktop and mobile clients currently logged in to your account." : "目前登入您帳戶的網絡、桌面和流動裝置客戶端。",
- "Error while creating device token" : "建立裝置權杖時發生錯誤",
- "App name" : "應用程式名稱",
- "Create new app password" : "建立新的應用程式密碼",
"App password copied!" : "已複製應用程式密碼!",
"Copy app password" : "複製應用程式密碼",
"Login name copied!" : "已複製登入名稱!",
@@ -591,203 +499,11 @@ OC.L10N.register(
"Failed to delete group \"{group}\"" : "無法刪除群組「{group}」",
"Please confirm the group removal" : "請確認移除群組",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "您將要刪除群組「{group}」。帳戶將不會被刪除。",
+ "Cancel" : "取消",
+ "Confirm" : "確認",
"Submit" : "遞交",
"Rename group" : "重新命名群組",
"Delete group" : "刪除群組",
- "Current password" : "目前密碼",
- "New password" : "新密碼",
- "Change password" : "更改密碼",
- "Choose your profile picture" : "選擇您的個人資料圖片",
- "Please select a valid png or jpg file" : "請選擇有效的 png 或 jpg 檔案",
- "Error setting profile picture" : "設定個人資料圖片時出錯",
- "Error cropping profile picture" : "裁剪個人資料圖片時出錯",
- "Error saving profile picture" : "儲存個人資料圖片時出錯",
- "Error removing profile picture" : "移除個人資料圖片時出錯",
- "Your profile picture" : "您的個人資料圖片",
- "Upload profile picture" : "上傳個人資料圖片",
- "Choose profile picture from Files" : "從檔案選擇個人資料圖片",
- "Remove profile picture" : "移除個人資料圖片",
- "The file must be a PNG or JPG" : "該檔案必須是 PNG 或 JPG",
- "Picture provided by original account" : "原始帳戶提供的圖片",
- "Set as profile picture" : "設定為個人資料圖片",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "請注意,您的個人資料圖片最長可能需要24小時才能在所有地方更新。",
- "Your biography. Markdown is supported." : "您的自傳。支援 Markdown。",
- "Unable to update date of birth" : "無法更新出生日期",
- "Enter your date of birth" : "輸入您的出生日期",
- "You are using {s}{usage}{/s}" : "您正在使用 {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "您正在使用 {s}{usage}{/s},總儲存空間 {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "你是下列群組的成員︰",
- "Your full name" : "您的全名",
- "Email options" : "電子郵件通知選項",
- "Options for additional email address {index}" : "額外的電郵地址 {index} 的選項",
- "Remove primary email" : "刪除主要電郵地址",
- "Delete email" : "刪除電郵地址",
- "This address is not confirmed" : "此地址尚未確認",
- "Unset as primary email" : "取消設定為主要電郵地址",
- "Set as primary email" : "設為主要電郵地址",
- "Additional email address {index}" : "附加電郵地址 {index}",
- "Unable to delete primary email address" : "無法刪除主電郵地址",
- "Unable to update primary email address" : "無法更新主電郵地址",
- "Unable to add additional email address" : "無法添加其他電郵地址",
- "Unable to update additional email address" : "無法更新其他電郵地址",
- "Unable to delete additional email address" : "無法刪除其他電郵地址",
- "Primary email for password reset and notifications" : "用於密碼重設和通告信件的主要電郵地址",
- "No email address set" : "未設定電郵地址",
- "Your handle" : "您的別名",
- "Derived from your locale ({weekDayName})" : "根據您的區域設置推定({weekDayName})",
- "Unable to update first day of week" : "無法更新一星期的第一天",
- "Day to use as the first day of week" : "選擇星期幾作為每星期的第一天",
- "Your headline" : "您的標題",
- "Unable to update language" : "無法更新語言",
- "Languages" : "語言",
- "Help translate" : "協助翻譯",
- "No language set" : "未設定語言",
- "Unable to update locale" : "無法更新語言場景",
- "Locales" : "地區設定",
- "Week starts on {firstDayOfWeek}" : "一星期從 {firstDayOfWeek} 開始",
- "No locale set" : "沒有設置語言場景",
- "Your city" : "您的城市",
- "Your organisation" : "您的機構",
- "Your phone number" : "您的電話號碼",
- "Edit your Profile visibility" : "編輯個人檔案能見度",
- "Unable to update profile enabled state" : "無法更新個人資料啟用狀態",
- "Enable profile" : "啟用簡介",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "將會遵循您個人檔案中「能見度」與「範圍」較嚴格的設定。舉例來說,當「能見度」設定為「對所有人顯示」,而「範圍」設定為「私人」時。將使用「私人」的設定。",
- "Unable to update visibility of {displayId}" : "無法更新 {displayId} 的可見性",
- "she/her" : "她",
- "he/him" : "他",
- "they/them" : "他們",
- "Your role" : "你的角色",
- "Your X (formerly Twitter) handle" : "您的 X(前身為 Twitter)帳號",
- "Your website" : "您的網站",
- "Invalid value" : "無效的意義",
- "Unable to update {property}" : "無法更新 (property)",
- "No {property} set" : "沒有設置 {property} ",
- "Change scope level of {property}, current scope is {scope}" : "更改 {property} 的範圍級別,目前範圍為 {scope}",
- "Unable to update federation scope of the primary {property}" : "無法更新主要 {property} 的聯盟範圍",
- "Unable to update federation scope of additional {property}" : "無法更新額外 {property} 的聯盟範圍",
- "Add additional email" : "添加額外電郵地址",
- "Add" : "新增",
- "Create" : "建立",
- "Change" : "更改",
- "Delete" : "刪除",
- "Reshare" : "重新分享",
- "Default language" : "預設語言",
- "Common languages" : "常用語言",
- "Other languages" : "其他語言",
- "Password change is disabled because the master key is disabled" : "已停用密碼變更,因為主控密鑰已停用",
- "No accounts" : "沒有帳戶",
- "Loading accounts …" : "正在加载帳戶 ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "帳戶清單。出於性能考量,此清單未完全呈現。帳戶將在您瀏覽清單時呈現。",
- "Manager" : "管理者",
- "Set line manager" : "設定行管理員",
- "Account name will be autogenerated" : "將會自動產生帳戶名稱",
- "Account name (required)" : "帳戶名稱(必填)",
- "Failed to search groups" : "無法搜尋群組",
- "New account" : "新帳戶",
- "Display name" : "顯示名稱",
- "Either password or email is required" : "需要密碼或電郵地址",
- "Password (required)" : "密碼(必填)",
- "Email (required)" : "電郵地址(必填)",
- "Email" : "電郵地址",
- "Member of the following groups (required)" : "以下群組的成員(必需)",
- "Member of the following groups" : "以下群組的成員(必需)",
- "Set account groups" : "設定帳號群組",
- "Admin of the following groups" : "以下群組的管理員",
- "Set account as admin for …" : "將帳號設定為管理員……",
- "Quota" : "容量限制",
- "Set account quota" : "設定帳號容量限制",
- "Language" : "語言",
- "Set default language" : "設置默認語言",
- "Add new account" : "添加新帳戶",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} 個帳戶 …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} 個帳戶"],
- "Total rows summary" : "總列摘要",
- "Scroll to load more rows" : "捲動以載入更多列",
- "Password or insufficient permissions message" : "密碼或權限不足訊息",
- "Avatar" : "虛擬化身大頭照",
- "Account name" : "帳戶名稱",
- "Group admin for" : "群組管理員",
- "Account backend" : "帳戶後端",
- "Storage location" : "儲存位置",
- "First login" : "首次登入",
- "Last login" : "最後登入",
- "Account actions" : "帳戶操作",
- "{size} used" : "已使用 {size}",
- "Delete account" : "刪除帳戶",
- "Disconnect all devices and delete local data" : "中斷所有裝置連結並刪除近端數據",
- "Disable account" : "停用帳戶",
- "Enable account" : "啟用帳戶",
- "Resend welcome email" : "重新傳送歡迎電子郵件",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "如果遺失裝置或退出組織,這可以從與 {userid} 相關的所有裝置遠端抹除 Nextcloud 資料。僅當裝置連線到網際網路時才有效。",
- "Remote wipe of devices" : "遠端抹除裝置",
- "Wipe {userid}'s devices" : "抹除 {userid} 的裝置",
- "Wiped {userid}'s devices" : "抹除了 {userid} 的裝置",
- "Failed to load groups with details" : "無法加載包含詳情的群組",
- "Failed to load sub admin groups with details" : "無法加載包含詳情的副管理員群組",
- "Failed to update line manager" : "更新行管理員失敗",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "完全刪除 {userid} 的帳戶,包含他們所有的個人檔案、應用程式資料等等。",
- "Account deletion" : "帳戶刪除",
- "Delete {userid}'s account" : "刪除 {userid} 的帳戶",
- "Display name was successfully changed" : "成功更新顯示名稱",
- "Password can't be empty" : "密碼不可為空白",
- "Password was successfully changed" : "成功更新密碼",
- "Email can't be empty" : "電郵地址不可為空白",
- "Email was successfully changed" : "成功更新電郵地址",
- "Welcome mail sent!" : "已傳送歡迎郵件!",
- "Loading account …" : "正在加载帳戶 ...",
- "Change display name" : "更改顯示名稱",
- "Set new password" : "設置新密碼",
- "You do not have permissions to see the details of this account" : "您沒有檢視此帳戶詳細資料的權限",
- "Set new email address" : "設置新電郵地址",
- "Add account to group" : "在群組中新增帳戶",
- "Set account as admin for" : "將帳戶設定為管理員",
- "Select account quota" : "選擇帳戶容量限制",
- "Set the language" : "設置語言",
- "Toggle account actions menu" : "切換帳戶操作選單",
- "Done" : "完成",
- "Edit" : "編輯",
- "Account management settings" : "帳戶管理設定",
- "Visibility" : "可見性",
- "Show language" : "顯示語言",
- "Show account backend" : "顯示帳戶後端系統",
- "Show storage path" : "顯示儲存路徑",
- "Show first login" : "顯示首次登入",
- "Show last login" : "顯示上次登入時間",
- "Sorting" : "排序",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "系統設定強制按名稱對群組排序。這也會停用顯示成員數量。",
- "Group list sorting" : "群組清單排序",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "出於性能考慮,排序僅適用於當前加載的群組。當您瀏覽或搜尋列表時,群組將會被加載。",
- "By member count" : "按成員數量",
- "By name" : "按名稱",
- "Send email" : "傳送測試電郵",
- "Send welcome email to new accounts" : "向新帳戶發送歡迎電子郵件",
- "Defaults" : "默認",
- "Default quota" : "默認儲存容量限制",
- "Select default quota" : "選擇預設容量限制",
- "Server error while trying to complete WebAuthn device registration" : "嘗試完成 WebAuthn 裝置註冊時發生伺服器錯誤。",
- "Passwordless authentication requires a secure connection." : "無密碼身分驗證需要安全連線。",
- "Add WebAuthn device" : "新增 WebAuthn 裝置",
- "Please authorize your WebAuthn device." : "請驗證您的 WebAuthn 裝置。",
- "Adding your device …" : "正在新增您的裝置……",
- "Unnamed device" : "未命名的裝置",
- "Passwordless Authentication" : "無密碼驗證",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "按照 FIDO2 標準設定您帳戶的無密碼驗證",
- "No devices configured." : "未設定裝置。",
- "The following devices are configured for your account:" : "為您的帳戶設定了以下裝置。",
- "Your browser does not support WebAuthn." : "您的瀏覽器不支援 WebAuthn。",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "系統管理員可以微調分享行為。請查閱說明文件以獲得更多資訊。",
- "You need to enable the File sharing App." : "您需要啟用檔案分享應用程式。",
- "App Store" : "應用程式商店",
- "Loading app list" : "正在載入應用程式清單",
- "Loading categories" : "正在加載分類",
- "Developer documentation ↗" : "開發人員使用手冊 ↗",
- "Version {version}, {license}-licensed" : "版本 {version},授權條款:{license}",
- "Version {version}" : "版本 {version}",
- "All accounts" : "所有帳戶",
- "Admins" : "管理員",
- "Account group: {group}" : "帳戶群組:{group}",
- "Account management" : "帳戶管理",
"Sending…" : "正在傳送……",
"Email sent" : "電子郵件已寄出",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "出於性能考慮,當您在 Nextcloud 伺服器上啟用加密時,僅會加密新檔案和已更改的檔案。",
@@ -797,6 +513,7 @@ OC.L10N.register(
"Date of birth" : "出生日期",
"Full name" : "全名",
"Additional email" : "附加電郵地址",
+ "Email" : "電郵地址",
"Fediverse (e.g. Mastodon)" : "Fediverse(如 Mastodon)",
"Headline" : "標題",
"Organisation" : "機構",
@@ -806,6 +523,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X(前身為 Twitter)",
"Website" : "網站",
"Profile visibility" : "個人檔案能見度",
+ "Language" : "語言",
"Locale" : "地區設定",
"First day of week" : "一星期的第一天",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "無法使用,因為此屬性是核心功能(包括檔案分享和日曆邀請)所必需的。",
@@ -823,6 +541,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "僅顯示給已登錄的帳戶",
"Hide" : "隱藏",
"Manually installed apps cannot be updated" : "無法更新手動安裝的應用程式",
+ "Update to {version}" : "更新到 {version}",
"{progress}% Deploying …" : "{progress}% 部署中 ...",
"{progress}% Initializing …" : "{progress}% 初始化中 ...",
"Health checking" : "健康檢查",
@@ -832,6 +551,7 @@ OC.L10N.register(
"Allow untested app" : "允許未經測試的應用程式",
"The app will be downloaded from the App Store" : "將會從 App Store 下載這個應用程式",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "此應用程式未被標記為與您的 Nextcloud 版本相容。如果繼續,您仍可安裝應用程式。但請注意應用程式可能無法正常運作。",
+ "{size} used" : "已使用 {size}",
"Unknown" : "不詳",
"Never" : "絕不",
"Could not register device: Network error" : "無法註冊裝置:網絡錯誤",
@@ -850,8 +570,10 @@ OC.L10N.register(
"Could not set group sorting" : "無法設定群組排序",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "有太多請求來自你的網路,請稍後再試,若你認為這不該發生,請回報系統管理員這項錯誤。",
"Error" : "錯誤",
+ "Default quota" : "默認儲存容量限制",
"Account documentation" : "帳戶使用手冊",
"Administration documentation" : "管理使用手冊",
+ "Documentation" : "使用手冊",
"Forum" : "論壇",
"Nextcloud help & privacy resources" : "Nextcloud 說明與隱私資源",
"General documentation" : "一般使用手冊",
@@ -874,6 +596,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP 密碼",
"Save" : "儲存",
"Test and verify email settings" : "測試及驗證電子郵件設定",
+ "Send email" : "傳送測試電郵",
"Security & setup warnings" : "安全及設定警示",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "為確保您 Nextcloud 實例安全和性能,正確配置至關重要。為幫助您達到這一目標,我們正在進行一些自動檢查。請參閱連結的說明書以獲取更多詳細信息。",
"All checks passed." : "所有檢查皆通過。",
@@ -899,11 +622,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "目前的 PHP 的記憶體限制設定低於建議值 %s。",
"for WebAuthn passwordless login" : "用於 WebAuthn 無密碼登入",
"for WebAuthn passwordless login, and SFTP storage" : "用於 WebAuthn 無密碼登入與 SFTP 儲存空間",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並不包含 `%2$s`。這可能是潛在的安全性或隱私風險,建議調整此項設定。",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "偵測到 PostgreSQL 版本「%s」。建議使用 PostgreSQL >=12 且 <=16 以取得此版本 Nextcloud 的最佳效能、穩定性與功能。",
- "Set default expiration date for shares" : "設定分享的預設到期日",
- "Your biography" : "個人小傳",
- "You are using <strong>{usage}</strong>" : "您已使用了 <strong>{usage}</strong> 的存儲空間",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "您已使用了 <strong>{totalSpace}</strong> 中的 <strong>{usage}</strong>(<strong>{usageRelative} %</strong>)",
- "Failed to load subadmin groups with details" : "無法加載包含詳情的副管理員群組"
+ "Set default expiration date for shares" : "設定分享的預設到期日"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/zh_HK.json b/apps/settings/l10n/zh_HK.json
index 6f4a48888ef..8d81538d289 100644
--- a/apps/settings/l10n/zh_HK.json
+++ b/apps/settings/l10n/zh_HK.json
@@ -294,7 +294,6 @@
"HTTP headers" : "HTTP 標頭",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並非設定為 `%2$s`。部份功能可能無法正常運作,建議調整此項設定。",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並非設定為 `%2$s`。這可能是潛在的安全性或隱私風險,建議調整此項設定。",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並不包含 `%2$s`。這可能是潛在的安全性或隱私風險,建議調整此項設定。",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- `%1$s` HTTP 標頭並非設定為 `%2$s`、`%3$s`、`%4$s`、`%5$s` 或 `%6$s`。這可能會洩漏參照位址資訊。請見 {w3c-recommendation}。",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- `Strict-Transport-Security` HTTP 標頭並未設定為至少 `%d` 秒(目前值:`%d`)。為了強化安全性,建議使用較長的 HSTS 政策。",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- `Strict-Transport-Security` HTTP 標頭格式錯誤:`%s`。為了強化安全性,建議啟用 HSTS。",
@@ -445,97 +444,6 @@
"Could not load section content from app store." : "無法從應用程式商店載入部份內容。",
"Loading" : "加載中",
"Fetching the latest news…" : "正在擷取最新新聞 …",
- "Carousel" : "輪播",
- "Previous slide" : "上一張投影片",
- "Next slide" : "下一張投影片",
- "Choose slide to display" : "選擇要顯示的投影片",
- "{index} of {total}" : "第 {index} 張,共 {total} 張",
- "Daemon" : "守護程式",
- "Deploy Daemon" : "部署幕後程式",
- "Type" : "類型",
- "Display Name" : "顯示名稱",
- "GPUs support" : "GPUs 支援",
- "Compute device" : "計算裝置",
- "Advanced deploy options" : "進階部署選項",
- "Edit ExApp deploy options before installation" : "在安裝前編輯 ExApp 部署選項",
- "Configured ExApp deploy options. Can be set only during installation" : "設定的 ExApp 部署選項。僅能在安裝時設定",
- "Learn more" : "了解更多",
- "Environment variables" : "環境變數",
- "ExApp container environment variables" : "ExApp 容器環境變數",
- "No environment variables defined" : "未定義環境變數",
- "Mounts" : "掛載",
- "Define host folder mounts to bind to the ExApp container" : "定義要綁紮到 ExApp 容器的主機資料夾掛載",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "在安裝 ExApp 前,必須存在於部署幕後程式主機上",
- "Host path" : "主機路徑",
- "Container path" : "容器路徑",
- "Read-only" : "唯讀",
- "Remove mount" : "移除掛載",
- "New mount" : "新掛載",
- "Enter path to host folder" : "輸入主機資料夾的路徑",
- "Enter path to container folder" : "輸入容器資料夾的路徑",
- "Toggle read-only mode" : "切換唯讀模式",
- "Confirm adding new mount" : "確認新增掛載",
- "Confirm" : "確認",
- "Cancel adding mount" : "取消新增掛載",
- "Cancel" : "取消",
- "Add mount" : "新增掛載",
- "ExApp container mounts" : "ExApp 容器掛載",
- "No mounts defined" : "未定義掛載",
- "Description" : "描述",
- "View in store" : "在商店中檢視",
- "Visit website" : "造訪網站",
- "Usage documentation" : "使用手冊",
- "Admin documentation" : "管理員使用手冊",
- "Developer documentation" : "開發人員使用手冊",
- "Details" : "詳細資訊",
- "All" : "所有",
- "Limit app usage to groups" : "限制特定群組使用應用程式",
- "No results" : "沒有結果",
- "Update to {version}" : "更新到 {version}",
- "Deploy options" : "部署選項",
- "Default Deploy daemon is not accessible" : "默認部署幕後程式無法使用",
- "Delete data on remove" : "移除時刪除數據",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "此應用程式並未指定最低的 Nextcloud 版本。未來可能會出現錯誤。",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "此應用程式並未指定最高的 Nextcloud 版本。未來可能會出現錯誤。",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "無法安裝此應用程式,因為無法滿足下列的依賴關係:",
- "Latest updated" : "最近更新",
- "Author" : "作者",
- "Categories" : "分類",
- "Resources" : "資源",
- "Documentation" : "使用手冊",
- "Interact" : "相互作用",
- "Report a bug" : "舉報錯誤",
- "Request feature" : "請求功能",
- "Ask questions or discuss" : "發問或討論",
- "Rate the app" : "評價此應用程式",
- "Rate" : "評價",
- "Changelog" : "軟件更新紀錄",
- "Google Chrome for Android" : "Android 版 Google Chrome",
- "{productName} iOS app" : "{productName} iOS 應用程式",
- "{productName} Android app" : "{productName} Android 應用程式",
- "{productName} Talk for iOS" : "{productName} Talk - iOS 版",
- "{productName} Talk for Android" : "{productName} Talk - Android 版",
- "Sync client" : "同步客戶端",
- "This session" : "此節",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "裝置名字",
- "Cancel renaming" : "取消重新命名",
- "Save new name" : "儲存新名稱",
- "Marked for remote wipe" : "標記為可遠端抹除",
- "Device settings" : "裝置設定",
- "Allow filesystem access" : "允許檔案系統的存取",
- "Rename" : "重新命名",
- "Revoke" : "撤銷",
- "Wipe device" : "抹除裝置",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "如果還沒開始抹除,則撤銷此權杖可能會導致無法抹除您的裝置。",
- "Device" : "裝置",
- "Last activity" : "上次活動",
- "Devices & sessions" : "裝置和時段",
- "Web, desktop and mobile clients currently logged in to your account." : "目前登入您帳戶的網絡、桌面和流動裝置客戶端。",
- "Error while creating device token" : "建立裝置權杖時發生錯誤",
- "App name" : "應用程式名稱",
- "Create new app password" : "建立新的應用程式密碼",
"App password copied!" : "已複製應用程式密碼!",
"Copy app password" : "複製應用程式密碼",
"Login name copied!" : "已複製登入名稱!",
@@ -589,203 +497,11 @@
"Failed to delete group \"{group}\"" : "無法刪除群組「{group}」",
"Please confirm the group removal" : "請確認移除群組",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "您將要刪除群組「{group}」。帳戶將不會被刪除。",
+ "Cancel" : "取消",
+ "Confirm" : "確認",
"Submit" : "遞交",
"Rename group" : "重新命名群組",
"Delete group" : "刪除群組",
- "Current password" : "目前密碼",
- "New password" : "新密碼",
- "Change password" : "更改密碼",
- "Choose your profile picture" : "選擇您的個人資料圖片",
- "Please select a valid png or jpg file" : "請選擇有效的 png 或 jpg 檔案",
- "Error setting profile picture" : "設定個人資料圖片時出錯",
- "Error cropping profile picture" : "裁剪個人資料圖片時出錯",
- "Error saving profile picture" : "儲存個人資料圖片時出錯",
- "Error removing profile picture" : "移除個人資料圖片時出錯",
- "Your profile picture" : "您的個人資料圖片",
- "Upload profile picture" : "上傳個人資料圖片",
- "Choose profile picture from Files" : "從檔案選擇個人資料圖片",
- "Remove profile picture" : "移除個人資料圖片",
- "The file must be a PNG or JPG" : "該檔案必須是 PNG 或 JPG",
- "Picture provided by original account" : "原始帳戶提供的圖片",
- "Set as profile picture" : "設定為個人資料圖片",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "請注意,您的個人資料圖片最長可能需要24小時才能在所有地方更新。",
- "Your biography. Markdown is supported." : "您的自傳。支援 Markdown。",
- "Unable to update date of birth" : "無法更新出生日期",
- "Enter your date of birth" : "輸入您的出生日期",
- "You are using {s}{usage}{/s}" : "您正在使用 {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "您正在使用 {s}{usage}{/s},總儲存空間 {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "你是下列群組的成員︰",
- "Your full name" : "您的全名",
- "Email options" : "電子郵件通知選項",
- "Options for additional email address {index}" : "額外的電郵地址 {index} 的選項",
- "Remove primary email" : "刪除主要電郵地址",
- "Delete email" : "刪除電郵地址",
- "This address is not confirmed" : "此地址尚未確認",
- "Unset as primary email" : "取消設定為主要電郵地址",
- "Set as primary email" : "設為主要電郵地址",
- "Additional email address {index}" : "附加電郵地址 {index}",
- "Unable to delete primary email address" : "無法刪除主電郵地址",
- "Unable to update primary email address" : "無法更新主電郵地址",
- "Unable to add additional email address" : "無法添加其他電郵地址",
- "Unable to update additional email address" : "無法更新其他電郵地址",
- "Unable to delete additional email address" : "無法刪除其他電郵地址",
- "Primary email for password reset and notifications" : "用於密碼重設和通告信件的主要電郵地址",
- "No email address set" : "未設定電郵地址",
- "Your handle" : "您的別名",
- "Derived from your locale ({weekDayName})" : "根據您的區域設置推定({weekDayName})",
- "Unable to update first day of week" : "無法更新一星期的第一天",
- "Day to use as the first day of week" : "選擇星期幾作為每星期的第一天",
- "Your headline" : "您的標題",
- "Unable to update language" : "無法更新語言",
- "Languages" : "語言",
- "Help translate" : "協助翻譯",
- "No language set" : "未設定語言",
- "Unable to update locale" : "無法更新語言場景",
- "Locales" : "地區設定",
- "Week starts on {firstDayOfWeek}" : "一星期從 {firstDayOfWeek} 開始",
- "No locale set" : "沒有設置語言場景",
- "Your city" : "您的城市",
- "Your organisation" : "您的機構",
- "Your phone number" : "您的電話號碼",
- "Edit your Profile visibility" : "編輯個人檔案能見度",
- "Unable to update profile enabled state" : "無法更新個人資料啟用狀態",
- "Enable profile" : "啟用簡介",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "將會遵循您個人檔案中「能見度」與「範圍」較嚴格的設定。舉例來說,當「能見度」設定為「對所有人顯示」,而「範圍」設定為「私人」時。將使用「私人」的設定。",
- "Unable to update visibility of {displayId}" : "無法更新 {displayId} 的可見性",
- "she/her" : "她",
- "he/him" : "他",
- "they/them" : "他們",
- "Your role" : "你的角色",
- "Your X (formerly Twitter) handle" : "您的 X(前身為 Twitter)帳號",
- "Your website" : "您的網站",
- "Invalid value" : "無效的意義",
- "Unable to update {property}" : "無法更新 (property)",
- "No {property} set" : "沒有設置 {property} ",
- "Change scope level of {property}, current scope is {scope}" : "更改 {property} 的範圍級別,目前範圍為 {scope}",
- "Unable to update federation scope of the primary {property}" : "無法更新主要 {property} 的聯盟範圍",
- "Unable to update federation scope of additional {property}" : "無法更新額外 {property} 的聯盟範圍",
- "Add additional email" : "添加額外電郵地址",
- "Add" : "新增",
- "Create" : "建立",
- "Change" : "更改",
- "Delete" : "刪除",
- "Reshare" : "重新分享",
- "Default language" : "預設語言",
- "Common languages" : "常用語言",
- "Other languages" : "其他語言",
- "Password change is disabled because the master key is disabled" : "已停用密碼變更,因為主控密鑰已停用",
- "No accounts" : "沒有帳戶",
- "Loading accounts …" : "正在加载帳戶 ...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "帳戶清單。出於性能考量,此清單未完全呈現。帳戶將在您瀏覽清單時呈現。",
- "Manager" : "管理者",
- "Set line manager" : "設定行管理員",
- "Account name will be autogenerated" : "將會自動產生帳戶名稱",
- "Account name (required)" : "帳戶名稱(必填)",
- "Failed to search groups" : "無法搜尋群組",
- "New account" : "新帳戶",
- "Display name" : "顯示名稱",
- "Either password or email is required" : "需要密碼或電郵地址",
- "Password (required)" : "密碼(必填)",
- "Email (required)" : "電郵地址(必填)",
- "Email" : "電郵地址",
- "Member of the following groups (required)" : "以下群組的成員(必需)",
- "Member of the following groups" : "以下群組的成員(必需)",
- "Set account groups" : "設定帳號群組",
- "Admin of the following groups" : "以下群組的管理員",
- "Set account as admin for …" : "將帳號設定為管理員……",
- "Quota" : "容量限制",
- "Set account quota" : "設定帳號容量限制",
- "Language" : "語言",
- "Set default language" : "設置默認語言",
- "Add new account" : "添加新帳戶",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} 個帳戶 …"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} 個帳戶"],
- "Total rows summary" : "總列摘要",
- "Scroll to load more rows" : "捲動以載入更多列",
- "Password or insufficient permissions message" : "密碼或權限不足訊息",
- "Avatar" : "虛擬化身大頭照",
- "Account name" : "帳戶名稱",
- "Group admin for" : "群組管理員",
- "Account backend" : "帳戶後端",
- "Storage location" : "儲存位置",
- "First login" : "首次登入",
- "Last login" : "最後登入",
- "Account actions" : "帳戶操作",
- "{size} used" : "已使用 {size}",
- "Delete account" : "刪除帳戶",
- "Disconnect all devices and delete local data" : "中斷所有裝置連結並刪除近端數據",
- "Disable account" : "停用帳戶",
- "Enable account" : "啟用帳戶",
- "Resend welcome email" : "重新傳送歡迎電子郵件",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "如果遺失裝置或退出組織,這可以從與 {userid} 相關的所有裝置遠端抹除 Nextcloud 資料。僅當裝置連線到網際網路時才有效。",
- "Remote wipe of devices" : "遠端抹除裝置",
- "Wipe {userid}'s devices" : "抹除 {userid} 的裝置",
- "Wiped {userid}'s devices" : "抹除了 {userid} 的裝置",
- "Failed to load groups with details" : "無法加載包含詳情的群組",
- "Failed to load sub admin groups with details" : "無法加載包含詳情的副管理員群組",
- "Failed to update line manager" : "更新行管理員失敗",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "完全刪除 {userid} 的帳戶,包含他們所有的個人檔案、應用程式資料等等。",
- "Account deletion" : "帳戶刪除",
- "Delete {userid}'s account" : "刪除 {userid} 的帳戶",
- "Display name was successfully changed" : "成功更新顯示名稱",
- "Password can't be empty" : "密碼不可為空白",
- "Password was successfully changed" : "成功更新密碼",
- "Email can't be empty" : "電郵地址不可為空白",
- "Email was successfully changed" : "成功更新電郵地址",
- "Welcome mail sent!" : "已傳送歡迎郵件!",
- "Loading account …" : "正在加载帳戶 ...",
- "Change display name" : "更改顯示名稱",
- "Set new password" : "設置新密碼",
- "You do not have permissions to see the details of this account" : "您沒有檢視此帳戶詳細資料的權限",
- "Set new email address" : "設置新電郵地址",
- "Add account to group" : "在群組中新增帳戶",
- "Set account as admin for" : "將帳戶設定為管理員",
- "Select account quota" : "選擇帳戶容量限制",
- "Set the language" : "設置語言",
- "Toggle account actions menu" : "切換帳戶操作選單",
- "Done" : "完成",
- "Edit" : "編輯",
- "Account management settings" : "帳戶管理設定",
- "Visibility" : "可見性",
- "Show language" : "顯示語言",
- "Show account backend" : "顯示帳戶後端系統",
- "Show storage path" : "顯示儲存路徑",
- "Show first login" : "顯示首次登入",
- "Show last login" : "顯示上次登入時間",
- "Sorting" : "排序",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "系統設定強制按名稱對群組排序。這也會停用顯示成員數量。",
- "Group list sorting" : "群組清單排序",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "出於性能考慮,排序僅適用於當前加載的群組。當您瀏覽或搜尋列表時,群組將會被加載。",
- "By member count" : "按成員數量",
- "By name" : "按名稱",
- "Send email" : "傳送測試電郵",
- "Send welcome email to new accounts" : "向新帳戶發送歡迎電子郵件",
- "Defaults" : "默認",
- "Default quota" : "默認儲存容量限制",
- "Select default quota" : "選擇預設容量限制",
- "Server error while trying to complete WebAuthn device registration" : "嘗試完成 WebAuthn 裝置註冊時發生伺服器錯誤。",
- "Passwordless authentication requires a secure connection." : "無密碼身分驗證需要安全連線。",
- "Add WebAuthn device" : "新增 WebAuthn 裝置",
- "Please authorize your WebAuthn device." : "請驗證您的 WebAuthn 裝置。",
- "Adding your device …" : "正在新增您的裝置……",
- "Unnamed device" : "未命名的裝置",
- "Passwordless Authentication" : "無密碼驗證",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "按照 FIDO2 標準設定您帳戶的無密碼驗證",
- "No devices configured." : "未設定裝置。",
- "The following devices are configured for your account:" : "為您的帳戶設定了以下裝置。",
- "Your browser does not support WebAuthn." : "您的瀏覽器不支援 WebAuthn。",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "系統管理員可以微調分享行為。請查閱說明文件以獲得更多資訊。",
- "You need to enable the File sharing App." : "您需要啟用檔案分享應用程式。",
- "App Store" : "應用程式商店",
- "Loading app list" : "正在載入應用程式清單",
- "Loading categories" : "正在加載分類",
- "Developer documentation ↗" : "開發人員使用手冊 ↗",
- "Version {version}, {license}-licensed" : "版本 {version},授權條款:{license}",
- "Version {version}" : "版本 {version}",
- "All accounts" : "所有帳戶",
- "Admins" : "管理員",
- "Account group: {group}" : "帳戶群組:{group}",
- "Account management" : "帳戶管理",
"Sending…" : "正在傳送……",
"Email sent" : "電子郵件已寄出",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "出於性能考慮,當您在 Nextcloud 伺服器上啟用加密時,僅會加密新檔案和已更改的檔案。",
@@ -795,6 +511,7 @@
"Date of birth" : "出生日期",
"Full name" : "全名",
"Additional email" : "附加電郵地址",
+ "Email" : "電郵地址",
"Fediverse (e.g. Mastodon)" : "Fediverse(如 Mastodon)",
"Headline" : "標題",
"Organisation" : "機構",
@@ -804,6 +521,7 @@
"X (formerly Twitter)" : "X(前身為 Twitter)",
"Website" : "網站",
"Profile visibility" : "個人檔案能見度",
+ "Language" : "語言",
"Locale" : "地區設定",
"First day of week" : "一星期的第一天",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "無法使用,因為此屬性是核心功能(包括檔案分享和日曆邀請)所必需的。",
@@ -821,6 +539,7 @@
"Show to logged in accounts only" : "僅顯示給已登錄的帳戶",
"Hide" : "隱藏",
"Manually installed apps cannot be updated" : "無法更新手動安裝的應用程式",
+ "Update to {version}" : "更新到 {version}",
"{progress}% Deploying …" : "{progress}% 部署中 ...",
"{progress}% Initializing …" : "{progress}% 初始化中 ...",
"Health checking" : "健康檢查",
@@ -830,6 +549,7 @@
"Allow untested app" : "允許未經測試的應用程式",
"The app will be downloaded from the App Store" : "將會從 App Store 下載這個應用程式",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "此應用程式未被標記為與您的 Nextcloud 版本相容。如果繼續,您仍可安裝應用程式。但請注意應用程式可能無法正常運作。",
+ "{size} used" : "已使用 {size}",
"Unknown" : "不詳",
"Never" : "絕不",
"Could not register device: Network error" : "無法註冊裝置:網絡錯誤",
@@ -848,8 +568,10 @@
"Could not set group sorting" : "無法設定群組排序",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "有太多請求來自你的網路,請稍後再試,若你認為這不該發生,請回報系統管理員這項錯誤。",
"Error" : "錯誤",
+ "Default quota" : "默認儲存容量限制",
"Account documentation" : "帳戶使用手冊",
"Administration documentation" : "管理使用手冊",
+ "Documentation" : "使用手冊",
"Forum" : "論壇",
"Nextcloud help & privacy resources" : "Nextcloud 說明與隱私資源",
"General documentation" : "一般使用手冊",
@@ -872,6 +594,7 @@
"SMTP Password" : "SMTP 密碼",
"Save" : "儲存",
"Test and verify email settings" : "測試及驗證電子郵件設定",
+ "Send email" : "傳送測試電郵",
"Security & setup warnings" : "安全及設定警示",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "為確保您 Nextcloud 實例安全和性能,正確配置至關重要。為幫助您達到這一目標,我們正在進行一些自動檢查。請參閱連結的說明書以獲取更多詳細信息。",
"All checks passed." : "所有檢查皆通過。",
@@ -897,11 +620,8 @@
"The PHP memory limit is below the recommended value of %s." : "目前的 PHP 的記憶體限制設定低於建議值 %s。",
"for WebAuthn passwordless login" : "用於 WebAuthn 無密碼登入",
"for WebAuthn passwordless login, and SFTP storage" : "用於 WebAuthn 無密碼登入與 SFTP 儲存空間",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並不包含 `%2$s`。這可能是潛在的安全性或隱私風險,建議調整此項設定。",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "偵測到 PostgreSQL 版本「%s」。建議使用 PostgreSQL >=12 且 <=16 以取得此版本 Nextcloud 的最佳效能、穩定性與功能。",
- "Set default expiration date for shares" : "設定分享的預設到期日",
- "Your biography" : "個人小傳",
- "You are using <strong>{usage}</strong>" : "您已使用了 <strong>{usage}</strong> 的存儲空間",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "您已使用了 <strong>{totalSpace}</strong> 中的 <strong>{usage}</strong>(<strong>{usageRelative} %</strong>)",
- "Failed to load subadmin groups with details" : "無法加載包含詳情的副管理員群組"
+ "Set default expiration date for shares" : "設定分享的預設到期日"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/zh_TW.js b/apps/settings/l10n/zh_TW.js
index d5628c8501a..c15284d14fa 100644
--- a/apps/settings/l10n/zh_TW.js
+++ b/apps/settings/l10n/zh_TW.js
@@ -296,7 +296,6 @@ OC.L10N.register(
"HTTP headers" : "HTTP 標頭",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並非設定為 `%2$s`。部份功能可能無法正常運作,建議調整此項設定。",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並非設定為 `%2$s`。這可能是潛在的安全性或隱私風險,建議調整此項設定。",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並不包含 `%2$s`。這可能是潛在的安全性或隱私風險,建議調整此項設定。",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- `%1$s` HTTP 標頭並非設定為 `%2$s`、`%3$s`、`%4$s`、`%5$s` 或 `%6$s`。這可能會洩漏參照位址資訊。請見 {w3c-recommendation}。",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- `Strict-Transport-Security` HTTP 標頭並未設定為至少 `%d` 秒(目前值:`%d`)。為了強化安全性,建議使用較長的 HSTS 政策。",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- `Strict-Transport-Security` HTTP 標頭格式錯誤:`%s`。為了強化安全性,建議啟用 HSTS。",
@@ -447,97 +446,6 @@ OC.L10N.register(
"Could not load section content from app store." : "無法從應用程式商店載入部份內容。",
"Loading" : "正在載入",
"Fetching the latest news…" : "正在擷取最新新聞……",
- "Carousel" : "輪播",
- "Previous slide" : "上一張投影片",
- "Next slide" : "下一張投影片",
- "Choose slide to display" : "選擇要顯示的投影片",
- "{index} of {total}" : "第 {index} 張,共 {total} 張",
- "Daemon" : "守護程式",
- "Deploy Daemon" : "部署幕後程式",
- "Type" : "類型",
- "Display Name" : "顯示名稱",
- "GPUs support" : "GPU 支援",
- "Compute device" : "計算裝置",
- "Advanced deploy options" : "進階部署選項",
- "Edit ExApp deploy options before installation" : "在安裝前編輯 ExApp 部署選項",
- "Configured ExApp deploy options. Can be set only during installation" : "設定的 ExApp 部署選項。僅能在安裝時設定",
- "Learn more" : "瞭解更多",
- "Environment variables" : "環境變數",
- "ExApp container environment variables" : "ExApp 容器環境變數",
- "No environment variables defined" : "未定義環境變數",
- "Mounts" : "掛載",
- "Define host folder mounts to bind to the ExApp container" : "定義要綁紮到 ExApp 容器的主機資料夾掛載",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "在安裝 ExApp 前,必須存在於部署幕後程式主機上",
- "Host path" : "主機路徑",
- "Container path" : "容器路徑",
- "Read-only" : "唯讀",
- "Remove mount" : "移除掛載",
- "New mount" : "新掛載",
- "Enter path to host folder" : "輸入主機資料夾的路徑",
- "Enter path to container folder" : "輸入容器資料夾的路徑",
- "Toggle read-only mode" : "切換唯讀模式",
- "Confirm adding new mount" : "確認新增掛載",
- "Confirm" : "確認",
- "Cancel adding mount" : "取消新增掛載",
- "Cancel" : "取消",
- "Add mount" : "新增掛載",
- "ExApp container mounts" : "ExApp 容器掛載",
- "No mounts defined" : "未定義掛載",
- "Description" : "描述",
- "View in store" : "在商店中檢視",
- "Visit website" : "造訪網站",
- "Usage documentation" : "使用方式說明文件",
- "Admin documentation" : "管理員文件",
- "Developer documentation" : "開發者文件",
- "Details" : "詳細資料",
- "All" : "所有",
- "Limit app usage to groups" : "限制特定群組使用應用程式",
- "No results" : "沒有結果",
- "Update to {version}" : "更新到 {version}",
- "Deploy options" : "部署選項",
- "Default Deploy daemon is not accessible" : "預設部署幕後程式無法使用",
- "Delete data on remove" : "移除時刪除資料",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "此應用程式並未指定最低的 Nextcloud 版本。未來可能會出現錯誤。",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "此應用程式並未指定最高的 Nextcloud 版本。未來可能會出現錯誤。",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "無法滿足下列的依賴關係,故無法安裝此應用程式:",
- "Latest updated" : "最近更新",
- "Author" : "作者",
- "Categories" : "分類",
- "Resources" : "資源",
- "Documentation" : "文件",
- "Interact" : "相互影響",
- "Report a bug" : "回報問題",
- "Request feature" : "要求功能",
- "Ask questions or discuss" : "發問或討論",
- "Rate the app" : "應用程式評價",
- "Rate" : "評價",
- "Changelog" : "變更紀錄",
- "Google Chrome for Android" : "Android 版 Google Chrome",
- "{productName} iOS app" : "{productName} iOS 應用程式",
- "{productName} Android app" : "{productName} Android 應用程式",
- "{productName} Talk for iOS" : "iOS 版的 {productName} Talk",
- "{productName} Talk for Android" : "Android 版的 {productName} Talk",
- "Sync client" : "同步客戶端",
- "This session" : "此工作階段",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "裝置名稱",
- "Cancel renaming" : "取消重新命名",
- "Save new name" : "儲存新名稱",
- "Marked for remote wipe" : "標記為可遠端抹除",
- "Device settings" : "裝置設定",
- "Allow filesystem access" : "允許檔案系統的存取",
- "Rename" : "重新命名",
- "Revoke" : "撤銷",
- "Wipe device" : "抹除裝置",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "若尚未開始抹除,則撤銷此代符可能會無法抹除您的裝置。",
- "Device" : "裝置",
- "Last activity" : "最近活動狀態",
- "Devices & sessions" : "裝置和工作階段",
- "Web, desktop and mobile clients currently logged in to your account." : "目前登入您的帳號的網頁、桌面和行動裝置客戶端。",
- "Error while creating device token" : "建立裝置代符時發生錯誤",
- "App name" : "應用程式名稱",
- "Create new app password" : "建立新的應用程式密碼",
"App password copied!" : "已複製應用程式密碼!",
"Copy app password" : "複製應用程式密碼",
"Login name copied!" : "已複製登入名稱!",
@@ -591,203 +499,11 @@ OC.L10N.register(
"Failed to delete group \"{group}\"" : "刪除群組「{group}」失敗",
"Please confirm the group removal" : "請確認移除群組",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "您將要刪除群組「{group}」。帳號將不會被刪除。",
+ "Cancel" : "取消",
+ "Confirm" : "確認",
"Submit" : "提交",
"Rename group" : "重新命名群組",
"Delete group" : "刪除群組",
- "Current password" : "目前密碼",
- "New password" : "新密碼",
- "Change password" : "變更密碼",
- "Choose your profile picture" : "選擇您的個人檔案圖片",
- "Please select a valid png or jpg file" : "請選取有效的 png 或 jpg 檔案",
- "Error setting profile picture" : "設定個人檔案圖片時發生錯誤",
- "Error cropping profile picture" : "裁剪個人檔案圖片時發生錯誤",
- "Error saving profile picture" : "儲存個人檔案圖片時發生錯誤",
- "Error removing profile picture" : "移除個人檔案圖片時發生錯誤",
- "Your profile picture" : "您的個人檔案圖片",
- "Upload profile picture" : "上傳個人檔案圖片",
- "Choose profile picture from Files" : "從檔案中選擇個人檔案圖片",
- "Remove profile picture" : "移除個人檔案圖片",
- "The file must be a PNG or JPG" : "檔案必須是 PNG 或 JPG",
- "Picture provided by original account" : "原始帳號提供的圖片",
- "Set as profile picture" : "設定為個人檔案圖片",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "請注意,您的個人檔案圖片最長可能需要 24 小時才能在所有地方更新。",
- "Your biography. Markdown is supported." : "您的自傳。支援 Markdown。",
- "Unable to update date of birth" : "無法更新出生日期",
- "Enter your date of birth" : "輸入您的出生日期",
- "You are using {s}{usage}{/s}" : "您已使用 {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "您已使用 {s}{usage}{/s},總儲存空間{s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "您是下列群組的成員︰",
- "Your full name" : "您的全名",
- "Email options" : "電子郵件選項",
- "Options for additional email address {index}" : "額外的電子郵件地址 {index} 的選項",
- "Remove primary email" : "移除主要電子郵件地址",
- "Delete email" : "刪除電子郵件地址",
- "This address is not confirmed" : "此地址尚未確認",
- "Unset as primary email" : "取消設定為主要電子郵件",
- "Set as primary email" : "設定為主要電子郵件",
- "Additional email address {index}" : "額外的電子郵件地址 {index}",
- "Unable to delete primary email address" : "無法刪除主要電子郵件地址",
- "Unable to update primary email address" : "無法更新主要電子郵件地址",
- "Unable to add additional email address" : "無法新增額外的電子郵件地址",
- "Unable to update additional email address" : "無法更新額外的電子郵件地址",
- "Unable to delete additional email address" : "無法刪除額外的電子郵件地址",
- "Primary email for password reset and notifications" : "用於密碼重設與通知的主要電子郵件地址",
- "No email address set" : "未設定電子郵件地址",
- "Your handle" : "您的社交帳號",
- "Derived from your locale ({weekDayName})" : "源自您的區域設定({weekDayName})",
- "Unable to update first day of week" : "無法更新每週的第一天",
- "Day to use as the first day of week" : "要作為每週第一天的星期幾",
- "Your headline" : "您的重要經歷",
- "Unable to update language" : "無法更新語言",
- "Languages" : "語言",
- "Help translate" : "協助翻譯",
- "No language set" : "未設定語言",
- "Unable to update locale" : "無法更新地區設定",
- "Locales" : "地區設定",
- "Week starts on {firstDayOfWeek}" : "一週從 {firstDayOfWeek} 開始",
- "No locale set" : "未設定地區設定",
- "Your city" : "您的城市",
- "Your organisation" : "您的組織單位",
- "Your phone number" : "您的電話號碼",
- "Edit your Profile visibility" : "編輯您的個人檔案能見度",
- "Unable to update profile enabled state" : "無法更新個人檔案啟用狀態",
- "Enable profile" : "啟用個人檔案",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "將會遵循您個人檔案中「能見度」與「範圍」中較嚴格的設定。舉例來說,當「能見度」設定為「對所有人顯示」,而「範圍」設定為「私人」時,將使用「私人」的設定。",
- "Unable to update visibility of {displayId}" : "無法更新 {displayId} 的能見度",
- "she/her" : "她",
- "he/him" : "他",
- "they/them" : "他們",
- "Your role" : "您的職位",
- "Your X (formerly Twitter) handle" : "您的 X(前身為 Twitter)帳號",
- "Your website" : "您的網站",
- "Invalid value" : "無效值",
- "Unable to update {property}" : "無法更新 {property}",
- "No {property} set" : "未設定 {property}",
- "Change scope level of {property}, current scope is {scope}" : "變更 {property} 的範圍層級,目前的範圍是 {scope}",
- "Unable to update federation scope of the primary {property}" : "無法更新主要 {property} 的聯邦範圍",
- "Unable to update federation scope of additional {property}" : "無法更新額外 {property} 的聯邦範圍",
- "Add additional email" : "新增額外電子郵件",
- "Add" : "新增",
- "Create" : "建立",
- "Change" : "更改",
- "Delete" : "刪除",
- "Reshare" : "轉發分享",
- "Default language" : "預設語言",
- "Common languages" : "常用語言",
- "Other languages" : "其他語言",
- "Password change is disabled because the master key is disabled" : "由於主控金鑰已停用,已停用密碼變更",
- "No accounts" : "無帳號",
- "Loading accounts …" : "少女祈禱中...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "帳號清單。出於效能考量,此清單未完全呈現。帳號將在您瀏覽清單時呈現。",
- "Manager" : "管理員",
- "Set line manager" : "設定行管理員",
- "Account name will be autogenerated" : "將會自動產生帳號名稱",
- "Account name (required)" : "帳號名稱(必填)",
- "Failed to search groups" : "搜尋群組失敗",
- "New account" : "新帳號",
- "Display name" : "顯示名稱",
- "Either password or email is required" : "需要密碼或電子郵件地址",
- "Password (required)" : "密碼(必填)",
- "Email (required)" : "電子郵件(必填)",
- "Email" : "電子郵件",
- "Member of the following groups (required)" : "以下群組的成員(必要)",
- "Member of the following groups" : "以下群組的成員",
- "Set account groups" : "設定帳號群組",
- "Admin of the following groups" : "以下群組的管理員",
- "Set account as admin for …" : "將帳號設定為管理員……",
- "Quota" : "容量限制",
- "Set account quota" : "設定帳號容量限制",
- "Language" : "語言",
- "Set default language" : "設定預設語言",
- "Add new account" : "新增帳號",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} 個帳號……"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} 個帳號"],
- "Total rows summary" : "總列摘要",
- "Scroll to load more rows" : "捲動以載入更多列",
- "Password or insufficient permissions message" : "密碼或超出權限訊息",
- "Avatar" : "頭像",
- "Account name" : "帳號名稱",
- "Group admin for" : "群組管理員",
- "Account backend" : "帳號後端",
- "Storage location" : "儲存位置",
- "First login" : "首次登入",
- "Last login" : "上次登入",
- "Account actions" : "帳戶動作",
- "{size} used" : "已使用 {size}",
- "Delete account" : "刪除帳號",
- "Disconnect all devices and delete local data" : "取消連結所有裝置並刪除本機資料",
- "Disable account" : "停用帳號",
- "Enable account" : "啟用帳號",
- "Resend welcome email" : "重新傳送歡迎電子郵件",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "如果遺失裝置或退出組織,可以從與 {userid} 相關的所有裝置遠端抹除 Nextcloud 資料。僅當裝置連線到網際網路時才有效。",
- "Remote wipe of devices" : "遠端抹除裝置",
- "Wipe {userid}'s devices" : "抹除 {userid} 的裝置",
- "Wiped {userid}'s devices" : "抹除了 {userid} 的裝置",
- "Failed to load groups with details" : "無法載入包含詳細資訊的群組",
- "Failed to load sub admin groups with details" : "載入包含詳細資訊的子管理員群組失敗",
- "Failed to update line manager" : "更新行管理員失敗",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "完全刪除 {userid} 的帳號,包含他們所有的個人檔案、應用程式資料等等。",
- "Account deletion" : "帳號刪除",
- "Delete {userid}'s account" : "刪除 {userid} 的帳號",
- "Display name was successfully changed" : "成功變更顯示名稱",
- "Password can't be empty" : "密碼不能為空",
- "Password was successfully changed" : "成功變更密碼",
- "Email can't be empty" : "電子郵件不能為空",
- "Email was successfully changed" : "成功更新電子郵件",
- "Welcome mail sent!" : "已傳送歡迎郵件!",
- "Loading account …" : "正在載入帳號……",
- "Change display name" : "變更顯示名稱",
- "Set new password" : "設定新密碼",
- "You do not have permissions to see the details of this account" : "您沒有檢視此帳號詳細資料的權限",
- "Set new email address" : "設定新電子郵件地址",
- "Add account to group" : "新增帳號至群組",
- "Set account as admin for" : "將帳號設定為管理員",
- "Select account quota" : "選取帳號容量限制",
- "Set the language" : "設定語言",
- "Toggle account actions menu" : "切換帳號動作選單",
- "Done" : "完成",
- "Edit" : "編輯",
- "Account management settings" : "帳號管理員設定",
- "Visibility" : "能見度",
- "Show language" : "顯示語言",
- "Show account backend" : "顯示帳號後端",
- "Show storage path" : "顯示儲存路徑",
- "Show first login" : "顯示首次登入",
- "Show last login" : "顯示上次登入時間",
- "Sorting" : "排序",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "系統設定強制按名稱對群組排序。這也會停用顯示成員數量。",
- "Group list sorting" : "群組清單排序",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "出於效能考量,排序只適用於目前載入的群組。當您在清單中瀏覽或搜尋時,會載入群組。",
- "By member count" : "按成員數量",
- "By name" : "按名稱",
- "Send email" : "傳送電子郵件",
- "Send welcome email to new accounts" : "向新帳號傳送歡迎電子郵件",
- "Defaults" : "預設",
- "Default quota" : "預設儲存容量限制",
- "Select default quota" : "選取預設容量限制",
- "Server error while trying to complete WebAuthn device registration" : "嘗試完成 WebAuthn 裝置註冊時發生伺服器錯誤",
- "Passwordless authentication requires a secure connection." : "無密碼身份認證需要安全連線。",
- "Add WebAuthn device" : "新增 WebAuthn 裝置",
- "Please authorize your WebAuthn device." : "請授權您的 WebAuthn 裝置。",
- "Adding your device …" : "正在新增您的裝置…",
- "Unnamed device" : "未命名的裝置",
- "Passwordless Authentication" : "無密碼認證",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "按照 FIDO2 標準設定您帳號的無密碼認證。",
- "No devices configured." : "未設定裝置組態。",
- "The following devices are configured for your account:" : "為您的帳號設定了以下裝置:",
- "Your browser does not support WebAuthn." : "您的瀏覽器不支援 WebAuthn。",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "系統管理員可以微調分享行為。請查閱文件以獲得更多資訊。",
- "You need to enable the File sharing App." : "您必須啟用檔案分享應用程式。",
- "App Store" : "應用程式商店",
- "Loading app list" : "正在載入應用程式清單",
- "Loading categories" : "正在載入分類",
- "Developer documentation ↗" : "開發者文件 ↗",
- "Version {version}, {license}-licensed" : "版本 {version},授權條款:{license}",
- "Version {version}" : "版本 {version}",
- "All accounts" : "所有帳號",
- "Admins" : "管理員",
- "Account group: {group}" : "帳號群組:{group}",
- "Account management" : "帳號管理",
"Sending…" : "正在傳送…",
"Email sent" : "電子郵件已寄出",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "出於效能考量,當您在 Nextcloud 上啟用加密時,僅會加密新檔案與已變更的檔案。",
@@ -797,6 +513,7 @@ OC.L10N.register(
"Date of birth" : "出生日期",
"Full name" : "全名",
"Additional email" : "額外的電子郵件",
+ "Email" : "電子郵件",
"Fediverse (e.g. Mastodon)" : "聯邦宇宙(例如 Mastodon)",
"Headline" : "重要經歷",
"Organisation" : "組織單位",
@@ -806,6 +523,7 @@ OC.L10N.register(
"X (formerly Twitter)" : "X(前身為 Twitter)",
"Website" : "網站",
"Profile visibility" : "個人檔案能見度",
+ "Language" : "語言",
"Locale" : "地區設定",
"First day of week" : "每週的第一天",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "無法使用;因為此屬性是核心功能,包括檔案分享和行事曆邀請等的必要項目",
@@ -823,6 +541,7 @@ OC.L10N.register(
"Show to logged in accounts only" : "僅對已登入的帳號顯示",
"Hide" : "隱藏",
"Manually installed apps cannot be updated" : "無法更新手動安裝的應用程式",
+ "Update to {version}" : "更新到 {version}",
"{progress}% Deploying …" : "{progress}% 正在部署……",
"{progress}% Initializing …" : "{progress}% 正在初始化……",
"Health checking" : "健康檢查",
@@ -832,6 +551,7 @@ OC.L10N.register(
"Allow untested app" : "允許未經測試的應用程式",
"The app will be downloaded from the App Store" : "將會從應用程式商店下載這個應用程式",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "此應用程式未被標記為與您的 Nextcloud 版本相容。如果繼續,您仍可安裝應用程式。但請注意應用程式可能無法正常運作。",
+ "{size} used" : "已使用 {size}",
"Unknown" : "未知",
"Never" : "永不",
"Could not register device: Network error" : "無法註冊裝置:網路錯誤",
@@ -850,8 +570,10 @@ OC.L10N.register(
"Could not set group sorting" : "無法設定群組排序",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "有太多請求來自您的網路,請稍後再試。若您認為這不該發生,請聯絡系統管理員這是錯誤。",
"Error" : "錯誤",
+ "Default quota" : "預設儲存容量限制",
"Account documentation" : "帳號文件",
"Administration documentation" : "管理文件",
+ "Documentation" : "文件",
"Forum" : "論壇",
"Nextcloud help & privacy resources" : "Nextcloud 說明與隱私資源",
"General documentation" : "一般文件",
@@ -874,6 +596,7 @@ OC.L10N.register(
"SMTP Password" : "SMTP 密碼",
"Save" : "儲存",
"Test and verify email settings" : "測試並驗證電子郵件設定",
+ "Send email" : "傳送電子郵件",
"Security & setup warnings" : "安全及設定警告",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "正確設定每項事物對您的站台安全性與效能來說非常重要。為了協助您,我們正在進行一些自動檢查。請參閱連結資訊以了解更多資訊。",
"All checks passed." : "所有檢查皆通過。",
@@ -899,11 +622,8 @@ OC.L10N.register(
"The PHP memory limit is below the recommended value of %s." : "目前的 PHP 的記憶體限制設定低於建議值 %s。",
"for WebAuthn passwordless login" : "用於 WebAuthn 無密碼登入",
"for WebAuthn passwordless login, and SFTP storage" : "用於 WebAuthn 無密碼登入與 SFTP 儲存空間",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並不包含 `%2$s`。這可能是潛在的安全性或隱私風險,建議調整此項設定。",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "偵測到 PostgreSQL 版本「%s」。建議使用 PostgreSQL >=12 且 <=16 以取得此版本 Nextcloud 的最佳效能、穩定性與功能。",
- "Set default expiration date for shares" : "設定分享的預設到期日",
- "Your biography" : "您的自傳",
- "You are using <strong>{usage}</strong>" : "您已使用 <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "您已使用 <strong>{totalSpace}</strong> 中的 <strong>{usage}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "載入包含詳細資訊的子管理員群組失敗"
+ "Set default expiration date for shares" : "設定分享的預設到期日"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/zh_TW.json b/apps/settings/l10n/zh_TW.json
index 0f2c6f6653e..3bad7a0b2a0 100644
--- a/apps/settings/l10n/zh_TW.json
+++ b/apps/settings/l10n/zh_TW.json
@@ -294,7 +294,6 @@
"HTTP headers" : "HTTP 標頭",
"- The `%1$s` HTTP header is not set to `%2$s`. Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並非設定為 `%2$s`。部份功能可能無法正常運作,建議調整此項設定。",
"- The `%1$s` HTTP header is not set to `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並非設定為 `%2$s`。這可能是潛在的安全性或隱私風險,建議調整此項設定。",
- "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並不包含 `%2$s`。這可能是潛在的安全性或隱私風險,建議調整此項設定。",
"- The `%1$s` HTTP header is not set to `%2$s`, `%3$s`, `%4$s`, `%5$s` or `%6$s`. This can leak referer information. See the {w3c-recommendation}." : "- `%1$s` HTTP 標頭並非設定為 `%2$s`、`%3$s`、`%4$s`、`%5$s` 或 `%6$s`。這可能會洩漏參照位址資訊。請見 {w3c-recommendation}。",
"- The `Strict-Transport-Security` HTTP header is not set to at least `%d` seconds (current value: `%d`). For enhanced security, it is recommended to use a long HSTS policy." : "- `Strict-Transport-Security` HTTP 標頭並未設定為至少 `%d` 秒(目前值:`%d`)。為了強化安全性,建議使用較長的 HSTS 政策。",
"- The `Strict-Transport-Security` HTTP header is malformed: `%s`. For enhanced security, it is recommended to enable HSTS." : "- `Strict-Transport-Security` HTTP 標頭格式錯誤:`%s`。為了強化安全性,建議啟用 HSTS。",
@@ -445,97 +444,6 @@
"Could not load section content from app store." : "無法從應用程式商店載入部份內容。",
"Loading" : "正在載入",
"Fetching the latest news…" : "正在擷取最新新聞……",
- "Carousel" : "輪播",
- "Previous slide" : "上一張投影片",
- "Next slide" : "下一張投影片",
- "Choose slide to display" : "選擇要顯示的投影片",
- "{index} of {total}" : "第 {index} 張,共 {total} 張",
- "Daemon" : "守護程式",
- "Deploy Daemon" : "部署幕後程式",
- "Type" : "類型",
- "Display Name" : "顯示名稱",
- "GPUs support" : "GPU 支援",
- "Compute device" : "計算裝置",
- "Advanced deploy options" : "進階部署選項",
- "Edit ExApp deploy options before installation" : "在安裝前編輯 ExApp 部署選項",
- "Configured ExApp deploy options. Can be set only during installation" : "設定的 ExApp 部署選項。僅能在安裝時設定",
- "Learn more" : "瞭解更多",
- "Environment variables" : "環境變數",
- "ExApp container environment variables" : "ExApp 容器環境變數",
- "No environment variables defined" : "未定義環境變數",
- "Mounts" : "掛載",
- "Define host folder mounts to bind to the ExApp container" : "定義要綁紮到 ExApp 容器的主機資料夾掛載",
- "Must exist on the Deploy daemon host prior to installing the ExApp" : "在安裝 ExApp 前,必須存在於部署幕後程式主機上",
- "Host path" : "主機路徑",
- "Container path" : "容器路徑",
- "Read-only" : "唯讀",
- "Remove mount" : "移除掛載",
- "New mount" : "新掛載",
- "Enter path to host folder" : "輸入主機資料夾的路徑",
- "Enter path to container folder" : "輸入容器資料夾的路徑",
- "Toggle read-only mode" : "切換唯讀模式",
- "Confirm adding new mount" : "確認新增掛載",
- "Confirm" : "確認",
- "Cancel adding mount" : "取消新增掛載",
- "Cancel" : "取消",
- "Add mount" : "新增掛載",
- "ExApp container mounts" : "ExApp 容器掛載",
- "No mounts defined" : "未定義掛載",
- "Description" : "描述",
- "View in store" : "在商店中檢視",
- "Visit website" : "造訪網站",
- "Usage documentation" : "使用方式說明文件",
- "Admin documentation" : "管理員文件",
- "Developer documentation" : "開發者文件",
- "Details" : "詳細資料",
- "All" : "所有",
- "Limit app usage to groups" : "限制特定群組使用應用程式",
- "No results" : "沒有結果",
- "Update to {version}" : "更新到 {version}",
- "Deploy options" : "部署選項",
- "Default Deploy daemon is not accessible" : "預設部署幕後程式無法使用",
- "Delete data on remove" : "移除時刪除資料",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "此應用程式並未指定最低的 Nextcloud 版本。未來可能會出現錯誤。",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "此應用程式並未指定最高的 Nextcloud 版本。未來可能會出現錯誤。",
- "This app cannot be installed because the following dependencies are not fulfilled:" : "無法滿足下列的依賴關係,故無法安裝此應用程式:",
- "Latest updated" : "最近更新",
- "Author" : "作者",
- "Categories" : "分類",
- "Resources" : "資源",
- "Documentation" : "文件",
- "Interact" : "相互影響",
- "Report a bug" : "回報問題",
- "Request feature" : "要求功能",
- "Ask questions or discuss" : "發問或討論",
- "Rate the app" : "應用程式評價",
- "Rate" : "評價",
- "Changelog" : "變更紀錄",
- "Google Chrome for Android" : "Android 版 Google Chrome",
- "{productName} iOS app" : "{productName} iOS 應用程式",
- "{productName} Android app" : "{productName} Android 應用程式",
- "{productName} Talk for iOS" : "iOS 版的 {productName} Talk",
- "{productName} Talk for Android" : "Android 版的 {productName} Talk",
- "Sync client" : "同步客戶端",
- "This session" : "此工作階段",
- "{client} - {version} ({system})" : "{client} - {version} ({system})",
- "{client} - {version}" : "{client} - {version}",
- "Device name" : "裝置名稱",
- "Cancel renaming" : "取消重新命名",
- "Save new name" : "儲存新名稱",
- "Marked for remote wipe" : "標記為可遠端抹除",
- "Device settings" : "裝置設定",
- "Allow filesystem access" : "允許檔案系統的存取",
- "Rename" : "重新命名",
- "Revoke" : "撤銷",
- "Wipe device" : "抹除裝置",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "若尚未開始抹除,則撤銷此代符可能會無法抹除您的裝置。",
- "Device" : "裝置",
- "Last activity" : "最近活動狀態",
- "Devices & sessions" : "裝置和工作階段",
- "Web, desktop and mobile clients currently logged in to your account." : "目前登入您的帳號的網頁、桌面和行動裝置客戶端。",
- "Error while creating device token" : "建立裝置代符時發生錯誤",
- "App name" : "應用程式名稱",
- "Create new app password" : "建立新的應用程式密碼",
"App password copied!" : "已複製應用程式密碼!",
"Copy app password" : "複製應用程式密碼",
"Login name copied!" : "已複製登入名稱!",
@@ -589,203 +497,11 @@
"Failed to delete group \"{group}\"" : "刪除群組「{group}」失敗",
"Please confirm the group removal" : "請確認移除群組",
"You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "您將要刪除群組「{group}」。帳號將不會被刪除。",
+ "Cancel" : "取消",
+ "Confirm" : "確認",
"Submit" : "提交",
"Rename group" : "重新命名群組",
"Delete group" : "刪除群組",
- "Current password" : "目前密碼",
- "New password" : "新密碼",
- "Change password" : "變更密碼",
- "Choose your profile picture" : "選擇您的個人檔案圖片",
- "Please select a valid png or jpg file" : "請選取有效的 png 或 jpg 檔案",
- "Error setting profile picture" : "設定個人檔案圖片時發生錯誤",
- "Error cropping profile picture" : "裁剪個人檔案圖片時發生錯誤",
- "Error saving profile picture" : "儲存個人檔案圖片時發生錯誤",
- "Error removing profile picture" : "移除個人檔案圖片時發生錯誤",
- "Your profile picture" : "您的個人檔案圖片",
- "Upload profile picture" : "上傳個人檔案圖片",
- "Choose profile picture from Files" : "從檔案中選擇個人檔案圖片",
- "Remove profile picture" : "移除個人檔案圖片",
- "The file must be a PNG or JPG" : "檔案必須是 PNG 或 JPG",
- "Picture provided by original account" : "原始帳號提供的圖片",
- "Set as profile picture" : "設定為個人檔案圖片",
- "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "請注意,您的個人檔案圖片最長可能需要 24 小時才能在所有地方更新。",
- "Your biography. Markdown is supported." : "您的自傳。支援 Markdown。",
- "Unable to update date of birth" : "無法更新出生日期",
- "Enter your date of birth" : "輸入您的出生日期",
- "You are using {s}{usage}{/s}" : "您已使用 {s}{usage}{/s}",
- "You are using {s}{usage}{/s} of {s}{totalSpace}{/s} ({s}{usageRelative}%{/s})" : "您已使用 {s}{usage}{/s},總儲存空間{s}{totalSpace}{/s} ({s}{usageRelative}%{/s})",
- "You are a member of the following groups:" : "您是下列群組的成員︰",
- "Your full name" : "您的全名",
- "Email options" : "電子郵件選項",
- "Options for additional email address {index}" : "額外的電子郵件地址 {index} 的選項",
- "Remove primary email" : "移除主要電子郵件地址",
- "Delete email" : "刪除電子郵件地址",
- "This address is not confirmed" : "此地址尚未確認",
- "Unset as primary email" : "取消設定為主要電子郵件",
- "Set as primary email" : "設定為主要電子郵件",
- "Additional email address {index}" : "額外的電子郵件地址 {index}",
- "Unable to delete primary email address" : "無法刪除主要電子郵件地址",
- "Unable to update primary email address" : "無法更新主要電子郵件地址",
- "Unable to add additional email address" : "無法新增額外的電子郵件地址",
- "Unable to update additional email address" : "無法更新額外的電子郵件地址",
- "Unable to delete additional email address" : "無法刪除額外的電子郵件地址",
- "Primary email for password reset and notifications" : "用於密碼重設與通知的主要電子郵件地址",
- "No email address set" : "未設定電子郵件地址",
- "Your handle" : "您的社交帳號",
- "Derived from your locale ({weekDayName})" : "源自您的區域設定({weekDayName})",
- "Unable to update first day of week" : "無法更新每週的第一天",
- "Day to use as the first day of week" : "要作為每週第一天的星期幾",
- "Your headline" : "您的重要經歷",
- "Unable to update language" : "無法更新語言",
- "Languages" : "語言",
- "Help translate" : "協助翻譯",
- "No language set" : "未設定語言",
- "Unable to update locale" : "無法更新地區設定",
- "Locales" : "地區設定",
- "Week starts on {firstDayOfWeek}" : "一週從 {firstDayOfWeek} 開始",
- "No locale set" : "未設定地區設定",
- "Your city" : "您的城市",
- "Your organisation" : "您的組織單位",
- "Your phone number" : "您的電話號碼",
- "Edit your Profile visibility" : "編輯您的個人檔案能見度",
- "Unable to update profile enabled state" : "無法更新個人檔案啟用狀態",
- "Enable profile" : "啟用個人檔案",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "將會遵循您個人檔案中「能見度」與「範圍」中較嚴格的設定。舉例來說,當「能見度」設定為「對所有人顯示」,而「範圍」設定為「私人」時,將使用「私人」的設定。",
- "Unable to update visibility of {displayId}" : "無法更新 {displayId} 的能見度",
- "she/her" : "她",
- "he/him" : "他",
- "they/them" : "他們",
- "Your role" : "您的職位",
- "Your X (formerly Twitter) handle" : "您的 X(前身為 Twitter)帳號",
- "Your website" : "您的網站",
- "Invalid value" : "無效值",
- "Unable to update {property}" : "無法更新 {property}",
- "No {property} set" : "未設定 {property}",
- "Change scope level of {property}, current scope is {scope}" : "變更 {property} 的範圍層級,目前的範圍是 {scope}",
- "Unable to update federation scope of the primary {property}" : "無法更新主要 {property} 的聯邦範圍",
- "Unable to update federation scope of additional {property}" : "無法更新額外 {property} 的聯邦範圍",
- "Add additional email" : "新增額外電子郵件",
- "Add" : "新增",
- "Create" : "建立",
- "Change" : "更改",
- "Delete" : "刪除",
- "Reshare" : "轉發分享",
- "Default language" : "預設語言",
- "Common languages" : "常用語言",
- "Other languages" : "其他語言",
- "Password change is disabled because the master key is disabled" : "由於主控金鑰已停用,已停用密碼變更",
- "No accounts" : "無帳號",
- "Loading accounts …" : "少女祈禱中...",
- "List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list." : "帳號清單。出於效能考量,此清單未完全呈現。帳號將在您瀏覽清單時呈現。",
- "Manager" : "管理員",
- "Set line manager" : "設定行管理員",
- "Account name will be autogenerated" : "將會自動產生帳號名稱",
- "Account name (required)" : "帳號名稱(必填)",
- "Failed to search groups" : "搜尋群組失敗",
- "New account" : "新帳號",
- "Display name" : "顯示名稱",
- "Either password or email is required" : "需要密碼或電子郵件地址",
- "Password (required)" : "密碼(必填)",
- "Email (required)" : "電子郵件(必填)",
- "Email" : "電子郵件",
- "Member of the following groups (required)" : "以下群組的成員(必要)",
- "Member of the following groups" : "以下群組的成員",
- "Set account groups" : "設定帳號群組",
- "Admin of the following groups" : "以下群組的管理員",
- "Set account as admin for …" : "將帳號設定為管理員……",
- "Quota" : "容量限制",
- "Set account quota" : "設定帳號容量限制",
- "Language" : "語言",
- "Set default language" : "設定預設語言",
- "Add new account" : "新增帳號",
- "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} 個帳號……"],
- "_{userCount} account_::_{userCount} accounts_" : ["{userCount} 個帳號"],
- "Total rows summary" : "總列摘要",
- "Scroll to load more rows" : "捲動以載入更多列",
- "Password or insufficient permissions message" : "密碼或超出權限訊息",
- "Avatar" : "頭像",
- "Account name" : "帳號名稱",
- "Group admin for" : "群組管理員",
- "Account backend" : "帳號後端",
- "Storage location" : "儲存位置",
- "First login" : "首次登入",
- "Last login" : "上次登入",
- "Account actions" : "帳戶動作",
- "{size} used" : "已使用 {size}",
- "Delete account" : "刪除帳號",
- "Disconnect all devices and delete local data" : "取消連結所有裝置並刪除本機資料",
- "Disable account" : "停用帳號",
- "Enable account" : "啟用帳號",
- "Resend welcome email" : "重新傳送歡迎電子郵件",
- "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "如果遺失裝置或退出組織,可以從與 {userid} 相關的所有裝置遠端抹除 Nextcloud 資料。僅當裝置連線到網際網路時才有效。",
- "Remote wipe of devices" : "遠端抹除裝置",
- "Wipe {userid}'s devices" : "抹除 {userid} 的裝置",
- "Wiped {userid}'s devices" : "抹除了 {userid} 的裝置",
- "Failed to load groups with details" : "無法載入包含詳細資訊的群組",
- "Failed to load sub admin groups with details" : "載入包含詳細資訊的子管理員群組失敗",
- "Failed to update line manager" : "更新行管理員失敗",
- "Fully delete {userid}'s account including all their personal files, app data, etc." : "完全刪除 {userid} 的帳號,包含他們所有的個人檔案、應用程式資料等等。",
- "Account deletion" : "帳號刪除",
- "Delete {userid}'s account" : "刪除 {userid} 的帳號",
- "Display name was successfully changed" : "成功變更顯示名稱",
- "Password can't be empty" : "密碼不能為空",
- "Password was successfully changed" : "成功變更密碼",
- "Email can't be empty" : "電子郵件不能為空",
- "Email was successfully changed" : "成功更新電子郵件",
- "Welcome mail sent!" : "已傳送歡迎郵件!",
- "Loading account …" : "正在載入帳號……",
- "Change display name" : "變更顯示名稱",
- "Set new password" : "設定新密碼",
- "You do not have permissions to see the details of this account" : "您沒有檢視此帳號詳細資料的權限",
- "Set new email address" : "設定新電子郵件地址",
- "Add account to group" : "新增帳號至群組",
- "Set account as admin for" : "將帳號設定為管理員",
- "Select account quota" : "選取帳號容量限制",
- "Set the language" : "設定語言",
- "Toggle account actions menu" : "切換帳號動作選單",
- "Done" : "完成",
- "Edit" : "編輯",
- "Account management settings" : "帳號管理員設定",
- "Visibility" : "能見度",
- "Show language" : "顯示語言",
- "Show account backend" : "顯示帳號後端",
- "Show storage path" : "顯示儲存路徑",
- "Show first login" : "顯示首次登入",
- "Show last login" : "顯示上次登入時間",
- "Sorting" : "排序",
- "The system config enforces sorting the groups by name. This also disables showing the member count." : "系統設定強制按名稱對群組排序。這也會停用顯示成員數量。",
- "Group list sorting" : "群組清單排序",
- "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "出於效能考量,排序只適用於目前載入的群組。當您在清單中瀏覽或搜尋時,會載入群組。",
- "By member count" : "按成員數量",
- "By name" : "按名稱",
- "Send email" : "傳送電子郵件",
- "Send welcome email to new accounts" : "向新帳號傳送歡迎電子郵件",
- "Defaults" : "預設",
- "Default quota" : "預設儲存容量限制",
- "Select default quota" : "選取預設容量限制",
- "Server error while trying to complete WebAuthn device registration" : "嘗試完成 WebAuthn 裝置註冊時發生伺服器錯誤",
- "Passwordless authentication requires a secure connection." : "無密碼身份認證需要安全連線。",
- "Add WebAuthn device" : "新增 WebAuthn 裝置",
- "Please authorize your WebAuthn device." : "請授權您的 WebAuthn 裝置。",
- "Adding your device …" : "正在新增您的裝置…",
- "Unnamed device" : "未命名的裝置",
- "Passwordless Authentication" : "無密碼認證",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "按照 FIDO2 標準設定您帳號的無密碼認證。",
- "No devices configured." : "未設定裝置組態。",
- "The following devices are configured for your account:" : "為您的帳號設定了以下裝置:",
- "Your browser does not support WebAuthn." : "您的瀏覽器不支援 WebAuthn。",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "系統管理員可以微調分享行為。請查閱文件以獲得更多資訊。",
- "You need to enable the File sharing App." : "您必須啟用檔案分享應用程式。",
- "App Store" : "應用程式商店",
- "Loading app list" : "正在載入應用程式清單",
- "Loading categories" : "正在載入分類",
- "Developer documentation ↗" : "開發者文件 ↗",
- "Version {version}, {license}-licensed" : "版本 {version},授權條款:{license}",
- "Version {version}" : "版本 {version}",
- "All accounts" : "所有帳號",
- "Admins" : "管理員",
- "Account group: {group}" : "帳號群組:{group}",
- "Account management" : "帳號管理",
"Sending…" : "正在傳送…",
"Email sent" : "電子郵件已寄出",
"For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "出於效能考量,當您在 Nextcloud 上啟用加密時,僅會加密新檔案與已變更的檔案。",
@@ -795,6 +511,7 @@
"Date of birth" : "出生日期",
"Full name" : "全名",
"Additional email" : "額外的電子郵件",
+ "Email" : "電子郵件",
"Fediverse (e.g. Mastodon)" : "聯邦宇宙(例如 Mastodon)",
"Headline" : "重要經歷",
"Organisation" : "組織單位",
@@ -804,6 +521,7 @@
"X (formerly Twitter)" : "X(前身為 Twitter)",
"Website" : "網站",
"Profile visibility" : "個人檔案能見度",
+ "Language" : "語言",
"Locale" : "地區設定",
"First day of week" : "每週的第一天",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "無法使用;因為此屬性是核心功能,包括檔案分享和行事曆邀請等的必要項目",
@@ -821,6 +539,7 @@
"Show to logged in accounts only" : "僅對已登入的帳號顯示",
"Hide" : "隱藏",
"Manually installed apps cannot be updated" : "無法更新手動安裝的應用程式",
+ "Update to {version}" : "更新到 {version}",
"{progress}% Deploying …" : "{progress}% 正在部署……",
"{progress}% Initializing …" : "{progress}% 正在初始化……",
"Health checking" : "健康檢查",
@@ -830,6 +549,7 @@
"Allow untested app" : "允許未經測試的應用程式",
"The app will be downloaded from the App Store" : "將會從應用程式商店下載這個應用程式",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "此應用程式未被標記為與您的 Nextcloud 版本相容。如果繼續,您仍可安裝應用程式。但請注意應用程式可能無法正常運作。",
+ "{size} used" : "已使用 {size}",
"Unknown" : "未知",
"Never" : "永不",
"Could not register device: Network error" : "無法註冊裝置:網路錯誤",
@@ -848,8 +568,10 @@
"Could not set group sorting" : "無法設定群組排序",
"There were too many requests from your network. Retry later or contact your administrator if this is an error." : "有太多請求來自您的網路,請稍後再試。若您認為這不該發生,請聯絡系統管理員這是錯誤。",
"Error" : "錯誤",
+ "Default quota" : "預設儲存容量限制",
"Account documentation" : "帳號文件",
"Administration documentation" : "管理文件",
+ "Documentation" : "文件",
"Forum" : "論壇",
"Nextcloud help & privacy resources" : "Nextcloud 說明與隱私資源",
"General documentation" : "一般文件",
@@ -872,6 +594,7 @@
"SMTP Password" : "SMTP 密碼",
"Save" : "儲存",
"Test and verify email settings" : "測試並驗證電子郵件設定",
+ "Send email" : "傳送電子郵件",
"Security & setup warnings" : "安全及設定警告",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "正確設定每項事物對您的站台安全性與效能來說非常重要。為了協助您,我們正在進行一些自動檢查。請參閱連結資訊以了解更多資訊。",
"All checks passed." : "所有檢查皆通過。",
@@ -897,11 +620,8 @@
"The PHP memory limit is below the recommended value of %s." : "目前的 PHP 的記憶體限制設定低於建議值 %s。",
"for WebAuthn passwordless login" : "用於 WebAuthn 無密碼登入",
"for WebAuthn passwordless login, and SFTP storage" : "用於 WebAuthn 無密碼登入與 SFTP 儲存空間",
+ "- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "- `%1$s` HTTP 標頭並不包含 `%2$s`。這可能是潛在的安全性或隱私風險,建議調整此項設定。",
"PostgreSQL version \"%s\" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud." : "偵測到 PostgreSQL 版本「%s」。建議使用 PostgreSQL >=12 且 <=16 以取得此版本 Nextcloud 的最佳效能、穩定性與功能。",
- "Set default expiration date for shares" : "設定分享的預設到期日",
- "Your biography" : "您的自傳",
- "You are using <strong>{usage}</strong>" : "您已使用 <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "您已使用 <strong>{totalSpace}</strong> 中的 <strong>{usage}</strong> (<strong>{usageRelative}%</strong>)",
- "Failed to load subadmin groups with details" : "載入包含詳細資訊的子管理員群組失敗"
+ "Set default expiration date for shares" : "設定分享的預設到期日"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/lib/SetupChecks/SecurityHeaders.php b/apps/settings/lib/SetupChecks/SecurityHeaders.php
index ed4e56218da..9cc6856a170 100644
--- a/apps/settings/lib/SetupChecks/SecurityHeaders.php
+++ b/apps/settings/lib/SetupChecks/SecurityHeaders.php
@@ -72,11 +72,6 @@ class SecurityHeaders implements ISetupCheck {
}
}
- $xssFields = array_map('trim', explode(';', $response->getHeader('X-XSS-Protection')));
- if (!in_array('1', $xssFields) || !in_array('mode=block', $xssFields)) {
- $msg .= $this->l10n->t('- The `%1$s` HTTP header does not contain `%2$s`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.', ['X-XSS-Protection', '1; mode=block']) . "\n";
- }
-
$referrerPolicy = $response->getHeader('Referrer-Policy');
if (!preg_match('/(no-referrer(-when-downgrade)?|strict-origin(-when-cross-origin)?|same-origin)(,|$)/', $referrerPolicy)) {
$msg .= $this->l10n->t(
diff --git a/apps/settings/tests/SetupChecks/SecurityHeadersTest.php b/apps/settings/tests/SetupChecks/SecurityHeadersTest.php
index e7d87775485..17e631b0025 100644
--- a/apps/settings/tests/SetupChecks/SecurityHeadersTest.php
+++ b/apps/settings/tests/SetupChecks/SecurityHeadersTest.php
@@ -84,7 +84,7 @@ class SecurityHeadersTest extends TestCase {
$result = $this->setupcheck->run();
$this->assertEquals(
- "Some headers are not set correctly on your instance\n- The `X-Content-Type-Options` HTTP header is not set to `nosniff`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.\n- The `X-XSS-Protection` HTTP header does not contain `1; mode=block`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.\n",
+ "Some headers are not set correctly on your instance\n- The `X-Content-Type-Options` HTTP header is not set to `nosniff`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.\n",
$result->getDescription()
);
$this->assertEquals(SetupResult::WARNING, $result->getSeverity());
@@ -94,7 +94,6 @@ class SecurityHeadersTest extends TestCase {
return [
// description => modifiedHeaders
'basic' => [[]],
- 'extra-xss-protection' => [['X-XSS-Protection' => '1; mode=block; report=https://example.com']],
'no-space-in-x-robots' => [['X-Robots-Tag' => 'noindex,nofollow']],
'strict-origin-when-cross-origin' => [['Referrer-Policy' => 'strict-origin-when-cross-origin']],
'referrer-no-referrer-when-downgrade' => [['Referrer-Policy' => 'no-referrer-when-downgrade']],
@@ -113,7 +112,6 @@ class SecurityHeadersTest extends TestCase {
public function testSuccess(array $headers): void {
$headers = array_merge(
[
- 'X-XSS-Protection' => '1; mode=block',
'X-Content-Type-Options' => 'nosniff',
'X-Robots-Tag' => 'noindex, nofollow',
'X-Frame-Options' => 'SAMEORIGIN',
@@ -140,8 +138,6 @@ class SecurityHeadersTest extends TestCase {
return [
// description => modifiedHeaders
'x-robots-none' => [['X-Robots-Tag' => 'none'], "- The `X-Robots-Tag` HTTP header is not set to `noindex,nofollow`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.\n"],
- 'xss-protection-1' => [['X-XSS-Protection' => '1'], "- The `X-XSS-Protection` HTTP header does not contain `1; mode=block`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.\n"],
- 'xss-protection-0' => [['X-XSS-Protection' => '0'], "- The `X-XSS-Protection` HTTP header does not contain `1; mode=block`. This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly.\n"],
'referrer-origin' => [['Referrer-Policy' => 'origin'], "- The `Referrer-Policy` HTTP header is not set to `no-referrer`, `no-referrer-when-downgrade`, `strict-origin`, `strict-origin-when-cross-origin` or `same-origin`. This can leak referer information. See the {w3c-recommendation}.\n"],
'referrer-origin-when-cross-origin' => [['Referrer-Policy' => 'origin-when-cross-origin'], "- The `Referrer-Policy` HTTP header is not set to `no-referrer`, `no-referrer-when-downgrade`, `strict-origin`, `strict-origin-when-cross-origin` or `same-origin`. This can leak referer information. See the {w3c-recommendation}.\n"],
'referrer-unsafe-url' => [['Referrer-Policy' => 'unsafe-url'], "- The `Referrer-Policy` HTTP header is not set to `no-referrer`, `no-referrer-when-downgrade`, `strict-origin`, `strict-origin-when-cross-origin` or `same-origin`. This can leak referer information. See the {w3c-recommendation}.\n"],
@@ -157,7 +153,6 @@ class SecurityHeadersTest extends TestCase {
public function testFailure(array $headers, string $msg): void {
$headers = array_merge(
[
- 'X-XSS-Protection' => '1; mode=block',
'X-Content-Type-Options' => 'nosniff',
'X-Robots-Tag' => 'noindex, nofollow',
'X-Frame-Options' => 'SAMEORIGIN',
diff --git a/apps/sharebymail/l10n/es_419.js b/apps/sharebymail/l10n/es_419.js
deleted file mode 100644
index cf3503e8536..00000000000
--- a/apps/sharebymail/l10n/es_419.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/es_419.json b/apps/sharebymail/l10n/es_419.json
deleted file mode 100644
index e553f22d3f6..00000000000
--- a/apps/sharebymail/l10n/es_419.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/es_CL.js b/apps/sharebymail/l10n/es_CL.js
deleted file mode 100644
index cf3503e8536..00000000000
--- a/apps/sharebymail/l10n/es_CL.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/es_CL.json b/apps/sharebymail/l10n/es_CL.json
deleted file mode 100644
index e553f22d3f6..00000000000
--- a/apps/sharebymail/l10n/es_CL.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/es_CO.js b/apps/sharebymail/l10n/es_CO.js
deleted file mode 100644
index cf3503e8536..00000000000
--- a/apps/sharebymail/l10n/es_CO.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/es_CO.json b/apps/sharebymail/l10n/es_CO.json
deleted file mode 100644
index e553f22d3f6..00000000000
--- a/apps/sharebymail/l10n/es_CO.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/es_CR.js b/apps/sharebymail/l10n/es_CR.js
deleted file mode 100644
index cf3503e8536..00000000000
--- a/apps/sharebymail/l10n/es_CR.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/es_CR.json b/apps/sharebymail/l10n/es_CR.json
deleted file mode 100644
index e553f22d3f6..00000000000
--- a/apps/sharebymail/l10n/es_CR.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/es_DO.js b/apps/sharebymail/l10n/es_DO.js
deleted file mode 100644
index cf3503e8536..00000000000
--- a/apps/sharebymail/l10n/es_DO.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/es_DO.json b/apps/sharebymail/l10n/es_DO.json
deleted file mode 100644
index e553f22d3f6..00000000000
--- a/apps/sharebymail/l10n/es_DO.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/es_GT.js b/apps/sharebymail/l10n/es_GT.js
deleted file mode 100644
index cf3503e8536..00000000000
--- a/apps/sharebymail/l10n/es_GT.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/es_GT.json b/apps/sharebymail/l10n/es_GT.json
deleted file mode 100644
index e553f22d3f6..00000000000
--- a/apps/sharebymail/l10n/es_GT.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/es_HN.js b/apps/sharebymail/l10n/es_HN.js
deleted file mode 100644
index cf3503e8536..00000000000
--- a/apps/sharebymail/l10n/es_HN.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/es_HN.json b/apps/sharebymail/l10n/es_HN.json
deleted file mode 100644
index e553f22d3f6..00000000000
--- a/apps/sharebymail/l10n/es_HN.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/es_NI.js b/apps/sharebymail/l10n/es_NI.js
deleted file mode 100644
index cf3503e8536..00000000000
--- a/apps/sharebymail/l10n/es_NI.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/es_NI.json b/apps/sharebymail/l10n/es_NI.json
deleted file mode 100644
index e553f22d3f6..00000000000
--- a/apps/sharebymail/l10n/es_NI.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/es_PA.js b/apps/sharebymail/l10n/es_PA.js
deleted file mode 100644
index cf3503e8536..00000000000
--- a/apps/sharebymail/l10n/es_PA.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/es_PA.json b/apps/sharebymail/l10n/es_PA.json
deleted file mode 100644
index e553f22d3f6..00000000000
--- a/apps/sharebymail/l10n/es_PA.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/es_PE.js b/apps/sharebymail/l10n/es_PE.js
deleted file mode 100644
index cf3503e8536..00000000000
--- a/apps/sharebymail/l10n/es_PE.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/es_PE.json b/apps/sharebymail/l10n/es_PE.json
deleted file mode 100644
index e553f22d3f6..00000000000
--- a/apps/sharebymail/l10n/es_PE.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/es_PR.js b/apps/sharebymail/l10n/es_PR.js
deleted file mode 100644
index cf3503e8536..00000000000
--- a/apps/sharebymail/l10n/es_PR.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/es_PR.json b/apps/sharebymail/l10n/es_PR.json
deleted file mode 100644
index e553f22d3f6..00000000000
--- a/apps/sharebymail/l10n/es_PR.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/es_PY.js b/apps/sharebymail/l10n/es_PY.js
deleted file mode 100644
index cf3503e8536..00000000000
--- a/apps/sharebymail/l10n/es_PY.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/es_PY.json b/apps/sharebymail/l10n/es_PY.json
deleted file mode 100644
index e553f22d3f6..00000000000
--- a/apps/sharebymail/l10n/es_PY.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/es_SV.js b/apps/sharebymail/l10n/es_SV.js
deleted file mode 100644
index cf3503e8536..00000000000
--- a/apps/sharebymail/l10n/es_SV.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/es_SV.json b/apps/sharebymail/l10n/es_SV.json
deleted file mode 100644
index e553f22d3f6..00000000000
--- a/apps/sharebymail/l10n/es_SV.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/es_UY.js b/apps/sharebymail/l10n/es_UY.js
deleted file mode 100644
index cf3503e8536..00000000000
--- a/apps/sharebymail/l10n/es_UY.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/es_UY.json b/apps/sharebymail/l10n/es_UY.json
deleted file mode 100644
index e553f22d3f6..00000000000
--- a/apps/sharebymail/l10n/es_UY.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartido con %1$s",
- "Shared with {email}" : "Compartido con {email}",
- "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
- "Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "La contraseña para el elemento compartido fue enviada a %1$s",
- "Password for mail share sent to {email}" : "La contraseña para el elemento compartido fue enviada a {email}",
- "Password for mail share sent to you" : "La contraseña para el elemento compartido se te ha enviado",
- "You shared %1$s with %2$s by mail" : "Compartiste %1$s con %2$s por correo",
- "You shared {file} with {email} by mail" : "Compartiste {file} con {email} por correo",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s por correo ",
- "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} por correo",
- "Password to access %1$s was sent to %2s" : "La contraseña para acceder %1$s fue enviada a %2s",
- "Password to access {file} was sent to {email}" : "La contraseña para acceder {file} ha sido enviada a {email}",
- "Password to access %1$s was sent to you" : "La contraseña para acceder %1$s se te ha enviado",
- "Password to access {file} was sent to you" : "La contraseña para acceder {file} se te ha sido enviada",
- "Share by mail" : "Compartir por correo",
- "Failed to send share by email" : "Se presentó una falla al enviar el elemento compartido por correo electrónico",
- "Click the button below to open it." : "Haz click en el botón de abajo para abrirlo.",
- "Open »%s«" : "Abrir »%s«",
- "Password to access »%s«" : "Contraseña para acceder »%s«",
- "You can choose a different password at any time in the share dialog." : "Puedes elegir una contraseña diferente en cualquier momento en la ventana de diálogo de compartir. ",
- "Could not find share" : "No fue posible encontrar el elemento compartido",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
- "Send password by mail" : "La contraseña ha sido enviada por correo",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarte la contraseña auto-generada. Por favor establece una dirección de correo electrónico váilida en tus configuraciones personales y vuelve a intentarlo.",
- "Enforce password protection" : "Forzar protección con contraseña"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/ia.js b/apps/sharebymail/l10n/ia.js
deleted file mode 100644
index cae560e0c20..00000000000
--- a/apps/sharebymail/l10n/ia.js
+++ /dev/null
@@ -1,24 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Compartite con %1$s",
- "Shared with {email}" : "Compartite con {email}",
- "Shared with %1$s by %2$s" : "Compartite con %1$s per %2$s",
- "Shared with {email} by {actor}" : "Compartite con {email} per {actor}",
- "You shared %1$s with %2$s by mail" : "Tu compartiva %1$s con %2$s per e-posta",
- "You shared {file} with {email} by mail" : "Tu compartiva {file} con {email} per e-posta",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartiva %1$s con %2$s per e-posta",
- "{actor} shared {file} with {email} by mail" : "{actor} compartiva {file} con {email} per e-posta",
- "Sharing %s failed, this item is already shared with %s" : "Compartir %s falleva, iste elemento ja es compartite con %s",
- "Failed to send share by E-mail" : "Invio de compartite per e-posta falleva",
- "%s shared »%s« with you" : "%s compartiva »%s« con te",
- "%s shared »%s« with you on behalf of %s" : "%s compartiva »%s« con te in nomine de %s",
- "Failed to create the E-mail" : "Creation de E-Posta falleva",
- "Could not find share" : "Impossibile trovar le compartite",
- "Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Holla,\n\n%s compartiva »%s« con te in nomine de %s.\n\n%s\n\n",
- "Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Holla,\n\n%s compartiva »%s« con te.\n\n%s\n\n",
- "Cheers!" : "Congratulationes!",
- "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you on behalf of %s.<br><br>" : "Holla,<br><br>%s compartiva <a href=\"%s\">%s</a> con te in nomine de %s.<br><br>",
- "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you.<br><br>" : "Holla,<br><br>%s compartiva <a href=\"%s\">%s</a> con te.<br><br>"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/ia.json b/apps/sharebymail/l10n/ia.json
deleted file mode 100644
index ccb58d80cc1..00000000000
--- a/apps/sharebymail/l10n/ia.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Compartite con %1$s",
- "Shared with {email}" : "Compartite con {email}",
- "Shared with %1$s by %2$s" : "Compartite con %1$s per %2$s",
- "Shared with {email} by {actor}" : "Compartite con {email} per {actor}",
- "You shared %1$s with %2$s by mail" : "Tu compartiva %1$s con %2$s per e-posta",
- "You shared {file} with {email} by mail" : "Tu compartiva {file} con {email} per e-posta",
- "%3$s shared %1$s with %2$s by mail" : "%3$s compartiva %1$s con %2$s per e-posta",
- "{actor} shared {file} with {email} by mail" : "{actor} compartiva {file} con {email} per e-posta",
- "Sharing %s failed, this item is already shared with %s" : "Compartir %s falleva, iste elemento ja es compartite con %s",
- "Failed to send share by E-mail" : "Invio de compartite per e-posta falleva",
- "%s shared »%s« with you" : "%s compartiva »%s« con te",
- "%s shared »%s« with you on behalf of %s" : "%s compartiva »%s« con te in nomine de %s",
- "Failed to create the E-mail" : "Creation de E-Posta falleva",
- "Could not find share" : "Impossibile trovar le compartite",
- "Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Holla,\n\n%s compartiva »%s« con te in nomine de %s.\n\n%s\n\n",
- "Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Holla,\n\n%s compartiva »%s« con te.\n\n%s\n\n",
- "Cheers!" : "Congratulationes!",
- "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you on behalf of %s.<br><br>" : "Holla,<br><br>%s compartiva <a href=\"%s\">%s</a> con te in nomine de %s.<br><br>",
- "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you.<br><br>" : "Holla,<br><br>%s compartiva <a href=\"%s\">%s</a> con te.<br><br>"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/id.js b/apps/sharebymail/l10n/id.js
deleted file mode 100644
index 60e6a7eb561..00000000000
--- a/apps/sharebymail/l10n/id.js
+++ /dev/null
@@ -1,24 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "Berbagi dengan %1$s",
- "Shared with {email}" : "Berbagi dengan {email}",
- "Shared with %1$s by %2$s" : "Berbagi dengan %1$s oleh %2$s",
- "Shared with {email} by {actor}" : "Berbagi dengan {email} oleh {actor}",
- "You shared %1$s with %2$s by mail" : "Anda membagikan %1$s dengan %2$s lewat surel",
- "You shared {file} with {email} by mail" : "Anda membagikan {file} dengan {email} lewat surel",
- "%3$s shared %1$s with %2$s by mail" : "%3$s membagikan %1$s dengan %2$s lewat surel",
- "{actor} shared {file} with {email} by mail" : "{actor} membagikan {file} dengan {email} lewat surel",
- "Sharing %s failed, this item is already shared with %s" : "Berbagi %s gagal, item ini telah dibagikan dengan %s",
- "Failed to send share by E-mail" : "Gagal untuk mengirim berbagi lewat surel",
- "%s shared »%s« with you" : "%s membagikan »%s« dengan anda",
- "%s shared »%s« with you on behalf of %s" : "%s membagikan »%s« dengan anda atas nama %s",
- "Failed to create the E-mail" : "Gagal untuk membuat surel",
- "Could not find share" : "Tidak menemukan berbagi",
- "Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hai bro,\n\n%s membagikan »%s« dengan anda atas nama %s.\n\n%s\n\n",
- "Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hai bro,\n\n%s membagikan »%s« dengan anda.\n\n%s\n\n",
- "Cheers!" : "Senyum!",
- "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you on behalf of %s.<br><br>" : "Hai bro,<br><br>%s membagikan <a href=\"%s\">%s</a> dengan anda atas nama %s.<br><br>",
- "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you.<br><br>" : "Hai bro,<br><br>%s membagikan <a href=\"%s\">%s</a> dengan anda.<br><br>"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/sharebymail/l10n/id.json b/apps/sharebymail/l10n/id.json
deleted file mode 100644
index 97e987101cb..00000000000
--- a/apps/sharebymail/l10n/id.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "Berbagi dengan %1$s",
- "Shared with {email}" : "Berbagi dengan {email}",
- "Shared with %1$s by %2$s" : "Berbagi dengan %1$s oleh %2$s",
- "Shared with {email} by {actor}" : "Berbagi dengan {email} oleh {actor}",
- "You shared %1$s with %2$s by mail" : "Anda membagikan %1$s dengan %2$s lewat surel",
- "You shared {file} with {email} by mail" : "Anda membagikan {file} dengan {email} lewat surel",
- "%3$s shared %1$s with %2$s by mail" : "%3$s membagikan %1$s dengan %2$s lewat surel",
- "{actor} shared {file} with {email} by mail" : "{actor} membagikan {file} dengan {email} lewat surel",
- "Sharing %s failed, this item is already shared with %s" : "Berbagi %s gagal, item ini telah dibagikan dengan %s",
- "Failed to send share by E-mail" : "Gagal untuk mengirim berbagi lewat surel",
- "%s shared »%s« with you" : "%s membagikan »%s« dengan anda",
- "%s shared »%s« with you on behalf of %s" : "%s membagikan »%s« dengan anda atas nama %s",
- "Failed to create the E-mail" : "Gagal untuk membuat surel",
- "Could not find share" : "Tidak menemukan berbagi",
- "Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hai bro,\n\n%s membagikan »%s« dengan anda atas nama %s.\n\n%s\n\n",
- "Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hai bro,\n\n%s membagikan »%s« dengan anda.\n\n%s\n\n",
- "Cheers!" : "Senyum!",
- "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you on behalf of %s.<br><br>" : "Hai bro,<br><br>%s membagikan <a href=\"%s\">%s</a> dengan anda atas nama %s.<br><br>",
- "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you.<br><br>" : "Hai bro,<br><br>%s membagikan <a href=\"%s\">%s</a> dengan anda.<br><br>"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/ka_GE.js b/apps/sharebymail/l10n/ka_GE.js
deleted file mode 100644
index 43c580b4f60..00000000000
--- a/apps/sharebymail/l10n/ka_GE.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "გაზიარებულია მომხმარებელთან %1$s",
- "Shared with {email}" : "გაზიარებულია მისამართთან {email}",
- "Shared with %1$s by %2$s" : "%2$s მომხმარებელმა გააზიარა მომხმარებელთან %1$s",
- "Shared with {email} by {actor}" : "{actor} მომხმარებელმა გააზიარა მისამართთან {email}",
- "Password for mail share sent to %1$s" : "პაროლი საფოსტო გაზიარებისთვის გაიგზავნა მისამართზე %1$s",
- "Password for mail share sent to {email}" : "პაროლი საფოსტო გაზიარებისთვის გაიგზავნა მისამართზე {email}",
- "Password for mail share sent to you" : "საფოსტო გაზიარებისთვის გამოგეგზავნათ პაროლი",
- "You shared %1$s with %2$s by mail" : "თქვენ %2$s ფოსტით გააზიარეთ მისამართთან %1$s",
- "You shared {file} with {email} by mail" : "თქვენ {file} ფოსტით გააზიარეთ მისამართთან {email}",
- "%3$s shared %1$s with %2$s by mail" : "%3$s მომხმარებელმა ფოსტით გააზიარა %1$s მისამართთან %2$s",
- "{actor} shared {file} with {email} by mail" : "{actor} მომხმარებელმა ფოსტით გააზიარა {file} მისამართთან {email}",
- "Password to access %1$s was sent to %2s" : "პაროლი %1$s წვდომისთვის გაეგზავანა მისამართს %2s",
- "Password to access {file} was sent to {email}" : "პაროლი {file} წვდომისთვის გაეგზავნა მისამართს {email}",
- "Password to access %1$s was sent to you" : "გამოგეგზავნათ პაროლი %1$s წვდომისთვის",
- "Password to access {file} was sent to you" : "პაროლი {file} წვდომისთვის გამოგეგზავნათ",
- "Share by mail" : "გაზიარება ელ-ფოსტით",
- "Failed to send share by email" : "საოფსტო გაზიარების გაგზავნა ვერ მოხერხდა",
- "Click the button below to open it." : "გასახსნელად დააწკაპუნეთ ქვემოთ მოცემულ ღილაკს.",
- "Open »%s«" : "»%s«-ის გახსნა",
- "Password to access »%s«" : "პაროლი წვდომისთვის »%s«",
- "You can choose a different password at any time in the share dialog." : "გაზიარების დიალოგის მეშვეობით, ნებისმიერ დროს შეგიძლიათ აირჩიოთ სხვა პაროლი.",
- "Could not find share" : "გაზიარება ვერ იქნა ნაპოვნი",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "მიეცით უფლება მომხმარებლებს ელ-მისამართში მოთავსებით, ფაილზე ან დირექტორიაზე გააზიარონ პერსონალიზირებული ბმულები",
- "Send password by mail" : "პაროლის გაგზავნა ფოსტით",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "ავტო-გენერირებულ პაროლს ვერ გიგზავნით. გთხოვთ პირად პარამეტრებში დააყენოთ სწორი ელ-ფოსტის მისამართი და სცადოთ ახლიდან.",
- "Enforce password protection" : "პროლით დაცვის იძულება"
-},
-"nplurals=2; plural=(n!=1);");
diff --git a/apps/sharebymail/l10n/ka_GE.json b/apps/sharebymail/l10n/ka_GE.json
deleted file mode 100644
index 942600852d7..00000000000
--- a/apps/sharebymail/l10n/ka_GE.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "გაზიარებულია მომხმარებელთან %1$s",
- "Shared with {email}" : "გაზიარებულია მისამართთან {email}",
- "Shared with %1$s by %2$s" : "%2$s მომხმარებელმა გააზიარა მომხმარებელთან %1$s",
- "Shared with {email} by {actor}" : "{actor} მომხმარებელმა გააზიარა მისამართთან {email}",
- "Password for mail share sent to %1$s" : "პაროლი საფოსტო გაზიარებისთვის გაიგზავნა მისამართზე %1$s",
- "Password for mail share sent to {email}" : "პაროლი საფოსტო გაზიარებისთვის გაიგზავნა მისამართზე {email}",
- "Password for mail share sent to you" : "საფოსტო გაზიარებისთვის გამოგეგზავნათ პაროლი",
- "You shared %1$s with %2$s by mail" : "თქვენ %2$s ფოსტით გააზიარეთ მისამართთან %1$s",
- "You shared {file} with {email} by mail" : "თქვენ {file} ფოსტით გააზიარეთ მისამართთან {email}",
- "%3$s shared %1$s with %2$s by mail" : "%3$s მომხმარებელმა ფოსტით გააზიარა %1$s მისამართთან %2$s",
- "{actor} shared {file} with {email} by mail" : "{actor} მომხმარებელმა ფოსტით გააზიარა {file} მისამართთან {email}",
- "Password to access %1$s was sent to %2s" : "პაროლი %1$s წვდომისთვის გაეგზავანა მისამართს %2s",
- "Password to access {file} was sent to {email}" : "პაროლი {file} წვდომისთვის გაეგზავნა მისამართს {email}",
- "Password to access %1$s was sent to you" : "გამოგეგზავნათ პაროლი %1$s წვდომისთვის",
- "Password to access {file} was sent to you" : "პაროლი {file} წვდომისთვის გამოგეგზავნათ",
- "Share by mail" : "გაზიარება ელ-ფოსტით",
- "Failed to send share by email" : "საოფსტო გაზიარების გაგზავნა ვერ მოხერხდა",
- "Click the button below to open it." : "გასახსნელად დააწკაპუნეთ ქვემოთ მოცემულ ღილაკს.",
- "Open »%s«" : "»%s«-ის გახსნა",
- "Password to access »%s«" : "პაროლი წვდომისთვის »%s«",
- "You can choose a different password at any time in the share dialog." : "გაზიარების დიალოგის მეშვეობით, ნებისმიერ დროს შეგიძლიათ აირჩიოთ სხვა პაროლი.",
- "Could not find share" : "გაზიარება ვერ იქნა ნაპოვნი",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "მიეცით უფლება მომხმარებლებს ელ-მისამართში მოთავსებით, ფაილზე ან დირექტორიაზე გააზიარონ პერსონალიზირებული ბმულები",
- "Send password by mail" : "პაროლის გაგზავნა ფოსტით",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "ავტო-გენერირებულ პაროლს ვერ გიგზავნით. გთხოვთ პირად პარამეტრებში დააყენოთ სწორი ელ-ფოსტის მისამართი და სცადოთ ახლიდან.",
- "Enforce password protection" : "პროლით დაცვის იძულება"
-},"pluralForm" :"nplurals=2; plural=(n!=1);"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/ko.js b/apps/sharebymail/l10n/ko.js
deleted file mode 100644
index fa95c9236c9..00000000000
--- a/apps/sharebymail/l10n/ko.js
+++ /dev/null
@@ -1,23 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with {email}" : "{email} 님과 공유함",
- "Shared with {email} by {actor}" : "{actor} 님이 {email} 님과 공유함",
- "Password for mail share sent to {email}" : "이메일 공유 암호를 {email}(으)로 보냄",
- "Password for mail share sent to you" : "이메일 공유 암호를 내게 보냄",
- "You shared {file} with {email} by mail" : "{email} 님과 {file}을(를) 이메일로 공유함",
- "{actor} shared {file} with {email} by mail" : "{actor} 님이 {email} 님과 {file}을(를) 이메일로 공유함",
- "Password to access {file} was sent to {email}" : "{file}에 접근할 수 있는 암호를 {email}(으)로 보냄",
- "Password to access {file} was sent to you" : "{file}에 접근할 수 있는 암호를 내게 보냄",
- "Share by mail" : "이메일로 공유",
- "Sharing %1$s failed, because this item is already shared with the account %2$s" : "%1$s을(를) 공유할 수 없습니다. 이 항목을 이미 %2$s 계정과 공유하고 있습니다",
- "Failed to send share by email" : "이메일로 공유를 보낼 수 없음",
- "Note:" : "메모:",
- "%1$s via %2$s" : "%1$s(%2$s 경유)",
- "It is protected with the following password:" : "다음 암호로 보호됩니다:",
- "This is the password:" : "암호:",
- "You can choose a different password at any time in the share dialog." : "공유 대화 상자에서 언제든지 다른 암호를 선택할 수 있습니다.",
- "Could not find share" : "공유를 찾을 수 없음",
- "Send password by mail" : "이메일로 암호 보내기"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/sharebymail/l10n/ko.json b/apps/sharebymail/l10n/ko.json
deleted file mode 100644
index 9f3cd50e25c..00000000000
--- a/apps/sharebymail/l10n/ko.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{ "translations": {
- "Shared with {email}" : "{email} 님과 공유함",
- "Shared with {email} by {actor}" : "{actor} 님이 {email} 님과 공유함",
- "Password for mail share sent to {email}" : "이메일 공유 암호를 {email}(으)로 보냄",
- "Password for mail share sent to you" : "이메일 공유 암호를 내게 보냄",
- "You shared {file} with {email} by mail" : "{email} 님과 {file}을(를) 이메일로 공유함",
- "{actor} shared {file} with {email} by mail" : "{actor} 님이 {email} 님과 {file}을(를) 이메일로 공유함",
- "Password to access {file} was sent to {email}" : "{file}에 접근할 수 있는 암호를 {email}(으)로 보냄",
- "Password to access {file} was sent to you" : "{file}에 접근할 수 있는 암호를 내게 보냄",
- "Share by mail" : "이메일로 공유",
- "Sharing %1$s failed, because this item is already shared with the account %2$s" : "%1$s을(를) 공유할 수 없습니다. 이 항목을 이미 %2$s 계정과 공유하고 있습니다",
- "Failed to send share by email" : "이메일로 공유를 보낼 수 없음",
- "Note:" : "메모:",
- "%1$s via %2$s" : "%1$s(%2$s 경유)",
- "It is protected with the following password:" : "다음 암호로 보호됩니다:",
- "This is the password:" : "암호:",
- "You can choose a different password at any time in the share dialog." : "공유 대화 상자에서 언제든지 다른 암호를 선택할 수 있습니다.",
- "Could not find share" : "공유를 찾을 수 없음",
- "Send password by mail" : "이메일로 암호 보내기"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/pt_PT.js b/apps/sharebymail/l10n/pt_PT.js
deleted file mode 100644
index 5e4e23aa90a..00000000000
--- a/apps/sharebymail/l10n/pt_PT.js
+++ /dev/null
@@ -1,25 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with {email}" : "Partilhado com {email}",
- "Shared with {email} by {actor}" : "Partilhado com {email} por {actor}",
- "Unshared from {email}" : "Despartilhado de {email}",
- "Unshared from {email} by {actor}" : "Despartilhado de {email} para {actor}",
- "Password for mail share sent to {email}" : "Palavra-chave da partilha por email enviada para {email}",
- "Password for mail share sent to you" : "Palavra-chave da partilha por email enviada para si",
- "You shared {file} with {email} by mail" : "Partilhou {file} com {email} por e-mail",
- "{actor} shared {file} with {email} by mail" : "{actor} partilhou {file} com {email} por e-mail",
- "You unshared {file} from {email} by mail" : "Despartilhaste {file} de {email} por email",
- "{actor} unshared {file} from {email} by mail" : "{actor} despartilhado {file} de {email} por email",
- "Password to access {file} was sent to {email}" : "Palavra-chave de acesso a {file} enviada para {email}",
- "Password to access {file} was sent to you" : "Palavra-chave de acesso a {file} enviada para si",
- "Share by mail" : "Partilhado por e-mail",
- "Failed to send share by email" : "Falhou o envio da partilha por email.",
- "%1$s via %2$s" : "%1$s via %2$s",
- "It is protected with the following password:" : "Está protegido com a seguinte palavra-chave:",
- "This is the password:" : "Esta é a palavra passe: ",
- "You can choose a different password at any time in the share dialog." : "Pode escolher uma palavra-chave diferente a qualquer altura utilizando a caixa de diálogo \"partilha\".",
- "Could not find share" : "Não foi possível encontrar a partilha",
- "Send password by mail" : "Enviar palavra-chave por e-mail"
-},
-"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/sharebymail/l10n/pt_PT.json b/apps/sharebymail/l10n/pt_PT.json
deleted file mode 100644
index 871bb6f4a5f..00000000000
--- a/apps/sharebymail/l10n/pt_PT.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{ "translations": {
- "Shared with {email}" : "Partilhado com {email}",
- "Shared with {email} by {actor}" : "Partilhado com {email} por {actor}",
- "Unshared from {email}" : "Despartilhado de {email}",
- "Unshared from {email} by {actor}" : "Despartilhado de {email} para {actor}",
- "Password for mail share sent to {email}" : "Palavra-chave da partilha por email enviada para {email}",
- "Password for mail share sent to you" : "Palavra-chave da partilha por email enviada para si",
- "You shared {file} with {email} by mail" : "Partilhou {file} com {email} por e-mail",
- "{actor} shared {file} with {email} by mail" : "{actor} partilhou {file} com {email} por e-mail",
- "You unshared {file} from {email} by mail" : "Despartilhaste {file} de {email} por email",
- "{actor} unshared {file} from {email} by mail" : "{actor} despartilhado {file} de {email} por email",
- "Password to access {file} was sent to {email}" : "Palavra-chave de acesso a {file} enviada para {email}",
- "Password to access {file} was sent to you" : "Palavra-chave de acesso a {file} enviada para si",
- "Share by mail" : "Partilhado por e-mail",
- "Failed to send share by email" : "Falhou o envio da partilha por email.",
- "%1$s via %2$s" : "%1$s via %2$s",
- "It is protected with the following password:" : "Está protegido com a seguinte palavra-chave:",
- "This is the password:" : "Esta é a palavra passe: ",
- "You can choose a different password at any time in the share dialog." : "Pode escolher uma palavra-chave diferente a qualquer altura utilizando a caixa de diálogo \"partilha\".",
- "Could not find share" : "Não foi possível encontrar a partilha",
- "Send password by mail" : "Enviar palavra-chave por e-mail"
-},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/ro.js b/apps/sharebymail/l10n/ro.js
deleted file mode 100644
index 2c5555ef25d..00000000000
--- a/apps/sharebymail/l10n/ro.js
+++ /dev/null
@@ -1,27 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with {email}" : "Partajat cu {email}",
- "Shared with {email} by {actor}" : "Partajat cu {email} de {actor}",
- "Unshared from {email}" : "Partajarea cu {email} eliminată",
- "Unshared from {email} by {actor}" : "Partajarea cu {email} eliminată de {actor}",
- "Password for mail share sent to {email}" : "Parola pentru partajare a fost trimisă către {email}",
- "Password for mail share sent to you" : "V-s fot trimisă parola pentru partajare",
- "Share by mail" : "Partajază prin mail",
- "%1$s shared »%2$s« with you" : "%1$s a partajat »%2$s« cu tine",
- "%1$s shared »%2$s« with you." : "%1$sa partajat »%2$s« cu tine.",
- "Click the button below to open it." : "Apasă pe butonul de jos pentru a deschide.",
- "Open »%s«" : "Deschide »%s«",
- "%1$s via %2$s" : "%1$sprin %2$s",
- "Password to access »%1$s« shared to you by %2$s" : "Parola pentru a accesa »%1$s« partajată cu tine de către %2$s",
- "Password to access »%s«" : "Parola pentru access »%s«",
- "It is protected with the following password:" : "Este protejat cu urmatoarea parolă:",
- "%1$s shared »%2$s« with you and wants to add:" : "%1$s a partajat »%2$s« cu tine și vrea să adauge",
- "%1$s shared »%2$s« with you and wants to add" : "%1$s a partajat »%2$s« cu tine și vrea să adauge",
- "»%s« added a note to a file shared with you" : "%s« a adaugat un comentariu la un fișier partajat cu tine",
- "This is the password:" : "Aceasta este parola:",
- "You can choose a different password at any time in the share dialog." : "Puteți schimba parola oricând în dialogul de partajare.",
- "Could not find share" : "Nu am putut găsi partajarea",
- "Send password by mail" : "Trimite parola prin mail"
-},
-"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/sharebymail/l10n/ro.json b/apps/sharebymail/l10n/ro.json
deleted file mode 100644
index 4a3978e82e0..00000000000
--- a/apps/sharebymail/l10n/ro.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{ "translations": {
- "Shared with {email}" : "Partajat cu {email}",
- "Shared with {email} by {actor}" : "Partajat cu {email} de {actor}",
- "Unshared from {email}" : "Partajarea cu {email} eliminată",
- "Unshared from {email} by {actor}" : "Partajarea cu {email} eliminată de {actor}",
- "Password for mail share sent to {email}" : "Parola pentru partajare a fost trimisă către {email}",
- "Password for mail share sent to you" : "V-s fot trimisă parola pentru partajare",
- "Share by mail" : "Partajază prin mail",
- "%1$s shared »%2$s« with you" : "%1$s a partajat »%2$s« cu tine",
- "%1$s shared »%2$s« with you." : "%1$sa partajat »%2$s« cu tine.",
- "Click the button below to open it." : "Apasă pe butonul de jos pentru a deschide.",
- "Open »%s«" : "Deschide »%s«",
- "%1$s via %2$s" : "%1$sprin %2$s",
- "Password to access »%1$s« shared to you by %2$s" : "Parola pentru a accesa »%1$s« partajată cu tine de către %2$s",
- "Password to access »%s«" : "Parola pentru access »%s«",
- "It is protected with the following password:" : "Este protejat cu urmatoarea parolă:",
- "%1$s shared »%2$s« with you and wants to add:" : "%1$s a partajat »%2$s« cu tine și vrea să adauge",
- "%1$s shared »%2$s« with you and wants to add" : "%1$s a partajat »%2$s« cu tine și vrea să adauge",
- "»%s« added a note to a file shared with you" : "%s« a adaugat un comentariu la un fișier partajat cu tine",
- "This is the password:" : "Aceasta este parola:",
- "You can choose a different password at any time in the share dialog." : "Puteți schimba parola oricând în dialogul de partajare.",
- "Could not find share" : "Nu am putut găsi partajarea",
- "Send password by mail" : "Trimite parola prin mail"
-},"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/sharebymail/l10n/sq.js b/apps/sharebymail/l10n/sq.js
deleted file mode 100644
index dd3f9f38255..00000000000
--- a/apps/sharebymail/l10n/sq.js
+++ /dev/null
@@ -1,31 +0,0 @@
-OC.L10N.register(
- "sharebymail",
- {
- "Shared with %1$s" : "E ndarë me %1$s ",
- "Shared with {email}" : "Të shpërndara me {email}",
- "Shared with %1$s by %2$s" : "E ndarë me %1$s nga %2$s",
- "Shared with {email} by {actor}" : "Ndarë me {email} nga {actor}",
- "Password for mail share sent to %1$s" : "Fjalëkalimi per ndarjen e mail-it dërguar tek %1$s",
- "Password for mail share sent to {email}" : "Fjalëkali për ndarje mail-i u dërgua tek {email}",
- "Password for mail share sent to you" : "Fjalëkalimi për ndarjen e mail ju është dërguar ",
- "You shared %1$s with %2$s by mail" : "Ju ndatë %1$s me %2$s me anë të mail",
- "You shared {file} with {email} by mail" : "Ju ndatë {skedarin} me {email} me anë të mailit ",
- "%3$s shared %1$s with %2$s by mail" : "%3$s ndau %1$s me%2$s me anë të mail",
- "{actor} shared {file} with {email} by mail" : "{aktori} shpërndau {skedarin} me{email} nga email",
- "Password to access %1$s was sent to %2s" : "Fjalëkalimi për akses %1$s ju dërgua %2s",
- "Password to access {file} was sent to {email}" : "Fjalëkalimi për akses {file} dërguar tek {email}",
- "Password to access %1$s was sent to you" : "Fjalëkalimi për të aksesuar %1$s ju është dërguar",
- "Password to access {file} was sent to you" : "Fjalëkalimi për akses {file} tu dërgua ",
- "Share by mail" : "Shpërnda me mail",
- "Failed to send share by email" : "Ndarja e dërguar me anë të email dështoi ",
- "Click the button below to open it." : "Klikoni butonin poshtë për ta hapur.",
- "Open »%s«" : "Hap »%s«",
- "Password to access »%s«" : "Fjalëkalimi për akses »%s«",
- "You can choose a different password at any time in the share dialog." : "Ju mund të zgjidhni një fjalëkalim tjetër në çdo kohë në dialogun e ndarjes.",
- "Could not find share" : "Nuk mund të gjej shpërndarje",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Lejo përdoruesit të ndajnë një lidhje të personalizuar me një skedar ose dosje duke e vendosur në një adresë e-mail.",
- "Send password by mail" : "Dërgo fjalëkalimin me mail",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "S'mund t'jua dergojmë fjalëkalimin e gjeneruar automatikisht. Ju lutem vendosni një adresë emaili të vlefshme ne mjedisin tuaj personal dhe provoni përseri. ",
- "Enforce password protection" : "Forco mbrojtjen e fjalëkalimit"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/sq.json b/apps/sharebymail/l10n/sq.json
deleted file mode 100644
index 73d2c9a0bf5..00000000000
--- a/apps/sharebymail/l10n/sq.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{ "translations": {
- "Shared with %1$s" : "E ndarë me %1$s ",
- "Shared with {email}" : "Të shpërndara me {email}",
- "Shared with %1$s by %2$s" : "E ndarë me %1$s nga %2$s",
- "Shared with {email} by {actor}" : "Ndarë me {email} nga {actor}",
- "Password for mail share sent to %1$s" : "Fjalëkalimi per ndarjen e mail-it dërguar tek %1$s",
- "Password for mail share sent to {email}" : "Fjalëkali për ndarje mail-i u dërgua tek {email}",
- "Password for mail share sent to you" : "Fjalëkalimi për ndarjen e mail ju është dërguar ",
- "You shared %1$s with %2$s by mail" : "Ju ndatë %1$s me %2$s me anë të mail",
- "You shared {file} with {email} by mail" : "Ju ndatë {skedarin} me {email} me anë të mailit ",
- "%3$s shared %1$s with %2$s by mail" : "%3$s ndau %1$s me%2$s me anë të mail",
- "{actor} shared {file} with {email} by mail" : "{aktori} shpërndau {skedarin} me{email} nga email",
- "Password to access %1$s was sent to %2s" : "Fjalëkalimi për akses %1$s ju dërgua %2s",
- "Password to access {file} was sent to {email}" : "Fjalëkalimi për akses {file} dërguar tek {email}",
- "Password to access %1$s was sent to you" : "Fjalëkalimi për të aksesuar %1$s ju është dërguar",
- "Password to access {file} was sent to you" : "Fjalëkalimi për akses {file} tu dërgua ",
- "Share by mail" : "Shpërnda me mail",
- "Failed to send share by email" : "Ndarja e dërguar me anë të email dështoi ",
- "Click the button below to open it." : "Klikoni butonin poshtë për ta hapur.",
- "Open »%s«" : "Hap »%s«",
- "Password to access »%s«" : "Fjalëkalimi për akses »%s«",
- "You can choose a different password at any time in the share dialog." : "Ju mund të zgjidhni një fjalëkalim tjetër në çdo kohë në dialogun e ndarjes.",
- "Could not find share" : "Nuk mund të gjej shpërndarje",
- "Allows users to share a personalized link to a file or folder by putting in an email address." : "Lejo përdoruesit të ndajnë një lidhje të personalizuar me një skedar ose dosje duke e vendosur në një adresë e-mail.",
- "Send password by mail" : "Dërgo fjalëkalimin me mail",
- "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "S'mund t'jua dergojmë fjalëkalimin e gjeneruar automatikisht. Ju lutem vendosni një adresë emaili të vlefshme ne mjedisin tuaj personal dhe provoni përseri. ",
- "Enforce password protection" : "Forco mbrojtjen e fjalëkalimit"
-},"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
deleted file mode 100644
index 8f0ba9e28c6..00000000000
--- a/apps/systemtags/l10n/az.js
+++ /dev/null
@@ -1,11 +0,0 @@
-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
deleted file mode 100644
index a5ab7f9e5bd..00000000000
--- a/apps/systemtags/l10n/az.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{ "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/bn_BD.js b/apps/systemtags/l10n/bn_BD.js
deleted file mode 100644
index f96d6f01737..00000000000
--- a/apps/systemtags/l10n/bn_BD.js
+++ /dev/null
@@ -1,9 +0,0 @@
-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
deleted file mode 100644
index addec02b139..00000000000
--- a/apps/systemtags/l10n/bn_BD.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Tags" : "ট্যাগ",
- "Name" : "নাম",
- "Size" : "আকার",
- "Modified" : "পরিবর্তিত"
-},"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
deleted file mode 100644
index 2a5a7390721..00000000000
--- a/apps/systemtags/l10n/bs.js
+++ /dev/null
@@ -1,8 +0,0 @@
-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
deleted file mode 100644
index b9c36e5a8d3..00000000000
--- a/apps/systemtags/l10n/bs.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{ "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/cy_GB.js b/apps/systemtags/l10n/cy_GB.js
deleted file mode 100644
index 37e0926605c..00000000000
--- a/apps/systemtags/l10n/cy_GB.js
+++ /dev/null
@@ -1,9 +0,0 @@
-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
deleted file mode 100644
index d076240de44..00000000000
--- a/apps/systemtags/l10n/cy_GB.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "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/eo.js b/apps/systemtags/l10n/eo.js
deleted file mode 100644
index 10711f43170..00000000000
--- a/apps/systemtags/l10n/eo.js
+++ /dev/null
@@ -1,62 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "System tag %1$s added by the system" : "Sistema etikedo %1$s aldonita de la sistemo",
- "Added system tag {systemtag}" : "Sistema etikedo {systemtag} aldonita",
- "Added system tag %1$s" : "Sistema etikedo %1$s aldonita",
- "%1$s added system tag %2$s" : "%1$s aldonis sisteman etikedon %2$s",
- "{actor} added system tag {systemtag}" : "{actor} aldonis sisteman etikedon {systemtag}",
- "System tag %1$s removed by the system" : "Sistema etikedo %1$s forigita de la sistemo",
- "Removed system tag {systemtag}" : "Sistema etikedo {systemtag} forigita",
- "Removed system tag %1$s" : "Sistema etikedo %1$s forigita",
- "%1$s removed system tag %2$s" : "%1$s forigis sisteman etikedon %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} forigis sisteman etikedon {systemtag}",
- "You created system tag %1$s" : "Vi kreis sisteman etikedon %1$s",
- "You created system tag {systemtag}" : "Vi kreis sisteman etikedon {systemtag}",
- "%1$s created system tag %2$s" : "%1$s kreis sisteman etikedon %2$s",
- "{actor} created system tag {systemtag}" : "{actor} kreis sisteman etikedon {systemtag}",
- "You deleted system tag %1$s" : "Vi forigis sisteman etikedon %1$s",
- "You deleted system tag {systemtag}" : "Vi forigis sisteman etikedon {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s forigis sisteman etikedon %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} forigis sisteman etikedon {systemtag}",
- "You updated system tag %2$s to %1$s" : "Vi ĝisdatigis sisteman etikedon %2$s al %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Vi ĝisdatigis sisteman etikedon {oldsystemtag} al {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s ĝisdatigis sisteman etikedon %3$s al %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} ĝisdatigis sisteman etikedon {oldsystemtag} al {newsystemtag}",
- "System tag %2$s was added to %1$s by the system" : "Sisteman etikedon %2$s aldonis al %1$s la sistemo",
- "System tag {systemtag} was added to {file} by the system" : "Sisteman etikedon {systemtag} aldonis al {file} la sistemo",
- "You added system tag %2$s to %1$s" : "Vi aldonis sisteman etikedon %2$s al %1$s",
- "You added system tag {systemtag} to {file}" : "Vi aldonis sisteman etikedon {systemtag} al {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s aldonis sisteman etikedon %3$s al %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} aldonis sisteman etikedon {systemtag} al {file}",
- "System tag %2$s was removed from %1$s by the system" : "Sisteman etikedon %2$s forigis el %1$s la sistemo",
- "System tag {systemtag} was removed from {file} by the system" : "Sisteman etikedon {systemtag} forigis el {file} la sistemo",
- "You removed system tag %2$s from %1$s" : "Vi forigis sisteman etikedon %2$s el %1$s",
- "You removed system tag {systemtag} from {file}" : "Vi forigis sisteman etikedon {systemtag} el {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s forigis sisteman etikedon %3$s el %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} forigis sisteman etikedon {systemtag} el {file}",
- "%s (restricted)" : "%s (limigita)",
- "%s (invisible)" : "%s (nevidebla)",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Sistemaj etikedoj</strong> por dosiero modifiĝis",
- "Tags" : "Etikedoj",
- "Collaborative tags" : "Kunlaboraj etikedoj",
- "Create" : "Krei",
- "Update" : "Ĝisdatigi",
- "Delete" : "Forigi",
- "Reset" : "Restarigi",
- "Loading …" : "Ŝargado...",
- "Public" : "Publika",
- "Restricted" : "Limigita",
- "Invisible" : "Nevidebla",
- "Failed to load tags" : "Ŝargo de la etikedoj malsukcesis",
- "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "Kunlaboraj etikedoj disponeblas al ĉiuj uzantoj. Limigitaj etikedoj videblas de uzantoj, kiuj tamen ne povas atribui ilin. Nevideblaj etikedoj servas por interna uzo, ĉar uzantoj nek vidas nek povas atribui ilin.",
- "No tags found" : "Neniu etikedo troviĝis ",
- "Collaborative tagging functionality which shares tags among users." : "Kunlabora etikedado por kunhavigi etikedojn inter uzantoj.",
- "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "Kunlabora etikedado por kunhavigi etikedojn inter uzantoj. Taŭga por teamoj.\n\n(Se vi estas provizanto kun plurklienta instalado, oni konsilas malŝalti tiun aplikaĵon, alimaniere etikedoj estus kunhavigitaj inter ĉiuj klientoj.)",
- "No files in here" : "Neniu dosiero estas ĉi tie",
- "No entries found in this folder" : "Neniu elemento troviĝas en ĉi tiu dosierujo",
- "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
deleted file mode 100644
index 667158b8830..00000000000
--- a/apps/systemtags/l10n/eo.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{ "translations": {
- "System tag %1$s added by the system" : "Sistema etikedo %1$s aldonita de la sistemo",
- "Added system tag {systemtag}" : "Sistema etikedo {systemtag} aldonita",
- "Added system tag %1$s" : "Sistema etikedo %1$s aldonita",
- "%1$s added system tag %2$s" : "%1$s aldonis sisteman etikedon %2$s",
- "{actor} added system tag {systemtag}" : "{actor} aldonis sisteman etikedon {systemtag}",
- "System tag %1$s removed by the system" : "Sistema etikedo %1$s forigita de la sistemo",
- "Removed system tag {systemtag}" : "Sistema etikedo {systemtag} forigita",
- "Removed system tag %1$s" : "Sistema etikedo %1$s forigita",
- "%1$s removed system tag %2$s" : "%1$s forigis sisteman etikedon %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} forigis sisteman etikedon {systemtag}",
- "You created system tag %1$s" : "Vi kreis sisteman etikedon %1$s",
- "You created system tag {systemtag}" : "Vi kreis sisteman etikedon {systemtag}",
- "%1$s created system tag %2$s" : "%1$s kreis sisteman etikedon %2$s",
- "{actor} created system tag {systemtag}" : "{actor} kreis sisteman etikedon {systemtag}",
- "You deleted system tag %1$s" : "Vi forigis sisteman etikedon %1$s",
- "You deleted system tag {systemtag}" : "Vi forigis sisteman etikedon {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s forigis sisteman etikedon %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} forigis sisteman etikedon {systemtag}",
- "You updated system tag %2$s to %1$s" : "Vi ĝisdatigis sisteman etikedon %2$s al %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Vi ĝisdatigis sisteman etikedon {oldsystemtag} al {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s ĝisdatigis sisteman etikedon %3$s al %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} ĝisdatigis sisteman etikedon {oldsystemtag} al {newsystemtag}",
- "System tag %2$s was added to %1$s by the system" : "Sisteman etikedon %2$s aldonis al %1$s la sistemo",
- "System tag {systemtag} was added to {file} by the system" : "Sisteman etikedon {systemtag} aldonis al {file} la sistemo",
- "You added system tag %2$s to %1$s" : "Vi aldonis sisteman etikedon %2$s al %1$s",
- "You added system tag {systemtag} to {file}" : "Vi aldonis sisteman etikedon {systemtag} al {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s aldonis sisteman etikedon %3$s al %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} aldonis sisteman etikedon {systemtag} al {file}",
- "System tag %2$s was removed from %1$s by the system" : "Sisteman etikedon %2$s forigis el %1$s la sistemo",
- "System tag {systemtag} was removed from {file} by the system" : "Sisteman etikedon {systemtag} forigis el {file} la sistemo",
- "You removed system tag %2$s from %1$s" : "Vi forigis sisteman etikedon %2$s el %1$s",
- "You removed system tag {systemtag} from {file}" : "Vi forigis sisteman etikedon {systemtag} el {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s forigis sisteman etikedon %3$s el %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} forigis sisteman etikedon {systemtag} el {file}",
- "%s (restricted)" : "%s (limigita)",
- "%s (invisible)" : "%s (nevidebla)",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Sistemaj etikedoj</strong> por dosiero modifiĝis",
- "Tags" : "Etikedoj",
- "Collaborative tags" : "Kunlaboraj etikedoj",
- "Create" : "Krei",
- "Update" : "Ĝisdatigi",
- "Delete" : "Forigi",
- "Reset" : "Restarigi",
- "Loading …" : "Ŝargado...",
- "Public" : "Publika",
- "Restricted" : "Limigita",
- "Invisible" : "Nevidebla",
- "Failed to load tags" : "Ŝargo de la etikedoj malsukcesis",
- "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "Kunlaboraj etikedoj disponeblas al ĉiuj uzantoj. Limigitaj etikedoj videblas de uzantoj, kiuj tamen ne povas atribui ilin. Nevideblaj etikedoj servas por interna uzo, ĉar uzantoj nek vidas nek povas atribui ilin.",
- "No tags found" : "Neniu etikedo troviĝis ",
- "Collaborative tagging functionality which shares tags among users." : "Kunlabora etikedado por kunhavigi etikedojn inter uzantoj.",
- "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "Kunlabora etikedado por kunhavigi etikedojn inter uzantoj. Taŭga por teamoj.\n\n(Se vi estas provizanto kun plurklienta instalado, oni konsilas malŝalti tiun aplikaĵon, alimaniere etikedoj estus kunhavigitaj inter ĉiuj klientoj.)",
- "No files in here" : "Neniu dosiero estas ĉi tie",
- "No entries found in this folder" : "Neniu elemento troviĝas en ĉi tiu dosierujo",
- "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_419.js b/apps/systemtags/l10n/es_419.js
deleted file mode 100644
index 2ba94fa5b0c..00000000000
--- a/apps/systemtags/l10n/es_419.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta {systemtag}",
- "Removed system tag %1$s" : "Etiqueta %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creó la etiqueta %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_419.json b/apps/systemtags/l10n/es_419.json
deleted file mode 100644
index 8bc408e09fb..00000000000
--- a/apps/systemtags/l10n/es_419.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta {systemtag}",
- "Removed system tag %1$s" : "Etiqueta %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creó la etiqueta %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_AR.js b/apps/systemtags/l10n/es_AR.js
deleted file mode 100644
index 2ba94fa5b0c..00000000000
--- a/apps/systemtags/l10n/es_AR.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta {systemtag}",
- "Removed system tag %1$s" : "Etiqueta %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creó la etiqueta %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_AR.json b/apps/systemtags/l10n/es_AR.json
deleted file mode 100644
index 8bc408e09fb..00000000000
--- a/apps/systemtags/l10n/es_AR.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta {systemtag}",
- "Removed system tag %1$s" : "Etiqueta %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creó la etiqueta %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_CL.js b/apps/systemtags/l10n/es_CL.js
deleted file mode 100644
index 9f3c7032f64..00000000000
--- a/apps/systemtags/l10n/es_CL.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_CL.json b/apps/systemtags/l10n/es_CL.json
deleted file mode 100644
index 3cc1abb01fc..00000000000
--- a/apps/systemtags/l10n/es_CL.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_CO.js b/apps/systemtags/l10n/es_CO.js
deleted file mode 100644
index 9f3c7032f64..00000000000
--- a/apps/systemtags/l10n/es_CO.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_CO.json b/apps/systemtags/l10n/es_CO.json
deleted file mode 100644
index 3cc1abb01fc..00000000000
--- a/apps/systemtags/l10n/es_CO.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_CR.js b/apps/systemtags/l10n/es_CR.js
deleted file mode 100644
index 9f3c7032f64..00000000000
--- a/apps/systemtags/l10n/es_CR.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_CR.json b/apps/systemtags/l10n/es_CR.json
deleted file mode 100644
index 3cc1abb01fc..00000000000
--- a/apps/systemtags/l10n/es_CR.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_DO.js b/apps/systemtags/l10n/es_DO.js
deleted file mode 100644
index 9f3c7032f64..00000000000
--- a/apps/systemtags/l10n/es_DO.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_DO.json b/apps/systemtags/l10n/es_DO.json
deleted file mode 100644
index 3cc1abb01fc..00000000000
--- a/apps/systemtags/l10n/es_DO.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_GT.js b/apps/systemtags/l10n/es_GT.js
deleted file mode 100644
index 9f3c7032f64..00000000000
--- a/apps/systemtags/l10n/es_GT.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_GT.json b/apps/systemtags/l10n/es_GT.json
deleted file mode 100644
index 3cc1abb01fc..00000000000
--- a/apps/systemtags/l10n/es_GT.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_HN.js b/apps/systemtags/l10n/es_HN.js
deleted file mode 100644
index 9f3c7032f64..00000000000
--- a/apps/systemtags/l10n/es_HN.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_HN.json b/apps/systemtags/l10n/es_HN.json
deleted file mode 100644
index 3cc1abb01fc..00000000000
--- a/apps/systemtags/l10n/es_HN.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_NI.js b/apps/systemtags/l10n/es_NI.js
deleted file mode 100644
index 9f3c7032f64..00000000000
--- a/apps/systemtags/l10n/es_NI.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_NI.json b/apps/systemtags/l10n/es_NI.json
deleted file mode 100644
index 3cc1abb01fc..00000000000
--- a/apps/systemtags/l10n/es_NI.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_PA.js b/apps/systemtags/l10n/es_PA.js
deleted file mode 100644
index 9f3c7032f64..00000000000
--- a/apps/systemtags/l10n/es_PA.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_PA.json b/apps/systemtags/l10n/es_PA.json
deleted file mode 100644
index 3cc1abb01fc..00000000000
--- a/apps/systemtags/l10n/es_PA.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_PE.js b/apps/systemtags/l10n/es_PE.js
deleted file mode 100644
index 9f3c7032f64..00000000000
--- a/apps/systemtags/l10n/es_PE.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_PE.json b/apps/systemtags/l10n/es_PE.json
deleted file mode 100644
index 3cc1abb01fc..00000000000
--- a/apps/systemtags/l10n/es_PE.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_PR.js b/apps/systemtags/l10n/es_PR.js
deleted file mode 100644
index 9f3c7032f64..00000000000
--- a/apps/systemtags/l10n/es_PR.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_PR.json b/apps/systemtags/l10n/es_PR.json
deleted file mode 100644
index 3cc1abb01fc..00000000000
--- a/apps/systemtags/l10n/es_PR.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_PY.js b/apps/systemtags/l10n/es_PY.js
deleted file mode 100644
index 9f3c7032f64..00000000000
--- a/apps/systemtags/l10n/es_PY.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_PY.json b/apps/systemtags/l10n/es_PY.json
deleted file mode 100644
index 3cc1abb01fc..00000000000
--- a/apps/systemtags/l10n/es_PY.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_SV.js b/apps/systemtags/l10n/es_SV.js
deleted file mode 100644
index 9f3c7032f64..00000000000
--- a/apps/systemtags/l10n/es_SV.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_SV.json b/apps/systemtags/l10n/es_SV.json
deleted file mode 100644
index 3cc1abb01fc..00000000000
--- a/apps/systemtags/l10n/es_SV.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_UY.js b/apps/systemtags/l10n/es_UY.js
deleted file mode 100644
index 9f3c7032f64..00000000000
--- a/apps/systemtags/l10n/es_UY.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/systemtags/l10n/es_UY.json b/apps/systemtags/l10n/es_UY.json
deleted file mode 100644
index 3cc1abb01fc..00000000000
--- a/apps/systemtags/l10n/es_UY.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiqueta del sistema {systemtag} agregada",
- "Added system tag %1$s" : "Etiqueta del sistema %1$s agregada",
- "%1$s added system tag %2$s" : "%1$s agregó la etiqueta del sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} agregó la etiqueta del sistema {systemtag}",
- "Removed system tag {systemtag}" : "Eliminó la etiqueta del sistema {systemtag}",
- "Removed system tag %1$s" : "Etiqueta del sistema %1$s eliminada",
- "%1$s removed system tag %2$s" : "%1$s eliminó la etiqueta del sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} eliminó la etiqueta del sistema {systemtag}",
- "You created system tag %1$s" : "Creaste la etiqueta del sistema %1$s",
- "You created system tag {systemtag}" : "Creaste la etiqueta del sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creo la etiqueta del sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creó la etiqueta del sistema {systemtag}",
- "You deleted system tag %1$s" : "Borraste la etiqueta del sistema %1$s",
- "You deleted system tag {systemtag}" : "Borraste la etiqueta del sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s borró la etiqueta del sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} borró la etiqueta del sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Actualizaste la etiqueta del sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Actualizaste la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualizó la etiqueta del sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualizó la etiqueta del sistema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Agregaste la etiqueta del sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Agregaste la etiqueta del sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s agregó la etiqueta del sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} agregó la etiqueta del sistema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Eliminaste la etiqueta del sistema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Eliminaste la etiqueta del sistema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s eliminó la etiqueta del sistema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} eliminó la etiqueta del sistema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringido)",
- "%s (invisible)" : "%s (invisible) ",
- "<strong>System tags</strong> for a file have been modified" : "Las <strong>etiquetas del sistema</strong> para un archivo han sido modificadas",
- "Files" : "Archivo",
- "Tags" : "Etiquetas",
- "Collaborative tags" : "Etiquetas colaborativas",
- "Create" : "Crear",
- "Update" : "Actualizar",
- "Delete" : "Borrar",
- "Reset" : "Restaurar",
- "Public" : "Público",
- "Restricted" : "Restringido",
- "Invisible" : "Invisible",
- "No tags found" : "No se encontraron etiquetas",
- "No files in here" : "No hay archivos aquí",
- "No entries found in this folder" : "No se encontraron elementos en esta carpeta",
- "Name" : "Nombre",
- "Size" : "Tamaño",
- "Modified" : "Modificado"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/hr.js b/apps/systemtags/l10n/hr.js
deleted file mode 100644
index 4ad78026105..00000000000
--- a/apps/systemtags/l10n/hr.js
+++ /dev/null
@@ -1,58 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "System tag %1$s added by the system" : "Sustav je dodao oznaku sustava %1$s",
- "Added system tag {systemtag}" : "Dodana oznaka sustava {systemtag}",
- "Added system tag %1$s" : "Dodana oznaka sustava %1$s",
- "%1$s added system tag %2$s" : "%1$s je dodao oznaku sustava %2$s",
- "{actor} added system tag {systemtag}" : "{actor} je dodao oznaku sustava {systemtag}",
- "System tag %1$s removed by the system" : "Sustav je uklonio oznaku sustava %1$s",
- "Removed system tag {systemtag}" : "Uklonjena oznaka sustava {systemtag}",
- "Removed system tag %1$s" : "Uklonjena oznaka sustava %1$s",
- "%1$s removed system tag %2$s" : "%1$s je uklonio oznaku sustava %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} je uklonio oznaku sustava {systemtag}",
- "You created system tag %1$s" : "Stvorili ste oznaku sustava %1$s",
- "You created system tag {systemtag}" : "Stvorili ste oznaku sustava {systemtag}",
- "%1$s created system tag %2$s" : "%1$s je stvorio oznaku sustava %2$s",
- "{actor} created system tag {systemtag}" : "{actor} je stvorio oznaku sustava {systemtag}",
- "You deleted system tag %1$s" : "Izbrisali ste oznaku sustava %1$s",
- "You deleted system tag {systemtag}" : "Izbrisali ste oznaku sustava {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s je izbrisao oznaku sustava %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} je izbrisao oznaku sustava {systemtag}",
- "You updated system tag %2$s to %1$s" : "Ažurirali ste oznaku sustava %2$s na %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Ažurirali ste oznaku sustava {oldsystemtag} na {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s je ažurirao oznaku sustava %3$s na %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} je ažurirao oznaku sustava {oldsystemtag} na {newsystemtag}",
- "System tag %2$s was added to %1$s by the system" : "Sustav je dodao u %1$s oznaku sustava %2$s",
- "System tag {systemtag} was added to {file} by the system" : "Sustav je dodao u {file} oznaku sustava {systemtag}",
- "You added system tag %2$s to %1$s" : "Dodali ste oznaku sustava %2$s u %1$s",
- "You added system tag {systemtag} to {file}" : "Dodali ste oznaku sustava {systemtag} u {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s je dodao oznaku sustava %3$s u %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} je dodao oznaku sustava {systemtag} u {file}",
- "System tag %2$s was removed from %1$s by the system" : "Sustav je uklonio iz %1$s oznaku sustava %2$s",
- "System tag {systemtag} was removed from {file} by the system" : "Sustav je uklonio iz {file} oznaku sustava {systemtag}",
- "You removed system tag %2$s from %1$s" : "Uklonili ste oznaku sustava %2$s iz %1$s",
- "You removed system tag {systemtag} from {file}" : "Uklonili ste oznaku sustava {systemtag} iz {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s je uklonio oznaku sustava %3$s iz %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} je uklonio oznaku sustava {systemtag} iz {file}",
- "%s (restricted)" : "%s (ograničeno)",
- "%s (invisible)" : "%s (nevidljivo)",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Oznake sustava</strong> za datoteku su izmijenjene",
- "Files" : "Datoteke",
- "Tags" : "Oznake",
- "Collaborative tags" : "Oznake za suradnju",
- "Public" : "Javna",
- "Restricted" : "Ograničena",
- "Invisible" : "Nevidljiva",
- "Create" : "Stvori",
- "Update" : "Ažuriraj",
- "Delete" : "Izbriši",
- "Reset" : "Resetiraj",
- "Loading …" : "Učitavanje…",
- "Manage tags" : "Upravljaj oznakama",
- "Cancel" : "Odustani",
- "Failed to load tags" : "Učitavanje oznaka nije uspjelo",
- "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "Oznake za suradnju dostupne su svim korisnicima. Ograničene oznake vidljive su korisnicima, ali ih ne mogu dodijeliti. Nevidljive oznake služe za internu uporabu jer ih korisnici ne mogu vidjeti niti dodijeliti.",
- "No tags found" : "Nema pronađenih oznaka"
-},
-"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
deleted file mode 100644
index 860dd1836c2..00000000000
--- a/apps/systemtags/l10n/hr.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{ "translations": {
- "System tag %1$s added by the system" : "Sustav je dodao oznaku sustava %1$s",
- "Added system tag {systemtag}" : "Dodana oznaka sustava {systemtag}",
- "Added system tag %1$s" : "Dodana oznaka sustava %1$s",
- "%1$s added system tag %2$s" : "%1$s je dodao oznaku sustava %2$s",
- "{actor} added system tag {systemtag}" : "{actor} je dodao oznaku sustava {systemtag}",
- "System tag %1$s removed by the system" : "Sustav je uklonio oznaku sustava %1$s",
- "Removed system tag {systemtag}" : "Uklonjena oznaka sustava {systemtag}",
- "Removed system tag %1$s" : "Uklonjena oznaka sustava %1$s",
- "%1$s removed system tag %2$s" : "%1$s je uklonio oznaku sustava %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} je uklonio oznaku sustava {systemtag}",
- "You created system tag %1$s" : "Stvorili ste oznaku sustava %1$s",
- "You created system tag {systemtag}" : "Stvorili ste oznaku sustava {systemtag}",
- "%1$s created system tag %2$s" : "%1$s je stvorio oznaku sustava %2$s",
- "{actor} created system tag {systemtag}" : "{actor} je stvorio oznaku sustava {systemtag}",
- "You deleted system tag %1$s" : "Izbrisali ste oznaku sustava %1$s",
- "You deleted system tag {systemtag}" : "Izbrisali ste oznaku sustava {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s je izbrisao oznaku sustava %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} je izbrisao oznaku sustava {systemtag}",
- "You updated system tag %2$s to %1$s" : "Ažurirali ste oznaku sustava %2$s na %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Ažurirali ste oznaku sustava {oldsystemtag} na {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s je ažurirao oznaku sustava %3$s na %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} je ažurirao oznaku sustava {oldsystemtag} na {newsystemtag}",
- "System tag %2$s was added to %1$s by the system" : "Sustav je dodao u %1$s oznaku sustava %2$s",
- "System tag {systemtag} was added to {file} by the system" : "Sustav je dodao u {file} oznaku sustava {systemtag}",
- "You added system tag %2$s to %1$s" : "Dodali ste oznaku sustava %2$s u %1$s",
- "You added system tag {systemtag} to {file}" : "Dodali ste oznaku sustava {systemtag} u {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s je dodao oznaku sustava %3$s u %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} je dodao oznaku sustava {systemtag} u {file}",
- "System tag %2$s was removed from %1$s by the system" : "Sustav je uklonio iz %1$s oznaku sustava %2$s",
- "System tag {systemtag} was removed from {file} by the system" : "Sustav je uklonio iz {file} oznaku sustava {systemtag}",
- "You removed system tag %2$s from %1$s" : "Uklonili ste oznaku sustava %2$s iz %1$s",
- "You removed system tag {systemtag} from {file}" : "Uklonili ste oznaku sustava {systemtag} iz {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s je uklonio oznaku sustava %3$s iz %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} je uklonio oznaku sustava {systemtag} iz {file}",
- "%s (restricted)" : "%s (ograničeno)",
- "%s (invisible)" : "%s (nevidljivo)",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Oznake sustava</strong> za datoteku su izmijenjene",
- "Files" : "Datoteke",
- "Tags" : "Oznake",
- "Collaborative tags" : "Oznake za suradnju",
- "Public" : "Javna",
- "Restricted" : "Ograničena",
- "Invisible" : "Nevidljiva",
- "Create" : "Stvori",
- "Update" : "Ažuriraj",
- "Delete" : "Izbriši",
- "Reset" : "Resetiraj",
- "Loading …" : "Učitavanje…",
- "Manage tags" : "Upravljaj oznakama",
- "Cancel" : "Odustani",
- "Failed to load tags" : "Učitavanje oznaka nije uspjelo",
- "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "Oznake za suradnju dostupne su svim korisnicima. Ograničene oznake vidljive su korisnicima, ali ih ne mogu dodijeliti. Nevidljive oznake služe za internu uporabu jer ih korisnici ne mogu vidjeti niti dodijeliti.",
- "No tags found" : "Nema pronađenih oznaka"
-},"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/hy.js b/apps/systemtags/l10n/hy.js
deleted file mode 100644
index 57a5000ebc2..00000000000
--- a/apps/systemtags/l10n/hy.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "No files in here" : "Ֆայլեր չկան այստեղ",
- "Name" : "Անուն",
- "Size" : "Չափս",
- "Modified" : "Փոփոխված"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/hy.json b/apps/systemtags/l10n/hy.json
deleted file mode 100644
index bb499722f50..00000000000
--- a/apps/systemtags/l10n/hy.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "No files in here" : "Ֆայլեր չկան այստեղ",
- "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
deleted file mode 100644
index d774dba5d75..00000000000
--- a/apps/systemtags/l10n/ia.js
+++ /dev/null
@@ -1,51 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Etiquetta de systema {systemtag} addite",
- "Added system tag %1$s" : "Etiquetta de systema %1$s addite",
- "%1$s added system tag %2$s" : "%1$s addeva le etiquetta de systema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} addeva le etiquetta de systema {systemtag}",
- "Removed system tag {systemtag}" : "Etiquetta de systema {systemtag} removite",
- "Removed system tag %1$s" : "Etiquetta de systema %1$s removite",
- "%1$s removed system tag %2$s" : "%1$s removeva le etiquetta de systema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} removeva le etiquetta de systema {systemtag}",
- "You created system tag %1$s" : "Tu creava le etiquetta de systema %1$s",
- "You created system tag {systemtag}" : "Tu creava le etiquetta de systema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creava le etiquetta de systema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creava le etiquetta de systema {systemtag}",
- "You deleted system tag %1$s" : "Tu deleva le etiquetta de systema %1$s",
- "You deleted system tag {systemtag}" : "Tu deleva le etiquetta de systema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s deleva le etiquetta de systema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} deleva le etiquetta de systema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Tu actualisava le etiquetta de systema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Tu actualisava le etiquetta de systema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualisava le etiquetta de systema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualisava le etiquetta de systema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Tu addeva le etiquetta de systema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Tu addeva le etiquetta de systema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s addeva le etiquetta de systema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} addeva le etiquetta de systema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Tu removeva le etiquetta de systema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Tu removeva le etiquetta de systema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s removeva le etiquetta de systema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} removeva le etiquetta de systema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringite)",
- "%s (invisible)" : "%s (invisibile)",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Le etiquettas de systema</strong> de un file esseva modificate",
- "Tags" : "Etiquettas",
- "Collaborative tags" : "Etiquettas collaborative",
- "Create" : "Crear",
- "Update" : "Actualisation",
- "Delete" : "Deler",
- "Reset" : "Reinitialisar",
- "Public" : "Public",
- "Restricted" : "Restringite",
- "Invisible" : "Invisibile",
- "No tags found" : "Nulle etiquettas trovate",
- "No files in here" : "Nulle files ci",
- "No entries found in this folder" : "Nulle entratas trovate in iste dossier",
- "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
deleted file mode 100644
index f78ce39fab2..00000000000
--- a/apps/systemtags/l10n/ia.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Etiquetta de systema {systemtag} addite",
- "Added system tag %1$s" : "Etiquetta de systema %1$s addite",
- "%1$s added system tag %2$s" : "%1$s addeva le etiquetta de systema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} addeva le etiquetta de systema {systemtag}",
- "Removed system tag {systemtag}" : "Etiquetta de systema {systemtag} removite",
- "Removed system tag %1$s" : "Etiquetta de systema %1$s removite",
- "%1$s removed system tag %2$s" : "%1$s removeva le etiquetta de systema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} removeva le etiquetta de systema {systemtag}",
- "You created system tag %1$s" : "Tu creava le etiquetta de systema %1$s",
- "You created system tag {systemtag}" : "Tu creava le etiquetta de systema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s creava le etiquetta de systema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} creava le etiquetta de systema {systemtag}",
- "You deleted system tag %1$s" : "Tu deleva le etiquetta de systema %1$s",
- "You deleted system tag {systemtag}" : "Tu deleva le etiquetta de systema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s deleva le etiquetta de systema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} deleva le etiquetta de systema {systemtag}",
- "You updated system tag %2$s to %1$s" : "Tu actualisava le etiquetta de systema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Tu actualisava le etiquetta de systema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s actualisava le etiquetta de systema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} actualisava le etiquetta de systema {oldsystemtag} a {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Tu addeva le etiquetta de systema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "Tu addeva le etiquetta de systema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s addeva le etiquetta de systema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} addeva le etiquetta de systema {systemtag} a {file}",
- "You removed system tag %2$s from %1$s" : "Tu removeva le etiquetta de systema %2$s de %1$s",
- "You removed system tag {systemtag} from {file}" : "Tu removeva le etiquetta de systema {systemtag} de {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s removeva le etiquetta de systema %3$s de %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} removeva le etiquetta de systema {systemtag} de {file}",
- "%s (restricted)" : "%s (restringite)",
- "%s (invisible)" : "%s (invisibile)",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Le etiquettas de systema</strong> de un file esseva modificate",
- "Tags" : "Etiquettas",
- "Collaborative tags" : "Etiquettas collaborative",
- "Create" : "Crear",
- "Update" : "Actualisation",
- "Delete" : "Deler",
- "Reset" : "Reinitialisar",
- "Public" : "Public",
- "Restricted" : "Restringite",
- "Invisible" : "Invisibile",
- "No tags found" : "Nulle etiquettas trovate",
- "No files in here" : "Nulle files ci",
- "No entries found in this folder" : "Nulle entratas trovate in iste dossier",
- "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
deleted file mode 100644
index f6b9d6468bf..00000000000
--- a/apps/systemtags/l10n/id.js
+++ /dev/null
@@ -1,42 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Tags" : "Tag",
- "Update" : "Pembaruan",
- "Create" : "Buat",
- "Select tag…" : "Pilih tag...",
- "Tagged files" : "Berkas ter-tag",
- "Select tags to filter by" : "Pilih tag untuk disaring",
- "Please select tags to filter by" : "Mohon pilih tag untuk disaring",
- "No files found for the selected tags" : "Berkas tidak ditemukan untuk tag yang dipilih",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Tag sistem</strong> untuk sebuah berkas telah dimodifikasi",
- "You created system tag %2$s" : "Anda membuat tag sistem %2$s",
- "%1$s created system tag %2$s" : "%1$s membuat tag sistem %2$s",
- "You deleted system tag %2$s" : "Anda menghapus tag sistem %2$s",
- "%1$s deleted system tag %2$s" : "%1$s menghapus tag sistem %2$s",
- "You updated system tag %3$s to %2$s" : "Anda memperbarui tag sistem %3$s ke %2$s",
- "%1$s updated system tag %3$s to %2$s" : "%1$s memperbarui tag sistem %3$s ke %2$s",
- "%s (restricted)" : "%s (terbatas)",
- "%s (invisible)" : "%s (tersembunyi)",
- "Collaborative tags" : "Tag kolaboratif",
- "Name" : "Nama",
- "Delete" : "Hapus",
- "Public" : "Publik",
- "Restricted" : "Terbatas",
- "Invisible" : "Tersembunyi",
- "Reset" : "Atur ulang",
- "No files in here" : "Tidak ada berkas disini",
- "No entries found in this folder" : "Tidak ada entri yang ditemukan dalam folder ini",
- "Size" : "Ukuran",
- "Modified" : "Dimodifikasi",
- "You assigned system tag %3$s" : "Anda memberikan tag sistem %3$s",
- "%1$s assigned system tag %3$s" : "%1$s memberikan tag sistem %3$s",
- "You unassigned system tag %3$s" : "Anda melepas tag sistem %3$s",
- "%1$s unassigned system tag %3$s" : "%1$s melepas tag sistem %3$s",
- "You assigned system tag %3$s to %2$s" : "Anda memberikan tag sistem %3$s ke %2$s",
- "%1$s assigned system tag %3$s to %2$s" : "%1$s memberikan tag sistem %3$s ke %2$s",
- "You unassigned system tag %3$s from %2$s" : "Anda melepas tag sistem %3$s ke %2$s",
- "%1$s unassigned system tag %3$s from %2$s" : "%1$s melepas tag sistem %3$s ke %2$s",
- "%s (not-assignable)" : "%s (tidak dapat disematkan)"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/id.json b/apps/systemtags/l10n/id.json
deleted file mode 100644
index 8549c5864a9..00000000000
--- a/apps/systemtags/l10n/id.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{ "translations": {
- "Tags" : "Tag",
- "Update" : "Pembaruan",
- "Create" : "Buat",
- "Select tag…" : "Pilih tag...",
- "Tagged files" : "Berkas ter-tag",
- "Select tags to filter by" : "Pilih tag untuk disaring",
- "Please select tags to filter by" : "Mohon pilih tag untuk disaring",
- "No files found for the selected tags" : "Berkas tidak ditemukan untuk tag yang dipilih",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Tag sistem</strong> untuk sebuah berkas telah dimodifikasi",
- "You created system tag %2$s" : "Anda membuat tag sistem %2$s",
- "%1$s created system tag %2$s" : "%1$s membuat tag sistem %2$s",
- "You deleted system tag %2$s" : "Anda menghapus tag sistem %2$s",
- "%1$s deleted system tag %2$s" : "%1$s menghapus tag sistem %2$s",
- "You updated system tag %3$s to %2$s" : "Anda memperbarui tag sistem %3$s ke %2$s",
- "%1$s updated system tag %3$s to %2$s" : "%1$s memperbarui tag sistem %3$s ke %2$s",
- "%s (restricted)" : "%s (terbatas)",
- "%s (invisible)" : "%s (tersembunyi)",
- "Collaborative tags" : "Tag kolaboratif",
- "Name" : "Nama",
- "Delete" : "Hapus",
- "Public" : "Publik",
- "Restricted" : "Terbatas",
- "Invisible" : "Tersembunyi",
- "Reset" : "Atur ulang",
- "No files in here" : "Tidak ada berkas disini",
- "No entries found in this folder" : "Tidak ada entri yang ditemukan dalam folder ini",
- "Size" : "Ukuran",
- "Modified" : "Dimodifikasi",
- "You assigned system tag %3$s" : "Anda memberikan tag sistem %3$s",
- "%1$s assigned system tag %3$s" : "%1$s memberikan tag sistem %3$s",
- "You unassigned system tag %3$s" : "Anda melepas tag sistem %3$s",
- "%1$s unassigned system tag %3$s" : "%1$s melepas tag sistem %3$s",
- "You assigned system tag %3$s to %2$s" : "Anda memberikan tag sistem %3$s ke %2$s",
- "%1$s assigned system tag %3$s to %2$s" : "%1$s memberikan tag sistem %3$s ke %2$s",
- "You unassigned system tag %3$s from %2$s" : "Anda melepas tag sistem %3$s ke %2$s",
- "%1$s unassigned system tag %3$s from %2$s" : "%1$s melepas tag sistem %3$s ke %2$s",
- "%s (not-assignable)" : "%s (tidak dapat disematkan)"
-},"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
deleted file mode 100644
index d347ae25011..00000000000
--- a/apps/systemtags/l10n/ka_GE.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "სისტემური ტეგის დამატება {systemtag}",
- "Added system tag %1$s" : "სისტემური ტეგის დამატება %1$s",
- "%1$s added system tag %2$s" : " %1$s მომხმარებელმა დაამატა სისტემური ტეგი %2$s",
- "{actor} added system tag {systemtag}" : "{actor} მომხმარებელმა დაამატა სისტემური ტეგი {systemtag}",
- "Removed system tag {systemtag}" : "გაუქმდა სისტემური ტეგი {systemtag}",
- "Removed system tag %1$s" : "გაუქმდა სისტემური ტეგი %1$s",
- "%1$s removed system tag %2$s" : "%1$s მომხმარებელმა გააუქმა სისტემური ტეგი %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} მომხმარებელმა გააუქმა სისტემური ტეგი {systemtag}",
- "You created system tag %1$s" : "თქვენ შექმენით სისტემური ტეგი %1$s",
- "You created system tag {systemtag}" : "თქვენ შექმენით სისტემური ტეგი {systemtag}",
- "%1$s created system tag %2$s" : "%1$s მომხმარებელმა შექმნა სისტემური ტეგი %2$s",
- "{actor} created system tag {systemtag}" : "{actor} მომხმარებლემა შექმნმა სისტემური ტეგი {systemtag}",
- "You deleted system tag %1$s" : "თქვენ გააუქმეთ სისტემური ტეგი %1$s",
- "You deleted system tag {systemtag}" : "თქვენ გააუქმეთ სისტემური ტეგი {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s მომხმარებელმა გააუქმა სისტემური ტეგი %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} მომხმარებელმა გააუქმა სისტემური ტეგი {systemtag}",
- "You updated system tag %2$s to %1$s" : "სისტემური ტეგი %2$s განაახლეთ %1$s-ზე",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "სისტემური ტეგი {oldsystemtag} განაახლეთ {newsystemtag}-ზე",
- "%1$s updated system tag %3$s to %2$s" : "%1$s მომხმარებელმა სისტემური ტეგი %3$s განაახლა %2$s-ზე",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} მომხმარებელმა სისტემური ტეგი {oldsystemtag} განაახლა {newsystemtag}-ზე",
- "You added system tag %2$s to %1$s" : "თქვენ %1$s ფაილს დაუმატეთ სისტემური ტეგი %2$s",
- "You added system tag {systemtag} to {file}" : "თქვენ {file} ფაილს დაუმატეთ სისტემური ტეგი {systemtag}",
- "%1$s added system tag %3$s to %2$s" : "%1$s მომხმარებელმა სისტემური ტეგი %3$s დაუმატა ფაილს %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} მომხმარებელმა სისტემური ტეგი {systemtag} დაუმატა ფაილს {file}",
- "You removed system tag %2$s from %1$s" : "თქვენ სისტემური ტეგი %2$s მოაშორეთ ფაილს %1$s",
- "You removed system tag {systemtag} from {file}" : "თქვენ სისტემური ტეგი {systemtag} მოაშორეთ ფაილს {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s მომხმარებელმა სისტემური ტეგი %3$s მოაშორა ფაილს %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} მომხმარებელმა სისტემური ტეგი {systemtag} მოაშორა ფაილს {file}",
- "%s (restricted)" : "%s (აკრძალული)",
- "%s (invisible)" : "%s (უჩინარი)",
- "<strong>System tags</strong> for a file have been modified" : "<strong>სისტემური ტეგები</strong> ფაილისთვის შეიცვალა",
- "Tags" : "ტეგები",
- "Collaborative tags" : "თანამშრომლობის ტეგები",
- "Create" : "შექმნა",
- "Update" : "განახლება",
- "Delete" : "გაუქმება",
- "Reset" : "საწყის მდომგარეობაში დაბრუნება",
- "Public" : "ღია",
- "Restricted" : "აკრძალული",
- "Invisible" : "უჩინარი",
- "No tags found" : "ტეგები ვერ მოიძებნა",
- "Cancel" : "გაუქმება",
- "No files in here" : "აქ ფაილები არაა",
- "No entries found in this folder" : "ამ დირექტორიაში შენატანების მოძებნა ვერ მოხერხდა",
- "Name" : "სახელი",
- "Size" : "ზომა",
- "Modified" : "შეცვლილია"
-},
-"nplurals=2; plural=(n!=1);");
diff --git a/apps/systemtags/l10n/ka_GE.json b/apps/systemtags/l10n/ka_GE.json
deleted file mode 100644
index 1c7ab5be464..00000000000
--- a/apps/systemtags/l10n/ka_GE.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "სისტემური ტეგის დამატება {systemtag}",
- "Added system tag %1$s" : "სისტემური ტეგის დამატება %1$s",
- "%1$s added system tag %2$s" : " %1$s მომხმარებელმა დაამატა სისტემური ტეგი %2$s",
- "{actor} added system tag {systemtag}" : "{actor} მომხმარებელმა დაამატა სისტემური ტეგი {systemtag}",
- "Removed system tag {systemtag}" : "გაუქმდა სისტემური ტეგი {systemtag}",
- "Removed system tag %1$s" : "გაუქმდა სისტემური ტეგი %1$s",
- "%1$s removed system tag %2$s" : "%1$s მომხმარებელმა გააუქმა სისტემური ტეგი %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} მომხმარებელმა გააუქმა სისტემური ტეგი {systemtag}",
- "You created system tag %1$s" : "თქვენ შექმენით სისტემური ტეგი %1$s",
- "You created system tag {systemtag}" : "თქვენ შექმენით სისტემური ტეგი {systemtag}",
- "%1$s created system tag %2$s" : "%1$s მომხმარებელმა შექმნა სისტემური ტეგი %2$s",
- "{actor} created system tag {systemtag}" : "{actor} მომხმარებლემა შექმნმა სისტემური ტეგი {systemtag}",
- "You deleted system tag %1$s" : "თქვენ გააუქმეთ სისტემური ტეგი %1$s",
- "You deleted system tag {systemtag}" : "თქვენ გააუქმეთ სისტემური ტეგი {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s მომხმარებელმა გააუქმა სისტემური ტეგი %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} მომხმარებელმა გააუქმა სისტემური ტეგი {systemtag}",
- "You updated system tag %2$s to %1$s" : "სისტემური ტეგი %2$s განაახლეთ %1$s-ზე",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "სისტემური ტეგი {oldsystemtag} განაახლეთ {newsystemtag}-ზე",
- "%1$s updated system tag %3$s to %2$s" : "%1$s მომხმარებელმა სისტემური ტეგი %3$s განაახლა %2$s-ზე",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} მომხმარებელმა სისტემური ტეგი {oldsystemtag} განაახლა {newsystemtag}-ზე",
- "You added system tag %2$s to %1$s" : "თქვენ %1$s ფაილს დაუმატეთ სისტემური ტეგი %2$s",
- "You added system tag {systemtag} to {file}" : "თქვენ {file} ფაილს დაუმატეთ სისტემური ტეგი {systemtag}",
- "%1$s added system tag %3$s to %2$s" : "%1$s მომხმარებელმა სისტემური ტეგი %3$s დაუმატა ფაილს %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} მომხმარებელმა სისტემური ტეგი {systemtag} დაუმატა ფაილს {file}",
- "You removed system tag %2$s from %1$s" : "თქვენ სისტემური ტეგი %2$s მოაშორეთ ფაილს %1$s",
- "You removed system tag {systemtag} from {file}" : "თქვენ სისტემური ტეგი {systemtag} მოაშორეთ ფაილს {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s მომხმარებელმა სისტემური ტეგი %3$s მოაშორა ფაილს %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} მომხმარებელმა სისტემური ტეგი {systemtag} მოაშორა ფაილს {file}",
- "%s (restricted)" : "%s (აკრძალული)",
- "%s (invisible)" : "%s (უჩინარი)",
- "<strong>System tags</strong> for a file have been modified" : "<strong>სისტემური ტეგები</strong> ფაილისთვის შეიცვალა",
- "Tags" : "ტეგები",
- "Collaborative tags" : "თანამშრომლობის ტეგები",
- "Create" : "შექმნა",
- "Update" : "განახლება",
- "Delete" : "გაუქმება",
- "Reset" : "საწყის მდომგარეობაში დაბრუნება",
- "Public" : "ღია",
- "Restricted" : "აკრძალული",
- "Invisible" : "უჩინარი",
- "No tags found" : "ტეგები ვერ მოიძებნა",
- "Cancel" : "გაუქმება",
- "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/km.js b/apps/systemtags/l10n/km.js
deleted file mode 100644
index 509d2ed766c..00000000000
--- a/apps/systemtags/l10n/km.js
+++ /dev/null
@@ -1,9 +0,0 @@
-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
deleted file mode 100644
index 0664f9a9e48..00000000000
--- a/apps/systemtags/l10n/km.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "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
deleted file mode 100644
index cded0333e54..00000000000
--- a/apps/systemtags/l10n/kn.js
+++ /dev/null
@@ -1,8 +0,0 @@
-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
deleted file mode 100644
index 48561659786..00000000000
--- a/apps/systemtags/l10n/kn.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{ "translations": {
- "Name" : "ಹೆಸರು",
- "Size" : " ಗಾತ್ರ",
- "Modified" : "ಬದಲಾಯಿಸಿದ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/lb.js b/apps/systemtags/l10n/lb.js
deleted file mode 100644
index 6af879ce2f4..00000000000
--- a/apps/systemtags/l10n/lb.js
+++ /dev/null
@@ -1,32 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Tags" : "Etiketten",
- "Tagged files" : "Etikettéiert Fichieren",
- "Select tags to filter by" : "Wiel d'Etiketten fir ze siften aus",
- "Please select tags to filter by" : "Wiel w.e.g. d'Etiketten fir ze siften aus",
- "No files found for the selected tags" : "Keng Fichieren fir d'ausgewielten Etiketten fonnt",
- "<strong>System tags</strong> for a file have been modified" : "<strong>System Etiketten</strong> fir e Fichier goufen verännert",
- "You assigned system tag %3$s" : "Du hues d'System Etikett %3$s zougewisen ",
- "%1$s assigned system tag %3$s" : "%1$s zougewise System Etikett %3$s",
- "You unassigned system tag %3$s" : "Du hues d'System Etikett %3$s ewechgeholl",
- "%1$s unassigned system tag %3$s" : "%1$s System Etikett ewechgeholl %3$s",
- "You created system tag %2$s" : "Du hues d'System Etikett %2$s erschafen",
- "%1$s created system tag %2$s" : "%1$s System Etikett erschaf %2$s ",
- "You deleted system tag %2$s" : "Du hues d'System Etikett %2$s ewechgeholl",
- "%1$s deleted system tag %2$s" : "%1$s System Etikett ewechgeholl %2$s",
- "You updated system tag %3$s to %2$s" : "Du hues d'System Etikett %3$s op %2$s erneiert",
- "%1$s updated system tag %3$s to %2$s" : "%1$s System Etikett erneiert %3$s op %2$s",
- "You assigned system tag %3$s to %2$s" : "Du hues d'System Etikett %3$s op %2$s zougewisen",
- "%1$s assigned system tag %3$s to %2$s" : "%1$s zougewise System Etikett %3$s op %2$s",
- "You unassigned system tag %3$s from %2$s" : "Du hues d'System Etikett %3$s vum %2$s ewechgeholl",
- "%1$s unassigned system tag %3$s from %2$s" : "%1$s System Etikett ewechgeholl %3$s vum %2$s",
- "%s (restricted)" : "%s (ageschränkt)",
- "%s (invisible)" : "%s (onsiichtbar)",
- "No files in here" : "Hei sinn keng Fichieren",
- "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
deleted file mode 100644
index c94e08b607b..00000000000
--- a/apps/systemtags/l10n/lb.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{ "translations": {
- "Tags" : "Etiketten",
- "Tagged files" : "Etikettéiert Fichieren",
- "Select tags to filter by" : "Wiel d'Etiketten fir ze siften aus",
- "Please select tags to filter by" : "Wiel w.e.g. d'Etiketten fir ze siften aus",
- "No files found for the selected tags" : "Keng Fichieren fir d'ausgewielten Etiketten fonnt",
- "<strong>System tags</strong> for a file have been modified" : "<strong>System Etiketten</strong> fir e Fichier goufen verännert",
- "You assigned system tag %3$s" : "Du hues d'System Etikett %3$s zougewisen ",
- "%1$s assigned system tag %3$s" : "%1$s zougewise System Etikett %3$s",
- "You unassigned system tag %3$s" : "Du hues d'System Etikett %3$s ewechgeholl",
- "%1$s unassigned system tag %3$s" : "%1$s System Etikett ewechgeholl %3$s",
- "You created system tag %2$s" : "Du hues d'System Etikett %2$s erschafen",
- "%1$s created system tag %2$s" : "%1$s System Etikett erschaf %2$s ",
- "You deleted system tag %2$s" : "Du hues d'System Etikett %2$s ewechgeholl",
- "%1$s deleted system tag %2$s" : "%1$s System Etikett ewechgeholl %2$s",
- "You updated system tag %3$s to %2$s" : "Du hues d'System Etikett %3$s op %2$s erneiert",
- "%1$s updated system tag %3$s to %2$s" : "%1$s System Etikett erneiert %3$s op %2$s",
- "You assigned system tag %3$s to %2$s" : "Du hues d'System Etikett %3$s op %2$s zougewisen",
- "%1$s assigned system tag %3$s to %2$s" : "%1$s zougewise System Etikett %3$s op %2$s",
- "You unassigned system tag %3$s from %2$s" : "Du hues d'System Etikett %3$s vum %2$s ewechgeholl",
- "%1$s unassigned system tag %3$s from %2$s" : "%1$s System Etikett ewechgeholl %3$s vum %2$s",
- "%s (restricted)" : "%s (ageschränkt)",
- "%s (invisible)" : "%s (onsiichtbar)",
- "No files in here" : "Hei sinn keng Fichieren",
- "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/ms_MY.js b/apps/systemtags/l10n/ms_MY.js
deleted file mode 100644
index 2958617429c..00000000000
--- a/apps/systemtags/l10n/ms_MY.js
+++ /dev/null
@@ -1,8 +0,0 @@
-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
deleted file mode 100644
index 646640c0134..00000000000
--- a/apps/systemtags/l10n/ms_MY.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{ "translations": {
- "Name" : "Nama",
- "Size" : "Saiz",
- "Modified" : "Dimodifikasi"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/nn_NO.js b/apps/systemtags/l10n/nn_NO.js
deleted file mode 100644
index 02260061f6c..00000000000
--- a/apps/systemtags/l10n/nn_NO.js
+++ /dev/null
@@ -1,9 +0,0 @@
-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
deleted file mode 100644
index 8e504bf6b2a..00000000000
--- a/apps/systemtags/l10n/nn_NO.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "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
deleted file mode 100644
index cd891a0c3a3..00000000000
--- a/apps/systemtags/l10n/oc.js
+++ /dev/null
@@ -1,12 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Tags" : "Etiquetas",
- "%s (invisible)" : "%s (invisible)",
- "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
deleted file mode 100644
index c9521db3579..00000000000
--- a/apps/systemtags/l10n/oc.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{ "translations": {
- "Tags" : "Etiquetas",
- "%s (invisible)" : "%s (invisible)",
- "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/pt_PT.js b/apps/systemtags/l10n/pt_PT.js
deleted file mode 100644
index d5844a64985..00000000000
--- a/apps/systemtags/l10n/pt_PT.js
+++ /dev/null
@@ -1,32 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Tags" : "Etiquetas",
- "Tagged files" : "Ficheiros etiquetados",
- "Select tags to filter by" : "Selecionar etiquetas para filtrar",
- "Please select tags to filter by" : "Por favor, selecione etiquetas para filtrar",
- "No files found for the selected tags" : "Não foram encontrados ficheiros para as etiquetas selecionadas",
- "<strong>System tags</strong> for a file have been modified" : "As <strong>etiquetas do Sistema</strong> para um ficheiro foram alteradas",
- "You assigned system tag %3$s" : "Atribuiu a etiqueta do sistema %3$s",
- "%1$s assigned system tag %3$s" : "%1$s atribuiu a etiqueta do sistema %3$s",
- "You unassigned system tag %3$s" : "Removeu a etiqueta do sistema %3$s",
- "%1$s unassigned system tag %3$s" : "%1$s removeu a etiqueta do sistema %3$s",
- "You created system tag %2$s" : "Criou a etiqueta do sistema %2$s",
- "%1$s created system tag %2$s" : "%1$s criou a etiqueta do sistema %2$s",
- "You deleted system tag %2$s" : "Eliminou etiqueta do sistema %2$s",
- "%1$s deleted system tag %2$s" : "%1$s eliminou a etiqueta do sistema %2$s",
- "You updated system tag %3$s to %2$s" : "Atualizou a etiqueta do sistema %3$s para %2$s",
- "%1$s updated system tag %3$s to %2$s" : "%1$s atualizou a etiqueta %3$s para %2$s",
- "You assigned system tag %3$s to %2$s" : "Atribuiu a etiqueta do sistema %3$s para %2$s",
- "%1$s assigned system tag %3$s to %2$s" : "%1$s atribuiu a etiqueta %3$s para %2$s",
- "You unassigned system tag %3$s from %2$s" : "Removeu a etiqueta do sistema %3$s de %2$s",
- "%1$s unassigned system tag %3$s from %2$s" : "%1$s removeu a etiqueta do sistema %3$s de %2$s",
- "%s (restricted)" : "%s (limitado)",
- "%s (invisible)" : "%s (invisível)",
- "Name" : "Nome",
- "No files in here" : "Nenhuns ficheiros aqui",
- "No entries found in this folder" : "Não foram encontradas entradas nesta pasta",
- "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
deleted file mode 100644
index 59565b8053e..00000000000
--- a/apps/systemtags/l10n/pt_PT.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{ "translations": {
- "Tags" : "Etiquetas",
- "Tagged files" : "Ficheiros etiquetados",
- "Select tags to filter by" : "Selecionar etiquetas para filtrar",
- "Please select tags to filter by" : "Por favor, selecione etiquetas para filtrar",
- "No files found for the selected tags" : "Não foram encontrados ficheiros para as etiquetas selecionadas",
- "<strong>System tags</strong> for a file have been modified" : "As <strong>etiquetas do Sistema</strong> para um ficheiro foram alteradas",
- "You assigned system tag %3$s" : "Atribuiu a etiqueta do sistema %3$s",
- "%1$s assigned system tag %3$s" : "%1$s atribuiu a etiqueta do sistema %3$s",
- "You unassigned system tag %3$s" : "Removeu a etiqueta do sistema %3$s",
- "%1$s unassigned system tag %3$s" : "%1$s removeu a etiqueta do sistema %3$s",
- "You created system tag %2$s" : "Criou a etiqueta do sistema %2$s",
- "%1$s created system tag %2$s" : "%1$s criou a etiqueta do sistema %2$s",
- "You deleted system tag %2$s" : "Eliminou etiqueta do sistema %2$s",
- "%1$s deleted system tag %2$s" : "%1$s eliminou a etiqueta do sistema %2$s",
- "You updated system tag %3$s to %2$s" : "Atualizou a etiqueta do sistema %3$s para %2$s",
- "%1$s updated system tag %3$s to %2$s" : "%1$s atualizou a etiqueta %3$s para %2$s",
- "You assigned system tag %3$s to %2$s" : "Atribuiu a etiqueta do sistema %3$s para %2$s",
- "%1$s assigned system tag %3$s to %2$s" : "%1$s atribuiu a etiqueta %3$s para %2$s",
- "You unassigned system tag %3$s from %2$s" : "Removeu a etiqueta do sistema %3$s de %2$s",
- "%1$s unassigned system tag %3$s from %2$s" : "%1$s removeu a etiqueta do sistema %3$s de %2$s",
- "%s (restricted)" : "%s (limitado)",
- "%s (invisible)" : "%s (invisível)",
- "Name" : "Nome",
- "No files in here" : "Nenhuns ficheiros aqui",
- "No entries found in this folder" : "Não foram encontradas entradas nesta pasta",
- "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
deleted file mode 100644
index 4a2ee02f325..00000000000
--- a/apps/systemtags/l10n/ro.js
+++ /dev/null
@@ -1,32 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Tags" : "Cuvinte cheie",
- "Tagged files" : "Fișiere etichetate",
- "Select tags to filter by" : "Alege etichete după care să filtrezi",
- "Please select tags to filter by" : "Te rugăm selectează etichete după care să filtrezi",
- "No files found for the selected tags" : "Nu au fost găsite fișiere care să corespundă etichetelor alese",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Etichete de siste</strong> pentru un fișier au fost modificate",
- "You assigned system tag %3$s" : "Ai alocat eticheta de sistem %3$s",
- "%1$s assigned system tag %3$s" : "%1$s a alocat eticheta de sistem %3$s",
- "You unassigned system tag %3$s" : "Ai înlăturat eticheta de sistem %3$s",
- "%1$s unassigned system tag %3$s" : "%1$s a înlăturat eticheta de sistem %3$s",
- "You created system tag %2$s" : "Ai creat eticheta de sistem %2$s",
- "%1$s created system tag %2$s" : "%1$s a creat eticheta de sistem %2$s",
- "You deleted system tag %2$s" : "Ai șters eticheta de sistem %2$s",
- "%1$s deleted system tag %2$s" : "%1$s a șters eticheta de sistem %2$s",
- "You updated system tag %3$s to %2$s" : "Ai actualizat eticheta de sistem %3$s la %2$s",
- "%1$s updated system tag %3$s to %2$s" : "%1$s a actualizat eticheta de sistem %3$s la %2$s",
- "You assigned system tag %3$s to %2$s" : "Ai atribuit eticheta de sistem %3$s la %2$s",
- "%1$s assigned system tag %3$s to %2$s" : "%1$s a atribuit eticheta de sistem %3$s la %2$s",
- "You unassigned system tag %3$s from %2$s" : "Ai înlăturat eticheta de sistem %3$s de la %2$s",
- "%1$s unassigned system tag %3$s from %2$s" : "%1$s a înlăturat eticheta de sistem %3$s de la %2$s",
- "%s (restricted)" : "%s (restricționat)",
- "%s (invisible)" : "%s (invizibil)",
- "Name" : "Nume",
- "No files in here" : "Niciun fișier aici",
- "No entries found in this folder" : "Niciun element găsit în acest director",
- "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
deleted file mode 100644
index 20517cf41a2..00000000000
--- a/apps/systemtags/l10n/ro.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{ "translations": {
- "Tags" : "Cuvinte cheie",
- "Tagged files" : "Fișiere etichetate",
- "Select tags to filter by" : "Alege etichete după care să filtrezi",
- "Please select tags to filter by" : "Te rugăm selectează etichete după care să filtrezi",
- "No files found for the selected tags" : "Nu au fost găsite fișiere care să corespundă etichetelor alese",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Etichete de siste</strong> pentru un fișier au fost modificate",
- "You assigned system tag %3$s" : "Ai alocat eticheta de sistem %3$s",
- "%1$s assigned system tag %3$s" : "%1$s a alocat eticheta de sistem %3$s",
- "You unassigned system tag %3$s" : "Ai înlăturat eticheta de sistem %3$s",
- "%1$s unassigned system tag %3$s" : "%1$s a înlăturat eticheta de sistem %3$s",
- "You created system tag %2$s" : "Ai creat eticheta de sistem %2$s",
- "%1$s created system tag %2$s" : "%1$s a creat eticheta de sistem %2$s",
- "You deleted system tag %2$s" : "Ai șters eticheta de sistem %2$s",
- "%1$s deleted system tag %2$s" : "%1$s a șters eticheta de sistem %2$s",
- "You updated system tag %3$s to %2$s" : "Ai actualizat eticheta de sistem %3$s la %2$s",
- "%1$s updated system tag %3$s to %2$s" : "%1$s a actualizat eticheta de sistem %3$s la %2$s",
- "You assigned system tag %3$s to %2$s" : "Ai atribuit eticheta de sistem %3$s la %2$s",
- "%1$s assigned system tag %3$s to %2$s" : "%1$s a atribuit eticheta de sistem %3$s la %2$s",
- "You unassigned system tag %3$s from %2$s" : "Ai înlăturat eticheta de sistem %3$s de la %2$s",
- "%1$s unassigned system tag %3$s from %2$s" : "%1$s a înlăturat eticheta de sistem %3$s de la %2$s",
- "%s (restricted)" : "%s (restricționat)",
- "%s (invisible)" : "%s (invizibil)",
- "Name" : "Nume",
- "No files in here" : "Niciun fișier aici",
- "No entries found in this folder" : "Niciun element găsit în acest director",
- "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/sc.js b/apps/systemtags/l10n/sc.js
deleted file mode 100644
index 954048de401..00000000000
--- a/apps/systemtags/l10n/sc.js
+++ /dev/null
@@ -1,59 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "System tag %1$s added by the system" : "Eticheta de sistema %1$s agiunta dae su sistema",
- "Added system tag {systemtag}" : "Agiunta s'eticheta de sistema {systemtag}",
- "Added system tag %1$s" : "Agiunta s'eticheta de sistema %1$s",
- "%1$s added system tag %2$s" : "%1$sat agiuntu s'eticheta de sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} at agiuntu s'eticheta de sistema {systemtag}",
- "System tag %1$s removed by the system" : "Eticheta de sistema %1$s bogada dae su sistema",
- "Removed system tag {systemtag}" : "Bogada s'eticheta de sistema {systemtag}",
- "Removed system tag %1$s" : "Bogada s'eticheta de sistema %1$s",
- "%1$s removed system tag %2$s" : "%1$snch'at bogadu s'eticheta de sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} nch'at bogadu s'eticheta de sistema {systemtag}",
- "You created system tag %1$s" : "As creadu s'eticheta de sistema %1$s",
- "You created system tag {systemtag}" : "As creadu s'eticheta de sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s at creadu s'eticheta de sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} at creadu s'eticheta de sistema {systemtag}",
- "You deleted system tag %1$s" : "As cantzelladu s'eticheta de sistema %1$s",
- "You deleted system tag {systemtag}" : "As cantzelladu s'eticheta de sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s at cantzelladu s'eticheta de sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} at cantzelladu s'eticheta de sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "As agiornadu s'eticheta de sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "As agiornadu s'eticheta de sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$sat agiornadu s'eticheta de sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} at agiornadu s'eticheta de sistema {oldsystemtag} a {newsystemtag}",
- "System tag %2$s was added to %1$s by the system" : "S'eticheta de sistema %2$s est istada agiunta in %1$s dae su sistema",
- "System tag {systemtag} was added to {file} by the system" : "S'eticheta de sistema {systemtag} est istada agiunta a {file} dae su sistema",
- "You added system tag %2$s to %1$s" : "As agiuntu s'eticheta de sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "As agiuntu s'eticheta de sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s at agiuntu s'eticheta de sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} at agiuntu s'eticheta de sistema {systemtag} a {file}",
- "System tag %2$s was removed from %1$s by the system" : "S'eticheta de sistema %2$s est istada bogada dae %1$s dae su sistema",
- "System tag {systemtag} was removed from {file} by the system" : "S'eticheta de sistema {systemtag} est istada bogada dae {file} dae su sistema",
- "You removed system tag %2$s from %1$s" : "Nch'as bogadu s'eticheta de sistema %2$s dae %1$s",
- "You removed system tag {systemtag} from {file}" : "Nch'as bogadu s'eticheta de sistema {systemtag} dae {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s nch'at bogadu s'eticheta de sistema %3$s dae%2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} nch'at bogadu s'eticheta de sistema {systemtag} dae {file}",
- "%s (restricted)" : "%s (limitadu)",
- "%s (invisible)" : "%s (invisìbile)",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Etichetas de sistema</strong> pro un'archìviu sunt istada modificadas",
- "Files" : "Archìvios",
- "Tags" : "Etichetas",
- "Collaborative tags" : "Etichetas collaborativas",
- "Public" : "Pùblicu",
- "Restricted" : "Limitadu",
- "Invisible" : "Invisìbile",
- "Create" : "Crea",
- "Update" : "Agiorna",
- "Delete" : "Cantzella",
- "Reset" : "Ripristina",
- "Loading …" : "Carrigamentu …",
- "Manage tags" : "Gesti etichetas",
- "Cancel" : "Annulla",
- "Failed to load tags" : "No at fatu a carrigare is etichetas",
- "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "Is etichetas collaborativas sunt a disponimentu pro totu is utentes. Is etichetas limitadas podent èssere bidas dae is utentes, chi però no ddas podent assignare. Is etichetas visìbiles sunt pro un'impreu de intro, ca is utentes no ddas podent nen bìdere nen assignare.",
- "Open in Files" : "Aberi in Archìvios",
- "No tags found" : "Peruna eticheta agatada"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/sc.json b/apps/systemtags/l10n/sc.json
deleted file mode 100644
index 74062834e6e..00000000000
--- a/apps/systemtags/l10n/sc.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{ "translations": {
- "System tag %1$s added by the system" : "Eticheta de sistema %1$s agiunta dae su sistema",
- "Added system tag {systemtag}" : "Agiunta s'eticheta de sistema {systemtag}",
- "Added system tag %1$s" : "Agiunta s'eticheta de sistema %1$s",
- "%1$s added system tag %2$s" : "%1$sat agiuntu s'eticheta de sistema %2$s",
- "{actor} added system tag {systemtag}" : "{actor} at agiuntu s'eticheta de sistema {systemtag}",
- "System tag %1$s removed by the system" : "Eticheta de sistema %1$s bogada dae su sistema",
- "Removed system tag {systemtag}" : "Bogada s'eticheta de sistema {systemtag}",
- "Removed system tag %1$s" : "Bogada s'eticheta de sistema %1$s",
- "%1$s removed system tag %2$s" : "%1$snch'at bogadu s'eticheta de sistema %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} nch'at bogadu s'eticheta de sistema {systemtag}",
- "You created system tag %1$s" : "As creadu s'eticheta de sistema %1$s",
- "You created system tag {systemtag}" : "As creadu s'eticheta de sistema {systemtag}",
- "%1$s created system tag %2$s" : "%1$s at creadu s'eticheta de sistema %2$s",
- "{actor} created system tag {systemtag}" : "{actor} at creadu s'eticheta de sistema {systemtag}",
- "You deleted system tag %1$s" : "As cantzelladu s'eticheta de sistema %1$s",
- "You deleted system tag {systemtag}" : "As cantzelladu s'eticheta de sistema {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s at cantzelladu s'eticheta de sistema %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} at cantzelladu s'eticheta de sistema {systemtag}",
- "You updated system tag %2$s to %1$s" : "As agiornadu s'eticheta de sistema %2$s a %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "As agiornadu s'eticheta de sistema {oldsystemtag} a {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$sat agiornadu s'eticheta de sistema %3$s a %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} at agiornadu s'eticheta de sistema {oldsystemtag} a {newsystemtag}",
- "System tag %2$s was added to %1$s by the system" : "S'eticheta de sistema %2$s est istada agiunta in %1$s dae su sistema",
- "System tag {systemtag} was added to {file} by the system" : "S'eticheta de sistema {systemtag} est istada agiunta a {file} dae su sistema",
- "You added system tag %2$s to %1$s" : "As agiuntu s'eticheta de sistema %2$s a %1$s",
- "You added system tag {systemtag} to {file}" : "As agiuntu s'eticheta de sistema {systemtag} a {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s at agiuntu s'eticheta de sistema %3$s a %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} at agiuntu s'eticheta de sistema {systemtag} a {file}",
- "System tag %2$s was removed from %1$s by the system" : "S'eticheta de sistema %2$s est istada bogada dae %1$s dae su sistema",
- "System tag {systemtag} was removed from {file} by the system" : "S'eticheta de sistema {systemtag} est istada bogada dae {file} dae su sistema",
- "You removed system tag %2$s from %1$s" : "Nch'as bogadu s'eticheta de sistema %2$s dae %1$s",
- "You removed system tag {systemtag} from {file}" : "Nch'as bogadu s'eticheta de sistema {systemtag} dae {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s nch'at bogadu s'eticheta de sistema %3$s dae%2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} nch'at bogadu s'eticheta de sistema {systemtag} dae {file}",
- "%s (restricted)" : "%s (limitadu)",
- "%s (invisible)" : "%s (invisìbile)",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Etichetas de sistema</strong> pro un'archìviu sunt istada modificadas",
- "Files" : "Archìvios",
- "Tags" : "Etichetas",
- "Collaborative tags" : "Etichetas collaborativas",
- "Public" : "Pùblicu",
- "Restricted" : "Limitadu",
- "Invisible" : "Invisìbile",
- "Create" : "Crea",
- "Update" : "Agiorna",
- "Delete" : "Cantzella",
- "Reset" : "Ripristina",
- "Loading …" : "Carrigamentu …",
- "Manage tags" : "Gesti etichetas",
- "Cancel" : "Annulla",
- "Failed to load tags" : "No at fatu a carrigare is etichetas",
- "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "Is etichetas collaborativas sunt a disponimentu pro totu is utentes. Is etichetas limitadas podent èssere bidas dae is utentes, chi però no ddas podent assignare. Is etichetas visìbiles sunt pro un'impreu de intro, ca is utentes no ddas podent nen bìdere nen assignare.",
- "Open in Files" : "Aberi in Archìvios",
- "No tags found" : "Peruna eticheta agatada"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/systemtags/l10n/sq.js b/apps/systemtags/l10n/sq.js
deleted file mode 100644
index e4128ee8881..00000000000
--- a/apps/systemtags/l10n/sq.js
+++ /dev/null
@@ -1,52 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "Added system tag {systemtag}" : "Tagu i shtuar i sistemit{systemtag}",
- "Added system tag %1$s" : "U shtua etiketa %1$s e sistemit ",
- "%1$s added system tag %2$s" : "%1$s shtoi etiketën %2$s të sistemit ",
- "{actor} added system tag {systemtag}" : "{actor} shtoi etiketën e sistemit {systemtag}",
- "Removed system tag {systemtag}" : "Hoqi etiketën e sistemit {systemtag}",
- "Removed system tag %1$s" : "Hoqi etiketën %1$s të sistemit ",
- "%1$s removed system tag %2$s" : "%1$s hoqi etiketën %2$s të sistemit ",
- "{actor} removed system tag {systemtag}" : "{actor} hoqi etiketën e sistemit {systemtag}",
- "You created system tag %1$s" : "Ju krijuat etiketën %1$s të sistemit",
- "You created system tag {systemtag}" : "Ju keni krijuar etiketimin e sistemit {systemtag}",
- "%1$s created system tag %2$s" : "%1$s krijoi etiketën e sistemit %2$s",
- "{actor} created system tag {systemtag}" : "{actor} krijoi etiketimin e sistemit {systemtag}",
- "You deleted system tag %1$s" : "Ju fshit etiketën %1$s të sistemit",
- "You deleted system tag {systemtag}" : "Ju fshit etiketën {systemtag} të sistemit",
- "%1$s deleted system tag %2$s" : "%1$s fshiu etiketën e sistemit %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} fshiu etiketën {systemtag} të sistemit",
- "You updated system tag %2$s to %1$s" : "Ju përditësuat etiketën e sistemit nga %2$s në %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Ju përditësuat etiketën e sistemit nga {oldsystemtag} në {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s përditësoi etiketën e sistemit %3$s si %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} përditësoi etiketimin e sistemit {oldsystemtag} në {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Ju shtuat tagun e sistemit%2$s në %1$s",
- "You added system tag {systemtag} to {file}" : "Ju shtuat tagun e sistemit{systemtag} në{file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s shtoi etiketën e sistemit %3$s në %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} shtoi etiketimin e sistemit {systemtag} në {file}",
- "You removed system tag %2$s from %1$s" : "Ju hoqët etiketimin e sistemit %2$s nga %1$s",
- "You removed system tag {systemtag} from {file}" : "Hoqët etiketën e sistemit {systemtag} nga {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s hoqi etiketimin e sistemit %3$s nga %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} hoqi etiketimin e sistemit {systemtag} nga {file}",
- "%s (restricted)" : "%s (e kufizuar)",
- "%s (invisible)" : "%s (e padukshme)",
- "<strong>System tags</strong> for a file have been modified" : "U ndryshyan <strong>etiketa sistemi</strong>për një kartelë",
- "Files" : "Skedarë",
- "Tags" : "Etiketa",
- "Collaborative tags" : "Etiketa bashkëpunuese",
- "Create" : "Krijo",
- "Update" : "Përditëso",
- "Delete" : "Fshije",
- "Reset" : "Rivendos",
- "Public" : "Publik",
- "Restricted" : "I/E kufizuar",
- "Invisible" : "I padukshëm",
- "No tags found" : "Asnjë etiket nuk u gjet",
- "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
deleted file mode 100644
index a1f8655642b..00000000000
--- a/apps/systemtags/l10n/sq.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{ "translations": {
- "Added system tag {systemtag}" : "Tagu i shtuar i sistemit{systemtag}",
- "Added system tag %1$s" : "U shtua etiketa %1$s e sistemit ",
- "%1$s added system tag %2$s" : "%1$s shtoi etiketën %2$s të sistemit ",
- "{actor} added system tag {systemtag}" : "{actor} shtoi etiketën e sistemit {systemtag}",
- "Removed system tag {systemtag}" : "Hoqi etiketën e sistemit {systemtag}",
- "Removed system tag %1$s" : "Hoqi etiketën %1$s të sistemit ",
- "%1$s removed system tag %2$s" : "%1$s hoqi etiketën %2$s të sistemit ",
- "{actor} removed system tag {systemtag}" : "{actor} hoqi etiketën e sistemit {systemtag}",
- "You created system tag %1$s" : "Ju krijuat etiketën %1$s të sistemit",
- "You created system tag {systemtag}" : "Ju keni krijuar etiketimin e sistemit {systemtag}",
- "%1$s created system tag %2$s" : "%1$s krijoi etiketën e sistemit %2$s",
- "{actor} created system tag {systemtag}" : "{actor} krijoi etiketimin e sistemit {systemtag}",
- "You deleted system tag %1$s" : "Ju fshit etiketën %1$s të sistemit",
- "You deleted system tag {systemtag}" : "Ju fshit etiketën {systemtag} të sistemit",
- "%1$s deleted system tag %2$s" : "%1$s fshiu etiketën e sistemit %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} fshiu etiketën {systemtag} të sistemit",
- "You updated system tag %2$s to %1$s" : "Ju përditësuat etiketën e sistemit nga %2$s në %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Ju përditësuat etiketën e sistemit nga {oldsystemtag} në {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s përditësoi etiketën e sistemit %3$s si %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} përditësoi etiketimin e sistemit {oldsystemtag} në {newsystemtag}",
- "You added system tag %2$s to %1$s" : "Ju shtuat tagun e sistemit%2$s në %1$s",
- "You added system tag {systemtag} to {file}" : "Ju shtuat tagun e sistemit{systemtag} në{file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s shtoi etiketën e sistemit %3$s në %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} shtoi etiketimin e sistemit {systemtag} në {file}",
- "You removed system tag %2$s from %1$s" : "Ju hoqët etiketimin e sistemit %2$s nga %1$s",
- "You removed system tag {systemtag} from {file}" : "Hoqët etiketën e sistemit {systemtag} nga {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s hoqi etiketimin e sistemit %3$s nga %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} hoqi etiketimin e sistemit {systemtag} nga {file}",
- "%s (restricted)" : "%s (e kufizuar)",
- "%s (invisible)" : "%s (e padukshme)",
- "<strong>System tags</strong> for a file have been modified" : "U ndryshyan <strong>etiketa sistemi</strong>për një kartelë",
- "Files" : "Skedarë",
- "Tags" : "Etiketa",
- "Collaborative tags" : "Etiketa bashkëpunuese",
- "Create" : "Krijo",
- "Update" : "Përditëso",
- "Delete" : "Fshije",
- "Reset" : "Rivendos",
- "Public" : "Publik",
- "Restricted" : "I/E kufizuar",
- "Invisible" : "I padukshëm",
- "No tags found" : "Asnjë etiket nuk u gjet",
- "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@latin.js b/apps/systemtags/l10n/sr@latin.js
deleted file mode 100644
index 090fa44934b..00000000000
--- a/apps/systemtags/l10n/sr@latin.js
+++ /dev/null
@@ -1,11 +0,0 @@
-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
deleted file mode 100644
index b4e0d396af8..00000000000
--- a/apps/systemtags/l10n/sr@latin.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{ "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/th.js b/apps/systemtags/l10n/th.js
deleted file mode 100644
index 64466da1429..00000000000
--- a/apps/systemtags/l10n/th.js
+++ /dev/null
@@ -1,54 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "System tag %1$s added by the system" : "แท็กระบบ %1$s ถูกเพิ่มโดยระบบ",
- "Added system tag {systemtag}" : "เพิ่มแท็กระบบ {systemtag} แล้ว",
- "Added system tag %1$s" : "เพิ่มแท็กระบบ %1$s แล้ว",
- "%1$s added system tag %2$s" : "%1$s ได้เพิ่มแท็กระบบ %2$s",
- "{actor} added system tag {systemtag}" : "{actor} ได้เพิ่มแท็กระบบ {systemtag}",
- "System tag %1$s removed by the system" : "แท็กระบบ %1$s ถูกเอาออกโดยระบบ",
- "Removed system tag {systemtag}" : "เอาแท็กระบบ {systemtag} ออกแล้ว",
- "Removed system tag %1$s" : "เอาแท็กระบบ %1$s ออกแล้ว",
- "%1$s removed system tag %2$s" : "%1$s ได้เอาแท็กระบบ %2$s ออก",
- "{actor} removed system tag {systemtag}" : "{actor} ได้เอาแท็กระบบ {systemtag} ออก",
- "You created system tag %1$s" : "คุณได้เพิ่มแท็กระบบ %1$s",
- "You created system tag {systemtag}" : "คุณได้เพิ่มแท็กระบบ {systemtag}",
- "%1$s created system tag %2$s" : "%1$s ได้สร้างแท็กระบบ %2$s",
- "{actor} created system tag {systemtag}" : "{actor} ได้เพิ่มแท็กระบบ {systemtag}",
- "You deleted system tag %1$s" : "คุณได้ลบแท็กระบบ %1$s",
- "You deleted system tag {systemtag}" : "คุณได้ลบแท็กระบบ {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s ได้ลบแท็กระบบ %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} ได้ลบแท็กระบบ {systemtag}",
- "You updated system tag %2$s to %1$s" : "คุณได้อัปเดตแท็กระบบจาก %2$s เป็น %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "คุณได้อัปเดตแท็กระบบจาก {oldsystemtag} เป็น {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s ได้อัปเดตแท็กระบบจาก %3$s เป็น %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} ได้อัปเดตแท็กระบบจาก {oldsystemtag} เป็น {newsystemtag}",
- "System tag %2$s was added to %1$s by the system" : "แท็กระบบ %2$s ถูกเพิ่มไปยัง %1$s โดยระบบ",
- "System tag {systemtag} was added to {file} by the system" : "แท็กระบบ {systemtag} ถูกเพิ่มไปยัง {file} โดยระบบ",
- "You added system tag %2$s to %1$s" : "คุณได้เพิ่มแท็กระบบ %2$sไปยัง %1$s",
- "You added system tag {systemtag} to {file}" : "คุณได้เพิ่มแท็กระบบ {systemtag} ไปยัง {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s ได้เพิ่มแท็กระบบ %3$s ไปยัง %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} ได้เพิ่มแท็กระบบ {systemtag} ไปยัง {file}",
- "System tag %2$s was removed from %1$s by the system" : "แท็กระบบ %2$s ถูกเอาออกจาก %1$s โดยระบบ",
- "System tag {systemtag} was removed from {file} by the system" : "แท็กระบบ {systemtag} ถูกเอาออกจาก {file} โดยระบบ",
- "You removed system tag %2$s from %1$s" : "คุณได้เอาแท็กระบบ %2$sออกจาก %1$s",
- "You removed system tag {systemtag} from {file}" : "คุณได้เอาแท็กระบบ {systemtag} ออกจาก {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s ได้เอาแท็กระบบ %3$s ออกจาก %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} ได้เอาแท็กระบบ {systemtag} ออกจาก {file}",
- "%s (restricted)" : "%s (ถูกจำกัด)",
- "%s (invisible)" : "%s (ไม่แสดงสถานะ)",
- "<strong>System tags</strong> for a file have been modified" : "<strong>แท็กระบบ</strong> สำหรับไฟล์ที่ได้รับการแก้ไข",
- "Tags" : "แท็ก",
- "Collaborative tags" : "แท็กแบบทำงานร่วมกัน",
- "Create" : "สร้าง",
- "Update" : "อัปเดต",
- "Delete" : "ลบ",
- "Reset" : "ตั้งค่าใหม่",
- "Public" : "สาธารณะ",
- "Restricted" : "ถูกจำกัด",
- "Invisible" : "มองไม่เห็น",
- "Cancel" : "ยกเลิก",
- "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "ผู้ใช้ทุกคนสามารถใช้แท็กแบบทำงานร่วมกันได้ แท็กที่ถูกจำกัดสามารถมองเห็นได้โดยผู้ใช้ แต่ผู้ใช้ไม่สามารถจัดสรรได้ แท็กที่มองไม่เห็นใช้สำหรับภายใน เนื่องจากผู้ใช้ไม่สามารถเห็นหรือจัดสรรแท็กเหล่านั้น",
- "No tags found" : "ไม่พบแท็ก"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/th.json b/apps/systemtags/l10n/th.json
deleted file mode 100644
index 2e12b9d8d3b..00000000000
--- a/apps/systemtags/l10n/th.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{ "translations": {
- "System tag %1$s added by the system" : "แท็กระบบ %1$s ถูกเพิ่มโดยระบบ",
- "Added system tag {systemtag}" : "เพิ่มแท็กระบบ {systemtag} แล้ว",
- "Added system tag %1$s" : "เพิ่มแท็กระบบ %1$s แล้ว",
- "%1$s added system tag %2$s" : "%1$s ได้เพิ่มแท็กระบบ %2$s",
- "{actor} added system tag {systemtag}" : "{actor} ได้เพิ่มแท็กระบบ {systemtag}",
- "System tag %1$s removed by the system" : "แท็กระบบ %1$s ถูกเอาออกโดยระบบ",
- "Removed system tag {systemtag}" : "เอาแท็กระบบ {systemtag} ออกแล้ว",
- "Removed system tag %1$s" : "เอาแท็กระบบ %1$s ออกแล้ว",
- "%1$s removed system tag %2$s" : "%1$s ได้เอาแท็กระบบ %2$s ออก",
- "{actor} removed system tag {systemtag}" : "{actor} ได้เอาแท็กระบบ {systemtag} ออก",
- "You created system tag %1$s" : "คุณได้เพิ่มแท็กระบบ %1$s",
- "You created system tag {systemtag}" : "คุณได้เพิ่มแท็กระบบ {systemtag}",
- "%1$s created system tag %2$s" : "%1$s ได้สร้างแท็กระบบ %2$s",
- "{actor} created system tag {systemtag}" : "{actor} ได้เพิ่มแท็กระบบ {systemtag}",
- "You deleted system tag %1$s" : "คุณได้ลบแท็กระบบ %1$s",
- "You deleted system tag {systemtag}" : "คุณได้ลบแท็กระบบ {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s ได้ลบแท็กระบบ %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} ได้ลบแท็กระบบ {systemtag}",
- "You updated system tag %2$s to %1$s" : "คุณได้อัปเดตแท็กระบบจาก %2$s เป็น %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "คุณได้อัปเดตแท็กระบบจาก {oldsystemtag} เป็น {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s ได้อัปเดตแท็กระบบจาก %3$s เป็น %2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} ได้อัปเดตแท็กระบบจาก {oldsystemtag} เป็น {newsystemtag}",
- "System tag %2$s was added to %1$s by the system" : "แท็กระบบ %2$s ถูกเพิ่มไปยัง %1$s โดยระบบ",
- "System tag {systemtag} was added to {file} by the system" : "แท็กระบบ {systemtag} ถูกเพิ่มไปยัง {file} โดยระบบ",
- "You added system tag %2$s to %1$s" : "คุณได้เพิ่มแท็กระบบ %2$sไปยัง %1$s",
- "You added system tag {systemtag} to {file}" : "คุณได้เพิ่มแท็กระบบ {systemtag} ไปยัง {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s ได้เพิ่มแท็กระบบ %3$s ไปยัง %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} ได้เพิ่มแท็กระบบ {systemtag} ไปยัง {file}",
- "System tag %2$s was removed from %1$s by the system" : "แท็กระบบ %2$s ถูกเอาออกจาก %1$s โดยระบบ",
- "System tag {systemtag} was removed from {file} by the system" : "แท็กระบบ {systemtag} ถูกเอาออกจาก {file} โดยระบบ",
- "You removed system tag %2$s from %1$s" : "คุณได้เอาแท็กระบบ %2$sออกจาก %1$s",
- "You removed system tag {systemtag} from {file}" : "คุณได้เอาแท็กระบบ {systemtag} ออกจาก {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s ได้เอาแท็กระบบ %3$s ออกจาก %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} ได้เอาแท็กระบบ {systemtag} ออกจาก {file}",
- "%s (restricted)" : "%s (ถูกจำกัด)",
- "%s (invisible)" : "%s (ไม่แสดงสถานะ)",
- "<strong>System tags</strong> for a file have been modified" : "<strong>แท็กระบบ</strong> สำหรับไฟล์ที่ได้รับการแก้ไข",
- "Tags" : "แท็ก",
- "Collaborative tags" : "แท็กแบบทำงานร่วมกัน",
- "Create" : "สร้าง",
- "Update" : "อัปเดต",
- "Delete" : "ลบ",
- "Reset" : "ตั้งค่าใหม่",
- "Public" : "สาธารณะ",
- "Restricted" : "ถูกจำกัด",
- "Invisible" : "มองไม่เห็น",
- "Cancel" : "ยกเลิก",
- "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "ผู้ใช้ทุกคนสามารถใช้แท็กแบบทำงานร่วมกันได้ แท็กที่ถูกจำกัดสามารถมองเห็นได้โดยผู้ใช้ แต่ผู้ใช้ไม่สามารถจัดสรรได้ แท็กที่มองไม่เห็นใช้สำหรับภายใน เนื่องจากผู้ใช้ไม่สามารถเห็นหรือจัดสรรแท็กเหล่านั้น",
- "No tags found" : "ไม่พบแท็ก"
-},"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
index 601490cb965..31075e67578 100644
--- a/apps/systemtags/l10n/tr.js
+++ b/apps/systemtags/l10n/tr.js
@@ -44,7 +44,7 @@ OC.L10N.register(
"tagged %s" : "%s etiketli",
"Collaborative tags" : "İş birlikli etiketler",
"Collaborative tagging functionality which shares tags among people." : "Etiketlerin kişiler arasında paylaşılabilmesini sağlayan iş birlikli etiketleme özelliği.",
- "Collaborative tagging functionality which shares tags among people. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "İş birlikli etiketler özelliği etiketlerin kişiler arasında paylaşılabilmesini sağlar. Takımlar için harikadır.\n\t(Birden çok kuruluşun olduğu bir kurulumda etiketler zaten paylaşıldığı için bu uygulamanın devre dışı bırakılması önerilir).",
+ "Collaborative tagging functionality which shares tags among people. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "İş birlikli etiketler özelliği etiketlerin kişiler arasında paylaşılabilmesini sağlar. Takımlar için harikadır.\n\t(Birden çok kuruluşun olduğu bir kurulumda etiketler zaten paylaşıldığı için bu uygulamanın kullanımdan kaldırılması önerilir).",
"Public" : "Herkese açık",
"Restricted" : "Kısıtlanmış",
"Invisible" : "Gizli",
@@ -96,7 +96,7 @@ OC.L10N.register(
"System tag creation is now restricted to administrators" : "Sistem etiketlerini yalnızca yöneticiler oluşturabilir",
"System tag creation is now allowed for everybody" : "Sistem etiketlerini tüm kullanıcılar oluşturabilir",
"System tag management" : "Sistem etiket yönetimi",
- "If enabled, only administrators can create and edit tags. Accounts can still assign and remove them from files." : "Bu seçenek etkinse, etiketleri yalnızca yöneticiler ekleyebilir ve düzenleyebilir. Kullanıcı hesapları yalnızca dosyalara atayabilir ve kaldırabilir.",
+ "If enabled, only administrators can create and edit tags. Accounts can still assign and remove them from files." : "Açıksa, etiketleri yalnızca yöneticiler ekleyebilir ve düzenleyebilir. Kullanıcı hesapları etiketleri yalnızca dosyalara atayabilir ve kaldırabilir.",
"Restrict tag creation and editing to administrators" : "Etiket ekleme ve düzenleme yöneticilerle sınırlansın",
"Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "İş birlikli etiketleri tüm kullanıcılar kullanabilir. Kısıtlanmış etiketleri kullanıcılar görebilir ancak atayamaz. Görünmeyen etiketler iç kullanım içindir ve kullanıcılar tarafından görülüp ve atanamaz.",
"Assigned collaborative tags" : "Atanmış iş birlikli etiketler",
diff --git a/apps/systemtags/l10n/tr.json b/apps/systemtags/l10n/tr.json
index 7e395da8dc5..d95835e0175 100644
--- a/apps/systemtags/l10n/tr.json
+++ b/apps/systemtags/l10n/tr.json
@@ -42,7 +42,7 @@
"tagged %s" : "%s etiketli",
"Collaborative tags" : "İş birlikli etiketler",
"Collaborative tagging functionality which shares tags among people." : "Etiketlerin kişiler arasında paylaşılabilmesini sağlayan iş birlikli etiketleme özelliği.",
- "Collaborative tagging functionality which shares tags among people. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "İş birlikli etiketler özelliği etiketlerin kişiler arasında paylaşılabilmesini sağlar. Takımlar için harikadır.\n\t(Birden çok kuruluşun olduğu bir kurulumda etiketler zaten paylaşıldığı için bu uygulamanın devre dışı bırakılması önerilir).",
+ "Collaborative tagging functionality which shares tags among people. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "İş birlikli etiketler özelliği etiketlerin kişiler arasında paylaşılabilmesini sağlar. Takımlar için harikadır.\n\t(Birden çok kuruluşun olduğu bir kurulumda etiketler zaten paylaşıldığı için bu uygulamanın kullanımdan kaldırılması önerilir).",
"Public" : "Herkese açık",
"Restricted" : "Kısıtlanmış",
"Invisible" : "Gizli",
@@ -94,7 +94,7 @@
"System tag creation is now restricted to administrators" : "Sistem etiketlerini yalnızca yöneticiler oluşturabilir",
"System tag creation is now allowed for everybody" : "Sistem etiketlerini tüm kullanıcılar oluşturabilir",
"System tag management" : "Sistem etiket yönetimi",
- "If enabled, only administrators can create and edit tags. Accounts can still assign and remove them from files." : "Bu seçenek etkinse, etiketleri yalnızca yöneticiler ekleyebilir ve düzenleyebilir. Kullanıcı hesapları yalnızca dosyalara atayabilir ve kaldırabilir.",
+ "If enabled, only administrators can create and edit tags. Accounts can still assign and remove them from files." : "Açıksa, etiketleri yalnızca yöneticiler ekleyebilir ve düzenleyebilir. Kullanıcı hesapları etiketleri yalnızca dosyalara atayabilir ve kaldırabilir.",
"Restrict tag creation and editing to administrators" : "Etiket ekleme ve düzenleme yöneticilerle sınırlansın",
"Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "İş birlikli etiketleri tüm kullanıcılar kullanabilir. Kısıtlanmış etiketleri kullanıcılar görebilir ancak atayamaz. Görünmeyen etiketler iç kullanım içindir ve kullanıcılar tarafından görülüp ve atanamaz.",
"Assigned collaborative tags" : "Atanmış iş birlikli etiketler",
diff --git a/apps/systemtags/l10n/ur_PK.js b/apps/systemtags/l10n/ur_PK.js
deleted file mode 100644
index 7635cc73899..00000000000
--- a/apps/systemtags/l10n/ur_PK.js
+++ /dev/null
@@ -1,6 +0,0 @@
-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
deleted file mode 100644
index 92dc68bea5d..00000000000
--- a/apps/systemtags/l10n/ur_PK.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "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
deleted file mode 100644
index db9ae152a99..00000000000
--- a/apps/systemtags/l10n/vi.js
+++ /dev/null
@@ -1,59 +0,0 @@
-OC.L10N.register(
- "systemtags",
- {
- "System tag %1$s added by the system" : "Thẻ hệ thống %1$s được hệ thống thêm vào",
- "Added system tag {systemtag}" : "Nhãn hệ thống được thêm vào {systemtag}",
- "Added system tag %1$s" : "Đã thêm nhãn hệ thống %1$s",
- "%1$s added system tag %2$s" : "%1$s đã thêm nhãn hệ thống %2$s",
- "{actor} added system tag {systemtag}" : "{actor} đã thêm nhãn hệ thống {systemtag}",
- "System tag %1$s removed by the system" : "Thẻ hệ thống %1$s được hệ thống xóa đi",
- "Removed system tag {systemtag}" : "Đã xóa nhãn hệ thống {systemtag}",
- "Removed system tag %1$s" : "Đã xóa nhãn hệ thống %1$s",
- "%1$s removed system tag %2$s" : "%1$s đã xóa nhãn hệ thống %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} đã xóa nhãn {systemtag}",
- "You created system tag %1$s" : "Bạn đã tạo nhãn %1$s",
- "You created system tag {systemtag}" : "Bạn đã tạo nhãn {systemtag}",
- "%1$s created system tag %2$s" : "%1$s đã tạo nhãn %2$s",
- "{actor} created system tag {systemtag}" : "{actor} đã tạo nhãn {systemtag}",
- "You deleted system tag %1$s" : "Bạn đã xóa nhãn %1$s",
- "You deleted system tag {systemtag}" : "Bạn đã xóa nhãn {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s đã xóa nhãn %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} đã xóa nhãn {systemtag}",
- "You updated system tag %2$s to %1$s" : "Bạn đã cập nhật nhãn %2$s to %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Bạn đã cập nhật nhãn {oldsystemtag} thành {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s đã cập nhật nhãn %3$s thành%2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} đã cập nhật nhãn {oldsystemtag} thành {newsystemtag}",
- "System tag %2$s was added to %1$s by the system" : "Thẻ hệ thống %2$s được hệ thống thêm vào %1$s",
- "System tag {systemtag} was added to {file} by the system" : "Thẻ hệ thống {systemtag} được hệ thống thêm vào {file}",
- "You added system tag %2$s to %1$s" : "Bạn đã dán nhãn %2$s vào %1$s",
- "You added system tag {systemtag} to {file}" : "Bạn đã dán nhãn {systemtag} vào {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s đã dán nhãn %3$s vào %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} đã dán nhãn {systemtag} vào {file}",
- "System tag %2$s was removed from %1$s by the system" : "Thẻ hệ thống %2$s được hệ thống xóa khỏi %1$s",
- "System tag {systemtag} was removed from {file} by the system" : "Thẻ hệ thống {systemtag} được hệ thống xóa khỏi {file}",
- "You removed system tag %2$s from %1$s" : "Bạn đã xóa nhãn %2$s khỏi %1$s",
- "You removed system tag {systemtag} from {file}" : "Bạn đã xóa nhãn {systemtag} khỏi {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s đã xóa nhãn %3$s khỏi %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} đã xóa nhãn {systemtag} khỏi {file}",
- "%s (restricted)" : "%s (bị hạn chế)",
- "%s (invisible)" : "%s (vô hình)",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Nhãn</strong> cho một tập tin đã được sửa đổi",
- "Files" : "Tệp tin",
- "Tags" : "Nhãn",
- "Collaborative tags" : "Thẻ cộng tác",
- "Public" : "Công khai",
- "Restricted" : "Bị giới hạn",
- "Invisible" : "Vô hình",
- "Create" : "Tạo",
- "Update" : "Cập nhật",
- "Delete" : "Xóa bỏ",
- "Reset" : "Đặt lại",
- "Loading …" : "Đang tải …",
- "Manage tags" : "Quản lý nhãn",
- "Cancel" : "Hủy bỏ",
- "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "Các thẻ hợp tác là có sẵn cho tất cả người dùng. Các thẻ giới hạn có thể được người dùng nhìn thấy nhưng không thể được họ phân công. Các thẻ vô hình là dành cho việc sử dụng nội bộ, vì những người dùng không thể thấy hay phân công chúng.",
- "Open in Files" : "Mở trong Tệp",
- "No tags found" : "Không tìm thấy nhãn",
- "Tags you have created will show up here." : "Thẻ bạn đã tạo sẽ hiển thị ở đây"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/vi.json b/apps/systemtags/l10n/vi.json
deleted file mode 100644
index a026755f73d..00000000000
--- a/apps/systemtags/l10n/vi.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{ "translations": {
- "System tag %1$s added by the system" : "Thẻ hệ thống %1$s được hệ thống thêm vào",
- "Added system tag {systemtag}" : "Nhãn hệ thống được thêm vào {systemtag}",
- "Added system tag %1$s" : "Đã thêm nhãn hệ thống %1$s",
- "%1$s added system tag %2$s" : "%1$s đã thêm nhãn hệ thống %2$s",
- "{actor} added system tag {systemtag}" : "{actor} đã thêm nhãn hệ thống {systemtag}",
- "System tag %1$s removed by the system" : "Thẻ hệ thống %1$s được hệ thống xóa đi",
- "Removed system tag {systemtag}" : "Đã xóa nhãn hệ thống {systemtag}",
- "Removed system tag %1$s" : "Đã xóa nhãn hệ thống %1$s",
- "%1$s removed system tag %2$s" : "%1$s đã xóa nhãn hệ thống %2$s",
- "{actor} removed system tag {systemtag}" : "{actor} đã xóa nhãn {systemtag}",
- "You created system tag %1$s" : "Bạn đã tạo nhãn %1$s",
- "You created system tag {systemtag}" : "Bạn đã tạo nhãn {systemtag}",
- "%1$s created system tag %2$s" : "%1$s đã tạo nhãn %2$s",
- "{actor} created system tag {systemtag}" : "{actor} đã tạo nhãn {systemtag}",
- "You deleted system tag %1$s" : "Bạn đã xóa nhãn %1$s",
- "You deleted system tag {systemtag}" : "Bạn đã xóa nhãn {systemtag}",
- "%1$s deleted system tag %2$s" : "%1$s đã xóa nhãn %2$s",
- "{actor} deleted system tag {systemtag}" : "{actor} đã xóa nhãn {systemtag}",
- "You updated system tag %2$s to %1$s" : "Bạn đã cập nhật nhãn %2$s to %1$s",
- "You updated system tag {oldsystemtag} to {newsystemtag}" : "Bạn đã cập nhật nhãn {oldsystemtag} thành {newsystemtag}",
- "%1$s updated system tag %3$s to %2$s" : "%1$s đã cập nhật nhãn %3$s thành%2$s",
- "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} đã cập nhật nhãn {oldsystemtag} thành {newsystemtag}",
- "System tag %2$s was added to %1$s by the system" : "Thẻ hệ thống %2$s được hệ thống thêm vào %1$s",
- "System tag {systemtag} was added to {file} by the system" : "Thẻ hệ thống {systemtag} được hệ thống thêm vào {file}",
- "You added system tag %2$s to %1$s" : "Bạn đã dán nhãn %2$s vào %1$s",
- "You added system tag {systemtag} to {file}" : "Bạn đã dán nhãn {systemtag} vào {file}",
- "%1$s added system tag %3$s to %2$s" : "%1$s đã dán nhãn %3$s vào %2$s",
- "{actor} added system tag {systemtag} to {file}" : "{actor} đã dán nhãn {systemtag} vào {file}",
- "System tag %2$s was removed from %1$s by the system" : "Thẻ hệ thống %2$s được hệ thống xóa khỏi %1$s",
- "System tag {systemtag} was removed from {file} by the system" : "Thẻ hệ thống {systemtag} được hệ thống xóa khỏi {file}",
- "You removed system tag %2$s from %1$s" : "Bạn đã xóa nhãn %2$s khỏi %1$s",
- "You removed system tag {systemtag} from {file}" : "Bạn đã xóa nhãn {systemtag} khỏi {file}",
- "%1$s removed system tag %3$s from %2$s" : "%1$s đã xóa nhãn %3$s khỏi %2$s",
- "{actor} removed system tag {systemtag} from {file}" : "{actor} đã xóa nhãn {systemtag} khỏi {file}",
- "%s (restricted)" : "%s (bị hạn chế)",
- "%s (invisible)" : "%s (vô hình)",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Nhãn</strong> cho một tập tin đã được sửa đổi",
- "Files" : "Tệp tin",
- "Tags" : "Nhãn",
- "Collaborative tags" : "Thẻ cộng tác",
- "Public" : "Công khai",
- "Restricted" : "Bị giới hạn",
- "Invisible" : "Vô hình",
- "Create" : "Tạo",
- "Update" : "Cập nhật",
- "Delete" : "Xóa bỏ",
- "Reset" : "Đặt lại",
- "Loading …" : "Đang tải …",
- "Manage tags" : "Quản lý nhãn",
- "Cancel" : "Hủy bỏ",
- "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "Các thẻ hợp tác là có sẵn cho tất cả người dùng. Các thẻ giới hạn có thể được người dùng nhìn thấy nhưng không thể được họ phân công. Các thẻ vô hình là dành cho việc sử dụng nội bộ, vì những người dùng không thể thấy hay phân công chúng.",
- "Open in Files" : "Mở trong Tệp",
- "No tags found" : "Không tìm thấy nhãn",
- "Tags you have created will show up here." : "Thẻ bạn đã tạo sẽ hiển thị ở đây"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/af.js b/apps/theming/l10n/af.js
deleted file mode 100644
index 355e5168651..00000000000
--- a/apps/theming/l10n/af.js
+++ /dev/null
@@ -1,48 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Laai voorskou…",
- "Admin" : "Admin",
- "Saved" : "Bewaar",
- "a safe home for all your data" : "’n veilige tuiste vir al u data",
- "Name cannot be empty" : "Naam kan nie leeg wees nie",
- "The given name is too long" : "Die gegewe naam is te lank",
- "The given web address is too long" : "Die gegewe webadres is te lank",
- "The given legal notice address is too long" : "Die gegewe regskennisgewingsadres is te lank",
- "The given privacy policy address is too long" : "Die gegewe privaatheidsbeleidadres is te lank",
- "The given slogan is too long" : "Gegewe slagspreuk is te lank",
- "The given color is invalid" : "Die gegewe kleur is ongeldig",
- "The file was uploaded" : "Die lêer is opgelaai",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Die opgelaaide lêer oorskry die upload_max_filesize riglyn in php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die opgelaaide lêer oorskry die MAX_FILE_SIZE riglyn wat in die HTML vorm gespesifiseer is",
- "The file was only partially uploaded" : "Die lêer is slegs gedeeltelik op gelaai",
- "No file was uploaded" : "Geen lêer is opgelaai",
- "Missing a temporary folder" : "Ontbrekende tydelike gids",
- "A PHP extension stopped the file upload" : "’n PHP-uitbreiding het die oplaai gestaak",
- "No file uploaded" : "Geen lêer opgelaai",
- "Dark theme" : "Donker Tema",
- "Dyslexia font" : "Disleksie-font",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic is ’n gratis lettertipe/font wat ontwerp is om sommige van die algemene leesfoute wat deur disleksie veroorsaak word, te versag.",
- "High contrast mode" : "Hoëkontrasmodus",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "’n Hoëkontrasmodus om u navigasie te vergemaklik. Visuele kwaliteit sal verminder word, maar die duidelikheid sal verbeter.",
- "Legal notice" : "Regskennisgewing",
- "Privacy policy" : "Privaatheidsbeleid",
- "Adjust the Nextcloud theme" : "Pas die Nextcloud-tema aan",
- "Keyboard shortcuts" : "Sneltoetse",
- "Background" : "Agtergrond",
- "Open documentation" : "Open dokumentasie",
- "Name" : "Naam",
- "Reset to default" : "Herstel na verstek",
- "Web link" : "Webskakel",
- "Slogan" : "Slagspreuk",
- "Color" : "Kleur",
- "Logo" : "Logo",
- "Upload new logo" : "Laai nuwe logo op",
- "Login image" : "Aantekenbeeld",
- "Upload new login background" : "Laai nuwe aantekenagtergrond op",
- "Remove background image" : "Verwyder agtergrondbeeld",
- "Advanced options" : "Gevorderde opsies",
- "Legal notice link" : "Regskennisgewingskakel",
- "Privacy policy link" : "Privaatheidsbeleidskakel"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/af.json b/apps/theming/l10n/af.json
deleted file mode 100644
index 5d4563d2968..00000000000
--- a/apps/theming/l10n/af.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Laai voorskou…",
- "Admin" : "Admin",
- "Saved" : "Bewaar",
- "a safe home for all your data" : "’n veilige tuiste vir al u data",
- "Name cannot be empty" : "Naam kan nie leeg wees nie",
- "The given name is too long" : "Die gegewe naam is te lank",
- "The given web address is too long" : "Die gegewe webadres is te lank",
- "The given legal notice address is too long" : "Die gegewe regskennisgewingsadres is te lank",
- "The given privacy policy address is too long" : "Die gegewe privaatheidsbeleidadres is te lank",
- "The given slogan is too long" : "Gegewe slagspreuk is te lank",
- "The given color is invalid" : "Die gegewe kleur is ongeldig",
- "The file was uploaded" : "Die lêer is opgelaai",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Die opgelaaide lêer oorskry die upload_max_filesize riglyn in php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die opgelaaide lêer oorskry die MAX_FILE_SIZE riglyn wat in die HTML vorm gespesifiseer is",
- "The file was only partially uploaded" : "Die lêer is slegs gedeeltelik op gelaai",
- "No file was uploaded" : "Geen lêer is opgelaai",
- "Missing a temporary folder" : "Ontbrekende tydelike gids",
- "A PHP extension stopped the file upload" : "’n PHP-uitbreiding het die oplaai gestaak",
- "No file uploaded" : "Geen lêer opgelaai",
- "Dark theme" : "Donker Tema",
- "Dyslexia font" : "Disleksie-font",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic is ’n gratis lettertipe/font wat ontwerp is om sommige van die algemene leesfoute wat deur disleksie veroorsaak word, te versag.",
- "High contrast mode" : "Hoëkontrasmodus",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "’n Hoëkontrasmodus om u navigasie te vergemaklik. Visuele kwaliteit sal verminder word, maar die duidelikheid sal verbeter.",
- "Legal notice" : "Regskennisgewing",
- "Privacy policy" : "Privaatheidsbeleid",
- "Adjust the Nextcloud theme" : "Pas die Nextcloud-tema aan",
- "Keyboard shortcuts" : "Sneltoetse",
- "Background" : "Agtergrond",
- "Open documentation" : "Open dokumentasie",
- "Name" : "Naam",
- "Reset to default" : "Herstel na verstek",
- "Web link" : "Webskakel",
- "Slogan" : "Slagspreuk",
- "Color" : "Kleur",
- "Logo" : "Logo",
- "Upload new logo" : "Laai nuwe logo op",
- "Login image" : "Aantekenbeeld",
- "Upload new login background" : "Laai nuwe aantekenagtergrond op",
- "Remove background image" : "Verwyder agtergrondbeeld",
- "Advanced options" : "Gevorderde opsies",
- "Legal notice link" : "Regskennisgewingskakel",
- "Privacy policy link" : "Privaatheidsbeleidskakel"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/eo.js b/apps/theming/l10n/eo.js
deleted file mode 100644
index 8da0c17f161..00000000000
--- a/apps/theming/l10n/eo.js
+++ /dev/null
@@ -1,64 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "The given name is too long" : "Tiu nomo tro longas",
- "The given web address is too long" : "Tiu TTT-adreso tro longas",
- "The given web address is not a valid URL" : "Tiu TTT-adreso ne estas valida retadreso",
- "The given legal notice address is too long" : "Tiu adreso pri leĝa regularo tro longas",
- "The given legal notice address is not a valid URL" : "La adreso al leĝa regularo ne estas valida retadreso",
- "The given privacy policy address is too long" : "Tiu adreso pri privateca regularo tro longas",
- "The given privacy policy address is not a valid URL" : "La adreso al privateca regularo ne estas valida retadreso",
- "The given slogan is too long" : "Tiu frapfrazo tro longas",
- "The given color is invalid" : "Tiu koloro ne validas",
- "Saved" : "Konservita",
- "The file was uploaded" : "La dosiero alŝutiĝis.",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "La dosiero alŝutita superas la regulon „upload_max_filesize“ el „php.ini“",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "La dosiero alŝutita superas la regulon MAX_FILE_SIZE, kiu estas difinita en la HTML-formularo",
- "The file was only partially uploaded" : "La dosiero alŝutiĝis nur parte",
- "No file was uploaded" : "Neniu dosiero alŝutiĝis.",
- "Missing a temporary folder" : "Mankas provizora dosierujo",
- "Could not write file to disk" : "Ne eblis skribi dosieron sur diskon",
- "A PHP extension stopped the file upload" : "PHP-modulo haltigis la dosieralŝuton",
- "No file uploaded" : "Neniu dosiero alŝutiĝis",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Vi jam uzas propran etoson. Agordoj de la aplikaĵo „Etosoj“ povus esti anstataŭigitaj de ĝi.",
- "Theming" : "Etosoj",
- "Dark theme" : "Malhela etoso",
- "Enable dark theme" : "Ŝaltu malhelan etoson",
- "Dyslexia font" : "Tiparo por limigi vortblindecon",
- "Enable dyslexia font" : "Ŝaltu disleksian tiparon",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic estas tiparo kreita por malpliigi legajn erarojn kaŭzitajn de vortblindeco (medicine „disleksio“).",
- "High contrast mode" : "Altkontrasta reĝimo",
- "Enable high contrast mode" : "Ŝaltu altkontrastan reĝimon",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Altkontrasta reĝimo, kiu faciligas vian navigadon. Vida kvalito malpliiĝos, sed klareco pliiĝos.",
- "Legal notice" : "Leĝa regularo",
- "Privacy policy" : "Privateca regularo",
- "Adjust the Nextcloud theme" : "Modifi la Nextcloud-etoson",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Etosoj ebligas facilan ŝanĝon en la fasado de via servilo kaj de subtenataj klientoj. Tion vidos ĉiuj uzantoj.",
- "Advanced options" : "Detalaj agordoj",
- "Name" : "Nomo",
- "Web link" : "Reta ligilo",
- "a safe home for all your data" : "sekura hejmo por ĉiuj viaj datumoj",
- "Slogan" : "Frapfrazo",
- "Color" : "Koloro",
- "Logo" : "Emblemo",
- "Upload new logo" : "Alŝuti novan emblemon",
- "Legal notice link" : "Ligilo al leĝa regularo",
- "Privacy policy link" : "Ligilo al privateca regularo",
- "Header logo" : "Paĝokapa emblemo",
- "Upload new header logo" : "Alŝuti novan paĝokapan emblemon",
- "Favicon" : "Retpaĝsimbolo",
- "Upload new favicon" : "Alŝuti novan retpaĝsimbolon",
- "Keyboard shortcuts" : "Fulmoklavoj",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universala aliro estas tre grava por ni. Ni sekvas la retejo-standardojn kaj kontrolas, ĉu ĉio estas uzebla eĉ sen muso, kaj per helpa programaro, kiel ekzemple ekranlegiloj. Ni celas esti kongruaj kun la {guidelines}Reteja alireblecaj reguloj{linkend} 2.1 je la AA nivelo, kun alta kontrasta temo eĉ ĉe la AAA nivelo.",
- "Reset to default" : "Restarigi al defaŭltaj agordoj",
- "Upload" : "Alŝuti",
- "Remove background image" : "Forigi fonan bildon",
- "Loading preview…" : "Ŝargo de antaŭrigardo...",
- "Admin" : "Administranto",
- "Name cannot be empty" : "Nomo ne povas mapleni",
- "Open documentation" : "Malfermi la dokumentaron",
- "https://…" : "https://…",
- "Upload new login background" : "Alŝuti novan ensalutan fonan bildon",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instalu la PHP-modulon „Imagemagick“ kun SVG-subteno por aŭtomate krei retpaĝsimbolon, kiu devenos de la alŝutita emblemo kaj koloro."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/eo.json b/apps/theming/l10n/eo.json
deleted file mode 100644
index 96eea1d2cf6..00000000000
--- a/apps/theming/l10n/eo.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{ "translations": {
- "The given name is too long" : "Tiu nomo tro longas",
- "The given web address is too long" : "Tiu TTT-adreso tro longas",
- "The given web address is not a valid URL" : "Tiu TTT-adreso ne estas valida retadreso",
- "The given legal notice address is too long" : "Tiu adreso pri leĝa regularo tro longas",
- "The given legal notice address is not a valid URL" : "La adreso al leĝa regularo ne estas valida retadreso",
- "The given privacy policy address is too long" : "Tiu adreso pri privateca regularo tro longas",
- "The given privacy policy address is not a valid URL" : "La adreso al privateca regularo ne estas valida retadreso",
- "The given slogan is too long" : "Tiu frapfrazo tro longas",
- "The given color is invalid" : "Tiu koloro ne validas",
- "Saved" : "Konservita",
- "The file was uploaded" : "La dosiero alŝutiĝis.",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "La dosiero alŝutita superas la regulon „upload_max_filesize“ el „php.ini“",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "La dosiero alŝutita superas la regulon MAX_FILE_SIZE, kiu estas difinita en la HTML-formularo",
- "The file was only partially uploaded" : "La dosiero alŝutiĝis nur parte",
- "No file was uploaded" : "Neniu dosiero alŝutiĝis.",
- "Missing a temporary folder" : "Mankas provizora dosierujo",
- "Could not write file to disk" : "Ne eblis skribi dosieron sur diskon",
- "A PHP extension stopped the file upload" : "PHP-modulo haltigis la dosieralŝuton",
- "No file uploaded" : "Neniu dosiero alŝutiĝis",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Vi jam uzas propran etoson. Agordoj de la aplikaĵo „Etosoj“ povus esti anstataŭigitaj de ĝi.",
- "Theming" : "Etosoj",
- "Dark theme" : "Malhela etoso",
- "Enable dark theme" : "Ŝaltu malhelan etoson",
- "Dyslexia font" : "Tiparo por limigi vortblindecon",
- "Enable dyslexia font" : "Ŝaltu disleksian tiparon",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic estas tiparo kreita por malpliigi legajn erarojn kaŭzitajn de vortblindeco (medicine „disleksio“).",
- "High contrast mode" : "Altkontrasta reĝimo",
- "Enable high contrast mode" : "Ŝaltu altkontrastan reĝimon",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Altkontrasta reĝimo, kiu faciligas vian navigadon. Vida kvalito malpliiĝos, sed klareco pliiĝos.",
- "Legal notice" : "Leĝa regularo",
- "Privacy policy" : "Privateca regularo",
- "Adjust the Nextcloud theme" : "Modifi la Nextcloud-etoson",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Etosoj ebligas facilan ŝanĝon en la fasado de via servilo kaj de subtenataj klientoj. Tion vidos ĉiuj uzantoj.",
- "Advanced options" : "Detalaj agordoj",
- "Name" : "Nomo",
- "Web link" : "Reta ligilo",
- "a safe home for all your data" : "sekura hejmo por ĉiuj viaj datumoj",
- "Slogan" : "Frapfrazo",
- "Color" : "Koloro",
- "Logo" : "Emblemo",
- "Upload new logo" : "Alŝuti novan emblemon",
- "Legal notice link" : "Ligilo al leĝa regularo",
- "Privacy policy link" : "Ligilo al privateca regularo",
- "Header logo" : "Paĝokapa emblemo",
- "Upload new header logo" : "Alŝuti novan paĝokapan emblemon",
- "Favicon" : "Retpaĝsimbolo",
- "Upload new favicon" : "Alŝuti novan retpaĝsimbolon",
- "Keyboard shortcuts" : "Fulmoklavoj",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universala aliro estas tre grava por ni. Ni sekvas la retejo-standardojn kaj kontrolas, ĉu ĉio estas uzebla eĉ sen muso, kaj per helpa programaro, kiel ekzemple ekranlegiloj. Ni celas esti kongruaj kun la {guidelines}Reteja alireblecaj reguloj{linkend} 2.1 je la AA nivelo, kun alta kontrasta temo eĉ ĉe la AAA nivelo.",
- "Reset to default" : "Restarigi al defaŭltaj agordoj",
- "Upload" : "Alŝuti",
- "Remove background image" : "Forigi fonan bildon",
- "Loading preview…" : "Ŝargo de antaŭrigardo...",
- "Admin" : "Administranto",
- "Name cannot be empty" : "Nomo ne povas mapleni",
- "Open documentation" : "Malfermi la dokumentaron",
- "https://…" : "https://…",
- "Upload new login background" : "Alŝuti novan ensalutan fonan bildon",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instalu la PHP-modulon „Imagemagick“ kun SVG-subteno por aŭtomate krei retpaĝsimbolon, kiu devenos de la alŝutita emblemo kaj koloro."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_419.js b/apps/theming/l10n/es_419.js
deleted file mode 100644
index 7b9091a2905..00000000000
--- a/apps/theming/l10n/es_419.js
+++ /dev/null
@@ -1,36 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Legal notice link" : "Enlace de aviso legal",
- "Privacy policy link" : "Enlace de política de seguridad",
- "Header logo" : "Logo del encabezado",
- "Upload new header logo" : "Subir nuevo logo de encabezado",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/es_419.json b/apps/theming/l10n/es_419.json
deleted file mode 100644
index f70248ecffe..00000000000
--- a/apps/theming/l10n/es_419.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Legal notice link" : "Enlace de aviso legal",
- "Privacy policy link" : "Enlace de política de seguridad",
- "Header logo" : "Logo del encabezado",
- "Upload new header logo" : "Subir nuevo logo de encabezado",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_AR.js b/apps/theming/l10n/es_AR.js
deleted file mode 100644
index a6b86bef5e7..00000000000
--- a/apps/theming/l10n/es_AR.js
+++ /dev/null
@@ -1,41 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Cargando vista previa...",
- "Admin" : "Administración",
- "Saved" : "Guardado",
- "a safe home for all your data" : "un lugar seguro para todos sus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo subido sobrepasa el valor MAX_FILE_SIZE especificada en el formulario HTML",
- "No file was uploaded" : "No se subió ningún archivo ",
- "Missing a temporary folder" : "Falta un directorio temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Dark theme" : "Tema oscuro",
- "Enable dark theme" : "Habilitar tema nocturno",
- "Dyslexia font" : "Dislexia fuente",
- "Enable dyslexia font" : "Habilitar la fuente para personas con dislexia",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra/fuente gratuita diseñada para mitigar algunos de los errores comunes de lectura causados ​​por la dislexia.",
- "High contrast mode" : "Modo alto contraste",
- "Enable high contrast mode" : "Habilitar modo de Contraste Alto",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un modo de alto contraste para facilitar su navegación. Se reducirá la calidad visual pero se aumentará la claridad.",
- "Privacy policy" : "Políticas de privacidad",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo se pueda usar también sin mouse y software de asistencia, como lectores de pantalla. Nuestro objetivo es cumplir con las {pautas} Accesibilidad al contenido web {linkend} 2.1 en el nivel AA, con el tema de alto contraste incluso en el nivel AAA.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si encuentra algún problema, no dude en informarlo en {issuetracker}nuestro rastreador de problemas {linkend}. Y si desea participar, ¡únase a {designteam}a nuestro equipo de diseño {linkend}!",
- "Open documentation" : "Abrir documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve su instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/theming/l10n/es_AR.json b/apps/theming/l10n/es_AR.json
deleted file mode 100644
index 3924f562e98..00000000000
--- a/apps/theming/l10n/es_AR.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Cargando vista previa...",
- "Admin" : "Administración",
- "Saved" : "Guardado",
- "a safe home for all your data" : "un lugar seguro para todos sus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo subido sobrepasa el valor MAX_FILE_SIZE especificada en el formulario HTML",
- "No file was uploaded" : "No se subió ningún archivo ",
- "Missing a temporary folder" : "Falta un directorio temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Dark theme" : "Tema oscuro",
- "Enable dark theme" : "Habilitar tema nocturno",
- "Dyslexia font" : "Dislexia fuente",
- "Enable dyslexia font" : "Habilitar la fuente para personas con dislexia",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra/fuente gratuita diseñada para mitigar algunos de los errores comunes de lectura causados ​​por la dislexia.",
- "High contrast mode" : "Modo alto contraste",
- "Enable high contrast mode" : "Habilitar modo de Contraste Alto",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un modo de alto contraste para facilitar su navegación. Se reducirá la calidad visual pero se aumentará la claridad.",
- "Privacy policy" : "Políticas de privacidad",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo se pueda usar también sin mouse y software de asistencia, como lectores de pantalla. Nuestro objetivo es cumplir con las {pautas} Accesibilidad al contenido web {linkend} 2.1 en el nivel AA, con el tema de alto contraste incluso en el nivel AAA.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si encuentra algún problema, no dude en informarlo en {issuetracker}nuestro rastreador de problemas {linkend}. Y si desea participar, ¡únase a {designteam}a nuestro equipo de diseño {linkend}!",
- "Open documentation" : "Abrir documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve su instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_CL.js b/apps/theming/l10n/es_CL.js
deleted file mode 100644
index 4deb05cebcf..00000000000
--- a/apps/theming/l10n/es_CL.js
+++ /dev/null
@@ -1,56 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given legal notice address is too long" : "La dirección del aviso legal es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "Saved" : "Guardado",
- "The file was uploaded" : "El archivo fue cargado",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "The file was only partially uploaded" : "El archivo sólo fue cargado parcialmente",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "Could not write file to disk" : "No fue posible escribir a disco",
- "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
- "No file uploaded" : "No hay archivos cargados",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ya te encuentras usando un tema personalizado. La aplicación de Temas puede estar siendo sobreescrita por él.",
- "Theming" : "Tematizar",
- "Dark theme" : "Tema Oscuro",
- "Enable dark theme" : "Habilitar el tema oscuro",
- "Dyslexia font" : "Fuente para las personas con dislexia",
- "Enable dyslexia font" : "Habilita la fuente para personas con dislexia",
- "High contrast mode" : "Modo de alto contraste",
- "Enable high contrast mode" : "Habilitar modo de contraste alto",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Modo de alto contraste facilita tu navegación. La calidad visual puede ser menor pero se incrementa la claridad.",
- "Legal notice" : "Aviso legal",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Advanced options" : "Opciones avanzadas",
- "Name" : "Nombre",
- "Web link" : "Enlace web",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Legal notice link" : "Enlace al aviso legal",
- "Header logo" : "Logo del encabezado",
- "Upload new header logo" : "Cargar un nuevo logotipo del encabezado",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Cargar un nuevo favicon",
- "Keyboard shortcuts" : "Atajos del teclado",
- "Reset to default" : "Restablecer al predeterminado",
- "Upload" : "Cargar",
- "Remove background image" : "Eliminar imagen de fondo",
- "Loading preview…" : "Cargando vista previa...",
- "Admin" : "Administración",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Open documentation" : "Abrir la documentación",
- "https://…" : "https://…",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/theming/l10n/es_CL.json b/apps/theming/l10n/es_CL.json
deleted file mode 100644
index 93bce319127..00000000000
--- a/apps/theming/l10n/es_CL.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{ "translations": {
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given legal notice address is too long" : "La dirección del aviso legal es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "Saved" : "Guardado",
- "The file was uploaded" : "El archivo fue cargado",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "The file was only partially uploaded" : "El archivo sólo fue cargado parcialmente",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "Could not write file to disk" : "No fue posible escribir a disco",
- "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
- "No file uploaded" : "No hay archivos cargados",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ya te encuentras usando un tema personalizado. La aplicación de Temas puede estar siendo sobreescrita por él.",
- "Theming" : "Tematizar",
- "Dark theme" : "Tema Oscuro",
- "Enable dark theme" : "Habilitar el tema oscuro",
- "Dyslexia font" : "Fuente para las personas con dislexia",
- "Enable dyslexia font" : "Habilita la fuente para personas con dislexia",
- "High contrast mode" : "Modo de alto contraste",
- "Enable high contrast mode" : "Habilitar modo de contraste alto",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Modo de alto contraste facilita tu navegación. La calidad visual puede ser menor pero se incrementa la claridad.",
- "Legal notice" : "Aviso legal",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Advanced options" : "Opciones avanzadas",
- "Name" : "Nombre",
- "Web link" : "Enlace web",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Legal notice link" : "Enlace al aviso legal",
- "Header logo" : "Logo del encabezado",
- "Upload new header logo" : "Cargar un nuevo logotipo del encabezado",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Cargar un nuevo favicon",
- "Keyboard shortcuts" : "Atajos del teclado",
- "Reset to default" : "Restablecer al predeterminado",
- "Upload" : "Cargar",
- "Remove background image" : "Eliminar imagen de fondo",
- "Loading preview…" : "Cargando vista previa...",
- "Admin" : "Administración",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Open documentation" : "Abrir la documentación",
- "https://…" : "https://…",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_CO.js b/apps/theming/l10n/es_CO.js
deleted file mode 100644
index aa5f15e2bc3..00000000000
--- a/apps/theming/l10n/es_CO.js
+++ /dev/null
@@ -1,57 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given legal notice address is too long" : "La dirección del aviso legal es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "Saved" : "Guardado",
- "The file was uploaded" : "El archivo fue cargado",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "The file was only partially uploaded" : "El archivo sólo fue cargado parcialmente",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "Could not write file to disk" : "No fue posible escribir a disco",
- "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
- "No file uploaded" : "No hay archivos cargados",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ya te encuentras usando un tema personalizado. La aplicación de Temas puede estar siendo sobreescrita por él.",
- "Theming" : "Tematizar",
- "Dark theme" : "Tema oscuro",
- "Enable dark theme" : "Habilitar tema oscuro",
- "Dyslexia font" : "Ayuda para disléxicos",
- "Enable dyslexia font" : "Habilitar ayuda para disléxicos",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDislexic es una herramienta libre diseñada para mitigar algunos de los errores más comunes causados por la dislexia.",
- "High contrast mode" : "Modo de alto contraste",
- "Enable high contrast mode" : "Habilitar alto contraste",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "El modo de alto contraste se usa para facilitar la navegación. Se reducirá la calidad visual pero aumentará la claridad.",
- "Legal notice" : "Aviso legal",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Advanced options" : "Opciones avanzadas",
- "Name" : "Nombre",
- "Web link" : "Enlace web",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Legal notice link" : "Enlace al aviso legal",
- "Header logo" : "Logo del encabezado",
- "Upload new header logo" : "Cargar un nuevo logotipo del encabezado",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Cargar un nuevo favicon",
- "Keyboard shortcuts" : "Atajos del teclado",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Acceso universal es muy importante para nosotros. Nosotros seguimos los estándares del internet y revisamos que todo este usable hasta sin ratón, y programas ayudantes como lectores de pantalla. Nosotros aspiramos de conformar con las {guidelines} Guías de Contenido Accesible del Web {linkend} 2.1 a nivel de AA y con un nivel de AAA con el tema de alto contraste. ",
- "Reset to default" : "Restablecer al predeterminado",
- "Upload" : "Cargar",
- "Remove background image" : "Eliminar imagen de fondo",
- "Loading preview…" : "Cargando vista previa...",
- "Admin" : "Administración",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Open documentation" : "Abrir la documentación",
- "https://…" : "https://…",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/theming/l10n/es_CO.json b/apps/theming/l10n/es_CO.json
deleted file mode 100644
index 6e79c75881c..00000000000
--- a/apps/theming/l10n/es_CO.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{ "translations": {
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given legal notice address is too long" : "La dirección del aviso legal es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "Saved" : "Guardado",
- "The file was uploaded" : "El archivo fue cargado",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "The file was only partially uploaded" : "El archivo sólo fue cargado parcialmente",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "Could not write file to disk" : "No fue posible escribir a disco",
- "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
- "No file uploaded" : "No hay archivos cargados",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ya te encuentras usando un tema personalizado. La aplicación de Temas puede estar siendo sobreescrita por él.",
- "Theming" : "Tematizar",
- "Dark theme" : "Tema oscuro",
- "Enable dark theme" : "Habilitar tema oscuro",
- "Dyslexia font" : "Ayuda para disléxicos",
- "Enable dyslexia font" : "Habilitar ayuda para disléxicos",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDislexic es una herramienta libre diseñada para mitigar algunos de los errores más comunes causados por la dislexia.",
- "High contrast mode" : "Modo de alto contraste",
- "Enable high contrast mode" : "Habilitar alto contraste",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "El modo de alto contraste se usa para facilitar la navegación. Se reducirá la calidad visual pero aumentará la claridad.",
- "Legal notice" : "Aviso legal",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Advanced options" : "Opciones avanzadas",
- "Name" : "Nombre",
- "Web link" : "Enlace web",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Legal notice link" : "Enlace al aviso legal",
- "Header logo" : "Logo del encabezado",
- "Upload new header logo" : "Cargar un nuevo logotipo del encabezado",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Cargar un nuevo favicon",
- "Keyboard shortcuts" : "Atajos del teclado",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Acceso universal es muy importante para nosotros. Nosotros seguimos los estándares del internet y revisamos que todo este usable hasta sin ratón, y programas ayudantes como lectores de pantalla. Nosotros aspiramos de conformar con las {guidelines} Guías de Contenido Accesible del Web {linkend} 2.1 a nivel de AA y con un nivel de AAA con el tema de alto contraste. ",
- "Reset to default" : "Restablecer al predeterminado",
- "Upload" : "Cargar",
- "Remove background image" : "Eliminar imagen de fondo",
- "Loading preview…" : "Cargando vista previa...",
- "Admin" : "Administración",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Open documentation" : "Abrir la documentación",
- "https://…" : "https://…",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_CR.js b/apps/theming/l10n/es_CR.js
deleted file mode 100644
index 761d9e8a7c1..00000000000
--- a/apps/theming/l10n/es_CR.js
+++ /dev/null
@@ -1,57 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given legal notice address is too long" : "La dirección del aviso legal es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "Saved" : "Guardado",
- "The file was uploaded" : "El archivo fue cargado",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "The file was only partially uploaded" : "El archivo sólo fue cargado parcialmente",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "Could not write file to disk" : "No fue posible escribir a disco",
- "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
- "No file uploaded" : "No hay archivos cargados",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ya te encuentras usando un tema personalizado. La aplicación de Temas puede estar siendo sobreescrita por él.",
- "Theming" : "Tematizar",
- "Dark theme" : "Tema oscuro",
- "Enable dark theme" : "Activar el tema oscuro",
- "Dyslexia font" : "Fuente para dislexia",
- "Enable dyslexia font" : "Activar la fuente para dislexia",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es una tipografía/fuente diseñada para mitigar algunos de los problemas de lectura causados por la dislexia.",
- "High contrast mode" : "Modo de alto contraste",
- "Enable high contrast mode" : "Activar el modo de alto contraste",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un modo de alto contraste facilita la navegación. La calidad visual se reducirá, pero la claridad aumentará.",
- "Legal notice" : "Aviso legal",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Advanced options" : "Opciones avanzadas",
- "Name" : "Nombre",
- "Web link" : "Enlace web",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Legal notice link" : "Enlace al aviso legal",
- "Header logo" : "Logo del encabezado",
- "Upload new header logo" : "Cargar un nuevo logotipo del encabezado",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Cargar un nuevo favicon",
- "Keyboard shortcuts" : "Atajos del teclado",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo pueda utilizarse sin un ratón, y programas de asistencia como lectores de pantalla. Nuestro objetivo es cumplir con los [guidelines]Lineamientos de Accesibilidad de Contenido Web[linkend] 2.1 en el nivel AA, con el tema de alto contraste incluso en el nivel AAA.",
- "Reset to default" : "Restablecer al predeterminado",
- "Upload" : "Cargar",
- "Remove background image" : "Eliminar imagen de fondo",
- "Loading preview…" : "Cargando vista previa...",
- "Admin" : "Administración",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Open documentation" : "Abrir la documentación",
- "https://…" : "https://…",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/theming/l10n/es_CR.json b/apps/theming/l10n/es_CR.json
deleted file mode 100644
index cae5fd42c2f..00000000000
--- a/apps/theming/l10n/es_CR.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{ "translations": {
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given legal notice address is too long" : "La dirección del aviso legal es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "Saved" : "Guardado",
- "The file was uploaded" : "El archivo fue cargado",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "The file was only partially uploaded" : "El archivo sólo fue cargado parcialmente",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "Could not write file to disk" : "No fue posible escribir a disco",
- "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
- "No file uploaded" : "No hay archivos cargados",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ya te encuentras usando un tema personalizado. La aplicación de Temas puede estar siendo sobreescrita por él.",
- "Theming" : "Tematizar",
- "Dark theme" : "Tema oscuro",
- "Enable dark theme" : "Activar el tema oscuro",
- "Dyslexia font" : "Fuente para dislexia",
- "Enable dyslexia font" : "Activar la fuente para dislexia",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es una tipografía/fuente diseñada para mitigar algunos de los problemas de lectura causados por la dislexia.",
- "High contrast mode" : "Modo de alto contraste",
- "Enable high contrast mode" : "Activar el modo de alto contraste",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un modo de alto contraste facilita la navegación. La calidad visual se reducirá, pero la claridad aumentará.",
- "Legal notice" : "Aviso legal",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Advanced options" : "Opciones avanzadas",
- "Name" : "Nombre",
- "Web link" : "Enlace web",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Legal notice link" : "Enlace al aviso legal",
- "Header logo" : "Logo del encabezado",
- "Upload new header logo" : "Cargar un nuevo logotipo del encabezado",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Cargar un nuevo favicon",
- "Keyboard shortcuts" : "Atajos del teclado",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo pueda utilizarse sin un ratón, y programas de asistencia como lectores de pantalla. Nuestro objetivo es cumplir con los [guidelines]Lineamientos de Accesibilidad de Contenido Web[linkend] 2.1 en el nivel AA, con el tema de alto contraste incluso en el nivel AAA.",
- "Reset to default" : "Restablecer al predeterminado",
- "Upload" : "Cargar",
- "Remove background image" : "Eliminar imagen de fondo",
- "Loading preview…" : "Cargando vista previa...",
- "Admin" : "Administración",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Open documentation" : "Abrir la documentación",
- "https://…" : "https://…",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_DO.js b/apps/theming/l10n/es_DO.js
deleted file mode 100644
index 9af4a7bb302..00000000000
--- a/apps/theming/l10n/es_DO.js
+++ /dev/null
@@ -1,57 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given legal notice address is too long" : "La dirección del aviso legal es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "Saved" : "Guardado",
- "The file was uploaded" : "El archivo fue cargado",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "The file was only partially uploaded" : "El archivo sólo fue cargado parcialmente",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "Could not write file to disk" : "No fue posible escribir a disco",
- "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
- "No file uploaded" : "No hay archivos cargados",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ya te encuentras usando un tema personalizado. La aplicación de Temas puede estar siendo sobreescrita por él.",
- "Theming" : "Tematizar",
- "Dark theme" : "Tema Oscuro",
- "Enable dark theme" : "Habilita el tema oscuro",
- "Dyslexia font" : "Fuente para las personas con dislexia",
- "Enable dyslexia font" : "Habilita la fuente de dislexia",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra o fuente gratuito diseñado para mitigar algunos de los errores de lectura comunes causados ​​por la dislexia.",
- "High contrast mode" : "Modo de alto contraste",
- "Enable high contrast mode" : "Habilita el modo de alto contraste",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un modo de alto contraste para mejorar tu navegacion. La calidad visual se vera reducida pero la claridad se mejorara.",
- "Legal notice" : "Aviso legal",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Advanced options" : "Opciones avanzadas",
- "Name" : "Nombre",
- "Web link" : "Enlace web",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Legal notice link" : "Enlace al aviso legal",
- "Header logo" : "Logo del encabezado",
- "Upload new header logo" : "Cargar un nuevo logotipo del encabezado",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Cargar un nuevo favicon",
- "Keyboard shortcuts" : "Atajos del teclado",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo se pueda usar también sin mouse y software de asistencia, como lectores de pantalla. Nuestro objetivo es cumplir con las {guidelines}Pautas de accesibilidad al contenido web{linkend} 2.1 en el nivel AA, con el tema de alto contraste incluso en el nivel AAA.",
- "Reset to default" : "Restablecer al predeterminado",
- "Upload" : "Cargar",
- "Remove background image" : "Eliminar imagen de fondo",
- "Loading preview…" : "Cargando vista previa...",
- "Admin" : "Administración",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Open documentation" : "Abrir la documentación",
- "https://…" : "https://…",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/theming/l10n/es_DO.json b/apps/theming/l10n/es_DO.json
deleted file mode 100644
index 3fd46ff94e9..00000000000
--- a/apps/theming/l10n/es_DO.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{ "translations": {
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given legal notice address is too long" : "La dirección del aviso legal es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "Saved" : "Guardado",
- "The file was uploaded" : "El archivo fue cargado",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "The file was only partially uploaded" : "El archivo sólo fue cargado parcialmente",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "Could not write file to disk" : "No fue posible escribir a disco",
- "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
- "No file uploaded" : "No hay archivos cargados",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ya te encuentras usando un tema personalizado. La aplicación de Temas puede estar siendo sobreescrita por él.",
- "Theming" : "Tematizar",
- "Dark theme" : "Tema Oscuro",
- "Enable dark theme" : "Habilita el tema oscuro",
- "Dyslexia font" : "Fuente para las personas con dislexia",
- "Enable dyslexia font" : "Habilita la fuente de dislexia",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra o fuente gratuito diseñado para mitigar algunos de los errores de lectura comunes causados ​​por la dislexia.",
- "High contrast mode" : "Modo de alto contraste",
- "Enable high contrast mode" : "Habilita el modo de alto contraste",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un modo de alto contraste para mejorar tu navegacion. La calidad visual se vera reducida pero la claridad se mejorara.",
- "Legal notice" : "Aviso legal",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Advanced options" : "Opciones avanzadas",
- "Name" : "Nombre",
- "Web link" : "Enlace web",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Legal notice link" : "Enlace al aviso legal",
- "Header logo" : "Logo del encabezado",
- "Upload new header logo" : "Cargar un nuevo logotipo del encabezado",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Cargar un nuevo favicon",
- "Keyboard shortcuts" : "Atajos del teclado",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo se pueda usar también sin mouse y software de asistencia, como lectores de pantalla. Nuestro objetivo es cumplir con las {guidelines}Pautas de accesibilidad al contenido web{linkend} 2.1 en el nivel AA, con el tema de alto contraste incluso en el nivel AAA.",
- "Reset to default" : "Restablecer al predeterminado",
- "Upload" : "Cargar",
- "Remove background image" : "Eliminar imagen de fondo",
- "Loading preview…" : "Cargando vista previa...",
- "Admin" : "Administración",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Open documentation" : "Abrir la documentación",
- "https://…" : "https://…",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_GT.js b/apps/theming/l10n/es_GT.js
deleted file mode 100644
index bf82d442226..00000000000
--- a/apps/theming/l10n/es_GT.js
+++ /dev/null
@@ -1,57 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given legal notice address is too long" : "La dirección del aviso legal es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "Saved" : "Guardado",
- "The file was uploaded" : "El archivo fue cargado",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "The file was only partially uploaded" : "El archivo sólo fue cargado parcialmente",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "Could not write file to disk" : "No fue posible escribir a disco",
- "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
- "No file uploaded" : "No hay archivos cargados",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ya te encuentras usando un tema personalizado. La aplicación de Temas puede estar siendo sobreescrita por él.",
- "Theming" : "Tematizar",
- "Dark theme" : "Tema Oscuro",
- "Enable dark theme" : "Habilitar el tema oscuro",
- "Dyslexia font" : "Fuente para las personas con dislexia",
- "Enable dyslexia font" : "Habilita la fuente para personas con dislexia",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra libre diseñada para reducir algunos de los errores de lectura comunes causados por la dislexia.",
- "High contrast mode" : "Modo de alto contraste",
- "Enable high contrast mode" : "Habilitar modo de contraste alto",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Modo de alto contraste facilita tu navegación. La calidad visual puede ser menor pero se incrementa la claridad.",
- "Legal notice" : "Aviso legal",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Advanced options" : "Opciones avanzadas",
- "Name" : "Nombre",
- "Web link" : "Enlace web",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Legal notice link" : "Enlace al aviso legal",
- "Header logo" : "Logo del encabezado",
- "Upload new header logo" : "Cargar un nuevo logotipo del encabezado",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Cargar un nuevo favicon",
- "Keyboard shortcuts" : "Atajos del teclado",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo sea utilizable inclusive sin ratón, y con software de asistencia como lectores de pantalla. Buscamos cumplir con las {guidelines}Guías de Accesibilidad de Contenido Web{linkend} 2.1 sobre nivel AA, incluso sobre nivel AAA para el tema de alto contraste.",
- "Reset to default" : "Restablecer al predeterminado",
- "Upload" : "Cargar",
- "Remove background image" : "Eliminar imagen de fondo",
- "Loading preview…" : "Cargando vista previa...",
- "Admin" : "Administración",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Open documentation" : "Abrir la documentación",
- "https://…" : "https://…",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/theming/l10n/es_GT.json b/apps/theming/l10n/es_GT.json
deleted file mode 100644
index a70da3cf713..00000000000
--- a/apps/theming/l10n/es_GT.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{ "translations": {
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given legal notice address is too long" : "La dirección del aviso legal es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "Saved" : "Guardado",
- "The file was uploaded" : "El archivo fue cargado",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "The file was only partially uploaded" : "El archivo sólo fue cargado parcialmente",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "Could not write file to disk" : "No fue posible escribir a disco",
- "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
- "No file uploaded" : "No hay archivos cargados",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ya te encuentras usando un tema personalizado. La aplicación de Temas puede estar siendo sobreescrita por él.",
- "Theming" : "Tematizar",
- "Dark theme" : "Tema Oscuro",
- "Enable dark theme" : "Habilitar el tema oscuro",
- "Dyslexia font" : "Fuente para las personas con dislexia",
- "Enable dyslexia font" : "Habilita la fuente para personas con dislexia",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es un tipo de letra libre diseñada para reducir algunos de los errores de lectura comunes causados por la dislexia.",
- "High contrast mode" : "Modo de alto contraste",
- "Enable high contrast mode" : "Habilitar modo de contraste alto",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Modo de alto contraste facilita tu navegación. La calidad visual puede ser menor pero se incrementa la claridad.",
- "Legal notice" : "Aviso legal",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Advanced options" : "Opciones avanzadas",
- "Name" : "Nombre",
- "Web link" : "Enlace web",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Legal notice link" : "Enlace al aviso legal",
- "Header logo" : "Logo del encabezado",
- "Upload new header logo" : "Cargar un nuevo logotipo del encabezado",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Cargar un nuevo favicon",
- "Keyboard shortcuts" : "Atajos del teclado",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo sea utilizable inclusive sin ratón, y con software de asistencia como lectores de pantalla. Buscamos cumplir con las {guidelines}Guías de Accesibilidad de Contenido Web{linkend} 2.1 sobre nivel AA, incluso sobre nivel AAA para el tema de alto contraste.",
- "Reset to default" : "Restablecer al predeterminado",
- "Upload" : "Cargar",
- "Remove background image" : "Eliminar imagen de fondo",
- "Loading preview…" : "Cargando vista previa...",
- "Admin" : "Administración",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "Open documentation" : "Abrir la documentación",
- "https://…" : "https://…",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_HN.js b/apps/theming/l10n/es_HN.js
deleted file mode 100644
index a8a0cb95952..00000000000
--- a/apps/theming/l10n/es_HN.js
+++ /dev/null
@@ -1,32 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/es_HN.json b/apps/theming/l10n/es_HN.json
deleted file mode 100644
index 766e123ebbb..00000000000
--- a/apps/theming/l10n/es_HN.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_NI.js b/apps/theming/l10n/es_NI.js
deleted file mode 100644
index a8a0cb95952..00000000000
--- a/apps/theming/l10n/es_NI.js
+++ /dev/null
@@ -1,32 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/es_NI.json b/apps/theming/l10n/es_NI.json
deleted file mode 100644
index 766e123ebbb..00000000000
--- a/apps/theming/l10n/es_NI.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_PA.js b/apps/theming/l10n/es_PA.js
deleted file mode 100644
index a8a0cb95952..00000000000
--- a/apps/theming/l10n/es_PA.js
+++ /dev/null
@@ -1,32 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/es_PA.json b/apps/theming/l10n/es_PA.json
deleted file mode 100644
index 766e123ebbb..00000000000
--- a/apps/theming/l10n/es_PA.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_PE.js b/apps/theming/l10n/es_PE.js
deleted file mode 100644
index a8a0cb95952..00000000000
--- a/apps/theming/l10n/es_PE.js
+++ /dev/null
@@ -1,32 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/es_PE.json b/apps/theming/l10n/es_PE.json
deleted file mode 100644
index 766e123ebbb..00000000000
--- a/apps/theming/l10n/es_PE.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_PR.js b/apps/theming/l10n/es_PR.js
deleted file mode 100644
index a8a0cb95952..00000000000
--- a/apps/theming/l10n/es_PR.js
+++ /dev/null
@@ -1,32 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/es_PR.json b/apps/theming/l10n/es_PR.json
deleted file mode 100644
index 766e123ebbb..00000000000
--- a/apps/theming/l10n/es_PR.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_PY.js b/apps/theming/l10n/es_PY.js
deleted file mode 100644
index a8a0cb95952..00000000000
--- a/apps/theming/l10n/es_PY.js
+++ /dev/null
@@ -1,32 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/es_PY.json b/apps/theming/l10n/es_PY.json
deleted file mode 100644
index 766e123ebbb..00000000000
--- a/apps/theming/l10n/es_PY.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_SV.js b/apps/theming/l10n/es_SV.js
deleted file mode 100644
index f51fa47b0ac..00000000000
--- a/apps/theming/l10n/es_SV.js
+++ /dev/null
@@ -1,48 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Cargando vista previa...",
- "Admin" : "Administración",
- "Saved" : "Guardado",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given legal notice address is too long" : "La dirección del aviso legal es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The file was uploaded" : "El archivo fue cargado",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "The file was only partially uploaded" : "El archivo sólo fue cargado parcialmente",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "Could not write file to disk" : "No fue posible escribir a disco",
- "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
- "No file uploaded" : "No hay archivos cargados",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ya te encuentras usando un tema personalizado. La aplicación de Temas puede estar siendo sobreescrita por él.",
- "Theming" : "Tematizar",
- "Legal notice" : "Aviso legal",
- "Keyboard shortcuts" : "Atajos del teclado",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Web link" : "Enlace web",
- "https://…" : "https://…",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Legal notice link" : "Enlace al aviso legal",
- "Header logo" : "Logo del encabezado",
- "Upload new header logo" : "Cargar un nuevo logotipo del encabezado",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Cargar un nuevo favicon",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/theming/l10n/es_SV.json b/apps/theming/l10n/es_SV.json
deleted file mode 100644
index d7937f36889..00000000000
--- a/apps/theming/l10n/es_SV.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Cargando vista previa...",
- "Admin" : "Administración",
- "Saved" : "Guardado",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "Name cannot be empty" : "El nombre no puede estar en blanco",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given legal notice address is too long" : "La dirección del aviso legal es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The file was uploaded" : "El archivo fue cargado",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "The file was only partially uploaded" : "El archivo sólo fue cargado parcialmente",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "Could not write file to disk" : "No fue posible escribir a disco",
- "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
- "No file uploaded" : "No hay archivos cargados",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ya te encuentras usando un tema personalizado. La aplicación de Temas puede estar siendo sobreescrita por él.",
- "Theming" : "Tematizar",
- "Legal notice" : "Aviso legal",
- "Keyboard shortcuts" : "Atajos del teclado",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Web link" : "Enlace web",
- "https://…" : "https://…",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Legal notice link" : "Enlace al aviso legal",
- "Header logo" : "Logo del encabezado",
- "Upload new header logo" : "Cargar un nuevo logotipo del encabezado",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Cargar un nuevo favicon",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/es_UY.js b/apps/theming/l10n/es_UY.js
deleted file mode 100644
index a8a0cb95952..00000000000
--- a/apps/theming/l10n/es_UY.js
+++ /dev/null
@@ -1,32 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/es_UY.json b/apps/theming/l10n/es_UY.json
deleted file mode 100644
index 766e123ebbb..00000000000
--- a/apps/theming/l10n/es_UY.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Cargando vista previa...",
- "Saved" : "Guardado",
- "Admin" : "Administración",
- "a safe home for all your data" : "un lugar seguro para todos tus datos",
- "The given name is too long" : "El nombre dado es demasiado largo",
- "The given web address is too long" : "La dirección web dada es demasiado larga",
- "The given slogan is too long" : "El lema dado es demasiado largo",
- "The given color is invalid" : "El color dado es inválido",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
- "No file was uploaded" : "No se cargó el archivo",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "No file uploaded" : "No hay archivos cargados",
- "Theming" : "Tematizar",
- "Open documentation" : "Abrir la documentación",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
- "Name" : "Nombre",
- "Reset to default" : "Restablecer al predeterminado",
- "Slogan" : "Lema",
- "Color" : "Color",
- "Logo" : "Logotipo",
- "Upload new logo" : "Cargar nuevo logotipo",
- "Login image" : "Imágen de inicio de sesión",
- "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
- "Remove background image" : "Eliminar imagen de fondo",
- "Advanced options" : "Opciones avanzadas",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/he.js b/apps/theming/l10n/he.js
deleted file mode 100644
index cb1011ee65c..00000000000
--- a/apps/theming/l10n/he.js
+++ /dev/null
@@ -1,62 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "The given name is too long" : "השם שסופק ארוך מדי",
- "The given web address is too long" : "הכתובת שסופקה ארוכה מדי",
- "The given web address is not a valid URL" : "הכתובת שסופקה אינה תקנית",
- "The given legal notice address is too long" : "כתובת ההצהרה המשפטית שסופקה ארוכה מדי",
- "The given legal notice address is not a valid URL" : "כתובת ההצהרה המשפטית שסופקה אינה תקינה",
- "The given privacy policy address is too long" : "כתובת מדיניות הפרטיות שסופקה ארוכה מדי",
- "The given privacy policy address is not a valid URL" : "כתובת מדיניות הפרטיות שסופקה אינה תקינה",
- "The given slogan is too long" : "שורת הכותרת שסופקה ארוכה מדי",
- "The given color is invalid" : "הצבע שסופק שגוי",
- "Saved" : "נשמר",
- "The file was uploaded" : "הקובץ הועלה",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "הקובץ שהועלה חורג מהנחיית ה־upload_max_filesize ב־php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "הקובץ שהועלה חורג מההנחיה MAX_FILE_SIZE שהוגדרה בטופס ה־HTML",
- "The file was only partially uploaded" : "הקובץ הועלה באופן חלקי",
- "No file was uploaded" : "לא הועלו קבצים",
- "Missing a temporary folder" : "חסרה תיקייה זמנית",
- "Could not write file to disk" : "לא ניתן לכתוב לכונן",
- "A PHP extension stopped the file upload" : "הרחבת PHP עצרה את העלאת הקובץ",
- "No file uploaded" : "לא הועלה קובץ",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "כבר נעשה שימוש בערכת עיצוב מותאמת אישית. יכול להיות שהגדרות יישומון ערכות העיצוב יידרסו.",
- "Theming" : "ערכות נושא",
- "Appearance and accessibility" : "תצוגה ונגישות",
- "Dark theme" : "ערכת עיצוב כהה",
- "Enable dark theme" : "הפעלת ערכת עיצוב כהה",
- "Dyslexia font" : "גופן דיסלקציה",
- "Enable dyslexia font" : "הפעלת גופן דיסלקציה",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic הוא גופן חופשי שתוכנן לפתור חלק משגיאות הקריאה הנפוצות שנגרמות עקב דיסלקציה.",
- "High contrast mode" : "מצב ניגודיות גבוהה",
- "Enable high contrast mode" : "הפעלת מצב ניגודיות גבוהה",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "מצב ניגודיות גבוהה מקלה על הניווט שלך. האיכות החזותית תיפגע אך השימוש יהיה ברור יותר.",
- "Legal notice" : "הצהרה משפטית",
- "Privacy policy" : "מדיניות פרטיות",
- "Adjust the Nextcloud theme" : "התאמת ערכת העיצוב של Nextcloud",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "עם ערכות עיצוב ניתן להתאים את המראה והתחושה של המערכת ושל הלקוחות הנתמכים שלך. אלו תהיינה גלויות לכל המשתמשים.",
- "Upload new logo" : "העלאת לוגו חדש",
- "Logo" : "לוגו",
- "Advanced options" : "אפשרויות מתקדמות",
- "Name" : "שם",
- "Web link" : "קישור",
- "a safe home for all your data" : "מקום בטוח לכל הנתונים שלך",
- "Slogan" : "שורת כותרת",
- "Legal notice link" : "קישור להצהרה המשפטית",
- "Privacy policy link" : "קישור למדיניות הפרטיות",
- "Header logo" : "לוגו כותרת",
- "Upload new header logo" : "העלאת לוגו כותרת",
- "Favicon" : "סמל כותרת",
- "Upload new favicon" : "העלאת סמל כותרת חדש",
- "User settings" : "הגדרות משתמש",
- "Keyboard shortcuts" : "קיצורי מקלדת",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "גישה אוניברסלית מאוד חשובה לנו, אנו נצמדים לתקני אינטרנט ובודקים כדי לוודא שהכול שמיש גם ללא עכבר ומול תכניות סיוע כגון מקריאי מסך. אנו חותרים להיות תואמים ל{guidelines}הנחיות הנגישות לתוכן אינטרנט{linkend} 2.1 ברמת AA ועם ערכת הניגודיות הגבוהה אפילו ברמת AAA.",
- "Move down" : "להוריד למטה",
- "Plain background" : "רקע רגיל",
- "Reset to default" : "איפוס לבררת מחדל",
- "Upload" : "העלאה",
- "Remove background image" : "הסרת תמונת רקע",
- "Color" : "צבע",
- "Change color" : "החלפת צבע"
-},
-"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;");
diff --git a/apps/theming/l10n/he.json b/apps/theming/l10n/he.json
deleted file mode 100644
index 0f165b80246..00000000000
--- a/apps/theming/l10n/he.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{ "translations": {
- "The given name is too long" : "השם שסופק ארוך מדי",
- "The given web address is too long" : "הכתובת שסופקה ארוכה מדי",
- "The given web address is not a valid URL" : "הכתובת שסופקה אינה תקנית",
- "The given legal notice address is too long" : "כתובת ההצהרה המשפטית שסופקה ארוכה מדי",
- "The given legal notice address is not a valid URL" : "כתובת ההצהרה המשפטית שסופקה אינה תקינה",
- "The given privacy policy address is too long" : "כתובת מדיניות הפרטיות שסופקה ארוכה מדי",
- "The given privacy policy address is not a valid URL" : "כתובת מדיניות הפרטיות שסופקה אינה תקינה",
- "The given slogan is too long" : "שורת הכותרת שסופקה ארוכה מדי",
- "The given color is invalid" : "הצבע שסופק שגוי",
- "Saved" : "נשמר",
- "The file was uploaded" : "הקובץ הועלה",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "הקובץ שהועלה חורג מהנחיית ה־upload_max_filesize ב־php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "הקובץ שהועלה חורג מההנחיה MAX_FILE_SIZE שהוגדרה בטופס ה־HTML",
- "The file was only partially uploaded" : "הקובץ הועלה באופן חלקי",
- "No file was uploaded" : "לא הועלו קבצים",
- "Missing a temporary folder" : "חסרה תיקייה זמנית",
- "Could not write file to disk" : "לא ניתן לכתוב לכונן",
- "A PHP extension stopped the file upload" : "הרחבת PHP עצרה את העלאת הקובץ",
- "No file uploaded" : "לא הועלה קובץ",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "כבר נעשה שימוש בערכת עיצוב מותאמת אישית. יכול להיות שהגדרות יישומון ערכות העיצוב יידרסו.",
- "Theming" : "ערכות נושא",
- "Appearance and accessibility" : "תצוגה ונגישות",
- "Dark theme" : "ערכת עיצוב כהה",
- "Enable dark theme" : "הפעלת ערכת עיצוב כהה",
- "Dyslexia font" : "גופן דיסלקציה",
- "Enable dyslexia font" : "הפעלת גופן דיסלקציה",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic הוא גופן חופשי שתוכנן לפתור חלק משגיאות הקריאה הנפוצות שנגרמות עקב דיסלקציה.",
- "High contrast mode" : "מצב ניגודיות גבוהה",
- "Enable high contrast mode" : "הפעלת מצב ניגודיות גבוהה",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "מצב ניגודיות גבוהה מקלה על הניווט שלך. האיכות החזותית תיפגע אך השימוש יהיה ברור יותר.",
- "Legal notice" : "הצהרה משפטית",
- "Privacy policy" : "מדיניות פרטיות",
- "Adjust the Nextcloud theme" : "התאמת ערכת העיצוב של Nextcloud",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "עם ערכות עיצוב ניתן להתאים את המראה והתחושה של המערכת ושל הלקוחות הנתמכים שלך. אלו תהיינה גלויות לכל המשתמשים.",
- "Upload new logo" : "העלאת לוגו חדש",
- "Logo" : "לוגו",
- "Advanced options" : "אפשרויות מתקדמות",
- "Name" : "שם",
- "Web link" : "קישור",
- "a safe home for all your data" : "מקום בטוח לכל הנתונים שלך",
- "Slogan" : "שורת כותרת",
- "Legal notice link" : "קישור להצהרה המשפטית",
- "Privacy policy link" : "קישור למדיניות הפרטיות",
- "Header logo" : "לוגו כותרת",
- "Upload new header logo" : "העלאת לוגו כותרת",
- "Favicon" : "סמל כותרת",
- "Upload new favicon" : "העלאת סמל כותרת חדש",
- "User settings" : "הגדרות משתמש",
- "Keyboard shortcuts" : "קיצורי מקלדת",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "גישה אוניברסלית מאוד חשובה לנו, אנו נצמדים לתקני אינטרנט ובודקים כדי לוודא שהכול שמיש גם ללא עכבר ומול תכניות סיוע כגון מקריאי מסך. אנו חותרים להיות תואמים ל{guidelines}הנחיות הנגישות לתוכן אינטרנט{linkend} 2.1 ברמת AA ועם ערכת הניגודיות הגבוהה אפילו ברמת AAA.",
- "Move down" : "להוריד למטה",
- "Plain background" : "רקע רגיל",
- "Reset to default" : "איפוס לבררת מחדל",
- "Upload" : "העלאה",
- "Remove background image" : "הסרת תמונת רקע",
- "Color" : "צבע",
- "Change color" : "החלפת צבע"
-},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/hr.js b/apps/theming/l10n/hr.js
deleted file mode 100644
index 6b09f5418aa..00000000000
--- a/apps/theming/l10n/hr.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "The given name is too long" : "Naziv je predug",
- "The given web address is too long" : "Navedena adresa web-mjesta je preduga",
- "The given web address is not a valid URL" : "Navedena adresa web-mjesta nije važeći URL",
- "The given legal notice address is too long" : "Navedena adresa pravne obavijesti je preduga",
- "The given legal notice address is not a valid URL" : "Navedena adresa pravne obavijesti nije važeći URL",
- "The given privacy policy address is too long" : "Navedena adresa pravila o privatnosti je preduga",
- "The given privacy policy address is not a valid URL" : "Navedena adresa pravila o privatnosti nije važeći URL",
- "The given slogan is too long" : "Navedeni slogan je predug",
- "The given color is invalid" : "Navedena boja nije važeća",
- "Saved" : "Spremljeno",
- "The file was uploaded" : "Datoteka je otpremljena",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Otpremljena datoteka premašuje postavku upload_max_filesize u datoteci php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Otpremljena datoteka premašuje postavku MAX_FILE_SIZE koja je navedena u obrascu HTML-a",
- "The file was only partially uploaded" : "Datoteka je samo djelomično otpremljena",
- "No file was uploaded" : "Nije otpremljena nijedna datoteka",
- "Missing a temporary folder" : "Nedostaje privremena mapa",
- "Could not write file to disk" : "Nije moguće zapisati datoteku na disk",
- "A PHP extension stopped the file upload" : "Proširenje PHP-a zaustavilo je otpremanje datoteke",
- "No file uploaded" : "Nije otpremljena nijedna datoteka",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Već koristite prilagođenu temu. Te postavke mogu biti zamijenjene postavkama aplikacije za upravljanje temama.",
- "Theming" : "Upravljanje temama",
- "Dark theme" : "Tamna tema",
- "Enable dark theme" : "Omogući tamnu temu",
- "Dyslexia font" : "Font za osobe s disleksijom",
- "Enable dyslexia font" : "Omogući font za osobe s disleksijom",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic je besplatan font/izgled slova posebno osmišljen za ublažavanje nekih uobičajenih pogrešaka pri čitanju uzrokovanih disleksijom.",
- "High contrast mode" : "Način jakog kontrasta",
- "Enable high contrast mode" : "Omogući način jakog kontrasta",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Način jakog kontrasta olakšava navigaciju. Smanjuje vizualnu kvalitetu, ali povećava jasnoću prikaza.",
- "Legal notice" : "Pravna obavijest",
- "Privacy policy" : "Pravila o privatnosti",
- "Adjust the Nextcloud theme" : "Prilagodi temu Nextclouda",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Upravljanje temama omogućuje jednostavno prilagođavanje izgleda vaše instance i podržanih klijenata. To će biti vidljivo svim korisnicima.",
- "Upload new logo" : "Otpremi novi logotip",
- "Logo" : "Logotip",
- "Advanced options" : "Napredne opcije",
- "Name" : "Naziv",
- "Web link" : "Web poveznica",
- "a safe home for all your data" : "siguran dom za sve vaše podatke",
- "Slogan" : "Slogan",
- "Legal notice link" : "Poveznica na pravnu obavijest",
- "Privacy policy link" : "Poveznica na pravila o privatnosti",
- "Header logo" : "Logotip zaglavlja",
- "Upload new header logo" : "Otpremi novi logotip zaglavlja",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Otpremi novi favicon",
- "User settings" : "Korisničke postavke",
- "Keyboard shortcuts" : "Tipkovni prečaci",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Nama je vrlo važno osigurati univerzalan pristup. Pratimo sve internetske i mrežne standarde i provjeravamo je li sustav upotrebljiv bez miša i pomoćnog softvera, kao što je čitač zaslona. Naš je cilj postići sukladnost sa {guidelines}Smjernicama pristupačnosti web-sadržaja{linkend} 2.1 na razini AA s temom jakog kontrasta na razini AAA.",
- "Move up" : "Premjesti gore",
- "Move down" : "Premjesti dolje",
- "Plain background" : "Obična pozadina",
- "Reset to default" : "Vrati na zadanu postavku",
- "Upload" : "Otpremi",
- "Remove background image" : "Ukloni pozadinsku sliku",
- "Color" : "Boja",
- "Background" : "Pozadina",
- "Change color" : "Promijeni boju"
-},
-"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/theming/l10n/hr.json b/apps/theming/l10n/hr.json
deleted file mode 100644
index 0f2f865d89f..00000000000
--- a/apps/theming/l10n/hr.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given name is too long" : "Naziv je predug",
- "The given web address is too long" : "Navedena adresa web-mjesta je preduga",
- "The given web address is not a valid URL" : "Navedena adresa web-mjesta nije važeći URL",
- "The given legal notice address is too long" : "Navedena adresa pravne obavijesti je preduga",
- "The given legal notice address is not a valid URL" : "Navedena adresa pravne obavijesti nije važeći URL",
- "The given privacy policy address is too long" : "Navedena adresa pravila o privatnosti je preduga",
- "The given privacy policy address is not a valid URL" : "Navedena adresa pravila o privatnosti nije važeći URL",
- "The given slogan is too long" : "Navedeni slogan je predug",
- "The given color is invalid" : "Navedena boja nije važeća",
- "Saved" : "Spremljeno",
- "The file was uploaded" : "Datoteka je otpremljena",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Otpremljena datoteka premašuje postavku upload_max_filesize u datoteci php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Otpremljena datoteka premašuje postavku MAX_FILE_SIZE koja je navedena u obrascu HTML-a",
- "The file was only partially uploaded" : "Datoteka je samo djelomično otpremljena",
- "No file was uploaded" : "Nije otpremljena nijedna datoteka",
- "Missing a temporary folder" : "Nedostaje privremena mapa",
- "Could not write file to disk" : "Nije moguće zapisati datoteku na disk",
- "A PHP extension stopped the file upload" : "Proširenje PHP-a zaustavilo je otpremanje datoteke",
- "No file uploaded" : "Nije otpremljena nijedna datoteka",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Već koristite prilagođenu temu. Te postavke mogu biti zamijenjene postavkama aplikacije za upravljanje temama.",
- "Theming" : "Upravljanje temama",
- "Dark theme" : "Tamna tema",
- "Enable dark theme" : "Omogući tamnu temu",
- "Dyslexia font" : "Font za osobe s disleksijom",
- "Enable dyslexia font" : "Omogući font za osobe s disleksijom",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic je besplatan font/izgled slova posebno osmišljen za ublažavanje nekih uobičajenih pogrešaka pri čitanju uzrokovanih disleksijom.",
- "High contrast mode" : "Način jakog kontrasta",
- "Enable high contrast mode" : "Omogući način jakog kontrasta",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Način jakog kontrasta olakšava navigaciju. Smanjuje vizualnu kvalitetu, ali povećava jasnoću prikaza.",
- "Legal notice" : "Pravna obavijest",
- "Privacy policy" : "Pravila o privatnosti",
- "Adjust the Nextcloud theme" : "Prilagodi temu Nextclouda",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Upravljanje temama omogućuje jednostavno prilagođavanje izgleda vaše instance i podržanih klijenata. To će biti vidljivo svim korisnicima.",
- "Upload new logo" : "Otpremi novi logotip",
- "Logo" : "Logotip",
- "Advanced options" : "Napredne opcije",
- "Name" : "Naziv",
- "Web link" : "Web poveznica",
- "a safe home for all your data" : "siguran dom za sve vaše podatke",
- "Slogan" : "Slogan",
- "Legal notice link" : "Poveznica na pravnu obavijest",
- "Privacy policy link" : "Poveznica na pravila o privatnosti",
- "Header logo" : "Logotip zaglavlja",
- "Upload new header logo" : "Otpremi novi logotip zaglavlja",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Otpremi novi favicon",
- "User settings" : "Korisničke postavke",
- "Keyboard shortcuts" : "Tipkovni prečaci",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Nama je vrlo važno osigurati univerzalan pristup. Pratimo sve internetske i mrežne standarde i provjeravamo je li sustav upotrebljiv bez miša i pomoćnog softvera, kao što je čitač zaslona. Naš je cilj postići sukladnost sa {guidelines}Smjernicama pristupačnosti web-sadržaja{linkend} 2.1 na razini AA s temom jakog kontrasta na razini AAA.",
- "Move up" : "Premjesti gore",
- "Move down" : "Premjesti dolje",
- "Plain background" : "Obična pozadina",
- "Reset to default" : "Vrati na zadanu postavku",
- "Upload" : "Otpremi",
- "Remove background image" : "Ukloni pozadinsku sliku",
- "Color" : "Boja",
- "Background" : "Pozadina",
- "Change color" : "Promijeni boju"
-},"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/theming/l10n/hu.js b/apps/theming/l10n/hu.js
index 84cbc942fab..3b6ad529091 100644
--- a/apps/theming/l10n/hu.js
+++ b/apps/theming/l10n/hu.js
@@ -29,7 +29,7 @@ OC.L10N.register(
"Appearance and accessibility" : "Megjelenés és akadálymentesítés",
"PHP Imagick module" : "PHP Imagick modul",
"The PHP module \"imagick\" is not enabled although the theming app is. For favicon generation to work correctly, you need to install and enable this module." : "Az „imagick” PHP-modul nem engedélyezett, de a témázó alkalmazás igen. A webhelyikonok előállításához telepítenie és engedélyeznie kell ezt a modult.",
- "The PHP module \"imagick\" in this instance has no SVG support. For better compatibility it is recommended to install it." : "Az \"imagick\" PHP modul ebben az esetben nem támogatja az SVG-t. A jobb kompatibilitás érdekében ajánlott telepíteni.",
+ "The PHP module \"imagick\" in this instance has no SVG support. For better compatibility it is recommended to install it." : "Az „imagick” PHP-modul ebben az esetben nem támogatja az SVG-t. A jobb kompatibilitás érdekében ajánlott telepíteni.",
"Dark theme with high contrast mode" : "Sötét téma magas kontrasztú móddal",
"Enable dark high contrast mode" : "Sötét, magas kontrasztú mód engedélyezése",
"Similar to the high contrast mode, but with dark colours." : "Hasonló a magas kontrasztú módhoz, de sötét színekkel.",
@@ -78,9 +78,9 @@ OC.L10N.register(
"If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ha problémákat tapasztal, jelentse a {issuetracker}hibakövetőnkben{linkend}. És ha segíteni szeretne, csatlakozzon a {designteam}dizájn csapatunkhoz{linkend}!",
"Appearance and accessibility settings" : "Megjelenési és akadálymentesítési beállítások",
"Misc accessibility options" : "Egyéb kisegítő lehetőségek",
- "Enable blur background filter (may increase GPU load)" : "Elmosódott háttérszűrő engedélyezése (megnövelheti a GPU terhelést)",
+ "Enable blur background filter (may increase GPU load)" : "Háttérelmosó szűrő engedélyezése (megnövelheti a GPU terhelést)",
"Customization has been disabled by your administrator" : "A testreszabást letiltotta a rendszergazda",
- "Set a primary color to highlight important elements. The color used for elements such as primary buttons might differ a bit as it gets adjusted to fulfill accessibility requirements." : "A fontos elemek kiemeléséhez állítson be elsődleges színt. Az olyan elemek színe, mint az elsődleges gombok, kissé eltérhet, ahogyan a kisegítő lehetőségekhez igazodik.",
+ "Set a primary color to highlight important elements. The color used for elements such as primary buttons might differ a bit as it gets adjusted to fulfill accessibility requirements." : "Elsődleges szín beállítása a fontos elemek kiemeléséhez. Az olyan elemek színe, mint az elsődleges gombok, kissé eltérhetnek, ahogyan az akadálymentesítési követelményekhez igazodnak.",
"Background and color" : "Háttér és szín",
"The background can be set to an image from the default set, a custom uploaded image, or a plain color." : "A háttér beállítható az alapértelmezett készletből származó képre, egyéni feltöltött képre vagy sima színre.",
"Keyboard shortcuts" : "Gyorsbillentyűk",
diff --git a/apps/theming/l10n/hu.json b/apps/theming/l10n/hu.json
index a1014d143e0..92963ccc3b2 100644
--- a/apps/theming/l10n/hu.json
+++ b/apps/theming/l10n/hu.json
@@ -27,7 +27,7 @@
"Appearance and accessibility" : "Megjelenés és akadálymentesítés",
"PHP Imagick module" : "PHP Imagick modul",
"The PHP module \"imagick\" is not enabled although the theming app is. For favicon generation to work correctly, you need to install and enable this module." : "Az „imagick” PHP-modul nem engedélyezett, de a témázó alkalmazás igen. A webhelyikonok előállításához telepítenie és engedélyeznie kell ezt a modult.",
- "The PHP module \"imagick\" in this instance has no SVG support. For better compatibility it is recommended to install it." : "Az \"imagick\" PHP modul ebben az esetben nem támogatja az SVG-t. A jobb kompatibilitás érdekében ajánlott telepíteni.",
+ "The PHP module \"imagick\" in this instance has no SVG support. For better compatibility it is recommended to install it." : "Az „imagick” PHP-modul ebben az esetben nem támogatja az SVG-t. A jobb kompatibilitás érdekében ajánlott telepíteni.",
"Dark theme with high contrast mode" : "Sötét téma magas kontrasztú móddal",
"Enable dark high contrast mode" : "Sötét, magas kontrasztú mód engedélyezése",
"Similar to the high contrast mode, but with dark colours." : "Hasonló a magas kontrasztú módhoz, de sötét színekkel.",
@@ -76,9 +76,9 @@
"If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ha problémákat tapasztal, jelentse a {issuetracker}hibakövetőnkben{linkend}. És ha segíteni szeretne, csatlakozzon a {designteam}dizájn csapatunkhoz{linkend}!",
"Appearance and accessibility settings" : "Megjelenési és akadálymentesítési beállítások",
"Misc accessibility options" : "Egyéb kisegítő lehetőségek",
- "Enable blur background filter (may increase GPU load)" : "Elmosódott háttérszűrő engedélyezése (megnövelheti a GPU terhelést)",
+ "Enable blur background filter (may increase GPU load)" : "Háttérelmosó szűrő engedélyezése (megnövelheti a GPU terhelést)",
"Customization has been disabled by your administrator" : "A testreszabást letiltotta a rendszergazda",
- "Set a primary color to highlight important elements. The color used for elements such as primary buttons might differ a bit as it gets adjusted to fulfill accessibility requirements." : "A fontos elemek kiemeléséhez állítson be elsődleges színt. Az olyan elemek színe, mint az elsődleges gombok, kissé eltérhet, ahogyan a kisegítő lehetőségekhez igazodik.",
+ "Set a primary color to highlight important elements. The color used for elements such as primary buttons might differ a bit as it gets adjusted to fulfill accessibility requirements." : "Elsődleges szín beállítása a fontos elemek kiemeléséhez. Az olyan elemek színe, mint az elsődleges gombok, kissé eltérhetnek, ahogyan az akadálymentesítési követelményekhez igazodnak.",
"Background and color" : "Háttér és szín",
"The background can be set to an image from the default set, a custom uploaded image, or a plain color." : "A háttér beállítható az alapértelmezett készletből származó képre, egyéni feltöltött képre vagy sima színre.",
"Keyboard shortcuts" : "Gyorsbillentyűk",
diff --git a/apps/theming/l10n/id.js b/apps/theming/l10n/id.js
deleted file mode 100644
index af38885a718..00000000000
--- a/apps/theming/l10n/id.js
+++ /dev/null
@@ -1,41 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Memuat pratinjau",
- "Admin" : "Admin",
- "Saved" : "Disimpan",
- "a safe home for all your data" : "rumah yang aman untuk semua datamu",
- "The given name is too long" : "Pemberian nama terlalu panjang",
- "The given web address is too long" : "Pemberian alamat web terlalu panjang",
- "The given slogan is too long" : "Pemberian slogan terlalu panjang",
- "The file was uploaded" : "Berkas terunggah",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Berkas terunggah melampau parameter upload_max_filesize pada php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Berkas yang diunggah melampaui direktif MAX_FILE_SIZE yang ditentukan dalam formulir HTML.",
- "The file was only partially uploaded" : "Berkas hanya sebagian terunggah",
- "No file was uploaded" : "Tidak ada berkas yang diunggah",
- "Missing a temporary folder" : "Folder sementara tidak ada",
- "Could not write file to disk" : "Tidak dapat menulis berkas ke disk",
- "A PHP extension stopped the file upload" : "Ekstensi PHP menghentikan proses unggah berkas",
- "No file uploaded" : "Tidak ada file diunggah",
- "Theming" : "Tema",
- "Dark theme" : "Tema gelap",
- "Enable dark theme" : "Aktifkan tema gelap",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tema gelap dapat membuat mata anda tidak cepat lelah dengan mengurangi tingkat kecerahan dan banyaknya cahaya. Fitur ini masih dalam tahap pengembangan, tolong laporkan masalah yang anda temui.",
- "Dyslexia font" : "Font disleksia",
- "Enable dyslexia font" : "Aktifkan fon disleksia",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic adalah typeface/font gratis yang didesain untuk mengurangi kesalahan membaca oleh penderita disleksia",
- "High contrast mode" : "Mode kontras tinggi",
- "Enable high contrast mode" : "Aktifkan mode kontras tinggi",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Mode kontras tinggi untuk memudahkan navigasi Anda. Kualitas visual akan berkurang tetapi kejelasan akan meningkat.",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Akses universal sangat penting bagi kami. Kami mengikuti standar web dan memeriksa agar semua dapat digunakan, bahkan saat tanpa menggunakan tetikus, dan lainnya seperti perangkat lunak pembantu pembaca layar. Kami bertujuan untuk mematuhi {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 pada tingkat AA, dengan tema kontras tinggi bahkan pada tingkat AAA.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Jika Anda menemukan isu, jangan sungkan untuk melaporkan pada {issuetracker}pelacakan isu kami{linkend}. Silakan gabung dan berkontribusi dengan {designteam}tim desain kami{linkend} jika Anda ingin!",
- "Open documentation" : "Buka dokumentasi",
- "Name" : "Nama",
- "Slogan" : "Slogan",
- "Color" : "Warna",
- "Logo" : "Logo",
- "Upload new logo" : "Unggah Logo baru",
- "Login image" : "Gambar ketika masuk",
- "Advanced options" : "Opsi lanjutan"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/theming/l10n/id.json b/apps/theming/l10n/id.json
deleted file mode 100644
index 559a76df7eb..00000000000
--- a/apps/theming/l10n/id.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Memuat pratinjau",
- "Admin" : "Admin",
- "Saved" : "Disimpan",
- "a safe home for all your data" : "rumah yang aman untuk semua datamu",
- "The given name is too long" : "Pemberian nama terlalu panjang",
- "The given web address is too long" : "Pemberian alamat web terlalu panjang",
- "The given slogan is too long" : "Pemberian slogan terlalu panjang",
- "The file was uploaded" : "Berkas terunggah",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Berkas terunggah melampau parameter upload_max_filesize pada php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Berkas yang diunggah melampaui direktif MAX_FILE_SIZE yang ditentukan dalam formulir HTML.",
- "The file was only partially uploaded" : "Berkas hanya sebagian terunggah",
- "No file was uploaded" : "Tidak ada berkas yang diunggah",
- "Missing a temporary folder" : "Folder sementara tidak ada",
- "Could not write file to disk" : "Tidak dapat menulis berkas ke disk",
- "A PHP extension stopped the file upload" : "Ekstensi PHP menghentikan proses unggah berkas",
- "No file uploaded" : "Tidak ada file diunggah",
- "Theming" : "Tema",
- "Dark theme" : "Tema gelap",
- "Enable dark theme" : "Aktifkan tema gelap",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tema gelap dapat membuat mata anda tidak cepat lelah dengan mengurangi tingkat kecerahan dan banyaknya cahaya. Fitur ini masih dalam tahap pengembangan, tolong laporkan masalah yang anda temui.",
- "Dyslexia font" : "Font disleksia",
- "Enable dyslexia font" : "Aktifkan fon disleksia",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic adalah typeface/font gratis yang didesain untuk mengurangi kesalahan membaca oleh penderita disleksia",
- "High contrast mode" : "Mode kontras tinggi",
- "Enable high contrast mode" : "Aktifkan mode kontras tinggi",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Mode kontras tinggi untuk memudahkan navigasi Anda. Kualitas visual akan berkurang tetapi kejelasan akan meningkat.",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Akses universal sangat penting bagi kami. Kami mengikuti standar web dan memeriksa agar semua dapat digunakan, bahkan saat tanpa menggunakan tetikus, dan lainnya seperti perangkat lunak pembantu pembaca layar. Kami bertujuan untuk mematuhi {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 pada tingkat AA, dengan tema kontras tinggi bahkan pada tingkat AAA.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Jika Anda menemukan isu, jangan sungkan untuk melaporkan pada {issuetracker}pelacakan isu kami{linkend}. Silakan gabung dan berkontribusi dengan {designteam}tim desain kami{linkend} jika Anda ingin!",
- "Open documentation" : "Buka dokumentasi",
- "Name" : "Nama",
- "Slogan" : "Slogan",
- "Color" : "Warna",
- "Logo" : "Logo",
- "Upload new logo" : "Unggah Logo baru",
- "Login image" : "Gambar ketika masuk",
- "Advanced options" : "Opsi lanjutan"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/ka_GE.js b/apps/theming/l10n/ka_GE.js
deleted file mode 100644
index e6f5f3906dd..00000000000
--- a/apps/theming/l10n/ka_GE.js
+++ /dev/null
@@ -1,46 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "პრევიუს ჩატვირთვა…",
- "Admin" : "ადმინისტრაცია",
- "Saved" : "შენახულია",
- "a safe home for all your data" : "უსაფრთხო სახლი მთელი თქვენი მონაცემებისათვის",
- "Name cannot be empty" : "სახელი ვერ იქნება ცარიელი",
- "The given name is too long" : "მოცემული სახელი ძალიან გრძელია",
- "The given web address is too long" : "მოცემული ვებ-მისამართი ძალიან გრძელია",
- "The given slogan is too long" : "მოცემული ლოზუნგი ძალიან გრძელია",
- "The given color is invalid" : "მოცემული ფერი არასწორია",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "ატვირთული ფაილი აჭარბებს php.ini-ში დაყენებულ upload_max_filesize დირექტივას",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "ატვირთული ფაილი აჭარბებს HTML ფორამაში მითითებულ MAX_FILE_SIZE დირექტივას",
- "No file was uploaded" : "ფაილი არ აიტვირთა",
- "Missing a temporary folder" : "დროებითი დირექტორია არ არსებობს",
- "No file uploaded" : "ფაილი არ იქნა ატვირთული",
- "Theming" : "ვიზუალური თემები",
- "Dark theme" : "მუქი თემა",
- "Enable dark theme" : "მუქი თემის გააქტიურება",
- "Dyslexia font" : "შრიფტი Dyslexia ",
- "Enable dyslexia font" : "ჩართე დისლექსიის შრიფტი",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic-ი უფასო გარნიტურა/შრიფტია, რომელიც შექმნილია დისლექსიით გამოწვეული წაკითხვის ზოგიერთი პრობლემის აღმოსაფხვრელად.",
- "High contrast mode" : "მაღალ-კონტრასტული რეჟიმი",
- "Enable high contrast mode" : "ჩართე მაღალ-კონტრასტული რეჟიმი",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "მაღალ-კონტრასტული რეჟიმი თქვენი ნავიგაციის გასამარტივებლად. ვიზუალური ხარისხი შემცირდება, თუმცა, გაიზრდება სიმკვეთრე. ",
- "Keyboard shortcuts" : "კლავიატურის კომბინაციები",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "უნივერსალური წვდომა ჩვენთვის ძალზედ მნივნელოვანია. ჩვენ მივსდევთ ინტერნეტის სტანდარტებს და ვცდილობთ გავხადოთ ყველაფერი ხელმისაწვდომი მაუსის და დამხამრე პროგრამული უზრუნველყოფის გარეშე, ისეთის როგორიცაა ეკრანის წამკითხველი. ჩვენი მიზანია შესაბამისობაში ვიყოთ {guidelines}ქსელის შიგთავსის ხელმისაწვდომობის სახელმძღვანელო{linkend} 2.1-თან AA დონეზე, ხოლო მაღალ-კონტრასტული თემით AAA დონეზეც კი.",
- "Pick from Files" : "აირჩიე ფაილებიდან",
- "Plain background" : "ცარიელი ფონი",
- "Insert from {productName}" : "შეავსეთ {productName}-დან",
- "Open documentation" : "ღია დოკუმენტაცია",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "ვიზუალური თემები საშუალებას გაძლევთ თქვენს ინსტანციას და მხარდაჭერილ კლიენტებს მარტივად გაუწიოთ გამოსახულებას პერსონალიზაცია. ეს გამოჩნდება ყველა მომხმარებელთან.",
- "Name" : "სახელი",
- "Reset to default" : "საწყის მდგომარეობაში დაბრუნება",
- "Slogan" : "ლოზუნგი",
- "Color" : "ფერი",
- "Logo" : "ლოგო",
- "Upload new logo" : "ახალი ლოგოს ატვირთვა",
- "Login image" : "ლოგინის სურათი",
- "Upload new login background" : "ლოგინის ახალი ფონის ატვირთვა",
- "Remove background image" : "ფონური სურათის მოშორება",
- "Advanced options" : "დამატებითი ოპციონები",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "SVG სურთების მხარდაჭერის მქონე Imagemagick PHP გაფართოების დაყენება ფავიკონებს ატვირთული ლოგოსა და ფერის მიხევით დააგენერირებს ავტომატურად."
-},
-"nplurals=2; plural=(n!=1);");
diff --git a/apps/theming/l10n/ka_GE.json b/apps/theming/l10n/ka_GE.json
deleted file mode 100644
index ef942d720c6..00000000000
--- a/apps/theming/l10n/ka_GE.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{ "translations": {
- "Loading preview…" : "პრევიუს ჩატვირთვა…",
- "Admin" : "ადმინისტრაცია",
- "Saved" : "შენახულია",
- "a safe home for all your data" : "უსაფრთხო სახლი მთელი თქვენი მონაცემებისათვის",
- "Name cannot be empty" : "სახელი ვერ იქნება ცარიელი",
- "The given name is too long" : "მოცემული სახელი ძალიან გრძელია",
- "The given web address is too long" : "მოცემული ვებ-მისამართი ძალიან გრძელია",
- "The given slogan is too long" : "მოცემული ლოზუნგი ძალიან გრძელია",
- "The given color is invalid" : "მოცემული ფერი არასწორია",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "ატვირთული ფაილი აჭარბებს php.ini-ში დაყენებულ upload_max_filesize დირექტივას",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "ატვირთული ფაილი აჭარბებს HTML ფორამაში მითითებულ MAX_FILE_SIZE დირექტივას",
- "No file was uploaded" : "ფაილი არ აიტვირთა",
- "Missing a temporary folder" : "დროებითი დირექტორია არ არსებობს",
- "No file uploaded" : "ფაილი არ იქნა ატვირთული",
- "Theming" : "ვიზუალური თემები",
- "Dark theme" : "მუქი თემა",
- "Enable dark theme" : "მუქი თემის გააქტიურება",
- "Dyslexia font" : "შრიფტი Dyslexia ",
- "Enable dyslexia font" : "ჩართე დისლექსიის შრიფტი",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic-ი უფასო გარნიტურა/შრიფტია, რომელიც შექმნილია დისლექსიით გამოწვეული წაკითხვის ზოგიერთი პრობლემის აღმოსაფხვრელად.",
- "High contrast mode" : "მაღალ-კონტრასტული რეჟიმი",
- "Enable high contrast mode" : "ჩართე მაღალ-კონტრასტული რეჟიმი",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "მაღალ-კონტრასტული რეჟიმი თქვენი ნავიგაციის გასამარტივებლად. ვიზუალური ხარისხი შემცირდება, თუმცა, გაიზრდება სიმკვეთრე. ",
- "Keyboard shortcuts" : "კლავიატურის კომბინაციები",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "უნივერსალური წვდომა ჩვენთვის ძალზედ მნივნელოვანია. ჩვენ მივსდევთ ინტერნეტის სტანდარტებს და ვცდილობთ გავხადოთ ყველაფერი ხელმისაწვდომი მაუსის და დამხამრე პროგრამული უზრუნველყოფის გარეშე, ისეთის როგორიცაა ეკრანის წამკითხველი. ჩვენი მიზანია შესაბამისობაში ვიყოთ {guidelines}ქსელის შიგთავსის ხელმისაწვდომობის სახელმძღვანელო{linkend} 2.1-თან AA დონეზე, ხოლო მაღალ-კონტრასტული თემით AAA დონეზეც კი.",
- "Pick from Files" : "აირჩიე ფაილებიდან",
- "Plain background" : "ცარიელი ფონი",
- "Insert from {productName}" : "შეავსეთ {productName}-დან",
- "Open documentation" : "ღია დოკუმენტაცია",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "ვიზუალური თემები საშუალებას გაძლევთ თქვენს ინსტანციას და მხარდაჭერილ კლიენტებს მარტივად გაუწიოთ გამოსახულებას პერსონალიზაცია. ეს გამოჩნდება ყველა მომხმარებელთან.",
- "Name" : "სახელი",
- "Reset to default" : "საწყის მდგომარეობაში დაბრუნება",
- "Slogan" : "ლოზუნგი",
- "Color" : "ფერი",
- "Logo" : "ლოგო",
- "Upload new logo" : "ახალი ლოგოს ატვირთვა",
- "Login image" : "ლოგინის სურათი",
- "Upload new login background" : "ლოგინის ახალი ფონის ატვირთვა",
- "Remove background image" : "ფონური სურათის მოშორება",
- "Advanced options" : "დამატებითი ოპციონები",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "SVG სურთების მხარდაჭერის მქონე Imagemagick PHP გაფართოების დაყენება ფავიკონებს ატვირთული ლოგოსა და ფერის მიხევით დააგენერირებს ავტომატურად."
-},"pluralForm" :"nplurals=2; plural=(n!=1);"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/lv.js b/apps/theming/l10n/lv.js
deleted file mode 100644
index 313a2fb8f8e..00000000000
--- a/apps/theming/l10n/lv.js
+++ /dev/null
@@ -1,40 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Ielādē priekšskatījumu...",
- "Admin" : "Admin",
- "Saved" : "Saglabāts",
- "a safe home for all your data" : "droša vieta visiem jūsu datiem",
- "The given name is too long" : "Norādītais nosaukums ir pārāk garš",
- "The given web address is too long" : "Norādītā adrese ir pārāk gara",
- "The given slogan is too long" : "Norādītais teiciens ir pārāk garšs",
- "The given color is invalid" : "Norādītā krāsa ir nederīga",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Augšupielādētā datne pārsniedz MAX_FILE_SIZE norādi, kas ir norādīta HTML formā",
- "No file was uploaded" : "Neviena datne netika augšupielādēta",
- "Missing a temporary folder" : "Trūkst pagaidu mapes",
- "No file uploaded" : "Nav augšupielādēta datne",
- "Theming" : "Dizains",
- "Dark theme" : "Tumšais motīvs",
- "Enable dark theme" : "Iespējot tumšo motīvu",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tumšais motīvs atslogo Tavas acis samazinot kopējo atspīdumu un spilgtumu. Tas joprojām atrodas izstrādes režīmā, tādēļ dod ziņu par jebkurām atrastajām problēmām.",
- "Dyslexia font" : "Dislektisks fonts",
- "Enable dyslexia font" : "Iespējot disleksijas fontu",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic ir bezmaksas fonts, kas veidots, lai mazinātu tipiskākos lasīšanas traucējumus, ko izraisa disleksija.",
- "High contrast mode" : "Augsta kontrasta režīms",
- "Enable high contrast mode" : "Iespējot augsta kontrasta režīmu",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Augsta kontrasta režīms atvieglo navigāciju. Vizuālā kvalitāte tiks samazināta, bet skaidrība paaugstināsies.",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universāla pieejamība mums ir ļoti svarīga. Mēs sekojam tīmekļa standartiem un panākam ka visu var lietot arī bez datorpeles, un palīgprogrammatūras, kā ekrāna lasītāja. Mēs mērķējam uz būšanu piekāpīgi ar {vadlīnijām}Tīmekļa satura pieejamības vadlīnijas{piesaistīts} 2.1 uz AA līmeņa, ar augsta kontrasta režīmu pat AAA līmenī",
- "Open documentation" : "Atvērt dokumentāciju",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Tēmošana padara iespējamu viegli pielāgot savas instances un atbalstošo klientaplikāciju izskatu un sajūtu. Tas būs redzams visiem lietotājiem.",
- "Name" : "Nosaukums",
- "Reset to default" : "Atiestatīt",
- "Slogan" : "Sauklis",
- "Color" : "Krāsa",
- "Logo" : "Logo",
- "Upload new logo" : "Augšupielādēt jaunu logo",
- "Login image" : "Pieteikšanās fona attēls",
- "Upload new login background" : "Augšupielādēt jaunu pieteikšanās fona attēlu",
- "Remove background image" : "Noņemt fona attēlu",
- "Advanced options" : "Papildu opcijas"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/theming/l10n/lv.json b/apps/theming/l10n/lv.json
deleted file mode 100644
index 0b9fa8d7389..00000000000
--- a/apps/theming/l10n/lv.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Ielādē priekšskatījumu...",
- "Admin" : "Admin",
- "Saved" : "Saglabāts",
- "a safe home for all your data" : "droša vieta visiem jūsu datiem",
- "The given name is too long" : "Norādītais nosaukums ir pārāk garš",
- "The given web address is too long" : "Norādītā adrese ir pārāk gara",
- "The given slogan is too long" : "Norādītais teiciens ir pārāk garšs",
- "The given color is invalid" : "Norādītā krāsa ir nederīga",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Augšupielādētā datne pārsniedz MAX_FILE_SIZE norādi, kas ir norādīta HTML formā",
- "No file was uploaded" : "Neviena datne netika augšupielādēta",
- "Missing a temporary folder" : "Trūkst pagaidu mapes",
- "No file uploaded" : "Nav augšupielādēta datne",
- "Theming" : "Dizains",
- "Dark theme" : "Tumšais motīvs",
- "Enable dark theme" : "Iespējot tumšo motīvu",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tumšais motīvs atslogo Tavas acis samazinot kopējo atspīdumu un spilgtumu. Tas joprojām atrodas izstrādes režīmā, tādēļ dod ziņu par jebkurām atrastajām problēmām.",
- "Dyslexia font" : "Dislektisks fonts",
- "Enable dyslexia font" : "Iespējot disleksijas fontu",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic ir bezmaksas fonts, kas veidots, lai mazinātu tipiskākos lasīšanas traucējumus, ko izraisa disleksija.",
- "High contrast mode" : "Augsta kontrasta režīms",
- "Enable high contrast mode" : "Iespējot augsta kontrasta režīmu",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Augsta kontrasta režīms atvieglo navigāciju. Vizuālā kvalitāte tiks samazināta, bet skaidrība paaugstināsies.",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universāla pieejamība mums ir ļoti svarīga. Mēs sekojam tīmekļa standartiem un panākam ka visu var lietot arī bez datorpeles, un palīgprogrammatūras, kā ekrāna lasītāja. Mēs mērķējam uz būšanu piekāpīgi ar {vadlīnijām}Tīmekļa satura pieejamības vadlīnijas{piesaistīts} 2.1 uz AA līmeņa, ar augsta kontrasta režīmu pat AAA līmenī",
- "Open documentation" : "Atvērt dokumentāciju",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Tēmošana padara iespējamu viegli pielāgot savas instances un atbalstošo klientaplikāciju izskatu un sajūtu. Tas būs redzams visiem lietotājiem.",
- "Name" : "Nosaukums",
- "Reset to default" : "Atiestatīt",
- "Slogan" : "Sauklis",
- "Color" : "Krāsa",
- "Logo" : "Logo",
- "Upload new logo" : "Augšupielādēt jaunu logo",
- "Login image" : "Pieteikšanās fona attēls",
- "Upload new login background" : "Augšupielādēt jaunu pieteikšanās fona attēlu",
- "Remove background image" : "Noņemt fona attēlu",
- "Advanced options" : "Papildu opcijas"
-},"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/theming/l10n/mn.js b/apps/theming/l10n/mn.js
deleted file mode 100644
index 942ea752eab..00000000000
--- a/apps/theming/l10n/mn.js
+++ /dev/null
@@ -1,29 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Урьдчилсан харагдцыг дуудаж байна...",
- "Saved" : "Хадгалах",
- "Admin" : "Админ",
- "a safe home for all your data" : "Таны өгөгдлүүдийн аюулгүй гэр",
- "The given name is too long" : "Өгсөн нэр хэтэрхий урт байна",
- "The given web address is too long" : "Өгсөн вэб хаяг хэтэрхий урт байна",
- "The given slogan is too long" : "Өгсөн уриа үг хэтэрхий урт байна",
- "The given color is invalid" : "Өнгө буруу байна",
- "No file uploaded" : "Файл илгээгдсэнгүй",
- "Unsupported image type" : "Дэмжигдэхгүй зургийн төрөл байна",
- "Theming" : "Загварчлал",
- "Name" : "Нэр",
- "Reset to default" : "Анхны байдлаар сэргээх",
- "Web address" : "Вэб хаяг",
- "Web address https://…" : "Вэб хаяг https://...",
- "Slogan" : "Уриа үг",
- "Color" : "Өнгө",
- "Logo" : "Бэлгэ тэмдэг",
- "Upload new logo" : "Шинэ бэлгэ тэмдэг байршуулах",
- "Login image" : "Нэвтрэх зураг",
- "Upload new login background" : "Нэвтрэх ханын зураг байршуулах",
- "Remove background image" : "Ханын зургийг хасах",
- "You are already using a custom theme" : "Та тусгай загварчлал ашиглаж байна",
- "reset to default" : "анхныхаар сэргээх"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/mn.json b/apps/theming/l10n/mn.json
deleted file mode 100644
index bce38de201b..00000000000
--- a/apps/theming/l10n/mn.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Урьдчилсан харагдцыг дуудаж байна...",
- "Saved" : "Хадгалах",
- "Admin" : "Админ",
- "a safe home for all your data" : "Таны өгөгдлүүдийн аюулгүй гэр",
- "The given name is too long" : "Өгсөн нэр хэтэрхий урт байна",
- "The given web address is too long" : "Өгсөн вэб хаяг хэтэрхий урт байна",
- "The given slogan is too long" : "Өгсөн уриа үг хэтэрхий урт байна",
- "The given color is invalid" : "Өнгө буруу байна",
- "No file uploaded" : "Файл илгээгдсэнгүй",
- "Unsupported image type" : "Дэмжигдэхгүй зургийн төрөл байна",
- "Theming" : "Загварчлал",
- "Name" : "Нэр",
- "Reset to default" : "Анхны байдлаар сэргээх",
- "Web address" : "Вэб хаяг",
- "Web address https://…" : "Вэб хаяг https://...",
- "Slogan" : "Уриа үг",
- "Color" : "Өнгө",
- "Logo" : "Бэлгэ тэмдэг",
- "Upload new logo" : "Шинэ бэлгэ тэмдэг байршуулах",
- "Login image" : "Нэвтрэх зураг",
- "Upload new login background" : "Нэвтрэх ханын зураг байршуулах",
- "Remove background image" : "Ханын зургийг хасах",
- "You are already using a custom theme" : "Та тусгай загварчлал ашиглаж байна",
- "reset to default" : "анхныхаар сэргээх"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/pt_PT.js b/apps/theming/l10n/pt_PT.js
deleted file mode 100644
index 16973ced9a4..00000000000
--- a/apps/theming/l10n/pt_PT.js
+++ /dev/null
@@ -1,67 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "The given name is too long" : "O nome atribuído é demasiado longo",
- "The given web address is too long" : "O endereço web atribuído é demasiado longo",
- "The given web address is not a valid URL" : "O endereço web indicado não é um URL válido",
- "The given privacy policy address is too long" : "O endereço da política de privacidade é muito longo",
- "The given privacy policy address is not a valid URL" : "O endereço da política de privacidade não é um URL válido",
- "The given slogan is too long" : "O slogan atribuído é demasiado longo",
- "The given color is invalid" : "A cor atribuída é inválida",
- "Saved" : "Guardado",
- "The file was uploaded" : "O ficheiro foi carregado",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O ficheiro carregado excede a directiva upload_max_filesize no php.ini ",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O ficheiro carregado excedo a directiva MAX_FILE_SIZE especificada no formulário HTML",
- "The file was only partially uploaded" : "O ficheiro foi apenas parcialmente carregado",
- "No file was uploaded" : "O ficheiro foi carregado",
- "Missing a temporary folder" : "Falta uma pasta temporária",
- "Could not write file to disk" : "Não foi possível escrever o ficheiro no disco.",
- "A PHP extension stopped the file upload" : "Uma extensão PHP parou o carregamento do ficheiro",
- "No file uploaded" : "Nenhum ficheiro carregado",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Já está a usar um tema personalizado. As configurações da aplicação Theming podem ser substituídas por isso.",
- "Theming" : "Temática",
- "Dark theme" : "Tema escuro",
- "Enable dark theme" : "Ativar tema escuro",
- "Dyslexia font" : "Tipo de letra \"Dyslexia\"",
- "Enable dyslexia font" : "Ativar tipo de letra \"Dyslexia\"",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic é um tipo de letra gratuito, desenhado para mitigar alguns dos problemas causados pela dislexia.",
- "High contrast mode" : "Modo de alto contraste",
- "Enable high contrast mode" : "Ativar modo de alto contraste",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Um modo de alto contraste para facilitar sua navegação. A qualidade visual será reduzida, mas a clareza será aumentada.",
- "Legal notice" : "Informação legal",
- "Privacy policy" : "Política de privacidade",
- "Adjust the Nextcloud theme" : "Configurar o tema do Nextcloud",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "A tematização possibilita a fácil personalização da aparência da sua instância e clientes suportados. Isto será visível para todos os utilizadores",
- "Advanced options" : "Opções avançadas",
- "Name" : "Nome",
- "Web link" : "Hiperligação da Web",
- "a safe home for all your data" : "Um local seguro para todos os seus dados",
- "Slogan" : "Slogan",
- "Color" : "Cor",
- "Logo" : "Logótipo",
- "Upload new logo" : "Carregar novo logótipo",
- "Legal notice link" : "Ligação da informação legal",
- "Privacy policy link" : "Ligação da politica de privacidade",
- "Header logo" : "Logótipo do cabeçalho",
- "Upload new header logo" : "Carregar logótipo do cabeçalho",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Carregar novo favicon",
- "Keyboard shortcuts" : "Atalhos de teclado",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e verificamos para tornar tudo utilizável também sem rato e software auxiliar, como leitores de ecrã. O nosso objetivo é estar em conformidade com as {guidelines} Diretrizes de acessibilidade para o conteúdo da Web {linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.",
- "Move up" : "Mover para cima",
- "Move down" : "Mover para baixo",
- "Reset to default" : "Repor original",
- "Upload" : "Enviar",
- "Remove background image" : "Remover imagem de segundo plano",
- "Loading preview…" : "A carregar pre-visualização...",
- "Admin" : "Administrador",
- "Name cannot be empty" : "O Nome não pode estar vazio",
- "Pick from Files" : "Escolha a partir dos Ficheiros",
- "Plain background" : "Fundo simples",
- "Insert from {productName}" : "Inserir de {productName}",
- "Open documentation" : "Abrir documentação",
- "https://…" : "https://…",
- "Upload new login background" : "Carregar imagem de segundo plano de Login",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte para imagens SVG para gerar automaticamente favicons com base na cor e no logotipo carregado."
-},
-"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/theming/l10n/pt_PT.json b/apps/theming/l10n/pt_PT.json
deleted file mode 100644
index 2305c70443a..00000000000
--- a/apps/theming/l10n/pt_PT.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{ "translations": {
- "The given name is too long" : "O nome atribuído é demasiado longo",
- "The given web address is too long" : "O endereço web atribuído é demasiado longo",
- "The given web address is not a valid URL" : "O endereço web indicado não é um URL válido",
- "The given privacy policy address is too long" : "O endereço da política de privacidade é muito longo",
- "The given privacy policy address is not a valid URL" : "O endereço da política de privacidade não é um URL válido",
- "The given slogan is too long" : "O slogan atribuído é demasiado longo",
- "The given color is invalid" : "A cor atribuída é inválida",
- "Saved" : "Guardado",
- "The file was uploaded" : "O ficheiro foi carregado",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O ficheiro carregado excede a directiva upload_max_filesize no php.ini ",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O ficheiro carregado excedo a directiva MAX_FILE_SIZE especificada no formulário HTML",
- "The file was only partially uploaded" : "O ficheiro foi apenas parcialmente carregado",
- "No file was uploaded" : "O ficheiro foi carregado",
- "Missing a temporary folder" : "Falta uma pasta temporária",
- "Could not write file to disk" : "Não foi possível escrever o ficheiro no disco.",
- "A PHP extension stopped the file upload" : "Uma extensão PHP parou o carregamento do ficheiro",
- "No file uploaded" : "Nenhum ficheiro carregado",
- "You are already using a custom theme. Theming app settings might be overwritten by that." : "Já está a usar um tema personalizado. As configurações da aplicação Theming podem ser substituídas por isso.",
- "Theming" : "Temática",
- "Dark theme" : "Tema escuro",
- "Enable dark theme" : "Ativar tema escuro",
- "Dyslexia font" : "Tipo de letra \"Dyslexia\"",
- "Enable dyslexia font" : "Ativar tipo de letra \"Dyslexia\"",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic é um tipo de letra gratuito, desenhado para mitigar alguns dos problemas causados pela dislexia.",
- "High contrast mode" : "Modo de alto contraste",
- "Enable high contrast mode" : "Ativar modo de alto contraste",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Um modo de alto contraste para facilitar sua navegação. A qualidade visual será reduzida, mas a clareza será aumentada.",
- "Legal notice" : "Informação legal",
- "Privacy policy" : "Política de privacidade",
- "Adjust the Nextcloud theme" : "Configurar o tema do Nextcloud",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "A tematização possibilita a fácil personalização da aparência da sua instância e clientes suportados. Isto será visível para todos os utilizadores",
- "Advanced options" : "Opções avançadas",
- "Name" : "Nome",
- "Web link" : "Hiperligação da Web",
- "a safe home for all your data" : "Um local seguro para todos os seus dados",
- "Slogan" : "Slogan",
- "Color" : "Cor",
- "Logo" : "Logótipo",
- "Upload new logo" : "Carregar novo logótipo",
- "Legal notice link" : "Ligação da informação legal",
- "Privacy policy link" : "Ligação da politica de privacidade",
- "Header logo" : "Logótipo do cabeçalho",
- "Upload new header logo" : "Carregar logótipo do cabeçalho",
- "Favicon" : "Favicon",
- "Upload new favicon" : "Carregar novo favicon",
- "Keyboard shortcuts" : "Atalhos de teclado",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e verificamos para tornar tudo utilizável também sem rato e software auxiliar, como leitores de ecrã. O nosso objetivo é estar em conformidade com as {guidelines} Diretrizes de acessibilidade para o conteúdo da Web {linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.",
- "Move up" : "Mover para cima",
- "Move down" : "Mover para baixo",
- "Reset to default" : "Repor original",
- "Upload" : "Enviar",
- "Remove background image" : "Remover imagem de segundo plano",
- "Loading preview…" : "A carregar pre-visualização...",
- "Admin" : "Administrador",
- "Name cannot be empty" : "O Nome não pode estar vazio",
- "Pick from Files" : "Escolha a partir dos Ficheiros",
- "Plain background" : "Fundo simples",
- "Insert from {productName}" : "Inserir de {productName}",
- "Open documentation" : "Abrir documentação",
- "https://…" : "https://…",
- "Upload new login background" : "Carregar imagem de segundo plano de Login",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte para imagens SVG para gerar automaticamente favicons com base na cor e no logotipo carregado."
-},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/sq.js b/apps/theming/l10n/sq.js
deleted file mode 100644
index f388d6dd3b5..00000000000
--- a/apps/theming/l10n/sq.js
+++ /dev/null
@@ -1,41 +0,0 @@
-OC.L10N.register(
- "theming",
- {
- "Loading preview…" : "Duke ngarkuar pamjen paraprake...",
- "Admin" : "Admin",
- "Saved" : "E ruajtur",
- "a safe home for all your data" : "një vënd i sigurtë për të dhënat e tua ",
- "The given name is too long" : "Emri i dhënë është tepër i gjatë ",
- "The given web address is too long" : "Adresa e dhënë e ueb-it është tepër e gjate ",
- "The given slogan is too long" : "Slogani i dhënë është shumë i gjatë ",
- "The given color is invalid" : "Ngjyra e dhënë është invalide ",
- "The file was uploaded" : "Skedari u ngarkua",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Kartela e ngarkuar tejkalon udhëzimin MAX_FILE_SIZE që qe përcaktuar te formulari HTML",
- "No file was uploaded" : "S’u ngarkua kartelë",
- "Missing a temporary folder" : "Mungon një dosje e përkohshme",
- "No file uploaded" : "Asnjë skedar i ngarkuar",
- "Theming" : "Duke vendosur theme-n",
- "Dark theme" : "Temë e errët",
- "Enable dark theme" : "Aktivizo temën e errët",
- "Dyslexia font" : "Fonti Dyslexia",
- "Enable dyslexia font" : "Aktivizo fontin e disleksisë",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic është një font / karakter tipografik i lirë i dizajnuar për të zbutur disa nga gabimet e zakonshme të leximit të shkaktuara nga disleksija.",
- "High contrast mode" : "Modalitet me kontrast të lartë",
- "Enable high contrast mode" : "Aktivizoni modalitetin me kontrast të lartë",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Një modalitet me kontrast të lartë për të lehtësuar lundrimin. Cilësia vizuale do të reduktohet por qartësia do të rritet",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Qasja universale është shumë e rëndësishme për ne. Ne ndjekim standardet e uebit dhe kontrollojmë që çdo gjë të jetë e përdorshme edhe pa miun, dhe softuerë ndihmës siç janë lexuesit e ekranit. Ne synojmë të jemi në përputhje me {udhëzimet}Udhëzimet mbi Aksesueshmërinë për Përmbajtjen në Internet{linkend} 2.1 në nivelin AA, me temën e kontrastit të lartë edhe në nivelin AAA.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Nëse gjeni ndonjë problem, mos hezitoni t'i raportoni ato në {issuetracker}gjurmuesi ynë i çështjeve{linkend}. Dhe nëse doni të përfshiheni, ejani bashkohuni me {designteam}ekipin tonë të dizajnit{linkend}!",
- "Open documentation" : "Dokumentacion i hapur",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming bën të mundur për të përshtatur lehtësisht pamjen dhe ndjenjën e instancës suaj dhe klientëve të mbështetur. Kjo do të jetë e dukshme për të gjithë përdoruesit.",
- "Name" : "Emri",
- "Reset to default" : "Rivendos tek të paracaktuarat",
- "Slogan" : "Sllogan",
- "Color" : "Ngjyrë ",
- "Logo" : "Logo",
- "Upload new logo" : "Ngarko logo të re ",
- "Login image" : "Imazhi i hyrjes",
- "Upload new login background" : "Ngarko background të ri hyrjeje",
- "Remove background image" : "Hiqni imazhin në sfond",
- "Advanced options" : "Opsione të avancuara"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/sq.json b/apps/theming/l10n/sq.json
deleted file mode 100644
index 7fa7b58ad25..00000000000
--- a/apps/theming/l10n/sq.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{ "translations": {
- "Loading preview…" : "Duke ngarkuar pamjen paraprake...",
- "Admin" : "Admin",
- "Saved" : "E ruajtur",
- "a safe home for all your data" : "një vënd i sigurtë për të dhënat e tua ",
- "The given name is too long" : "Emri i dhënë është tepër i gjatë ",
- "The given web address is too long" : "Adresa e dhënë e ueb-it është tepër e gjate ",
- "The given slogan is too long" : "Slogani i dhënë është shumë i gjatë ",
- "The given color is invalid" : "Ngjyra e dhënë është invalide ",
- "The file was uploaded" : "Skedari u ngarkua",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Kartela e ngarkuar tejkalon udhëzimin MAX_FILE_SIZE që qe përcaktuar te formulari HTML",
- "No file was uploaded" : "S’u ngarkua kartelë",
- "Missing a temporary folder" : "Mungon një dosje e përkohshme",
- "No file uploaded" : "Asnjë skedar i ngarkuar",
- "Theming" : "Duke vendosur theme-n",
- "Dark theme" : "Temë e errët",
- "Enable dark theme" : "Aktivizo temën e errët",
- "Dyslexia font" : "Fonti Dyslexia",
- "Enable dyslexia font" : "Aktivizo fontin e disleksisë",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic është një font / karakter tipografik i lirë i dizajnuar për të zbutur disa nga gabimet e zakonshme të leximit të shkaktuara nga disleksija.",
- "High contrast mode" : "Modalitet me kontrast të lartë",
- "Enable high contrast mode" : "Aktivizoni modalitetin me kontrast të lartë",
- "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Një modalitet me kontrast të lartë për të lehtësuar lundrimin. Cilësia vizuale do të reduktohet por qartësia do të rritet",
- "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Qasja universale është shumë e rëndësishme për ne. Ne ndjekim standardet e uebit dhe kontrollojmë që çdo gjë të jetë e përdorshme edhe pa miun, dhe softuerë ndihmës siç janë lexuesit e ekranit. Ne synojmë të jemi në përputhje me {udhëzimet}Udhëzimet mbi Aksesueshmërinë për Përmbajtjen në Internet{linkend} 2.1 në nivelin AA, me temën e kontrastit të lartë edhe në nivelin AAA.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Nëse gjeni ndonjë problem, mos hezitoni t'i raportoni ato në {issuetracker}gjurmuesi ynë i çështjeve{linkend}. Dhe nëse doni të përfshiheni, ejani bashkohuni me {designteam}ekipin tonë të dizajnit{linkend}!",
- "Open documentation" : "Dokumentacion i hapur",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming bën të mundur për të përshtatur lehtësisht pamjen dhe ndjenjën e instancës suaj dhe klientëve të mbështetur. Kjo do të jetë e dukshme për të gjithë përdoruesit.",
- "Name" : "Emri",
- "Reset to default" : "Rivendos tek të paracaktuarat",
- "Slogan" : "Sllogan",
- "Color" : "Ngjyrë ",
- "Logo" : "Logo",
- "Upload new logo" : "Ngarko logo të re ",
- "Login image" : "Imazhi i hyrjes",
- "Upload new login background" : "Ngarko background të ri hyrjeje",
- "Remove background image" : "Hiqni imazhin në sfond",
- "Advanced options" : "Opsione të avancuara"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/theming/l10n/tr.js b/apps/theming/l10n/tr.js
index 6d25031909d..418bc837641 100644
--- a/apps/theming/l10n/tr.js
+++ b/apps/theming/l10n/tr.js
@@ -28,7 +28,7 @@ OC.L10N.register(
"Theming" : "Tema",
"Appearance and accessibility" : "Görünüm ve erişilebilirlik",
"PHP Imagick module" : "PHP Imagick modülü",
- "The PHP module \"imagick\" is not enabled although the theming app is. For favicon generation to work correctly, you need to install and enable this module." : "Tema uygulamasında olmasına rağmen \"imagick\" PHP modülü etkin değil. Favicon oluşturma işleminin doğru çalışması için bu modülü kurmanız ve etkinleştirmeniz gerekir.",
+ "The PHP module \"imagick\" is not enabled although the theming app is. For favicon generation to work correctly, you need to install and enable this module." : "Tema uygulamasında olmasına rağmen \"imagick\" PHP modülü kullanıma alınmamış. Favicon oluşturma işleminin yapılabilmesi için bu modülü kurmanız ve kullanıma almanız gerekir.",
"The PHP module \"imagick\" in this instance has no SVG support. For better compatibility it is recommended to install it." : "Bu kopyadaki PHP \"imagick\" modülünde SVG desteği yok. Daha iyi başarım ve uyumluluk için bu modülün kurulması önemle önerilir.",
"Dark theme with high contrast mode" : "Koyu tema ve yüksek renk karşıtlığı kipi",
"Enable dark high contrast mode" : "Koyu yüksek renk karşıtlığı kipi kullanılsın",
@@ -64,8 +64,8 @@ OC.L10N.register(
"Favicon" : "Favicon",
"Upload new favicon" : "Yeni favicon yükle",
"User settings" : "Kullanıcı ayarları",
- "Disable user theming" : "Kullanıcı teması devre dışı bırakılsın",
- "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Kopyanızı seçip özelleştirebilmenize rağmen, kullanıcılar arka planlarını ve renklerini değiştirebilir. Özelleştirmenizi dayatmak istiyorsanız, bu seçeneği etkinleştirebilirsiniz.",
+ "Disable user theming" : "Kullanıcı teması kullanımdan kaldırılsın",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Kopyanızı seçip özelleştirebilmenize rağmen, kullanıcılar arka planlarını ve renklerini değiştirebilir. Özelleştirmenizi zorunlu kılmak istiyorsanız, bu seçeneği açabilirsiniz.",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Temalar kullandığınız kopyanın ve desteklenen istemcilerin genel görünümün kolayca değiştirilmesini sağlar. Tüm kullanıcılara görüntülenir.",
"Instead of a background image you can also configure a plain background color. If you use a background image changing this color will influence the color of the app menu icons." : "Arka plan görseli yerine düz bir arka plan rengi de yapılandırabilirsiniz. Arka plan görseli kullanıyorsanız bu rengi değiştirmek uygulama menüsü simgelerinin rengini etkiler.",
"Background color" : "Arka plan rengi",
@@ -81,13 +81,13 @@ OC.L10N.register(
"Appearance and accessibility settings" : "Görünüm ve erişilebilirlik ayarları",
"Misc accessibility options" : "Çeşitli erişilebilirlik seçenekleri",
"Enable blur background filter (may increase GPU load)" : "Arka plan bulanıklaştırılsın (grafik işlemci yükünü artırabilir)",
- "Customization has been disabled by your administrator" : "Özelleştirme yöneticiniz tarafından devre dışı bırakılmış",
+ "Customization has been disabled by your administrator" : "Özelleştirme özelliği yöneticiniz tarafından kapatılmış",
"Set a primary color to highlight important elements. The color used for elements such as primary buttons might differ a bit as it gets adjusted to fulfill accessibility requirements." : "Önemli ögeleri vurgulamak için bir birincil renk ayarlayın. Birincil düğmeler gibi ögeler için kullanılan renk, erişilebilirlik gereksinimlerini karşılamak üzere ayarlandığında biraz farklılık gösterebilir.",
"Background and color" : "Arka plan ve renk",
"The background can be set to an image from the default set, a custom uploaded image, or a plain color." : "Arka plan varsayılan ayardaki bir görsele, özel olarak yüklenen bir görsele veya düz bir renge ayarlanabilir.",
"Keyboard shortcuts" : "Kısayol tuşları",
- "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Bazı durumlarda klavye kısayolları erişilebilirlik araçlarına etki edebilir. Aracınıza doğru şekilde odaklanmanızı sağlamak için tüm klavye kısayollarını buradan kullanımdan kaldırabilirsiniz. Bu aynı zamanda uygulamalarda var olan tüm kısayolları da devre dışı bırakır.",
- "Disable all keyboard shortcuts" : "Tüm klavye kısayolları devre dışı bırakılsın",
+ "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Bazı durumlarda klavye kısayolları erişilebilirlik araçlarına etki edebilir. Aracınıza doğru şekilde odaklanmanızı sağlamak için tüm klavye kısayollarını buradan kullanımdan kaldırabilirsiniz. Bu aynı zamanda uygulamalarda var olan tüm kısayolları da kullanımdan kaldırır.",
+ "Disable all keyboard shortcuts" : "Tüm klavye kısayolları kullanımdan kaldırılsın",
"Current selected app: {app}, position {position} of {total}" : "Seçilmiş geçerli uygulama: {app}, {position} / {total} konumunda",
"Move up" : "Yukarı taşı",
"Move down" : "Aşağı taşı",
@@ -97,7 +97,7 @@ OC.L10N.register(
"Custom background" : "Özel arka plan",
"Plain background" : "Düz arka plan",
"Default background" : "Varsayılan arka plan",
- "Theme selection is enforced" : "Tema seçimi zorunludur",
+ "Theme selection is enforced" : "Tema seçimi zorunlu kılınmış",
"Could not set the app order" : "Uygulama sırası ayarlanamadı",
"Could not reset the app order" : "Uygulama sırasını sıfırla",
"Navigation bar settings" : "Gezinme çubuğu ayarları",
@@ -114,7 +114,7 @@ OC.L10N.register(
"Global default app" : "Genel varsayılan uygulama",
"Global default apps" : "Genel varsayılan uygulamalar",
"Default app priority" : "Varsayılan uygulama önceliği",
- "If an app is not enabled for a user, the next app with lower priority is used." : "Bir uygulama, bir kullanıcı için etkin değilse, daha düşük öncelikli bir sonraki uygulama kullanılır.",
+ "If an app is not enabled for a user, the next app with lower priority is used." : "Bir uygulama, bir kullanıcı için kullanıma alınmamışsa, daha düşük öncelikli bir sonraki uygulama kullanılır.",
"Select a custom color" : "Özel bir renk seçin",
"Reset to default" : "Varsayılanlara dön",
"Upload" : "Yükle",
diff --git a/apps/theming/l10n/tr.json b/apps/theming/l10n/tr.json
index badb441f694..3642c44db8f 100644
--- a/apps/theming/l10n/tr.json
+++ b/apps/theming/l10n/tr.json
@@ -26,7 +26,7 @@
"Theming" : "Tema",
"Appearance and accessibility" : "Görünüm ve erişilebilirlik",
"PHP Imagick module" : "PHP Imagick modülü",
- "The PHP module \"imagick\" is not enabled although the theming app is. For favicon generation to work correctly, you need to install and enable this module." : "Tema uygulamasında olmasına rağmen \"imagick\" PHP modülü etkin değil. Favicon oluşturma işleminin doğru çalışması için bu modülü kurmanız ve etkinleştirmeniz gerekir.",
+ "The PHP module \"imagick\" is not enabled although the theming app is. For favicon generation to work correctly, you need to install and enable this module." : "Tema uygulamasında olmasına rağmen \"imagick\" PHP modülü kullanıma alınmamış. Favicon oluşturma işleminin yapılabilmesi için bu modülü kurmanız ve kullanıma almanız gerekir.",
"The PHP module \"imagick\" in this instance has no SVG support. For better compatibility it is recommended to install it." : "Bu kopyadaki PHP \"imagick\" modülünde SVG desteği yok. Daha iyi başarım ve uyumluluk için bu modülün kurulması önemle önerilir.",
"Dark theme with high contrast mode" : "Koyu tema ve yüksek renk karşıtlığı kipi",
"Enable dark high contrast mode" : "Koyu yüksek renk karşıtlığı kipi kullanılsın",
@@ -62,8 +62,8 @@
"Favicon" : "Favicon",
"Upload new favicon" : "Yeni favicon yükle",
"User settings" : "Kullanıcı ayarları",
- "Disable user theming" : "Kullanıcı teması devre dışı bırakılsın",
- "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Kopyanızı seçip özelleştirebilmenize rağmen, kullanıcılar arka planlarını ve renklerini değiştirebilir. Özelleştirmenizi dayatmak istiyorsanız, bu seçeneği etkinleştirebilirsiniz.",
+ "Disable user theming" : "Kullanıcı teması kullanımdan kaldırılsın",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Kopyanızı seçip özelleştirebilmenize rağmen, kullanıcılar arka planlarını ve renklerini değiştirebilir. Özelleştirmenizi zorunlu kılmak istiyorsanız, bu seçeneği açabilirsiniz.",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Temalar kullandığınız kopyanın ve desteklenen istemcilerin genel görünümün kolayca değiştirilmesini sağlar. Tüm kullanıcılara görüntülenir.",
"Instead of a background image you can also configure a plain background color. If you use a background image changing this color will influence the color of the app menu icons." : "Arka plan görseli yerine düz bir arka plan rengi de yapılandırabilirsiniz. Arka plan görseli kullanıyorsanız bu rengi değiştirmek uygulama menüsü simgelerinin rengini etkiler.",
"Background color" : "Arka plan rengi",
@@ -79,13 +79,13 @@
"Appearance and accessibility settings" : "Görünüm ve erişilebilirlik ayarları",
"Misc accessibility options" : "Çeşitli erişilebilirlik seçenekleri",
"Enable blur background filter (may increase GPU load)" : "Arka plan bulanıklaştırılsın (grafik işlemci yükünü artırabilir)",
- "Customization has been disabled by your administrator" : "Özelleştirme yöneticiniz tarafından devre dışı bırakılmış",
+ "Customization has been disabled by your administrator" : "Özelleştirme özelliği yöneticiniz tarafından kapatılmış",
"Set a primary color to highlight important elements. The color used for elements such as primary buttons might differ a bit as it gets adjusted to fulfill accessibility requirements." : "Önemli ögeleri vurgulamak için bir birincil renk ayarlayın. Birincil düğmeler gibi ögeler için kullanılan renk, erişilebilirlik gereksinimlerini karşılamak üzere ayarlandığında biraz farklılık gösterebilir.",
"Background and color" : "Arka plan ve renk",
"The background can be set to an image from the default set, a custom uploaded image, or a plain color." : "Arka plan varsayılan ayardaki bir görsele, özel olarak yüklenen bir görsele veya düz bir renge ayarlanabilir.",
"Keyboard shortcuts" : "Kısayol tuşları",
- "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Bazı durumlarda klavye kısayolları erişilebilirlik araçlarına etki edebilir. Aracınıza doğru şekilde odaklanmanızı sağlamak için tüm klavye kısayollarını buradan kullanımdan kaldırabilirsiniz. Bu aynı zamanda uygulamalarda var olan tüm kısayolları da devre dışı bırakır.",
- "Disable all keyboard shortcuts" : "Tüm klavye kısayolları devre dışı bırakılsın",
+ "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Bazı durumlarda klavye kısayolları erişilebilirlik araçlarına etki edebilir. Aracınıza doğru şekilde odaklanmanızı sağlamak için tüm klavye kısayollarını buradan kullanımdan kaldırabilirsiniz. Bu aynı zamanda uygulamalarda var olan tüm kısayolları da kullanımdan kaldırır.",
+ "Disable all keyboard shortcuts" : "Tüm klavye kısayolları kullanımdan kaldırılsın",
"Current selected app: {app}, position {position} of {total}" : "Seçilmiş geçerli uygulama: {app}, {position} / {total} konumunda",
"Move up" : "Yukarı taşı",
"Move down" : "Aşağı taşı",
@@ -95,7 +95,7 @@
"Custom background" : "Özel arka plan",
"Plain background" : "Düz arka plan",
"Default background" : "Varsayılan arka plan",
- "Theme selection is enforced" : "Tema seçimi zorunludur",
+ "Theme selection is enforced" : "Tema seçimi zorunlu kılınmış",
"Could not set the app order" : "Uygulama sırası ayarlanamadı",
"Could not reset the app order" : "Uygulama sırasını sıfırla",
"Navigation bar settings" : "Gezinme çubuğu ayarları",
@@ -112,7 +112,7 @@
"Global default app" : "Genel varsayılan uygulama",
"Global default apps" : "Genel varsayılan uygulamalar",
"Default app priority" : "Varsayılan uygulama önceliği",
- "If an app is not enabled for a user, the next app with lower priority is used." : "Bir uygulama, bir kullanıcı için etkin değilse, daha düşük öncelikli bir sonraki uygulama kullanılır.",
+ "If an app is not enabled for a user, the next app with lower priority is used." : "Bir uygulama, bir kullanıcı için kullanıma alınmamışsa, daha düşük öncelikli bir sonraki uygulama kullanılır.",
"Select a custom color" : "Özel bir renk seçin",
"Reset to default" : "Varsayılanlara dön",
"Upload" : "Yükle",
diff --git a/apps/updatenotification/l10n/af.js b/apps/updatenotification/l10n/af.js
deleted file mode 100644
index 3bd4b3c5570..00000000000
--- a/apps/updatenotification/l10n/af.js
+++ /dev/null
@@ -1,25 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} is beskikbaar. Kry meer inligting oor hoe om by te werk.",
- "Update notifications" : "Werk kennisgewings by",
- "Channel updated" : "Kanaal bygewerk",
- "The update server could not be reached since %d days to check for new updates." : "Die bywerkingsbediener kan al vir %d dae nie bereik word om nuwe bywerkings te soek nie.",
- "Please check the Nextcloud and server log files for errors." : "Gaan die Nextcloud- en bedienerloglêers na vir foute.",
- "Update to %1$s is available." : "Bywerking vir %1$s is beskikbaar.",
- "Update for %1$s to version %2$s is available." : "Bywerking vir %1$s na weergawe %2$s is beskikbaar.",
- "Update for {app} to version %s is available." : "Bywerking vir {app} na weergawe %s is beskikbaar.",
- "Open updater" : "Open bywerker",
- "Your version is up to date." : "U weergawe is op datum.",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "U kan altyd na ’n nuwer weergawe / eksperimentele kanaal bywerk. U kan egter nooit na ’n stabieler kanaal afgradeer nie.",
- "Notify members of the following groups about available updates:" : "Stel lede van die volgende groepe in kennis van beskikbare bywerkings:",
- "Only notification for app updates are available." : "Slegs kennisgewing vir toepbywerking is beskikbaar.",
- "The selected update channel does not support updates of the server." : "Die gekose bywerkkanaal ondersteun nie bedienerbywerkings nie.",
- "Could not start updater, please try the manual update" : "Bywerker kon nie begin nie, probeer handmatig bywerk",
- "A new version is available: %s" : "’n nuwe weergawe is beskikbaar: %s",
- "Download now" : "Laai nou af",
- "Checked on %s" : "Gekyk op %s",
- "Update channel:" : "Werk kanaal by:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "Die gekose bywerkingskanaal maak toegewyde bedienerkennisgewings oorbodig."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/af.json b/apps/updatenotification/l10n/af.json
deleted file mode 100644
index cd927925168..00000000000
--- a/apps/updatenotification/l10n/af.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} is beskikbaar. Kry meer inligting oor hoe om by te werk.",
- "Update notifications" : "Werk kennisgewings by",
- "Channel updated" : "Kanaal bygewerk",
- "The update server could not be reached since %d days to check for new updates." : "Die bywerkingsbediener kan al vir %d dae nie bereik word om nuwe bywerkings te soek nie.",
- "Please check the Nextcloud and server log files for errors." : "Gaan die Nextcloud- en bedienerloglêers na vir foute.",
- "Update to %1$s is available." : "Bywerking vir %1$s is beskikbaar.",
- "Update for %1$s to version %2$s is available." : "Bywerking vir %1$s na weergawe %2$s is beskikbaar.",
- "Update for {app} to version %s is available." : "Bywerking vir {app} na weergawe %s is beskikbaar.",
- "Open updater" : "Open bywerker",
- "Your version is up to date." : "U weergawe is op datum.",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "U kan altyd na ’n nuwer weergawe / eksperimentele kanaal bywerk. U kan egter nooit na ’n stabieler kanaal afgradeer nie.",
- "Notify members of the following groups about available updates:" : "Stel lede van die volgende groepe in kennis van beskikbare bywerkings:",
- "Only notification for app updates are available." : "Slegs kennisgewing vir toepbywerking is beskikbaar.",
- "The selected update channel does not support updates of the server." : "Die gekose bywerkkanaal ondersteun nie bedienerbywerkings nie.",
- "Could not start updater, please try the manual update" : "Bywerker kon nie begin nie, probeer handmatig bywerk",
- "A new version is available: %s" : "’n nuwe weergawe is beskikbaar: %s",
- "Download now" : "Laai nou af",
- "Checked on %s" : "Gekyk op %s",
- "Update channel:" : "Werk kanaal by:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "Die gekose bywerkingskanaal maak toegewyde bedienerkennisgewings oorbodig."
-},"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
deleted file mode 100644
index 4e2a947c404..00000000000
--- a/apps/updatenotification/l10n/az.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "Updater" : "Yeniləyici",
- "A new version is available: %s" : "Yeni versiya mövcuddur: %s"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/az.json b/apps/updatenotification/l10n/az.json
deleted file mode 100644
index 81ad8b46130..00000000000
--- a/apps/updatenotification/l10n/az.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "Updater" : "Yeniləyici",
- "A new version is available: %s" : "Yeni versiya mövcuddur: %s"
-},"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
deleted file mode 100644
index f86c8f51d6d..00000000000
--- a/apps/updatenotification/l10n/bn_BD.js
+++ /dev/null
@@ -1,6 +0,0 @@
-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
deleted file mode 100644
index 09a72a17e2c..00000000000
--- a/apps/updatenotification/l10n/bn_BD.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "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
deleted file mode 100644
index 63d9986a300..00000000000
--- a/apps/updatenotification/l10n/bs.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "Updater" : "Unapređivač",
- "A new version is available: %s" : "Dostupna je nova verzija: %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/updatenotification/l10n/bs.json b/apps/updatenotification/l10n/bs.json
deleted file mode 100644
index 6bf82bb0714..00000000000
--- a/apps/updatenotification/l10n/bs.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "Updater" : "Unapređivač",
- "A new version is available: %s" : "Dostupna je nova verzija: %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/updatenotification/l10n/es_419.js b/apps/updatenotification/l10n/es_419.js
deleted file mode 100644
index 160f50324b3..00000000000
--- a/apps/updatenotification/l10n/es_419.js
+++ /dev/null
@@ -1,27 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/es_419.json b/apps/updatenotification/l10n/es_419.json
deleted file mode 100644
index 6deb3d02df1..00000000000
--- a/apps/updatenotification/l10n/es_419.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es_CL.js b/apps/updatenotification/l10n/es_CL.js
deleted file mode 100644
index f09f9942fa9..00000000000
--- a/apps/updatenotification/l10n/es_CL.js
+++ /dev/null
@@ -1,29 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "Update notification" : "Notificación de actualización",
- "Update" : "Actualizar",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "La versión que estas corriendo ya no cuenta con mantenimiento. Por favor asegurate de actualizar a una versión soportada lo antes posible. ",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "A new version is available: <strong>{newVersionString}</strong>" : "Una versión más reciente está disponible: <strong>{newVersionString}</strong>",
- "Checked on {lastCheckedDate}" : "Verificado el {lastCheckedDate}",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor asegurate que en tu config.php no se establezca <samp>appstoreenabled</samp> como falso.",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible."
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/updatenotification/l10n/es_CL.json b/apps/updatenotification/l10n/es_CL.json
deleted file mode 100644
index 3e2c0df5e36..00000000000
--- a/apps/updatenotification/l10n/es_CL.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "Update notification" : "Notificación de actualización",
- "Update" : "Actualizar",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "La versión que estas corriendo ya no cuenta con mantenimiento. Por favor asegurate de actualizar a una versión soportada lo antes posible. ",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "A new version is available: <strong>{newVersionString}</strong>" : "Una versión más reciente está disponible: <strong>{newVersionString}</strong>",
- "Checked on {lastCheckedDate}" : "Verificado el {lastCheckedDate}",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor asegurate que en tu config.php no se establezca <samp>appstoreenabled</samp> como falso.",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible."
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es_CO.js b/apps/updatenotification/l10n/es_CO.js
deleted file mode 100644
index f09f9942fa9..00000000000
--- a/apps/updatenotification/l10n/es_CO.js
+++ /dev/null
@@ -1,29 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "Update notification" : "Notificación de actualización",
- "Update" : "Actualizar",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "La versión que estas corriendo ya no cuenta con mantenimiento. Por favor asegurate de actualizar a una versión soportada lo antes posible. ",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "A new version is available: <strong>{newVersionString}</strong>" : "Una versión más reciente está disponible: <strong>{newVersionString}</strong>",
- "Checked on {lastCheckedDate}" : "Verificado el {lastCheckedDate}",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor asegurate que en tu config.php no se establezca <samp>appstoreenabled</samp> como falso.",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible."
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/updatenotification/l10n/es_CO.json b/apps/updatenotification/l10n/es_CO.json
deleted file mode 100644
index 3e2c0df5e36..00000000000
--- a/apps/updatenotification/l10n/es_CO.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "Update notification" : "Notificación de actualización",
- "Update" : "Actualizar",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "La versión que estas corriendo ya no cuenta con mantenimiento. Por favor asegurate de actualizar a una versión soportada lo antes posible. ",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "A new version is available: <strong>{newVersionString}</strong>" : "Una versión más reciente está disponible: <strong>{newVersionString}</strong>",
- "Checked on {lastCheckedDate}" : "Verificado el {lastCheckedDate}",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor asegurate que en tu config.php no se establezca <samp>appstoreenabled</samp> como falso.",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible."
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es_CR.js b/apps/updatenotification/l10n/es_CR.js
deleted file mode 100644
index f09f9942fa9..00000000000
--- a/apps/updatenotification/l10n/es_CR.js
+++ /dev/null
@@ -1,29 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "Update notification" : "Notificación de actualización",
- "Update" : "Actualizar",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "La versión que estas corriendo ya no cuenta con mantenimiento. Por favor asegurate de actualizar a una versión soportada lo antes posible. ",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "A new version is available: <strong>{newVersionString}</strong>" : "Una versión más reciente está disponible: <strong>{newVersionString}</strong>",
- "Checked on {lastCheckedDate}" : "Verificado el {lastCheckedDate}",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor asegurate que en tu config.php no se establezca <samp>appstoreenabled</samp> como falso.",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible."
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/updatenotification/l10n/es_CR.json b/apps/updatenotification/l10n/es_CR.json
deleted file mode 100644
index 3e2c0df5e36..00000000000
--- a/apps/updatenotification/l10n/es_CR.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "Update notification" : "Notificación de actualización",
- "Update" : "Actualizar",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "La versión que estas corriendo ya no cuenta con mantenimiento. Por favor asegurate de actualizar a una versión soportada lo antes posible. ",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "A new version is available: <strong>{newVersionString}</strong>" : "Una versión más reciente está disponible: <strong>{newVersionString}</strong>",
- "Checked on {lastCheckedDate}" : "Verificado el {lastCheckedDate}",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor asegurate que en tu config.php no se establezca <samp>appstoreenabled</samp> como falso.",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible."
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es_DO.js b/apps/updatenotification/l10n/es_DO.js
deleted file mode 100644
index f09f9942fa9..00000000000
--- a/apps/updatenotification/l10n/es_DO.js
+++ /dev/null
@@ -1,29 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "Update notification" : "Notificación de actualización",
- "Update" : "Actualizar",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "La versión que estas corriendo ya no cuenta con mantenimiento. Por favor asegurate de actualizar a una versión soportada lo antes posible. ",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "A new version is available: <strong>{newVersionString}</strong>" : "Una versión más reciente está disponible: <strong>{newVersionString}</strong>",
- "Checked on {lastCheckedDate}" : "Verificado el {lastCheckedDate}",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor asegurate que en tu config.php no se establezca <samp>appstoreenabled</samp> como falso.",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible."
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/updatenotification/l10n/es_DO.json b/apps/updatenotification/l10n/es_DO.json
deleted file mode 100644
index 3e2c0df5e36..00000000000
--- a/apps/updatenotification/l10n/es_DO.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "Update notification" : "Notificación de actualización",
- "Update" : "Actualizar",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "La versión que estas corriendo ya no cuenta con mantenimiento. Por favor asegurate de actualizar a una versión soportada lo antes posible. ",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "A new version is available: <strong>{newVersionString}</strong>" : "Una versión más reciente está disponible: <strong>{newVersionString}</strong>",
- "Checked on {lastCheckedDate}" : "Verificado el {lastCheckedDate}",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor asegurate que en tu config.php no se establezca <samp>appstoreenabled</samp> como falso.",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible."
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es_GT.js b/apps/updatenotification/l10n/es_GT.js
deleted file mode 100644
index 8df5ff2384e..00000000000
--- a/apps/updatenotification/l10n/es_GT.js
+++ /dev/null
@@ -1,29 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "Update notification" : "Notificación de actualización",
- "Update" : "Actualizar",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "La versión que estas corriendo ya no cuenta con mantenimiento. Por favor asegurate de actualizar a una versión soportada lo antes posible. ",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "A new version is available: <strong>{newVersionString}</strong>" : "Una versión más reciente está disponible: <strong>{newVersionString}</strong>",
- "Checked on {lastCheckedDate}" : "Verificado el {lastCheckedDate}",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor asegurate que en tu config.php no se establezca <samp>appstoreenabled</samp> como falso.",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update channel:" : "Actualizar el canal:"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/updatenotification/l10n/es_GT.json b/apps/updatenotification/l10n/es_GT.json
deleted file mode 100644
index 873d99c4031..00000000000
--- a/apps/updatenotification/l10n/es_GT.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "Update notification" : "Notificación de actualización",
- "Update" : "Actualizar",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "La versión que estas corriendo ya no cuenta con mantenimiento. Por favor asegurate de actualizar a una versión soportada lo antes posible. ",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "A new version is available: <strong>{newVersionString}</strong>" : "Una versión más reciente está disponible: <strong>{newVersionString}</strong>",
- "Checked on {lastCheckedDate}" : "Verificado el {lastCheckedDate}",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor asegurate que en tu config.php no se establezca <samp>appstoreenabled</samp> como falso.",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update channel:" : "Actualizar el canal:"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es_HN.js b/apps/updatenotification/l10n/es_HN.js
deleted file mode 100644
index 160f50324b3..00000000000
--- a/apps/updatenotification/l10n/es_HN.js
+++ /dev/null
@@ -1,27 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/es_HN.json b/apps/updatenotification/l10n/es_HN.json
deleted file mode 100644
index 6deb3d02df1..00000000000
--- a/apps/updatenotification/l10n/es_HN.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es_NI.js b/apps/updatenotification/l10n/es_NI.js
deleted file mode 100644
index 160f50324b3..00000000000
--- a/apps/updatenotification/l10n/es_NI.js
+++ /dev/null
@@ -1,27 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/es_NI.json b/apps/updatenotification/l10n/es_NI.json
deleted file mode 100644
index 6deb3d02df1..00000000000
--- a/apps/updatenotification/l10n/es_NI.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es_PA.js b/apps/updatenotification/l10n/es_PA.js
deleted file mode 100644
index 160f50324b3..00000000000
--- a/apps/updatenotification/l10n/es_PA.js
+++ /dev/null
@@ -1,27 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/es_PA.json b/apps/updatenotification/l10n/es_PA.json
deleted file mode 100644
index 6deb3d02df1..00000000000
--- a/apps/updatenotification/l10n/es_PA.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es_PE.js b/apps/updatenotification/l10n/es_PE.js
deleted file mode 100644
index 160f50324b3..00000000000
--- a/apps/updatenotification/l10n/es_PE.js
+++ /dev/null
@@ -1,27 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/es_PE.json b/apps/updatenotification/l10n/es_PE.json
deleted file mode 100644
index 6deb3d02df1..00000000000
--- a/apps/updatenotification/l10n/es_PE.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es_PR.js b/apps/updatenotification/l10n/es_PR.js
deleted file mode 100644
index 160f50324b3..00000000000
--- a/apps/updatenotification/l10n/es_PR.js
+++ /dev/null
@@ -1,27 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/es_PR.json b/apps/updatenotification/l10n/es_PR.json
deleted file mode 100644
index 6deb3d02df1..00000000000
--- a/apps/updatenotification/l10n/es_PR.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es_PY.js b/apps/updatenotification/l10n/es_PY.js
deleted file mode 100644
index 160f50324b3..00000000000
--- a/apps/updatenotification/l10n/es_PY.js
+++ /dev/null
@@ -1,27 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/es_PY.json b/apps/updatenotification/l10n/es_PY.json
deleted file mode 100644
index 6deb3d02df1..00000000000
--- a/apps/updatenotification/l10n/es_PY.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es_SV.js b/apps/updatenotification/l10n/es_SV.js
deleted file mode 100644
index f09f9942fa9..00000000000
--- a/apps/updatenotification/l10n/es_SV.js
+++ /dev/null
@@ -1,29 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "Update notification" : "Notificación de actualización",
- "Update" : "Actualizar",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "La versión que estas corriendo ya no cuenta con mantenimiento. Por favor asegurate de actualizar a una versión soportada lo antes posible. ",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "A new version is available: <strong>{newVersionString}</strong>" : "Una versión más reciente está disponible: <strong>{newVersionString}</strong>",
- "Checked on {lastCheckedDate}" : "Verificado el {lastCheckedDate}",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor asegurate que en tu config.php no se establezca <samp>appstoreenabled</samp> como falso.",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible."
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/updatenotification/l10n/es_SV.json b/apps/updatenotification/l10n/es_SV.json
deleted file mode 100644
index 3e2c0df5e36..00000000000
--- a/apps/updatenotification/l10n/es_SV.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "Update notification" : "Notificación de actualización",
- "Update" : "Actualizar",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "La versión que estas corriendo ya no cuenta con mantenimiento. Por favor asegurate de actualizar a una versión soportada lo antes posible. ",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "A new version is available: <strong>{newVersionString}</strong>" : "Una versión más reciente está disponible: <strong>{newVersionString}</strong>",
- "Checked on {lastCheckedDate}" : "Verificado el {lastCheckedDate}",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor asegurate que en tu config.php no se establezca <samp>appstoreenabled</samp> como falso.",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible."
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es_UY.js b/apps/updatenotification/l10n/es_UY.js
deleted file mode 100644
index 160f50324b3..00000000000
--- a/apps/updatenotification/l10n/es_UY.js
+++ /dev/null
@@ -1,27 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/es_UY.json b/apps/updatenotification/l10n/es_UY.json
deleted file mode 100644
index 6deb3d02df1..00000000000
--- a/apps/updatenotification/l10n/es_UY.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ",
- "Channel updated" : "Canal actualizado",
- "Update notifications" : "Actualizar notificaciones",
- "The update server could not be reached since %d days to check for new updates." : "El servidor de actualización no ha podido ser alcanzado desde %d días para verificar actualizaciones. ",
- "Please check the Nextcloud and server log files for errors." : "Por favor verifica los archivos de bitacoras de Nextcloud y del servidor por errores. ",
- "Update to %1$s is available." : "La actualización a %1$s está disponible. ",
- "Update for %1$s to version %2$s is available." : "La actualización para %1$s a la versión %2$s está disponible.",
- "Update for {app} to version %s is available." : "Actualización para {app} a la versión %s está disponible.",
- "View in store" : "Ver en la tienda",
- "Open updater" : "Abrir actualizador",
- "Download now" : "Descargar ahora",
- "The update check is not yet finished. Please refresh the page." : "La verificación de actualización aún no termina. Por favor actualiza la página.",
- "Your version is up to date." : "Tu verisón está actualizada.",
- "A non-default update server is in use to be checked for updates:" : "Un servidor de actualizaciones no-predeterminado está en uso para ser verficiado por actualizaciones:",
- "Update channel:" : "Actualizar el canal:",
- "Notify members of the following groups about available updates:" : "Notificar a los miembros de los siguientes grupos de las actualizaciones disponibles:",
- "Only notification for app updates are available." : "Sólo se tienen disponibles notificaciones de actualizaciones de la aplicación.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "El canal de actualización seleccionado hace que las notificaciones dedicadas al servidor sean obsoletas. ",
- "The selected update channel does not support updates of the server." : "El canal de actualización seleccionado no soporta actualizaciones del servidor. ",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Por favor, asegurate de que tu archivo config.php no establezca <samp>appstoreenabled</samp> a falso.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó actualizaciones. Busca manualmente actualizaciones o asegurate de que el servidor tenga acceso a Internet y que pueda conectarse a la appstore. ",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Nota que después una nueva publicación puede tomar algo de tiempo antes de que se muestre aquí. Distribuimos nuevas versiones para que sean distribuidas a través del tiempo para nuestros usuarios y algunas veces nos saltamos una versión cuando encontramos detalles."
-},"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
deleted file mode 100644
index 153f9c82be1..00000000000
--- a/apps/updatenotification/l10n/he.js
+++ /dev/null
@@ -1,32 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} זמינה. ניתן לקבל מידע נוסף על איך לעדכן.",
- "Channel updated" : "הערוץ התעדכן",
- "Update notifications" : "עדכון דיווחים",
- "The update server could not be reached since %d days to check for new updates." : "לא ניתן לגשת אל שרת העדכון מזה %d ימים כדי לבדוק אם יש עדכונים חדשים.",
- "Please check the Nextcloud and server log files for errors." : "נא לחפש שגיאות בקובצי היומן של Nextcloud ושל השרת.",
- "Update to %1$s is available." : "קיים עדכון ל־%1$s.",
- "Update for {app} to version %s is available." : "קיים עדכון עבור {app} לגרסה %s.",
- "Update notification" : "התראה על עדכון",
- "Displays update notifications for Nextcloud and provides the SSO for the updater." : "מציג התראות עדכון ל־Nextcloud ומספק SSO (גישה אחודה) למעדכן.",
- "Update" : "עדכון",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "הגרסה שפועלת אצלך אינה מתוחזקת יותר. נא לוודא לעדכן לגרסה נתמכת במהירות האפשרית.",
- "View in store" : "הצגה בחנות",
- "Open updater" : "פתיחת המעדכן",
- "Download now" : "להוריד כעת",
- "What's new?" : "מה חדש?",
- "View changelog" : "הצגת יומן שינויים",
- "The update check is not yet finished. Please refresh the page." : "בדיקת העדכונים לא הסתיימה עדיין. נא לעדכן את העמוד.",
- "Your version is up to date." : "הגרסה שבידך מעודכנת.",
- "You can always update to a newer version. But you can never downgrade to a more stable version." : "תמיד ניתן לעדכן לגרסה חדשה יותר. אך אי אפשר לשנמך לגרסה יציבה יותר.",
- "Notify members of the following groups about available updates:" : "דיווח למשתמשים של קבוצות אלו על עדכונים זמינים:",
- "The selected update channel does not support updates of the server." : "ערוץ העדכון הנבחר לא תומך בעדכון השרת.",
- "A new version is available: <strong>{newVersionString}</strong>" : "גרסה חדשה זמינה: <strong>{newVersionString}</strong>",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "נא לוודא שב־config.php שלך ה־<samp>appstoreenabled</samp> לא מוגדר ל‏־false.",
- "Stable" : "יציב",
- "Beta" : "בטא",
- "Update channel:" : "עדכון ערוץ:",
- "Checked on {lastCheckedDate}" : "נבדק לאחרונה ב־{lastCheckedDate}"
-},
-"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
diff --git a/apps/updatenotification/l10n/he.json b/apps/updatenotification/l10n/he.json
deleted file mode 100644
index 1c6963f59af..00000000000
--- a/apps/updatenotification/l10n/he.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} זמינה. ניתן לקבל מידע נוסף על איך לעדכן.",
- "Channel updated" : "הערוץ התעדכן",
- "Update notifications" : "עדכון דיווחים",
- "The update server could not be reached since %d days to check for new updates." : "לא ניתן לגשת אל שרת העדכון מזה %d ימים כדי לבדוק אם יש עדכונים חדשים.",
- "Please check the Nextcloud and server log files for errors." : "נא לחפש שגיאות בקובצי היומן של Nextcloud ושל השרת.",
- "Update to %1$s is available." : "קיים עדכון ל־%1$s.",
- "Update for {app} to version %s is available." : "קיים עדכון עבור {app} לגרסה %s.",
- "Update notification" : "התראה על עדכון",
- "Displays update notifications for Nextcloud and provides the SSO for the updater." : "מציג התראות עדכון ל־Nextcloud ומספק SSO (גישה אחודה) למעדכן.",
- "Update" : "עדכון",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "הגרסה שפועלת אצלך אינה מתוחזקת יותר. נא לוודא לעדכן לגרסה נתמכת במהירות האפשרית.",
- "View in store" : "הצגה בחנות",
- "Open updater" : "פתיחת המעדכן",
- "Download now" : "להוריד כעת",
- "What's new?" : "מה חדש?",
- "View changelog" : "הצגת יומן שינויים",
- "The update check is not yet finished. Please refresh the page." : "בדיקת העדכונים לא הסתיימה עדיין. נא לעדכן את העמוד.",
- "Your version is up to date." : "הגרסה שבידך מעודכנת.",
- "You can always update to a newer version. But you can never downgrade to a more stable version." : "תמיד ניתן לעדכן לגרסה חדשה יותר. אך אי אפשר לשנמך לגרסה יציבה יותר.",
- "Notify members of the following groups about available updates:" : "דיווח למשתמשים של קבוצות אלו על עדכונים זמינים:",
- "The selected update channel does not support updates of the server." : "ערוץ העדכון הנבחר לא תומך בעדכון השרת.",
- "A new version is available: <strong>{newVersionString}</strong>" : "גרסה חדשה זמינה: <strong>{newVersionString}</strong>",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "נא לוודא שב־config.php שלך ה־<samp>appstoreenabled</samp> לא מוגדר ל‏־false.",
- "Stable" : "יציב",
- "Beta" : "בטא",
- "Update channel:" : "עדכון ערוץ:",
- "Checked on {lastCheckedDate}" : "נבדק לאחרונה ב־{lastCheckedDate}"
-},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/ia.js b/apps/updatenotification/l10n/ia.js
deleted file mode 100644
index b6849f18f23..00000000000
--- a/apps/updatenotification/l10n/ia.js
+++ /dev/null
@@ -1,23 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} es disponibile. Obtene plus informationes super como actualisar.",
- "Open updater" : "Aperir actualisator",
- "Your version is up to date." : "Tu version es actualisate.",
- "Update channel:" : "Canal de actualisation:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Tu sempre pote actualisar a un version plus nove o a un canal experimental. Ma tu non potera jammais retrogradar a un canal plus stabile.",
- "Notify members of the following groups about available updates:" : "Notifica membros del gruppos sequente super actualisationes disponibile:",
- "Only notification for app updates are available." : "Notification es disponibile solmente pro actualisationes de applicationes.",
- "The selected update channel does not support updates of the server." : "Le canal de actualisation seligite non supporta actualisationes del servitor.",
- "Could not start updater, please try the manual update" : "Impossibile initiar le actualisator, per favor tenta le actualisation manual",
- "Update notifications" : "Actualisar notificationes",
- "Channel updated" : "Canal actualisate",
- "Update to %1$s is available." : "Un actualisation a %1$s es disponibile.",
- "Update for %1$s to version %2$s is available." : "Un actualisation de %1$s al version %2$s es disponibile.",
- "Update for {app} to version %s is available." : "Un actualisation del {app} al version %s es disponibile.",
- "A new version is available: %s" : "Un nove version es disponibile: %s",
- "Download now" : "Discargar ora",
- "Checked on %s" : "Verificate in %s",
- "The selected update channel makes dedicated notifications for the server obsolete." : "Le canal de actualisation selectionate face le notificationes dedicate al servitor esser obsolete."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/ia.json b/apps/updatenotification/l10n/ia.json
deleted file mode 100644
index 22d0d52760d..00000000000
--- a/apps/updatenotification/l10n/ia.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} es disponibile. Obtene plus informationes super como actualisar.",
- "Open updater" : "Aperir actualisator",
- "Your version is up to date." : "Tu version es actualisate.",
- "Update channel:" : "Canal de actualisation:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Tu sempre pote actualisar a un version plus nove o a un canal experimental. Ma tu non potera jammais retrogradar a un canal plus stabile.",
- "Notify members of the following groups about available updates:" : "Notifica membros del gruppos sequente super actualisationes disponibile:",
- "Only notification for app updates are available." : "Notification es disponibile solmente pro actualisationes de applicationes.",
- "The selected update channel does not support updates of the server." : "Le canal de actualisation seligite non supporta actualisationes del servitor.",
- "Could not start updater, please try the manual update" : "Impossibile initiar le actualisator, per favor tenta le actualisation manual",
- "Update notifications" : "Actualisar notificationes",
- "Channel updated" : "Canal actualisate",
- "Update to %1$s is available." : "Un actualisation a %1$s es disponibile.",
- "Update for %1$s to version %2$s is available." : "Un actualisation de %1$s al version %2$s es disponibile.",
- "Update for {app} to version %s is available." : "Un actualisation del {app} al version %s es disponibile.",
- "A new version is available: %s" : "Un nove version es disponibile: %s",
- "Download now" : "Discargar ora",
- "Checked on %s" : "Verificate in %s",
- "The selected update channel makes dedicated notifications for the server obsolete." : "Le canal de actualisation selectionate face le notificationes dedicate al servitor esser obsolete."
-},"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
deleted file mode 100644
index 3eae35382b8..00000000000
--- a/apps/updatenotification/l10n/id.js
+++ /dev/null
@@ -1,23 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} tersedia. Dapatkan informasi lebih lanjut cara memperbaruinya.",
- "Open updater" : "Buka updater",
- "Your version is up to date." : "Versi Anda saat ini adalah yang terbaru.",
- "Update channel:" : "Saluran update:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Anda dapat memperbarui ke versi yang lebih baru / saluran percobaan. Namun Anda tidak dapat menurunkan ke saluran stabil.",
- "Notify members of the following groups about available updates:" : "Beritahu anggota grup tentang pembaruan yang tersedia:",
- "Only notification for app updates are available." : "Hanya pemberitahuan untuk pembaruan aplikasi tersedia.",
- "The selected update channel does not support updates of the server." : "Kanal pembaruan yang terpilih tidak mendukung pembaruan server.",
- "Could not start updater, please try the manual update" : "Tidak dapat menjalankan updater, harap coba perbarui manual",
- "Update notifications" : "Perbarui pemberitahuan",
- "Channel updated" : "Kanal diperbarui",
- "Update to %1$s is available." : "Pembaruan untuk %1$s tersedia.",
- "Update for %1$s to version %2$s is available." : "Pembaruan untuk %1$s ke versi %2$s tersedia.",
- "Update for {app} to version %s is available." : "Pembaruan untuk {app} ke versi %s tersedia.",
- "A new version is available: %s" : "Versi baru tersedia: %s",
- "Download now" : "Unduh sekarang",
- "Checked on %s" : "Dicek pada %s",
- "The selected update channel makes dedicated notifications for the server obsolete." : "Kanal pembaruan yang terpilih membuat pemberitahuan terdedikasi untuk server usang."
-},
-"nplurals=1; plural=0;");
diff --git a/apps/updatenotification/l10n/id.json b/apps/updatenotification/l10n/id.json
deleted file mode 100644
index 60ab84f3016..00000000000
--- a/apps/updatenotification/l10n/id.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} tersedia. Dapatkan informasi lebih lanjut cara memperbaruinya.",
- "Open updater" : "Buka updater",
- "Your version is up to date." : "Versi Anda saat ini adalah yang terbaru.",
- "Update channel:" : "Saluran update:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Anda dapat memperbarui ke versi yang lebih baru / saluran percobaan. Namun Anda tidak dapat menurunkan ke saluran stabil.",
- "Notify members of the following groups about available updates:" : "Beritahu anggota grup tentang pembaruan yang tersedia:",
- "Only notification for app updates are available." : "Hanya pemberitahuan untuk pembaruan aplikasi tersedia.",
- "The selected update channel does not support updates of the server." : "Kanal pembaruan yang terpilih tidak mendukung pembaruan server.",
- "Could not start updater, please try the manual update" : "Tidak dapat menjalankan updater, harap coba perbarui manual",
- "Update notifications" : "Perbarui pemberitahuan",
- "Channel updated" : "Kanal diperbarui",
- "Update to %1$s is available." : "Pembaruan untuk %1$s tersedia.",
- "Update for %1$s to version %2$s is available." : "Pembaruan untuk %1$s ke versi %2$s tersedia.",
- "Update for {app} to version %s is available." : "Pembaruan untuk {app} ke versi %s tersedia.",
- "A new version is available: %s" : "Versi baru tersedia: %s",
- "Download now" : "Unduh sekarang",
- "Checked on %s" : "Dicek pada %s",
- "The selected update channel makes dedicated notifications for the server obsolete." : "Kanal pembaruan yang terpilih membuat pemberitahuan terdedikasi untuk server usang."
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/ka_GE.js b/apps/updatenotification/l10n/ka_GE.js
deleted file mode 100644
index 54d0a50708f..00000000000
--- a/apps/updatenotification/l10n/ka_GE.js
+++ /dev/null
@@ -1,29 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} ხელმისაწვდომია. მოიპოვეთ მეტი ინფორმაცია იმაზე, თუ როგორ განაახლოთ.",
- "Channel updated" : "განახლების შეჩერება",
- "Update notifications" : "განახლების შეტყობინებები",
- "The update server could not be reached since %d days to check for new updates." : "განახლების სერვერი გალახლებების შესამოწმებლად %d დღე მიუწვდომელია.",
- "Please check the Nextcloud and server log files for errors." : "შეცდომებისთვის გთხოვთ შეამოწმოთ Nextcloud-ი სერვერის ლოგები.",
- "Update to %1$s is available." : "განახლება %1$s-ზე ხელმისაწვდომია.",
- "Update for %1$s to version %2$s is available." : "%1$s-ის განახლება %2$s ვერსიაზე ხელმისაწვდომია.",
- "Update for {app} to version %s is available." : "განახლება აპლიკაციისთვის {app} ვერსიაზე %s ხელმისაწვდომია.",
- "Update notification" : "შეტყობინების განახლება",
- "View in store" : "იხილეთ store-ში",
- "Open updater" : "განმანახლებლის ჩართვა",
- "Download now" : "ჩამოტვირთვა",
- "The update check is not yet finished. Please refresh the page." : "განახლება ჯერ არ დასრულებულა. გთხოვთ განაახლოთ გვერდი.",
- "Your version is up to date." : "თქვენ იყენბთ ბოლო ვერსიას.",
- "A non-default update server is in use to be checked for updates:" : "განახლებების შესამოწმებლად მოქმედია არა-საწყისი სერვერი:",
- "Update channel:" : "განახლების არხი:",
- "Notify members of the following groups about available updates:" : "შემდეგი ჯგუფის წევრებს გაუგზავნეთ შეტყობინება ხელმისაწვდომ განახლებებზე:",
- "Only notification for app updates are available." : "შეტყობინება ხელმისაწვდომია მხოლოდ აპლიკაციების განახლებებზე.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "არჩეული განახლების არხი მოძველებული სერვერის შესახებ საჭიროებს გამოყოფილ შეტყობინებებს.",
- "The selected update channel does not support updates of the server." : "არჩეული განახლების არხი არ უჭერს მხარს სერვერის განახლებას.",
- "Checked on {lastCheckedDate}" : "შემოწმდა {lastCheckedDate}-ზე",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "გთხოვთ დარწმუნდეთ რომ თქვენს config.php-ში <samp>appstoreenabled</samp>-ის მნიშვნელობა არაა false.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Appstore-ს ვერ დავუკავშირდით ან არ დაბრუნდა პასუხი განახლებების შესახებ. განახლებები მოძებნეთ მექანიკურად ან დარწმუნდით, რომ თქვენს სერვერს გააჩნია წვდომა ინტერნეტთან და უკავშირდება appstore-ს.",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "გაითვალისწინეთ, ახალი რელიზი აქ გამოჩენამდე, საჭიროებს გარკვეულ დროს. ჩვენ მომხმარებლებისთვის ვუშვებთ ახალ ვერსიებს და ხანდახან პრობლემების პოვნისას ზოგიერთ ვერსიას ვტოვებთ."
-},
-"nplurals=2; plural=(n!=1);");
diff --git a/apps/updatenotification/l10n/ka_GE.json b/apps/updatenotification/l10n/ka_GE.json
deleted file mode 100644
index 5bb7759ef9e..00000000000
--- a/apps/updatenotification/l10n/ka_GE.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} ხელმისაწვდომია. მოიპოვეთ მეტი ინფორმაცია იმაზე, თუ როგორ განაახლოთ.",
- "Channel updated" : "განახლების შეჩერება",
- "Update notifications" : "განახლების შეტყობინებები",
- "The update server could not be reached since %d days to check for new updates." : "განახლების სერვერი გალახლებების შესამოწმებლად %d დღე მიუწვდომელია.",
- "Please check the Nextcloud and server log files for errors." : "შეცდომებისთვის გთხოვთ შეამოწმოთ Nextcloud-ი სერვერის ლოგები.",
- "Update to %1$s is available." : "განახლება %1$s-ზე ხელმისაწვდომია.",
- "Update for %1$s to version %2$s is available." : "%1$s-ის განახლება %2$s ვერსიაზე ხელმისაწვდომია.",
- "Update for {app} to version %s is available." : "განახლება აპლიკაციისთვის {app} ვერსიაზე %s ხელმისაწვდომია.",
- "Update notification" : "შეტყობინების განახლება",
- "View in store" : "იხილეთ store-ში",
- "Open updater" : "განმანახლებლის ჩართვა",
- "Download now" : "ჩამოტვირთვა",
- "The update check is not yet finished. Please refresh the page." : "განახლება ჯერ არ დასრულებულა. გთხოვთ განაახლოთ გვერდი.",
- "Your version is up to date." : "თქვენ იყენბთ ბოლო ვერსიას.",
- "A non-default update server is in use to be checked for updates:" : "განახლებების შესამოწმებლად მოქმედია არა-საწყისი სერვერი:",
- "Update channel:" : "განახლების არხი:",
- "Notify members of the following groups about available updates:" : "შემდეგი ჯგუფის წევრებს გაუგზავნეთ შეტყობინება ხელმისაწვდომ განახლებებზე:",
- "Only notification for app updates are available." : "შეტყობინება ხელმისაწვდომია მხოლოდ აპლიკაციების განახლებებზე.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "არჩეული განახლების არხი მოძველებული სერვერის შესახებ საჭიროებს გამოყოფილ შეტყობინებებს.",
- "The selected update channel does not support updates of the server." : "არჩეული განახლების არხი არ უჭერს მხარს სერვერის განახლებას.",
- "Checked on {lastCheckedDate}" : "შემოწმდა {lastCheckedDate}-ზე",
- "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "გთხოვთ დარწმუნდეთ რომ თქვენს config.php-ში <samp>appstoreenabled</samp>-ის მნიშვნელობა არაა false.",
- "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Appstore-ს ვერ დავუკავშირდით ან არ დაბრუნდა პასუხი განახლებების შესახებ. განახლებები მოძებნეთ მექანიკურად ან დარწმუნდით, რომ თქვენს სერვერს გააჩნია წვდომა ინტერნეტთან და უკავშირდება appstore-ს.",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "გაითვალისწინეთ, ახალი რელიზი აქ გამოჩენამდე, საჭიროებს გარკვეულ დროს. ჩვენ მომხმარებლებისთვის ვუშვებთ ახალ ვერსიებს და ხანდახან პრობლემების პოვნისას ზოგიერთ ვერსიას ვტოვებთ."
-},"pluralForm" :"nplurals=2; plural=(n!=1);"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/lb.js b/apps/updatenotification/l10n/lb.js
deleted file mode 100644
index e877f169fc4..00000000000
--- a/apps/updatenotification/l10n/lb.js
+++ /dev/null
@@ -1,15 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "Update notifications" : "Notifikatiounen aktualiséieren",
- "{version} is available. Get more information on how to update." : "{Versioun} ass verfügbar. Kréi méi Informatiounen doriwwer wéi d'Aktualiséierung ofleeft.",
- "Updated channel" : "Aktualiséierte Kanal",
- "ownCloud core" : "ownCloud Kär",
- "Update for %1$s to version %2$s is available." : "D'Aktualiséierung fir %1$s op d'Versioun %2$s ass verfügbar.",
- "A new version is available: %s" : "Eng nei Versioun ass verfügbar: %s",
- "Open updater" : "Den Aktualiséierungsprogramm opmaachen",
- "Your version is up to date." : "Déng Versioun ass aktualiséiert.",
- "Checked on %s" : "Gepréift um %s",
- "Update channel:" : "Kanal updaten:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/lb.json b/apps/updatenotification/l10n/lb.json
deleted file mode 100644
index a43883f6c3e..00000000000
--- a/apps/updatenotification/l10n/lb.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{ "translations": {
- "Update notifications" : "Notifikatiounen aktualiséieren",
- "{version} is available. Get more information on how to update." : "{Versioun} ass verfügbar. Kréi méi Informatiounen doriwwer wéi d'Aktualiséierung ofleeft.",
- "Updated channel" : "Aktualiséierte Kanal",
- "ownCloud core" : "ownCloud Kär",
- "Update for %1$s to version %2$s is available." : "D'Aktualiséierung fir %1$s op d'Versioun %2$s ass verfügbar.",
- "A new version is available: %s" : "Eng nei Versioun ass verfügbar: %s",
- "Open updater" : "Den Aktualiséierungsprogramm opmaachen",
- "Your version is up to date." : "Déng Versioun ass aktualiséiert.",
- "Checked on %s" : "Gepréift um %s",
- "Update channel:" : "Kanal updaten:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/lv.js b/apps/updatenotification/l10n/lv.js
deleted file mode 100644
index 6d649177409..00000000000
--- a/apps/updatenotification/l10n/lv.js
+++ /dev/null
@@ -1,25 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} ir pieejama. Iegūstiet vairāk informācijas par to, kā atjaunināt.",
- "Update notifications" : "Atjauninājumu paziņojumi",
- "Channel updated" : "Kanāls atjaunots",
- "Update to %1$s is available." : "Atjauninājums uz %1$s ir pieejams.",
- "Update for %1$s to version %2$s is available." : "Atjauninājums %1$s uz versiju %2$s ir pieejams.",
- "Update for {app} to version %s is available." : "Atjauninājums {app} uz versiju %s ir pieejams.",
- "Open updater" : "Atveriet atjauninātāju",
- "Your version is up to date." : "Jums ir jaunākā versija.",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Jūs vienmēr varat atjaunināt to uz jaunāku versiju / eksperimentālo versiju. Bet nekad nevar atgriezties uz stabilāku versiju.",
- "Notify members of the following groups about available updates:" : "Paziņot šo grupu locekļiem par pieejamajiem atjauninājumiem:",
- "Only notification for app updates are available." : "Tikai paziņojumi par programmu atjauninājumiem ir pieejami.",
- "The selected update channel does not support updates of the server." : "Izvēlēto atjauninājumu kanāls neatbalsta servera atjauninājumus.",
- "A new version is available: <strong>{newVersionString}</strong>" : "Ir pieejama jauna versija: <strong>{newVersionString}</strong>",
- "Checked on {lastCheckedDate}" : "Pārbaudīts {lastCheckedDate}",
- "Could not start updater, please try the manual update" : "Nevar sākt atjauninājumu, lūdzu, mēģiniet manuālo atjauninājumu",
- "A new version is available: %s" : "Ir pieejama jauna versija: %s",
- "Download now" : "Lejupielādēt tagad",
- "Checked on %s" : "Pārbaudīts %s",
- "Update channel:" : "Atjaunināt kanālu:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "Izvēlētais atjauninājumu kanāls rādīs īpašus paziņojumus ja serveris novecojis."
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/updatenotification/l10n/lv.json b/apps/updatenotification/l10n/lv.json
deleted file mode 100644
index a40a3fbde1a..00000000000
--- a/apps/updatenotification/l10n/lv.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} ir pieejama. Iegūstiet vairāk informācijas par to, kā atjaunināt.",
- "Update notifications" : "Atjauninājumu paziņojumi",
- "Channel updated" : "Kanāls atjaunots",
- "Update to %1$s is available." : "Atjauninājums uz %1$s ir pieejams.",
- "Update for %1$s to version %2$s is available." : "Atjauninājums %1$s uz versiju %2$s ir pieejams.",
- "Update for {app} to version %s is available." : "Atjauninājums {app} uz versiju %s ir pieejams.",
- "Open updater" : "Atveriet atjauninātāju",
- "Your version is up to date." : "Jums ir jaunākā versija.",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Jūs vienmēr varat atjaunināt to uz jaunāku versiju / eksperimentālo versiju. Bet nekad nevar atgriezties uz stabilāku versiju.",
- "Notify members of the following groups about available updates:" : "Paziņot šo grupu locekļiem par pieejamajiem atjauninājumiem:",
- "Only notification for app updates are available." : "Tikai paziņojumi par programmu atjauninājumiem ir pieejami.",
- "The selected update channel does not support updates of the server." : "Izvēlēto atjauninājumu kanāls neatbalsta servera atjauninājumus.",
- "A new version is available: <strong>{newVersionString}</strong>" : "Ir pieejama jauna versija: <strong>{newVersionString}</strong>",
- "Checked on {lastCheckedDate}" : "Pārbaudīts {lastCheckedDate}",
- "Could not start updater, please try the manual update" : "Nevar sākt atjauninājumu, lūdzu, mēģiniet manuālo atjauninājumu",
- "A new version is available: %s" : "Ir pieejama jauna versija: %s",
- "Download now" : "Lejupielādēt tagad",
- "Checked on %s" : "Pārbaudīts %s",
- "Update channel:" : "Atjaunināt kanālu:",
- "The selected update channel makes dedicated notifications for the server obsolete." : "Izvēlētais atjauninājumu kanāls rādīs īpašus paziņojumus ja serveris novecojis."
-},"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/updatenotification/l10n/oc.js b/apps/updatenotification/l10n/oc.js
deleted file mode 100644
index e1e930ba805..00000000000
--- a/apps/updatenotification/l10n/oc.js
+++ /dev/null
@@ -1,9 +0,0 @@
-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.",
- "Updated channel" : "Canal mes a jorn",
- "Update channel:" : "Canal de mesa a jorn :",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Podètz a tot moment metre a jorn cap a una version mai recenta o un canal experimental. Pasmens, poiretz pas jamai tornar a un canal mai estable."
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/updatenotification/l10n/oc.json b/apps/updatenotification/l10n/oc.json
deleted file mode 100644
index 16c52460813..00000000000
--- a/apps/updatenotification/l10n/oc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "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.",
- "Updated channel" : "Canal mes a jorn",
- "Update channel:" : "Canal de mesa a jorn :",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Podètz a tot moment metre a jorn cap a una version mai recenta o un canal experimental. Pasmens, poiretz pas jamai tornar a un canal mai estable."
-},"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
deleted file mode 100644
index 728048689b8..00000000000
--- a/apps/updatenotification/l10n/pt_PT.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "Update notifications" : "Notificações de atualização",
- "{version} is available. Get more information on how to update." : "{version} está disponível. Obtenha mais informação sobre como atualizar.",
- "Updated channel" : "Canal atualizado",
- "Update for %1$s to version %2$s is available." : "Está disponível a atualização para %1$s para a versão %2$s.",
- "Updater" : "Atualizador",
- "A new version is available: %s" : "Está disponível uma nova versão: %s",
- "Open updater" : "Abrir atualizador",
- "Your version is up to date." : "A sua versão está atualizada.",
- "Checked on %s" : "Verificada em %s",
- "Update channel:" : "Canal de atualização:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Pode atualizar sempre para uma nova versão / canal experimental. Mas nunca poderá voltar para um canal mais estável.",
- "Notify members of the following groups about available updates:" : "Notifique os membros dos seguintes grupos sobre as atualizações disponíveis:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/pt_PT.json b/apps/updatenotification/l10n/pt_PT.json
deleted file mode 100644
index 161e1e5f05a..00000000000
--- a/apps/updatenotification/l10n/pt_PT.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "Update notifications" : "Notificações de atualização",
- "{version} is available. Get more information on how to update." : "{version} está disponível. Obtenha mais informação sobre como atualizar.",
- "Updated channel" : "Canal atualizado",
- "Update for %1$s to version %2$s is available." : "Está disponível a atualização para %1$s para a versão %2$s.",
- "Updater" : "Atualizador",
- "A new version is available: %s" : "Está disponível uma nova versão: %s",
- "Open updater" : "Abrir atualizador",
- "Your version is up to date." : "A sua versão está atualizada.",
- "Checked on %s" : "Verificada em %s",
- "Update channel:" : "Canal de atualização:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Pode atualizar sempre para uma nova versão / canal experimental. Mas nunca poderá voltar para um canal mais estável.",
- "Notify members of the following groups about available updates:" : "Notifique os membros dos seguintes grupos sobre as atualizações disponíveis:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/ro.js b/apps/updatenotification/l10n/ro.js
deleted file mode 100644
index efc1068b6d9..00000000000
--- a/apps/updatenotification/l10n/ro.js
+++ /dev/null
@@ -1,30 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} este disponibil. Află mai multe informații despre cum să faci o actualizare.",
- "Channel updated" : "Canal actualizat",
- "Web updater is disabled" : "Actualizatorul web este dezactivat",
- "Update notifications" : "Notificări de actualizare",
- "The update server could not be reached since %d days to check for new updates." : "Serverul de actualizare nu a mai putut fi contactat de %d zile pentru a verifica dacă există actualizări noi.",
- "Please check the Nextcloud and server log files for errors." : "Vă rugăm să verificați dacă există erori în fișierele jurnal Nextcloud și în fișierele jurnal ale serverului.",
- "Update to %1$s is available." : " Actualizarea la %1$s este disponibilă.",
- "Update for {app} to version %s is available." : "Actualizarea pentru {app} la versiunea %s este disponibilă.",
- "Update notification" : "Notificare de actualizare",
- "Displays update notifications for Nextcloud and provides the SSO for the updater." : "Afișează notificările de actualizare pentru Nextcloud și oferă SSO pentru actualizator.",
- "Update" : "Actualizare",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "Versiunea pe care o executați nu mai este întreținută. Vă rugăm să vă asigurați că actualizați cât mai curând posibil la o versiune compatibilă.",
- "Apps missing compatible version" : "Aplicații fără versiune compatibilă",
- "View in store" : "Vezi în magazin",
- "Apps with compatible version" : "Aplicații cu versiune compatibilă",
- "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Vă rugăm să rețineți că actualizatorul web nu este recomandat pentru mai mult de 100 de utilizatori! Vă rugăm să folosiți în schimb actualizatorul de linie de comandă!",
- "Open updater" : "Deschide unealta pentru actualizare",
- "Download now" : "Descarcă acum",
- "Please use the command line updater to update." : "Vă rugăm să utilizați programul de actualizare din linia de comandă pentru a efectua actualizarea.",
- "What's new?" : "Ce este nou?",
- "View changelog" : "Vezi changelog",
- "The update check is not yet finished. Please refresh the page." : "Verificarea actualizării nu este încă finalizată. Vă rugăm să reîmprospătați pagina.",
- "Your version is up to date." : "Versiunea curentă este la zi.",
- "Beta" : "Beta",
- "Update channel:" : "Canal pentru actualizări:"
-},
-"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/updatenotification/l10n/ro.json b/apps/updatenotification/l10n/ro.json
deleted file mode 100644
index 8582d6780b4..00000000000
--- a/apps/updatenotification/l10n/ro.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} este disponibil. Află mai multe informații despre cum să faci o actualizare.",
- "Channel updated" : "Canal actualizat",
- "Web updater is disabled" : "Actualizatorul web este dezactivat",
- "Update notifications" : "Notificări de actualizare",
- "The update server could not be reached since %d days to check for new updates." : "Serverul de actualizare nu a mai putut fi contactat de %d zile pentru a verifica dacă există actualizări noi.",
- "Please check the Nextcloud and server log files for errors." : "Vă rugăm să verificați dacă există erori în fișierele jurnal Nextcloud și în fișierele jurnal ale serverului.",
- "Update to %1$s is available." : " Actualizarea la %1$s este disponibilă.",
- "Update for {app} to version %s is available." : "Actualizarea pentru {app} la versiunea %s este disponibilă.",
- "Update notification" : "Notificare de actualizare",
- "Displays update notifications for Nextcloud and provides the SSO for the updater." : "Afișează notificările de actualizare pentru Nextcloud și oferă SSO pentru actualizator.",
- "Update" : "Actualizare",
- "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "Versiunea pe care o executați nu mai este întreținută. Vă rugăm să vă asigurați că actualizați cât mai curând posibil la o versiune compatibilă.",
- "Apps missing compatible version" : "Aplicații fără versiune compatibilă",
- "View in store" : "Vezi în magazin",
- "Apps with compatible version" : "Aplicații cu versiune compatibilă",
- "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Vă rugăm să rețineți că actualizatorul web nu este recomandat pentru mai mult de 100 de utilizatori! Vă rugăm să folosiți în schimb actualizatorul de linie de comandă!",
- "Open updater" : "Deschide unealta pentru actualizare",
- "Download now" : "Descarcă acum",
- "Please use the command line updater to update." : "Vă rugăm să utilizați programul de actualizare din linia de comandă pentru a efectua actualizarea.",
- "What's new?" : "Ce este nou?",
- "View changelog" : "Vezi changelog",
- "The update check is not yet finished. Please refresh the page." : "Verificarea actualizării nu este încă finalizată. Vă rugăm să reîmprospătați pagina.",
- "Your version is up to date." : "Versiunea curentă este la zi.",
- "Beta" : "Beta",
- "Update channel:" : "Canal pentru actualizări:"
-},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/sq.js b/apps/updatenotification/l10n/sq.js
deleted file mode 100644
index 19e44ea99b4..00000000000
--- a/apps/updatenotification/l10n/sq.js
+++ /dev/null
@@ -1,26 +0,0 @@
-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.",
- "Update notifications" : "Njoftime përditësimesh",
- "Channel updated" : "Kanali u përditësua",
- "The update server could not be reached since %d days to check for new updates." : "Përditësimi i serverit nuk mund të arrihej deri sa %dtë kontrollohen për përditësime të reja.",
- "Please check the Nextcloud and server log files for errors." : "Ju lutemi kontrolloni dosjet e Nextcloud dhe te server log-ut per gabimet",
- "Update to %1$s is available." : "Përditësimi te%1$s është në dispozicion.",
- "Update for %1$s to version %2$s is available." : "Është gati përditësimi për %1$s në version %2$s.",
- "Update for {app} to version %s is available." : "Përditësimi për {app} në versionin %s është në dispozicion",
- "Open updater" : "Hape përditësuesin",
- "Download now" : "Shkarko tani",
- "Your version is up to date." : "Versioni juaj është i përditësuar.",
- "Update channel:" : "Kanal përditësimesh:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Mundeni përherë ta përditësoni me një version të ri / kanal eksperimental. Por nuk mund ta ulni kurrë versionin në një version më të qëndrueshëm.",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Vini re se pas një lëshimi të ri mund të duhet pak kohë para se të shfaqet këtu. Ne hapim versione të reja të shpërndara me kalimin e kohës tek përdoruesit tanë dhe nganjëherë kalojmë një version kur gjenden çështjet.",
- "Notify members of the following groups about available updates:" : "Njoftoji anëtarët e grupeve vijues për përditësime të gatshme:",
- "Only notification for app updates are available." : "Vetëm njoftime për përditësime aplikacionesh janë të disponueshme.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "Kanali i zgjedhur i përditësimit i bën njoftimet për shërbyesin të papërdorshme.",
- "The selected update channel does not support updates of the server." : "Kanali i zgjdhur i përditësimit nuk mbështet përditësime të shvrbyesit.",
- "Could not start updater, please try the manual update" : "Nuk mundi të filloj përditësuesi, ju lutemi të provoni përditësimin manual",
- "A new version is available: %s" : "Ka gati një version të ri: %s",
- "Checked on %s" : "Kontrolluar më %s"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/sq.json b/apps/updatenotification/l10n/sq.json
deleted file mode 100644
index b7309a1bdda..00000000000
--- a/apps/updatenotification/l10n/sq.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{ "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.",
- "Update notifications" : "Njoftime përditësimesh",
- "Channel updated" : "Kanali u përditësua",
- "The update server could not be reached since %d days to check for new updates." : "Përditësimi i serverit nuk mund të arrihej deri sa %dtë kontrollohen për përditësime të reja.",
- "Please check the Nextcloud and server log files for errors." : "Ju lutemi kontrolloni dosjet e Nextcloud dhe te server log-ut per gabimet",
- "Update to %1$s is available." : "Përditësimi te%1$s është në dispozicion.",
- "Update for %1$s to version %2$s is available." : "Është gati përditësimi për %1$s në version %2$s.",
- "Update for {app} to version %s is available." : "Përditësimi për {app} në versionin %s është në dispozicion",
- "Open updater" : "Hape përditësuesin",
- "Download now" : "Shkarko tani",
- "Your version is up to date." : "Versioni juaj është i përditësuar.",
- "Update channel:" : "Kanal përditësimesh:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Mundeni përherë ta përditësoni me një version të ri / kanal eksperimental. Por nuk mund ta ulni kurrë versionin në një version më të qëndrueshëm.",
- "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Vini re se pas një lëshimi të ri mund të duhet pak kohë para se të shfaqet këtu. Ne hapim versione të reja të shpërndara me kalimin e kohës tek përdoruesit tanë dhe nganjëherë kalojmë një version kur gjenden çështjet.",
- "Notify members of the following groups about available updates:" : "Njoftoji anëtarët e grupeve vijues për përditësime të gatshme:",
- "Only notification for app updates are available." : "Vetëm njoftime për përditësime aplikacionesh janë të disponueshme.",
- "The selected update channel makes dedicated notifications for the server obsolete." : "Kanali i zgjedhur i përditësimit i bën njoftimet për shërbyesin të papërdorshme.",
- "The selected update channel does not support updates of the server." : "Kanali i zgjdhur i përditësimit nuk mbështet përditësime të shvrbyesit.",
- "Could not start updater, please try the manual update" : "Nuk mundi të filloj përditësuesi, ju lutemi të provoni përditësimin manual",
- "A new version is available: %s" : "Ka gati një version të ri: %s",
- "Checked on %s" : "Kontrolluar më %s"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/tr.js b/apps/updatenotification/l10n/tr.js
index d65a55fd9d4..ebb3dc4d84b 100644
--- a/apps/updatenotification/l10n/tr.js
+++ b/apps/updatenotification/l10n/tr.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"updatenotification",
{
"Channel updated" : "Kanal güncellendi",
- "Web updater is disabled" : "Güncelleyici devre dışı bırakılmış",
+ "Web updater is disabled" : "Güncelleyici kapalı",
"App updated" : "Uygulama güncellendi",
"See what's new" : "Yeniliklere bakın",
"{app} updated to version {version}" : "{app}, {version} sürümüne güncellendi",
@@ -39,7 +39,7 @@ OC.L10N.register(
"Please note that the web updater is not recommended with more than 100 accounts! Please use the command line updater instead!" : "100 hesap üzerinde site arayüzündeki güncelleyicinin kullanılmasının önerilmediğini unutmayın! Lütfen bunun yerine komut satırı güncelleyicisini kullanın!",
"Open updater" : "Güncelleyici aç",
"Download now" : "İndir",
- "Web updater is disabled. Please use the command line updater or the appropriate update mechanism for your installation method (e.g. Docker pull) to update." : "İnternet güncelleyicisi devre dışı bırakılmış. Güncellemek için lütfen komut satırı güncelleyicisini ya da kurulum yönteminize uygun güncelleme yöntemini (Docker pull gibi) kullanın.",
+ "Web updater is disabled. Please use the command line updater or the appropriate update mechanism for your installation method (e.g. Docker pull) to update." : "İnternet güncelleyicisi kapalı. Güncelleme için lütfen komut satırı güncelleyicisini ya da kurulum yönteminize uygun güncelleme yöntemini (Docker pull gibi) kullanın.",
"What's new?" : "Yenilikler neler?",
"View changelog" : "Değişiklik günlüğünü görüntüle",
"The update check is not yet finished. Please refresh the page." : "Güncelleme denetimi henüz tamamlanmadı. Lütfen sayfayı yenileyin.",
diff --git a/apps/updatenotification/l10n/tr.json b/apps/updatenotification/l10n/tr.json
index 4ded1a8e6e1..da5e33a4c01 100644
--- a/apps/updatenotification/l10n/tr.json
+++ b/apps/updatenotification/l10n/tr.json
@@ -1,6 +1,6 @@
{ "translations": {
"Channel updated" : "Kanal güncellendi",
- "Web updater is disabled" : "Güncelleyici devre dışı bırakılmış",
+ "Web updater is disabled" : "Güncelleyici kapalı",
"App updated" : "Uygulama güncellendi",
"See what's new" : "Yeniliklere bakın",
"{app} updated to version {version}" : "{app}, {version} sürümüne güncellendi",
@@ -37,7 +37,7 @@
"Please note that the web updater is not recommended with more than 100 accounts! Please use the command line updater instead!" : "100 hesap üzerinde site arayüzündeki güncelleyicinin kullanılmasının önerilmediğini unutmayın! Lütfen bunun yerine komut satırı güncelleyicisini kullanın!",
"Open updater" : "Güncelleyici aç",
"Download now" : "İndir",
- "Web updater is disabled. Please use the command line updater or the appropriate update mechanism for your installation method (e.g. Docker pull) to update." : "İnternet güncelleyicisi devre dışı bırakılmış. Güncellemek için lütfen komut satırı güncelleyicisini ya da kurulum yönteminize uygun güncelleme yöntemini (Docker pull gibi) kullanın.",
+ "Web updater is disabled. Please use the command line updater or the appropriate update mechanism for your installation method (e.g. Docker pull) to update." : "İnternet güncelleyicisi kapalı. Güncelleme için lütfen komut satırı güncelleyicisini ya da kurulum yönteminize uygun güncelleme yöntemini (Docker pull gibi) kullanın.",
"What's new?" : "Yenilikler neler?",
"View changelog" : "Değişiklik günlüğünü görüntüle",
"The update check is not yet finished. Please refresh the page." : "Güncelleme denetimi henüz tamamlanmadı. Lütfen sayfayı yenileyin.",
diff --git a/apps/updatenotification/l10n/vi.js b/apps/updatenotification/l10n/vi.js
deleted file mode 100644
index 3819e2f27e5..00000000000
--- a/apps/updatenotification/l10n/vi.js
+++ /dev/null
@@ -1,20 +0,0 @@
-OC.L10N.register(
- "updatenotification",
- {
- "{version} is available. Get more information on how to update." : "{version} có sẵn. Tìm hiểu thêm thông tin về cách cập nhật.",
- "Your version is up to date." : "Phiên bản của bạn được cập nhật.",
- "Update channel:" : "Cập nhật kênh:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Bạn luôn có thể cập nhật lên phiên bản / kênh thử nghiệm mới hơn. Nhưng bạn không bao giờ có thể downgrade vào một kênh ổn định hơn.",
- "Notify members of the following groups about available updates:" : "Thông báo cho các thành viên của các nhóm sau đây về các cập nhật có sẵn:",
- "Could not start updater, please try the manual update" : "Không thể bắt đầu cập nhật, vui lòng thử cập nhật thủ công",
- "Update notifications" : "Cập nhật thông báo",
- "Channel updated" : "Đã cập nhật kênh",
- "Update to %1$s is available." : "Cập nhật lên %1$s có sẵn.",
- "Update for %1$s to version %2$s is available." : "Cập nhật %1$s lên phiên bản %2$s có sẵn.",
- "Update for {app} to version %s is available." : "Cập nhật {app} lên phiên bản %s có sẵn.",
- "A new version is available: %s" : "Đã có phiên bản mới: %s",
- "Open updater" : "Mở trình cập nhật",
- "Download now" : "Tải ngay",
- "Checked on %s" : "Đã kiểm tra lúc %s"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/updatenotification/l10n/vi.json b/apps/updatenotification/l10n/vi.json
deleted file mode 100644
index 97cb8ee34a6..00000000000
--- a/apps/updatenotification/l10n/vi.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{ "translations": {
- "{version} is available. Get more information on how to update." : "{version} có sẵn. Tìm hiểu thêm thông tin về cách cập nhật.",
- "Your version is up to date." : "Phiên bản của bạn được cập nhật.",
- "Update channel:" : "Cập nhật kênh:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Bạn luôn có thể cập nhật lên phiên bản / kênh thử nghiệm mới hơn. Nhưng bạn không bao giờ có thể downgrade vào một kênh ổn định hơn.",
- "Notify members of the following groups about available updates:" : "Thông báo cho các thành viên của các nhóm sau đây về các cập nhật có sẵn:",
- "Could not start updater, please try the manual update" : "Không thể bắt đầu cập nhật, vui lòng thử cập nhật thủ công",
- "Update notifications" : "Cập nhật thông báo",
- "Channel updated" : "Đã cập nhật kênh",
- "Update to %1$s is available." : "Cập nhật lên %1$s có sẵn.",
- "Update for %1$s to version %2$s is available." : "Cập nhật %1$s lên phiên bản %2$s có sẵn.",
- "Update for {app} to version %s is available." : "Cập nhật {app} lên phiên bản %s có sẵn.",
- "A new version is available: %s" : "Đã có phiên bản mới: %s",
- "Open updater" : "Mở trình cập nhật",
- "Download now" : "Tải ngay",
- "Checked on %s" : "Đã kiểm tra lúc %s"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/ach.js b/apps/user_ldap/l10n/ach.js
deleted file mode 100644
index 95c97db2f9c..00000000000
--- a/apps/user_ldap/l10n/ach.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/user_ldap/l10n/ach.json b/apps/user_ldap/l10n/ach.json
deleted file mode 100644
index 8e0cd6f6783..00000000000
--- a/apps/user_ldap/l10n/ach.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/ady.js b/apps/user_ldap/l10n/ady.js
deleted file mode 100644
index 37042a4f412..00000000000
--- a/apps/user_ldap/l10n/ady.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/ady.json b/apps/user_ldap/l10n/ady.json
deleted file mode 100644
index 521de7ba1a8..00000000000
--- a/apps/user_ldap/l10n/ady.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/ak.js b/apps/user_ldap/l10n/ak.js
deleted file mode 100644
index a88c80b7933..00000000000
--- a/apps/user_ldap/l10n/ak.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},
-"nplurals=2; plural=n > 1;");
diff --git a/apps/user_ldap/l10n/ak.json b/apps/user_ldap/l10n/ak.json
deleted file mode 100644
index 58fcef711ee..00000000000
--- a/apps/user_ldap/l10n/ak.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=n > 1;"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/am_ET.js b/apps/user_ldap/l10n/am_ET.js
deleted file mode 100644
index 37042a4f412..00000000000
--- a/apps/user_ldap/l10n/am_ET.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/am_ET.json b/apps/user_ldap/l10n/am_ET.json
deleted file mode 100644
index 521de7ba1a8..00000000000
--- a/apps/user_ldap/l10n/am_ET.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/ast.js b/apps/user_ldap/l10n/ast.js
deleted file mode 100644
index 2561ee32f6b..00000000000
--- a/apps/user_ldap/l10n/ast.js
+++ /dev/null
@@ -1,152 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Failed to clear the mappings." : "Fallu al llimpiar los mapeos.",
- "Failed to delete the server configuration" : "Fallu al desaniciar la configuración del sirvidor",
- "Valid configuration, connection established!" : "¡Configuración válida, afitóse la conexón!",
- "Invalid configuration. Please have a look at the logs for further details." : "Configuración non válida. Écha-yos un güeyu a los rexistros pa más detalles, por favor.",
- "No action specified" : "Nun s'especificó l'aición",
- "No configuration specified" : "Nun s'especificó la configuración",
- "No data specified" : "Nun s'especificaron los datos",
- " Could not set configuration %s" : "Nun pudo afitase la configuración %s",
- "Action does not exist" : "L'acción nun esiste",
- "Renewing …" : "Renovando...",
- "Very weak password" : "Contraseña perfeble",
- "Weak password" : "Contraseña feble",
- "So-so password" : "Contraseña normalina",
- "Good password" : "Contraseña bona",
- "Strong password" : "Contraseña fuerte",
- "The Base DN appears to be wrong" : "La base DN paez tar mal",
- "Testing configuration…" : "Probando configuración...",
- "Configuration incorrect" : "Configuración incorreuta",
- "Configuration incomplete" : "Configuración incompleta",
- "Configuration OK" : "Configuración correuta",
- "Select groups" : "Esbillar grupos",
- "Select object classes" : "Esbillar les clases d'oxetu",
- "Please check the credentials, they seem to be wrong." : "Por favor, compruebe les credenciales, que paecen tar mal.",
- "Please specify the port, it could not be auto-detected." : "Por favor especifica'l puertu, nun puede ser detectáu automáticamente .",
- "Base DN could not be auto-detected, please revise credentials, host and port." : "Base DN nun puede ser detectada automáticamente, por favor revisa les credenciales, host yá'l puertu.",
- "Could not detect Base DN, please enter it manually." : "Nun se detectó base DN, por favor introduzla manualmente .",
- "{nthServer}. Server" : "{nthServer}. Sirvidor",
- "No object found in the given Base DN. Please revise." : "Nun s'atopó nengún oxetu na Base DN dada. Por favor, revísalo.",
- "More than 1,000 directory entries available." : "Más de 1.000 entraes de directoriu disponibles.",
- "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Asocedió un erru. Por favor, compruebe la Base DN , amás de la configuración de conexón y les credenciales.",
- "Do you really want to delete the current Server Configuration?" : "¿Daveres que quies desaniciar la configuración actual del sirvidor?",
- "Confirm Deletion" : "Confirmar desaniciu",
- "Mappings cleared successfully!" : "¡Asignaciones borraes correutamente!",
- "Error while clearing the mappings." : "Fallu mientres desaniciaben les asignaciones.",
- "Anonymous bind is not allowed. Please provide a User DN and Password." : "Nun s'almite l'enllaz anónimu. Por favor apurre un usuariu DN y contraseña.",
- "LDAP Operations error. Anonymous bind might not be allowed." : "Erru d'operaciones LDAP . Enllaz anónimu nun s'almite.",
- "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Nun pudo guardase. Por favor asegúrate que la base de datos ta en funcionamientu. Actualiza enantes de siguir.",
- "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Cambiar el mou va habilitar les consultes LDAP automátiques . Dependiendo del to tamañu de LDAP puede llevar un tiempu. ¿Inda deseya camudar el mou?",
- "Select attributes" : "Esbillar atributos",
- "User found and settings verified." : "Usuariu atopáu y la configuración verificada.",
- "An unspecified error occurred. Please check log and settings." : "Asocedió un fallu non especificáu. Comprueba'l rexistru y los axustes, por favor.",
- "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "El filtru de busca nun ye válidu , probablemente por cuenta de problemes de sintaxis como'l númberu impar de soportes abiertos y zarraos. Por favor revisalo.",
- "Please provide a login name to test against" : "Por favor, proporcione un nombre de inicio de sesión para comprobar en contra",
- "Your password will expire today." : "Güei caduca la to contraseña.",
- "Could not find the desired feature" : "Nun pudo alcontrase la carauterística deseyada",
- "Invalid Host" : "Agospiu non válidu",
- "Test Configuration" : "Configuración de prueba",
- "Help" : "Ayuda",
- "Groups meeting these criteria are available in %s:" : "Los grupos que cumplen estos criterios tán disponibles en %s:",
- "Only these object classes:" : "Namái d'estes clases d'oxetu:",
- "Only from these groups:" : "Namái d'estos grupos:",
- "Search groups" : "Esbillar grupos",
- "Available groups" : "Grupos disponibles",
- "Selected groups" : "Grupos seleicionaos",
- "Edit LDAP Query" : "Editar consulta LDAP",
- "LDAP Filter:" : "Filtru LDAP:",
- "The filter specifies which LDAP groups shall have access to the %s instance." : "El filtru especifica qué grupos LDAP van tener accesu a %s.",
- "Verify settings and count the groups" : "Verificar axustes y contar los grupos",
- "When logging in, %s will find the user based on the following attributes:" : "Al empecipiar sesión, %s atópase l'usuariu en función de los siguientes atributos :",
- "Other Attributes:" : "Otros atributos:",
- "Test Loginname" : "Preba de Nome d'Aniciu de Sesión",
- "Verify settings" : "Comprobar los axustes",
- "%s. Server:" : "%s. Sirvidor:",
- "Copy current configuration into new directory binding" : "Copiar configuración actual nel nuevu directoriu obligatoriu",
- "Delete the current configuration" : "Desaniciar la configuración actual",
- "Host" : "Equipu",
- "Port" : "Puertu",
- "Detect Port" : "Detectar Puertu",
- "User DN" : "DN usuariu",
- "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "El DN del usuariu veceru col que va facese l'asociación, p.ex. uid=axente,dc=exemplu,dc=com. P'accesu anónimu, dexa DN y contraseña baleros.",
- "Password" : "Contraseña",
- "For anonymous access, leave DN and Password empty." : "Pa un accesu anónimu, dexar el DN y la contraseña baleros.",
- "One Base DN per line" : "Un DN Base por llinia",
- "You can specify Base DN for users and groups in the Advanced tab" : "Pues especificar el DN base pa usuarios y grupos na llingüeta Avanzáu",
- "Detect Base DN" : "Detectar Base DN",
- "Test Base DN" : "Probar Base DN",
- "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Evita peticiones automátiques de LDAP. Meyor pa grandes configuraciones, pero rique mayor conocimientu de LDAP.",
- "Manually enter LDAP filters (recommended for large directories)" : "Inxerta manualmente los filtros de LDAP (recomendáu pa direutorios llargos)",
- "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "Les clases d'oxetos más comunes pa los usuarios d'Internet son organizationalPerson, persona, usuariu y inetOrgPerson . Si nun ta seguro de qué clase d'oxetu escoyer, por favor consulte al so alministrador de directorios.",
- "The filter specifies which LDAP users shall have access to the %s instance." : "El filtru especifica qué usuarios LDAP puen tener accesu a %s.",
- "Verify settings and count users" : "Comprobar la configuración y usuarios de recuentu",
- "Saving" : "Guardando",
- "Back" : "Atrás",
- "Continue" : "Continuar",
- "Please renew your password." : "Renueva la to contraseña, por favor.",
- "An internal error occurred." : "Asocedió un fallu internu.",
- "Please try again or contact your administrator." : "Volvi tentalo o contauta col to alministrador, por favor.",
- "Current password" : "Contraseña actual",
- "New password" : "Contraseña nueva",
- "Renew password" : "Renovar contraseña",
- "Wrong password." : "Contraseña incorreuta.",
- "Cancel" : "Encaboxar",
- "Server" : "Sirvidor",
- "Users" : "Usuarios",
- "Login Attributes" : "Los atributos d'aniciu de sesión",
- "Groups" : "Grupos",
- "Expert" : "Espertu",
- "Advanced" : "Avanzáu",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Avisu:</b> El módulu LDAP de PHP nun ta instaláu, el sistema nun va funcionar. Por favor consulta al alministrador del sistema pa instalalu.",
- "Connection Settings" : "Axustes de conexón",
- "Configuration Active" : "Configuración activa",
- "When unchecked, this configuration will be skipped." : "Cuando nun tea conseñáu, saltaráse esta configuración.",
- "Backup (Replica) Host" : "Sirvidor de copia de seguranza (Réplica)",
- "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "Dar un sirvidor de copia de seguranza opcional. Tien de ser una réplica del sirvidor principal LDAP / AD.",
- "Backup (Replica) Port" : "Puertu pa copies de seguranza (Réplica)",
- "Disable Main Server" : "Deshabilitar sirvidor principal",
- "Only connect to the replica server." : "Coneutar namái col sirvidor de réplica.",
- "Turn off SSL certificate validation." : "Apagar la validación del certificáu SSL.",
- "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nun se recomienda, ¡úsalu namái pa pruebes! Si la conexón namái funciona con esta opción, importa'l certificáu SSL del sirvidor LDAP nel to sirvidor %s.",
- "Cache Time-To-Live" : "Cache Time-To-Live",
- "in seconds. A change empties the cache." : "en segundos. Un cambéu vacia la caché.",
- "Directory Settings" : "Axustes del direutoriu",
- "User Display Name Field" : "Campu de nome d'usuariu a amosar",
- "The LDAP attribute to use to generate the user's display name." : "El campu LDAP a usar pa xenerar el nome p'amosar del usuariu.",
- "2nd User Display Name Field" : "2ª usuariu amuesa Nome del campu",
- "Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«." : "Opcional. Un atributu LDAP que s'amesta al nome de visualización ente paréntesis. Los resultaos en, por exemplu, »John Doe (john.doe@example.org)«.",
- "Base User Tree" : "Árbol base d'usuariu",
- "One User Base DN per line" : "Un DN Base d'Usuariu por llinia",
- "User Search Attributes" : "Atributos de la gueta d'usuariu",
- "Optional; one attribute per line" : "Opcional; un atributu por llinia",
- "Group Display Name Field" : "Campu de nome de grupu a amosar",
- "The LDAP attribute to use to generate the groups's display name." : "El campu LDAP a usar pa xenerar el nome p'amosar del grupu.",
- "Base Group Tree" : "Árbol base de grupu",
- "One Group Base DN per line" : "Un DN Base de Grupu por llinia",
- "Group Search Attributes" : "Atributos de gueta de grupu",
- "Group-Member association" : "Asociación Grupu-Miembru",
- "Dynamic Group Member URL" : "URL Dinámica de Grupu d'Usuarios",
- "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.)" : "L'atributu LDAP que nos oxetos de grupu contien una gueta de URLs de LDAP que determina qué oxetos pertenecen al grupu. (Un axuste vacíu desanicia la funcionalidá dinámica de pertenencia al grupu.)",
- "Nested Groups" : "Grupos añeraos",
- "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Cuando s'active, van permitise grupos que contengan otros grupos (namái funciona si l'atributu de miembru de grupu contién DNs).",
- "Paging chunksize" : "Tamañu de los fragmentos de paxinación",
- "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Tamañu de los fragmentos usáu pa busques LDAP paxinaes que puen devolver resultaos voluminosos, como enubmeración d'usuarios o de grupos. (Si s'afita en 0, van deshabilitase les busques LDAP paxinaes neses situaciones.)",
- "(New password is sent as plain text to LDAP)" : "(La contraseña únviase como testu planu a LDAP)",
- "Special Attributes" : "Atributos especiales",
- "Quota Field" : "Cuota",
- "Quota Default" : "Cuota por defeutu",
- "Email Field" : "E-mail",
- "User Home Folder Naming Rule" : "Regla pa la carpeta Home d'usuariu",
- "Internal Username" : "Nome d'usuariu internu",
- "Internal Username Attribute:" : "Atributu Nome d'usuariu Internu:",
- "Override UUID detection" : "Sobrescribir la deteición UUID",
- "By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Por defeutu, l'atributu UUID autodetéutase. Esti atributu úsase pa identificar induldablemente usuarios y grupos LDAP. Arriendes, el nome d'usuariu internu va crease en bas al UUID, si nun s'especificó otru comportamientu arriba. Pues sobrescribir la configuración y pasar un atributu de la to eleición. Tienes d'asegurate de que l'atributu de la to eleición seya accesible polos usuarios y grupos y ser únicu. Déxalu en blanco pa usar el comportamientu por defeutu. Los cambeos van tener efeutu namái nos usuarios y grupos de LDAP mapeaos (amestaos) recién.",
- "UUID Attribute for Users:" : "Atributu UUID pa usuarios:",
- "UUID Attribute for Groups:" : "Atributu UUID pa Grupos:",
- "Username-LDAP User Mapping" : "Asignación del Nome d'usuariu LDAP",
- "Clear Username-LDAP User Mapping" : "Llimpiar l'asignación de los Nomes d'usuariu de los usuarios LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Llimpiar l'asignación de los Nomes de grupu de los grupos de LDAP"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/ast.json b/apps/user_ldap/l10n/ast.json
deleted file mode 100644
index 8d3e332c21f..00000000000
--- a/apps/user_ldap/l10n/ast.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{ "translations": {
- "Failed to clear the mappings." : "Fallu al llimpiar los mapeos.",
- "Failed to delete the server configuration" : "Fallu al desaniciar la configuración del sirvidor",
- "Valid configuration, connection established!" : "¡Configuración válida, afitóse la conexón!",
- "Invalid configuration. Please have a look at the logs for further details." : "Configuración non válida. Écha-yos un güeyu a los rexistros pa más detalles, por favor.",
- "No action specified" : "Nun s'especificó l'aición",
- "No configuration specified" : "Nun s'especificó la configuración",
- "No data specified" : "Nun s'especificaron los datos",
- " Could not set configuration %s" : "Nun pudo afitase la configuración %s",
- "Action does not exist" : "L'acción nun esiste",
- "Renewing …" : "Renovando...",
- "Very weak password" : "Contraseña perfeble",
- "Weak password" : "Contraseña feble",
- "So-so password" : "Contraseña normalina",
- "Good password" : "Contraseña bona",
- "Strong password" : "Contraseña fuerte",
- "The Base DN appears to be wrong" : "La base DN paez tar mal",
- "Testing configuration…" : "Probando configuración...",
- "Configuration incorrect" : "Configuración incorreuta",
- "Configuration incomplete" : "Configuración incompleta",
- "Configuration OK" : "Configuración correuta",
- "Select groups" : "Esbillar grupos",
- "Select object classes" : "Esbillar les clases d'oxetu",
- "Please check the credentials, they seem to be wrong." : "Por favor, compruebe les credenciales, que paecen tar mal.",
- "Please specify the port, it could not be auto-detected." : "Por favor especifica'l puertu, nun puede ser detectáu automáticamente .",
- "Base DN could not be auto-detected, please revise credentials, host and port." : "Base DN nun puede ser detectada automáticamente, por favor revisa les credenciales, host yá'l puertu.",
- "Could not detect Base DN, please enter it manually." : "Nun se detectó base DN, por favor introduzla manualmente .",
- "{nthServer}. Server" : "{nthServer}. Sirvidor",
- "No object found in the given Base DN. Please revise." : "Nun s'atopó nengún oxetu na Base DN dada. Por favor, revísalo.",
- "More than 1,000 directory entries available." : "Más de 1.000 entraes de directoriu disponibles.",
- "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Asocedió un erru. Por favor, compruebe la Base DN , amás de la configuración de conexón y les credenciales.",
- "Do you really want to delete the current Server Configuration?" : "¿Daveres que quies desaniciar la configuración actual del sirvidor?",
- "Confirm Deletion" : "Confirmar desaniciu",
- "Mappings cleared successfully!" : "¡Asignaciones borraes correutamente!",
- "Error while clearing the mappings." : "Fallu mientres desaniciaben les asignaciones.",
- "Anonymous bind is not allowed. Please provide a User DN and Password." : "Nun s'almite l'enllaz anónimu. Por favor apurre un usuariu DN y contraseña.",
- "LDAP Operations error. Anonymous bind might not be allowed." : "Erru d'operaciones LDAP . Enllaz anónimu nun s'almite.",
- "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Nun pudo guardase. Por favor asegúrate que la base de datos ta en funcionamientu. Actualiza enantes de siguir.",
- "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Cambiar el mou va habilitar les consultes LDAP automátiques . Dependiendo del to tamañu de LDAP puede llevar un tiempu. ¿Inda deseya camudar el mou?",
- "Select attributes" : "Esbillar atributos",
- "User found and settings verified." : "Usuariu atopáu y la configuración verificada.",
- "An unspecified error occurred. Please check log and settings." : "Asocedió un fallu non especificáu. Comprueba'l rexistru y los axustes, por favor.",
- "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "El filtru de busca nun ye válidu , probablemente por cuenta de problemes de sintaxis como'l númberu impar de soportes abiertos y zarraos. Por favor revisalo.",
- "Please provide a login name to test against" : "Por favor, proporcione un nombre de inicio de sesión para comprobar en contra",
- "Your password will expire today." : "Güei caduca la to contraseña.",
- "Could not find the desired feature" : "Nun pudo alcontrase la carauterística deseyada",
- "Invalid Host" : "Agospiu non válidu",
- "Test Configuration" : "Configuración de prueba",
- "Help" : "Ayuda",
- "Groups meeting these criteria are available in %s:" : "Los grupos que cumplen estos criterios tán disponibles en %s:",
- "Only these object classes:" : "Namái d'estes clases d'oxetu:",
- "Only from these groups:" : "Namái d'estos grupos:",
- "Search groups" : "Esbillar grupos",
- "Available groups" : "Grupos disponibles",
- "Selected groups" : "Grupos seleicionaos",
- "Edit LDAP Query" : "Editar consulta LDAP",
- "LDAP Filter:" : "Filtru LDAP:",
- "The filter specifies which LDAP groups shall have access to the %s instance." : "El filtru especifica qué grupos LDAP van tener accesu a %s.",
- "Verify settings and count the groups" : "Verificar axustes y contar los grupos",
- "When logging in, %s will find the user based on the following attributes:" : "Al empecipiar sesión, %s atópase l'usuariu en función de los siguientes atributos :",
- "Other Attributes:" : "Otros atributos:",
- "Test Loginname" : "Preba de Nome d'Aniciu de Sesión",
- "Verify settings" : "Comprobar los axustes",
- "%s. Server:" : "%s. Sirvidor:",
- "Copy current configuration into new directory binding" : "Copiar configuración actual nel nuevu directoriu obligatoriu",
- "Delete the current configuration" : "Desaniciar la configuración actual",
- "Host" : "Equipu",
- "Port" : "Puertu",
- "Detect Port" : "Detectar Puertu",
- "User DN" : "DN usuariu",
- "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "El DN del usuariu veceru col que va facese l'asociación, p.ex. uid=axente,dc=exemplu,dc=com. P'accesu anónimu, dexa DN y contraseña baleros.",
- "Password" : "Contraseña",
- "For anonymous access, leave DN and Password empty." : "Pa un accesu anónimu, dexar el DN y la contraseña baleros.",
- "One Base DN per line" : "Un DN Base por llinia",
- "You can specify Base DN for users and groups in the Advanced tab" : "Pues especificar el DN base pa usuarios y grupos na llingüeta Avanzáu",
- "Detect Base DN" : "Detectar Base DN",
- "Test Base DN" : "Probar Base DN",
- "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Evita peticiones automátiques de LDAP. Meyor pa grandes configuraciones, pero rique mayor conocimientu de LDAP.",
- "Manually enter LDAP filters (recommended for large directories)" : "Inxerta manualmente los filtros de LDAP (recomendáu pa direutorios llargos)",
- "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "Les clases d'oxetos más comunes pa los usuarios d'Internet son organizationalPerson, persona, usuariu y inetOrgPerson . Si nun ta seguro de qué clase d'oxetu escoyer, por favor consulte al so alministrador de directorios.",
- "The filter specifies which LDAP users shall have access to the %s instance." : "El filtru especifica qué usuarios LDAP puen tener accesu a %s.",
- "Verify settings and count users" : "Comprobar la configuración y usuarios de recuentu",
- "Saving" : "Guardando",
- "Back" : "Atrás",
- "Continue" : "Continuar",
- "Please renew your password." : "Renueva la to contraseña, por favor.",
- "An internal error occurred." : "Asocedió un fallu internu.",
- "Please try again or contact your administrator." : "Volvi tentalo o contauta col to alministrador, por favor.",
- "Current password" : "Contraseña actual",
- "New password" : "Contraseña nueva",
- "Renew password" : "Renovar contraseña",
- "Wrong password." : "Contraseña incorreuta.",
- "Cancel" : "Encaboxar",
- "Server" : "Sirvidor",
- "Users" : "Usuarios",
- "Login Attributes" : "Los atributos d'aniciu de sesión",
- "Groups" : "Grupos",
- "Expert" : "Espertu",
- "Advanced" : "Avanzáu",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Avisu:</b> El módulu LDAP de PHP nun ta instaláu, el sistema nun va funcionar. Por favor consulta al alministrador del sistema pa instalalu.",
- "Connection Settings" : "Axustes de conexón",
- "Configuration Active" : "Configuración activa",
- "When unchecked, this configuration will be skipped." : "Cuando nun tea conseñáu, saltaráse esta configuración.",
- "Backup (Replica) Host" : "Sirvidor de copia de seguranza (Réplica)",
- "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "Dar un sirvidor de copia de seguranza opcional. Tien de ser una réplica del sirvidor principal LDAP / AD.",
- "Backup (Replica) Port" : "Puertu pa copies de seguranza (Réplica)",
- "Disable Main Server" : "Deshabilitar sirvidor principal",
- "Only connect to the replica server." : "Coneutar namái col sirvidor de réplica.",
- "Turn off SSL certificate validation." : "Apagar la validación del certificáu SSL.",
- "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nun se recomienda, ¡úsalu namái pa pruebes! Si la conexón namái funciona con esta opción, importa'l certificáu SSL del sirvidor LDAP nel to sirvidor %s.",
- "Cache Time-To-Live" : "Cache Time-To-Live",
- "in seconds. A change empties the cache." : "en segundos. Un cambéu vacia la caché.",
- "Directory Settings" : "Axustes del direutoriu",
- "User Display Name Field" : "Campu de nome d'usuariu a amosar",
- "The LDAP attribute to use to generate the user's display name." : "El campu LDAP a usar pa xenerar el nome p'amosar del usuariu.",
- "2nd User Display Name Field" : "2ª usuariu amuesa Nome del campu",
- "Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«." : "Opcional. Un atributu LDAP que s'amesta al nome de visualización ente paréntesis. Los resultaos en, por exemplu, »John Doe (john.doe@example.org)«.",
- "Base User Tree" : "Árbol base d'usuariu",
- "One User Base DN per line" : "Un DN Base d'Usuariu por llinia",
- "User Search Attributes" : "Atributos de la gueta d'usuariu",
- "Optional; one attribute per line" : "Opcional; un atributu por llinia",
- "Group Display Name Field" : "Campu de nome de grupu a amosar",
- "The LDAP attribute to use to generate the groups's display name." : "El campu LDAP a usar pa xenerar el nome p'amosar del grupu.",
- "Base Group Tree" : "Árbol base de grupu",
- "One Group Base DN per line" : "Un DN Base de Grupu por llinia",
- "Group Search Attributes" : "Atributos de gueta de grupu",
- "Group-Member association" : "Asociación Grupu-Miembru",
- "Dynamic Group Member URL" : "URL Dinámica de Grupu d'Usuarios",
- "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.)" : "L'atributu LDAP que nos oxetos de grupu contien una gueta de URLs de LDAP que determina qué oxetos pertenecen al grupu. (Un axuste vacíu desanicia la funcionalidá dinámica de pertenencia al grupu.)",
- "Nested Groups" : "Grupos añeraos",
- "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Cuando s'active, van permitise grupos que contengan otros grupos (namái funciona si l'atributu de miembru de grupu contién DNs).",
- "Paging chunksize" : "Tamañu de los fragmentos de paxinación",
- "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Tamañu de los fragmentos usáu pa busques LDAP paxinaes que puen devolver resultaos voluminosos, como enubmeración d'usuarios o de grupos. (Si s'afita en 0, van deshabilitase les busques LDAP paxinaes neses situaciones.)",
- "(New password is sent as plain text to LDAP)" : "(La contraseña únviase como testu planu a LDAP)",
- "Special Attributes" : "Atributos especiales",
- "Quota Field" : "Cuota",
- "Quota Default" : "Cuota por defeutu",
- "Email Field" : "E-mail",
- "User Home Folder Naming Rule" : "Regla pa la carpeta Home d'usuariu",
- "Internal Username" : "Nome d'usuariu internu",
- "Internal Username Attribute:" : "Atributu Nome d'usuariu Internu:",
- "Override UUID detection" : "Sobrescribir la deteición UUID",
- "By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Por defeutu, l'atributu UUID autodetéutase. Esti atributu úsase pa identificar induldablemente usuarios y grupos LDAP. Arriendes, el nome d'usuariu internu va crease en bas al UUID, si nun s'especificó otru comportamientu arriba. Pues sobrescribir la configuración y pasar un atributu de la to eleición. Tienes d'asegurate de que l'atributu de la to eleición seya accesible polos usuarios y grupos y ser únicu. Déxalu en blanco pa usar el comportamientu por defeutu. Los cambeos van tener efeutu namái nos usuarios y grupos de LDAP mapeaos (amestaos) recién.",
- "UUID Attribute for Users:" : "Atributu UUID pa usuarios:",
- "UUID Attribute for Groups:" : "Atributu UUID pa Grupos:",
- "Username-LDAP User Mapping" : "Asignación del Nome d'usuariu LDAP",
- "Clear Username-LDAP User Mapping" : "Llimpiar l'asignación de los Nomes d'usuariu de los usuarios LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Llimpiar l'asignación de los Nomes de grupu de los grupos de LDAP"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/az.js b/apps/user_ldap/l10n/az.js
deleted file mode 100644
index b431ba72723..00000000000
--- a/apps/user_ldap/l10n/az.js
+++ /dev/null
@@ -1,37 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Failed to clear the mappings." : "Xəritələnməni silmək mümkün olmadı",
- "Failed to delete the server configuration" : "Server configini silmək mümkün olmadı",
- "The configuration is valid and the connection could be established!" : "Configurasiya doğrudur və qoşulmaq mümkündür!",
- "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Configurasiya doğrudur yalnız, birləşmədə səhv oldu. Xahiş olunur server quraşdırmalarını və daxil etdiyiniz verilənlərin düzgünlüyünü yoxlayasınız.",
- "The configuration is invalid. Please have a look at the logs for further details." : "Configurasiya dügün deyil. Əlavə detallar üçün xahiş edirik jurnal faylına baxasınız.",
- "No action specified" : "Heç bir iş təyin edilməyib",
- "No configuration specified" : "Təyin edilmiş konfiqurasiya yoxdur",
- "No data specified" : "Təyin edilmiş data yoxdur",
- " Could not set configuration %s" : "%s configi təyin etmək mümkün olmadı",
- "Configuration incorrect" : "Konfiqurasiya düzgün deyil",
- "Configuration incomplete" : "Konfiqruasiya bitmiş deyil",
- "Configuration OK" : "Konfiqurasiya OK-dir",
- "Select groups" : "Qrupları seç",
- "Select object classes" : "object class-larını seç",
- "{nthServer}. Server" : "{nthServer}. Server",
- "Do you really want to delete the current Server Configuration?" : "Siz hal-hazırki server konfiqini silmək istədiyinizdən həqiqətən əminsinizmi?",
- "Confirm Deletion" : "Silinmənin təsdiqi",
- "Select attributes" : "Atributları seç",
- "_%s group found_::_%s groups found_" : ["%s qruplar tapıldı","%s qruplar tapıldı"],
- "_%s user found_::_%s users found_" : ["%s istifadəçilər tapıldı","%s istifadəçilər tapıldı"],
- "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "İstifadəçinin ekran atributu adını təyin etmək mümkün deyil. Xahiş olunur sizin özünüz onu əllə ldap konfiqində təyin edəsiniz.",
- "Could not find the desired feature" : "Arzulanılan imkanı tapmaq mümkün deyil",
- "Invalid Host" : "Yalnış Host",
- "Server" : "Server",
- "Users" : "İstifadəçilər",
- "Groups" : "Qruplar",
- "Test Configuration" : "Konfiqurasiya testi",
- "Help" : "Kömək",
- "Host" : "Şəbəkədə ünvan",
- "Port" : "Port",
- "Password" : "Şifrə",
- "Advanced" : "İrəliləmiş"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/az.json b/apps/user_ldap/l10n/az.json
deleted file mode 100644
index aa5e52cb346..00000000000
--- a/apps/user_ldap/l10n/az.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{ "translations": {
- "Failed to clear the mappings." : "Xəritələnməni silmək mümkün olmadı",
- "Failed to delete the server configuration" : "Server configini silmək mümkün olmadı",
- "The configuration is valid and the connection could be established!" : "Configurasiya doğrudur və qoşulmaq mümkündür!",
- "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Configurasiya doğrudur yalnız, birləşmədə səhv oldu. Xahiş olunur server quraşdırmalarını və daxil etdiyiniz verilənlərin düzgünlüyünü yoxlayasınız.",
- "The configuration is invalid. Please have a look at the logs for further details." : "Configurasiya dügün deyil. Əlavə detallar üçün xahiş edirik jurnal faylına baxasınız.",
- "No action specified" : "Heç bir iş təyin edilməyib",
- "No configuration specified" : "Təyin edilmiş konfiqurasiya yoxdur",
- "No data specified" : "Təyin edilmiş data yoxdur",
- " Could not set configuration %s" : "%s configi təyin etmək mümkün olmadı",
- "Configuration incorrect" : "Konfiqurasiya düzgün deyil",
- "Configuration incomplete" : "Konfiqruasiya bitmiş deyil",
- "Configuration OK" : "Konfiqurasiya OK-dir",
- "Select groups" : "Qrupları seç",
- "Select object classes" : "object class-larını seç",
- "{nthServer}. Server" : "{nthServer}. Server",
- "Do you really want to delete the current Server Configuration?" : "Siz hal-hazırki server konfiqini silmək istədiyinizdən həqiqətən əminsinizmi?",
- "Confirm Deletion" : "Silinmənin təsdiqi",
- "Select attributes" : "Atributları seç",
- "_%s group found_::_%s groups found_" : ["%s qruplar tapıldı","%s qruplar tapıldı"],
- "_%s user found_::_%s users found_" : ["%s istifadəçilər tapıldı","%s istifadəçilər tapıldı"],
- "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "İstifadəçinin ekran atributu adını təyin etmək mümkün deyil. Xahiş olunur sizin özünüz onu əllə ldap konfiqində təyin edəsiniz.",
- "Could not find the desired feature" : "Arzulanılan imkanı tapmaq mümkün deyil",
- "Invalid Host" : "Yalnış Host",
- "Server" : "Server",
- "Users" : "İstifadəçilər",
- "Groups" : "Qruplar",
- "Test Configuration" : "Konfiqurasiya testi",
- "Help" : "Kömək",
- "Host" : "Şəbəkədə ünvan",
- "Port" : "Port",
- "Password" : "Şifrə",
- "Advanced" : "İrəliləmiş"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/be.js b/apps/user_ldap/l10n/be.js
deleted file mode 100644
index 99117026327..00000000000
--- a/apps/user_ldap/l10n/be.js
+++ /dev/null
@@ -1,6 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Advanced" : "Дасведчаны"
-},
-"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/user_ldap/l10n/be.json b/apps/user_ldap/l10n/be.json
deleted file mode 100644
index 987589ccd81..00000000000
--- a/apps/user_ldap/l10n/be.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "translations": {
- "Advanced" : "Дасведчаны"
-},"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/user_ldap/l10n/bn_BD.js b/apps/user_ldap/l10n/bn_BD.js
deleted file mode 100644
index c74a22160e6..00000000000
--- a/apps/user_ldap/l10n/bn_BD.js
+++ /dev/null
@@ -1,80 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Failed to clear the mappings." : "মানচিত্রায়ন মুছতে ব্যার্থ হলো।",
- "Failed to delete the server configuration" : "সার্ভার কনফিগারেশন মোছা ব্যার্থ হলো",
- "The configuration is valid and the connection could be established!" : "কনফিগারেশনটি বৈধ এবং যোগাযোগ প্রতিষ্ঠা করা যায়!",
- "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "কনফিগারেশনটি বৈধ তবে Bind ব্যার্থ। দয়া করে সার্ভার নিয়ামকসমূহ এবং ব্যবহারকারী পরীক্ষা করুন।",
- "The configuration is invalid. Please have a look at the logs for further details." : "কনফিহারেশনটি অবৈধ। বিস্তারিত জানতে দয়া করে লগ দেখুন।",
- "No action specified" : "কোন কার্যাদেশ সুনির্দিষ্ট নয়",
- "No configuration specified" : " কোন কনফিগারেসন সুনির্দিষ্ট নয়",
- "No data specified" : "কোন ডাটা সুনির্দিষ্ট নয়",
- " Could not set configuration %s" : "%s কনফিগারেসন ঠিক করা গেল না",
- "Configuration incorrect" : "ভুল কনফিগারেসন",
- "Configuration incomplete" : "অসম্পূর্ণ কনফিগারেসন",
- "Configuration OK" : "কনফিগারেসন ঠিক আছে",
- "Select groups" : "গ্রুপ নির্ধারণ",
- "Select object classes" : "অবজেক্ট ক্লাস নির্ধারণ",
- "{nthServer}. Server" : "{nthServer}. সার্ভার",
- "Do you really want to delete the current Server Configuration?" : "আপনি কি সত্যিই চলতি সার্ভার কনফিগারেসন মুছতে চান?",
- "Confirm Deletion" : "মোছার আদেশ নিশ্চিত করুন",
- "Select attributes" : "বৈশিষ্ট্য নির্ধারণ",
- "_%s group found_::_%s groups found_" : ["%s গ্রুপ পাওয়া গেছে","%s গ্রুপ পাওয়া গেছে"],
- "_%s user found_::_%s users found_" : ["%s ব্যাবহারকারী পাওয়া গেছে","%s ব্যাবহারকারী পাওয়া গেছে"],
- "Could not find the desired feature" : "চাহিদামাফিক ফিচারটি পাওয়া গেলনা",
- "Invalid Host" : "অবৈধ হোস্ট",
- "Server" : "সার্ভার",
- "Users" : "ব্যবহারকারী",
- "Groups" : "গোষ্ঠীসমূহ",
- "Test Configuration" : "পরীক্ষামূলক কনফিগারেসন",
- "Help" : "সহায়িকা",
- "Groups meeting these criteria are available in %s:" : "প্রদত্ত বৈশিষ্ট্য অনুযায়ী %s এ প্রাপ্তব্য গ্রুপসমূহ:",
- "The filter specifies which LDAP groups shall have access to the %s instance." : "ফিল্টারটি %s সার্ভারে কোন কোন LDAP গ্রুপ প্রবেশাধিকার পাবে তা নির্ধারণ করে।",
- "Other Attributes:" : "অন্যান্য বৈশিষ্ট্য:",
- "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "প্রবেশ প্রচেষ্টা নিলে প্রযোজ্য ফিল্টার নির্ধারণ করে। প্রবেশকালে %%uid ব্যাবহারকারীর নামকে প্রতিস্থাপন করে। ঊদাহরণ: \"uid=%%uid\"",
- "1. Server" : "1. সার্ভার",
- "%s. Server:" : "%s. সার্ভার:",
- "Host" : "হোস্ট",
- "You can omit the protocol, except you require SSL. Then start with ldaps://" : "SSL আবশ্যক না হলে আপনি এই প্রটোকলটি মুছে ফেলতে পারেন । এরপর শুরু করুন এটা দিয়ে ldaps://",
- "Port" : "পোর্ট",
- "User DN" : "ব্যবহারকারি DN",
- "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. পরিচয় গোপন রেখে অধিগমনের জন্য DN এবং কূটশব্দটি ফাঁকা রাখুন।",
- "Password" : "কূটশব্দ",
- "For anonymous access, leave DN and Password empty." : "অজ্ঞাতকুলশীল অধিগমনের জন্য DN এবং কূটশব্দটি ফাঁকা রাখুন।",
- "One Base DN per line" : "লাইনপ্রতি একটি Base DN",
- "You can specify Base DN for users and groups in the Advanced tab" : "সুচারু ট্যঅবে গিয়ে আপনি ব্যবহারকারি এবং গোষ্ঠীসমূহের জন্য ভিত্তি DN নির্ধারণ করতে পারেন।",
- "The filter specifies which LDAP users shall have access to the %s instance." : "এই ফিল্টারটি কোন কোন LDAP ব্যবহারকারী %s সার্ভারে প্রবেশ করবেন তা বাছাই করে।",
- "Back" : "পেছনে যাও",
- "Continue" : "চালিয়ে যাও",
- "Expert" : "দক্ষ",
- "Advanced" : "সুচারু",
- "<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "<b>Warning:</b> Apps user_ldap and user_webdavauth কম্প্যাটিবল নয়। আপনি অবান্ছিত জটিলতার মুখোমুখি হতে পারেন। সিস্টেম প্রশাসককে যেকোন একটি অকার্যকর করে দিতে বলুন।",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Warning:</b> PHP LDAP মডিউল ইনস্টল করা নেই, ব্যাকএন্ড কাজ করবেনা। সিস্টেম প্রশাসককে এটি ইনস্টল করতে বলুন।",
- "Connection Settings" : "সংযোগ নিয়ামকসমূহ",
- "Configuration Active" : "কনফিগারেসন সক্রিয়",
- "When unchecked, this configuration will be skipped." : "চেকমার্ক তুলে দিলে কনফিগারেসন এড়িয়ে যাবে।",
- "Backup (Replica) Host" : "ব্যাকআপ (নকল) হোস্ট",
- "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "একটি ঐচ্ছিক ব্যাকআপ হোস্ট দিন। এটি মূল LDAP/AD সার্ভারের নকল হবে।",
- "Backup (Replica) Port" : "ব্যাকআপ (নকল) পোর্ট",
- "Disable Main Server" : "মূল সার্ভারকে অকার্যকর কর",
- "Only connect to the replica server." : "শুধুমাত্র নকল সার্ভারে সংযোগ দাও।",
- "Turn off SSL certificate validation." : "SSL সনদপত্র যাচাইকরণ বন্ধ রাক।",
- "Cache Time-To-Live" : "ক্যাশে টাইম-টু-লিভ",
- "in seconds. A change empties the cache." : "সেকেন্ডে। কোন পরিবর্তন ক্যাসে খালি করবে।",
- "Directory Settings" : "ডিরেক্টরি নিয়ামকসমূহ",
- "User Display Name Field" : "ব্যবহারকারীর প্রদর্শিতব্য নামের ক্ষেত্র",
- "The LDAP attribute to use to generate the user's display name." : "ব্যবহারকারীর প্রদর্শনীয় নাম তৈরি করার জন্য ব্যবহৃত LDAP বৈশিষ্ট্য।",
- "Base User Tree" : "ভিত্তি ব্যবহারকারি বৃক্ষাকারে",
- "Group Display Name Field" : "গোষ্ঠীর প্রদর্শিতব্য নামের ক্ষেত্র",
- "Base Group Tree" : "ভিত্তি গোষ্ঠী বৃক্ষাকারে",
- "Group Search Attributes" : "গ্রুপ খোঁজার বৈশিষ্ট্য",
- "Group-Member association" : "গোষ্ঠী-সদস্য সংস্থাপন",
- "Nested Groups" : "একতাবদ্ধ গোষ্ঠিসমূহ",
- "Special Attributes" : "বিশেষ বৈশিষ্ট্যসমূহ",
- "Quota Field" : "কোটা",
- "Quota Default" : "পূর্বনির্ধারিত কোটা",
- "in bytes" : "বাইটে",
- "Email Field" : "ইমেইল ক্ষেত্র",
- "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "ব্যবহারকারী নামের জন্য ফাঁকা রাখুন (পূর্বনির্ধারিত)। অন্যথায়, LDAP/AD বৈশিষ্ট্য নির্ধারণ করুন।"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/bn_BD.json b/apps/user_ldap/l10n/bn_BD.json
deleted file mode 100644
index 68883909add..00000000000
--- a/apps/user_ldap/l10n/bn_BD.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{ "translations": {
- "Failed to clear the mappings." : "মানচিত্রায়ন মুছতে ব্যার্থ হলো।",
- "Failed to delete the server configuration" : "সার্ভার কনফিগারেশন মোছা ব্যার্থ হলো",
- "The configuration is valid and the connection could be established!" : "কনফিগারেশনটি বৈধ এবং যোগাযোগ প্রতিষ্ঠা করা যায়!",
- "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "কনফিগারেশনটি বৈধ তবে Bind ব্যার্থ। দয়া করে সার্ভার নিয়ামকসমূহ এবং ব্যবহারকারী পরীক্ষা করুন।",
- "The configuration is invalid. Please have a look at the logs for further details." : "কনফিহারেশনটি অবৈধ। বিস্তারিত জানতে দয়া করে লগ দেখুন।",
- "No action specified" : "কোন কার্যাদেশ সুনির্দিষ্ট নয়",
- "No configuration specified" : " কোন কনফিগারেসন সুনির্দিষ্ট নয়",
- "No data specified" : "কোন ডাটা সুনির্দিষ্ট নয়",
- " Could not set configuration %s" : "%s কনফিগারেসন ঠিক করা গেল না",
- "Configuration incorrect" : "ভুল কনফিগারেসন",
- "Configuration incomplete" : "অসম্পূর্ণ কনফিগারেসন",
- "Configuration OK" : "কনফিগারেসন ঠিক আছে",
- "Select groups" : "গ্রুপ নির্ধারণ",
- "Select object classes" : "অবজেক্ট ক্লাস নির্ধারণ",
- "{nthServer}. Server" : "{nthServer}. সার্ভার",
- "Do you really want to delete the current Server Configuration?" : "আপনি কি সত্যিই চলতি সার্ভার কনফিগারেসন মুছতে চান?",
- "Confirm Deletion" : "মোছার আদেশ নিশ্চিত করুন",
- "Select attributes" : "বৈশিষ্ট্য নির্ধারণ",
- "_%s group found_::_%s groups found_" : ["%s গ্রুপ পাওয়া গেছে","%s গ্রুপ পাওয়া গেছে"],
- "_%s user found_::_%s users found_" : ["%s ব্যাবহারকারী পাওয়া গেছে","%s ব্যাবহারকারী পাওয়া গেছে"],
- "Could not find the desired feature" : "চাহিদামাফিক ফিচারটি পাওয়া গেলনা",
- "Invalid Host" : "অবৈধ হোস্ট",
- "Server" : "সার্ভার",
- "Users" : "ব্যবহারকারী",
- "Groups" : "গোষ্ঠীসমূহ",
- "Test Configuration" : "পরীক্ষামূলক কনফিগারেসন",
- "Help" : "সহায়িকা",
- "Groups meeting these criteria are available in %s:" : "প্রদত্ত বৈশিষ্ট্য অনুযায়ী %s এ প্রাপ্তব্য গ্রুপসমূহ:",
- "The filter specifies which LDAP groups shall have access to the %s instance." : "ফিল্টারটি %s সার্ভারে কোন কোন LDAP গ্রুপ প্রবেশাধিকার পাবে তা নির্ধারণ করে।",
- "Other Attributes:" : "অন্যান্য বৈশিষ্ট্য:",
- "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "প্রবেশ প্রচেষ্টা নিলে প্রযোজ্য ফিল্টার নির্ধারণ করে। প্রবেশকালে %%uid ব্যাবহারকারীর নামকে প্রতিস্থাপন করে। ঊদাহরণ: \"uid=%%uid\"",
- "1. Server" : "1. সার্ভার",
- "%s. Server:" : "%s. সার্ভার:",
- "Host" : "হোস্ট",
- "You can omit the protocol, except you require SSL. Then start with ldaps://" : "SSL আবশ্যক না হলে আপনি এই প্রটোকলটি মুছে ফেলতে পারেন । এরপর শুরু করুন এটা দিয়ে ldaps://",
- "Port" : "পোর্ট",
- "User DN" : "ব্যবহারকারি DN",
- "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. পরিচয় গোপন রেখে অধিগমনের জন্য DN এবং কূটশব্দটি ফাঁকা রাখুন।",
- "Password" : "কূটশব্দ",
- "For anonymous access, leave DN and Password empty." : "অজ্ঞাতকুলশীল অধিগমনের জন্য DN এবং কূটশব্দটি ফাঁকা রাখুন।",
- "One Base DN per line" : "লাইনপ্রতি একটি Base DN",
- "You can specify Base DN for users and groups in the Advanced tab" : "সুচারু ট্যঅবে গিয়ে আপনি ব্যবহারকারি এবং গোষ্ঠীসমূহের জন্য ভিত্তি DN নির্ধারণ করতে পারেন।",
- "The filter specifies which LDAP users shall have access to the %s instance." : "এই ফিল্টারটি কোন কোন LDAP ব্যবহারকারী %s সার্ভারে প্রবেশ করবেন তা বাছাই করে।",
- "Back" : "পেছনে যাও",
- "Continue" : "চালিয়ে যাও",
- "Expert" : "দক্ষ",
- "Advanced" : "সুচারু",
- "<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "<b>Warning:</b> Apps user_ldap and user_webdavauth কম্প্যাটিবল নয়। আপনি অবান্ছিত জটিলতার মুখোমুখি হতে পারেন। সিস্টেম প্রশাসককে যেকোন একটি অকার্যকর করে দিতে বলুন।",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Warning:</b> PHP LDAP মডিউল ইনস্টল করা নেই, ব্যাকএন্ড কাজ করবেনা। সিস্টেম প্রশাসককে এটি ইনস্টল করতে বলুন।",
- "Connection Settings" : "সংযোগ নিয়ামকসমূহ",
- "Configuration Active" : "কনফিগারেসন সক্রিয়",
- "When unchecked, this configuration will be skipped." : "চেকমার্ক তুলে দিলে কনফিগারেসন এড়িয়ে যাবে।",
- "Backup (Replica) Host" : "ব্যাকআপ (নকল) হোস্ট",
- "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "একটি ঐচ্ছিক ব্যাকআপ হোস্ট দিন। এটি মূল LDAP/AD সার্ভারের নকল হবে।",
- "Backup (Replica) Port" : "ব্যাকআপ (নকল) পোর্ট",
- "Disable Main Server" : "মূল সার্ভারকে অকার্যকর কর",
- "Only connect to the replica server." : "শুধুমাত্র নকল সার্ভারে সংযোগ দাও।",
- "Turn off SSL certificate validation." : "SSL সনদপত্র যাচাইকরণ বন্ধ রাক।",
- "Cache Time-To-Live" : "ক্যাশে টাইম-টু-লিভ",
- "in seconds. A change empties the cache." : "সেকেন্ডে। কোন পরিবর্তন ক্যাসে খালি করবে।",
- "Directory Settings" : "ডিরেক্টরি নিয়ামকসমূহ",
- "User Display Name Field" : "ব্যবহারকারীর প্রদর্শিতব্য নামের ক্ষেত্র",
- "The LDAP attribute to use to generate the user's display name." : "ব্যবহারকারীর প্রদর্শনীয় নাম তৈরি করার জন্য ব্যবহৃত LDAP বৈশিষ্ট্য।",
- "Base User Tree" : "ভিত্তি ব্যবহারকারি বৃক্ষাকারে",
- "Group Display Name Field" : "গোষ্ঠীর প্রদর্শিতব্য নামের ক্ষেত্র",
- "Base Group Tree" : "ভিত্তি গোষ্ঠী বৃক্ষাকারে",
- "Group Search Attributes" : "গ্রুপ খোঁজার বৈশিষ্ট্য",
- "Group-Member association" : "গোষ্ঠী-সদস্য সংস্থাপন",
- "Nested Groups" : "একতাবদ্ধ গোষ্ঠিসমূহ",
- "Special Attributes" : "বিশেষ বৈশিষ্ট্যসমূহ",
- "Quota Field" : "কোটা",
- "Quota Default" : "পূর্বনির্ধারিত কোটা",
- "in bytes" : "বাইটে",
- "Email Field" : "ইমেইল ক্ষেত্র",
- "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "ব্যবহারকারী নামের জন্য ফাঁকা রাখুন (পূর্বনির্ধারিত)। অন্যথায়, LDAP/AD বৈশিষ্ট্য নির্ধারণ করুন।"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/bs.js b/apps/user_ldap/l10n/bs.js
deleted file mode 100644
index a30255595fe..00000000000
--- a/apps/user_ldap/l10n/bs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Users" : "Korisnici",
- "Groups" : "Grupe",
- "Help" : "Pomoć",
- "Port" : "Priključak",
- "Password" : "Lozinka",
- "Continue" : "Nastavi",
- "Advanced" : "Napredno"
-},
-"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/user_ldap/l10n/bs.json b/apps/user_ldap/l10n/bs.json
deleted file mode 100644
index 3172f54cf89..00000000000
--- a/apps/user_ldap/l10n/bs.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{ "translations": {
- "Users" : "Korisnici",
- "Groups" : "Grupe",
- "Help" : "Pomoć",
- "Port" : "Priključak",
- "Password" : "Lozinka",
- "Continue" : "Nastavi",
- "Advanced" : "Napredno"
-},"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/user_ldap/l10n/cy_GB.js b/apps/user_ldap/l10n/cy_GB.js
deleted file mode 100644
index 3d47b3b4e66..00000000000
--- a/apps/user_ldap/l10n/cy_GB.js
+++ /dev/null
@@ -1,10 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Users" : "Defnyddwyr",
- "Groups" : "Grwpiau",
- "Help" : "Cymorth",
- "Password" : "Cyfrinair",
- "Advanced" : "Uwch"
-},
-"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;");
diff --git a/apps/user_ldap/l10n/cy_GB.json b/apps/user_ldap/l10n/cy_GB.json
deleted file mode 100644
index 8140e36f49d..00000000000
--- a/apps/user_ldap/l10n/cy_GB.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "translations": {
- "Users" : "Defnyddwyr",
- "Groups" : "Grwpiau",
- "Help" : "Cymorth",
- "Password" : "Cyfrinair",
- "Advanced" : "Uwch"
-},"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/user_ldap/l10n/eo.js b/apps/user_ldap/l10n/eo.js
deleted file mode 100644
index 25c880dbdc5..00000000000
--- a/apps/user_ldap/l10n/eo.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Failed to delete the server configuration" : "Malsukcesis forigo de la agordo de servilo",
- "Action does not exist" : "Ago ne ekzistas",
- "Configuration incorrect" : "La agordaro malĝustas",
- "Configuration incomplete" : "La agordaro neplenas",
- "Configuration OK" : "La agordaro ĝustas",
- "Select groups" : "Elekti grupojn",
- "Select object classes" : "Elekti objektoklasojn",
- "{nthServer}. Server" : "{nthServer}. Servilo",
- "Confirm Deletion" : "Konfirmi forigon",
- "Select attributes" : "Elekti atribuojn",
- "_%s group found_::_%s groups found_" : ["%s grupo troviĝis","%s grupoj troviĝis"],
- "_%s user found_::_%s users found_" : ["%s uzanto troviĝis","%s uzanto troviĝis"],
- "Invalid Host" : "Nevalida gastigo",
- "Server" : "Servilo",
- "Users" : "Uzantoj",
- "Groups" : "Grupoj",
- "Test Configuration" : "Provi agordon",
- "Help" : "Helpo",
- "Other Attributes:" : "Aliaj atribuoj:",
- "1. Server" : "1. Servilo",
- "%s. Server:" : "%s. Servilo:",
- "Host" : "Gastigo",
- "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Vi povas neglekti la protokolon, escepte se vi bezonas SSL-on. Tiuokaze, komencu per ldaps://",
- "Port" : "Pordo",
- "User DN" : "Uzanto-DN",
- "Password" : "Pasvorto",
- "For anonymous access, leave DN and Password empty." : "Por sennoman aliron, lasu DN-on kaj Pasvorton malplenaj.",
- "Saving" : "Konservante",
- "Back" : "Antaŭen",
- "Continue" : "Daŭri",
- "LDAP" : "LDAP",
- "Expert" : "Sperta",
- "Advanced" : "Progresinta",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Averto</b>: la PHP-modulo LDAP ne instalatas; la motoro ne funkcios. Bonvolu peti vian sistemadministranton instali ĝin.",
- "Connection Settings" : "Agordo de konekto",
- "Disable Main Server" : "Malkapabligi la ĉefan servilon",
- "Turn off SSL certificate validation." : "Malkapabligi validkontrolon de SSL-atestiloj.",
- "Cache Time-To-Live" : "Vivotempo de la kaŝmemoro",
- "in seconds. A change empties the cache." : "sekunde. Ajna ŝanĝo malplenigas la kaŝmemoron.",
- "Directory Settings" : "Agordo de dosierujo",
- "User Display Name Field" : "Kampo de vidignomo de uzanto",
- "Base User Tree" : "Baza uzantarbo",
- "User Search Attributes" : "Atributoj de serĉo de uzanto",
- "Optional; one attribute per line" : "Malnepra; po unu atribuo por linio",
- "Group Display Name Field" : "Kampo de vidignomo de grupo",
- "Base Group Tree" : "Baza gruparbo",
- "Group Search Attributes" : "Atribuoj de gruposerĉo",
- "Group-Member association" : "Asocio de grupo kaj membro",
- "Nested Groups" : "Ingitaj grupoj",
- "Special Attributes" : "Specialaj atribuoj",
- "Quota Field" : "Kampo de kvoto",
- "in bytes" : "duumoke",
- "Email Field" : "Kampo de retpoŝto",
- "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Lasu malplena por uzantonomo (defaŭlto). Alie, specifu LDAP/AD-atributon.",
- "Internal Username" : "Ena uzantonomo",
- "Internal Username Attribute:" : "Atribuo de ena uzantonomo:",
- "UUID Attribute for Users:" : "UUID-atribuo por uzantoj:",
- "UUID Attribute for Groups:" : "UUID-atribuo por grupoj:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/eo.json b/apps/user_ldap/l10n/eo.json
deleted file mode 100644
index 37cdc4e2519..00000000000
--- a/apps/user_ldap/l10n/eo.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "Failed to delete the server configuration" : "Malsukcesis forigo de la agordo de servilo",
- "Action does not exist" : "Ago ne ekzistas",
- "Configuration incorrect" : "La agordaro malĝustas",
- "Configuration incomplete" : "La agordaro neplenas",
- "Configuration OK" : "La agordaro ĝustas",
- "Select groups" : "Elekti grupojn",
- "Select object classes" : "Elekti objektoklasojn",
- "{nthServer}. Server" : "{nthServer}. Servilo",
- "Confirm Deletion" : "Konfirmi forigon",
- "Select attributes" : "Elekti atribuojn",
- "_%s group found_::_%s groups found_" : ["%s grupo troviĝis","%s grupoj troviĝis"],
- "_%s user found_::_%s users found_" : ["%s uzanto troviĝis","%s uzanto troviĝis"],
- "Invalid Host" : "Nevalida gastigo",
- "Server" : "Servilo",
- "Users" : "Uzantoj",
- "Groups" : "Grupoj",
- "Test Configuration" : "Provi agordon",
- "Help" : "Helpo",
- "Other Attributes:" : "Aliaj atribuoj:",
- "1. Server" : "1. Servilo",
- "%s. Server:" : "%s. Servilo:",
- "Host" : "Gastigo",
- "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Vi povas neglekti la protokolon, escepte se vi bezonas SSL-on. Tiuokaze, komencu per ldaps://",
- "Port" : "Pordo",
- "User DN" : "Uzanto-DN",
- "Password" : "Pasvorto",
- "For anonymous access, leave DN and Password empty." : "Por sennoman aliron, lasu DN-on kaj Pasvorton malplenaj.",
- "Saving" : "Konservante",
- "Back" : "Antaŭen",
- "Continue" : "Daŭri",
- "LDAP" : "LDAP",
- "Expert" : "Sperta",
- "Advanced" : "Progresinta",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Averto</b>: la PHP-modulo LDAP ne instalatas; la motoro ne funkcios. Bonvolu peti vian sistemadministranton instali ĝin.",
- "Connection Settings" : "Agordo de konekto",
- "Disable Main Server" : "Malkapabligi la ĉefan servilon",
- "Turn off SSL certificate validation." : "Malkapabligi validkontrolon de SSL-atestiloj.",
- "Cache Time-To-Live" : "Vivotempo de la kaŝmemoro",
- "in seconds. A change empties the cache." : "sekunde. Ajna ŝanĝo malplenigas la kaŝmemoron.",
- "Directory Settings" : "Agordo de dosierujo",
- "User Display Name Field" : "Kampo de vidignomo de uzanto",
- "Base User Tree" : "Baza uzantarbo",
- "User Search Attributes" : "Atributoj de serĉo de uzanto",
- "Optional; one attribute per line" : "Malnepra; po unu atribuo por linio",
- "Group Display Name Field" : "Kampo de vidignomo de grupo",
- "Base Group Tree" : "Baza gruparbo",
- "Group Search Attributes" : "Atribuoj de gruposerĉo",
- "Group-Member association" : "Asocio de grupo kaj membro",
- "Nested Groups" : "Ingitaj grupoj",
- "Special Attributes" : "Specialaj atribuoj",
- "Quota Field" : "Kampo de kvoto",
- "in bytes" : "duumoke",
- "Email Field" : "Kampo de retpoŝto",
- "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Lasu malplena por uzantonomo (defaŭlto). Alie, specifu LDAP/AD-atributon.",
- "Internal Username" : "Ena uzantonomo",
- "Internal Username Attribute:" : "Atribuo de ena uzantonomo:",
- "UUID Attribute for Users:" : "UUID-atribuo por uzantoj:",
- "UUID Attribute for Groups:" : "UUID-atribuo por grupoj:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/fy_NL.js b/apps/user_ldap/l10n/fy_NL.js
deleted file mode 100644
index 37042a4f412..00000000000
--- a/apps/user_ldap/l10n/fy_NL.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/fy_NL.json b/apps/user_ldap/l10n/fy_NL.json
deleted file mode 100644
index 521de7ba1a8..00000000000
--- a/apps/user_ldap/l10n/fy_NL.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/gu.js b/apps/user_ldap/l10n/gu.js
deleted file mode 100644
index 37042a4f412..00000000000
--- a/apps/user_ldap/l10n/gu.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/gu.json b/apps/user_ldap/l10n/gu.json
deleted file mode 100644
index 521de7ba1a8..00000000000
--- a/apps/user_ldap/l10n/gu.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/hy.js b/apps/user_ldap/l10n/hy.js
deleted file mode 100644
index 6e3fc1a22c8..00000000000
--- a/apps/user_ldap/l10n/hy.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Groups" : "Խմբեր",
- "Help" : "Օգնություն",
- "Password" : "Գաղտնաբառ",
- "Continue" : "Շարունակել"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/hy.json b/apps/user_ldap/l10n/hy.json
deleted file mode 100644
index cff0593a7be..00000000000
--- a/apps/user_ldap/l10n/hy.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Groups" : "Խմբեր",
- "Help" : "Օգնություն",
- "Password" : "Գաղտնաբառ",
- "Continue" : "Շարունակել"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/ia.js b/apps/user_ldap/l10n/ia.js
deleted file mode 100644
index c129620ee87..00000000000
--- a/apps/user_ldap/l10n/ia.js
+++ /dev/null
@@ -1,12 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Users" : "Usatores",
- "Groups" : "Gruppos",
- "Help" : "Adjuta",
- "Password" : "Contrasigno",
- "Back" : "Retro",
- "Continue" : "Continuar",
- "Advanced" : "Avantiate"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/ia.json b/apps/user_ldap/l10n/ia.json
deleted file mode 100644
index 86b535fd079..00000000000
--- a/apps/user_ldap/l10n/ia.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{ "translations": {
- "Users" : "Usatores",
- "Groups" : "Gruppos",
- "Help" : "Adjuta",
- "Password" : "Contrasigno",
- "Back" : "Retro",
- "Continue" : "Continuar",
- "Advanced" : "Avantiate"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/io.js b/apps/user_ldap/l10n/io.js
deleted file mode 100644
index 37042a4f412..00000000000
--- a/apps/user_ldap/l10n/io.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/io.json b/apps/user_ldap/l10n/io.json
deleted file mode 100644
index 521de7ba1a8..00000000000
--- a/apps/user_ldap/l10n/io.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/is.js b/apps/user_ldap/l10n/is.js
deleted file mode 100644
index 72b38e80231..00000000000
--- a/apps/user_ldap/l10n/is.js
+++ /dev/null
@@ -1,100 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Failed to clear the mappings." : "Mistókst að hreinsa varpanir.",
- "Failed to delete the server configuration" : "Mistókst að eyða uppsetningu þjónsins",
- "Valid configuration, connection established!" : "Gild uppsetning, tengingu komið á!",
- "Valid configuration, but binding failed. Please check the server settings and credentials." : "Uppsetningin er gild, en binding mistókst. Skoðaðu stillingar þjónsins og auðkenni.",
- "Invalid configuration. Please have a look at the logs for further details." : "Uppsetningin er ógild. Skoðaðu atvikaskrárnar til að sjá nánari upplýsingar.",
- "No action specified" : "Engin aðgerð tiltekin",
- "No configuration specified" : "Engin uppsetning tiltekin",
- "No data specified" : "Engin gögn tiltekin",
- " Could not set configuration %s" : "Gat ekki sett uppsetningu %s",
- "Action does not exist" : "Aðgerð er ekki til",
- "Renewing …" : "Endurnýja …",
- "Very weak password" : "Mjög veikt lykilorð",
- "Weak password" : "Veikt lykilorð",
- "So-so password" : "Miðlungs lykilorð",
- "Good password" : "Gott lykilorð",
- "Strong password" : "Sterkt lykilorð",
- "Testing configuration…" : "Prófa stillingar…",
- "Configuration incorrect" : "Röng uppsetning",
- "Configuration incomplete" : "Ófullgerð uppsetning",
- "Configuration OK" : "Stillingar eru í lagi",
- "Select groups" : "Veldu hópa",
- "Please check the credentials, they seem to be wrong." : "Athugaðu auðkennin, þau líta út fyrir að vera röng.",
- "{nthServer}. Server" : "{nthServer}. Þjónn",
- "More than 1,000 directory entries available." : "Meira en 1,000 möppufærslur tiltækar.",
- "Do you really want to delete the current Server Configuration?" : "Ertu viss um að þú viljir eyða núgildandi uppsetningu á þjóninum?",
- "Confirm Deletion" : "Staðfesta eyðingu",
- "Mappings cleared successfully!" : "Það tókst að hreinsa varpanir!",
- "Error while clearing the mappings." : "Villa við að hreinsa út varpanir.",
- "Mode switch" : "Skipta um ham",
- "Select attributes" : "Veldu eigindi",
- "User found and settings verified." : "Notandi fannst og stillingar yfirfarnar.",
- "Password change rejected. Hint: " : "Breytingu á lykilorði hafnað. Ábending: ",
- "Please login with the new password" : "Skráðu þig inn með nýja lykilorðinu",
- "Your password will expire tomorrow." : "Lykilorðið þitt rennur út á morgun.",
- "Your password will expire today." : "Lykilorðið þitt rennur út í dag.",
- "_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Lykilorðið þitt rennur út innan %n dags.","Lykilorðið þitt rennur út innan %n daga."],
- "_%s group found_::_%s groups found_" : ["%s hópur fannst","%s hópar fundust"],
- "_%s user found_::_%s users found_" : ["%s notandi fannst","%s notendur fundust"],
- "Could not find the desired feature" : "Gat ekki fundið eiginleika sem óskað var eftir",
- "Invalid Host" : "Ógild vél",
- "LDAP user and group backend" : "LDAP notandi og bakendi hóps",
- "Test Configuration" : "Prófa uppsetningu",
- "Help" : "Hjálp",
- "Only from these groups:" : "Aðeins úr þessum hópum:",
- "Search groups" : "Leita í hópum",
- "Available groups" : "Tiltækir hópar",
- "Selected groups" : "Valdir hópar",
- "Edit LDAP Query" : "Breyta LDAP-fyrirspurn",
- "LDAP Filter:" : "LDAP sía:",
- "Verify settings and count the groups" : "Sannprófa stillingar og telja hópa",
- "Other Attributes:" : "Önnur eigindi:",
- "Test Loginname" : "Prófa innskráningarnafn",
- "Verify settings" : "Sannprófa stillingar",
- "%s. Server:" : "%s. Þjónn:",
- "Add a new configuration" : "Bæta við nýrri uppsetningu",
- "Delete the current configuration" : "Eyða núgildandi uppsetningu",
- "Host" : "Hýsill",
- "Port" : "Gátt",
- "Detect Port" : "Finna gátt",
- "User DN" : "DN notanda",
- "Password" : "Lykilorð",
- "Save Credentials" : "Vista auðkenni",
- "Verify settings and count users" : "Sannprófa stillingar og telja notendur",
- "Saving" : "Vistun",
- "Back" : "Til baka",
- "Continue" : "Halda áfram",
- "Please renew your password." : "Endurnýjaðu lykilorðið þitt",
- "An internal error occurred." : "Innri villa kom upp.",
- "Please try again or contact your administrator." : "Reyndu aftur eða hafðu samband við kerfisstjóra.",
- "Current password" : "Núverandi lykilorð",
- "New password" : "Nýtt lykilorð",
- "Renew password" : "Endurnýja lykilorð",
- "Wrong password." : "Rangt lykilorð.",
- "Cancel" : "Hætta við",
- "Server" : "Þjónn",
- "Users" : "Notendur",
- "Login Attributes" : "Eigindi innskráningar",
- "Groups" : "Hópar",
- "Expert" : "Snillingur",
- "Advanced" : "Ítarlegt",
- "Connection Settings" : "Valkostir tengingar ",
- "Configuration Active" : "Uppsetning er virk",
- "Disable Main Server" : "Gera aðalþjón óvirkan",
- "Turn off SSL certificate validation." : "Slökkva á sannvottun SSL-skilríkja.",
- "in seconds. A change empties the cache." : "í sekúndum. Breyting tæmir skyndiminnið.",
- "Directory Settings" : "Stillingar möppu",
- "Nested Groups" : "Faldaðir hópar",
- "(New password is sent as plain text to LDAP)" : "(Nýtt lykilorð er sent sem hreinn texti til LDAP)",
- "Default password policy DN" : "Sjálfgefin lykilorðastefna DN",
- "Special Attributes" : "Sérstök eigindi",
- "Quota Field" : "Gagnasvið fyrir kvóta",
- "Quota Default" : "Sjálfgefinn kvóti",
- "Email Field" : "Gagnasvið fyrir netfang",
- "Internal Username" : "Innra notandanafn",
- "UUID Attribute for Groups:" : "UUID-eigindi fyrir hópa:"
-},
-"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/user_ldap/l10n/is.json b/apps/user_ldap/l10n/is.json
deleted file mode 100644
index f66fd4a3edb..00000000000
--- a/apps/user_ldap/l10n/is.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{ "translations": {
- "Failed to clear the mappings." : "Mistókst að hreinsa varpanir.",
- "Failed to delete the server configuration" : "Mistókst að eyða uppsetningu þjónsins",
- "Valid configuration, connection established!" : "Gild uppsetning, tengingu komið á!",
- "Valid configuration, but binding failed. Please check the server settings and credentials." : "Uppsetningin er gild, en binding mistókst. Skoðaðu stillingar þjónsins og auðkenni.",
- "Invalid configuration. Please have a look at the logs for further details." : "Uppsetningin er ógild. Skoðaðu atvikaskrárnar til að sjá nánari upplýsingar.",
- "No action specified" : "Engin aðgerð tiltekin",
- "No configuration specified" : "Engin uppsetning tiltekin",
- "No data specified" : "Engin gögn tiltekin",
- " Could not set configuration %s" : "Gat ekki sett uppsetningu %s",
- "Action does not exist" : "Aðgerð er ekki til",
- "Renewing …" : "Endurnýja …",
- "Very weak password" : "Mjög veikt lykilorð",
- "Weak password" : "Veikt lykilorð",
- "So-so password" : "Miðlungs lykilorð",
- "Good password" : "Gott lykilorð",
- "Strong password" : "Sterkt lykilorð",
- "Testing configuration…" : "Prófa stillingar…",
- "Configuration incorrect" : "Röng uppsetning",
- "Configuration incomplete" : "Ófullgerð uppsetning",
- "Configuration OK" : "Stillingar eru í lagi",
- "Select groups" : "Veldu hópa",
- "Please check the credentials, they seem to be wrong." : "Athugaðu auðkennin, þau líta út fyrir að vera röng.",
- "{nthServer}. Server" : "{nthServer}. Þjónn",
- "More than 1,000 directory entries available." : "Meira en 1,000 möppufærslur tiltækar.",
- "Do you really want to delete the current Server Configuration?" : "Ertu viss um að þú viljir eyða núgildandi uppsetningu á þjóninum?",
- "Confirm Deletion" : "Staðfesta eyðingu",
- "Mappings cleared successfully!" : "Það tókst að hreinsa varpanir!",
- "Error while clearing the mappings." : "Villa við að hreinsa út varpanir.",
- "Mode switch" : "Skipta um ham",
- "Select attributes" : "Veldu eigindi",
- "User found and settings verified." : "Notandi fannst og stillingar yfirfarnar.",
- "Password change rejected. Hint: " : "Breytingu á lykilorði hafnað. Ábending: ",
- "Please login with the new password" : "Skráðu þig inn með nýja lykilorðinu",
- "Your password will expire tomorrow." : "Lykilorðið þitt rennur út á morgun.",
- "Your password will expire today." : "Lykilorðið þitt rennur út í dag.",
- "_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Lykilorðið þitt rennur út innan %n dags.","Lykilorðið þitt rennur út innan %n daga."],
- "_%s group found_::_%s groups found_" : ["%s hópur fannst","%s hópar fundust"],
- "_%s user found_::_%s users found_" : ["%s notandi fannst","%s notendur fundust"],
- "Could not find the desired feature" : "Gat ekki fundið eiginleika sem óskað var eftir",
- "Invalid Host" : "Ógild vél",
- "LDAP user and group backend" : "LDAP notandi og bakendi hóps",
- "Test Configuration" : "Prófa uppsetningu",
- "Help" : "Hjálp",
- "Only from these groups:" : "Aðeins úr þessum hópum:",
- "Search groups" : "Leita í hópum",
- "Available groups" : "Tiltækir hópar",
- "Selected groups" : "Valdir hópar",
- "Edit LDAP Query" : "Breyta LDAP-fyrirspurn",
- "LDAP Filter:" : "LDAP sía:",
- "Verify settings and count the groups" : "Sannprófa stillingar og telja hópa",
- "Other Attributes:" : "Önnur eigindi:",
- "Test Loginname" : "Prófa innskráningarnafn",
- "Verify settings" : "Sannprófa stillingar",
- "%s. Server:" : "%s. Þjónn:",
- "Add a new configuration" : "Bæta við nýrri uppsetningu",
- "Delete the current configuration" : "Eyða núgildandi uppsetningu",
- "Host" : "Hýsill",
- "Port" : "Gátt",
- "Detect Port" : "Finna gátt",
- "User DN" : "DN notanda",
- "Password" : "Lykilorð",
- "Save Credentials" : "Vista auðkenni",
- "Verify settings and count users" : "Sannprófa stillingar og telja notendur",
- "Saving" : "Vistun",
- "Back" : "Til baka",
- "Continue" : "Halda áfram",
- "Please renew your password." : "Endurnýjaðu lykilorðið þitt",
- "An internal error occurred." : "Innri villa kom upp.",
- "Please try again or contact your administrator." : "Reyndu aftur eða hafðu samband við kerfisstjóra.",
- "Current password" : "Núverandi lykilorð",
- "New password" : "Nýtt lykilorð",
- "Renew password" : "Endurnýja lykilorð",
- "Wrong password." : "Rangt lykilorð.",
- "Cancel" : "Hætta við",
- "Server" : "Þjónn",
- "Users" : "Notendur",
- "Login Attributes" : "Eigindi innskráningar",
- "Groups" : "Hópar",
- "Expert" : "Snillingur",
- "Advanced" : "Ítarlegt",
- "Connection Settings" : "Valkostir tengingar ",
- "Configuration Active" : "Uppsetning er virk",
- "Disable Main Server" : "Gera aðalþjón óvirkan",
- "Turn off SSL certificate validation." : "Slökkva á sannvottun SSL-skilríkja.",
- "in seconds. A change empties the cache." : "í sekúndum. Breyting tæmir skyndiminnið.",
- "Directory Settings" : "Stillingar möppu",
- "Nested Groups" : "Faldaðir hópar",
- "(New password is sent as plain text to LDAP)" : "(Nýtt lykilorð er sent sem hreinn texti til LDAP)",
- "Default password policy DN" : "Sjálfgefin lykilorðastefna DN",
- "Special Attributes" : "Sérstök eigindi",
- "Quota Field" : "Gagnasvið fyrir kvóta",
- "Quota Default" : "Sjálfgefinn kvóti",
- "Email Field" : "Gagnasvið fyrir netfang",
- "Internal Username" : "Innra notandanafn",
- "UUID Attribute for Groups:" : "UUID-eigindi fyrir hópa:"
-},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/km.js b/apps/user_ldap/l10n/km.js
deleted file mode 100644
index a42ee7b14f1..00000000000
--- a/apps/user_ldap/l10n/km.js
+++ /dev/null
@@ -1,17 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Failed to delete the server configuration" : "លុប​ការ​កំណត់​រចនា​សម្ព័ន្ធ​ម៉ាស៊ីន​បម្រើ មិន​បាន​សម្រេច",
- "Do you really want to delete the current Server Configuration?" : "តើ​អ្នក​ពិត​ជា​ចង់​លុប​ការ​កំណត់​រចនាសម្ព័ន្ធ​ម៉ាស៊ីន​បម្រើ​បច្ចុប្បន្ន​មែន​ទេ?",
- "Confirm Deletion" : "បញ្ជាក់​ការ​លុប",
- "Users" : "អ្នកប្រើ",
- "Groups" : "ក្រុ",
- "Help" : "ជំនួយ",
- "Host" : "ម៉ាស៊ីន​ផ្ទុក",
- "Port" : "ច្រក",
- "Password" : "ពាក្យសម្ងាត់",
- "Back" : "ត្រឡប់ក្រោយ",
- "Continue" : "បន្ត",
- "Advanced" : "កម្រិត​ខ្ពស់"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/user_ldap/l10n/km.json b/apps/user_ldap/l10n/km.json
deleted file mode 100644
index 5c8ec8897ba..00000000000
--- a/apps/user_ldap/l10n/km.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{ "translations": {
- "Failed to delete the server configuration" : "លុប​ការ​កំណត់​រចនា​សម្ព័ន្ធ​ម៉ាស៊ីន​បម្រើ មិន​បាន​សម្រេច",
- "Do you really want to delete the current Server Configuration?" : "តើ​អ្នក​ពិត​ជា​ចង់​លុប​ការ​កំណត់​រចនាសម្ព័ន្ធ​ម៉ាស៊ីន​បម្រើ​បច្ចុប្បន្ន​មែន​ទេ?",
- "Confirm Deletion" : "បញ្ជាក់​ការ​លុប",
- "Users" : "អ្នកប្រើ",
- "Groups" : "ក្រុ",
- "Help" : "ជំនួយ",
- "Host" : "ម៉ាស៊ីន​ផ្ទុក",
- "Port" : "ច្រក",
- "Password" : "ពាក្យសម្ងាត់",
- "Back" : "ត្រឡប់ក្រោយ",
- "Continue" : "បន្ត",
- "Advanced" : "កម្រិត​ខ្ពស់"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/kn.js b/apps/user_ldap/l10n/kn.js
deleted file mode 100644
index f70fc699983..00000000000
--- a/apps/user_ldap/l10n/kn.js
+++ /dev/null
@@ -1,12 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Users" : "ಬಳಕೆದಾರರು",
- "Groups" : "ಗುಂಪುಗಳು",
- "Help" : "ಸಹಾಯ",
- "Host" : "ಅತಿಥೆಯ-ಗಣಕ",
- "Port" : "ರೇವು",
- "Password" : "ಗುಪ್ತ ಪದ",
- "Continue" : "ಮುಂದುವರಿಸಿ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/user_ldap/l10n/kn.json b/apps/user_ldap/l10n/kn.json
deleted file mode 100644
index 39705ffba6a..00000000000
--- a/apps/user_ldap/l10n/kn.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{ "translations": {
- "Users" : "ಬಳಕೆದಾರರು",
- "Groups" : "ಗುಂಪುಗಳು",
- "Help" : "ಸಹಾಯ",
- "Host" : "ಅತಿಥೆಯ-ಗಣಕ",
- "Port" : "ರೇವು",
- "Password" : "ಗುಪ್ತ ಪದ",
- "Continue" : "ಮುಂದುವರಿಸಿ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/lb.js b/apps/user_ldap/l10n/lb.js
deleted file mode 100644
index f62d2924488..00000000000
--- a/apps/user_ldap/l10n/lb.js
+++ /dev/null
@@ -1,51 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Failed to delete the server configuration" : "D'Server-Konfiguratioun konnt net geläscht ginn",
- "The configuration is invalid: anonymous bind is not allowed." : "Dës Konfiguratioun ass ongëlteg: eng anonym Bindung ass net erlaabt.",
- "Action does not exist" : "Dës Aktioun gëtt et net",
- "Testing configuration…" : "D'Konfiguratioun gëtt getest...",
- "Configuration incorrect" : "D'Konfiguratioun ass net korrekt",
- "Configuration incomplete" : "D'Konfiguratioun ass net komplett",
- "Configuration OK" : "Konfiguratioun OK",
- "Select groups" : "Wiel Gruppen äus",
- "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "D'Späicheren huet net geklappt. W.e.g. géi sécher dass Datebank an der Operatioun ass. Lued nach emol éiers de weider fiers.",
- "Select attributes" : "Wiel Attributer aus",
- "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "De Benotzer konnt net fonnt ginn. W.e.g. kuck deng Login Attributer a Benotzernumm no. \n ",
- "_%s group found_::_%s groups found_" : ["%s Grupp fonnt","%s Gruppe fonnt"],
- "_%s user found_::_%s users found_" : ["%s Benotzer fonnt","%s Benotzere fonnt"],
- "Could not find the desired feature" : "Déi gewënschte Funktioun konnt net fonnt ginn",
- "Server" : "Server",
- "Users" : "Benotzer",
- "Groups" : "Gruppen",
- "Test Configuration" : "Konfiguratiounstest",
- "Help" : "Hëllef",
- "Groups meeting these criteria are available in %s:" : "D'Gruppen, déi dës Critèren erfëllen sinn am %s:",
- "Only these object classes:" : "Nëmmen des Klass vun Objeten:",
- "Only from these groups:" : "Nëmme vun dëse Gruppen:",
- "Search groups" : "Sich Gruppen",
- "Available groups" : "Disponibel Gruppen",
- "Selected groups" : "Ausgewielte Gruppen",
- "Test Loginname" : "Test Benotzernumm",
- "Verify settings" : "Astellungen iwwerpréiwen",
- "1. Server" : "1. Server",
- "%s. Server:" : "%s. Server",
- "Delete the current configuration" : "Läsch déi aktuell Konfiguratioun",
- "Host" : "Host",
- "Port" : "Port",
- "User DN" : "Benotzer DN",
- "Password" : "Passwuert",
- "Saving" : "Speicheren...",
- "Back" : "Zeréck",
- "Continue" : "Weider",
- "Advanced" : "Erweidert",
- "Connection Settings" : "D'Astellunge vun der Verbindung",
- "Configuration Active" : "D'Konfiguratioun ass aktiv",
- "When unchecked, this configuration will be skipped." : "Ouni Iwwerpréiwung wäert dës Konfiguratioun iwwergaange ginn.",
- "Directory Settings" : "Dossier's Astellungen",
- "in bytes" : "A Bytes",
- "Email Field" : "Email Feld",
- "Internal Username" : "Interne Benotzernumm",
- "Internal Username Attribute:" : "Interne Benotzernumm Attribut:"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/lb.json b/apps/user_ldap/l10n/lb.json
deleted file mode 100644
index e869a5821b1..00000000000
--- a/apps/user_ldap/l10n/lb.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{ "translations": {
- "Failed to delete the server configuration" : "D'Server-Konfiguratioun konnt net geläscht ginn",
- "The configuration is invalid: anonymous bind is not allowed." : "Dës Konfiguratioun ass ongëlteg: eng anonym Bindung ass net erlaabt.",
- "Action does not exist" : "Dës Aktioun gëtt et net",
- "Testing configuration…" : "D'Konfiguratioun gëtt getest...",
- "Configuration incorrect" : "D'Konfiguratioun ass net korrekt",
- "Configuration incomplete" : "D'Konfiguratioun ass net komplett",
- "Configuration OK" : "Konfiguratioun OK",
- "Select groups" : "Wiel Gruppen äus",
- "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "D'Späicheren huet net geklappt. W.e.g. géi sécher dass Datebank an der Operatioun ass. Lued nach emol éiers de weider fiers.",
- "Select attributes" : "Wiel Attributer aus",
- "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "De Benotzer konnt net fonnt ginn. W.e.g. kuck deng Login Attributer a Benotzernumm no. \n ",
- "_%s group found_::_%s groups found_" : ["%s Grupp fonnt","%s Gruppe fonnt"],
- "_%s user found_::_%s users found_" : ["%s Benotzer fonnt","%s Benotzere fonnt"],
- "Could not find the desired feature" : "Déi gewënschte Funktioun konnt net fonnt ginn",
- "Server" : "Server",
- "Users" : "Benotzer",
- "Groups" : "Gruppen",
- "Test Configuration" : "Konfiguratiounstest",
- "Help" : "Hëllef",
- "Groups meeting these criteria are available in %s:" : "D'Gruppen, déi dës Critèren erfëllen sinn am %s:",
- "Only these object classes:" : "Nëmmen des Klass vun Objeten:",
- "Only from these groups:" : "Nëmme vun dëse Gruppen:",
- "Search groups" : "Sich Gruppen",
- "Available groups" : "Disponibel Gruppen",
- "Selected groups" : "Ausgewielte Gruppen",
- "Test Loginname" : "Test Benotzernumm",
- "Verify settings" : "Astellungen iwwerpréiwen",
- "1. Server" : "1. Server",
- "%s. Server:" : "%s. Server",
- "Delete the current configuration" : "Läsch déi aktuell Konfiguratioun",
- "Host" : "Host",
- "Port" : "Port",
- "User DN" : "Benotzer DN",
- "Password" : "Passwuert",
- "Saving" : "Speicheren...",
- "Back" : "Zeréck",
- "Continue" : "Weider",
- "Advanced" : "Erweidert",
- "Connection Settings" : "D'Astellunge vun der Verbindung",
- "Configuration Active" : "D'Konfiguratioun ass aktiv",
- "When unchecked, this configuration will be skipped." : "Ouni Iwwerpréiwung wäert dës Konfiguratioun iwwergaange ginn.",
- "Directory Settings" : "Dossier's Astellungen",
- "in bytes" : "A Bytes",
- "Email Field" : "Email Feld",
- "Internal Username" : "Interne Benotzernumm",
- "Internal Username Attribute:" : "Interne Benotzernumm Attribut:"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/lo.js b/apps/user_ldap/l10n/lo.js
deleted file mode 100644
index 5494dcae62e..00000000000
--- a/apps/user_ldap/l10n/lo.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : [""],
- "_%s user found_::_%s users found_" : [""]
-},
-"nplurals=1; plural=0;");
diff --git a/apps/user_ldap/l10n/lo.json b/apps/user_ldap/l10n/lo.json
deleted file mode 100644
index 75f0f056cc4..00000000000
--- a/apps/user_ldap/l10n/lo.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : [""],
- "_%s user found_::_%s users found_" : [""]
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/lv.js b/apps/user_ldap/l10n/lv.js
deleted file mode 100644
index 2c623018a21..00000000000
--- a/apps/user_ldap/l10n/lv.js
+++ /dev/null
@@ -1,114 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Failed to clear the mappings." : "Neizdevās nodzēstu samērošanu.",
- "Failed to delete the server configuration" : "Neizdevās izdzēst servera konfigurāciju",
- "No action specified" : "Nav norādīta darbība",
- "No configuration specified" : "Nav norādīta konfigurācija",
- "No data specified" : "Nav norādīti dati",
- " Could not set configuration %s" : "Nevarēja iestatīt konfigurāciju %s",
- "Action does not exist" : "Darbība neeksistē",
- "Very weak password" : "Ļoti vāja parole",
- "Weak password" : "Vāja parole",
- "So-so password" : "Normāla parole",
- "Good password" : "Laba parole",
- "Strong password" : "Lieliska parole",
- "The Base DN appears to be wrong" : "DN bāze šķiet nepareiza",
- "Testing configuration…" : "Konfigurācijas pārbaude...",
- "Configuration incorrect" : "Nepareiza konfigurācija",
- "Configuration incomplete" : "Nepilnīga konfigurācija",
- "Configuration OK" : "Konfigurācija OK",
- "Select groups" : "Izvēlieties grupas",
- "Select object classes" : "Atlasiet objektu klases",
- "Please check the credentials, they seem to be wrong." : "Lūdzu, pārbaudiet akreditācijas datus, tie šķiet nepareizi.",
- "Please specify the port, it could not be auto-detected." : "Lūdzu, norādiet portu, tas nevarēja būt noteikts automātiski.",
- "Base DN could not be auto-detected, please revise credentials, host and port." : "DN bāzi nevarēja noteikt, lūdzu, pārskatiet datus, resursdatoru un portu.",
- "Could not detect Base DN, please enter it manually." : "Nevarēja noteikt DN bāzi, lūdzu, ievadiet to manuāli.",
- "{nthServer}. Server" : "{nthServer}. Serveris",
- "No object found in the given Base DN. Please revise." : "Neviens objekts nav atrasts konkrētā DN bāzē. Lūdzu pārskatīt.",
- "More than 1,000 directory entries available." : "Vairāk nekā 1,000 kataloga ieraksti ir pieejami.",
- "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Radās kļūda. Lūdzu, pārbaudiet bāzes DN, kā arī savienojuma iestatījumus vai akreditācijas datus.",
- "Do you really want to delete the current Server Configuration?" : "Vai tiešām vēlaties dzēst pašreizējo servera konfigurāciju?",
- "Confirm Deletion" : "Apstiprināt dzēšanu",
- "Mappings cleared successfully!" : "Kartējumi notīrīta veiksmīgi!",
- "Error while clearing the mappings." : "Kļūda, dzēšot kartējumus.",
- "LDAP Operations error. Anonymous bind might not be allowed." : "LDAP operācijas kļūda. Anonīma sasaiste, iespējams, nav atļauta.",
- "Select attributes" : "Atlasīt atribūtus",
- "Password change rejected. Hint: " : "Paroles maiņas noraidīja. Padoms:",
- "Invalid Host" : "Nederīgs resursdators",
- "Test Configuration" : "Testa konfigurācija",
- "Help" : "Palīdzība",
- "Only these object classes:" : "Tikai šo objektu kategorijas:",
- "Only from these groups:" : "Tikai no šīm grupām:",
- "Search groups" : "Meklēt grupas",
- "Available groups" : "Pieejamās grupas",
- "Selected groups" : "Izvēlētās grupas",
- "Edit LDAP Query" : "Labot LDAP vaicājumu",
- "LDAP Filter:" : "LDAP filtrs:",
- "Verify settings and count the groups" : "Pārbaudiet iestatījumus un saskaitiet grupas",
- "Other Attributes:" : "Citi atribūti:",
- "Test Loginname" : "Pārbaudiet lietotājvārdu",
- "Verify settings" : "Pārbaudīt iestatījumus",
- "%s. Server:" : "%s. Serveris:",
- "Host" : "Resursdators",
- "Port" : "Ports",
- "Detect Port" : "Noteikt portu",
- "User DN" : "Lietotāja DN",
- "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "Klienta lietotāja DN, ar ko veiks sasaisti, piemēram, uid=agent,dc=example,dc=com. Lai piekļūtu anonīmi, atstājiet DN un paroli tukšu.",
- "Password" : "Parole",
- "For anonymous access, leave DN and Password empty." : "Lai piekļūtu anonīmi, atstājiet DN un paroli tukšu.",
- "One Base DN per line" : "Viena bāzes DN rindā",
- "You can specify Base DN for users and groups in the Advanced tab" : "Lietotājiem un grupām var norādīt bāzes DN cilnē “Paplašināti”",
- "Detect Base DN" : "Noteikt bāzes DN",
- "Test Base DN" : "Testēt bāzes DN",
- "Verify settings and count users" : "Pārbaudiet iestatījumus un saskaitiet lietotājus",
- "Saving" : "Saglabā",
- "Back" : "Atpakaļ",
- "Continue" : "Turpināt",
- "An internal error occurred." : "Radās iekšēja kļūda.",
- "Please try again or contact your administrator." : "Lūdzu, mēģiniet vēlreiz vai sazinieties ar administratoru.",
- "Current password" : "Pašreizējā parole",
- "New password" : "Jauna parole",
- "Wrong password." : "Nepareiza parole.",
- "Cancel" : "Atcelt",
- "Server" : "Serveris",
- "Users" : "Lietotāji",
- "Login Attributes" : "Pieteikšanās atribūti",
- "Groups" : "Grupas",
- "Expert" : "Eksperts",
- "Advanced" : "Paplašināti",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Brīdinājums:</b> PHP LDAP modulis nav uzinstalēts, aizmugure nedarbosies. Lūdzu, prasiet savam sistēmas administratoram kādu no tām deaktivēt.",
- "Connection Settings" : "Savienojuma iestatījumi",
- "Configuration Active" : "Konfigurācija ir aktīva",
- "When unchecked, this configuration will be skipped." : "Ja nav atzīmēts, šī konfigurācija tiks izlaista.",
- "Backup (Replica) Host" : "Rezerves (kopija) serveris",
- "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "Norādi rezerves serveri (nav obligāti). Tam ir jābūt galvenā LDAP/AD servera kopijai.",
- "Backup (Replica) Port" : "Rezerves (kopijas) ports",
- "Disable Main Server" : "Deaktivēt galveno serveri",
- "Turn off SSL certificate validation." : "Izslēgt SSL sertifikātu validēšanu.",
- "Cache Time-To-Live" : "Kešatmiņas dzīvlaiks",
- "in seconds. A change empties the cache." : "sekundēs. Izmaiņas iztukšos kešatmiņu.",
- "Directory Settings" : "Direktorijas iestatījumi",
- "User Display Name Field" : "Lietotāja redzamā vārda lauks",
- "Base User Tree" : "Bāzes lietotāju koks",
- "One User Base DN per line" : "Viens lietotājs bāzes DN rindā",
- "User Search Attributes" : "Lietotāju meklēšanas atribūts",
- "Optional; one attribute per line" : "Neobligāti; viens atribūts rindā",
- "Group Display Name Field" : "Grupas redzamā nosaukuma lauks",
- "Base Group Tree" : "Bāzes grupu koks",
- "One Group Base DN per line" : "Viena grupu bāzes DN rindā",
- "Group Search Attributes" : "Grupu meklēšanas atribūts",
- "Group-Member association" : "Grupu piederības asociācija",
- "Enable LDAP password changes per user" : "Iespējot LDAP paroles maiņu katram lietotājam",
- "(New password is sent as plain text to LDAP)" : "(Jaunā parole tiek nosūtīta kā vienkāršs teksts ar LDAP)",
- "Special Attributes" : "Īpašie atribūti",
- "Quota Field" : "Kvotu lauks",
- "Quota Default" : "Kvotas noklusējums",
- "Email Field" : "E-pasta lauks",
- "User Home Folder Naming Rule" : "Lietotāja mājas mapes nosaukšanas kārtula",
- "Internal Username" : "Iekšējais lietotājvārds",
- "Override UUID detection" : "Ignorēt UUID noteikšanu",
- "UUID Attribute for Users:" : "UUID atribūti lietotājiem:",
- "UUID Attribute for Groups:" : "UUID atribūti grupām:"
-},
-"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/user_ldap/l10n/lv.json b/apps/user_ldap/l10n/lv.json
deleted file mode 100644
index fdebc4b2287..00000000000
--- a/apps/user_ldap/l10n/lv.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{ "translations": {
- "Failed to clear the mappings." : "Neizdevās nodzēstu samērošanu.",
- "Failed to delete the server configuration" : "Neizdevās izdzēst servera konfigurāciju",
- "No action specified" : "Nav norādīta darbība",
- "No configuration specified" : "Nav norādīta konfigurācija",
- "No data specified" : "Nav norādīti dati",
- " Could not set configuration %s" : "Nevarēja iestatīt konfigurāciju %s",
- "Action does not exist" : "Darbība neeksistē",
- "Very weak password" : "Ļoti vāja parole",
- "Weak password" : "Vāja parole",
- "So-so password" : "Normāla parole",
- "Good password" : "Laba parole",
- "Strong password" : "Lieliska parole",
- "The Base DN appears to be wrong" : "DN bāze šķiet nepareiza",
- "Testing configuration…" : "Konfigurācijas pārbaude...",
- "Configuration incorrect" : "Nepareiza konfigurācija",
- "Configuration incomplete" : "Nepilnīga konfigurācija",
- "Configuration OK" : "Konfigurācija OK",
- "Select groups" : "Izvēlieties grupas",
- "Select object classes" : "Atlasiet objektu klases",
- "Please check the credentials, they seem to be wrong." : "Lūdzu, pārbaudiet akreditācijas datus, tie šķiet nepareizi.",
- "Please specify the port, it could not be auto-detected." : "Lūdzu, norādiet portu, tas nevarēja būt noteikts automātiski.",
- "Base DN could not be auto-detected, please revise credentials, host and port." : "DN bāzi nevarēja noteikt, lūdzu, pārskatiet datus, resursdatoru un portu.",
- "Could not detect Base DN, please enter it manually." : "Nevarēja noteikt DN bāzi, lūdzu, ievadiet to manuāli.",
- "{nthServer}. Server" : "{nthServer}. Serveris",
- "No object found in the given Base DN. Please revise." : "Neviens objekts nav atrasts konkrētā DN bāzē. Lūdzu pārskatīt.",
- "More than 1,000 directory entries available." : "Vairāk nekā 1,000 kataloga ieraksti ir pieejami.",
- "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Radās kļūda. Lūdzu, pārbaudiet bāzes DN, kā arī savienojuma iestatījumus vai akreditācijas datus.",
- "Do you really want to delete the current Server Configuration?" : "Vai tiešām vēlaties dzēst pašreizējo servera konfigurāciju?",
- "Confirm Deletion" : "Apstiprināt dzēšanu",
- "Mappings cleared successfully!" : "Kartējumi notīrīta veiksmīgi!",
- "Error while clearing the mappings." : "Kļūda, dzēšot kartējumus.",
- "LDAP Operations error. Anonymous bind might not be allowed." : "LDAP operācijas kļūda. Anonīma sasaiste, iespējams, nav atļauta.",
- "Select attributes" : "Atlasīt atribūtus",
- "Password change rejected. Hint: " : "Paroles maiņas noraidīja. Padoms:",
- "Invalid Host" : "Nederīgs resursdators",
- "Test Configuration" : "Testa konfigurācija",
- "Help" : "Palīdzība",
- "Only these object classes:" : "Tikai šo objektu kategorijas:",
- "Only from these groups:" : "Tikai no šīm grupām:",
- "Search groups" : "Meklēt grupas",
- "Available groups" : "Pieejamās grupas",
- "Selected groups" : "Izvēlētās grupas",
- "Edit LDAP Query" : "Labot LDAP vaicājumu",
- "LDAP Filter:" : "LDAP filtrs:",
- "Verify settings and count the groups" : "Pārbaudiet iestatījumus un saskaitiet grupas",
- "Other Attributes:" : "Citi atribūti:",
- "Test Loginname" : "Pārbaudiet lietotājvārdu",
- "Verify settings" : "Pārbaudīt iestatījumus",
- "%s. Server:" : "%s. Serveris:",
- "Host" : "Resursdators",
- "Port" : "Ports",
- "Detect Port" : "Noteikt portu",
- "User DN" : "Lietotāja DN",
- "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "Klienta lietotāja DN, ar ko veiks sasaisti, piemēram, uid=agent,dc=example,dc=com. Lai piekļūtu anonīmi, atstājiet DN un paroli tukšu.",
- "Password" : "Parole",
- "For anonymous access, leave DN and Password empty." : "Lai piekļūtu anonīmi, atstājiet DN un paroli tukšu.",
- "One Base DN per line" : "Viena bāzes DN rindā",
- "You can specify Base DN for users and groups in the Advanced tab" : "Lietotājiem un grupām var norādīt bāzes DN cilnē “Paplašināti”",
- "Detect Base DN" : "Noteikt bāzes DN",
- "Test Base DN" : "Testēt bāzes DN",
- "Verify settings and count users" : "Pārbaudiet iestatījumus un saskaitiet lietotājus",
- "Saving" : "Saglabā",
- "Back" : "Atpakaļ",
- "Continue" : "Turpināt",
- "An internal error occurred." : "Radās iekšēja kļūda.",
- "Please try again or contact your administrator." : "Lūdzu, mēģiniet vēlreiz vai sazinieties ar administratoru.",
- "Current password" : "Pašreizējā parole",
- "New password" : "Jauna parole",
- "Wrong password." : "Nepareiza parole.",
- "Cancel" : "Atcelt",
- "Server" : "Serveris",
- "Users" : "Lietotāji",
- "Login Attributes" : "Pieteikšanās atribūti",
- "Groups" : "Grupas",
- "Expert" : "Eksperts",
- "Advanced" : "Paplašināti",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Brīdinājums:</b> PHP LDAP modulis nav uzinstalēts, aizmugure nedarbosies. Lūdzu, prasiet savam sistēmas administratoram kādu no tām deaktivēt.",
- "Connection Settings" : "Savienojuma iestatījumi",
- "Configuration Active" : "Konfigurācija ir aktīva",
- "When unchecked, this configuration will be skipped." : "Ja nav atzīmēts, šī konfigurācija tiks izlaista.",
- "Backup (Replica) Host" : "Rezerves (kopija) serveris",
- "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "Norādi rezerves serveri (nav obligāti). Tam ir jābūt galvenā LDAP/AD servera kopijai.",
- "Backup (Replica) Port" : "Rezerves (kopijas) ports",
- "Disable Main Server" : "Deaktivēt galveno serveri",
- "Turn off SSL certificate validation." : "Izslēgt SSL sertifikātu validēšanu.",
- "Cache Time-To-Live" : "Kešatmiņas dzīvlaiks",
- "in seconds. A change empties the cache." : "sekundēs. Izmaiņas iztukšos kešatmiņu.",
- "Directory Settings" : "Direktorijas iestatījumi",
- "User Display Name Field" : "Lietotāja redzamā vārda lauks",
- "Base User Tree" : "Bāzes lietotāju koks",
- "One User Base DN per line" : "Viens lietotājs bāzes DN rindā",
- "User Search Attributes" : "Lietotāju meklēšanas atribūts",
- "Optional; one attribute per line" : "Neobligāti; viens atribūts rindā",
- "Group Display Name Field" : "Grupas redzamā nosaukuma lauks",
- "Base Group Tree" : "Bāzes grupu koks",
- "One Group Base DN per line" : "Viena grupu bāzes DN rindā",
- "Group Search Attributes" : "Grupu meklēšanas atribūts",
- "Group-Member association" : "Grupu piederības asociācija",
- "Enable LDAP password changes per user" : "Iespējot LDAP paroles maiņu katram lietotājam",
- "(New password is sent as plain text to LDAP)" : "(Jaunā parole tiek nosūtīta kā vienkāršs teksts ar LDAP)",
- "Special Attributes" : "Īpašie atribūti",
- "Quota Field" : "Kvotu lauks",
- "Quota Default" : "Kvotas noklusējums",
- "Email Field" : "E-pasta lauks",
- "User Home Folder Naming Rule" : "Lietotāja mājas mapes nosaukšanas kārtula",
- "Internal Username" : "Iekšējais lietotājvārds",
- "Override UUID detection" : "Ignorēt UUID noteikšanu",
- "UUID Attribute for Users:" : "UUID atribūti lietotājiem:",
- "UUID Attribute for Groups:" : "UUID atribūti grupām:"
-},"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/user_ldap/l10n/mg.js b/apps/user_ldap/l10n/mg.js
deleted file mode 100644
index 95c97db2f9c..00000000000
--- a/apps/user_ldap/l10n/mg.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/user_ldap/l10n/mg.json b/apps/user_ldap/l10n/mg.json
deleted file mode 100644
index 8e0cd6f6783..00000000000
--- a/apps/user_ldap/l10n/mg.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/mk.js b/apps/user_ldap/l10n/mk.js
deleted file mode 100644
index 39fe8f5da90..00000000000
--- a/apps/user_ldap/l10n/mk.js
+++ /dev/null
@@ -1,18 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Failed to clear the mappings." : "Неуспешно бришење на мапирањстс.",
- "Select groups" : "Одбери групи",
- "Confirm Deletion" : "Потврдете го бришењето",
- "Users" : "Корисници",
- "Groups" : "Групи",
- "Help" : "Помош",
- "Host" : "Домаќин",
- "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Може да го скокнете протколот освен ако не ви треба SSL. Тогаш ставете ldaps://",
- "Port" : "Порта",
- "Password" : "Лозинка",
- "Back" : "Назад",
- "Continue" : "Продолжи",
- "Advanced" : "Напредно"
-},
-"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/apps/user_ldap/l10n/mk.json b/apps/user_ldap/l10n/mk.json
deleted file mode 100644
index 238bd2a8ebc..00000000000
--- a/apps/user_ldap/l10n/mk.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{ "translations": {
- "Failed to clear the mappings." : "Неуспешно бришење на мапирањстс.",
- "Select groups" : "Одбери групи",
- "Confirm Deletion" : "Потврдете го бришењето",
- "Users" : "Корисници",
- "Groups" : "Групи",
- "Help" : "Помош",
- "Host" : "Домаќин",
- "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Може да го скокнете протколот освен ако не ви треба SSL. Тогаш ставете ldaps://",
- "Port" : "Порта",
- "Password" : "Лозинка",
- "Back" : "Назад",
- "Continue" : "Продолжи",
- "Advanced" : "Напредно"
-},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/ml.js b/apps/user_ldap/l10n/ml.js
deleted file mode 100644
index 37042a4f412..00000000000
--- a/apps/user_ldap/l10n/ml.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/ml.json b/apps/user_ldap/l10n/ml.json
deleted file mode 100644
index 521de7ba1a8..00000000000
--- a/apps/user_ldap/l10n/ml.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/mn.js b/apps/user_ldap/l10n/mn.js
deleted file mode 100644
index 304c0247840..00000000000
--- a/apps/user_ldap/l10n/mn.js
+++ /dev/null
@@ -1,6 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Password" : "Нууц үг"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/mn.json b/apps/user_ldap/l10n/mn.json
deleted file mode 100644
index 13788221f43..00000000000
--- a/apps/user_ldap/l10n/mn.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "translations": {
- "Password" : "Нууц үг"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/mr.js b/apps/user_ldap/l10n/mr.js
deleted file mode 100644
index 37042a4f412..00000000000
--- a/apps/user_ldap/l10n/mr.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/mr.json b/apps/user_ldap/l10n/mr.json
deleted file mode 100644
index 521de7ba1a8..00000000000
--- a/apps/user_ldap/l10n/mr.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/ms_MY.js b/apps/user_ldap/l10n/ms_MY.js
deleted file mode 100644
index 74bdc1b820f..00000000000
--- a/apps/user_ldap/l10n/ms_MY.js
+++ /dev/null
@@ -1,11 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Users" : "Pengguna",
- "Groups" : "Kumpulan",
- "Help" : "Bantuan",
- "Password" : "Kata laluan",
- "Back" : "Kembali",
- "Advanced" : "Maju"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/user_ldap/l10n/ms_MY.json b/apps/user_ldap/l10n/ms_MY.json
deleted file mode 100644
index 1d26cfcaf3d..00000000000
--- a/apps/user_ldap/l10n/ms_MY.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{ "translations": {
- "Users" : "Pengguna",
- "Groups" : "Kumpulan",
- "Help" : "Bantuan",
- "Password" : "Kata laluan",
- "Back" : "Kembali",
- "Advanced" : "Maju"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/mt_MT.js b/apps/user_ldap/l10n/mt_MT.js
deleted file mode 100644
index 8b3fcfae910..00000000000
--- a/apps/user_ldap/l10n/mt_MT.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["","","",""],
- "_%s user found_::_%s users found_" : ["","","",""]
-},
-"nplurals=4; plural=(n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3);");
diff --git a/apps/user_ldap/l10n/mt_MT.json b/apps/user_ldap/l10n/mt_MT.json
deleted file mode 100644
index cbda8c83cca..00000000000
--- a/apps/user_ldap/l10n/mt_MT.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["","","",""],
- "_%s user found_::_%s users found_" : ["","","",""]
-},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/nn_NO.js b/apps/user_ldap/l10n/nn_NO.js
deleted file mode 100644
index c14fc8b78b9..00000000000
--- a/apps/user_ldap/l10n/nn_NO.js
+++ /dev/null
@@ -1,14 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Select groups" : "Vel grupper",
- "Users" : "Brukarar",
- "Groups" : "Grupper",
- "Help" : "Hjelp",
- "Host" : "Tenar",
- "Password" : "Passord",
- "Back" : "Tilbake",
- "Continue" : "Gå vidare",
- "Advanced" : "Avansert"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/nn_NO.json b/apps/user_ldap/l10n/nn_NO.json
deleted file mode 100644
index 4cd54c39e08..00000000000
--- a/apps/user_ldap/l10n/nn_NO.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{ "translations": {
- "Select groups" : "Vel grupper",
- "Users" : "Brukarar",
- "Groups" : "Grupper",
- "Help" : "Hjelp",
- "Host" : "Tenar",
- "Password" : "Passord",
- "Back" : "Tilbake",
- "Continue" : "Gå vidare",
- "Advanced" : "Avansert"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/nqo.js b/apps/user_ldap/l10n/nqo.js
deleted file mode 100644
index 5494dcae62e..00000000000
--- a/apps/user_ldap/l10n/nqo.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : [""],
- "_%s user found_::_%s users found_" : [""]
-},
-"nplurals=1; plural=0;");
diff --git a/apps/user_ldap/l10n/nqo.json b/apps/user_ldap/l10n/nqo.json
deleted file mode 100644
index 75f0f056cc4..00000000000
--- a/apps/user_ldap/l10n/nqo.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : [""],
- "_%s user found_::_%s users found_" : [""]
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/oc.js b/apps/user_ldap/l10n/oc.js
deleted file mode 100644
index 4a06d436198..00000000000
--- a/apps/user_ldap/l10n/oc.js
+++ /dev/null
@@ -1,157 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Failed to clear the mappings." : "Error al moment de la supression de las associacions.",
- "Failed to delete the server configuration" : "Fracàs de la supression de la configuracion del servidor",
- "The configuration is invalid: anonymous bind is not allowed." : "La configuracion es pas valida : lo ligam anonim es pas autorizat.",
- "The configuration is valid and the connection could be established!" : "La configuracion es valida e la connexion pòt èsser establida !",
- "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "La configuracion es valabla, mas lo bind a fracassat. Verificatz los paramètres del servidor e tanben vòstres identificants de connexion.",
- "The configuration is invalid. Please have a look at the logs for further details." : "La configuracion es pas valabla. Consultatz los logs per mai de detalhs.",
- "No action specified" : "Cap d'accion pas especificada",
- "No configuration specified" : "Cap de configuration pas especificada",
- "No data specified" : "Cap de donada pas especificada",
- " Could not set configuration %s" : "Impossible d'especificar la configuracion %s",
- "Action does not exist" : "L'accion existís pas",
- "The Base DN appears to be wrong" : "Lo DN de basa es erronèu",
- "Configuration incorrect" : "Configuracion incorrècta",
- "Configuration incomplete" : "Configuracion incompleta",
- "Configuration OK" : "Configuracion OK",
- "Select groups" : "Seleccionatz los gropes",
- "Select object classes" : "Seleccionar las classas d'objècte",
- "Please check the credentials, they seem to be wrong." : "Verificatz vòstras informacions d'identificacion",
- "Please specify the port, it could not be auto-detected." : "Especificatz lo pòrt, a pas pogut èsser detectat automaticament",
- "Base DN could not be auto-detected, please revise credentials, host and port." : "Lo DN de basa a pas pogut èsser detectat automaticament. Verificatz las informacions d'identificacion, l'òste e lo pòrt.",
- "Could not detect Base DN, please enter it manually." : "Impossible de detectar lo DN de basa, especificatz-lo manualament",
- "{nthServer}. Server" : "{nthServer}. Servidor",
- "No object found in the given Base DN. Please revise." : "Cap d'objècte pas trobat dins lo DN de basa especificat. Verificatz-lo.",
- "More than 1,000 directory entries available." : "I a mai de 1000 entradas de repertòri disponiblas.",
- " entries available within the provided Base DN" : "entradas disponiblas dins lo DN de basa especificat",
- "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Una error s'es produsida. Verificatz lo DN de basa, e tanben los paramètres de connexion e las informacions d'identificacion.",
- "Do you really want to delete the current Server Configuration?" : "Sètz segur que volètz escafar la configuracion servidor actuala ?",
- "Confirm Deletion" : "Confirmar la supression",
- "Mappings cleared successfully!" : "Associacions suprimidas amb succès !",
- "Error while clearing the mappings." : "Error al moment de la supression de las associacions.",
- "Anonymous bind is not allowed. Please provide a User DN and Password." : "Lo ligam anonim es pas autorizat. Mercé de provesir lo DN d'un utilizaire e un senhal.",
- "LDAP Operations error. Anonymous bind might not be allowed." : "Error LDAP. La connexion anonima al servidor es probablament pas acceptada.",
- "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Lo salvament a fracassat. Verificatz que la banca de donadas es operacionala. Recargatz abans de contunhar.",
- "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Cambiar de mòde activarà las requèstas LDAP automaticas. Segon la talha de vòstre annuari LDAP, aquò pòt préner del temps. Volètz totjorn cambiar de mòde ?",
- "Mode switch" : "Cambiar de mòde",
- "Select attributes" : "Seleccionar los atributs",
- "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "Utilizaire introbable. Verificatz los atributs de login e lo nom d'utilizaire. Filtre efectiu (de copiar-pegar per validar en linha de comanda):<br/>",
- "User found and settings verified." : "Utilizaire trobat e paramètres verificats.",
- "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Paramètres verificats, mas sol lo primièr utilizaire se poirà connectar. Utilizatz puslèu un filtre mens restrictiu.",
- "An unspecified error occurred. Please check the settings and the log." : "Una error desconeguda s'es produsida. Verificatz los paramètres e lo log.",
- "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Lo filtre de recèrca es pas valid, probablament a causa de problèmas de sintaxi tals coma de parentèsis mancantas. Corregissètz-los.",
- "A connection error to LDAP / AD occurred, please check host, port and credentials." : "Una error s'es produsida al moment de la connexion al LDAP / AD. Verificatz l'òste, lo pòrt e las informacions d'identificacion.",
- "The %uid placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "La cadena %uid es mancanta. Aquesta cadena es remplaçada per l'identificant de connexion al moment de las requèstas LDAP / AD.",
- "Please provide a login name to test against" : "Indicatz un identificant de connexion amb lo qual cal testar.",
- "The group box was disabled, because the LDAP / AD server does not support memberOf." : "Los gropes son desactivats perque lo servidor LDAP / AD pren pas en carga memberOf.",
- "_%s group found_::_%s groups found_" : ["%s grop trobat","%s gropes trobats"],
- "_%s user found_::_%s users found_" : ["%s utilizaire trobat","%s utilizaires trobats"],
- "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Impossible de detectar l'atribut que conten lo nom d'afichatge des utilizaires. Indicatz-lo vos-meteis dins los paramètres ldap avançats.",
- "Could not find the desired feature" : "Impossible de trobar la foncion desirada",
- "Invalid Host" : "Òste invalid",
- "Server" : "Servidor",
- "Users" : "Utilizaires",
- "Login Attributes" : "Atributs de login",
- "Groups" : "Gropes",
- "Test Configuration" : "Testar la configuracion",
- "Help" : "Ajuda",
- "Groups meeting these criteria are available in %s:" : "Los gropes que respèctan aquestes critèris son disponibles dins %s :",
- "Only these object classes:" : "Solament aquestas classes d'objèctes :",
- "Only from these groups:" : "Solament dins aquestes gropes :",
- "Search groups" : "Cercar dins los gropes",
- "Available groups" : "Gropes disponibles",
- "Selected groups" : "Gropes seleccionats",
- "Edit LDAP Query" : "Modificar la requèsta LDAP",
- "LDAP Filter:" : "Filtre LDAP :",
- "The filter specifies which LDAP groups shall have access to the %s instance." : "Lo filtre especifica quins gropes LDAP an accès a l'instància %s.",
- "Verify settings and count groups" : "Verificar los paramètres e comptar los gropes",
- "When logging in, %s will find the user based on the following attributes:" : "Al login, %s cercarà l'utilizaire sus basa d'aquestes atributs :",
- "LDAP / AD Username:" : "Nom d'utilizaire LDAP / AD :",
- "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "Autorizar lo login amb lo nom d'utilizaire LDAP / AD (uid o samaccountname, la deteccion es automatica). ",
- "LDAP / AD Email Address:" : "Adreça mail LDAP / AD :",
- "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Autorizar lo login amb una adreça mail. Mail e mailPrimaryAddress son autorizats.",
- "Other Attributes:" : "Autres atributs :",
- "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Definís lo filtre d'aplicar al moment d'una temptativa de connexion. %%uid remplaça lo nom d'utilizaire. Exemple : \"uid=%%uid\"",
- "Test Loginname" : "Loginname de tèst",
- "Verify settings" : "Testar los paramètres",
- "1. Server" : "1. Servidor",
- "%s. Server:" : "%s. Servidor :",
- "Add a new and blank configuration" : "Apondre una novèla configuracion verge",
- "Copy current configuration into new directory binding" : "Copiar la configuracion actuala cap a una novèla",
- "Delete the current configuration" : "Suprimir la configuracion actuala",
- "Host" : "Òste",
- "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Podètz ometre lo protocòl, levat se avètz besonh de SSL. Dins aqueste cas, prefixatz amb ldaps://",
- "Port" : "Pòrt",
- "Detect Port" : "Detectar lo pòrt",
- "User DN" : "DN Utilizaire",
- "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "DN de l'utilizaire client pel qual la ligason se deu far, per exemple uid=agent,dc=example,dc=com. Per un accès anonim, daissar lo DN e lo senhal voids.",
- "Password" : "Senhal",
- "For anonymous access, leave DN and Password empty." : "Per un accès anonim, daissar lo DN utilizaire e lo senhal voids.",
- "One Base DN per line" : "Un DN de basa per linha",
- "You can specify Base DN for users and groups in the Advanced tab" : "Podètz especificar los DN de basa de vòstres utilizaires e gropes via l'onglet Avançat",
- "Detect Base DN" : "Detectar lo DN de basa",
- "Test Base DN" : "Testar lo DN de basa",
- "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Evita las requèstas LDAP automaticas. Melhor per las installacions de grand ample, mas demanda de coneissenças en LDAP.",
- "Manually enter LDAP filters (recommended for large directories)" : "Sasir los filtres LDAP manualament (recomandat pels annuaris de grand ample)",
- "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "Las classas d'objèctes frequentas pels utilizaires son : organizationalPerson, person, user e inetOrgPerson. Se sètz pas segur de la classa d'utilizar, demandatz a l'administrator de l'annuari.",
- "The filter specifies which LDAP users shall have access to the %s instance." : "Lo filtre especifica quins utilizaires LDAP auràn accès a l'instància %s.",
- "Verify settings and count users" : "Verificar los paramètres e comptar los utilizaires",
- "Saving" : "Enregistrament...",
- "Back" : "Retorn",
- "Continue" : "Contunhar",
- "LDAP" : "LDAP",
- "Expert" : "Expèrt",
- "Advanced" : "Avançat",
- "<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "<b>Avertiment :</b> Las aplicacions user_ldap e user_webdavauth son incompatiblas. De disfoncionaments se pòdon provesir. Contactatz vòstre administrator sistèma per que ne desactive una.",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Atencion :</b> Lo modul php LDAP es pas installat, per consequéncia aquesta extension poirà pas foncionar. Contactatz vòstre administrator sistèma per tal que l'installe.",
- "Connection Settings" : "Paramètres de connexion",
- "Configuration Active" : "Configuracion activa",
- "When unchecked, this configuration will be skipped." : "Quand pas marcada, la configuracion serà ignorada.",
- "Backup (Replica) Host" : "Servidor de backup (replica)",
- "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "Provesir un servidor de backup opcional. Se deu agir d'una replica del servidor LDAP/AD principal.",
- "Backup (Replica) Port" : "Pòrt del servidor de backup (replica)",
- "Disable Main Server" : "Desactivar lo servidor principal",
- "Only connect to the replica server." : "Se connectar unicament a la replica",
- "Turn off SSL certificate validation." : "Desactivar la validacion dels certificats SSL",
- "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Pas recomandat, d'utilizar amb d'objectius de tèsts unicament. Se la connexion fonciona pas qu'amb aquesta opcion, importatz lo certificat SSL del servidor LDAP dins lo servidor %s.",
- "Cache Time-To-Live" : "Durada de vida de l'escondedor (TTL)",
- "in seconds. A change empties the cache." : "en segondas. Tot cambiament voida l'escondedor.",
- "Directory Settings" : "Paramètres del repertòri",
- "User Display Name Field" : "Camp \"nom d'afichatge\" de l'utilizaire",
- "The LDAP attribute to use to generate the user's display name." : "L'atribut LDAP utilizat per generar lo nom d'afichatge de l'utilizaire.",
- "Base User Tree" : "DN raiç de l'arbre utilizaires",
- "One User Base DN per line" : "Un DN de basa utilizaire per linha",
- "User Search Attributes" : "Atributs de recèrca utilizaires",
- "Optional; one attribute per line" : "Opcional, un atribut per linha",
- "Group Display Name Field" : "Camp \"nom d'afichatge\" del grop",
- "The LDAP attribute to use to generate the groups's display name." : "L'atribut LDAP utilizat per generar lo nom d'afichatge del grop.",
- "Base Group Tree" : "DN raiç de l'arbre gropes",
- "One Group Base DN per line" : "Un DN de basa grop per linha",
- "Group Search Attributes" : "Atributs de recèrca des gropes",
- "Group-Member association" : "Associacion grop-membre",
- "Nested Groups" : "Gropes imbricats",
- "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Se activat, los gropes que contenon d'autres gropes son preses en carga (fonciona unicament se l'atribut membre del grop conten de DNs).",
- "Paging chunksize" : "Paging chunksize",
- "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Chunksize utilizada per las recèrcas LDAP paginadas que pòdon tornar de resultats per lòts coma una enumeracion d'utilizaires o de gropes. (Configurar a 0 per desactivar las recèrcas LDAP paginadas)",
- "Special Attributes" : "Atributs especials",
- "Quota Field" : "Camp del quòta",
- "Quota Default" : "Quòta per defaut",
- "in bytes" : "en octets",
- "Email Field" : "Camp Email",
- "User Home Folder Naming Rule" : "Règla de nomenatge del repertòri utilizaire",
- "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Daissar void per user name (defaut). Podètz tanben especificar un atribut LDAP / AD.",
- "Internal Username" : "Nom d'utilizaire intèrne",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "Per defaut lo nom d'utilizaire intèrne serà creat a partir de l'atribut UUID. Aquò permet d'assegurar que lo nom d'utilizaire es unic e que los caractèrs necessitan pas de conversion. Lo nom d'utilizaire intèrne deu contenir unicament los caractèrs seguents : [ a-zA-Z0-9_.@- ]. Los autres caractèrs son remplaçats per lor correspondéncia ASCII o simplament omeses. En cas de collision, un nombre es apondut/incrementat. Lo nom d'utilizaire intèrne es utilizat per identificar l'utilizaire al dintre del sistèma. Es tanben lo nom per defaut del repertòri utilizaire dins ownCloud. Fa tanben partida de certans URL de servicis, per exemple per totes los servicis *DAV. Lo comportament per defaut pòt èsser modificat amb l'ajuda d'aqueste paramètre. Per obtenir un comportament similar a las versions precedentas a ownCloud 5, sasir lo nom d'utilizaire d'afichar dins lo camp seguent. Daissar a blanc pel comportement per defaut. Las modificacions prendràn efièch solament pels novèls (aponduts) utilizaires LDAP.",
- "Internal Username Attribute:" : "Nom d'utilizaire intèrne :",
- "Override UUID detection" : "Passar outra la deteccion des UUID",
- "By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Per defaut, l'atribut UUID es detectat automaticament. Aqueste atribut es utilizat per identificar los utilizaires e gropes de faiçon fisabla. Un nom d'utilizaire intèrne basat sus l'UUID serà automaticament creat, levat s'es especificat autrament çaisús. Podètz modificar aqueste comportament e definir l'atribut que volètz. Vos cal alara vos assegurar que l'atribut que volètz pòt èsser recuperat pels utilizaires e tanben pels gropes e que siá unic. Daissar a blanc pel comportament per defaut. Las modificacions seràn efectivas unicament pels novèls (aponduts) utilizaires e gropes LDAP.",
- "UUID Attribute for Users:" : "Atribut UUID pels Utilizaires :",
- "UUID Attribute for Groups:" : "Atribut UUID pels Gropes :",
- "Username-LDAP User Mapping" : "Associacion Nom d'utilizaire-Utilizaire LDAP",
- "Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Los noms d'utilizaires son utilizats per l'emmagazinatge e l'assignacion de (meta) donadas. Per identificar e reconéisser precisament los utilizaires, cada utilizaire LDAP aurà un nom intèrne especific. Aquò requerís l'associacion d'un nom d'utilizaire ownCloud a un nom d'utilizaire LDAP. Lo nom d'utilizaire creat es associat a l'atribut UUID de l'utilizaire LDAP. Amai, lo DN es memorizat en escondedor per limitar las interaccions LDAP mas es pas utilizat per l'identificacion. Se lo DN es modificat, aquelas modificacions seràn retrobadas. Sol lo nom intèrne a ownCloud es utilizat al dintre del produch. Suprimir las associacions crearà d'orfanèls e l'accion afectarà totas las configuracions LDAP. SUPRIMISSÈTZ PAS JAMAI LAS ASSOCIACIONS EN ENVIRONAMENT DE PRODUCCION, mas unicament sus d'environaments de tèsts e d'experimentacions.",
- "Clear Username-LDAP User Mapping" : "Suprimir l'associacion utilizaire intèrne-utilizaire LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Suprimir l'associacion nom de grop-grop LDAP"
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/user_ldap/l10n/oc.json b/apps/user_ldap/l10n/oc.json
deleted file mode 100644
index ed63543180a..00000000000
--- a/apps/user_ldap/l10n/oc.json
+++ /dev/null
@@ -1,155 +0,0 @@
-{ "translations": {
- "Failed to clear the mappings." : "Error al moment de la supression de las associacions.",
- "Failed to delete the server configuration" : "Fracàs de la supression de la configuracion del servidor",
- "The configuration is invalid: anonymous bind is not allowed." : "La configuracion es pas valida : lo ligam anonim es pas autorizat.",
- "The configuration is valid and the connection could be established!" : "La configuracion es valida e la connexion pòt èsser establida !",
- "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "La configuracion es valabla, mas lo bind a fracassat. Verificatz los paramètres del servidor e tanben vòstres identificants de connexion.",
- "The configuration is invalid. Please have a look at the logs for further details." : "La configuracion es pas valabla. Consultatz los logs per mai de detalhs.",
- "No action specified" : "Cap d'accion pas especificada",
- "No configuration specified" : "Cap de configuration pas especificada",
- "No data specified" : "Cap de donada pas especificada",
- " Could not set configuration %s" : "Impossible d'especificar la configuracion %s",
- "Action does not exist" : "L'accion existís pas",
- "The Base DN appears to be wrong" : "Lo DN de basa es erronèu",
- "Configuration incorrect" : "Configuracion incorrècta",
- "Configuration incomplete" : "Configuracion incompleta",
- "Configuration OK" : "Configuracion OK",
- "Select groups" : "Seleccionatz los gropes",
- "Select object classes" : "Seleccionar las classas d'objècte",
- "Please check the credentials, they seem to be wrong." : "Verificatz vòstras informacions d'identificacion",
- "Please specify the port, it could not be auto-detected." : "Especificatz lo pòrt, a pas pogut èsser detectat automaticament",
- "Base DN could not be auto-detected, please revise credentials, host and port." : "Lo DN de basa a pas pogut èsser detectat automaticament. Verificatz las informacions d'identificacion, l'òste e lo pòrt.",
- "Could not detect Base DN, please enter it manually." : "Impossible de detectar lo DN de basa, especificatz-lo manualament",
- "{nthServer}. Server" : "{nthServer}. Servidor",
- "No object found in the given Base DN. Please revise." : "Cap d'objècte pas trobat dins lo DN de basa especificat. Verificatz-lo.",
- "More than 1,000 directory entries available." : "I a mai de 1000 entradas de repertòri disponiblas.",
- " entries available within the provided Base DN" : "entradas disponiblas dins lo DN de basa especificat",
- "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Una error s'es produsida. Verificatz lo DN de basa, e tanben los paramètres de connexion e las informacions d'identificacion.",
- "Do you really want to delete the current Server Configuration?" : "Sètz segur que volètz escafar la configuracion servidor actuala ?",
- "Confirm Deletion" : "Confirmar la supression",
- "Mappings cleared successfully!" : "Associacions suprimidas amb succès !",
- "Error while clearing the mappings." : "Error al moment de la supression de las associacions.",
- "Anonymous bind is not allowed. Please provide a User DN and Password." : "Lo ligam anonim es pas autorizat. Mercé de provesir lo DN d'un utilizaire e un senhal.",
- "LDAP Operations error. Anonymous bind might not be allowed." : "Error LDAP. La connexion anonima al servidor es probablament pas acceptada.",
- "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Lo salvament a fracassat. Verificatz que la banca de donadas es operacionala. Recargatz abans de contunhar.",
- "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Cambiar de mòde activarà las requèstas LDAP automaticas. Segon la talha de vòstre annuari LDAP, aquò pòt préner del temps. Volètz totjorn cambiar de mòde ?",
- "Mode switch" : "Cambiar de mòde",
- "Select attributes" : "Seleccionar los atributs",
- "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "Utilizaire introbable. Verificatz los atributs de login e lo nom d'utilizaire. Filtre efectiu (de copiar-pegar per validar en linha de comanda):<br/>",
- "User found and settings verified." : "Utilizaire trobat e paramètres verificats.",
- "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Paramètres verificats, mas sol lo primièr utilizaire se poirà connectar. Utilizatz puslèu un filtre mens restrictiu.",
- "An unspecified error occurred. Please check the settings and the log." : "Una error desconeguda s'es produsida. Verificatz los paramètres e lo log.",
- "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Lo filtre de recèrca es pas valid, probablament a causa de problèmas de sintaxi tals coma de parentèsis mancantas. Corregissètz-los.",
- "A connection error to LDAP / AD occurred, please check host, port and credentials." : "Una error s'es produsida al moment de la connexion al LDAP / AD. Verificatz l'òste, lo pòrt e las informacions d'identificacion.",
- "The %uid placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "La cadena %uid es mancanta. Aquesta cadena es remplaçada per l'identificant de connexion al moment de las requèstas LDAP / AD.",
- "Please provide a login name to test against" : "Indicatz un identificant de connexion amb lo qual cal testar.",
- "The group box was disabled, because the LDAP / AD server does not support memberOf." : "Los gropes son desactivats perque lo servidor LDAP / AD pren pas en carga memberOf.",
- "_%s group found_::_%s groups found_" : ["%s grop trobat","%s gropes trobats"],
- "_%s user found_::_%s users found_" : ["%s utilizaire trobat","%s utilizaires trobats"],
- "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Impossible de detectar l'atribut que conten lo nom d'afichatge des utilizaires. Indicatz-lo vos-meteis dins los paramètres ldap avançats.",
- "Could not find the desired feature" : "Impossible de trobar la foncion desirada",
- "Invalid Host" : "Òste invalid",
- "Server" : "Servidor",
- "Users" : "Utilizaires",
- "Login Attributes" : "Atributs de login",
- "Groups" : "Gropes",
- "Test Configuration" : "Testar la configuracion",
- "Help" : "Ajuda",
- "Groups meeting these criteria are available in %s:" : "Los gropes que respèctan aquestes critèris son disponibles dins %s :",
- "Only these object classes:" : "Solament aquestas classes d'objèctes :",
- "Only from these groups:" : "Solament dins aquestes gropes :",
- "Search groups" : "Cercar dins los gropes",
- "Available groups" : "Gropes disponibles",
- "Selected groups" : "Gropes seleccionats",
- "Edit LDAP Query" : "Modificar la requèsta LDAP",
- "LDAP Filter:" : "Filtre LDAP :",
- "The filter specifies which LDAP groups shall have access to the %s instance." : "Lo filtre especifica quins gropes LDAP an accès a l'instància %s.",
- "Verify settings and count groups" : "Verificar los paramètres e comptar los gropes",
- "When logging in, %s will find the user based on the following attributes:" : "Al login, %s cercarà l'utilizaire sus basa d'aquestes atributs :",
- "LDAP / AD Username:" : "Nom d'utilizaire LDAP / AD :",
- "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "Autorizar lo login amb lo nom d'utilizaire LDAP / AD (uid o samaccountname, la deteccion es automatica). ",
- "LDAP / AD Email Address:" : "Adreça mail LDAP / AD :",
- "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Autorizar lo login amb una adreça mail. Mail e mailPrimaryAddress son autorizats.",
- "Other Attributes:" : "Autres atributs :",
- "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Definís lo filtre d'aplicar al moment d'una temptativa de connexion. %%uid remplaça lo nom d'utilizaire. Exemple : \"uid=%%uid\"",
- "Test Loginname" : "Loginname de tèst",
- "Verify settings" : "Testar los paramètres",
- "1. Server" : "1. Servidor",
- "%s. Server:" : "%s. Servidor :",
- "Add a new and blank configuration" : "Apondre una novèla configuracion verge",
- "Copy current configuration into new directory binding" : "Copiar la configuracion actuala cap a una novèla",
- "Delete the current configuration" : "Suprimir la configuracion actuala",
- "Host" : "Òste",
- "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Podètz ometre lo protocòl, levat se avètz besonh de SSL. Dins aqueste cas, prefixatz amb ldaps://",
- "Port" : "Pòrt",
- "Detect Port" : "Detectar lo pòrt",
- "User DN" : "DN Utilizaire",
- "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "DN de l'utilizaire client pel qual la ligason se deu far, per exemple uid=agent,dc=example,dc=com. Per un accès anonim, daissar lo DN e lo senhal voids.",
- "Password" : "Senhal",
- "For anonymous access, leave DN and Password empty." : "Per un accès anonim, daissar lo DN utilizaire e lo senhal voids.",
- "One Base DN per line" : "Un DN de basa per linha",
- "You can specify Base DN for users and groups in the Advanced tab" : "Podètz especificar los DN de basa de vòstres utilizaires e gropes via l'onglet Avançat",
- "Detect Base DN" : "Detectar lo DN de basa",
- "Test Base DN" : "Testar lo DN de basa",
- "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Evita las requèstas LDAP automaticas. Melhor per las installacions de grand ample, mas demanda de coneissenças en LDAP.",
- "Manually enter LDAP filters (recommended for large directories)" : "Sasir los filtres LDAP manualament (recomandat pels annuaris de grand ample)",
- "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "Las classas d'objèctes frequentas pels utilizaires son : organizationalPerson, person, user e inetOrgPerson. Se sètz pas segur de la classa d'utilizar, demandatz a l'administrator de l'annuari.",
- "The filter specifies which LDAP users shall have access to the %s instance." : "Lo filtre especifica quins utilizaires LDAP auràn accès a l'instància %s.",
- "Verify settings and count users" : "Verificar los paramètres e comptar los utilizaires",
- "Saving" : "Enregistrament...",
- "Back" : "Retorn",
- "Continue" : "Contunhar",
- "LDAP" : "LDAP",
- "Expert" : "Expèrt",
- "Advanced" : "Avançat",
- "<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "<b>Avertiment :</b> Las aplicacions user_ldap e user_webdavauth son incompatiblas. De disfoncionaments se pòdon provesir. Contactatz vòstre administrator sistèma per que ne desactive una.",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Atencion :</b> Lo modul php LDAP es pas installat, per consequéncia aquesta extension poirà pas foncionar. Contactatz vòstre administrator sistèma per tal que l'installe.",
- "Connection Settings" : "Paramètres de connexion",
- "Configuration Active" : "Configuracion activa",
- "When unchecked, this configuration will be skipped." : "Quand pas marcada, la configuracion serà ignorada.",
- "Backup (Replica) Host" : "Servidor de backup (replica)",
- "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "Provesir un servidor de backup opcional. Se deu agir d'una replica del servidor LDAP/AD principal.",
- "Backup (Replica) Port" : "Pòrt del servidor de backup (replica)",
- "Disable Main Server" : "Desactivar lo servidor principal",
- "Only connect to the replica server." : "Se connectar unicament a la replica",
- "Turn off SSL certificate validation." : "Desactivar la validacion dels certificats SSL",
- "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Pas recomandat, d'utilizar amb d'objectius de tèsts unicament. Se la connexion fonciona pas qu'amb aquesta opcion, importatz lo certificat SSL del servidor LDAP dins lo servidor %s.",
- "Cache Time-To-Live" : "Durada de vida de l'escondedor (TTL)",
- "in seconds. A change empties the cache." : "en segondas. Tot cambiament voida l'escondedor.",
- "Directory Settings" : "Paramètres del repertòri",
- "User Display Name Field" : "Camp \"nom d'afichatge\" de l'utilizaire",
- "The LDAP attribute to use to generate the user's display name." : "L'atribut LDAP utilizat per generar lo nom d'afichatge de l'utilizaire.",
- "Base User Tree" : "DN raiç de l'arbre utilizaires",
- "One User Base DN per line" : "Un DN de basa utilizaire per linha",
- "User Search Attributes" : "Atributs de recèrca utilizaires",
- "Optional; one attribute per line" : "Opcional, un atribut per linha",
- "Group Display Name Field" : "Camp \"nom d'afichatge\" del grop",
- "The LDAP attribute to use to generate the groups's display name." : "L'atribut LDAP utilizat per generar lo nom d'afichatge del grop.",
- "Base Group Tree" : "DN raiç de l'arbre gropes",
- "One Group Base DN per line" : "Un DN de basa grop per linha",
- "Group Search Attributes" : "Atributs de recèrca des gropes",
- "Group-Member association" : "Associacion grop-membre",
- "Nested Groups" : "Gropes imbricats",
- "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Se activat, los gropes que contenon d'autres gropes son preses en carga (fonciona unicament se l'atribut membre del grop conten de DNs).",
- "Paging chunksize" : "Paging chunksize",
- "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Chunksize utilizada per las recèrcas LDAP paginadas que pòdon tornar de resultats per lòts coma una enumeracion d'utilizaires o de gropes. (Configurar a 0 per desactivar las recèrcas LDAP paginadas)",
- "Special Attributes" : "Atributs especials",
- "Quota Field" : "Camp del quòta",
- "Quota Default" : "Quòta per defaut",
- "in bytes" : "en octets",
- "Email Field" : "Camp Email",
- "User Home Folder Naming Rule" : "Règla de nomenatge del repertòri utilizaire",
- "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Daissar void per user name (defaut). Podètz tanben especificar un atribut LDAP / AD.",
- "Internal Username" : "Nom d'utilizaire intèrne",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "Per defaut lo nom d'utilizaire intèrne serà creat a partir de l'atribut UUID. Aquò permet d'assegurar que lo nom d'utilizaire es unic e que los caractèrs necessitan pas de conversion. Lo nom d'utilizaire intèrne deu contenir unicament los caractèrs seguents : [ a-zA-Z0-9_.@- ]. Los autres caractèrs son remplaçats per lor correspondéncia ASCII o simplament omeses. En cas de collision, un nombre es apondut/incrementat. Lo nom d'utilizaire intèrne es utilizat per identificar l'utilizaire al dintre del sistèma. Es tanben lo nom per defaut del repertòri utilizaire dins ownCloud. Fa tanben partida de certans URL de servicis, per exemple per totes los servicis *DAV. Lo comportament per defaut pòt èsser modificat amb l'ajuda d'aqueste paramètre. Per obtenir un comportament similar a las versions precedentas a ownCloud 5, sasir lo nom d'utilizaire d'afichar dins lo camp seguent. Daissar a blanc pel comportement per defaut. Las modificacions prendràn efièch solament pels novèls (aponduts) utilizaires LDAP.",
- "Internal Username Attribute:" : "Nom d'utilizaire intèrne :",
- "Override UUID detection" : "Passar outra la deteccion des UUID",
- "By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Per defaut, l'atribut UUID es detectat automaticament. Aqueste atribut es utilizat per identificar los utilizaires e gropes de faiçon fisabla. Un nom d'utilizaire intèrne basat sus l'UUID serà automaticament creat, levat s'es especificat autrament çaisús. Podètz modificar aqueste comportament e definir l'atribut que volètz. Vos cal alara vos assegurar que l'atribut que volètz pòt èsser recuperat pels utilizaires e tanben pels gropes e que siá unic. Daissar a blanc pel comportament per defaut. Las modificacions seràn efectivas unicament pels novèls (aponduts) utilizaires e gropes LDAP.",
- "UUID Attribute for Users:" : "Atribut UUID pels Utilizaires :",
- "UUID Attribute for Groups:" : "Atribut UUID pels Gropes :",
- "Username-LDAP User Mapping" : "Associacion Nom d'utilizaire-Utilizaire LDAP",
- "Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Los noms d'utilizaires son utilizats per l'emmagazinatge e l'assignacion de (meta) donadas. Per identificar e reconéisser precisament los utilizaires, cada utilizaire LDAP aurà un nom intèrne especific. Aquò requerís l'associacion d'un nom d'utilizaire ownCloud a un nom d'utilizaire LDAP. Lo nom d'utilizaire creat es associat a l'atribut UUID de l'utilizaire LDAP. Amai, lo DN es memorizat en escondedor per limitar las interaccions LDAP mas es pas utilizat per l'identificacion. Se lo DN es modificat, aquelas modificacions seràn retrobadas. Sol lo nom intèrne a ownCloud es utilizat al dintre del produch. Suprimir las associacions crearà d'orfanèls e l'accion afectarà totas las configuracions LDAP. SUPRIMISSÈTZ PAS JAMAI LAS ASSOCIACIONS EN ENVIRONAMENT DE PRODUCCION, mas unicament sus d'environaments de tèsts e d'experimentacions.",
- "Clear Username-LDAP User Mapping" : "Suprimir l'associacion utilizaire intèrne-utilizaire LDAP",
- "Clear Groupname-LDAP Group Mapping" : "Suprimir l'associacion nom de grop-grop LDAP"
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/ro.js b/apps/user_ldap/l10n/ro.js
deleted file mode 100644
index 47788d4b17b..00000000000
--- a/apps/user_ldap/l10n/ro.js
+++ /dev/null
@@ -1,101 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Failed to clear the mappings." : "Ștergerea mapărilor a eșuat.",
- "Failed to delete the server configuration" : "Ștergerea configurației serverului a eșuat.",
- "Valid configuration, connection established!" : "Configurație validată, conexiune stabilită!",
- "No action specified" : "Nu este specificată nicio acțiune ",
- "No configuration specified" : "Nu este specificată nicio configurație",
- "No data specified" : "Nu au fost specificate date",
- " Could not set configuration %s" : "Nu a putut fi setată configurația %s",
- "Action does not exist" : "Acțiunea nu există",
- "Renewing …" : "Reînnoiesc ...",
- "Very weak password" : "Parolă foarte slabă",
- "Weak password" : "Parolă slabă",
- "So-so password" : "Parolă medie",
- "Good password" : "Parolă bună",
- "Strong password" : "Parolă puternică",
- "The Base DN appears to be wrong" : "DN-ul de bază pare a fi greșit",
- "Testing configuration…" : "Se testează configurația...",
- "Configuration incorrect" : "Configurație incorectă",
- "Configuration incomplete" : "Configurație incompletă",
- "Configuration OK" : "Configurație validă",
- "Select groups" : "Selectează grupuri ",
- "Select object classes" : "Selectează clase de obiecte",
- "Please check the credentials, they seem to be wrong." : "Verifică datele de autentificare, ele par a fi greșite.",
- "Please specify the port, it could not be auto-detected." : "Specifică portul, nu a putut fi detectat automat.",
- "Base DN could not be auto-detected, please revise credentials, host and port." : "DN-ul de bază nu a putut fi detectat automat, te rugăm revizuiește datele de autentificare, gazda și portul.",
- "Could not detect Base DN, please enter it manually." : "DN-ul de bază nu a putut fi detectat, introdu-l manual.",
- "{nthServer}. Server" : "{nthServer}. Server",
- "More than 1,000 directory entries available." : "Mai mult de 1000 de directoare disponibile.",
- "Do you really want to delete the current Server Configuration?" : "Sigur vrei să ștergi configurația curentă a serverului?",
- "Confirm Deletion" : "Confirmă ștergerea",
- "Mappings cleared successfully!" : "Asocierile au fost șterse!",
- "Error while clearing the mappings." : "Eroare la ștergerea asocierilor.",
- "Select attributes" : "Selectaţi caracteristici",
- "Your password will expire tomorrow." : "Parola ta va expira mâine.",
- "Your password will expire today." : "Parola ta va expira astăzi.",
- "_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Parola ta va expira în %n zi.","Parola ta va expira în %n zile.","Parola ta va expira în %n zile."],
- "Could not find the desired feature" : "Nu s-a putut găsi funcționalitatea dorită.",
- "Invalid Host" : "Host invalid",
- "Test Configuration" : "Configurare test",
- "Help" : "Ajutor",
- "Search groups" : "Caută grupuri",
- "Available groups" : "Grupuri disponibile",
- "Selected groups" : "Grupurile selectate",
- "LDAP Filter:" : "Filtru LDAP:",
- "Other Attributes:" : "Alte caracteristici :",
- "Verify settings" : "Verifică setările",
- "%s. Server:" : "%s. Server:",
- "Delete the current configuration" : "Șterge configurația curentă",
- "Host" : "Gazdă",
- "Port" : "Portul",
- "Detect Port" : "Detectează portul",
- "User DN" : "DN-ul utilizatorului",
- "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "DN-ul utilizatorului cu care se va efectua asocierea, de exemplu uid=agent,dc=example,dc=com. Pentru acces anonim, lasă DN-ul și parola libere.",
- "Password" : "Parolă",
- "For anonymous access, leave DN and Password empty." : "Pentru acces anonim, lasă DN-ul și parola libere.",
- "Save Credentials" : "Salvează datele de autentificare",
- "One Base DN per line" : "Un DN de bază pe linie",
- "You can specify Base DN for users and groups in the Advanced tab" : "Poți specifica DN-ul de bază pentru utilizatori și grupuri în fila Avansat",
- "Detect Base DN" : "Detectează DN-ul de bază",
- "Test Base DN" : "Testează DN-ul de bază",
- "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Evită solicitările LDAP automate. De preferat pentru instalările mai complexe, dar necesită câteva cunoștințe LDAP.",
- "Manually enter LDAP filters (recommended for large directories)" : "Introdu filtrele LDAP manual (recomandat pentru medii LDAP largi)",
- "Verify settings and count users" : "Verifică setările și numără utilizatorii",
- "Saving" : "Se salvează",
- "Back" : "Înapoi",
- "Continue" : "Continuă",
- "Please renew your password." : "Te rog reînnoiește parola.",
- "An internal error occurred." : "A apărut o eroare internă.",
- "Please try again or contact your administrator." : "Încearcă din nou sau contactează-ți administratorul.",
- "Current password" : "Parola curentă",
- "New password" : "Noua parolă",
- "Renew password" : "Reînnoiește parola",
- "Wrong password." : "Parolă greșită.",
- "Cancel" : "Anulează",
- "Server" : "Server",
- "Users" : "Utilizatori",
- "Login Attributes" : "Atribute de autentificare",
- "Groups" : "Grupuri",
- "Expert" : "Expert",
- "Advanced" : "Avansat",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Atenție</b> Modulul PHP LDAP nu este instalat, infrastructura nu va funcționa. Contactează administratorul sistemului pentru al instala.",
- "Connection Settings" : "Setările de conexiune",
- "Configuration Active" : "Configurație activă",
- "When unchecked, this configuration will be skipped." : "Dacă este debifat, se va sări peste această configurație.",
- "Disable Main Server" : "Dezactivaţi serverul principal",
- "Turn off SSL certificate validation." : "Oprește validarea certificatelor SSL ",
- "in seconds. A change empties the cache." : "în secunde. O schimbare curăță memoria tampon.",
- "Directory Settings" : "Setările directorului",
- "User Display Name Field" : "Câmpul cu numele vizibil al utilizatorului",
- "Base User Tree" : "Arborele de bază al utilizatorilor",
- "One User Base DN per line" : "Un DN utilizator de bază pe linie",
- "Group Display Name Field" : "Câmpul cu numele grupului",
- "Base Group Tree" : "Arborele de bază al Grupurilor",
- "One Group Base DN per line" : "Un Group Base DN pe linie",
- "Group-Member association" : "Asocierea Grup-Membru",
- "Special Attributes" : "Caracteristici speciale ",
- "Internal Username" : "Nume utilizator intern"
-},
-"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/user_ldap/l10n/ro.json b/apps/user_ldap/l10n/ro.json
deleted file mode 100644
index f5fca02f43d..00000000000
--- a/apps/user_ldap/l10n/ro.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{ "translations": {
- "Failed to clear the mappings." : "Ștergerea mapărilor a eșuat.",
- "Failed to delete the server configuration" : "Ștergerea configurației serverului a eșuat.",
- "Valid configuration, connection established!" : "Configurație validată, conexiune stabilită!",
- "No action specified" : "Nu este specificată nicio acțiune ",
- "No configuration specified" : "Nu este specificată nicio configurație",
- "No data specified" : "Nu au fost specificate date",
- " Could not set configuration %s" : "Nu a putut fi setată configurația %s",
- "Action does not exist" : "Acțiunea nu există",
- "Renewing …" : "Reînnoiesc ...",
- "Very weak password" : "Parolă foarte slabă",
- "Weak password" : "Parolă slabă",
- "So-so password" : "Parolă medie",
- "Good password" : "Parolă bună",
- "Strong password" : "Parolă puternică",
- "The Base DN appears to be wrong" : "DN-ul de bază pare a fi greșit",
- "Testing configuration…" : "Se testează configurația...",
- "Configuration incorrect" : "Configurație incorectă",
- "Configuration incomplete" : "Configurație incompletă",
- "Configuration OK" : "Configurație validă",
- "Select groups" : "Selectează grupuri ",
- "Select object classes" : "Selectează clase de obiecte",
- "Please check the credentials, they seem to be wrong." : "Verifică datele de autentificare, ele par a fi greșite.",
- "Please specify the port, it could not be auto-detected." : "Specifică portul, nu a putut fi detectat automat.",
- "Base DN could not be auto-detected, please revise credentials, host and port." : "DN-ul de bază nu a putut fi detectat automat, te rugăm revizuiește datele de autentificare, gazda și portul.",
- "Could not detect Base DN, please enter it manually." : "DN-ul de bază nu a putut fi detectat, introdu-l manual.",
- "{nthServer}. Server" : "{nthServer}. Server",
- "More than 1,000 directory entries available." : "Mai mult de 1000 de directoare disponibile.",
- "Do you really want to delete the current Server Configuration?" : "Sigur vrei să ștergi configurația curentă a serverului?",
- "Confirm Deletion" : "Confirmă ștergerea",
- "Mappings cleared successfully!" : "Asocierile au fost șterse!",
- "Error while clearing the mappings." : "Eroare la ștergerea asocierilor.",
- "Select attributes" : "Selectaţi caracteristici",
- "Your password will expire tomorrow." : "Parola ta va expira mâine.",
- "Your password will expire today." : "Parola ta va expira astăzi.",
- "_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Parola ta va expira în %n zi.","Parola ta va expira în %n zile.","Parola ta va expira în %n zile."],
- "Could not find the desired feature" : "Nu s-a putut găsi funcționalitatea dorită.",
- "Invalid Host" : "Host invalid",
- "Test Configuration" : "Configurare test",
- "Help" : "Ajutor",
- "Search groups" : "Caută grupuri",
- "Available groups" : "Grupuri disponibile",
- "Selected groups" : "Grupurile selectate",
- "LDAP Filter:" : "Filtru LDAP:",
- "Other Attributes:" : "Alte caracteristici :",
- "Verify settings" : "Verifică setările",
- "%s. Server:" : "%s. Server:",
- "Delete the current configuration" : "Șterge configurația curentă",
- "Host" : "Gazdă",
- "Port" : "Portul",
- "Detect Port" : "Detectează portul",
- "User DN" : "DN-ul utilizatorului",
- "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "DN-ul utilizatorului cu care se va efectua asocierea, de exemplu uid=agent,dc=example,dc=com. Pentru acces anonim, lasă DN-ul și parola libere.",
- "Password" : "Parolă",
- "For anonymous access, leave DN and Password empty." : "Pentru acces anonim, lasă DN-ul și parola libere.",
- "Save Credentials" : "Salvează datele de autentificare",
- "One Base DN per line" : "Un DN de bază pe linie",
- "You can specify Base DN for users and groups in the Advanced tab" : "Poți specifica DN-ul de bază pentru utilizatori și grupuri în fila Avansat",
- "Detect Base DN" : "Detectează DN-ul de bază",
- "Test Base DN" : "Testează DN-ul de bază",
- "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Evită solicitările LDAP automate. De preferat pentru instalările mai complexe, dar necesită câteva cunoștințe LDAP.",
- "Manually enter LDAP filters (recommended for large directories)" : "Introdu filtrele LDAP manual (recomandat pentru medii LDAP largi)",
- "Verify settings and count users" : "Verifică setările și numără utilizatorii",
- "Saving" : "Se salvează",
- "Back" : "Înapoi",
- "Continue" : "Continuă",
- "Please renew your password." : "Te rog reînnoiește parola.",
- "An internal error occurred." : "A apărut o eroare internă.",
- "Please try again or contact your administrator." : "Încearcă din nou sau contactează-ți administratorul.",
- "Current password" : "Parola curentă",
- "New password" : "Noua parolă",
- "Renew password" : "Reînnoiește parola",
- "Wrong password." : "Parolă greșită.",
- "Cancel" : "Anulează",
- "Server" : "Server",
- "Users" : "Utilizatori",
- "Login Attributes" : "Atribute de autentificare",
- "Groups" : "Grupuri",
- "Expert" : "Expert",
- "Advanced" : "Avansat",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Atenție</b> Modulul PHP LDAP nu este instalat, infrastructura nu va funcționa. Contactează administratorul sistemului pentru al instala.",
- "Connection Settings" : "Setările de conexiune",
- "Configuration Active" : "Configurație activă",
- "When unchecked, this configuration will be skipped." : "Dacă este debifat, se va sări peste această configurație.",
- "Disable Main Server" : "Dezactivaţi serverul principal",
- "Turn off SSL certificate validation." : "Oprește validarea certificatelor SSL ",
- "in seconds. A change empties the cache." : "în secunde. O schimbare curăță memoria tampon.",
- "Directory Settings" : "Setările directorului",
- "User Display Name Field" : "Câmpul cu numele vizibil al utilizatorului",
- "Base User Tree" : "Arborele de bază al utilizatorilor",
- "One User Base DN per line" : "Un DN utilizator de bază pe linie",
- "Group Display Name Field" : "Câmpul cu numele grupului",
- "Base Group Tree" : "Arborele de bază al Grupurilor",
- "One Group Base DN per line" : "Un Group Base DN pe linie",
- "Group-Member association" : "Asocierea Grup-Membru",
- "Special Attributes" : "Caracteristici speciale ",
- "Internal Username" : "Nume utilizator intern"
-},"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/user_ldap/l10n/sr@latin.js b/apps/user_ldap/l10n/sr@latin.js
deleted file mode 100644
index 7769a4b6bda..00000000000
--- a/apps/user_ldap/l10n/sr@latin.js
+++ /dev/null
@@ -1,14 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Server" : "Server",
- "Users" : "Korisnici",
- "Groups" : "Grupe",
- "Help" : "Pomoć",
- "Host" : "Računar",
- "Port" : "Port",
- "Password" : "Lozinka",
- "Continue" : "Nastavi",
- "Advanced" : "Napredno"
-},
-"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/user_ldap/l10n/sr@latin.json b/apps/user_ldap/l10n/sr@latin.json
deleted file mode 100644
index ad4492827f7..00000000000
--- a/apps/user_ldap/l10n/sr@latin.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{ "translations": {
- "Server" : "Server",
- "Users" : "Korisnici",
- "Groups" : "Grupe",
- "Help" : "Pomoć",
- "Host" : "Računar",
- "Port" : "Port",
- "Password" : "Lozinka",
- "Continue" : "Nastavi",
- "Advanced" : "Napredno"
-},"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/user_ldap/l10n/su.js b/apps/user_ldap/l10n/su.js
deleted file mode 100644
index 5494dcae62e..00000000000
--- a/apps/user_ldap/l10n/su.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : [""],
- "_%s user found_::_%s users found_" : [""]
-},
-"nplurals=1; plural=0;");
diff --git a/apps/user_ldap/l10n/su.json b/apps/user_ldap/l10n/su.json
deleted file mode 100644
index 75f0f056cc4..00000000000
--- a/apps/user_ldap/l10n/su.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : [""],
- "_%s user found_::_%s users found_" : [""]
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/sw_KE.js b/apps/user_ldap/l10n/sw_KE.js
deleted file mode 100644
index 37042a4f412..00000000000
--- a/apps/user_ldap/l10n/sw_KE.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/sw_KE.json b/apps/user_ldap/l10n/sw_KE.json
deleted file mode 100644
index 521de7ba1a8..00000000000
--- a/apps/user_ldap/l10n/sw_KE.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/tg_TJ.js b/apps/user_ldap/l10n/tg_TJ.js
deleted file mode 100644
index 37042a4f412..00000000000
--- a/apps/user_ldap/l10n/tg_TJ.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/tg_TJ.json b/apps/user_ldap/l10n/tg_TJ.json
deleted file mode 100644
index 521de7ba1a8..00000000000
--- a/apps/user_ldap/l10n/tg_TJ.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/tl_PH.js b/apps/user_ldap/l10n/tl_PH.js
deleted file mode 100644
index 95c97db2f9c..00000000000
--- a/apps/user_ldap/l10n/tl_PH.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},
-"nplurals=2; plural=(n > 1);");
diff --git a/apps/user_ldap/l10n/tl_PH.json b/apps/user_ldap/l10n/tl_PH.json
deleted file mode 100644
index 8e0cd6f6783..00000000000
--- a/apps/user_ldap/l10n/tl_PH.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n > 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/tr.js b/apps/user_ldap/l10n/tr.js
index e1c0acf6d50..d0f0f55c247 100644
--- a/apps/user_ldap/l10n/tr.js
+++ b/apps/user_ldap/l10n/tr.js
@@ -42,7 +42,7 @@ OC.L10N.register(
"Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonim atamaya izin verilmiyor. Lütfen bir Kullanıcı DN ve parola belirtin.",
"LDAP Operations error. Anonymous bind might not be allowed." : "LDAP işleminde sorun çıktı. Anonim bağlamaya izin verilmiyor.",
"Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Kaydedilemedi. Veri tabanının çalışıyor olduğundan emin olun. İlerlemeden önce yeniden yükleyin.",
- "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Kipi değiştirmek otomatik LDAP sorgularını etkinleştirir. LDAP sisteminizin boyutlarına göre bu işlem uzun sürebilir. Kipi yine de değiştirmek istiyor musunuz?",
+ "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Kipi değiştirmek otomatik LDAP sorgularını açar. LDAP sisteminizin boyutlarına göre bu işlem uzun sürebilir. Kipi yine de değiştirmek istiyor musunuz?",
"Mode switch" : "Kip değişimi",
"Select attributes" : "Öznitelikleri seçin",
"User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command-line validation): <br/>" : "Kullanıcı bulunamadı. Lütfen oturum açma özniteliklerini ve kullanıcı adını denetleyin. Etkin süzgeç (komut satırı doğrulamasında kullanmak için kopyalayıp yapıştırın): <br/>",
@@ -53,7 +53,7 @@ OC.L10N.register(
"A connection error to LDAP/AD occurred. Please check host, port and credentials." : "Bir LDAP/AD bağlantı sorunu çıktı. Lütfen istemci, bağlantı noktası ve kimlik doğrulama bilgilerini denetleyin.",
"The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP/AD." : "LDAP/AD sorgularında kullanıcı adı ile değiştirilecek \"%uid\" yer belirleyicisi eksik. ",
"Please provide a login name to test against" : "Lütfen deneme için kullanılacak bir kullanıcı adı yazın",
- "The group box was disabled, because the LDAP/AD server does not support memberOf." : "LDAP/AD sunucusu memberOf parametresini desteklemediğinden grup kutusu devre dışı bırakıldı.",
+ "The group box was disabled, because the LDAP/AD server does not support memberOf." : "LDAP/AD sunucusu memberOf parametresini desteklemediğinden grup kutusu kullanımdan kaldırıldı.",
"Password change rejected. Hint: %s" : "Parola değişimi reddedildi. İpucu: %s",
"Mandatory field \"%s\" left empty" : "\"%s\" zorunlu alanı boş olamaz",
"A password is given, but not an LDAP agent" : "Bir parola belirtilmiş ancak bir LDAP aracısı değil",
@@ -148,7 +148,7 @@ OC.L10N.register(
"Groups" : "Gruplar",
"Expert" : "Uzman",
"Advanced" : "Gelişmiş",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Uyarı:</b> PHP LDAP modülü kurulmamış, arka uç çalışmayacak. Lütfen kurması için BT yöneticiniz ile görüşün.",
+ "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Uyarı:</b> PHP LDAP modülü kurulmamış, arka yüz çalışmayacak. Lütfen kurması için BT yöneticiniz ile görüşün.",
"Connection Settings" : "Bağlantı Ayarları",
"Configuration Active" : "Yapılandırma etkin",
"When unchecked, this configuration will be skipped." : "Bu seçenek işaretli değilse, bu yapılandırma atlanır.",
@@ -158,7 +158,7 @@ OC.L10N.register(
"Disable Main Server" : "Ana sunucuyu kullanımdan kaldır",
"Only connect to the replica server." : "Yalnızca yedek sunucu ile bağlantı kurulsun.",
"Turn off SSL certificate validation." : "SSL sertifika doğrulaması kullanılmasın.",
- "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Önerilmez, yalnızca deneme amacıyla kullanın! Bağlantı yalnız bu seçenek ile çalışıyorsa LDAP sunucusunun SSL sertifikasını %s sunucuzun içine aktarın.",
+ "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Önerilmez, yalnızca deneme amacıyla kullanın! Bağlantı yalnızca bu seçenek ile çalışıyorsa LDAP sunucusunun SSL sertifikasını %s sunucuzun içine aktarın.",
"Cache Time-To-Live" : "Ön Bellek Time-To-Live Değeri",
"in seconds. A change empties the cache." : "saniye cinsinden. Değişiklik ön belleği temizler.",
"Directory Settings" : "Dizin Ayarları",
@@ -170,8 +170,8 @@ OC.L10N.register(
"One User Base DN per line" : "Her Satıra Bir Kullanıcı Base DN",
"User Search Attributes" : "Kullanıcı arama öznitelikleri",
"Optional; one attribute per line" : "İsteğe bağlı; her satıra bir öznitelik",
- "Disable users missing from LDAP" : "LDAP üzerinde bulunmayan kullanıcılar devre dışı bırakılsın",
- "When switched on, users imported from LDAP which are then missing will be disabled" : "Bu seçenek açıldığında, LDAP üzerinden içe aktarılmış ancak daha sonra kaybolmuş kullanıcılar devre dışı bırakılır",
+ "Disable users missing from LDAP" : "LDAP üzerinde bulunmayan kullanıcılar kullanımdan kaldırılsın",
+ "When switched on, users imported from LDAP which are then missing will be disabled" : "Açıldığında, LDAP üzerinden içe aktarılmış ancak daha sonra kaybolmuş kullanıcılar kullanımdan kaldırılır",
"Group Display Name Field" : "Görüntülenecek Grup Adı Alanı",
"The LDAP attribute to use to generate the groups's display name." : "Görüntülenecek grup adını üretmek için kullanılacak LDAP özniteliği.",
"Base Group Tree" : "Temel Grup Ağacı",
@@ -179,16 +179,16 @@ OC.L10N.register(
"Group Search Attributes" : "Grup Arama Öznitelikleri",
"Group-Member association" : "Grup-Üye İlişkisi",
"Dynamic Group Member URL" : "Devingen Grup Üye Adresi",
- "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 özniteliğinde, gruba hangi nesnelerin ait olduğunu bulan bir LDAP arama adresi bulunuyor (seçenek boş bırakıldığında dinamik grup üyeliği özelliği devre dışı bırakılır).",
+ "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 özniteliğinde, gruba hangi nesnelerin ait olduğunu bulan bir LDAP arama adresi bulunuyor (seçenek boş bırakıldığında dinamik grup üyeliği özelliği kapatılır).",
"Nested Groups" : "İç İçe Gruplar",
- "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Açılırsa, gruplar içinde gruplar desteklenir (Yalnızca grup üyesi özniteliği DN içeriyorsa çalışır).",
+ "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Açılırsa, gruplar içinde gruplar desteklenir (Yalnızca grup üyesi özniteliğinde DN bulunuyorsa çalışır).",
"Paging chunksize" : "Sayfalandırma yığın boyutu",
- "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Yığın boyutu, kullanıcı ya da grup listeleri gibi, çok sayıda sonuç verebilen sayfalandırılmış LDAP aramaları için kullanılır (0 olarak ayarlandığında bu durumlarda sayfalandırılmış LDAP aramaları devre dışı bırakılır).",
+ "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Yığın boyutu, kullanıcı ya da grup listeleri gibi, çok sayıda sonuç verebilen sayfalandırılmış LDAP aramaları için kullanılır (0 olarak ayarlandığında bu durumlarda sayfalandırılmış LDAP aramaları kapatılır).",
"Enable LDAP password changes per user" : "Kullanıcılar LDAP parolalarını değiştirebilsin",
- "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "LDAP kullanıcıları kendi parolalarını değiştirebilir ve Süper Yöneticiler ile Grup Yöneticileri kendi LDAP kullanıcılarının parolalarını değiştirebilir. Yalnızca erişim denetimi ilkeleri LDAP sunucuya uygun olarak yapılandırılmış ise çalışır. Parolalar LDAP sunucuya düz metin biçiminde aktarıldığından, LDAP sunucu üzerinde aktarım şifrelemesi ve parola karması kullanılmalıdır.",
+ "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "LDAP kullanıcıları kendi parolalarını değiştirebilir ve Süper Yöneticiler ile Grup Yöneticileri kendi LDAP kullanıcılarının parolalarını değiştirebilir. Yalnızca erişim denetimi ilkeleri LDAP sunucusuna uygun olarak yapılandırılmış ise çalışır. Parolalar LDAP sunucusuna düz metin biçiminde aktarıldığından, LDAP sunucusu üzerinde aktarım şifrelemesi ve parola karması kullanılmalıdır.",
"(New password is sent as plain text to LDAP)" : "(Yeni parola LDAP üzerine düz metin olarak gönderildi)",
"Default password policy DN" : "Varsayılan parola ilkesi DN",
- "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "Parola geçerlilik süresinin sona erme işlemleri için kullanılacak varsayılan parola ilkesinin etki alanı adı (DN). Yalnızca her kullanıcı için LDAP parola değişikliği açıksa çalışır ve yalnızca OpenLDAP tarafından desteklenir. Parola süresi sona erme işlemlerini devre dışı bıraklmak için boş bırakın.",
+ "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "Parola geçerlilik süresinin sona erme işlemleri için kullanılacak varsayılan parola ilkesinin etki alanı adı (DN). Yalnızca her kullanıcı için LDAP parola değişikliği açıksa çalışır ve yalnızca OpenLDAP tarafından desteklenir. Parola süresi sona erme işlemlerini kapatmak için boş bırakın.",
"Special Attributes" : "Özel Öznitelikler",
"Quota Field" : "Kota Alanı",
"Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Kullanıcının varsayılan kotasının kullanılması için boş bırakın ya da bir LDAP/AD özniteliği belirtin.",
diff --git a/apps/user_ldap/l10n/tr.json b/apps/user_ldap/l10n/tr.json
index 09359b4e70c..f5c2c7306dd 100644
--- a/apps/user_ldap/l10n/tr.json
+++ b/apps/user_ldap/l10n/tr.json
@@ -40,7 +40,7 @@
"Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonim atamaya izin verilmiyor. Lütfen bir Kullanıcı DN ve parola belirtin.",
"LDAP Operations error. Anonymous bind might not be allowed." : "LDAP işleminde sorun çıktı. Anonim bağlamaya izin verilmiyor.",
"Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Kaydedilemedi. Veri tabanının çalışıyor olduğundan emin olun. İlerlemeden önce yeniden yükleyin.",
- "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Kipi değiştirmek otomatik LDAP sorgularını etkinleştirir. LDAP sisteminizin boyutlarına göre bu işlem uzun sürebilir. Kipi yine de değiştirmek istiyor musunuz?",
+ "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Kipi değiştirmek otomatik LDAP sorgularını açar. LDAP sisteminizin boyutlarına göre bu işlem uzun sürebilir. Kipi yine de değiştirmek istiyor musunuz?",
"Mode switch" : "Kip değişimi",
"Select attributes" : "Öznitelikleri seçin",
"User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command-line validation): <br/>" : "Kullanıcı bulunamadı. Lütfen oturum açma özniteliklerini ve kullanıcı adını denetleyin. Etkin süzgeç (komut satırı doğrulamasında kullanmak için kopyalayıp yapıştırın): <br/>",
@@ -51,7 +51,7 @@
"A connection error to LDAP/AD occurred. Please check host, port and credentials." : "Bir LDAP/AD bağlantı sorunu çıktı. Lütfen istemci, bağlantı noktası ve kimlik doğrulama bilgilerini denetleyin.",
"The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP/AD." : "LDAP/AD sorgularında kullanıcı adı ile değiştirilecek \"%uid\" yer belirleyicisi eksik. ",
"Please provide a login name to test against" : "Lütfen deneme için kullanılacak bir kullanıcı adı yazın",
- "The group box was disabled, because the LDAP/AD server does not support memberOf." : "LDAP/AD sunucusu memberOf parametresini desteklemediğinden grup kutusu devre dışı bırakıldı.",
+ "The group box was disabled, because the LDAP/AD server does not support memberOf." : "LDAP/AD sunucusu memberOf parametresini desteklemediğinden grup kutusu kullanımdan kaldırıldı.",
"Password change rejected. Hint: %s" : "Parola değişimi reddedildi. İpucu: %s",
"Mandatory field \"%s\" left empty" : "\"%s\" zorunlu alanı boş olamaz",
"A password is given, but not an LDAP agent" : "Bir parola belirtilmiş ancak bir LDAP aracısı değil",
@@ -146,7 +146,7 @@
"Groups" : "Gruplar",
"Expert" : "Uzman",
"Advanced" : "Gelişmiş",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Uyarı:</b> PHP LDAP modülü kurulmamış, arka uç çalışmayacak. Lütfen kurması için BT yöneticiniz ile görüşün.",
+ "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Uyarı:</b> PHP LDAP modülü kurulmamış, arka yüz çalışmayacak. Lütfen kurması için BT yöneticiniz ile görüşün.",
"Connection Settings" : "Bağlantı Ayarları",
"Configuration Active" : "Yapılandırma etkin",
"When unchecked, this configuration will be skipped." : "Bu seçenek işaretli değilse, bu yapılandırma atlanır.",
@@ -156,7 +156,7 @@
"Disable Main Server" : "Ana sunucuyu kullanımdan kaldır",
"Only connect to the replica server." : "Yalnızca yedek sunucu ile bağlantı kurulsun.",
"Turn off SSL certificate validation." : "SSL sertifika doğrulaması kullanılmasın.",
- "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Önerilmez, yalnızca deneme amacıyla kullanın! Bağlantı yalnız bu seçenek ile çalışıyorsa LDAP sunucusunun SSL sertifikasını %s sunucuzun içine aktarın.",
+ "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Önerilmez, yalnızca deneme amacıyla kullanın! Bağlantı yalnızca bu seçenek ile çalışıyorsa LDAP sunucusunun SSL sertifikasını %s sunucuzun içine aktarın.",
"Cache Time-To-Live" : "Ön Bellek Time-To-Live Değeri",
"in seconds. A change empties the cache." : "saniye cinsinden. Değişiklik ön belleği temizler.",
"Directory Settings" : "Dizin Ayarları",
@@ -168,8 +168,8 @@
"One User Base DN per line" : "Her Satıra Bir Kullanıcı Base DN",
"User Search Attributes" : "Kullanıcı arama öznitelikleri",
"Optional; one attribute per line" : "İsteğe bağlı; her satıra bir öznitelik",
- "Disable users missing from LDAP" : "LDAP üzerinde bulunmayan kullanıcılar devre dışı bırakılsın",
- "When switched on, users imported from LDAP which are then missing will be disabled" : "Bu seçenek açıldığında, LDAP üzerinden içe aktarılmış ancak daha sonra kaybolmuş kullanıcılar devre dışı bırakılır",
+ "Disable users missing from LDAP" : "LDAP üzerinde bulunmayan kullanıcılar kullanımdan kaldırılsın",
+ "When switched on, users imported from LDAP which are then missing will be disabled" : "Açıldığında, LDAP üzerinden içe aktarılmış ancak daha sonra kaybolmuş kullanıcılar kullanımdan kaldırılır",
"Group Display Name Field" : "Görüntülenecek Grup Adı Alanı",
"The LDAP attribute to use to generate the groups's display name." : "Görüntülenecek grup adını üretmek için kullanılacak LDAP özniteliği.",
"Base Group Tree" : "Temel Grup Ağacı",
@@ -177,16 +177,16 @@
"Group Search Attributes" : "Grup Arama Öznitelikleri",
"Group-Member association" : "Grup-Üye İlişkisi",
"Dynamic Group Member URL" : "Devingen Grup Üye Adresi",
- "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 özniteliğinde, gruba hangi nesnelerin ait olduğunu bulan bir LDAP arama adresi bulunuyor (seçenek boş bırakıldığında dinamik grup üyeliği özelliği devre dışı bırakılır).",
+ "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 özniteliğinde, gruba hangi nesnelerin ait olduğunu bulan bir LDAP arama adresi bulunuyor (seçenek boş bırakıldığında dinamik grup üyeliği özelliği kapatılır).",
"Nested Groups" : "İç İçe Gruplar",
- "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Açılırsa, gruplar içinde gruplar desteklenir (Yalnızca grup üyesi özniteliği DN içeriyorsa çalışır).",
+ "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Açılırsa, gruplar içinde gruplar desteklenir (Yalnızca grup üyesi özniteliğinde DN bulunuyorsa çalışır).",
"Paging chunksize" : "Sayfalandırma yığın boyutu",
- "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Yığın boyutu, kullanıcı ya da grup listeleri gibi, çok sayıda sonuç verebilen sayfalandırılmış LDAP aramaları için kullanılır (0 olarak ayarlandığında bu durumlarda sayfalandırılmış LDAP aramaları devre dışı bırakılır).",
+ "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Yığın boyutu, kullanıcı ya da grup listeleri gibi, çok sayıda sonuç verebilen sayfalandırılmış LDAP aramaları için kullanılır (0 olarak ayarlandığında bu durumlarda sayfalandırılmış LDAP aramaları kapatılır).",
"Enable LDAP password changes per user" : "Kullanıcılar LDAP parolalarını değiştirebilsin",
- "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "LDAP kullanıcıları kendi parolalarını değiştirebilir ve Süper Yöneticiler ile Grup Yöneticileri kendi LDAP kullanıcılarının parolalarını değiştirebilir. Yalnızca erişim denetimi ilkeleri LDAP sunucuya uygun olarak yapılandırılmış ise çalışır. Parolalar LDAP sunucuya düz metin biçiminde aktarıldığından, LDAP sunucu üzerinde aktarım şifrelemesi ve parola karması kullanılmalıdır.",
+ "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "LDAP kullanıcıları kendi parolalarını değiştirebilir ve Süper Yöneticiler ile Grup Yöneticileri kendi LDAP kullanıcılarının parolalarını değiştirebilir. Yalnızca erişim denetimi ilkeleri LDAP sunucusuna uygun olarak yapılandırılmış ise çalışır. Parolalar LDAP sunucusuna düz metin biçiminde aktarıldığından, LDAP sunucusu üzerinde aktarım şifrelemesi ve parola karması kullanılmalıdır.",
"(New password is sent as plain text to LDAP)" : "(Yeni parola LDAP üzerine düz metin olarak gönderildi)",
"Default password policy DN" : "Varsayılan parola ilkesi DN",
- "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "Parola geçerlilik süresinin sona erme işlemleri için kullanılacak varsayılan parola ilkesinin etki alanı adı (DN). Yalnızca her kullanıcı için LDAP parola değişikliği açıksa çalışır ve yalnızca OpenLDAP tarafından desteklenir. Parola süresi sona erme işlemlerini devre dışı bıraklmak için boş bırakın.",
+ "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "Parola geçerlilik süresinin sona erme işlemleri için kullanılacak varsayılan parola ilkesinin etki alanı adı (DN). Yalnızca her kullanıcı için LDAP parola değişikliği açıksa çalışır ve yalnızca OpenLDAP tarafından desteklenir. Parola süresi sona erme işlemlerini kapatmak için boş bırakın.",
"Special Attributes" : "Özel Öznitelikler",
"Quota Field" : "Kota Alanı",
"Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Kullanıcının varsayılan kotasının kullanılması için boş bırakın ya da bir LDAP/AD özniteliği belirtin.",
diff --git a/apps/user_ldap/l10n/tzm.js b/apps/user_ldap/l10n/tzm.js
deleted file mode 100644
index 1d621c04a77..00000000000
--- a/apps/user_ldap/l10n/tzm.js
+++ /dev/null
@@ -1,7 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},
-"nplurals=2; plural=(n == 0 || n == 1 || (n > 10 && n < 100) ? 0 : 1;");
diff --git a/apps/user_ldap/l10n/tzm.json b/apps/user_ldap/l10n/tzm.json
deleted file mode 100644
index 2c3a3581b99..00000000000
--- a/apps/user_ldap/l10n/tzm.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "translations": {
- "_%s group found_::_%s groups found_" : ["",""],
- "_%s user found_::_%s users found_" : ["",""]
-},"pluralForm" :"nplurals=2; plural=(n == 0 || n == 1 || (n > 10 && n < 100) ? 0 : 1;"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/ur_PK.js b/apps/user_ldap/l10n/ur_PK.js
deleted file mode 100644
index 693a42b0543..00000000000
--- a/apps/user_ldap/l10n/ur_PK.js
+++ /dev/null
@@ -1,9 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Users" : "صارفین",
- "Help" : "مدد",
- "Password" : "پاسورڈ",
- "Advanced" : "ایڈوانسڈ"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/ur_PK.json b/apps/user_ldap/l10n/ur_PK.json
deleted file mode 100644
index 26ff4cf5671..00000000000
--- a/apps/user_ldap/l10n/ur_PK.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{ "translations": {
- "Users" : "صارفین",
- "Help" : "مدد",
- "Password" : "پاسورڈ",
- "Advanced" : "ایڈوانسڈ"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/vi.js b/apps/user_ldap/l10n/vi.js
deleted file mode 100644
index e20feb8abba..00000000000
--- a/apps/user_ldap/l10n/vi.js
+++ /dev/null
@@ -1,45 +0,0 @@
-OC.L10N.register(
- "user_ldap",
- {
- "Failed to clear the mappings." : "Lỗi khi xóa ánh xạ.",
- "Failed to delete the server configuration" : "Lỗi khi xóa cấu hình máy chủ",
- "Select groups" : "Chọn nhóm",
- "Invalid Host" : "Host không hợp lệ",
- "Server" : "Máy chủ",
- "Users" : "Người dùng",
- "Groups" : "Nhóm",
- "Test Configuration" : "Kiểm tra cấu hình",
- "Help" : "Giúp đỡ",
- "Other Attributes:" : "Thuộc tính khác",
- "1. Server" : "1. Máy chủ",
- "%s. Server:" : "%s. Máy chủ:",
- "Host" : "Máy chủ",
- "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Bạn có thể bỏ qua các giao thức, ngoại trừ SSL. Sau đó bắt đầu với ldaps://",
- "Port" : "Cổng",
- "User DN" : "Người dùng DN",
- "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "Các DN của người sử dụng đã được thực hiện, ví dụ như uid =agent , dc = example, dc = com. Để truy cập nặc danh ,DN và mật khẩu trống.",
- "Password" : "Mật khẩu",
- "For anonymous access, leave DN and Password empty." : "Cho phép truy cập nặc danh , DN và mật khẩu trống.",
- "You can specify Base DN for users and groups in the Advanced tab" : "Bạn có thể chỉ định DN cơ bản cho người dùng và các nhóm trong tab Advanced",
- "Back" : "Trở lại",
- "Continue" : "Tiếp tục",
- "Advanced" : "Nâng cao",
- "Connection Settings" : "Connection Settings",
- "Backup (Replica) Port" : "Cổng sao lưu (Replica)",
- "Disable Main Server" : "Tắt máy chủ chính",
- "Turn off SSL certificate validation." : "Tắt xác thực chứng nhận SSL",
- "in seconds. A change empties the cache." : "trong vài giây. Một sự thay đổi bộ nhớ cache.",
- "Directory Settings" : "Directory Settings",
- "User Display Name Field" : "Hiển thị tên người sử dụng",
- "Base User Tree" : "Cây người dùng cơ bản",
- "User Search Attributes" : "User Search Attributes",
- "Optional; one attribute per line" : "Optional; one attribute per line",
- "Group Display Name Field" : "Hiển thị tên nhóm",
- "Base Group Tree" : "Cây nhóm cơ bản",
- "Group Search Attributes" : "Group Search Attributes",
- "Group-Member association" : "Nhóm thành viên Cộng đồng",
- "Special Attributes" : "Special Attributes",
- "in bytes" : "Theo Byte",
- "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Để trống tên người dùng (mặc định). Nếu không chỉ định thuộc tính LDAP/AD"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/user_ldap/l10n/vi.json b/apps/user_ldap/l10n/vi.json
deleted file mode 100644
index ffbeff90189..00000000000
--- a/apps/user_ldap/l10n/vi.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{ "translations": {
- "Failed to clear the mappings." : "Lỗi khi xóa ánh xạ.",
- "Failed to delete the server configuration" : "Lỗi khi xóa cấu hình máy chủ",
- "Select groups" : "Chọn nhóm",
- "Invalid Host" : "Host không hợp lệ",
- "Server" : "Máy chủ",
- "Users" : "Người dùng",
- "Groups" : "Nhóm",
- "Test Configuration" : "Kiểm tra cấu hình",
- "Help" : "Giúp đỡ",
- "Other Attributes:" : "Thuộc tính khác",
- "1. Server" : "1. Máy chủ",
- "%s. Server:" : "%s. Máy chủ:",
- "Host" : "Máy chủ",
- "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Bạn có thể bỏ qua các giao thức, ngoại trừ SSL. Sau đó bắt đầu với ldaps://",
- "Port" : "Cổng",
- "User DN" : "Người dùng DN",
- "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "Các DN của người sử dụng đã được thực hiện, ví dụ như uid =agent , dc = example, dc = com. Để truy cập nặc danh ,DN và mật khẩu trống.",
- "Password" : "Mật khẩu",
- "For anonymous access, leave DN and Password empty." : "Cho phép truy cập nặc danh , DN và mật khẩu trống.",
- "You can specify Base DN for users and groups in the Advanced tab" : "Bạn có thể chỉ định DN cơ bản cho người dùng và các nhóm trong tab Advanced",
- "Back" : "Trở lại",
- "Continue" : "Tiếp tục",
- "Advanced" : "Nâng cao",
- "Connection Settings" : "Connection Settings",
- "Backup (Replica) Port" : "Cổng sao lưu (Replica)",
- "Disable Main Server" : "Tắt máy chủ chính",
- "Turn off SSL certificate validation." : "Tắt xác thực chứng nhận SSL",
- "in seconds. A change empties the cache." : "trong vài giây. Một sự thay đổi bộ nhớ cache.",
- "Directory Settings" : "Directory Settings",
- "User Display Name Field" : "Hiển thị tên người sử dụng",
- "Base User Tree" : "Cây người dùng cơ bản",
- "User Search Attributes" : "User Search Attributes",
- "Optional; one attribute per line" : "Optional; one attribute per line",
- "Group Display Name Field" : "Hiển thị tên nhóm",
- "Base Group Tree" : "Cây nhóm cơ bản",
- "Group Search Attributes" : "Group Search Attributes",
- "Group-Member association" : "Nhóm thành viên Cộng đồng",
- "Special Attributes" : "Special Attributes",
- "in bytes" : "Theo Byte",
- "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Để trống tên người dùng (mặc định). Nếu không chỉ định thuộc tính LDAP/AD"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/user_status/l10n/es_AR.js b/apps/user_status/l10n/es_AR.js
deleted file mode 100644
index 4e9b8b095c7..00000000000
--- a/apps/user_status/l10n/es_AR.js
+++ /dev/null
@@ -1,22 +0,0 @@
-OC.L10N.register(
- "user_status",
- {
- "Set status" : "Establecer estado",
- "Online status" : "Estado en línea",
- "Status message" : "Mensaje de estado",
- "Clear status message" : "Limpiar mensaje de estado",
- "Set status message" : "Establecer mensaje de estado",
- "Away" : "Lejos",
- "Do not disturb" : "No molestar",
- "Don't clear" : "No vaciar",
- "Today" : "Hoy",
- "This week" : "Esta semana",
- "Online" : "En línea",
- "Invisible" : "Invisible",
- "Offline" : "Sin conexión",
- "30 minutes" : "30 minutos",
- "1 hour" : "1 hora",
- "4 hours" : "4 horas",
- "Clear status message after" : "Limpiar mensaje de estado después"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/user_status/l10n/es_AR.json b/apps/user_status/l10n/es_AR.json
deleted file mode 100644
index b510ed89617..00000000000
--- a/apps/user_status/l10n/es_AR.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{ "translations": {
- "Set status" : "Establecer estado",
- "Online status" : "Estado en línea",
- "Status message" : "Mensaje de estado",
- "Clear status message" : "Limpiar mensaje de estado",
- "Set status message" : "Establecer mensaje de estado",
- "Away" : "Lejos",
- "Do not disturb" : "No molestar",
- "Don't clear" : "No vaciar",
- "Today" : "Hoy",
- "This week" : "Esta semana",
- "Online" : "En línea",
- "Invisible" : "Invisible",
- "Offline" : "Sin conexión",
- "30 minutes" : "30 minutos",
- "1 hour" : "1 hora",
- "4 hours" : "4 horas",
- "Clear status message after" : "Limpiar mensaje de estado después"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/user_status/l10n/hu.js b/apps/user_status/l10n/hu.js
index 2075d1dce52..c24669860aa 100644
--- a/apps/user_status/l10n/hu.js
+++ b/apps/user_status/l10n/hu.js
@@ -26,6 +26,8 @@ OC.L10N.register(
"Set status" : "Állapot beállítása",
"Online status" : "Elérhető állapot",
"Status message" : "Állapotüzenet",
+ "Set absence period" : "Távolléti időszak beállítása",
+ "Set absence period and replacement" : "Távolléti időszak és helyettes beállítása",
"Your status was set automatically" : "Az állapota automatikusan lett beállítva",
"Clear status message" : "Állapotüzenet törlése",
"Set status message" : "Állapotüzenet beállítása",
diff --git a/apps/user_status/l10n/hu.json b/apps/user_status/l10n/hu.json
index 313b66be2ed..dcbe3b70f3b 100644
--- a/apps/user_status/l10n/hu.json
+++ b/apps/user_status/l10n/hu.json
@@ -24,6 +24,8 @@
"Set status" : "Állapot beállítása",
"Online status" : "Elérhető állapot",
"Status message" : "Állapotüzenet",
+ "Set absence period" : "Távolléti időszak beállítása",
+ "Set absence period and replacement" : "Távolléti időszak és helyettes beállítása",
"Your status was set automatically" : "Az állapota automatikusan lett beállítva",
"Clear status message" : "Állapotüzenet törlése",
"Set status message" : "Állapotüzenet beállítása",
diff --git a/apps/user_status/l10n/lo.js b/apps/user_status/l10n/lo.js
deleted file mode 100644
index 1038b87d53e..00000000000
--- a/apps/user_status/l10n/lo.js
+++ /dev/null
@@ -1,24 +0,0 @@
-OC.L10N.register(
- "user_status",
- {
- "Set status" : "ຕັ້ງຄ່າສະຖານະພາບ",
- "Online status" : "ສະຖານະພາບອອນລາຍ",
- "Status message" : "ສະຖານະຂໍ້ຄວາມ",
- "Clear status message" : "ລ້າງສະຖານະພາບຂໍ້ຄວາມ",
- "Set status message" : "ຕັ້ງຄ່າສະຖານະພາບຂໍ້ຄວາມ",
- "Away" : "ອອກໄປ",
- "Do not disturb" : "ຫ້າມລົບກວນ",
- "Don't clear" : "ບໍ່ຈະແຈ້ງ",
- "Today" : "ມື້ນີ້",
- "This week" : "ທິດນີ້",
- "Online" : "ອອນລາຍ",
- "Invisible" : "ເບິ່ງບໍ່ເຫັນ",
- "Offline" : "ອັອບລາຍ",
- "30 minutes" : "30 ນາທີ",
- "1 hour" : "1 ຊົ່ວໂມງ",
- "4 hours" : "4 ຊົ່ວໂມງ",
- "Mute all notifications" : "ປິດການແຈ້ງເຕືອນທັງໝົດ",
- "Appear offline" : "ເປີດອັອບລາຍ",
- "Clear status message after" : "ລ້າງສະຖານະພາບຂໍ້ຄວາມພາຍຫຼັງ"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/user_status/l10n/lo.json b/apps/user_status/l10n/lo.json
deleted file mode 100644
index afba4141134..00000000000
--- a/apps/user_status/l10n/lo.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{ "translations": {
- "Set status" : "ຕັ້ງຄ່າສະຖານະພາບ",
- "Online status" : "ສະຖານະພາບອອນລາຍ",
- "Status message" : "ສະຖານະຂໍ້ຄວາມ",
- "Clear status message" : "ລ້າງສະຖານະພາບຂໍ້ຄວາມ",
- "Set status message" : "ຕັ້ງຄ່າສະຖານະພາບຂໍ້ຄວາມ",
- "Away" : "ອອກໄປ",
- "Do not disturb" : "ຫ້າມລົບກວນ",
- "Don't clear" : "ບໍ່ຈະແຈ້ງ",
- "Today" : "ມື້ນີ້",
- "This week" : "ທິດນີ້",
- "Online" : "ອອນລາຍ",
- "Invisible" : "ເບິ່ງບໍ່ເຫັນ",
- "Offline" : "ອັອບລາຍ",
- "30 minutes" : "30 ນາທີ",
- "1 hour" : "1 ຊົ່ວໂມງ",
- "4 hours" : "4 ຊົ່ວໂມງ",
- "Mute all notifications" : "ປິດການແຈ້ງເຕືອນທັງໝົດ",
- "Appear offline" : "ເປີດອັອບລາຍ",
- "Clear status message after" : "ລ້າງສະຖານະພາບຂໍ້ຄວາມພາຍຫຼັງ"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/user_status/l10n/sw.js b/apps/user_status/l10n/sw.js
new file mode 100644
index 00000000000..5470b5c623f
--- /dev/null
+++ b/apps/user_status/l10n/sw.js
@@ -0,0 +1,28 @@
+OC.L10N.register(
+ "user_status",
+ {
+ "Out of office" : "Nje ya ofisi",
+ "User status" : "Hadhi ya mtumiaji",
+ "Emoji for your status message" : "Emoji kwa ujumbe wako wa hadhi",
+ "What is your status?" : "Hadhi yako ni nini?",
+ "Previously set" : "Imepangiliwa mwanzo",
+ "Reset status" : "Pangilia hali",
+ "Set status" : "Panglia hali",
+ "Online status" : "Hadhi ya mtandaoni",
+ "Status message" : "Ujumbe wa hadhi",
+ "Your status was set automatically" : "Hadhi yako ilipangiliwa moja kwa moja",
+ "Clear status message" : "Futa jumbe za wadhifa",
+ "Set status message" : "Pangilia hali ya ujumbe",
+ "Don't clear" : "Usifute",
+ "Today" : "Leo",
+ "This week" : "Wiki hii",
+ "Online" : "Mtandaoni",
+ "Away" : "Mbali",
+ "Do not disturb" : "Acha kusumbua",
+ "Invisible" : "Haionekani",
+ "Offline" : "Nje ya mtandao",
+ "30 minutes" : "Dakika 30",
+ "1 hour" : "Saa 1",
+ "4 hours" : "Masaa 4"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_status/l10n/sw.json b/apps/user_status/l10n/sw.json
new file mode 100644
index 00000000000..6e0c9c6a77c
--- /dev/null
+++ b/apps/user_status/l10n/sw.json
@@ -0,0 +1,26 @@
+{ "translations": {
+ "Out of office" : "Nje ya ofisi",
+ "User status" : "Hadhi ya mtumiaji",
+ "Emoji for your status message" : "Emoji kwa ujumbe wako wa hadhi",
+ "What is your status?" : "Hadhi yako ni nini?",
+ "Previously set" : "Imepangiliwa mwanzo",
+ "Reset status" : "Pangilia hali",
+ "Set status" : "Panglia hali",
+ "Online status" : "Hadhi ya mtandaoni",
+ "Status message" : "Ujumbe wa hadhi",
+ "Your status was set automatically" : "Hadhi yako ilipangiliwa moja kwa moja",
+ "Clear status message" : "Futa jumbe za wadhifa",
+ "Set status message" : "Pangilia hali ya ujumbe",
+ "Don't clear" : "Usifute",
+ "Today" : "Leo",
+ "This week" : "Wiki hii",
+ "Online" : "Mtandaoni",
+ "Away" : "Mbali",
+ "Do not disturb" : "Acha kusumbua",
+ "Invisible" : "Haionekani",
+ "Offline" : "Nje ya mtandao",
+ "30 minutes" : "Dakika 30",
+ "1 hour" : "Saa 1",
+ "4 hours" : "Masaa 4"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/weather_status/l10n/af.js b/apps/weather_status/l10n/af.js
deleted file mode 100644
index 848d6a6abc9..00000000000
--- a/apps/weather_status/l10n/af.js
+++ /dev/null
@@ -1,30 +0,0 @@
-OC.L10N.register(
- "weather_status",
- {
- "Unknown address" : "Onbekende adres",
- "No result." : "Geen resultaat.",
- "Error" : "Fout",
- "Weather status" : "Weerstatus",
- "Weather status in your dashboard" : "Weerstatus in u beheerpaneel",
- "Detect location" : "Bespeur ligging",
- "Favorites" : "Gunstelinge",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Helder lug om {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Bewolk om {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Gedeeltelik bewolk om {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Mistig om {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Ligte reën om {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Reën om {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Swaar reën om {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Reënbuie om {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Ligte reënbuie om {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Swaar reënbuie om {time}",
- "More weather for {adr}" : "Nog weer vir {adr}",
- "Loading weather" : "Laai tans weer",
- "Set location for weather" : "Stel ligging vir weer",
- "Remove from favorites" : "Verwyder uit gunstelinge",
- "Add as favorite" : "Voeg toe as gunsteling",
- "You are not logged in." : "U is nie aangeteken nie.",
- "No weather information found" : "Geen weerinligting gevind",
- "Location not found" : "Ligging nie gevind"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/weather_status/l10n/af.json b/apps/weather_status/l10n/af.json
deleted file mode 100644
index 1b144cba060..00000000000
--- a/apps/weather_status/l10n/af.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{ "translations": {
- "Unknown address" : "Onbekende adres",
- "No result." : "Geen resultaat.",
- "Error" : "Fout",
- "Weather status" : "Weerstatus",
- "Weather status in your dashboard" : "Weerstatus in u beheerpaneel",
- "Detect location" : "Bespeur ligging",
- "Favorites" : "Gunstelinge",
- "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Helder lug om {time}",
- "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Bewolk om {time}",
- "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Gedeeltelik bewolk om {time}",
- "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Mistig om {time}",
- "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Ligte reën om {time}",
- "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Reën om {time}",
- "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Swaar reën om {time}",
- "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Reënbuie om {time}",
- "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Ligte reënbuie om {time}",
- "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Swaar reënbuie om {time}",
- "More weather for {adr}" : "Nog weer vir {adr}",
- "Loading weather" : "Laai tans weer",
- "Set location for weather" : "Stel ligging vir weer",
- "Remove from favorites" : "Verwyder uit gunstelinge",
- "Add as favorite" : "Voeg toe as gunsteling",
- "You are not logged in." : "U is nie aangeteken nie.",
- "No weather information found" : "Geen weerinligting gevind",
- "Location not found" : "Ligging nie gevind"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/weather_status/l10n/he.js b/apps/weather_status/l10n/he.js
deleted file mode 100644
index 6b4b14c5cbf..00000000000
--- a/apps/weather_status/l10n/he.js
+++ /dev/null
@@ -1,27 +0,0 @@
-OC.L10N.register(
- "weather_status",
- {
- "Unknown address" : "כתובת לא ידועה",
- "No result." : "אין תוצאות.",
- "Malformed JSON data." : "נתוני JSON פגומים.",
- "Error" : "שגיאה",
- "Weather status" : "מצב מזג אוויר",
- "Weather status in your dashboard" : "מצב מזג אוויר בלוח המחוונים שלך.",
- "Detect location" : "איתור מיקום",
- "Set custom address" : "הגדרת כתובת משלך",
- "Favorites" : "מועדפים",
- "More weather for {adr}" : "מזג אוויר נוסף עבור {adr}",
- "Loading weather" : "מזג האוויר נטען",
- "Remove from favorites" : "הסרה מהמועדפים",
- "Add as favorite" : "הוספה למועדפים",
- "You are not logged in." : "לא נכנסת.",
- "There was an error getting the weather status information." : "אירעה שגיאה בקבלת פרטי מצב מזג האוויר.",
- "No weather information found" : "לא נמצאו פרטי מזג אוויר",
- "Location not found" : "המיקום לא נמצא",
- "There was an error setting the location address." : "אירעה שגיאה בהגדרות כתובת המיקום.",
- "There was an error setting the location." : "אירעה שגיאה בהגדרת המיקום.",
- "There was an error saving the mode." : "אירעה שגיאה בשמירת המצב.",
- "There was an error using personal address." : "אירעה שגיאה בשימוש בכתובת האישית.",
- "Set location for weather" : "הגדרת מיקום למזג האוויר"
-},
-"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
diff --git a/apps/weather_status/l10n/he.json b/apps/weather_status/l10n/he.json
deleted file mode 100644
index d1931df8451..00000000000
--- a/apps/weather_status/l10n/he.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{ "translations": {
- "Unknown address" : "כתובת לא ידועה",
- "No result." : "אין תוצאות.",
- "Malformed JSON data." : "נתוני JSON פגומים.",
- "Error" : "שגיאה",
- "Weather status" : "מצב מזג אוויר",
- "Weather status in your dashboard" : "מצב מזג אוויר בלוח המחוונים שלך.",
- "Detect location" : "איתור מיקום",
- "Set custom address" : "הגדרת כתובת משלך",
- "Favorites" : "מועדפים",
- "More weather for {adr}" : "מזג אוויר נוסף עבור {adr}",
- "Loading weather" : "מזג האוויר נטען",
- "Remove from favorites" : "הסרה מהמועדפים",
- "Add as favorite" : "הוספה למועדפים",
- "You are not logged in." : "לא נכנסת.",
- "There was an error getting the weather status information." : "אירעה שגיאה בקבלת פרטי מצב מזג האוויר.",
- "No weather information found" : "לא נמצאו פרטי מזג אוויר",
- "Location not found" : "המיקום לא נמצא",
- "There was an error setting the location address." : "אירעה שגיאה בהגדרות כתובת המיקום.",
- "There was an error setting the location." : "אירעה שגיאה בהגדרת המיקום.",
- "There was an error saving the mode." : "אירעה שגיאה בשמירת המצב.",
- "There was an error using personal address." : "אירעה שגיאה בשימוש בכתובת האישית.",
- "Set location for weather" : "הגדרת מיקום למזג האוויר"
-},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
-} \ No newline at end of file
diff --git a/apps/weather_status/l10n/hr.js b/apps/weather_status/l10n/hr.js
deleted file mode 100644
index d4ab4f709dc..00000000000
--- a/apps/weather_status/l10n/hr.js
+++ /dev/null
@@ -1,28 +0,0 @@
-OC.L10N.register(
- "weather_status",
- {
- "Unknown address" : "Nepoznata adresa",
- "No result." : "Nema rezultata.",
- "Malformed JSON data." : "Pogrešni JSON podaci.",
- "Error" : "Pogreška",
- "Weather status" : "Status vremenske prognoze",
- "Weather status in your dashboard" : "Status vremenske prognoze u nadzornoj ploči",
- "Detect location" : "Otkrij lokaciju",
- "Set custom address" : "Odaberi prilagođenu adresu",
- "Favorites" : "Favoriti",
- "More weather for {adr}" : "Više vremenskih prognoza za {adr}",
- "Loading weather" : "Učitavanje vremenske prognoze",
- "Remove from favorites" : "Ukloni iz favorita",
- "Add as favorite" : "Dodaj kao omiljeno",
- "You are not logged in." : "Niste prijavljeni.",
- "There was an error getting the weather status information." : "Došlo je do pogreške pri dohvaćanju podataka o vremenskoj prognozi.",
- "No weather information found" : "Nisu pronađene informacije o vremenskoj prognozi",
- "Location not found" : "Lokacija nije pronađena",
- "There was an error setting the location address." : "Došlo je do pogreške pri postavljanju adrese lokacije.",
- "There was an error setting the location." : "Došlo je do pogreške pri postavljanju lokacije.",
- "There was an error saving the mode." : "Došlo je do pogreške pri spremanju načina rada.",
- "There was an error using personal address." : "Došlo je do pogreške pri spremanju osobne adrese.",
- "Set location for weather" : "Postavite lokaciju za vremensku prognozu",
- "Weather status integrated in the Dashboard app.\n User's position can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Status vremenske prognoze integriran u aplikaciju nadzorne ploče.\n Lokacija korisnika može se automatski odrediti ili ručno definirati. Zatim se prikazuje vremenska prognoza za sljedećih 6 sati.\n Ovaj se status može integrirati i na druga mjesta, primjerice u aplikaciju Calendar."
-},
-"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/weather_status/l10n/hr.json b/apps/weather_status/l10n/hr.json
deleted file mode 100644
index 4104ce9df00..00000000000
--- a/apps/weather_status/l10n/hr.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{ "translations": {
- "Unknown address" : "Nepoznata adresa",
- "No result." : "Nema rezultata.",
- "Malformed JSON data." : "Pogrešni JSON podaci.",
- "Error" : "Pogreška",
- "Weather status" : "Status vremenske prognoze",
- "Weather status in your dashboard" : "Status vremenske prognoze u nadzornoj ploči",
- "Detect location" : "Otkrij lokaciju",
- "Set custom address" : "Odaberi prilagođenu adresu",
- "Favorites" : "Favoriti",
- "More weather for {adr}" : "Više vremenskih prognoza za {adr}",
- "Loading weather" : "Učitavanje vremenske prognoze",
- "Remove from favorites" : "Ukloni iz favorita",
- "Add as favorite" : "Dodaj kao omiljeno",
- "You are not logged in." : "Niste prijavljeni.",
- "There was an error getting the weather status information." : "Došlo je do pogreške pri dohvaćanju podataka o vremenskoj prognozi.",
- "No weather information found" : "Nisu pronađene informacije o vremenskoj prognozi",
- "Location not found" : "Lokacija nije pronađena",
- "There was an error setting the location address." : "Došlo je do pogreške pri postavljanju adrese lokacije.",
- "There was an error setting the location." : "Došlo je do pogreške pri postavljanju lokacije.",
- "There was an error saving the mode." : "Došlo je do pogreške pri spremanju načina rada.",
- "There was an error using personal address." : "Došlo je do pogreške pri spremanju osobne adrese.",
- "Set location for weather" : "Postavite lokaciju za vremensku prognozu",
- "Weather status integrated in the Dashboard app.\n User's position can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Status vremenske prognoze integriran u aplikaciju nadzorne ploče.\n Lokacija korisnika može se automatski odrediti ili ručno definirati. Zatim se prikazuje vremenska prognoza za sljedećih 6 sati.\n Ovaj se status može integrirati i na druga mjesta, primjerice u aplikaciju Calendar."
-},"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/weather_status/l10n/sc.js b/apps/weather_status/l10n/sc.js
deleted file mode 100644
index 7730aaa768b..00000000000
--- a/apps/weather_status/l10n/sc.js
+++ /dev/null
@@ -1,28 +0,0 @@
-OC.L10N.register(
- "weather_status",
- {
- "Unknown address" : "Indiritzu disconnotu",
- "No result." : "Perunu resultadu.",
- "Malformed JSON data." : "Datos JSON non bàlidos.",
- "Error" : "Errore",
- "Weather status" : "Istadu de su tempus",
- "Weather status in your dashboard" : "Istadu de su tempus in su pannellu de controllu tuo",
- "Detect location" : "Rileva positzione",
- "Set custom address" : "Cunfigura indiritzu personalizadu",
- "Favorites" : "Preferidos",
- "More weather for {adr}" : "Àteru tempus pro {adr}",
- "Loading weather" : "Carrigamentu tempus",
- "Remove from favorites" : "Boga·nche dae preferidos",
- "Add as favorite" : "Agiunghe comente preferidu",
- "You are not logged in." : "No as fatu s'atzessu.",
- "There was an error getting the weather status information." : "B'at àpidu un'errore in su recùperu de is informatziones de su tempus.",
- "No weather information found" : "Peruna informatzione de su tempus agatada",
- "Location not found" : "Positzione no agatada",
- "There was an error setting the location address." : "B'at àpidu un'errore impostende s'indiritzu de sa positzione.",
- "There was an error setting the location." : "B'at àpidu un'errore impostende sa positzione.",
- "There was an error saving the mode." : "B'at àpidu un'errore sarvende sa modalidade.",
- "There was an error using personal address." : "B'at àpidu un'errore impreende s'indiritzu personale.",
- "Set location for weather" : "Cunfigura sa positzione pro su tempus",
- "Weather status integrated in the Dashboard app.\n User's position can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Istadu de su tempus integradu in s'aplicatzione de su pannellu de controllu.\n Sa positzione de s'utente si podet determinare in automàticu o definire a manu. Luegu si mustrant previsiones pro 6 oras.\n S'istadu si podet integrare puru in àteros logos comente in s'aplicatzione de su calendàriu."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/weather_status/l10n/sc.json b/apps/weather_status/l10n/sc.json
deleted file mode 100644
index 25611ffde9d..00000000000
--- a/apps/weather_status/l10n/sc.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{ "translations": {
- "Unknown address" : "Indiritzu disconnotu",
- "No result." : "Perunu resultadu.",
- "Malformed JSON data." : "Datos JSON non bàlidos.",
- "Error" : "Errore",
- "Weather status" : "Istadu de su tempus",
- "Weather status in your dashboard" : "Istadu de su tempus in su pannellu de controllu tuo",
- "Detect location" : "Rileva positzione",
- "Set custom address" : "Cunfigura indiritzu personalizadu",
- "Favorites" : "Preferidos",
- "More weather for {adr}" : "Àteru tempus pro {adr}",
- "Loading weather" : "Carrigamentu tempus",
- "Remove from favorites" : "Boga·nche dae preferidos",
- "Add as favorite" : "Agiunghe comente preferidu",
- "You are not logged in." : "No as fatu s'atzessu.",
- "There was an error getting the weather status information." : "B'at àpidu un'errore in su recùperu de is informatziones de su tempus.",
- "No weather information found" : "Peruna informatzione de su tempus agatada",
- "Location not found" : "Positzione no agatada",
- "There was an error setting the location address." : "B'at àpidu un'errore impostende s'indiritzu de sa positzione.",
- "There was an error setting the location." : "B'at àpidu un'errore impostende sa positzione.",
- "There was an error saving the mode." : "B'at àpidu un'errore sarvende sa modalidade.",
- "There was an error using personal address." : "B'at àpidu un'errore impreende s'indiritzu personale.",
- "Set location for weather" : "Cunfigura sa positzione pro su tempus",
- "Weather status integrated in the Dashboard app.\n User's position can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Istadu de su tempus integradu in s'aplicatzione de su pannellu de controllu.\n Sa positzione de s'utente si podet determinare in automàticu o definire a manu. Luegu si mustrant previsiones pro 6 oras.\n S'istadu si podet integrare puru in àteros logos comente in s'aplicatzione de su calendàriu."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/webhook_listeners/l10n/ja.js b/apps/webhook_listeners/l10n/ja.js
new file mode 100644
index 00000000000..43230a54aa6
--- /dev/null
+++ b/apps/webhook_listeners/l10n/ja.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "webhook_listeners",
+ {
+ "Webhooks" : "Webhooks",
+ "Nextcloud webhook support" : "Nextcloud webhook サポート"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/webhook_listeners/l10n/ja.json b/apps/webhook_listeners/l10n/ja.json
new file mode 100644
index 00000000000..a1cfd883551
--- /dev/null
+++ b/apps/webhook_listeners/l10n/ja.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Webhooks" : "Webhooks",
+ "Nextcloud webhook support" : "Nextcloud webhook サポート"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_419.js b/apps/workflowengine/l10n/es_419.js
deleted file mode 100644
index 1ec3bc45344..00000000000
--- a/apps/workflowengine/l10n/es_419.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_419.json b/apps/workflowengine/l10n/es_419.json
deleted file mode 100644
index 54d9e0e5740..00000000000
--- a/apps/workflowengine/l10n/es_419.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_AR.js b/apps/workflowengine/l10n/es_AR.js
deleted file mode 100644
index e1d744c4139..00000000000
--- a/apps/workflowengine/l10n/es_AR.js
+++ /dev/null
@@ -1,62 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Files WebDAV" : "Archivos en WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Eliminar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File name" : "Nombre",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menor",
- "less or equals" : "menor o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "Predefined URLs" : "URLs predefinidos",
- "Others" : "Otros"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_AR.json b/apps/workflowengine/l10n/es_AR.json
deleted file mode 100644
index 4d4f1da546b..00000000000
--- a/apps/workflowengine/l10n/es_AR.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Files WebDAV" : "Archivos en WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Eliminar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File name" : "Nombre",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menor",
- "less or equals" : "menor o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "Predefined URLs" : "URLs predefinidos",
- "Others" : "Otros"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_CL.js b/apps/workflowengine/l10n/es_CL.js
deleted file mode 100644
index 1ec3bc45344..00000000000
--- a/apps/workflowengine/l10n/es_CL.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_CL.json b/apps/workflowengine/l10n/es_CL.json
deleted file mode 100644
index 54d9e0e5740..00000000000
--- a/apps/workflowengine/l10n/es_CL.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_CO.js b/apps/workflowengine/l10n/es_CO.js
deleted file mode 100644
index 1ec3bc45344..00000000000
--- a/apps/workflowengine/l10n/es_CO.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_CO.json b/apps/workflowengine/l10n/es_CO.json
deleted file mode 100644
index 54d9e0e5740..00000000000
--- a/apps/workflowengine/l10n/es_CO.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_CR.js b/apps/workflowengine/l10n/es_CR.js
deleted file mode 100644
index 1ec3bc45344..00000000000
--- a/apps/workflowengine/l10n/es_CR.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_CR.json b/apps/workflowengine/l10n/es_CR.json
deleted file mode 100644
index 54d9e0e5740..00000000000
--- a/apps/workflowengine/l10n/es_CR.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_DO.js b/apps/workflowengine/l10n/es_DO.js
deleted file mode 100644
index 1ec3bc45344..00000000000
--- a/apps/workflowengine/l10n/es_DO.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_DO.json b/apps/workflowengine/l10n/es_DO.json
deleted file mode 100644
index 54d9e0e5740..00000000000
--- a/apps/workflowengine/l10n/es_DO.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_GT.js b/apps/workflowengine/l10n/es_GT.js
deleted file mode 100644
index 1ec3bc45344..00000000000
--- a/apps/workflowengine/l10n/es_GT.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_GT.json b/apps/workflowengine/l10n/es_GT.json
deleted file mode 100644
index 54d9e0e5740..00000000000
--- a/apps/workflowengine/l10n/es_GT.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_HN.js b/apps/workflowengine/l10n/es_HN.js
deleted file mode 100644
index 1ec3bc45344..00000000000
--- a/apps/workflowengine/l10n/es_HN.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_HN.json b/apps/workflowengine/l10n/es_HN.json
deleted file mode 100644
index 54d9e0e5740..00000000000
--- a/apps/workflowengine/l10n/es_HN.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_NI.js b/apps/workflowengine/l10n/es_NI.js
deleted file mode 100644
index 1ec3bc45344..00000000000
--- a/apps/workflowengine/l10n/es_NI.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_NI.json b/apps/workflowengine/l10n/es_NI.json
deleted file mode 100644
index 54d9e0e5740..00000000000
--- a/apps/workflowengine/l10n/es_NI.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_PA.js b/apps/workflowengine/l10n/es_PA.js
deleted file mode 100644
index 1ec3bc45344..00000000000
--- a/apps/workflowengine/l10n/es_PA.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_PA.json b/apps/workflowengine/l10n/es_PA.json
deleted file mode 100644
index 54d9e0e5740..00000000000
--- a/apps/workflowengine/l10n/es_PA.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_PE.js b/apps/workflowengine/l10n/es_PE.js
deleted file mode 100644
index 1ec3bc45344..00000000000
--- a/apps/workflowengine/l10n/es_PE.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_PE.json b/apps/workflowengine/l10n/es_PE.json
deleted file mode 100644
index 54d9e0e5740..00000000000
--- a/apps/workflowengine/l10n/es_PE.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_PR.js b/apps/workflowengine/l10n/es_PR.js
deleted file mode 100644
index 1ec3bc45344..00000000000
--- a/apps/workflowengine/l10n/es_PR.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_PR.json b/apps/workflowengine/l10n/es_PR.json
deleted file mode 100644
index 54d9e0e5740..00000000000
--- a/apps/workflowengine/l10n/es_PR.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_PY.js b/apps/workflowengine/l10n/es_PY.js
deleted file mode 100644
index 1ec3bc45344..00000000000
--- a/apps/workflowengine/l10n/es_PY.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_PY.json b/apps/workflowengine/l10n/es_PY.json
deleted file mode 100644
index 54d9e0e5740..00000000000
--- a/apps/workflowengine/l10n/es_PY.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_SV.js b/apps/workflowengine/l10n/es_SV.js
deleted file mode 100644
index 1ec3bc45344..00000000000
--- a/apps/workflowengine/l10n/es_SV.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_SV.json b/apps/workflowengine/l10n/es_SV.json
deleted file mode 100644
index 54d9e0e5740..00000000000
--- a/apps/workflowengine/l10n/es_SV.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/es_UY.js b/apps/workflowengine/l10n/es_UY.js
deleted file mode 100644
index 1ec3bc45344..00000000000
--- a/apps/workflowengine/l10n/es_UY.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},
-"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/workflowengine/l10n/es_UY.json b/apps/workflowengine/l10n/es_UY.json
deleted file mode 100644
index 54d9e0e5740..00000000000
--- a/apps/workflowengine/l10n/es_UY.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "El operador indicado es inválido",
- "The given regular expression is invalid" : "La expresión regular indicada es inválida",
- "The given file size is invalid" : "El tamaño de archivo indicado es inválido",
- "The given tag id is invalid" : "El id de la etiqueta es inválido",
- "The given IP range is invalid" : "El rango de IP's es inválido",
- "The given IP range is not valid for IPv4" : "El rango de IPs dado no es válido para IPv4",
- "The given IP range is not valid for IPv6" : "El rango de IPs dado no es válido para IPv6",
- "The given time span is invalid" : "El espacio de tiempo dado es inválido",
- "The given start time is invalid" : "El tiempo inicial dado no es válido",
- "The given end time is invalid" : "El tiempo final dado no es válido",
- "The given group does not exist" : "El grupo dado no existe",
- "File" : "Archivo",
- "Operation #%s does not exist" : "La operación #%s no existe",
- "Operation %s does not exist" : "La operación %s no existe",
- "Operation %s is invalid" : "La operación %s es inválida",
- "Check %s does not exist" : "La validación %s no existe",
- "Check %s is invalid" : "La validación %s no es inválida",
- "Check #%s does not exist" : "La validación #%s no existe",
- "Check %s is invalid or does not exist" : "La validación %s es inválida o no existe",
- "Folder" : "Carpeta",
- "Images" : "Imágenes",
- "Predefined URLs" : "URLs predefinidos",
- "Files WebDAV" : "Archivos WebDAV",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de escritorio",
- "Cancel" : "Cancelar",
- "Delete" : "Borrar",
- "Save" : "Guardar",
- "matches" : "coincide",
- "does not match" : "No coincide",
- "is" : "es",
- "is not" : "no es",
- "File MIME type" : "Tipo MIME del archivo",
- "File size (upload)" : "Tamaño del archivo (carga)",
- "less" : "menos",
- "less or equals" : "menos o igual",
- "greater or equals" : "mayor o igual",
- "greater" : "mayor",
- "Request remote address" : "Solicitar dirección remota",
- "matches IPv4" : "coincide con IPv4",
- "does not match IPv4" : "no coincide con IPv4",
- "matches IPv6" : "coincide con IPv6",
- "does not match IPv6" : "no coincide con IPv6",
- "File system tag" : "Etiqueta del sistema de archivos",
- "is tagged with" : "está etiquetado con",
- "is not tagged with" : "no está etiquetado con",
- "Request URL" : "Solicitar URL",
- "Request time" : "Tiempo de la solicitud",
- "between" : "entre",
- "not between" : "no entre",
- "Request user agent" : "Solicitar agente de usuario",
- "User group membership" : "Membresia al grupo de usuarios",
- "is member of" : "es miembro de",
- "is not member of" : "no es miembro de",
- "No results" : "No hay resultados",
- "%s (invisible)" : "%s (invisible) ",
- "%s (restricted)" : "%s (restringido)"
-},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/et_EE.js b/apps/workflowengine/l10n/et_EE.js
deleted file mode 100644
index 753f3211f33..00000000000
--- a/apps/workflowengine/l10n/et_EE.js
+++ /dev/null
@@ -1,74 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given regular expression is invalid" : "Antud regulaaravaldis on vigane",
- "The given file size is invalid" : "Antud faili suurus on vigane",
- "The given tag id is invalid" : "Antud sildi ID on vigane",
- "The given IP range is invalid" : "Antud IP vahemik on vigane",
- "The given IP range is not valid for IPv4" : "Antud IP vahemik ei kehti IPv4 kohta",
- "The given IP range is not valid for IPv6" : "Antud IP vahemik ei kehti IPv6 kohta",
- "The given time span is invalid" : "Antud ajavahemik on vigane",
- "The given start time is invalid" : "Antud algusaeg on vigane",
- "The given end time is invalid" : "Antud lõppaeg on vigane",
- "The given group does not exist" : "Antud gruppi ei leitud",
- "File" : "Fail",
- "File deleted" : "Fail on kustutatud",
- "Operation #%s does not exist" : "Tegevus # %s ei leitud",
- "Operation %s does not exist" : "Tegevust %s ei leitud",
- "Operation %s is invalid" : "Tegevus %s on vigane",
- "Folder" : "Kaust",
- "Images" : "Pildid",
- "No results" : "Vasteid ei leitud",
- "%s (invisible)" : "%s (nähtamatu)",
- "%s (restricted)" : "%s (piiratud)",
- "Predefined URLs" : "Eelmääratletud URL-id",
- "Files WebDAV" : "WebDAV failid",
- "Android client" : "Android klient",
- "iOS client" : "iOS klient",
- "Desktop client" : "Töölaua klient",
- "Cancel" : "Loobu",
- "Delete" : "Kustuta",
- "Save" : "Salvesta",
- "matches" : "kattub",
- "does not match" : "ei kattu",
- "is" : "on",
- "is not" : "ei ole",
- "File MIME type" : "Faili MIME tüüp",
- "File size (upload)" : "Faili suurus (üleslaadimine)",
- "less" : "väiksem",
- "less or equals" : "väiksem või võrdne",
- "greater or equals" : "suurem või võrdne",
- "greater" : "suurem",
- "Request remote address" : "Päringu kaugaadress",
- "matches IPv4" : "kattub IPv4 aadressiga",
- "does not match IPv4" : "Ei kattu IPv4 aadressiga",
- "matches IPv6" : "kattub IPv6 aadressiga",
- "does not match IPv6" : "Ei kattu IPv6 aadressiga",
- "File system tag" : "Faili süsteemi silt",
- "is tagged with" : "on sildiga",
- "is not tagged with" : "ei ole sildiga",
- "Request URL" : "Päringu URL",
- "Request time" : "Päringu aeg",
- "between" : "vahemikus",
- "not between" : "ei ole vahemikus",
- "Request user agent" : "Päringu \"user agent\"",
- "User group membership" : "Kasutajagrupi liige",
- "is member of" : "on liige",
- "is not member of" : "ei ole liige",
- "Example: {placeholder}" : "Näide: {placeholder}",
- "Select tag…" : "Vali silt...",
- "Start" : "Algus",
- "End" : "Lõpp",
- "Select timezone…" : "Vali ajavöönd",
- "Sync clients" : "Kliendiprogrammid",
- "Short rule description" : "Reegli lühikirjeldus",
- "Add rule" : "Lisa reegel",
- "Reset" : "Lähtesta",
- "Saving…" : "Salvestamine...",
- "Saved" : "Salvestatud",
- "Saving failed:" : "Salvestamine ebaõnnestus:",
- "Add rule group" : "Lisa reegligrupp",
- "Open documentation" : "Ava dokumentatsioon",
- "Loading…" : "Laadimine..."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/workflowengine/l10n/et_EE.json b/apps/workflowengine/l10n/et_EE.json
deleted file mode 100644
index 5f3e4831ad5..00000000000
--- a/apps/workflowengine/l10n/et_EE.json
+++ /dev/null
@@ -1,72 +0,0 @@
-{ "translations": {
- "The given regular expression is invalid" : "Antud regulaaravaldis on vigane",
- "The given file size is invalid" : "Antud faili suurus on vigane",
- "The given tag id is invalid" : "Antud sildi ID on vigane",
- "The given IP range is invalid" : "Antud IP vahemik on vigane",
- "The given IP range is not valid for IPv4" : "Antud IP vahemik ei kehti IPv4 kohta",
- "The given IP range is not valid for IPv6" : "Antud IP vahemik ei kehti IPv6 kohta",
- "The given time span is invalid" : "Antud ajavahemik on vigane",
- "The given start time is invalid" : "Antud algusaeg on vigane",
- "The given end time is invalid" : "Antud lõppaeg on vigane",
- "The given group does not exist" : "Antud gruppi ei leitud",
- "File" : "Fail",
- "File deleted" : "Fail on kustutatud",
- "Operation #%s does not exist" : "Tegevus # %s ei leitud",
- "Operation %s does not exist" : "Tegevust %s ei leitud",
- "Operation %s is invalid" : "Tegevus %s on vigane",
- "Folder" : "Kaust",
- "Images" : "Pildid",
- "No results" : "Vasteid ei leitud",
- "%s (invisible)" : "%s (nähtamatu)",
- "%s (restricted)" : "%s (piiratud)",
- "Predefined URLs" : "Eelmääratletud URL-id",
- "Files WebDAV" : "WebDAV failid",
- "Android client" : "Android klient",
- "iOS client" : "iOS klient",
- "Desktop client" : "Töölaua klient",
- "Cancel" : "Loobu",
- "Delete" : "Kustuta",
- "Save" : "Salvesta",
- "matches" : "kattub",
- "does not match" : "ei kattu",
- "is" : "on",
- "is not" : "ei ole",
- "File MIME type" : "Faili MIME tüüp",
- "File size (upload)" : "Faili suurus (üleslaadimine)",
- "less" : "väiksem",
- "less or equals" : "väiksem või võrdne",
- "greater or equals" : "suurem või võrdne",
- "greater" : "suurem",
- "Request remote address" : "Päringu kaugaadress",
- "matches IPv4" : "kattub IPv4 aadressiga",
- "does not match IPv4" : "Ei kattu IPv4 aadressiga",
- "matches IPv6" : "kattub IPv6 aadressiga",
- "does not match IPv6" : "Ei kattu IPv6 aadressiga",
- "File system tag" : "Faili süsteemi silt",
- "is tagged with" : "on sildiga",
- "is not tagged with" : "ei ole sildiga",
- "Request URL" : "Päringu URL",
- "Request time" : "Päringu aeg",
- "between" : "vahemikus",
- "not between" : "ei ole vahemikus",
- "Request user agent" : "Päringu \"user agent\"",
- "User group membership" : "Kasutajagrupi liige",
- "is member of" : "on liige",
- "is not member of" : "ei ole liige",
- "Example: {placeholder}" : "Näide: {placeholder}",
- "Select tag…" : "Vali silt...",
- "Start" : "Algus",
- "End" : "Lõpp",
- "Select timezone…" : "Vali ajavöönd",
- "Sync clients" : "Kliendiprogrammid",
- "Short rule description" : "Reegli lühikirjeldus",
- "Add rule" : "Lisa reegel",
- "Reset" : "Lähtesta",
- "Saving…" : "Salvestamine...",
- "Saved" : "Salvestatud",
- "Saving failed:" : "Salvestamine ebaõnnestus:",
- "Add rule group" : "Lisa reegligrupp",
- "Open documentation" : "Ava dokumentatsioon",
- "Loading…" : "Laadimine..."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/ia.js b/apps/workflowengine/l10n/ia.js
deleted file mode 100644
index a6428d4e19c..00000000000
--- a/apps/workflowengine/l10n/ia.js
+++ /dev/null
@@ -1,46 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "is" : "es",
- "is not" : "non es",
- "matches" : "corresponde",
- "does not match" : "non corresponde",
- "Example: {placeholder}" : "Exemplo: {placeholder}",
- "File size (upload)" : "Dimension de file (incarga)",
- "less" : "minus",
- "less or equals" : "minus o equal",
- "greater or equals" : "major o equal",
- "greater" : "major",
- "File system tag" : "Etiquetta de systema de file",
- "is tagged with" : "es etiquettate con",
- "is not tagged with" : "non es etiquettate con",
- "Select tag…" : "Selectionar etiquetta...",
- "Request remote address" : "Demandar adresse remote",
- "matches IPv4" : "corresponde a IPv4",
- "does not match IPv4" : "non corresponde a IPv4",
- "matches IPv6" : "corresponde a IPv6",
- "does not match IPv6" : "non corresponde a IPv6",
- "Request time" : "Demandar tempore",
- "between" : "inter",
- "not between" : "non inter",
- "Start" : "Initio",
- "End" : "Fin",
- "Select timezone…" : "Selectionar fuso horari ...",
- "Request URL" : "Demandar URL",
- "Predefined URLs" : "URLs predefinite",
- "Files WebDAV" : "Files WebDAV",
- "Sync clients" : "Synchronisar clientes",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de Scriptorio",
- "is member of" : "es membro de",
- "is not member of" : "non es membro de",
- "Add rule" : "Adder regula",
- "Reset" : "Reinitialisar",
- "Save" : "Salveguardar",
- "Saving…" : "Salveguardante...",
- "Saving failed:" : "Salveguardata falleva:",
- "Open documentation" : "Aperir documentation",
- "Loading…" : "Cargante..."
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/workflowengine/l10n/ia.json b/apps/workflowengine/l10n/ia.json
deleted file mode 100644
index c5bfa310359..00000000000
--- a/apps/workflowengine/l10n/ia.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{ "translations": {
- "is" : "es",
- "is not" : "non es",
- "matches" : "corresponde",
- "does not match" : "non corresponde",
- "Example: {placeholder}" : "Exemplo: {placeholder}",
- "File size (upload)" : "Dimension de file (incarga)",
- "less" : "minus",
- "less or equals" : "minus o equal",
- "greater or equals" : "major o equal",
- "greater" : "major",
- "File system tag" : "Etiquetta de systema de file",
- "is tagged with" : "es etiquettate con",
- "is not tagged with" : "non es etiquettate con",
- "Select tag…" : "Selectionar etiquetta...",
- "Request remote address" : "Demandar adresse remote",
- "matches IPv4" : "corresponde a IPv4",
- "does not match IPv4" : "non corresponde a IPv4",
- "matches IPv6" : "corresponde a IPv6",
- "does not match IPv6" : "non corresponde a IPv6",
- "Request time" : "Demandar tempore",
- "between" : "inter",
- "not between" : "non inter",
- "Start" : "Initio",
- "End" : "Fin",
- "Select timezone…" : "Selectionar fuso horari ...",
- "Request URL" : "Demandar URL",
- "Predefined URLs" : "URLs predefinite",
- "Files WebDAV" : "Files WebDAV",
- "Sync clients" : "Synchronisar clientes",
- "Android client" : "Cliente Android",
- "iOS client" : "Cliente iOS",
- "Desktop client" : "Cliente de Scriptorio",
- "is member of" : "es membro de",
- "is not member of" : "non es membro de",
- "Add rule" : "Adder regula",
- "Reset" : "Reinitialisar",
- "Save" : "Salveguardar",
- "Saving…" : "Salveguardante...",
- "Saving failed:" : "Salveguardata falleva:",
- "Open documentation" : "Aperir documentation",
- "Loading…" : "Cargante..."
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/id.js b/apps/workflowengine/l10n/id.js
deleted file mode 100644
index 62205b7d858..00000000000
--- a/apps/workflowengine/l10n/id.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "Operator yang diberikan tidak sah",
- "The given regular expression is invalid" : "Regular expression yang diberikan tidak sah",
- "The given file size is invalid" : "Ukuran berkas yang diberikan tidak sah",
- "The given tag id is invalid" : "Tag ID yang diberikan tidak sah",
- "The given IP range is invalid" : "Rentang IP yang diberikan tidak sah",
- "The given IP range is not valid for IPv4" : "Rentang IP yang diberikan tidak sah untuk IPv4",
- "The given IP range is not valid for IPv6" : "Rentang IP yang diberikan tidak sah untuk IPv6",
- "The given time span is invalid" : "Rentang waktu yang diberikan tidak sah",
- "The given start time is invalid" : "Waktu mulai yang diberikan tidak sah",
- "The given end time is invalid" : "Waktu selesai yang diberikan tidak sah",
- "The given group does not exist" : "Grup yang diberikan tidak ada",
- "File" : "Berkas",
- "Operation #%s does not exist" : "Operasi #%s tidak ada",
- "Operation %s does not exist" : "Operasi %s tidak ada",
- "Operation %s is invalid" : "Operasi %s tidak valid",
- "Check %s does not exist" : "Cek %s tidak ada",
- "Check %s is invalid" : "Cek %s tidak valid",
- "Check #%s does not exist" : "Cek #%s tidak ada",
- "Check %s is invalid or does not exist" : "Cek %s tidak valid atau tidak ada",
- "Folder" : "Folder",
- "Images" : "Gambar",
- "Predefined URLs" : "URL terdefinisi",
- "Files WebDAV" : "Berkas WebDAV",
- "Android client" : "Klien Android",
- "iOS client" : "Klien iOS",
- "Desktop client" : "Klien desktop",
- "Cancel" : "Membatalkan",
- "Delete" : "Hapus",
- "Save" : "Simpan",
- "matches" : "cocok dengan",
- "does not match" : "tidak cocok dengan",
- "is" : "adalah",
- "is not" : "bukan",
- "File MIME type" : "Berkas tipe MIME",
- "File size (upload)" : "Ukuran berkas (unggah)",
- "less" : "kurang dari",
- "less or equals" : "kurang dari atau sama dengan",
- "greater or equals" : "lebih dari atau sama dengan",
- "greater" : "lebih dari",
- "Request remote address" : "Minta alamat remote",
- "matches IPv4" : "cocok dengan IPv4",
- "does not match IPv4" : "tidak cocok dengan IPv4",
- "matches IPv6" : "cocok dengan IPv6",
- "does not match IPv6" : "tidak cocok dengan IPv6",
- "File system tag" : "Tag sistem berkas",
- "is tagged with" : "di tag dengan",
- "is not tagged with" : "tidak di tag dengan",
- "Request URL" : "Minta URL",
- "Request time" : "Waktu permintaan",
- "between" : "diantara",
- "not between" : "tidak diantara",
- "Request user agent" : "Minta user agent",
- "User group membership" : "Keanggotaan grup pengguna",
- "is member of" : "anggota dari",
- "is not member of" : "bukan anggota dari",
- "No results" : "Tidak ada hasil",
- "%s (invisible)" : "%s (tersembunyi)",
- "%s (restricted)" : "%s (terbatas)"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/workflowengine/l10n/id.json b/apps/workflowengine/l10n/id.json
deleted file mode 100644
index 9af33f6fd0f..00000000000
--- a/apps/workflowengine/l10n/id.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "Operator yang diberikan tidak sah",
- "The given regular expression is invalid" : "Regular expression yang diberikan tidak sah",
- "The given file size is invalid" : "Ukuran berkas yang diberikan tidak sah",
- "The given tag id is invalid" : "Tag ID yang diberikan tidak sah",
- "The given IP range is invalid" : "Rentang IP yang diberikan tidak sah",
- "The given IP range is not valid for IPv4" : "Rentang IP yang diberikan tidak sah untuk IPv4",
- "The given IP range is not valid for IPv6" : "Rentang IP yang diberikan tidak sah untuk IPv6",
- "The given time span is invalid" : "Rentang waktu yang diberikan tidak sah",
- "The given start time is invalid" : "Waktu mulai yang diberikan tidak sah",
- "The given end time is invalid" : "Waktu selesai yang diberikan tidak sah",
- "The given group does not exist" : "Grup yang diberikan tidak ada",
- "File" : "Berkas",
- "Operation #%s does not exist" : "Operasi #%s tidak ada",
- "Operation %s does not exist" : "Operasi %s tidak ada",
- "Operation %s is invalid" : "Operasi %s tidak valid",
- "Check %s does not exist" : "Cek %s tidak ada",
- "Check %s is invalid" : "Cek %s tidak valid",
- "Check #%s does not exist" : "Cek #%s tidak ada",
- "Check %s is invalid or does not exist" : "Cek %s tidak valid atau tidak ada",
- "Folder" : "Folder",
- "Images" : "Gambar",
- "Predefined URLs" : "URL terdefinisi",
- "Files WebDAV" : "Berkas WebDAV",
- "Android client" : "Klien Android",
- "iOS client" : "Klien iOS",
- "Desktop client" : "Klien desktop",
- "Cancel" : "Membatalkan",
- "Delete" : "Hapus",
- "Save" : "Simpan",
- "matches" : "cocok dengan",
- "does not match" : "tidak cocok dengan",
- "is" : "adalah",
- "is not" : "bukan",
- "File MIME type" : "Berkas tipe MIME",
- "File size (upload)" : "Ukuran berkas (unggah)",
- "less" : "kurang dari",
- "less or equals" : "kurang dari atau sama dengan",
- "greater or equals" : "lebih dari atau sama dengan",
- "greater" : "lebih dari",
- "Request remote address" : "Minta alamat remote",
- "matches IPv4" : "cocok dengan IPv4",
- "does not match IPv4" : "tidak cocok dengan IPv4",
- "matches IPv6" : "cocok dengan IPv6",
- "does not match IPv6" : "tidak cocok dengan IPv6",
- "File system tag" : "Tag sistem berkas",
- "is tagged with" : "di tag dengan",
- "is not tagged with" : "tidak di tag dengan",
- "Request URL" : "Minta URL",
- "Request time" : "Waktu permintaan",
- "between" : "diantara",
- "not between" : "tidak diantara",
- "Request user agent" : "Minta user agent",
- "User group membership" : "Keanggotaan grup pengguna",
- "is member of" : "anggota dari",
- "is not member of" : "bukan anggota dari",
- "No results" : "Tidak ada hasil",
- "%s (invisible)" : "%s (tersembunyi)",
- "%s (restricted)" : "%s (terbatas)"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/ka_GE.js b/apps/workflowengine/l10n/ka_GE.js
deleted file mode 100644
index 48a7c852f2b..00000000000
--- a/apps/workflowengine/l10n/ka_GE.js
+++ /dev/null
@@ -1,63 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "მოცემული ოპერატორი არაა სწორი",
- "The given regular expression is invalid" : "მოცემული რეგულარული გამოსახულება არაა სწორი",
- "The given file size is invalid" : "მოცემული ფაილის ზომა არაა სწორი",
- "The given tag id is invalid" : "მოცემული ტეგის id არაა სწორი",
- "The given IP range is invalid" : "მოცემული IP დიაპაზონი არაა სწორი",
- "The given IP range is not valid for IPv4" : "მოცემული IP დიაპაზონი არაა სწორი IPv4-ისთვის",
- "The given IP range is not valid for IPv6" : "მოცემული IP დიაპაზონი არაა სწორი IPv6-ისთვის",
- "The given time span is invalid" : "მოცემული დროის ინტერვალი არაა სწორი",
- "The given start time is invalid" : "მოცემული საწყისი დრო არაა სწორი",
- "The given end time is invalid" : "მოცემული დროის დასასრული არაა სწორი",
- "The given group does not exist" : "მოცემული ჯგუფი არ არსებობს",
- "File" : "ფაილი",
- "Operation #%s does not exist" : "ოპერაცია #%s არ არსებობს",
- "Operation %s does not exist" : "ოპერაცია %s არ არსებობს",
- "Operation %s is invalid" : "ოპერაცია %s არაა სწორი",
- "Check %s does not exist" : "შეამოწმეთ %s არ არსებობს",
- "Check %s is invalid" : "შეამოწმეთ %s არასწორია",
- "Check #%s does not exist" : "შეამოწმეთ #%s არ არსებობს",
- "Check %s is invalid or does not exist" : "შეამოწმეთ %s არასწორია ან არ არსებობს",
- "Folder" : "დირექტორია",
- "Images" : "სურათები",
- "Predefined URLs" : "წინასწარ განსაზღვრული URL-ები",
- "Files WebDAV" : "ფაილები WebDAV",
- "Android client" : "Android კლიენტი",
- "iOS client" : "iOS კლიენტი",
- "Desktop client" : "დესკტოპ კლიენტი",
- "Cancel" : "უარყოფა",
- "Delete" : "წაშლა",
- "Save" : "შენახვა",
- "matches" : "ემთხვევა",
- "does not match" : "არ ემთხვევა",
- "is" : "არის",
- "is not" : "არ არის",
- "File MIME type" : "ფაილის MIME სახეობა",
- "File size (upload)" : "ფაილის ზომა (ატვირთვა)",
- "less" : "უფრო ნაკლები",
- "less or equals" : "უფრო ნაკლები ან ტოლი",
- "greater or equals" : "უფრო მეტი ან ტოლი",
- "greater" : "უფრო მეტი",
- "Request remote address" : "დისტანციური მისამართის მოთხოვნა",
- "matches IPv4" : "ემთხვევა IPv4-ს",
- "does not match IPv4" : "არ ემთხვევა IPv4-ს",
- "matches IPv6" : "ემთხვევა IPv6-ს",
- "does not match IPv6" : "არ ემთხვევა IPv6-ს",
- "File system tag" : "ფაილის სისტემური ტეგი",
- "is tagged with" : "დატეგილია როგორც",
- "is not tagged with" : "არაა დატეგილი როგორც",
- "Request URL" : "მოთხოვნის URL",
- "Request time" : "მოთხოვნის დრო",
- "between" : "შორის",
- "not between" : "არა შორის",
- "Request user agent" : "მოთხოვნის მომხმარებლის აგენტი",
- "User group membership" : "მომხმარებლის ჯგუფის წევრიანობა",
- "is member of" : "არის წევრი ჯგუფისა",
- "is not member of" : "არ არის წევრი ჯგუფისა",
- "No results" : "შედეგები არაა",
- "%s (invisible)" : "%s (უჩინარი)",
- "%s (restricted)" : "%s (აკრძალული)"
-},
-"nplurals=2; plural=(n!=1);");
diff --git a/apps/workflowengine/l10n/ka_GE.json b/apps/workflowengine/l10n/ka_GE.json
deleted file mode 100644
index 3fdb17c8be5..00000000000
--- a/apps/workflowengine/l10n/ka_GE.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "მოცემული ოპერატორი არაა სწორი",
- "The given regular expression is invalid" : "მოცემული რეგულარული გამოსახულება არაა სწორი",
- "The given file size is invalid" : "მოცემული ფაილის ზომა არაა სწორი",
- "The given tag id is invalid" : "მოცემული ტეგის id არაა სწორი",
- "The given IP range is invalid" : "მოცემული IP დიაპაზონი არაა სწორი",
- "The given IP range is not valid for IPv4" : "მოცემული IP დიაპაზონი არაა სწორი IPv4-ისთვის",
- "The given IP range is not valid for IPv6" : "მოცემული IP დიაპაზონი არაა სწორი IPv6-ისთვის",
- "The given time span is invalid" : "მოცემული დროის ინტერვალი არაა სწორი",
- "The given start time is invalid" : "მოცემული საწყისი დრო არაა სწორი",
- "The given end time is invalid" : "მოცემული დროის დასასრული არაა სწორი",
- "The given group does not exist" : "მოცემული ჯგუფი არ არსებობს",
- "File" : "ფაილი",
- "Operation #%s does not exist" : "ოპერაცია #%s არ არსებობს",
- "Operation %s does not exist" : "ოპერაცია %s არ არსებობს",
- "Operation %s is invalid" : "ოპერაცია %s არაა სწორი",
- "Check %s does not exist" : "შეამოწმეთ %s არ არსებობს",
- "Check %s is invalid" : "შეამოწმეთ %s არასწორია",
- "Check #%s does not exist" : "შეამოწმეთ #%s არ არსებობს",
- "Check %s is invalid or does not exist" : "შეამოწმეთ %s არასწორია ან არ არსებობს",
- "Folder" : "დირექტორია",
- "Images" : "სურათები",
- "Predefined URLs" : "წინასწარ განსაზღვრული URL-ები",
- "Files WebDAV" : "ფაილები WebDAV",
- "Android client" : "Android კლიენტი",
- "iOS client" : "iOS კლიენტი",
- "Desktop client" : "დესკტოპ კლიენტი",
- "Cancel" : "უარყოფა",
- "Delete" : "წაშლა",
- "Save" : "შენახვა",
- "matches" : "ემთხვევა",
- "does not match" : "არ ემთხვევა",
- "is" : "არის",
- "is not" : "არ არის",
- "File MIME type" : "ფაილის MIME სახეობა",
- "File size (upload)" : "ფაილის ზომა (ატვირთვა)",
- "less" : "უფრო ნაკლები",
- "less or equals" : "უფრო ნაკლები ან ტოლი",
- "greater or equals" : "უფრო მეტი ან ტოლი",
- "greater" : "უფრო მეტი",
- "Request remote address" : "დისტანციური მისამართის მოთხოვნა",
- "matches IPv4" : "ემთხვევა IPv4-ს",
- "does not match IPv4" : "არ ემთხვევა IPv4-ს",
- "matches IPv6" : "ემთხვევა IPv6-ს",
- "does not match IPv6" : "არ ემთხვევა IPv6-ს",
- "File system tag" : "ფაილის სისტემური ტეგი",
- "is tagged with" : "დატეგილია როგორც",
- "is not tagged with" : "არაა დატეგილი როგორც",
- "Request URL" : "მოთხოვნის URL",
- "Request time" : "მოთხოვნის დრო",
- "between" : "შორის",
- "not between" : "არა შორის",
- "Request user agent" : "მოთხოვნის მომხმარებლის აგენტი",
- "User group membership" : "მომხმარებლის ჯგუფის წევრიანობა",
- "is member of" : "არის წევრი ჯგუფისა",
- "is not member of" : "არ არის წევრი ჯგუფისა",
- "No results" : "შედეგები არაა",
- "%s (invisible)" : "%s (უჩინარი)",
- "%s (restricted)" : "%s (აკრძალული)"
-},"pluralForm" :"nplurals=2; plural=(n!=1);"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/mn.js b/apps/workflowengine/l10n/mn.js
deleted file mode 100644
index 75bb0f58126..00000000000
--- a/apps/workflowengine/l10n/mn.js
+++ /dev/null
@@ -1,70 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "Өгөгдсөн оператор буруу байна",
- "The given regular expression is invalid" : "Өгөгдсөн тогтмол илэрхийлэл буруу байна",
- "The given file size is invalid" : "Өгөгдсөн файлын хэмжээ буруу байна",
- "The given tag id is invalid" : "Өгөгдсөн шошго буруу байна",
- "The given IP range is invalid" : "Өгөгдсөн IP хязгаар буруу байна",
- "The given IP range is not valid for IPv4" : "Өгөгдсөн IP хүрээ , IPv4-д хүчингүй байна",
- "The given IP range is not valid for IPv6" : "Өгөгдсөн IP хүрээ IPv6-д хүчингүй байна",
- "The given time span is invalid" : "Өгөгдсөн цаг хугацаа буруу байна",
- "The given start time is invalid" : " эхлэх цаг буруу байна",
- "The given end time is invalid" : "төгсөглийн хугацаа буруу байна",
- "The given group does not exist" : "Өгөгдсөн бүлэг байхгүй байна",
- "File" : "File",
- "Operation #%s does not exist" : "%s үйл ажиллагаа байхгүй",
- "Check %s is invalid or does not exist" : "%sшалгахад хүчингүй эсвэл байхгүй байна",
- "Images" : "Зургууд",
- "No results" : "Үр дүн байхгүй",
- "Predefined URLs" : "Урьдчилан тодорхойлсон URLууд",
- "Files WebDAV" : "WebDAV файлууд",
- "Android client" : "Android хэрэглэгч",
- "iOS client" : "iOS үйлчлүүлэгч",
- "Desktop client" : "захиалагчийн дэлгэц",
- "Cancel" : "болиулах",
- "Delete" : "Устгах",
- "Save" : "хадгалах",
- "matches" : "тохируулах",
- "does not match" : "таарахгүй байна",
- "is" : "бол",
- "is not" : "биш",
- "File MIME type" : "Файлын MIME төрөл",
- "File size (upload)" : "файлын хэмжээ (байршуулсан)",
- "less" : "бага",
- "less or equals" : "Бага буюу тэнцүү",
- "greater or equals" : "Их буюу тэнцүү",
- "greater" : "илүү их",
- "Request remote address" : "алсын хаяг авах хүсэлт",
- "matches IPv4" : "IPv4 тохируулах ",
- "does not match IPv4" : "IPv4 тохируулагдаагүй байна",
- "matches IPv6" : "IPv6 тохируулах ",
- "does not match IPv6" : "IPv6 тохируулагдаанүй байна",
- "File system tag" : "Файлын системийн хаяг",
- "is tagged with" : "Тэмдэглэгдсэн байна",
- "is not tagged with" : "тэмдэглэгдээгүй байна",
- "Request URL" : "URL-н хүсэлт",
- "Request time" : "Хүсэлт гаргах хугацаа",
- "between" : "хооронд",
- "not between" : "Хооронд биш",
- "User group membership" : "хэрэглэгчийн бүлгийн гишүүнчлэл",
- "is member of" : "-ын гишүүн ",
- "is not member of" : "-ын гишүүн биш",
- "Short rule description" : "Дүрмийн тайлбар товч",
- "Add rule" : "Дүрэм нэмэх",
- "Reset" : "тохируулах",
- "Saving…" : "хадгалж байна",
- "Saved" : "Хадгалсан",
- "Saving failed:" : "Хадгалалт бүтэлгүйтэв:",
- "Add rule group" : "Бүлэгт дүрэм нэмэх",
- "Example: {placeholder}" : "Жишээ нь: {байрлал}",
- "Select tag…" : "хаяг сонгоно уу",
- "Start" : "эхлэх",
- "End" : "дуусгах",
- "Select timezone…" : "Timezone сонго ...",
- "Workflow" : "ажлын үйл явц",
- "Files workflow engine" : "файлууд нь ажлын үйл явцын хэрэгсэл ",
- "Open documentation" : "Нээлттэй баримт бичиг",
- "Loading…" : "уншиж байна"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/workflowengine/l10n/mn.json b/apps/workflowengine/l10n/mn.json
deleted file mode 100644
index 9e5d8e60f10..00000000000
--- a/apps/workflowengine/l10n/mn.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "Өгөгдсөн оператор буруу байна",
- "The given regular expression is invalid" : "Өгөгдсөн тогтмол илэрхийлэл буруу байна",
- "The given file size is invalid" : "Өгөгдсөн файлын хэмжээ буруу байна",
- "The given tag id is invalid" : "Өгөгдсөн шошго буруу байна",
- "The given IP range is invalid" : "Өгөгдсөн IP хязгаар буруу байна",
- "The given IP range is not valid for IPv4" : "Өгөгдсөн IP хүрээ , IPv4-д хүчингүй байна",
- "The given IP range is not valid for IPv6" : "Өгөгдсөн IP хүрээ IPv6-д хүчингүй байна",
- "The given time span is invalid" : "Өгөгдсөн цаг хугацаа буруу байна",
- "The given start time is invalid" : " эхлэх цаг буруу байна",
- "The given end time is invalid" : "төгсөглийн хугацаа буруу байна",
- "The given group does not exist" : "Өгөгдсөн бүлэг байхгүй байна",
- "File" : "File",
- "Operation #%s does not exist" : "%s үйл ажиллагаа байхгүй",
- "Check %s is invalid or does not exist" : "%sшалгахад хүчингүй эсвэл байхгүй байна",
- "Images" : "Зургууд",
- "No results" : "Үр дүн байхгүй",
- "Predefined URLs" : "Урьдчилан тодорхойлсон URLууд",
- "Files WebDAV" : "WebDAV файлууд",
- "Android client" : "Android хэрэглэгч",
- "iOS client" : "iOS үйлчлүүлэгч",
- "Desktop client" : "захиалагчийн дэлгэц",
- "Cancel" : "болиулах",
- "Delete" : "Устгах",
- "Save" : "хадгалах",
- "matches" : "тохируулах",
- "does not match" : "таарахгүй байна",
- "is" : "бол",
- "is not" : "биш",
- "File MIME type" : "Файлын MIME төрөл",
- "File size (upload)" : "файлын хэмжээ (байршуулсан)",
- "less" : "бага",
- "less or equals" : "Бага буюу тэнцүү",
- "greater or equals" : "Их буюу тэнцүү",
- "greater" : "илүү их",
- "Request remote address" : "алсын хаяг авах хүсэлт",
- "matches IPv4" : "IPv4 тохируулах ",
- "does not match IPv4" : "IPv4 тохируулагдаагүй байна",
- "matches IPv6" : "IPv6 тохируулах ",
- "does not match IPv6" : "IPv6 тохируулагдаанүй байна",
- "File system tag" : "Файлын системийн хаяг",
- "is tagged with" : "Тэмдэглэгдсэн байна",
- "is not tagged with" : "тэмдэглэгдээгүй байна",
- "Request URL" : "URL-н хүсэлт",
- "Request time" : "Хүсэлт гаргах хугацаа",
- "between" : "хооронд",
- "not between" : "Хооронд биш",
- "User group membership" : "хэрэглэгчийн бүлгийн гишүүнчлэл",
- "is member of" : "-ын гишүүн ",
- "is not member of" : "-ын гишүүн биш",
- "Short rule description" : "Дүрмийн тайлбар товч",
- "Add rule" : "Дүрэм нэмэх",
- "Reset" : "тохируулах",
- "Saving…" : "хадгалж байна",
- "Saved" : "Хадгалсан",
- "Saving failed:" : "Хадгалалт бүтэлгүйтэв:",
- "Add rule group" : "Бүлэгт дүрэм нэмэх",
- "Example: {placeholder}" : "Жишээ нь: {байрлал}",
- "Select tag…" : "хаяг сонгоно уу",
- "Start" : "эхлэх",
- "End" : "дуусгах",
- "Select timezone…" : "Timezone сонго ...",
- "Workflow" : "ажлын үйл явц",
- "Files workflow engine" : "файлууд нь ажлын үйл явцын хэрэгсэл ",
- "Open documentation" : "Нээлттэй баримт бичиг",
- "Loading…" : "уншиж байна"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/sq.js b/apps/workflowengine/l10n/sq.js
deleted file mode 100644
index e8c63d79062..00000000000
--- a/apps/workflowengine/l10n/sq.js
+++ /dev/null
@@ -1,62 +0,0 @@
-OC.L10N.register(
- "workflowengine",
- {
- "The given operator is invalid" : "Operatori i dhënë nuk është i vlefshëm",
- "The given regular expression is invalid" : "Shprehja e rregullt e dhënë është e pavlefshme",
- "The given file size is invalid" : "Madhësia e dhënë e skedarit është e pavlefshme",
- "The given tag id is invalid" : "Id-ja e dhënë e etiketës është e pavlefshme",
- "The given IP range is invalid" : "Rangu i dhënë i IP është i pavlefshëm",
- "The given IP range is not valid for IPv4" : "Rangu i dhënë i IP nuk është i vlefshëm për IPv4",
- "The given IP range is not valid for IPv6" : "Rangu i dhënë i IP nuk është i vlefshëm për IPv6",
- "The given time span is invalid" : "Hapsira kohore e dhënë është e pavlefshme",
- "The given start time is invalid" : "Koha e fillimit është e pavlefshme",
- "The given end time is invalid" : "Koha e mbarimit është e pavlefshme",
- "The given group does not exist" : "Grupi i dhënë nuk ekziston",
- "File" : "Skedar ",
- "Operation #%s does not exist" : "Operacioni #%s nuk ekziston",
- "Operation %s does not exist" : "Operacioni %s nuk ekziston",
- "Operation %s is invalid" : "Operacioni %s është i pavlefshëm",
- "Check %s does not exist" : "Kontrolli %s nuk ekziston",
- "Check %s is invalid" : "Kontrolli %s është i pavlefshëm",
- "Check #%s does not exist" : "Kontrolli #%s nuk ekziston",
- "Check %s is invalid or does not exist" : "Kontrolli %s është i pavlefshëm ose nuk ekziston",
- "Folder" : "Skedari",
- "Images" : "Imazhe ",
- "Files WebDAV" : "Skedarët WebDAV ",
- "Android client" : "Klient Android",
- "iOS client" : "Klient IOS",
- "Desktop client" : "Klient Desktop",
- "Thunderbird & Outlook addons" : "Shtojcat e Thunderbird & Outlook",
- "Cancel" : "Anullo",
- "Delete" : "Delete",
- "Save" : "Ruaj",
- "matches" : "përputhje",
- "does not match" : "nuk përputhet",
- "is" : "është",
- "is not" : "nuk është",
- "File name" : "Emri i skedarit",
- "File MIME type" : "Skedari i tipit MIME",
- "File size (upload)" : "Madhësia e skedarit (ngarko)",
- "less" : "më pak",
- "less or equals" : "më pak ose e barabartë",
- "greater or equals" : "më e madhe ose e barabartë",
- "greater" : "më e madhe",
- "Request remote address" : "Adresa e kërkesës remote",
- "matches IPv4" : "përputhet me IPv4",
- "does not match IPv4" : "nuk përputhet me IPv4",
- "matches IPv6" : "përputhet me IPv6",
- "does not match IPv6" : "nuk përputhet me IPv6",
- "File system tag" : "Etiketë e skedarit të sistemit",
- "is tagged with" : "është e etiketuar me",
- "is not tagged with" : "nuk është e etiketuar me",
- "Request URL" : "Kërko URL",
- "Request time" : "Koha e kërkesës",
- "between" : "midis",
- "not between" : "nuk është midis",
- "Request user agent" : "Kërko agjentin përdorues",
- "User group membership" : "Anëtarësia në grupet e përdoruesit",
- "is member of" : "është anëtarë i",
- "is not member of" : "nuk është anëtarë i",
- "Predefined URLs" : "URL të paracaktuara"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/apps/workflowengine/l10n/sq.json b/apps/workflowengine/l10n/sq.json
deleted file mode 100644
index fe79ec152ce..00000000000
--- a/apps/workflowengine/l10n/sq.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{ "translations": {
- "The given operator is invalid" : "Operatori i dhënë nuk është i vlefshëm",
- "The given regular expression is invalid" : "Shprehja e rregullt e dhënë është e pavlefshme",
- "The given file size is invalid" : "Madhësia e dhënë e skedarit është e pavlefshme",
- "The given tag id is invalid" : "Id-ja e dhënë e etiketës është e pavlefshme",
- "The given IP range is invalid" : "Rangu i dhënë i IP është i pavlefshëm",
- "The given IP range is not valid for IPv4" : "Rangu i dhënë i IP nuk është i vlefshëm për IPv4",
- "The given IP range is not valid for IPv6" : "Rangu i dhënë i IP nuk është i vlefshëm për IPv6",
- "The given time span is invalid" : "Hapsira kohore e dhënë është e pavlefshme",
- "The given start time is invalid" : "Koha e fillimit është e pavlefshme",
- "The given end time is invalid" : "Koha e mbarimit është e pavlefshme",
- "The given group does not exist" : "Grupi i dhënë nuk ekziston",
- "File" : "Skedar ",
- "Operation #%s does not exist" : "Operacioni #%s nuk ekziston",
- "Operation %s does not exist" : "Operacioni %s nuk ekziston",
- "Operation %s is invalid" : "Operacioni %s është i pavlefshëm",
- "Check %s does not exist" : "Kontrolli %s nuk ekziston",
- "Check %s is invalid" : "Kontrolli %s është i pavlefshëm",
- "Check #%s does not exist" : "Kontrolli #%s nuk ekziston",
- "Check %s is invalid or does not exist" : "Kontrolli %s është i pavlefshëm ose nuk ekziston",
- "Folder" : "Skedari",
- "Images" : "Imazhe ",
- "Files WebDAV" : "Skedarët WebDAV ",
- "Android client" : "Klient Android",
- "iOS client" : "Klient IOS",
- "Desktop client" : "Klient Desktop",
- "Thunderbird & Outlook addons" : "Shtojcat e Thunderbird & Outlook",
- "Cancel" : "Anullo",
- "Delete" : "Delete",
- "Save" : "Ruaj",
- "matches" : "përputhje",
- "does not match" : "nuk përputhet",
- "is" : "është",
- "is not" : "nuk është",
- "File name" : "Emri i skedarit",
- "File MIME type" : "Skedari i tipit MIME",
- "File size (upload)" : "Madhësia e skedarit (ngarko)",
- "less" : "më pak",
- "less or equals" : "më pak ose e barabartë",
- "greater or equals" : "më e madhe ose e barabartë",
- "greater" : "më e madhe",
- "Request remote address" : "Adresa e kërkesës remote",
- "matches IPv4" : "përputhet me IPv4",
- "does not match IPv4" : "nuk përputhet me IPv4",
- "matches IPv6" : "përputhet me IPv6",
- "does not match IPv6" : "nuk përputhet me IPv6",
- "File system tag" : "Etiketë e skedarit të sistemit",
- "is tagged with" : "është e etiketuar me",
- "is not tagged with" : "nuk është e etiketuar me",
- "Request URL" : "Kërko URL",
- "Request time" : "Koha e kërkesës",
- "between" : "midis",
- "not between" : "nuk është midis",
- "Request user agent" : "Kërko agjentin përdorues",
- "User group membership" : "Anëtarësia në grupet e përdoruesit",
- "is member of" : "është anëtarë i",
- "is not member of" : "nuk është anëtarë i",
- "Predefined URLs" : "URL të paracaktuara"
-},"pluralForm" :"nplurals=2; plural=(n != 1);"
-} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/tr.js b/apps/workflowengine/l10n/tr.js
index cee360ea5df..41f1f784099 100644
--- a/apps/workflowengine/l10n/tr.js
+++ b/apps/workflowengine/l10n/tr.js
@@ -63,7 +63,7 @@ OC.L10N.register(
"Select a request URL" : "Bir istek adresi seçin",
"Android client" : "Android istemcisi",
"iOS client" : "iOS istemcisi",
- "Desktop client" : "Masaüstü istemcisi",
+ "Desktop client" : "Bilgisayar istemcisi",
"Thunderbird & Outlook addons" : "Thunderbird ve Outlook eklentileri",
"Custom user agent" : "Özel kullanıcı uygulaması",
"Select a user agent" : "Bir kullanıcı uygulaması seçin",
diff --git a/apps/workflowengine/l10n/tr.json b/apps/workflowengine/l10n/tr.json
index 7eec04eb32b..eb5dccff499 100644
--- a/apps/workflowengine/l10n/tr.json
+++ b/apps/workflowengine/l10n/tr.json
@@ -61,7 +61,7 @@
"Select a request URL" : "Bir istek adresi seçin",
"Android client" : "Android istemcisi",
"iOS client" : "iOS istemcisi",
- "Desktop client" : "Masaüstü istemcisi",
+ "Desktop client" : "Bilgisayar istemcisi",
"Thunderbird & Outlook addons" : "Thunderbird ve Outlook eklentileri",
"Custom user agent" : "Özel kullanıcı uygulaması",
"Select a user agent" : "Bir kullanıcı uygulaması seçin",
diff --git a/build/integration/dav_features/carddav.feature b/build/integration/dav_features/carddav.feature
index f1ea46af886..35e85639817 100644
--- a/build/integration/dav_features/carddav.feature
+++ b/build/integration/dav_features/carddav.feature
@@ -49,7 +49,6 @@ Feature: carddav
|X-Frame-Options|SAMEORIGIN|
|X-Permitted-Cross-Domain-Policies|none|
|X-Robots-Tag|noindex, nofollow|
- |X-XSS-Protection|1; mode=block|
Scenario: Exporting the picture of ones own contact
Given "admin" creates an addressbook named "MyAddressbook" with statuscode "201"
@@ -63,7 +62,6 @@ Feature: carddav
|X-Frame-Options|SAMEORIGIN|
|X-Permitted-Cross-Domain-Policies|none|
|X-Robots-Tag|noindex, nofollow|
- |X-XSS-Protection|1; mode=block|
Scenario: Create addressbook request for non-existing addressbook of another user
Given user "user0" exists
diff --git a/build/integration/dav_features/dav-v2.feature b/build/integration/dav_features/dav-v2.feature
index 9eae9a1b5fd..dbd2295497f 100644
--- a/build/integration/dav_features/dav-v2.feature
+++ b/build/integration/dav_features/dav-v2.feature
@@ -41,7 +41,6 @@ Feature: dav-v2
|X-Frame-Options|SAMEORIGIN|
|X-Permitted-Cross-Domain-Policies|none|
|X-Robots-Tag|noindex, nofollow|
- |X-XSS-Protection|1; mode=block|
And Downloaded content should start with "Welcome to your Nextcloud account!"
Scenario: Doing a GET with a web login should work without CSRF token on the new backend
diff --git a/build/integration/dav_features/webdav-related.feature b/build/integration/dav_features/webdav-related.feature
index f439330838c..12fd3d44c4f 100644
--- a/build/integration/dav_features/webdav-related.feature
+++ b/build/integration/dav_features/webdav-related.feature
@@ -291,7 +291,6 @@ Feature: webdav-related
|X-Frame-Options|SAMEORIGIN|
|X-Permitted-Cross-Domain-Policies|none|
|X-Robots-Tag|noindex, nofollow|
- |X-XSS-Protection|1; mode=block|
And Downloaded content should start with "Welcome to your Nextcloud account!"
Scenario: Doing a GET with a web login should work without CSRF token on the old backend
diff --git a/build/psalm-baseline.xml b/build/psalm-baseline.xml
index 26ee47735ad..e40c10bfc67 100644
--- a/build/psalm-baseline.xml
+++ b/build/psalm-baseline.xml
@@ -3943,12 +3943,6 @@
<code><![CDATA[ArrayCache]]></code>
<code><![CDATA[ArrayCache]]></code>
</InvalidClass>
- <InvalidReturnStatement>
- <code><![CDATA[$response->getBody()]]></code>
- </InvalidReturnStatement>
- <InvalidReturnType>
- <code><![CDATA[fopen]]></code>
- </InvalidReturnType>
</file>
<file src="lib/private/Files/Storage/Local.php">
<TypeDoesNotContainNull>
@@ -4059,16 +4053,6 @@
<code><![CDATA[isAdmin]]></code>
</UndefinedInterfaceMethod>
</file>
- <file src="lib/private/Http/Client/Response.php">
- <InvalidNullableReturnType>
- <code><![CDATA[string|resource]]></code>
- </InvalidNullableReturnType>
- <NullableReturnStatement>
- <code><![CDATA[$this->stream ?
- $this->response->getBody()->detach():
- $this->response->getBody()->getContents()]]></code>
- </NullableReturnStatement>
- </file>
<file src="lib/private/Installer.php">
<InvalidArgument>
<code><![CDATA[false]]></code>
@@ -4207,12 +4191,6 @@
</ImplementedReturnTypeMismatch>
</file>
<file src="lib/private/Remote/Instance.php">
- <InvalidReturnStatement>
- <code><![CDATA[$request->getBody()]]></code>
- </InvalidReturnStatement>
- <InvalidReturnType>
- <code><![CDATA[bool|string]]></code>
- </InvalidReturnType>
<InvalidScalarArgument>
<code><![CDATA[$response]]></code>
</InvalidScalarArgument>
diff --git a/core/l10n/eo.js b/core/l10n/eo.js
index c5d442450b0..cacb876036f 100644
--- a/core/l10n/eo.js
+++ b/core/l10n/eo.js
@@ -25,8 +25,12 @@ OC.L10N.register(
"State token does not match" : "Stata ĵetono ne kongruas",
"Invalid app password" : "Nevalida aplikaĵo-pasvorto",
"Could not complete login" : "Ensaluto ne eblis",
+ "State token missing" : "Mankas ĵetono pri stato",
"Your login token is invalid or has expired" : "Via ensaluta ĵetono ne validas aŭ senvalidiĝis",
+ "Please use original client" : "Bonvolu uzi la originan klienton",
+ "This community release of Nextcloud is unsupported and push notifications are limited." : "Tiu ĉi komunuma eldonaĵo de Nextcloud ne havas subtenon, kaj puŝajn atentigojn estas limigitaj.",
"Login" : "Login",
+ "Unsupported email length (>255)" : "Nevalida longeco de retadreso (>255)",
"Password reset is disabled" : "Pasvorta restarigo malebligita",
"Could not reset password because the token is expired" : "Ne eblis restarigi pasvorton, ĉar la ĵetono senvalidiĝis",
"Could not reset password because the token is invalid" : "Ne eblis restarigi pasvorton, ĉar la ĵetono ne validas",
@@ -36,9 +40,13 @@ OC.L10N.register(
"Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Alklaku la jenan butonon por restarigi vian pasvorton. Si vi ne petis restarigon de via pasvorto, simple ignoru tiun ĉi retmesaĝon.",
"Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Alklaku la jenan ligilon por restarigi vian pasvorton. Si vi ne petis restarigon de via pasvorto, simple ignoru tiun ĉi retmesaĝon.",
"Reset your password" : "Restarigi vian pasvorton ",
+ "The given provider is not available" : "La provizanto menciita ne estas disponebla",
"Task not found" : "Tasko ne trovita",
"Internal error" : "Interna eraro",
"Not found" : "Ne trovita",
+ "Node is locked" : "Nodo estas ŝlosita",
+ "Bad request" : "Malbona peto",
+ "Requested task type does not exist" : "Petita task-tipo ne ekzistas",
"Image not found" : "Bildo ne trovita",
"Unable to translate" : "Ne eblas traduki",
"[%d / %d]: %s" : "[%d / %d]: %s",
diff --git a/core/l10n/eo.json b/core/l10n/eo.json
index 3090648d69c..2f1a3539c5d 100644
--- a/core/l10n/eo.json
+++ b/core/l10n/eo.json
@@ -23,8 +23,12 @@
"State token does not match" : "Stata ĵetono ne kongruas",
"Invalid app password" : "Nevalida aplikaĵo-pasvorto",
"Could not complete login" : "Ensaluto ne eblis",
+ "State token missing" : "Mankas ĵetono pri stato",
"Your login token is invalid or has expired" : "Via ensaluta ĵetono ne validas aŭ senvalidiĝis",
+ "Please use original client" : "Bonvolu uzi la originan klienton",
+ "This community release of Nextcloud is unsupported and push notifications are limited." : "Tiu ĉi komunuma eldonaĵo de Nextcloud ne havas subtenon, kaj puŝajn atentigojn estas limigitaj.",
"Login" : "Login",
+ "Unsupported email length (>255)" : "Nevalida longeco de retadreso (>255)",
"Password reset is disabled" : "Pasvorta restarigo malebligita",
"Could not reset password because the token is expired" : "Ne eblis restarigi pasvorton, ĉar la ĵetono senvalidiĝis",
"Could not reset password because the token is invalid" : "Ne eblis restarigi pasvorton, ĉar la ĵetono ne validas",
@@ -34,9 +38,13 @@
"Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Alklaku la jenan butonon por restarigi vian pasvorton. Si vi ne petis restarigon de via pasvorto, simple ignoru tiun ĉi retmesaĝon.",
"Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Alklaku la jenan ligilon por restarigi vian pasvorton. Si vi ne petis restarigon de via pasvorto, simple ignoru tiun ĉi retmesaĝon.",
"Reset your password" : "Restarigi vian pasvorton ",
+ "The given provider is not available" : "La provizanto menciita ne estas disponebla",
"Task not found" : "Tasko ne trovita",
"Internal error" : "Interna eraro",
"Not found" : "Ne trovita",
+ "Node is locked" : "Nodo estas ŝlosita",
+ "Bad request" : "Malbona peto",
+ "Requested task type does not exist" : "Petita task-tipo ne ekzistas",
"Image not found" : "Bildo ne trovita",
"Unable to translate" : "Ne eblas traduki",
"[%d / %d]: %s" : "[%d / %d]: %s",
diff --git a/core/l10n/hu.js b/core/l10n/hu.js
index 894f2960a26..b0dc66b3a7f 100644
--- a/core/l10n/hu.js
+++ b/core/l10n/hu.js
@@ -7,7 +7,7 @@ OC.L10N.register(
"The selected file cannot be read." : "A kiválasztott fájl nem olvasható.",
"The file was uploaded" : "A fájl feltöltve",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "A feltöltött fájl meghaladja a php.ini-ben szereplő upload_max_filesize direktívában megadott méretet",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "A feltöltött fájl meghaladja a HTML űrlapon megadott MAX_FILE_SIZE direktívában meghatározott méretet.",
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "A feltöltött fájl meghaladja a HTML űrlapon megadott MAX_FILE_SIZE direktívában meghatározott méretet",
"The file was only partially uploaded" : "A fájl csak részben került feltöltésre",
"No file was uploaded" : "Egyetlen fájl sem töltődött fel",
"Missing a temporary folder" : "Hiányzik egy ideiglenes mappa",
@@ -27,6 +27,7 @@ OC.L10N.register(
"Could not complete login" : "A bejelentkezés nem fejezhető be",
"State token missing" : "Az állapottoken hiányzik",
"Your login token is invalid or has expired" : "A bejelentkezési token érvénytelen vagy lejárt",
+ "Please use original client" : "Használja az eredeti klienset",
"This community release of Nextcloud is unsupported and push notifications are limited." : "A Nextcloud e közösségi kiadása nem támogatott, és a leküldéses értesítések korlátozottak.",
"Login" : "Bejelentkezés",
"Unsupported email length (>255)" : "Nem támogatott hosszúságú e-mail-cím (>255)",
@@ -43,6 +44,7 @@ OC.L10N.register(
"Task not found" : "A feladat nem található",
"Internal error" : "Belső hiba",
"Not found" : "Nem található",
+ "Node is locked" : "A csomópont zárolva van",
"Bad request" : "Hibás kérés",
"Requested task type does not exist" : "A kért feladattípus nem létezik",
"Necessary language model provider is not available" : "A szükséges nyelvimodell-szolgáltató nem érhető el",
@@ -79,8 +81,125 @@ OC.L10N.register(
"%s (incompatible)" : "%s (nem kompatibilis)",
"The following apps have been disabled: %s" : "A következő alkalmazások le lettek tiltva: %s",
"Already up to date" : "Már naprakész",
+ "Windows Command Script" : "Windows-parancsfájl",
+ "Electronic book document" : "Elektronikus könyvdokumentum",
+ "TrueType Font Collection" : "TrueType betűkészlet-gyűjtemény",
+ "Web Open Font Format" : "Nyílt webes betűkészlet-formátum",
+ "GPX geographic data" : "GPX földrajzi adatok",
+ "Gzip archive" : "Gzip-archívum",
+ "Adobe Illustrator document" : "Adobe Illustrator-dokumentum",
+ "Java source code" : "Java-forrásfájl",
+ "JavaScript source code" : "JavaScript-forrásfájl",
+ "JSON document" : "JSON-dokumentum",
+ "Microsoft Access database" : "Microsoft Excel-adatbázis",
+ "Microsoft OneNote document" : "Microsfot OneNote-dokumentum",
+ "Microsoft Word document" : "Microsoft Word dokumentum",
"Unknown" : "Ismeretlen",
- "PNG image" : "PNG kép",
+ "PDF document" : "PDF-dokumentum",
+ "PostScript document" : "PostScript-dokumentum",
+ "RSS summary" : "RSS-összefoglaló",
+ "Android package" : "Android-csomag",
+ "KML geographic data" : "KML földrajzi adatok",
+ "KML geographic compressed data" : "KML tömörített földrajzi adatok",
+ "Lotus Word Pro document" : "Lotus Word Pro-dokumentum",
+ "Excel spreadsheet" : "Excel-munkafüzet",
+ "Excel add-in" : "Excel-bővítmény",
+ "Excel 2007 binary spreadsheet" : "Excel 2007 bináris munkafüzet",
+ "Excel spreadsheet template" : "Excel-munkafüzetsablon",
+ "Outlook Message" : "Outlook-üzenet",
+ "PowerPoint presentation" : "PowerPoint-bemutató",
+ "PowerPoint add-in" : "PowerPoint-bővítmény",
+ "PowerPoint presentation template" : "PowerPoint-bemutatósablon",
+ "Word document" : "Word-dokumentum",
+ "ODF formula" : "ODF-képlet",
+ "ODG drawing" : "ODG-rajz",
+ "ODG drawing (Flat XML)" : "ODG-rajz (lapos XML)",
+ "ODG template" : "ODG-sablon",
+ "ODP presentation" : "ODP-bemutató",
+ "ODP presentation (Flat XML)" : "ODP-bemutató (lapos XML)",
+ "ODP template" : "ODF-sablon",
+ "ODS spreadsheet" : "ODS-munkafüzet",
+ "ODS spreadsheet (Flat XML)" : "ODS-munkafüzet (lapos XML)",
+ "ODS template" : "ODS-sablon",
+ "ODT document" : "ODT-dokumentum",
+ "ODT document (Flat XML)" : "ODT-sablon (lapos XML)",
+ "ODT template" : "ODT-sablon",
+ "PowerPoint 2007 presentation" : "PowerPoint 2007-bemutató",
+ "PowerPoint 2007 show" : "PowerPoint 2007-vetítés",
+ "PowerPoint 2007 presentation template" : "PowerPoint 2007-bemutatósablon",
+ "Excel 2007 spreadsheet" : "Excel 2007-munkafüzet",
+ "Excel 2007 spreadsheet template" : "Excel 2007-munkafüzetsablon",
+ "Word 2007 document" : "Word 2007-dokumentum",
+ "Word 2007 document template" : "Word 2007-dokumentumsablon",
+ "Microsoft Visio document" : "Microsoft Visio-dokumentum",
+ "WordPerfect document" : "WordPerfect-dokumentum",
+ "7-zip archive" : "7-zip-archívum",
+ "Blender scene" : "Blender-jelenet",
+ "Bzip2 archive" : "Bzip2-archívum",
+ "Debian package" : "Debian-csomag",
+ "FictionBook document" : "FictionBook-dokumentum",
+ "Unknown font" : "Ismeretlen betűkészlet",
+ "Krita document" : "Krita-dokumentum",
+ "Mobipocket e-book" : "Mobipocket ekönyv",
+ "Windows Installer package" : "Windows Installer-csomag",
+ "Perl script" : "Perl-parancsfájl",
+ "PHP script" : "PHP-parancsfájl",
+ "Tar archive" : "Tar-archívum",
+ "XML document" : "XML-dokumentum",
+ "YAML document" : "YAML-dokumentum",
+ "Zip archive" : "Zip-archívum",
+ "Zstandard archive" : "Zstandard-archívum",
+ "AAC audio" : "AAC-hang",
+ "FLAC audio" : "FLAC-hang",
+ "MPEG-4 audio" : "MPEG-4-hang",
+ "MP3 audio" : "MP3-hang",
+ "Ogg audio" : "Ogg-hang",
+ "RIFF/WAVe standard Audio" : "RIFF/WAVe szabványos hang",
+ "WebM audio" : "WebM-hang",
+ "MP3 ShoutCast playlist" : "MP3 ShoutCast-lejátszólista",
+ "Windows BMP image" : "Windows BMP-kép",
+ "Better Portable Graphics image" : "Better Portable Graphics-kép",
+ "EMF image" : "EMF-kép",
+ "GIF image" : "GIF-kép",
+ "HEIC image" : "HEIC-kép",
+ "HEIF image" : "HEIF-kép",
+ "JPEG-2000 JP2 image" : "JPEG-2000 JP2-kép",
+ "JPEG image" : "JPEG-kép",
+ "PNG image" : "PNG-kép",
+ "SVG image" : "SVG-kép",
+ "Truevision Targa image" : "Truevision Targa-kép",
+ "TIFF image" : "TIFF-kép",
+ "WebP image" : "WebP-kép",
+ "Digital raw image" : "Digitális nyerskép",
+ "Windows Icon" : "Windows-ikon",
+ "Email message" : "E-mail-üzenet",
+ "VCS/ICS calendar" : "VCS/ICS-naptár",
+ "CSS stylesheet" : "CSS-stíluslap",
+ "CSV document" : "CSV-dokumentum",
+ "HTML document" : "HTML-dokumentum",
+ "Markdown document" : "Markdown-dokumentum",
+ "Org-mode file" : "Org-mode-fájl",
+ "Plain text document" : "Egyszerű szöveges dokumentum",
+ "Rich Text document" : "Rich Text-dokumentum",
+ "Electronic business card" : "Elektronikus névjegykártya",
+ "C++ source code" : "C++-forráskód",
+ "LDIF address book" : "LDIF-címjegyzék",
+ "NFO document" : "NFO-dokumentum",
+ "PHP source" : "PHP-forráskód",
+ "Python script" : "Python-parancsfájl",
+ "ReStructuredText document" : "ReStructuredText-dokumentum",
+ "3GPP multimedia file" : "3GPP-multimédiafájl",
+ "MPEG video" : "MPEG-videó",
+ "DV video" : "DV-videó",
+ "MPEG-2 transport stream" : "MPEG-2 átviteli adatfolyam",
+ "MPEG-4 video" : "MPEG-4-videó",
+ "Ogg video" : "Ogg-videó",
+ "QuickTime video" : "QuickTime-videó",
+ "WebM video" : "WebM-videó",
+ "Flash video" : "FLash-videó",
+ "Matroska video" : "Matroska-videó",
+ "Windows Media video" : "Windows Media-videó",
+ "AVI video" : "AVI-videó",
"Error occurred while checking server setup" : "Hiba történt a kiszolgálóbeállítások ellenőrzésekor",
"For more details see the {linkstart}documentation ↗{linkend}." : "További részletekért lásd a {linkstart}dokumentációt↗{linkend}.",
"unknown text" : "ismeretlen szöveg",
@@ -148,6 +267,8 @@ OC.L10N.register(
"Account name" : "Fiók neve",
"Server side authentication failed!" : "A kiszolgálóoldali hitelesítés sikertelen.",
"Please contact your administrator." : "Lépjen kapcsolatba a rendszergazdával.",
+ "Session error" : "Munkamenethiba",
+ "It appears your session token has expired, please refresh the page and try again." : "Úgy tűnik, hogy a munkamenettoken lejárt, frissítse az oldalt, és próbálja újra.",
"An internal error occurred." : "Belső hiba történt.",
"Please try again or contact your administrator." : "Próbálja meg újra, vagy vegye fel a kapcsolatot a rendszergazdával.",
"Password" : "Jelszó",
@@ -165,7 +286,7 @@ OC.L10N.register(
"Password cannot be changed. Please contact your administrator." : "A jelszó nem módosítható. Lépjen kapcsolatba a rendszergazdával.",
"New password" : "Új jelszó",
"Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?" : "A fájljai titkosítva vannak. A jelszó visszaállítása után sehogy sem fogja tudja visszaszerezni azokat. Ha nem tudja mi a teendő, akkor beszéljen a helyi rendszergazdával. Biztos, hogy folytatja?",
- "I know what I'm doing" : "Tudom mit csinálok.",
+ "I know what I'm doing" : "Tudom mit csinálok",
"Resetting password" : "Jelszó visszaállítása",
"Schedule work & meetings, synced with all your devices." : "Ütemezett munkáját és találkozóit, szinkronizálva az összes eszközén.",
"Keep your colleagues and friends in one place without leaking their private info." : "Tartsa egy helyen kollégáit és barátait, anélkül hogy kiszivárogtatná a személyes adataikat.",
@@ -207,35 +328,49 @@ OC.L10N.register(
"Login form is disabled." : "A bejelentkezési űrlap letiltva.",
"The Nextcloud login form is disabled. Use another login option if available or contact your administration." : "A Nextcloud bejelentkezési űrlap le van tiltva. Használjon más bejelentkezési lehetőséget, ha van ilyen, vagy lépjen kapcsolatba az adminisztrációval.",
"More actions" : "További műveletek",
+ "User menu" : "Felhasználói menü",
+ "You will be identified as {user} by the account owner." : "A fióktulajdonos által {user} felhasználóként lesz azonosítva.",
+ "You are currently not identified." : "Jelenleg nincs azonosítva.",
+ "Set public name" : "Nyilvános név beállítása",
+ "Change public name" : "Nyilvános név módosítása",
"Password is too weak" : "Jelszó túl gyenge",
- "Password is weak" : "Jelszó gyenge",
- "Password is average" : "Jelszó átlagos",
+ "Password is weak" : "A jelszó gyenge",
+ "Password is average" : "A jelszó átlagos",
"Password is strong" : "A jelszó erős",
"Password is very strong" : "A jelszó nagyon erős",
- "Password is extremely strong" : "A jelszó extrém erős",
- "Unknown password strength" : "Ismeretlen jelszó erősség",
+ "Password is extremely strong" : "A jelszó kiemelkedően erős",
+ "Unknown password strength" : "Ismeretlen jelszóerősség",
+ "Your data directory and files are probably accessible from the internet because the <code>.htaccess</code> file does not work." : "Az adatkönyvtára és a fájljai valószínűleg elérhetőek az internetről, mert a <code>.htaccess</code> fájl nem működik.",
+ "For information how to properly configure your server, please {linkStart}see the documentation{linkEnd}" : "A kiszolgáló helyes beállításához {linkStart}tekintse meg a dokumentációt{linkEnd}",
"Autoconfig file detected" : "Autoconfig fájl felismerve",
+ "The setup form below is pre-filled with the values from the config file." : "A lenti beállítási űrlap a konfigurációs fájlban lévő értékekkel van előre kitöltve.",
"Security warning" : "Biztonsági figyelmeztetés",
+ "Create administration account" : "Rendszergazdai fiók létrehozása",
+ "Administration account name" : "Rendszergazdai fiók neve",
+ "Administration account password" : "Rendszergazdai fiók jelszava",
"Storage & database" : "Tárhely és adatbázis",
- "Data folder" : "Adat mappa",
+ "Data folder" : "Adatmappa",
+ "Database configuration" : "Adatbázis-beállítások",
+ "Only {firstAndOnlyDatabase} is available." : "Csak a(z) {firstAndOnlyDatabase} érhető el.",
"Install and activate additional PHP modules to choose other database types." : "Telepítse és aktiválja a bővített PHP modulokat, hogy tudjon más adatbázis típust is kiválasztani.",
"For more details check out the documentation." : "További részletekért nézze meg a dokumentációt.",
"Performance warning" : "Teljesítménybeli figyelmeztetés",
"You chose SQLite as database." : "SQLite adatbázist választott.",
"SQLite should only be used for minimal and development instances. For production we recommend a different database backend." : "Az SQLite-ot csak minimális és fejlesztési célú példányok esetén szabad használni. Éles működés esetén más adatbázis-kezelőt ajánlunk.",
"If you use clients for file syncing, the use of SQLite is highly discouraged." : "Ha klienseket használt a fájlszinkronizáláshoz, akkor az SQLite használata erősen ellenjavallt.",
- "Database user" : "Adatbázis felhasználónév",
- "Database password" : "Adatbázis jelszó",
- "Database name" : "Az adatbázis neve",
- "Database tablespace" : "Az adatbázis táblázattér (tablespace)",
+ "Database user" : "Adatbázis-felhasználó",
+ "Database password" : "Adatbázisjelszó",
+ "Database name" : "Adatbázis neve",
+ "Database tablespace" : "Adatbázis táblatere",
"Please specify the port number along with the host name (e.g., localhost:5432)." : "Adja meg a port számát a kiszolgáló neve után (például localhost:5432).",
"Database host" : "Adatbázis-kiszolgáló",
+ "localhost" : "localhost",
"Installing …" : "Telepítés…",
"Install" : "Telepítés",
"Need help?" : "Segítségre van szüksége?",
"See the documentation" : "Nézze meg a dokumentációt",
"{name} version {version} and above" : "{name} {version} verziója, és újabb",
- "This browser is not supported" : "Ez a böngésző nem támogatott.",
+ "This browser is not supported" : "Ez a böngésző nem támogatott",
"Your browser is not supported. Please upgrade to a newer version or a supported one." : "A böngészője nem támogatott. Frissítsen újabb verzióra, vagy váltson egy támogatott böngészőre.",
"Continue with this unsupported browser" : "Folytatás ezzel a nem támogatott böngészővel",
"Supported versions" : "Támogatott verziók",
@@ -259,7 +394,7 @@ OC.L10N.register(
"(all selected)" : "(összes kiválasztva)",
"({count} selected)" : "({count} kiválasztva)",
"Error loading file exists template" : "Hiba a „fájl már létezik” sablon betöltésekor",
- "Saving …" : "Mentés ...",
+ "Saving …" : "Mentés…",
"seconds ago" : "pár másodperce",
"Connection to server lost" : "A kapcsolat megszakadt a kiszolgálóval",
"_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Probléma az oldal betöltésekor, újratöltés %n másodperc múlva","Probléma az oldal betöltésekor, újratöltés %n másodperc múlva"],
@@ -272,7 +407,7 @@ OC.L10N.register(
"Failed to add the item to the project" : "Az elem hozzáadása a projekthez sikertelen",
"Connect items to a project to make them easier to find" : "Kössön hozzá elemeket a projekthez, hogy könnyebben megtalálhatóak legyenek",
"Type to search for existing projects" : "Gépeljen a meglévő projektet kereséséhez",
- "New in" : "Új itt",
+ "New in" : "Újdonságok a következőben:",
"View changelog" : "Változásnapló megtekintése",
"No action available" : "Nincs elérhető művelet",
"Error fetching contact actions" : "Hiba a kapcsolati műveletek lekérésekor",
@@ -285,12 +420,13 @@ OC.L10N.register(
"Rename" : "Átnevezés",
"Collaborative tags" : "Együttműködési címkék",
"No tags found" : "Nem találhatók címkék",
- "Clipboard not available, please copy manually" : "A vágólap nem érhető el. Másolja át kézileg.",
+ "Clipboard not available, please copy manually" : "A vágólap nem érhető el, másolja kézileg",
"Personal" : "Személyes",
"Accounts" : "Fiókok",
"Admin" : "Rendszergazda",
"Help" : "Súgó",
"Access forbidden" : "A hozzáférés nem engedélyezett",
+ "You are not allowed to access this page." : "Nem férhet hozzá ehhez az oldalhoz.",
"Back to %s" : "Vissza ide %s",
"Page not found" : "Az oldal nem található",
"The page could not be found on the server or you may not be allowed to view it." : "Az oldal nem található a kiszolgálón, vagy lehet, hogy nincs engedélye arra, hogy megnézze.",
@@ -302,7 +438,7 @@ OC.L10N.register(
"If this happens again, please send the technical details below to the server administrator." : "Ha ez még egyszer előfordul küldd el az alábbi technikai részleteket a rendszergazdának.",
"More details can be found in the server log." : "További részletek találhatók a kiszolgáló naplójában.",
"For more details see the documentation ↗." : "További részletekért nézze meg a dokumentációt ↗.",
- "Technical details" : "Technikai adatok",
+ "Technical details" : "Műszaki adatok",
"Remote Address: %s" : "Távoli cím: %s",
"Request ID: %s" : "Kérésazonosító: %s",
"Type: %s" : "Típus: %s",
@@ -338,7 +474,7 @@ OC.L10N.register(
"Password sent!" : "Jelszó elküldve.",
"You are not authorized to request a password for this share" : "Nincs jogosultsága, hogy jelszót kérjen ehhez a megosztáshoz",
"Two-factor authentication" : "Kétfaktoros hitelesítés",
- "Enhanced security is enabled for your account. Choose a second factor for authentication:" : "A fokozott biztonság engedélyezett a fiókja számára. Válasszon egy második faktort a hitelesítéshez.",
+ "Enhanced security is enabled for your account. Choose a second factor for authentication:" : "A fokozott biztonság engedélyezett a fiókja számára. Válasszon egy második faktort a hitelesítéshez:",
"Could not load at least one of your enabled two-factor auth methods. Please contact your admin." : "Nem lehet betölteni legalább egy engedélyezett kétfaktoros hitelesítési módot. Lépjen kapcsolatba a rendszergazdával.",
"Two-factor authentication is enforced but has not been configured on your account. Contact your admin for assistance." : "A kétfaktoros hitelesítés kötelező, de még nem lett beállítva a fiókjához. Segítségért lépjen kapcsolatba a rendszergazdával.",
"Two-factor authentication is enforced but has not been configured on your account. Please continue to setup two-factor authentication." : "A kétfaktoros hitelesítés be van tartatva, de nincs beállítva a fiókján. Folytassa a kétfaktoros hitelesítés beállításával.",
@@ -368,7 +504,7 @@ OC.L10N.register(
"Maintenance mode" : "Karbantartási üzemmód",
"This %s instance is currently in maintenance mode, which may take a while." : "Ez a %s példány éppen karbantartási üzemmódban van, amely eltarthat egy darabig.",
"This page will refresh itself when the instance is available again." : "Ez az oldal frissíteni fogja magát, amint a példány ismét elérhető lesz.",
- "Contact your system administrator if this message persists or appeared unexpectedly." : "Ha ez az üzenet mindig vagy váratlanul megjelenik, akkor keresse fel a rendszergazdáját!",
+ "Contact your system administrator if this message persists or appeared unexpectedly." : "Ha ez az üzenet mindig vagy váratlanul megjelenik, akkor keresse fel a rendszergazdáját.",
"Chatting, video calls, screensharing, online meetings and web conferencing – in your browser and with mobile apps." : "Csevegés, videóhívások, képernyőmegosztás, online megbeszélések és webes konferencia – a böngészőjében és mobilalkalmazásokkal.",
"You have not added any info yet" : "Még nem adott meg semmilyen információt",
"{user} has not added any info yet" : "{user} még nem adott meg semmilyen információt",
diff --git a/core/l10n/hu.json b/core/l10n/hu.json
index 4c43a871cd6..a450c0177f2 100644
--- a/core/l10n/hu.json
+++ b/core/l10n/hu.json
@@ -5,7 +5,7 @@
"The selected file cannot be read." : "A kiválasztott fájl nem olvasható.",
"The file was uploaded" : "A fájl feltöltve",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "A feltöltött fájl meghaladja a php.ini-ben szereplő upload_max_filesize direktívában megadott méretet",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "A feltöltött fájl meghaladja a HTML űrlapon megadott MAX_FILE_SIZE direktívában meghatározott méretet.",
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "A feltöltött fájl meghaladja a HTML űrlapon megadott MAX_FILE_SIZE direktívában meghatározott méretet",
"The file was only partially uploaded" : "A fájl csak részben került feltöltésre",
"No file was uploaded" : "Egyetlen fájl sem töltődött fel",
"Missing a temporary folder" : "Hiányzik egy ideiglenes mappa",
@@ -25,6 +25,7 @@
"Could not complete login" : "A bejelentkezés nem fejezhető be",
"State token missing" : "Az állapottoken hiányzik",
"Your login token is invalid or has expired" : "A bejelentkezési token érvénytelen vagy lejárt",
+ "Please use original client" : "Használja az eredeti klienset",
"This community release of Nextcloud is unsupported and push notifications are limited." : "A Nextcloud e közösségi kiadása nem támogatott, és a leküldéses értesítések korlátozottak.",
"Login" : "Bejelentkezés",
"Unsupported email length (>255)" : "Nem támogatott hosszúságú e-mail-cím (>255)",
@@ -41,6 +42,7 @@
"Task not found" : "A feladat nem található",
"Internal error" : "Belső hiba",
"Not found" : "Nem található",
+ "Node is locked" : "A csomópont zárolva van",
"Bad request" : "Hibás kérés",
"Requested task type does not exist" : "A kért feladattípus nem létezik",
"Necessary language model provider is not available" : "A szükséges nyelvimodell-szolgáltató nem érhető el",
@@ -77,8 +79,125 @@
"%s (incompatible)" : "%s (nem kompatibilis)",
"The following apps have been disabled: %s" : "A következő alkalmazások le lettek tiltva: %s",
"Already up to date" : "Már naprakész",
+ "Windows Command Script" : "Windows-parancsfájl",
+ "Electronic book document" : "Elektronikus könyvdokumentum",
+ "TrueType Font Collection" : "TrueType betűkészlet-gyűjtemény",
+ "Web Open Font Format" : "Nyílt webes betűkészlet-formátum",
+ "GPX geographic data" : "GPX földrajzi adatok",
+ "Gzip archive" : "Gzip-archívum",
+ "Adobe Illustrator document" : "Adobe Illustrator-dokumentum",
+ "Java source code" : "Java-forrásfájl",
+ "JavaScript source code" : "JavaScript-forrásfájl",
+ "JSON document" : "JSON-dokumentum",
+ "Microsoft Access database" : "Microsoft Excel-adatbázis",
+ "Microsoft OneNote document" : "Microsfot OneNote-dokumentum",
+ "Microsoft Word document" : "Microsoft Word dokumentum",
"Unknown" : "Ismeretlen",
- "PNG image" : "PNG kép",
+ "PDF document" : "PDF-dokumentum",
+ "PostScript document" : "PostScript-dokumentum",
+ "RSS summary" : "RSS-összefoglaló",
+ "Android package" : "Android-csomag",
+ "KML geographic data" : "KML földrajzi adatok",
+ "KML geographic compressed data" : "KML tömörített földrajzi adatok",
+ "Lotus Word Pro document" : "Lotus Word Pro-dokumentum",
+ "Excel spreadsheet" : "Excel-munkafüzet",
+ "Excel add-in" : "Excel-bővítmény",
+ "Excel 2007 binary spreadsheet" : "Excel 2007 bináris munkafüzet",
+ "Excel spreadsheet template" : "Excel-munkafüzetsablon",
+ "Outlook Message" : "Outlook-üzenet",
+ "PowerPoint presentation" : "PowerPoint-bemutató",
+ "PowerPoint add-in" : "PowerPoint-bővítmény",
+ "PowerPoint presentation template" : "PowerPoint-bemutatósablon",
+ "Word document" : "Word-dokumentum",
+ "ODF formula" : "ODF-képlet",
+ "ODG drawing" : "ODG-rajz",
+ "ODG drawing (Flat XML)" : "ODG-rajz (lapos XML)",
+ "ODG template" : "ODG-sablon",
+ "ODP presentation" : "ODP-bemutató",
+ "ODP presentation (Flat XML)" : "ODP-bemutató (lapos XML)",
+ "ODP template" : "ODF-sablon",
+ "ODS spreadsheet" : "ODS-munkafüzet",
+ "ODS spreadsheet (Flat XML)" : "ODS-munkafüzet (lapos XML)",
+ "ODS template" : "ODS-sablon",
+ "ODT document" : "ODT-dokumentum",
+ "ODT document (Flat XML)" : "ODT-sablon (lapos XML)",
+ "ODT template" : "ODT-sablon",
+ "PowerPoint 2007 presentation" : "PowerPoint 2007-bemutató",
+ "PowerPoint 2007 show" : "PowerPoint 2007-vetítés",
+ "PowerPoint 2007 presentation template" : "PowerPoint 2007-bemutatósablon",
+ "Excel 2007 spreadsheet" : "Excel 2007-munkafüzet",
+ "Excel 2007 spreadsheet template" : "Excel 2007-munkafüzetsablon",
+ "Word 2007 document" : "Word 2007-dokumentum",
+ "Word 2007 document template" : "Word 2007-dokumentumsablon",
+ "Microsoft Visio document" : "Microsoft Visio-dokumentum",
+ "WordPerfect document" : "WordPerfect-dokumentum",
+ "7-zip archive" : "7-zip-archívum",
+ "Blender scene" : "Blender-jelenet",
+ "Bzip2 archive" : "Bzip2-archívum",
+ "Debian package" : "Debian-csomag",
+ "FictionBook document" : "FictionBook-dokumentum",
+ "Unknown font" : "Ismeretlen betűkészlet",
+ "Krita document" : "Krita-dokumentum",
+ "Mobipocket e-book" : "Mobipocket ekönyv",
+ "Windows Installer package" : "Windows Installer-csomag",
+ "Perl script" : "Perl-parancsfájl",
+ "PHP script" : "PHP-parancsfájl",
+ "Tar archive" : "Tar-archívum",
+ "XML document" : "XML-dokumentum",
+ "YAML document" : "YAML-dokumentum",
+ "Zip archive" : "Zip-archívum",
+ "Zstandard archive" : "Zstandard-archívum",
+ "AAC audio" : "AAC-hang",
+ "FLAC audio" : "FLAC-hang",
+ "MPEG-4 audio" : "MPEG-4-hang",
+ "MP3 audio" : "MP3-hang",
+ "Ogg audio" : "Ogg-hang",
+ "RIFF/WAVe standard Audio" : "RIFF/WAVe szabványos hang",
+ "WebM audio" : "WebM-hang",
+ "MP3 ShoutCast playlist" : "MP3 ShoutCast-lejátszólista",
+ "Windows BMP image" : "Windows BMP-kép",
+ "Better Portable Graphics image" : "Better Portable Graphics-kép",
+ "EMF image" : "EMF-kép",
+ "GIF image" : "GIF-kép",
+ "HEIC image" : "HEIC-kép",
+ "HEIF image" : "HEIF-kép",
+ "JPEG-2000 JP2 image" : "JPEG-2000 JP2-kép",
+ "JPEG image" : "JPEG-kép",
+ "PNG image" : "PNG-kép",
+ "SVG image" : "SVG-kép",
+ "Truevision Targa image" : "Truevision Targa-kép",
+ "TIFF image" : "TIFF-kép",
+ "WebP image" : "WebP-kép",
+ "Digital raw image" : "Digitális nyerskép",
+ "Windows Icon" : "Windows-ikon",
+ "Email message" : "E-mail-üzenet",
+ "VCS/ICS calendar" : "VCS/ICS-naptár",
+ "CSS stylesheet" : "CSS-stíluslap",
+ "CSV document" : "CSV-dokumentum",
+ "HTML document" : "HTML-dokumentum",
+ "Markdown document" : "Markdown-dokumentum",
+ "Org-mode file" : "Org-mode-fájl",
+ "Plain text document" : "Egyszerű szöveges dokumentum",
+ "Rich Text document" : "Rich Text-dokumentum",
+ "Electronic business card" : "Elektronikus névjegykártya",
+ "C++ source code" : "C++-forráskód",
+ "LDIF address book" : "LDIF-címjegyzék",
+ "NFO document" : "NFO-dokumentum",
+ "PHP source" : "PHP-forráskód",
+ "Python script" : "Python-parancsfájl",
+ "ReStructuredText document" : "ReStructuredText-dokumentum",
+ "3GPP multimedia file" : "3GPP-multimédiafájl",
+ "MPEG video" : "MPEG-videó",
+ "DV video" : "DV-videó",
+ "MPEG-2 transport stream" : "MPEG-2 átviteli adatfolyam",
+ "MPEG-4 video" : "MPEG-4-videó",
+ "Ogg video" : "Ogg-videó",
+ "QuickTime video" : "QuickTime-videó",
+ "WebM video" : "WebM-videó",
+ "Flash video" : "FLash-videó",
+ "Matroska video" : "Matroska-videó",
+ "Windows Media video" : "Windows Media-videó",
+ "AVI video" : "AVI-videó",
"Error occurred while checking server setup" : "Hiba történt a kiszolgálóbeállítások ellenőrzésekor",
"For more details see the {linkstart}documentation ↗{linkend}." : "További részletekért lásd a {linkstart}dokumentációt↗{linkend}.",
"unknown text" : "ismeretlen szöveg",
@@ -146,6 +265,8 @@
"Account name" : "Fiók neve",
"Server side authentication failed!" : "A kiszolgálóoldali hitelesítés sikertelen.",
"Please contact your administrator." : "Lépjen kapcsolatba a rendszergazdával.",
+ "Session error" : "Munkamenethiba",
+ "It appears your session token has expired, please refresh the page and try again." : "Úgy tűnik, hogy a munkamenettoken lejárt, frissítse az oldalt, és próbálja újra.",
"An internal error occurred." : "Belső hiba történt.",
"Please try again or contact your administrator." : "Próbálja meg újra, vagy vegye fel a kapcsolatot a rendszergazdával.",
"Password" : "Jelszó",
@@ -163,7 +284,7 @@
"Password cannot be changed. Please contact your administrator." : "A jelszó nem módosítható. Lépjen kapcsolatba a rendszergazdával.",
"New password" : "Új jelszó",
"Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?" : "A fájljai titkosítva vannak. A jelszó visszaállítása után sehogy sem fogja tudja visszaszerezni azokat. Ha nem tudja mi a teendő, akkor beszéljen a helyi rendszergazdával. Biztos, hogy folytatja?",
- "I know what I'm doing" : "Tudom mit csinálok.",
+ "I know what I'm doing" : "Tudom mit csinálok",
"Resetting password" : "Jelszó visszaállítása",
"Schedule work & meetings, synced with all your devices." : "Ütemezett munkáját és találkozóit, szinkronizálva az összes eszközén.",
"Keep your colleagues and friends in one place without leaking their private info." : "Tartsa egy helyen kollégáit és barátait, anélkül hogy kiszivárogtatná a személyes adataikat.",
@@ -205,35 +326,49 @@
"Login form is disabled." : "A bejelentkezési űrlap letiltva.",
"The Nextcloud login form is disabled. Use another login option if available or contact your administration." : "A Nextcloud bejelentkezési űrlap le van tiltva. Használjon más bejelentkezési lehetőséget, ha van ilyen, vagy lépjen kapcsolatba az adminisztrációval.",
"More actions" : "További műveletek",
+ "User menu" : "Felhasználói menü",
+ "You will be identified as {user} by the account owner." : "A fióktulajdonos által {user} felhasználóként lesz azonosítva.",
+ "You are currently not identified." : "Jelenleg nincs azonosítva.",
+ "Set public name" : "Nyilvános név beállítása",
+ "Change public name" : "Nyilvános név módosítása",
"Password is too weak" : "Jelszó túl gyenge",
- "Password is weak" : "Jelszó gyenge",
- "Password is average" : "Jelszó átlagos",
+ "Password is weak" : "A jelszó gyenge",
+ "Password is average" : "A jelszó átlagos",
"Password is strong" : "A jelszó erős",
"Password is very strong" : "A jelszó nagyon erős",
- "Password is extremely strong" : "A jelszó extrém erős",
- "Unknown password strength" : "Ismeretlen jelszó erősség",
+ "Password is extremely strong" : "A jelszó kiemelkedően erős",
+ "Unknown password strength" : "Ismeretlen jelszóerősség",
+ "Your data directory and files are probably accessible from the internet because the <code>.htaccess</code> file does not work." : "Az adatkönyvtára és a fájljai valószínűleg elérhetőek az internetről, mert a <code>.htaccess</code> fájl nem működik.",
+ "For information how to properly configure your server, please {linkStart}see the documentation{linkEnd}" : "A kiszolgáló helyes beállításához {linkStart}tekintse meg a dokumentációt{linkEnd}",
"Autoconfig file detected" : "Autoconfig fájl felismerve",
+ "The setup form below is pre-filled with the values from the config file." : "A lenti beállítási űrlap a konfigurációs fájlban lévő értékekkel van előre kitöltve.",
"Security warning" : "Biztonsági figyelmeztetés",
+ "Create administration account" : "Rendszergazdai fiók létrehozása",
+ "Administration account name" : "Rendszergazdai fiók neve",
+ "Administration account password" : "Rendszergazdai fiók jelszava",
"Storage & database" : "Tárhely és adatbázis",
- "Data folder" : "Adat mappa",
+ "Data folder" : "Adatmappa",
+ "Database configuration" : "Adatbázis-beállítások",
+ "Only {firstAndOnlyDatabase} is available." : "Csak a(z) {firstAndOnlyDatabase} érhető el.",
"Install and activate additional PHP modules to choose other database types." : "Telepítse és aktiválja a bővített PHP modulokat, hogy tudjon más adatbázis típust is kiválasztani.",
"For more details check out the documentation." : "További részletekért nézze meg a dokumentációt.",
"Performance warning" : "Teljesítménybeli figyelmeztetés",
"You chose SQLite as database." : "SQLite adatbázist választott.",
"SQLite should only be used for minimal and development instances. For production we recommend a different database backend." : "Az SQLite-ot csak minimális és fejlesztési célú példányok esetén szabad használni. Éles működés esetén más adatbázis-kezelőt ajánlunk.",
"If you use clients for file syncing, the use of SQLite is highly discouraged." : "Ha klienseket használt a fájlszinkronizáláshoz, akkor az SQLite használata erősen ellenjavallt.",
- "Database user" : "Adatbázis felhasználónév",
- "Database password" : "Adatbázis jelszó",
- "Database name" : "Az adatbázis neve",
- "Database tablespace" : "Az adatbázis táblázattér (tablespace)",
+ "Database user" : "Adatbázis-felhasználó",
+ "Database password" : "Adatbázisjelszó",
+ "Database name" : "Adatbázis neve",
+ "Database tablespace" : "Adatbázis táblatere",
"Please specify the port number along with the host name (e.g., localhost:5432)." : "Adja meg a port számát a kiszolgáló neve után (például localhost:5432).",
"Database host" : "Adatbázis-kiszolgáló",
+ "localhost" : "localhost",
"Installing …" : "Telepítés…",
"Install" : "Telepítés",
"Need help?" : "Segítségre van szüksége?",
"See the documentation" : "Nézze meg a dokumentációt",
"{name} version {version} and above" : "{name} {version} verziója, és újabb",
- "This browser is not supported" : "Ez a böngésző nem támogatott.",
+ "This browser is not supported" : "Ez a böngésző nem támogatott",
"Your browser is not supported. Please upgrade to a newer version or a supported one." : "A böngészője nem támogatott. Frissítsen újabb verzióra, vagy váltson egy támogatott böngészőre.",
"Continue with this unsupported browser" : "Folytatás ezzel a nem támogatott böngészővel",
"Supported versions" : "Támogatott verziók",
@@ -257,7 +392,7 @@
"(all selected)" : "(összes kiválasztva)",
"({count} selected)" : "({count} kiválasztva)",
"Error loading file exists template" : "Hiba a „fájl már létezik” sablon betöltésekor",
- "Saving …" : "Mentés ...",
+ "Saving …" : "Mentés…",
"seconds ago" : "pár másodperce",
"Connection to server lost" : "A kapcsolat megszakadt a kiszolgálóval",
"_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Probléma az oldal betöltésekor, újratöltés %n másodperc múlva","Probléma az oldal betöltésekor, újratöltés %n másodperc múlva"],
@@ -270,7 +405,7 @@
"Failed to add the item to the project" : "Az elem hozzáadása a projekthez sikertelen",
"Connect items to a project to make them easier to find" : "Kössön hozzá elemeket a projekthez, hogy könnyebben megtalálhatóak legyenek",
"Type to search for existing projects" : "Gépeljen a meglévő projektet kereséséhez",
- "New in" : "Új itt",
+ "New in" : "Újdonságok a következőben:",
"View changelog" : "Változásnapló megtekintése",
"No action available" : "Nincs elérhető művelet",
"Error fetching contact actions" : "Hiba a kapcsolati műveletek lekérésekor",
@@ -283,12 +418,13 @@
"Rename" : "Átnevezés",
"Collaborative tags" : "Együttműködési címkék",
"No tags found" : "Nem találhatók címkék",
- "Clipboard not available, please copy manually" : "A vágólap nem érhető el. Másolja át kézileg.",
+ "Clipboard not available, please copy manually" : "A vágólap nem érhető el, másolja kézileg",
"Personal" : "Személyes",
"Accounts" : "Fiókok",
"Admin" : "Rendszergazda",
"Help" : "Súgó",
"Access forbidden" : "A hozzáférés nem engedélyezett",
+ "You are not allowed to access this page." : "Nem férhet hozzá ehhez az oldalhoz.",
"Back to %s" : "Vissza ide %s",
"Page not found" : "Az oldal nem található",
"The page could not be found on the server or you may not be allowed to view it." : "Az oldal nem található a kiszolgálón, vagy lehet, hogy nincs engedélye arra, hogy megnézze.",
@@ -300,7 +436,7 @@
"If this happens again, please send the technical details below to the server administrator." : "Ha ez még egyszer előfordul küldd el az alábbi technikai részleteket a rendszergazdának.",
"More details can be found in the server log." : "További részletek találhatók a kiszolgáló naplójában.",
"For more details see the documentation ↗." : "További részletekért nézze meg a dokumentációt ↗.",
- "Technical details" : "Technikai adatok",
+ "Technical details" : "Műszaki adatok",
"Remote Address: %s" : "Távoli cím: %s",
"Request ID: %s" : "Kérésazonosító: %s",
"Type: %s" : "Típus: %s",
@@ -336,7 +472,7 @@
"Password sent!" : "Jelszó elküldve.",
"You are not authorized to request a password for this share" : "Nincs jogosultsága, hogy jelszót kérjen ehhez a megosztáshoz",
"Two-factor authentication" : "Kétfaktoros hitelesítés",
- "Enhanced security is enabled for your account. Choose a second factor for authentication:" : "A fokozott biztonság engedélyezett a fiókja számára. Válasszon egy második faktort a hitelesítéshez.",
+ "Enhanced security is enabled for your account. Choose a second factor for authentication:" : "A fokozott biztonság engedélyezett a fiókja számára. Válasszon egy második faktort a hitelesítéshez:",
"Could not load at least one of your enabled two-factor auth methods. Please contact your admin." : "Nem lehet betölteni legalább egy engedélyezett kétfaktoros hitelesítési módot. Lépjen kapcsolatba a rendszergazdával.",
"Two-factor authentication is enforced but has not been configured on your account. Contact your admin for assistance." : "A kétfaktoros hitelesítés kötelező, de még nem lett beállítva a fiókjához. Segítségért lépjen kapcsolatba a rendszergazdával.",
"Two-factor authentication is enforced but has not been configured on your account. Please continue to setup two-factor authentication." : "A kétfaktoros hitelesítés be van tartatva, de nincs beállítva a fiókján. Folytassa a kétfaktoros hitelesítés beállításával.",
@@ -366,7 +502,7 @@
"Maintenance mode" : "Karbantartási üzemmód",
"This %s instance is currently in maintenance mode, which may take a while." : "Ez a %s példány éppen karbantartási üzemmódban van, amely eltarthat egy darabig.",
"This page will refresh itself when the instance is available again." : "Ez az oldal frissíteni fogja magát, amint a példány ismét elérhető lesz.",
- "Contact your system administrator if this message persists or appeared unexpectedly." : "Ha ez az üzenet mindig vagy váratlanul megjelenik, akkor keresse fel a rendszergazdáját!",
+ "Contact your system administrator if this message persists or appeared unexpectedly." : "Ha ez az üzenet mindig vagy váratlanul megjelenik, akkor keresse fel a rendszergazdáját.",
"Chatting, video calls, screensharing, online meetings and web conferencing – in your browser and with mobile apps." : "Csevegés, videóhívások, képernyőmegosztás, online megbeszélések és webes konferencia – a böngészőjében és mobilalkalmazásokkal.",
"You have not added any info yet" : "Még nem adott meg semmilyen információt",
"{user} has not added any info yet" : "{user} még nem adott meg semmilyen információt",
diff --git a/core/l10n/tr.js b/core/l10n/tr.js
index ab89ca6ef6b..ae1275fa13c 100644
--- a/core/l10n/tr.js
+++ b/core/l10n/tr.js
@@ -44,6 +44,7 @@ OC.L10N.register(
"Task not found" : "Görev bulunamadı",
"Internal error" : "İçeride bir sorun çıktı",
"Not found" : "Bulunamadı",
+ "Node is locked" : "Düğüm kilitlenmiş",
"Bad request" : "İstek hatalı",
"Requested task type does not exist" : "İstenilen görev türü bulunamadı",
"Necessary language model provider is not available" : "Gerekli dil modeli sağlayıcısı kullanılamıyor",
@@ -64,24 +65,141 @@ OC.L10N.register(
"Enter your subscription key in the support app in order to increase the account limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Hesap sayısı sınırını artırmak için destek uygulamasına abonelik kodunuzu yazın. Bu ayrıca size Nextcloud Enterprise sürümünün sunduğu ve kurumsal operasyonlar için önemle önerilen tüm ek faydaları sağlar.",
"Learn more ↗" : "Ayrıntılı bilgi alın ↗",
"Preparing update" : "Güncelleme hazırlanıyor",
- "Please use the command line updater because updating via browser is disabled in your config.php." : "Tarayıcı üzerinden güncelleme config.php dosyasında devre dışı bırakılmış olduğundan, komut satırı güncelleyicisini kullanın.",
+ "Please use the command line updater because updating via browser is disabled in your config.php." : "Tarayıcı üzerinden güncelleme özelliği config.php dosyasından kapatılmış olduğundan, komut satırı güncelleyicisini kullanın.",
"Turned on maintenance mode" : "Bakım kipi açıldı",
"Turned off maintenance mode" : "Bakım kipi kapatıldı",
"Maintenance mode is kept active" : "Bakım kipi kullanımda tutuldu",
- "Updating database schema" : "Veritabanı şeması güncelleniyor",
- "Updated database" : "Veritabanı güncellendi",
+ "Updating database schema" : "Veri tabanı şeması güncelleniyor",
+ "Updated database" : "Veri tabanı güncellendi",
"Update app \"%s\" from App Store" : "Uygulama mağazasından \"%s\" uygulamasını güncelle",
- "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "%s için veritabanı şeması güncellemesi denetleniyor (veri tabanının büyüklüğüne bağlı olarak uzun sürebilir)",
+ "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "%s için veri tabanı şeması güncellemesi denetleniyor (veri tabanının büyüklüğüne bağlı olarak uzun sürebilir)",
"Updated \"%1$s\" to %2$s" : "\"%1$s\", %2$s sürümüne güncellendi",
"Set log level to debug" : "Günlük kaydı düzeyi hata ayıklama olarak ayarlanıyor",
"Reset log level" : "Günlük kaydı düzeyi sıfırlanıyor",
"Starting code integrity check" : "Kod bütünlüğü sınaması başlatılıyor",
"Finished code integrity check" : "Kod bütünlüğü sınaması tamamlandı",
"%s (incompatible)" : "%s (uyumsuz)",
- "The following apps have been disabled: %s" : "Şu uygulamalar devre dışı bırakıldı: %s",
+ "The following apps have been disabled: %s" : "Şu uygulamalar kullanımdan kaldırıldı: %s",
"Already up to date" : "Zaten güncel",
+ "Windows Command Script" : "Windows komut satırı betiği",
+ "Electronic book document" : "Elektronik kitap belgesi",
+ "TrueType Font Collection" : "TrueType yazı tipi derlemesi",
+ "Web Open Font Format" : "Web Open yazı tipi biçimi",
+ "GPX geographic data" : "GPX coğrafi verileri",
+ "Gzip archive" : "Gzip arşivi",
+ "Adobe Illustrator document" : "Adobe Illustrator belgesi",
+ "Java source code" : "Java kaynak kodu",
+ "JavaScript source code" : "JavaScript kaynak kodu",
+ "JSON document" : "JSON belgesi",
+ "Microsoft Access database" : "Microsoft Access veri tabanı",
+ "Microsoft OneNote document" : "Microsoft OneNote belgesi",
+ "Microsoft Word document" : "Microsoft Word belgesi",
"Unknown" : "Bilinmiyor",
- "PNG image" : "PNG Görseli",
+ "PDF document" : "PDF belgesi",
+ "PostScript document" : "PostScript belgesi",
+ "RSS summary" : "RSS özeti",
+ "Android package" : "Android paketi",
+ "KML geographic data" : "KML coğrafi verileri",
+ "KML geographic compressed data" : "KML sıkıştırılmış coğrafi verileri",
+ "Lotus Word Pro document" : "Lotus Word Pro belgesi",
+ "Excel spreadsheet" : "Excel çalışma sayfası",
+ "Excel add-in" : "Excel eklentisi",
+ "Excel 2007 binary spreadsheet" : "Excel 2007 binary çalışma sayfası",
+ "Excel spreadsheet template" : "Excel çalışma sayfası kalıbı",
+ "Outlook Message" : "Outlook iletisi",
+ "PowerPoint presentation" : "PowerPoint sunumu",
+ "PowerPoint add-in" : "PowerPoint eklentisi",
+ "PowerPoint presentation template" : "PowerPoint sunumu kalıbı",
+ "Word document" : "Word belgesi",
+ "ODF formula" : "ODF formülü",
+ "ODG drawing" : "ODG çizimi",
+ "ODG drawing (Flat XML)" : "ODG çizimi (Düz XML)",
+ "ODG template" : "ODG kalıbı",
+ "ODP presentation" : "ODP sunumu",
+ "ODP presentation (Flat XML)" : "ODP sunumu (Düz XML)",
+ "ODP template" : "ODP kalıbı",
+ "ODS spreadsheet" : "ODS çalışma sayfası",
+ "ODS spreadsheet (Flat XML)" : "ODS çalışma sayfası (Düz XML)",
+ "ODS template" : "ODS kalıbı",
+ "ODT document" : "ODT belgesi",
+ "ODT document (Flat XML)" : "ODT belgesi (Düz XML)",
+ "ODT template" : "ODT kalıbı",
+ "PowerPoint 2007 presentation" : "PowerPoint 2007 sunumu",
+ "PowerPoint 2007 show" : "PowerPoint 2007 gösterisi",
+ "PowerPoint 2007 presentation template" : "PowerPoint 2007 sunumu kalıbı",
+ "Excel 2007 spreadsheet" : "Excel 2007 çalışma sayfası",
+ "Excel 2007 spreadsheet template" : "Excel 2007 çalışma sayfası kalıbı",
+ "Word 2007 document" : "Word 2007 belgesi",
+ "Word 2007 document template" : "Word 2007 belgesi kalıbı",
+ "Microsoft Visio document" : "Microsoft Visio belgesi",
+ "WordPerfect document" : "WordPerfect belgesi",
+ "7-zip archive" : "7-zip arşivi",
+ "Blender scene" : "Blender manzarası",
+ "Bzip2 archive" : "Bzip2 arşivi",
+ "Debian package" : "Debian paketi",
+ "FictionBook document" : "FictionBook belgesi",
+ "Unknown font" : "Yazı tipi bilinmiyor",
+ "Krita document" : "Krita belgesi",
+ "Mobipocket e-book" : "Mobipocket e-kitabı",
+ "Windows Installer package" : "Windows kurulum paketi",
+ "Perl script" : "Perl betiği",
+ "PHP script" : "PHP betiği",
+ "Tar archive" : "Tar arşivi",
+ "XML document" : "XML belgesi",
+ "YAML document" : "YAML belgesi",
+ "Zip archive" : "Zip arşivi",
+ "Zstandard archive" : "Zstandard arşivi",
+ "AAC audio" : "AAC ses dosyası",
+ "FLAC audio" : "FLAC ses dosyası",
+ "MPEG-4 audio" : "MPEG-4 ses dosyası",
+ "MP3 audio" : "MP3 ses dosyası",
+ "Ogg audio" : "Ogg ses dosyası",
+ "RIFF/WAVe standard Audio" : "RIFF/WAVe standart ses dosyası",
+ "WebM audio" : "WebM ses dosyası",
+ "MP3 ShoutCast playlist" : "MP3 ShoutCast oynatma listesi",
+ "Windows BMP image" : "Windows BMP görseli",
+ "Better Portable Graphics image" : "Better Portable Graphics görseli",
+ "EMF image" : "EMF görseli",
+ "GIF image" : "GIF görseli",
+ "HEIC image" : "HEIC görseli",
+ "HEIF image" : "HEIF görseli",
+ "JPEG-2000 JP2 image" : "JPEG-2000 JP2 görseli",
+ "JPEG image" : "JPEG görseli",
+ "PNG image" : "PNG görseli",
+ "SVG image" : "SVG görseli",
+ "Truevision Targa image" : "Truevision Targa görseli",
+ "TIFF image" : "TIFF görseli",
+ "WebP image" : "WebP görseli",
+ "Digital raw image" : "Dijital ham görseli",
+ "Windows Icon" : "Windows simgesi",
+ "Email message" : "E-posta iletisi",
+ "VCS/ICS calendar" : "VCS/ICS takvimi",
+ "CSS stylesheet" : "CSS biçem sayfası",
+ "CSV document" : "CSV belgesi",
+ "HTML document" : "HTML belgesi",
+ "Markdown document" : "Markdown belgesi",
+ "Org-mode file" : "Org-mode dosyası",
+ "Plain text document" : "Düz metin belgesi",
+ "Rich Text document" : "Zengin metin belgesi",
+ "Electronic business card" : "Elektronik kartvizit",
+ "C++ source code" : "C++ kaynak kodu",
+ "LDIF address book" : "LDIF adres defteri",
+ "NFO document" : "NFO belgesi",
+ "PHP source" : "PHP kaynak kodu",
+ "Python script" : "Python betiği",
+ "ReStructuredText document" : "ReStructuredText belgesi",
+ "3GPP multimedia file" : "3GPP çoklu ortam dosyası",
+ "MPEG video" : "MPEG görüntü dosyası",
+ "DV video" : "DV görüntü dosyası",
+ "MPEG-2 transport stream" : "MPEG-2 aktarım akışı",
+ "MPEG-4 video" : "MPEG-4 görüntü dosyası",
+ "Ogg video" : "Ogg görüntü dosyası",
+ "QuickTime video" : "QuickTime görüntü dosyası",
+ "WebM video" : "WebM görüntü dosyası",
+ "Flash video" : "Flash görüntü dosyası",
+ "Matroska video" : "Matroska görüntü dosyası",
+ "Windows Media video" : "Windows Media görüntü dosyası",
+ "AVI video" : "AVI görüntü dosyası",
"Error occurred while checking server setup" : "Sunucu ayarları denetlenirken sorun çıktı",
"For more details see the {linkstart}documentation ↗{linkend}." : "Ayrıntılı bilgi almak için {linkstart}belgeler ↗{linkend} bölümüne bakabilirsiniz.",
"unknown text" : "bilinmeyen metin",
@@ -143,7 +261,7 @@ OC.L10N.register(
"Logging in …" : "Oturum açılıyor …",
"Log in to {productName}" : "{productName} oturumu aç",
"Wrong login or password." : "Hatalı kullanıcı adı ya da parolası.",
- "This account is disabled" : "Bu hesap devre dışı bırakılmış",
+ "This account is disabled" : "Bu hesap kullanımdan kaldırılmış",
"We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "IP adresinizden yapılan birden çok geçersiz oturum açma girişimi algılandı. Bu nedenle oturum açmanız 30 saniye süreyle engellendi.",
"Account name or email" : "Hesap adı ya da e-posta adresi",
"Account name" : "Hesap adı",
@@ -173,7 +291,7 @@ OC.L10N.register(
"Schedule work & meetings, synced with all your devices." : "İşlerinizi ve toplantılarınızı planlayın ve tüm aygıtlarınızla eşitleyin.",
"Keep your colleagues and friends in one place without leaking their private info." : "İş arkadaşlarınızın ve tanıdıklarınızın kayıtlarını kişisel bilgilerini sızdırmadan tek bir yerde tutun.",
"Simple email app nicely integrated with Files, Contacts and Calendar." : "Dosyalar, Kişiler ve Takvim uygulamaları ile bir arada çalışan basit bir e-posta uygulaması.",
- "Chatting, video calls, screen sharing, online meetings and web conferencing – in your browser and with mobile apps." : "Sohbet, görüntülü çağrı, ekran paylaşımı, çevrim içi toplantılar ve internet görüşmeleri - masaüstü ve mobil için uygulamalar.",
+ "Chatting, video calls, screen sharing, online meetings and web conferencing – in your browser and with mobile apps." : "Sohbet, görüntülü çağrı, ekran paylaşımı, çevrim içi toplantılar ve internet görüşmeleri. Bilgisayar ve mobil aygıtlar için uygulamalar.",
"Collaborative documents, spreadsheets and presentations, built on Collabora Online." : "Collabora Online üzerinde hazırlanmış iş birlikli çalışma belgeleri, hesap tabloları ve sunumlar.",
"Distraction free note taking app." : "Dikkatinizi dağıtmayan not alma uygulaması.",
"Recommended apps" : "Önerilen uygulamalar",
@@ -207,9 +325,14 @@ OC.L10N.register(
"Forgot password?" : "Parolamı unuttum",
"Back to login form" : "Oturum açma formuna dön",
"Back" : "Geri",
- "Login form is disabled." : "Oturum açma formu devre dışı bırakılmış.",
- "The Nextcloud login form is disabled. Use another login option if available or contact your administration." : "Nextcloud oturum açma formu devre dışı bırakılmış. Varsa başka bir oturum açma seçeneğini kullanın ya da yöneticiniz ile görüşün.",
+ "Login form is disabled." : "Oturum açma formu kullanımdan kaldırılmış.",
+ "The Nextcloud login form is disabled. Use another login option if available or contact your administration." : "Nextcloud oturum açma formu kullanımdan kaldırılmış. Varsa başka bir oturum açma seçeneğini kullanın ya da yöneticiniz ile görüşün.",
"More actions" : "Diğer işlemler",
+ "User menu" : "Kullanıcı menüsü",
+ "You will be identified as {user} by the account owner." : "Hesap sahibi tarafından {user} olarak tanınacaksınız.",
+ "You are currently not identified." : "Şu anda tanımlanmamışsınız.",
+ "Set public name" : "Herkese açık adı ayarla",
+ "Change public name" : "Herkese açık adı değiştir",
"Password is too weak" : "Parola çok kolay",
"Password is weak" : "Parola kolay",
"Password is average" : "Parola orta zorlukta",
@@ -225,22 +348,22 @@ OC.L10N.register(
"Create administration account" : "Yönetici hesabı oluştur",
"Administration account name" : "Yönetici hesabı kullanıcı adı",
"Administration account password" : "Yönetici hesabı parolası",
- "Storage & database" : "Depolama ve veritabanı",
+ "Storage & database" : "Depolama alanı ve veri tabanı",
"Data folder" : "Veri klasörü",
- "Database configuration" : "Veritabanı yapılandırması",
+ "Database configuration" : "Veri tabanı yapılandırması",
"Only {firstAndOnlyDatabase} is available." : "Yalnızca {firstAndOnlyDatabase} kullanılabilir.",
- "Install and activate additional PHP modules to choose other database types." : "Diğer veritabanı türlerini seçebilmek için ek PHP modüllerini kurun ve etkinleştirin.",
+ "Install and activate additional PHP modules to choose other database types." : "Diğer veri tabanı türlerini seçebilmek için ek PHP modüllerini kurun ve etkinleştirin.",
"For more details check out the documentation." : "Ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
"Performance warning" : "Başarım uyarısı",
- "You chose SQLite as database." : "Veritabanı olarak SQLite seçtiniz.",
- "SQLite should only be used for minimal and development instances. For production we recommend a different database backend." : "SQLite yalnızca küçük ve geliştirme ortamları için seçilmelidir. Üretim ortamları için farklı bir veritabanı kullanmanız önerilir.",
+ "You chose SQLite as database." : "Veri tabanı olarak SQLite seçtiniz.",
+ "SQLite should only be used for minimal and development instances. For production we recommend a different database backend." : "SQLite yalnızca küçük ve geliştirme ortamları için seçilmelidir. Üretim ortamları için farklı bir veri tabanı kullanmanız önerilir.",
"If you use clients for file syncing, the use of SQLite is highly discouraged." : "Dosya eşitlemesi için istemcileri kullanıyorsanız SQLite kullanımından kaçınmalısınız.",
- "Database user" : "Veritabanı kullanıcı adı",
- "Database password" : "Veritabanı parolası",
- "Database name" : "Veritabanı adı",
- "Database tablespace" : "Veritabanı tablo alanı",
+ "Database user" : "Veri tabanı kullanıcı adı",
+ "Database password" : "Veri tabanı parolası",
+ "Database name" : "Veri tabanı adı",
+ "Database tablespace" : "Veri tabanı tablo alanı",
"Please specify the port number along with the host name (e.g., localhost:5432)." : "Lütfen sunucu adının yanında bağlantı noktasını da belirtin (Örnek: localhost:5432).",
- "Database host" : "Veritabanı sunucusu",
+ "Database host" : "Veri tabanı sunucusu",
"localhost" : "localhost",
"Installing …" : "Kuruluyor…",
"Install" : "Kur",
@@ -272,7 +395,7 @@ OC.L10N.register(
"({count} selected)" : "({count} seçilmiş)",
"Error loading file exists template" : "Dosya var kalıbı yüklenirken sorun çıktı",
"Saving …" : "Kaydediliyor …",
- "seconds ago" : "saniyeler önce",
+ "seconds ago" : "saniye önce",
"Connection to server lost" : "Sunucu bağlantısı kesildi",
"_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Sayfa yüklenirken bir sorun çıktı. %n saniye sonra yeniden yüklenecek","Sayfa yüklenirken bir sorun çıktı. %n saniye sonra yeniden yüklenecek"],
"Add to a project" : "Bir projeye ekle",
@@ -303,6 +426,7 @@ OC.L10N.register(
"Admin" : "Yönetici",
"Help" : "Yardım",
"Access forbidden" : "Erişim engellendi",
+ "You are not allowed to access this page." : "Bu sayfaya erişme izniniz yok.",
"Back to %s" : "%s sayfasına dön",
"Page not found" : "Sayfa bulunamadı",
"The page could not be found on the server or you may not be allowed to view it." : "Sayfa sunucuda bulunamadı ya da görüntülemenize izin verilmiyor olabilir.",
@@ -350,15 +474,15 @@ OC.L10N.register(
"Password sent!" : "Parola gönderildi!",
"You are not authorized to request a password for this share" : "Bu paylaşım için parola isteğinde bulunma izniniz yok",
"Two-factor authentication" : "İki adımlı doğrulama",
- "Enhanced security is enabled for your account. Choose a second factor for authentication:" : "Hesabınız için gelişmiş güvenlik etkinleştirildi. Kimlik doğrulaması için bir ikinci aşama seçin:",
- "Could not load at least one of your enabled two-factor auth methods. Please contact your admin." : "Etkinleştirilmiş iki adımlı doğrulama yöntemlerinden en az biri yüklenemedi. Lütfen yöneticiniz ile görüşün.",
- "Two-factor authentication is enforced but has not been configured on your account. Contact your admin for assistance." : "İki adımlı doğrulama kullanımı zorunlu kılınmış ancak hesabınız için yapılandırılmamış. Yardım almak için sistem yöneticiniz ile görüşün.",
- "Two-factor authentication is enforced but has not been configured on your account. Please continue to setup two-factor authentication." : "İki adımlı doğrulama kullanımı dayatılmış ancak hesabınız için yapılandırılması tamamlanmamış. Lütfen işlemi sürdürmek için iki adımlı doğrulamayı kurun.",
+ "Enhanced security is enabled for your account. Choose a second factor for authentication:" : "Hesabınız için gelişmiş güvenlik etkinleştirildi. Kimlik doğrulaması için bir ikinci adım seçin:",
+ "Could not load at least one of your enabled two-factor auth methods. Please contact your admin." : "Kullanıma alınmış iki adımlı doğrulama yöntemlerinden en az biri yüklenemedi. Lütfen yöneticiniz ile görüşün.",
+ "Two-factor authentication is enforced but has not been configured on your account. Contact your admin for assistance." : "İki adımlı doğrulama kullanımı zorunlu kılınmış. Ancak hesabınız için yapılandırılmamış. Yardım almak için sistem yöneticiniz ile görüşün.",
+ "Two-factor authentication is enforced but has not been configured on your account. Please continue to setup two-factor authentication." : "İki adımlı doğrulama kullanımı zorunlu kılınmış. Ancak hesabınız için yapılandırılmamış. Lütfen işlemi sürdürmek için iki adımlı doğrulamayı kurun.",
"Set up two-factor authentication" : "İki adımlı doğrulama kurulumu",
"Two-factor authentication is enforced but has not been configured on your account. Use one of your backup codes to log in or contact your admin for assistance." : "İki adımlı doğrulama kullanımı zorunlu kılınmış ancak hesabınız için yapılandırılmamış. Yedek kodlarınızdan birini kullanın ya da yardım almak için sistem yöneticiniz ile görüşün.",
"Use backup code" : "Yedek kodu kullanacağım",
"Cancel login" : "Oturum açmaktan vazgeç",
- "Enhanced security is enforced for your account. Choose which provider to set up:" : "Hesabınız için gelişmiş güvenlik kullanımı dayatılmış. Kuracağınız hizmet sağlayıcıyı seçin:",
+ "Enhanced security is enforced for your account. Choose which provider to set up:" : "Hesabınız için gelişmiş güvenlik kullanımı zorunlu kılınmış. Kurulacak hizmet sağlayıcıyı seçin:",
"Error while validating your second factor" : "İkinci aşama doğrulanırken sorun çıktı",
"Access through untrusted domain" : "Güvenilmeyen etki alanı üzerinden erişim",
"Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Lütfen BT yöneticiniz ile görüşün. Yöneticisi siz iseniz, config/config.php dosyası içerisindeki \"trusted_domain\" ayarını config/config.sample.php dosyasındaki gibi düzenleyin.",
@@ -366,9 +490,9 @@ OC.L10N.register(
"App update required" : "Uygulamanın güncellenmesi gerekli",
"%1$s will be updated to version %2$s" : "%1$s, %2$s sürümüne güncellenecek",
"The following apps will be updated:" : "Şu uygulamalar güncellenecek:",
- "These incompatible apps will be disabled:" : "Şu uyumsuz uygulamalar devre dışı bırakılacak:",
- "The theme %s has been disabled." : "%s teması devre dışı bırakıldı.",
- "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "İlerlemeden önce lütfen veritabanı, yapılandırma klasörü ve veri klasörünün yedeklenmiş olduğundan emin olun.",
+ "These incompatible apps will be disabled:" : "Şu uyumsuz uygulamalar kullanımdan kaldırılacak:",
+ "The theme %s has been disabled." : "%s teması kullanımdan kaldırıldı.",
+ "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "İlerlemeden önce lütfen veri tabanı, yapılandırma klasörü ve veri klasörünün yedeklenmiş olduğundan emin olun.",
"Start update" : "Güncellemeyi başlat",
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Daha büyük kurulumlarda zaman aşımlarının önüne geçmek için, kurulum klasörünüzden şu komutu da çalıştırabilirsiniz:",
"Detailed logs" : "Ayrıntılı günlükler",
@@ -381,7 +505,7 @@ OC.L10N.register(
"This %s instance is currently in maintenance mode, which may take a while." : "Bu %s kopyası şu anda bakım kipinde, bu işlem biraz zaman alabilir.",
"This page will refresh itself when the instance is available again." : "Sistem yeniden kullanılabilir olduğunda bu sayfa kendiliğinden yenilenecek",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Bu ileti görüntülenmeyi sürdürüyor ya da beklenmedik şekilde ortaya çıkıyorsa BT yöneticiniz ile görüşün.",
- "Chatting, video calls, screensharing, online meetings and web conferencing – in your browser and with mobile apps." : "Sohbet, görüntülü çağrı, ekran paylaşımı, çevrim içi toplantılar ve internet görüşmeleri - masaüstü ve mobil için uygulamalar.",
+ "Chatting, video calls, screensharing, online meetings and web conferencing – in your browser and with mobile apps." : "Sohbet, görüntülü çağrı, ekran paylaşımı, çevrim içi toplantılar ve internet görüşmeleri. Bilgisayar ve mobil aygıtlar için uygulamalar.",
"You have not added any info yet" : "Henüz herhangi bir bilgi eklememişsiniz",
"{user} has not added any info yet" : "{user} henüz herhangi bir bilgi eklememiş",
"Error opening the user status modal, try hard refreshing the page" : "Üste açılan kullanıcı durumu penceresinde sorun çıktı. Sayfası temizleyerek yenilemeyi deneyin ",
@@ -403,6 +527,6 @@ OC.L10N.register(
"Toggle password visibility" : "Parolayı görüntüle/gizle",
"Configure the database" : "Veri tabanını yapılandır",
"Only %s is available." : "Yalnızca %s kullanılabilir.",
- "Database account" : "Veritabanı hesabı"
+ "Database account" : "Veri tabanı hesabı"
},
"nplurals=2; plural=(n > 1);");
diff --git a/core/l10n/tr.json b/core/l10n/tr.json
index 656bfa01926..16bf2c68f53 100644
--- a/core/l10n/tr.json
+++ b/core/l10n/tr.json
@@ -42,6 +42,7 @@
"Task not found" : "Görev bulunamadı",
"Internal error" : "İçeride bir sorun çıktı",
"Not found" : "Bulunamadı",
+ "Node is locked" : "Düğüm kilitlenmiş",
"Bad request" : "İstek hatalı",
"Requested task type does not exist" : "İstenilen görev türü bulunamadı",
"Necessary language model provider is not available" : "Gerekli dil modeli sağlayıcısı kullanılamıyor",
@@ -62,24 +63,141 @@
"Enter your subscription key in the support app in order to increase the account limit. This does also grant you all additional benefits that Nextcloud Enterprise offers and is highly recommended for the operation in companies." : "Hesap sayısı sınırını artırmak için destek uygulamasına abonelik kodunuzu yazın. Bu ayrıca size Nextcloud Enterprise sürümünün sunduğu ve kurumsal operasyonlar için önemle önerilen tüm ek faydaları sağlar.",
"Learn more ↗" : "Ayrıntılı bilgi alın ↗",
"Preparing update" : "Güncelleme hazırlanıyor",
- "Please use the command line updater because updating via browser is disabled in your config.php." : "Tarayıcı üzerinden güncelleme config.php dosyasında devre dışı bırakılmış olduğundan, komut satırı güncelleyicisini kullanın.",
+ "Please use the command line updater because updating via browser is disabled in your config.php." : "Tarayıcı üzerinden güncelleme özelliği config.php dosyasından kapatılmış olduğundan, komut satırı güncelleyicisini kullanın.",
"Turned on maintenance mode" : "Bakım kipi açıldı",
"Turned off maintenance mode" : "Bakım kipi kapatıldı",
"Maintenance mode is kept active" : "Bakım kipi kullanımda tutuldu",
- "Updating database schema" : "Veritabanı şeması güncelleniyor",
- "Updated database" : "Veritabanı güncellendi",
+ "Updating database schema" : "Veri tabanı şeması güncelleniyor",
+ "Updated database" : "Veri tabanı güncellendi",
"Update app \"%s\" from App Store" : "Uygulama mağazasından \"%s\" uygulamasını güncelle",
- "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "%s için veritabanı şeması güncellemesi denetleniyor (veri tabanının büyüklüğüne bağlı olarak uzun sürebilir)",
+ "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "%s için veri tabanı şeması güncellemesi denetleniyor (veri tabanının büyüklüğüne bağlı olarak uzun sürebilir)",
"Updated \"%1$s\" to %2$s" : "\"%1$s\", %2$s sürümüne güncellendi",
"Set log level to debug" : "Günlük kaydı düzeyi hata ayıklama olarak ayarlanıyor",
"Reset log level" : "Günlük kaydı düzeyi sıfırlanıyor",
"Starting code integrity check" : "Kod bütünlüğü sınaması başlatılıyor",
"Finished code integrity check" : "Kod bütünlüğü sınaması tamamlandı",
"%s (incompatible)" : "%s (uyumsuz)",
- "The following apps have been disabled: %s" : "Şu uygulamalar devre dışı bırakıldı: %s",
+ "The following apps have been disabled: %s" : "Şu uygulamalar kullanımdan kaldırıldı: %s",
"Already up to date" : "Zaten güncel",
+ "Windows Command Script" : "Windows komut satırı betiği",
+ "Electronic book document" : "Elektronik kitap belgesi",
+ "TrueType Font Collection" : "TrueType yazı tipi derlemesi",
+ "Web Open Font Format" : "Web Open yazı tipi biçimi",
+ "GPX geographic data" : "GPX coğrafi verileri",
+ "Gzip archive" : "Gzip arşivi",
+ "Adobe Illustrator document" : "Adobe Illustrator belgesi",
+ "Java source code" : "Java kaynak kodu",
+ "JavaScript source code" : "JavaScript kaynak kodu",
+ "JSON document" : "JSON belgesi",
+ "Microsoft Access database" : "Microsoft Access veri tabanı",
+ "Microsoft OneNote document" : "Microsoft OneNote belgesi",
+ "Microsoft Word document" : "Microsoft Word belgesi",
"Unknown" : "Bilinmiyor",
- "PNG image" : "PNG Görseli",
+ "PDF document" : "PDF belgesi",
+ "PostScript document" : "PostScript belgesi",
+ "RSS summary" : "RSS özeti",
+ "Android package" : "Android paketi",
+ "KML geographic data" : "KML coğrafi verileri",
+ "KML geographic compressed data" : "KML sıkıştırılmış coğrafi verileri",
+ "Lotus Word Pro document" : "Lotus Word Pro belgesi",
+ "Excel spreadsheet" : "Excel çalışma sayfası",
+ "Excel add-in" : "Excel eklentisi",
+ "Excel 2007 binary spreadsheet" : "Excel 2007 binary çalışma sayfası",
+ "Excel spreadsheet template" : "Excel çalışma sayfası kalıbı",
+ "Outlook Message" : "Outlook iletisi",
+ "PowerPoint presentation" : "PowerPoint sunumu",
+ "PowerPoint add-in" : "PowerPoint eklentisi",
+ "PowerPoint presentation template" : "PowerPoint sunumu kalıbı",
+ "Word document" : "Word belgesi",
+ "ODF formula" : "ODF formülü",
+ "ODG drawing" : "ODG çizimi",
+ "ODG drawing (Flat XML)" : "ODG çizimi (Düz XML)",
+ "ODG template" : "ODG kalıbı",
+ "ODP presentation" : "ODP sunumu",
+ "ODP presentation (Flat XML)" : "ODP sunumu (Düz XML)",
+ "ODP template" : "ODP kalıbı",
+ "ODS spreadsheet" : "ODS çalışma sayfası",
+ "ODS spreadsheet (Flat XML)" : "ODS çalışma sayfası (Düz XML)",
+ "ODS template" : "ODS kalıbı",
+ "ODT document" : "ODT belgesi",
+ "ODT document (Flat XML)" : "ODT belgesi (Düz XML)",
+ "ODT template" : "ODT kalıbı",
+ "PowerPoint 2007 presentation" : "PowerPoint 2007 sunumu",
+ "PowerPoint 2007 show" : "PowerPoint 2007 gösterisi",
+ "PowerPoint 2007 presentation template" : "PowerPoint 2007 sunumu kalıbı",
+ "Excel 2007 spreadsheet" : "Excel 2007 çalışma sayfası",
+ "Excel 2007 spreadsheet template" : "Excel 2007 çalışma sayfası kalıbı",
+ "Word 2007 document" : "Word 2007 belgesi",
+ "Word 2007 document template" : "Word 2007 belgesi kalıbı",
+ "Microsoft Visio document" : "Microsoft Visio belgesi",
+ "WordPerfect document" : "WordPerfect belgesi",
+ "7-zip archive" : "7-zip arşivi",
+ "Blender scene" : "Blender manzarası",
+ "Bzip2 archive" : "Bzip2 arşivi",
+ "Debian package" : "Debian paketi",
+ "FictionBook document" : "FictionBook belgesi",
+ "Unknown font" : "Yazı tipi bilinmiyor",
+ "Krita document" : "Krita belgesi",
+ "Mobipocket e-book" : "Mobipocket e-kitabı",
+ "Windows Installer package" : "Windows kurulum paketi",
+ "Perl script" : "Perl betiği",
+ "PHP script" : "PHP betiği",
+ "Tar archive" : "Tar arşivi",
+ "XML document" : "XML belgesi",
+ "YAML document" : "YAML belgesi",
+ "Zip archive" : "Zip arşivi",
+ "Zstandard archive" : "Zstandard arşivi",
+ "AAC audio" : "AAC ses dosyası",
+ "FLAC audio" : "FLAC ses dosyası",
+ "MPEG-4 audio" : "MPEG-4 ses dosyası",
+ "MP3 audio" : "MP3 ses dosyası",
+ "Ogg audio" : "Ogg ses dosyası",
+ "RIFF/WAVe standard Audio" : "RIFF/WAVe standart ses dosyası",
+ "WebM audio" : "WebM ses dosyası",
+ "MP3 ShoutCast playlist" : "MP3 ShoutCast oynatma listesi",
+ "Windows BMP image" : "Windows BMP görseli",
+ "Better Portable Graphics image" : "Better Portable Graphics görseli",
+ "EMF image" : "EMF görseli",
+ "GIF image" : "GIF görseli",
+ "HEIC image" : "HEIC görseli",
+ "HEIF image" : "HEIF görseli",
+ "JPEG-2000 JP2 image" : "JPEG-2000 JP2 görseli",
+ "JPEG image" : "JPEG görseli",
+ "PNG image" : "PNG görseli",
+ "SVG image" : "SVG görseli",
+ "Truevision Targa image" : "Truevision Targa görseli",
+ "TIFF image" : "TIFF görseli",
+ "WebP image" : "WebP görseli",
+ "Digital raw image" : "Dijital ham görseli",
+ "Windows Icon" : "Windows simgesi",
+ "Email message" : "E-posta iletisi",
+ "VCS/ICS calendar" : "VCS/ICS takvimi",
+ "CSS stylesheet" : "CSS biçem sayfası",
+ "CSV document" : "CSV belgesi",
+ "HTML document" : "HTML belgesi",
+ "Markdown document" : "Markdown belgesi",
+ "Org-mode file" : "Org-mode dosyası",
+ "Plain text document" : "Düz metin belgesi",
+ "Rich Text document" : "Zengin metin belgesi",
+ "Electronic business card" : "Elektronik kartvizit",
+ "C++ source code" : "C++ kaynak kodu",
+ "LDIF address book" : "LDIF adres defteri",
+ "NFO document" : "NFO belgesi",
+ "PHP source" : "PHP kaynak kodu",
+ "Python script" : "Python betiği",
+ "ReStructuredText document" : "ReStructuredText belgesi",
+ "3GPP multimedia file" : "3GPP çoklu ortam dosyası",
+ "MPEG video" : "MPEG görüntü dosyası",
+ "DV video" : "DV görüntü dosyası",
+ "MPEG-2 transport stream" : "MPEG-2 aktarım akışı",
+ "MPEG-4 video" : "MPEG-4 görüntü dosyası",
+ "Ogg video" : "Ogg görüntü dosyası",
+ "QuickTime video" : "QuickTime görüntü dosyası",
+ "WebM video" : "WebM görüntü dosyası",
+ "Flash video" : "Flash görüntü dosyası",
+ "Matroska video" : "Matroska görüntü dosyası",
+ "Windows Media video" : "Windows Media görüntü dosyası",
+ "AVI video" : "AVI görüntü dosyası",
"Error occurred while checking server setup" : "Sunucu ayarları denetlenirken sorun çıktı",
"For more details see the {linkstart}documentation ↗{linkend}." : "Ayrıntılı bilgi almak için {linkstart}belgeler ↗{linkend} bölümüne bakabilirsiniz.",
"unknown text" : "bilinmeyen metin",
@@ -141,7 +259,7 @@
"Logging in …" : "Oturum açılıyor …",
"Log in to {productName}" : "{productName} oturumu aç",
"Wrong login or password." : "Hatalı kullanıcı adı ya da parolası.",
- "This account is disabled" : "Bu hesap devre dışı bırakılmış",
+ "This account is disabled" : "Bu hesap kullanımdan kaldırılmış",
"We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "IP adresinizden yapılan birden çok geçersiz oturum açma girişimi algılandı. Bu nedenle oturum açmanız 30 saniye süreyle engellendi.",
"Account name or email" : "Hesap adı ya da e-posta adresi",
"Account name" : "Hesap adı",
@@ -171,7 +289,7 @@
"Schedule work & meetings, synced with all your devices." : "İşlerinizi ve toplantılarınızı planlayın ve tüm aygıtlarınızla eşitleyin.",
"Keep your colleagues and friends in one place without leaking their private info." : "İş arkadaşlarınızın ve tanıdıklarınızın kayıtlarını kişisel bilgilerini sızdırmadan tek bir yerde tutun.",
"Simple email app nicely integrated with Files, Contacts and Calendar." : "Dosyalar, Kişiler ve Takvim uygulamaları ile bir arada çalışan basit bir e-posta uygulaması.",
- "Chatting, video calls, screen sharing, online meetings and web conferencing – in your browser and with mobile apps." : "Sohbet, görüntülü çağrı, ekran paylaşımı, çevrim içi toplantılar ve internet görüşmeleri - masaüstü ve mobil için uygulamalar.",
+ "Chatting, video calls, screen sharing, online meetings and web conferencing – in your browser and with mobile apps." : "Sohbet, görüntülü çağrı, ekran paylaşımı, çevrim içi toplantılar ve internet görüşmeleri. Bilgisayar ve mobil aygıtlar için uygulamalar.",
"Collaborative documents, spreadsheets and presentations, built on Collabora Online." : "Collabora Online üzerinde hazırlanmış iş birlikli çalışma belgeleri, hesap tabloları ve sunumlar.",
"Distraction free note taking app." : "Dikkatinizi dağıtmayan not alma uygulaması.",
"Recommended apps" : "Önerilen uygulamalar",
@@ -205,9 +323,14 @@
"Forgot password?" : "Parolamı unuttum",
"Back to login form" : "Oturum açma formuna dön",
"Back" : "Geri",
- "Login form is disabled." : "Oturum açma formu devre dışı bırakılmış.",
- "The Nextcloud login form is disabled. Use another login option if available or contact your administration." : "Nextcloud oturum açma formu devre dışı bırakılmış. Varsa başka bir oturum açma seçeneğini kullanın ya da yöneticiniz ile görüşün.",
+ "Login form is disabled." : "Oturum açma formu kullanımdan kaldırılmış.",
+ "The Nextcloud login form is disabled. Use another login option if available or contact your administration." : "Nextcloud oturum açma formu kullanımdan kaldırılmış. Varsa başka bir oturum açma seçeneğini kullanın ya da yöneticiniz ile görüşün.",
"More actions" : "Diğer işlemler",
+ "User menu" : "Kullanıcı menüsü",
+ "You will be identified as {user} by the account owner." : "Hesap sahibi tarafından {user} olarak tanınacaksınız.",
+ "You are currently not identified." : "Şu anda tanımlanmamışsınız.",
+ "Set public name" : "Herkese açık adı ayarla",
+ "Change public name" : "Herkese açık adı değiştir",
"Password is too weak" : "Parola çok kolay",
"Password is weak" : "Parola kolay",
"Password is average" : "Parola orta zorlukta",
@@ -223,22 +346,22 @@
"Create administration account" : "Yönetici hesabı oluştur",
"Administration account name" : "Yönetici hesabı kullanıcı adı",
"Administration account password" : "Yönetici hesabı parolası",
- "Storage & database" : "Depolama ve veritabanı",
+ "Storage & database" : "Depolama alanı ve veri tabanı",
"Data folder" : "Veri klasörü",
- "Database configuration" : "Veritabanı yapılandırması",
+ "Database configuration" : "Veri tabanı yapılandırması",
"Only {firstAndOnlyDatabase} is available." : "Yalnızca {firstAndOnlyDatabase} kullanılabilir.",
- "Install and activate additional PHP modules to choose other database types." : "Diğer veritabanı türlerini seçebilmek için ek PHP modüllerini kurun ve etkinleştirin.",
+ "Install and activate additional PHP modules to choose other database types." : "Diğer veri tabanı türlerini seçebilmek için ek PHP modüllerini kurun ve etkinleştirin.",
"For more details check out the documentation." : "Ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
"Performance warning" : "Başarım uyarısı",
- "You chose SQLite as database." : "Veritabanı olarak SQLite seçtiniz.",
- "SQLite should only be used for minimal and development instances. For production we recommend a different database backend." : "SQLite yalnızca küçük ve geliştirme ortamları için seçilmelidir. Üretim ortamları için farklı bir veritabanı kullanmanız önerilir.",
+ "You chose SQLite as database." : "Veri tabanı olarak SQLite seçtiniz.",
+ "SQLite should only be used for minimal and development instances. For production we recommend a different database backend." : "SQLite yalnızca küçük ve geliştirme ortamları için seçilmelidir. Üretim ortamları için farklı bir veri tabanı kullanmanız önerilir.",
"If you use clients for file syncing, the use of SQLite is highly discouraged." : "Dosya eşitlemesi için istemcileri kullanıyorsanız SQLite kullanımından kaçınmalısınız.",
- "Database user" : "Veritabanı kullanıcı adı",
- "Database password" : "Veritabanı parolası",
- "Database name" : "Veritabanı adı",
- "Database tablespace" : "Veritabanı tablo alanı",
+ "Database user" : "Veri tabanı kullanıcı adı",
+ "Database password" : "Veri tabanı parolası",
+ "Database name" : "Veri tabanı adı",
+ "Database tablespace" : "Veri tabanı tablo alanı",
"Please specify the port number along with the host name (e.g., localhost:5432)." : "Lütfen sunucu adının yanında bağlantı noktasını da belirtin (Örnek: localhost:5432).",
- "Database host" : "Veritabanı sunucusu",
+ "Database host" : "Veri tabanı sunucusu",
"localhost" : "localhost",
"Installing …" : "Kuruluyor…",
"Install" : "Kur",
@@ -270,7 +393,7 @@
"({count} selected)" : "({count} seçilmiş)",
"Error loading file exists template" : "Dosya var kalıbı yüklenirken sorun çıktı",
"Saving …" : "Kaydediliyor …",
- "seconds ago" : "saniyeler önce",
+ "seconds ago" : "saniye önce",
"Connection to server lost" : "Sunucu bağlantısı kesildi",
"_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Sayfa yüklenirken bir sorun çıktı. %n saniye sonra yeniden yüklenecek","Sayfa yüklenirken bir sorun çıktı. %n saniye sonra yeniden yüklenecek"],
"Add to a project" : "Bir projeye ekle",
@@ -301,6 +424,7 @@
"Admin" : "Yönetici",
"Help" : "Yardım",
"Access forbidden" : "Erişim engellendi",
+ "You are not allowed to access this page." : "Bu sayfaya erişme izniniz yok.",
"Back to %s" : "%s sayfasına dön",
"Page not found" : "Sayfa bulunamadı",
"The page could not be found on the server or you may not be allowed to view it." : "Sayfa sunucuda bulunamadı ya da görüntülemenize izin verilmiyor olabilir.",
@@ -348,15 +472,15 @@
"Password sent!" : "Parola gönderildi!",
"You are not authorized to request a password for this share" : "Bu paylaşım için parola isteğinde bulunma izniniz yok",
"Two-factor authentication" : "İki adımlı doğrulama",
- "Enhanced security is enabled for your account. Choose a second factor for authentication:" : "Hesabınız için gelişmiş güvenlik etkinleştirildi. Kimlik doğrulaması için bir ikinci aşama seçin:",
- "Could not load at least one of your enabled two-factor auth methods. Please contact your admin." : "Etkinleştirilmiş iki adımlı doğrulama yöntemlerinden en az biri yüklenemedi. Lütfen yöneticiniz ile görüşün.",
- "Two-factor authentication is enforced but has not been configured on your account. Contact your admin for assistance." : "İki adımlı doğrulama kullanımı zorunlu kılınmış ancak hesabınız için yapılandırılmamış. Yardım almak için sistem yöneticiniz ile görüşün.",
- "Two-factor authentication is enforced but has not been configured on your account. Please continue to setup two-factor authentication." : "İki adımlı doğrulama kullanımı dayatılmış ancak hesabınız için yapılandırılması tamamlanmamış. Lütfen işlemi sürdürmek için iki adımlı doğrulamayı kurun.",
+ "Enhanced security is enabled for your account. Choose a second factor for authentication:" : "Hesabınız için gelişmiş güvenlik etkinleştirildi. Kimlik doğrulaması için bir ikinci adım seçin:",
+ "Could not load at least one of your enabled two-factor auth methods. Please contact your admin." : "Kullanıma alınmış iki adımlı doğrulama yöntemlerinden en az biri yüklenemedi. Lütfen yöneticiniz ile görüşün.",
+ "Two-factor authentication is enforced but has not been configured on your account. Contact your admin for assistance." : "İki adımlı doğrulama kullanımı zorunlu kılınmış. Ancak hesabınız için yapılandırılmamış. Yardım almak için sistem yöneticiniz ile görüşün.",
+ "Two-factor authentication is enforced but has not been configured on your account. Please continue to setup two-factor authentication." : "İki adımlı doğrulama kullanımı zorunlu kılınmış. Ancak hesabınız için yapılandırılmamış. Lütfen işlemi sürdürmek için iki adımlı doğrulamayı kurun.",
"Set up two-factor authentication" : "İki adımlı doğrulama kurulumu",
"Two-factor authentication is enforced but has not been configured on your account. Use one of your backup codes to log in or contact your admin for assistance." : "İki adımlı doğrulama kullanımı zorunlu kılınmış ancak hesabınız için yapılandırılmamış. Yedek kodlarınızdan birini kullanın ya da yardım almak için sistem yöneticiniz ile görüşün.",
"Use backup code" : "Yedek kodu kullanacağım",
"Cancel login" : "Oturum açmaktan vazgeç",
- "Enhanced security is enforced for your account. Choose which provider to set up:" : "Hesabınız için gelişmiş güvenlik kullanımı dayatılmış. Kuracağınız hizmet sağlayıcıyı seçin:",
+ "Enhanced security is enforced for your account. Choose which provider to set up:" : "Hesabınız için gelişmiş güvenlik kullanımı zorunlu kılınmış. Kurulacak hizmet sağlayıcıyı seçin:",
"Error while validating your second factor" : "İkinci aşama doğrulanırken sorun çıktı",
"Access through untrusted domain" : "Güvenilmeyen etki alanı üzerinden erişim",
"Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Lütfen BT yöneticiniz ile görüşün. Yöneticisi siz iseniz, config/config.php dosyası içerisindeki \"trusted_domain\" ayarını config/config.sample.php dosyasındaki gibi düzenleyin.",
@@ -364,9 +488,9 @@
"App update required" : "Uygulamanın güncellenmesi gerekli",
"%1$s will be updated to version %2$s" : "%1$s, %2$s sürümüne güncellenecek",
"The following apps will be updated:" : "Şu uygulamalar güncellenecek:",
- "These incompatible apps will be disabled:" : "Şu uyumsuz uygulamalar devre dışı bırakılacak:",
- "The theme %s has been disabled." : "%s teması devre dışı bırakıldı.",
- "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "İlerlemeden önce lütfen veritabanı, yapılandırma klasörü ve veri klasörünün yedeklenmiş olduğundan emin olun.",
+ "These incompatible apps will be disabled:" : "Şu uyumsuz uygulamalar kullanımdan kaldırılacak:",
+ "The theme %s has been disabled." : "%s teması kullanımdan kaldırıldı.",
+ "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "İlerlemeden önce lütfen veri tabanı, yapılandırma klasörü ve veri klasörünün yedeklenmiş olduğundan emin olun.",
"Start update" : "Güncellemeyi başlat",
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Daha büyük kurulumlarda zaman aşımlarının önüne geçmek için, kurulum klasörünüzden şu komutu da çalıştırabilirsiniz:",
"Detailed logs" : "Ayrıntılı günlükler",
@@ -379,7 +503,7 @@
"This %s instance is currently in maintenance mode, which may take a while." : "Bu %s kopyası şu anda bakım kipinde, bu işlem biraz zaman alabilir.",
"This page will refresh itself when the instance is available again." : "Sistem yeniden kullanılabilir olduğunda bu sayfa kendiliğinden yenilenecek",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Bu ileti görüntülenmeyi sürdürüyor ya da beklenmedik şekilde ortaya çıkıyorsa BT yöneticiniz ile görüşün.",
- "Chatting, video calls, screensharing, online meetings and web conferencing – in your browser and with mobile apps." : "Sohbet, görüntülü çağrı, ekran paylaşımı, çevrim içi toplantılar ve internet görüşmeleri - masaüstü ve mobil için uygulamalar.",
+ "Chatting, video calls, screensharing, online meetings and web conferencing – in your browser and with mobile apps." : "Sohbet, görüntülü çağrı, ekran paylaşımı, çevrim içi toplantılar ve internet görüşmeleri. Bilgisayar ve mobil aygıtlar için uygulamalar.",
"You have not added any info yet" : "Henüz herhangi bir bilgi eklememişsiniz",
"{user} has not added any info yet" : "{user} henüz herhangi bir bilgi eklememiş",
"Error opening the user status modal, try hard refreshing the page" : "Üste açılan kullanıcı durumu penceresinde sorun çıktı. Sayfası temizleyerek yenilemeyi deneyin ",
@@ -401,6 +525,6 @@
"Toggle password visibility" : "Parolayı görüntüle/gizle",
"Configure the database" : "Veri tabanını yapılandır",
"Only %s is available." : "Yalnızca %s kullanılabilir.",
- "Database account" : "Veritabanı hesabı"
+ "Database account" : "Veri tabanı hesabı"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/dist/4833-4833.js b/dist/4833-4833.js
new file mode 100644
index 00000000000..763cba8f084
--- /dev/null
+++ b/dist/4833-4833.js
@@ -0,0 +1,2 @@
+(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[4833,5810],{6835:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharing-search{display:flex;flex-direction:column;margin-bottom:4px}.sharing-search label[for=sharing-search-input]{margin-bottom:2px}.sharing-search__input{width:100%;margin:10px 0}.vs__dropdown-menu span[lookup] .avatardiv{background-image:var(--icon-search-white);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.vs__dropdown-menu span[lookup] .avatardiv .avatardiv__initials-wrapper{display:none}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingInput.vue"],names:[],mappings:"AACA,gBACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,gDACC,iBAAA,CAGD,uBACC,UAAA,CACA,aAAA,CAOA,2CACC,yCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,wEACC,YAAA",sourcesContent:['\n.sharing-search {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 4px;\n\n\tlabel[for="sharing-search-input"] {\n\t\tmargin-bottom: 2px;\n\t}\n\n\t&__input {\n\t\twidth: 100%;\n\t\tmargin: 10px 0;\n\t}\n}\n\n.vs__dropdown-menu {\n\t// properly style the lookup entry\n\tspan[lookup] {\n\t\t.avatardiv {\n\t\t\tbackground-image: var(--icon-search-white);\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tbackground-color: var(--color-text-maxcontrast) !important;\n\t\t\t.avatardiv__initials-wrapper {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const o=a},17816:function(t){t.exports=function(){"use strict";function t(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}var e=function(t,e){return t(e={exports:{}},e.exports),e.exports}((function(e,i){var n;n=function(){return function e(i,n,r){function s(o,l){if(!n[o]){if(!i[o]){if(!l&&t)return t();if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var h=n[o]={exports:{}};i[o][0].call(h.exports,(function(t){return s(i[o][1][t]||t)}),h,h.exports,e,i,n,r)}return n[o].exports}for(var a=t,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(t,e,i){e.exports=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},{}],2:[function(t,e,i){var n=t("./utils").getSymbolSize;i.getRowColCoords=function(t){if(1===t)return[];for(var e=Math.floor(t/7)+2,i=n(t),r=145===i?26:2*Math.ceil((i-13)/(2*e-2)),s=[i-7],a=1;a<e-1;a++)s[a]=s[a-1]-r;return s.push(6),s.reverse()},i.getPositions=function(t){for(var e=[],n=i.getRowColCoords(t),r=n.length,s=0;s<r;s++)for(var a=0;a<r;a++)0===s&&0===a||0===s&&a===r-1||s===r-1&&0===a||e.push([n[s],n[a]]);return e}},{"./utils":21}],3:[function(t,e,i){var n=t("./mode"),r=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function s(t){this.mode=n.ALPHANUMERIC,this.data=t}s.getBitsLength=function(t){return 11*Math.floor(t/2)+t%2*6},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(t){var e;for(e=0;e+2<=this.data.length;e+=2){var i=45*r.indexOf(this.data[e]);i+=r.indexOf(this.data[e+1]),t.put(i,11)}this.data.length%2&&t.put(r.indexOf(this.data[e]),6)},e.exports=s},{"./mode":14}],4:[function(t,e,i){function n(){this.buffer=[],this.length=0}n.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var i=0;i<e;i++)this.putBit(1==(t>>>e-i-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},e.exports=n},{}],5:[function(t,e,i){var n=t("../utils/buffer");function r(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=n.alloc(t*t),this.reservedBit=n.alloc(t*t)}r.prototype.set=function(t,e,i,n){var r=t*this.size+e;this.data[r]=i,n&&(this.reservedBit[r]=!0)},r.prototype.get=function(t,e){return this.data[t*this.size+e]},r.prototype.xor=function(t,e,i){this.data[t*this.size+e]^=i},r.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},e.exports=r},{"../utils/buffer":28}],6:[function(t,e,i){var n=t("../utils/buffer"),r=t("./mode");function s(t){this.mode=r.BYTE,this.data=n.from(t)}s.getBitsLength=function(t){return 8*t},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(t){for(var e=0,i=this.data.length;e<i;e++)t.put(this.data[e],8)},e.exports=s},{"../utils/buffer":28,"./mode":14}],7:[function(t,e,i){var n=t("./error-correction-level"),r=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],s=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];i.getBlocksCount=function(t,e){switch(e){case n.L:return r[4*(t-1)+0];case n.M:return r[4*(t-1)+1];case n.Q:return r[4*(t-1)+2];case n.H:return r[4*(t-1)+3];default:return}},i.getTotalCodewordsCount=function(t,e){switch(e){case n.L:return s[4*(t-1)+0];case n.M:return s[4*(t-1)+1];case n.Q:return s[4*(t-1)+2];case n.H:return s[4*(t-1)+3];default:return}}},{"./error-correction-level":8}],8:[function(t,e,i){i.L={bit:1},i.M={bit:0},i.Q={bit:3},i.H={bit:2},i.isValid=function(t){return t&&void 0!==t.bit&&t.bit>=0&&t.bit<4},i.from=function(t,e){if(i.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return i.L;case"m":case"medium":return i.M;case"q":case"quartile":return i.Q;case"h":case"high":return i.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(t){return e}}},{}],9:[function(t,e,i){var n=t("./utils").getSymbolSize;i.getPositions=function(t){var e=n(t);return[[0,0],[e-7,0],[0,e-7]]}},{"./utils":21}],10:[function(t,e,i){var n=t("./utils"),r=n.getBCHDigit(1335);i.getEncodedBits=function(t,e){for(var i=t.bit<<3|e,s=i<<10;n.getBCHDigit(s)-r>=0;)s^=1335<<n.getBCHDigit(s)-r;return 21522^(i<<10|s)}},{"./utils":21}],11:[function(t,e,i){var n=t("../utils/buffer"),r=n.alloc(512),s=n.alloc(256);!function(){for(var t=1,e=0;e<255;e++)r[e]=t,s[t]=e,256&(t<<=1)&&(t^=285);for(e=255;e<512;e++)r[e]=r[e-255]}(),i.log=function(t){if(t<1)throw new Error("log("+t+")");return s[t]},i.exp=function(t){return r[t]},i.mul=function(t,e){return 0===t||0===e?0:r[s[t]+s[e]]}},{"../utils/buffer":28}],12:[function(t,e,i){var n=t("./mode"),r=t("./utils");function s(t){this.mode=n.KANJI,this.data=t}s.getBitsLength=function(t){return 13*t},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(t){var e;for(e=0;e<this.data.length;e++){var i=r.toSJIS(this.data[e]);if(i>=33088&&i<=40956)i-=33088;else{if(!(i>=57408&&i<=60351))throw new Error("Invalid SJIS character: "+this.data[e]+"\nMake sure your charset is UTF-8");i-=49472}i=192*(i>>>8&255)+(255&i),t.put(i,13)}},e.exports=s},{"./mode":14,"./utils":21}],13:[function(t,e,i){i.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var n=3,r=3,s=40,a=10;function o(t,e,n){switch(t){case i.Patterns.PATTERN000:return(e+n)%2==0;case i.Patterns.PATTERN001:return e%2==0;case i.Patterns.PATTERN010:return n%3==0;case i.Patterns.PATTERN011:return(e+n)%3==0;case i.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(n/3))%2==0;case i.Patterns.PATTERN101:return e*n%2+e*n%3==0;case i.Patterns.PATTERN110:return(e*n%2+e*n%3)%2==0;case i.Patterns.PATTERN111:return(e*n%3+(e+n)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}i.isValid=function(t){return null!=t&&""!==t&&!isNaN(t)&&t>=0&&t<=7},i.from=function(t){return i.isValid(t)?parseInt(t,10):void 0},i.getPenaltyN1=function(t){for(var e=t.size,i=0,r=0,s=0,a=null,o=null,l=0;l<e;l++){r=s=0,a=o=null;for(var c=0;c<e;c++){var h=t.get(l,c);h===a?r++:(r>=5&&(i+=n+(r-5)),a=h,r=1),(h=t.get(c,l))===o?s++:(s>=5&&(i+=n+(s-5)),o=h,s=1)}r>=5&&(i+=n+(r-5)),s>=5&&(i+=n+(s-5))}return i},i.getPenaltyN2=function(t){for(var e=t.size,i=0,n=0;n<e-1;n++)for(var s=0;s<e-1;s++){var a=t.get(n,s)+t.get(n,s+1)+t.get(n+1,s)+t.get(n+1,s+1);4!==a&&0!==a||i++}return i*r},i.getPenaltyN3=function(t){for(var e=t.size,i=0,n=0,r=0,a=0;a<e;a++){n=r=0;for(var o=0;o<e;o++)n=n<<1&2047|t.get(a,o),o>=10&&(1488===n||93===n)&&i++,r=r<<1&2047|t.get(o,a),o>=10&&(1488===r||93===r)&&i++}return i*s},i.getPenaltyN4=function(t){for(var e=0,i=t.data.length,n=0;n<i;n++)e+=t.data[n];return Math.abs(Math.ceil(100*e/i/5)-10)*a},i.applyMask=function(t,e){for(var i=e.size,n=0;n<i;n++)for(var r=0;r<i;r++)e.isReserved(r,n)||e.xor(r,n,o(t,r,n))},i.getBestMask=function(t,e){for(var n=Object.keys(i.Patterns).length,r=0,s=1/0,a=0;a<n;a++){e(a),i.applyMask(a,t);var o=i.getPenaltyN1(t)+i.getPenaltyN2(t)+i.getPenaltyN3(t)+i.getPenaltyN4(t);i.applyMask(a,t),o<s&&(s=o,r=a)}return r}},{}],14:[function(t,e,i){var n=t("./version-check"),r=t("./regex");i.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},i.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},i.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},i.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},i.MIXED={bit:-1},i.getCharCountIndicator=function(t,e){if(!t.ccBits)throw new Error("Invalid mode: "+t);if(!n.isValid(e))throw new Error("Invalid version: "+e);return e>=1&&e<10?t.ccBits[0]:e<27?t.ccBits[1]:t.ccBits[2]},i.getBestModeForData=function(t){return r.testNumeric(t)?i.NUMERIC:r.testAlphanumeric(t)?i.ALPHANUMERIC:r.testKanji(t)?i.KANJI:i.BYTE},i.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")},i.isValid=function(t){return t&&t.bit&&t.ccBits},i.from=function(t,e){if(i.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return i.NUMERIC;case"alphanumeric":return i.ALPHANUMERIC;case"kanji":return i.KANJI;case"byte":return i.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(t){return e}}},{"./regex":19,"./version-check":22}],15:[function(t,e,i){var n=t("./mode");function r(t){this.mode=n.NUMERIC,this.data=t.toString()}r.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){var e,i,n;for(e=0;e+3<=this.data.length;e+=3)i=this.data.substr(e,3),n=parseInt(i,10),t.put(n,10);var r=this.data.length-e;r>0&&(i=this.data.substr(e),n=parseInt(i,10),t.put(n,3*r+1))},e.exports=r},{"./mode":14}],16:[function(t,e,i){var n=t("../utils/buffer"),r=t("./galois-field");i.mul=function(t,e){for(var i=n.alloc(t.length+e.length-1),s=0;s<t.length;s++)for(var a=0;a<e.length;a++)i[s+a]^=r.mul(t[s],e[a]);return i},i.mod=function(t,e){for(var i=n.from(t);i.length-e.length>=0;){for(var s=i[0],a=0;a<e.length;a++)i[a]^=r.mul(e[a],s);for(var o=0;o<i.length&&0===i[o];)o++;i=i.slice(o)}return i},i.generateECPolynomial=function(t){for(var e=n.from([1]),s=0;s<t;s++)e=i.mul(e,[1,r.exp(s)]);return e}},{"../utils/buffer":28,"./galois-field":11}],17:[function(t,e,i){var n=t("../utils/buffer"),r=t("./utils"),s=t("./error-correction-level"),a=t("./bit-buffer"),o=t("./bit-matrix"),l=t("./alignment-pattern"),c=t("./finder-pattern"),h=t("./mask-pattern"),u=t("./error-correction-code"),d=t("./reed-solomon-encoder"),p=t("./version"),f=t("./format-info"),g=t("./mode"),A=t("./segments"),m=t("isarray");function v(t,e,i){var n,r,s=t.size,a=f.getEncodedBits(e,i);for(n=0;n<15;n++)r=1==(a>>n&1),n<6?t.set(n,8,r,!0):n<8?t.set(n+1,8,r,!0):t.set(s-15+n,8,r,!0),n<8?t.set(8,s-n-1,r,!0):n<9?t.set(8,15-n-1+1,r,!0):t.set(8,15-n-1,r,!0);t.set(s-8,8,1,!0)}function y(t,e,i){var s=new a;i.forEach((function(e){s.put(e.mode.bit,4),s.put(e.getLength(),g.getCharCountIndicator(e.mode,t)),e.write(s)}));var o=8*(r.getSymbolTotalCodewords(t)-u.getTotalCodewordsCount(t,e));for(s.getLengthInBits()+4<=o&&s.put(0,4);s.getLengthInBits()%8!=0;)s.putBit(0);for(var l=(o-s.getLengthInBits())/8,c=0;c<l;c++)s.put(c%2?17:236,8);return function(t,e,i){for(var s=r.getSymbolTotalCodewords(e),a=s-u.getTotalCodewordsCount(e,i),o=u.getBlocksCount(e,i),l=o-s%o,c=Math.floor(s/o),h=Math.floor(a/o),p=h+1,f=c-h,g=new d(f),A=0,m=new Array(o),v=new Array(o),y=0,C=n.from(t.buffer),w=0;w<o;w++){var b=w<l?h:p;m[w]=C.slice(A,A+b),v[w]=g.encode(m[w]),A+=b,y=Math.max(y,b)}var _,E,x=n.alloc(s),S=0;for(_=0;_<y;_++)for(E=0;E<o;E++)_<m[E].length&&(x[S++]=m[E][_]);for(_=0;_<f;_++)for(E=0;E<o;E++)x[S++]=v[E][_];return x}(s,t,e)}function C(t,e,i,n){var s;if(m(t))s=A.fromArray(t);else{if("string"!=typeof t)throw new Error("Invalid data");var a=e;if(!a){var u=A.rawSplit(t);a=p.getBestVersionForData(u,i)}s=A.fromString(t,a||40)}var d=p.getBestVersionForData(s,i);if(!d)throw new Error("The amount of data is too big to be stored in a QR Code");if(e){if(e<d)throw new Error("\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: "+d+".\n")}else e=d;var f=y(e,i,s),g=r.getSymbolSize(e),C=new o(g);return function(t,e){for(var i=t.size,n=c.getPositions(e),r=0;r<n.length;r++)for(var s=n[r][0],a=n[r][1],o=-1;o<=7;o++)if(!(s+o<=-1||i<=s+o))for(var l=-1;l<=7;l++)a+l<=-1||i<=a+l||(o>=0&&o<=6&&(0===l||6===l)||l>=0&&l<=6&&(0===o||6===o)||o>=2&&o<=4&&l>=2&&l<=4?t.set(s+o,a+l,!0,!0):t.set(s+o,a+l,!1,!0))}(C,e),function(t){for(var e=t.size,i=8;i<e-8;i++){var n=i%2==0;t.set(i,6,n,!0),t.set(6,i,n,!0)}}(C),function(t,e){for(var i=l.getPositions(e),n=0;n<i.length;n++)for(var r=i[n][0],s=i[n][1],a=-2;a<=2;a++)for(var o=-2;o<=2;o++)-2===a||2===a||-2===o||2===o||0===a&&0===o?t.set(r+a,s+o,!0,!0):t.set(r+a,s+o,!1,!0)}(C,e),v(C,i,0),e>=7&&function(t,e){for(var i,n,r,s=t.size,a=p.getEncodedBits(e),o=0;o<18;o++)i=Math.floor(o/3),n=o%3+s-8-3,r=1==(a>>o&1),t.set(i,n,r,!0),t.set(n,i,r,!0)}(C,e),function(t,e){for(var i=t.size,n=-1,r=i-1,s=7,a=0,o=i-1;o>0;o-=2)for(6===o&&o--;;){for(var l=0;l<2;l++)if(!t.isReserved(r,o-l)){var c=!1;a<e.length&&(c=1==(e[a]>>>s&1)),t.set(r,o-l,c),-1==--s&&(a++,s=7)}if((r+=n)<0||i<=r){r-=n,n=-n;break}}}(C,f),isNaN(n)&&(n=h.getBestMask(C,v.bind(null,C,i))),h.applyMask(n,C),v(C,i,n),{modules:C,version:e,errorCorrectionLevel:i,maskPattern:n,segments:s}}i.create=function(t,e){if(void 0===t||""===t)throw new Error("No input text");var i,n,a=s.M;return void 0!==e&&(a=s.from(e.errorCorrectionLevel,s.M),i=p.from(e.version),n=h.from(e.maskPattern),e.toSJISFunc&&r.setToSJISFunction(e.toSJISFunc)),C(t,i,a,n)}},{"../utils/buffer":28,"./alignment-pattern":2,"./bit-buffer":4,"./bit-matrix":5,"./error-correction-code":7,"./error-correction-level":8,"./finder-pattern":9,"./format-info":10,"./mask-pattern":13,"./mode":14,"./reed-solomon-encoder":18,"./segments":20,"./utils":21,"./version":23,isarray:33}],18:[function(t,e,i){var n=t("../utils/buffer"),r=t("./polynomial"),s=t("buffer").Buffer;function a(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}a.prototype.initialize=function(t){this.degree=t,this.genPoly=r.generateECPolynomial(this.degree)},a.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");var e=n.alloc(this.degree),i=s.concat([t,e],t.length+this.degree),a=r.mod(i,this.genPoly),o=this.degree-a.length;if(o>0){var l=n.alloc(this.degree);return a.copy(l,o),l}return a},e.exports=a},{"../utils/buffer":28,"./polynomial":16,buffer:30}],19:[function(t,e,i){var n="[0-9]+",r="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",s="(?:(?![A-Z0-9 $%*+\\-./:]|"+(r=r.replace(/u/g,"\\u"))+")(?:.|[\r\n]))+";i.KANJI=new RegExp(r,"g"),i.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),i.BYTE=new RegExp(s,"g"),i.NUMERIC=new RegExp(n,"g"),i.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");var a=new RegExp("^"+r+"$"),o=new RegExp("^"+n+"$"),l=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");i.testKanji=function(t){return a.test(t)},i.testNumeric=function(t){return o.test(t)},i.testAlphanumeric=function(t){return l.test(t)}},{}],20:[function(t,e,i){var n=t("./mode"),r=t("./numeric-data"),s=t("./alphanumeric-data"),a=t("./byte-data"),o=t("./kanji-data"),l=t("./regex"),c=t("./utils"),h=t("dijkstrajs");function u(t){return unescape(encodeURIComponent(t)).length}function d(t,e,i){for(var n,r=[];null!==(n=t.exec(i));)r.push({data:n[0],index:n.index,mode:e,length:n[0].length});return r}function p(t){var e,i,r=d(l.NUMERIC,n.NUMERIC,t),s=d(l.ALPHANUMERIC,n.ALPHANUMERIC,t);return c.isKanjiModeEnabled()?(e=d(l.BYTE,n.BYTE,t),i=d(l.KANJI,n.KANJI,t)):(e=d(l.BYTE_KANJI,n.BYTE,t),i=[]),r.concat(s,e,i).sort((function(t,e){return t.index-e.index})).map((function(t){return{data:t.data,mode:t.mode,length:t.length}}))}function f(t,e){switch(e){case n.NUMERIC:return r.getBitsLength(t);case n.ALPHANUMERIC:return s.getBitsLength(t);case n.KANJI:return o.getBitsLength(t);case n.BYTE:return a.getBitsLength(t)}}function g(t,e){var i,l=n.getBestModeForData(t);if((i=n.from(e,l))!==n.BYTE&&i.bit<l.bit)throw new Error('"'+t+'" cannot be encoded with mode '+n.toString(i)+".\n Suggested mode is: "+n.toString(l));switch(i!==n.KANJI||c.isKanjiModeEnabled()||(i=n.BYTE),i){case n.NUMERIC:return new r(t);case n.ALPHANUMERIC:return new s(t);case n.KANJI:return new o(t);case n.BYTE:return new a(t)}}i.fromArray=function(t){return t.reduce((function(t,e){return"string"==typeof e?t.push(g(e,null)):e.data&&t.push(g(e.data,e.mode)),t}),[])},i.fromString=function(t,e){for(var r=function(t,e){for(var i={},r={start:{}},s=["start"],a=0;a<t.length;a++){for(var o=t[a],l=[],c=0;c<o.length;c++){var h=o[c],u=""+a+c;l.push(u),i[u]={node:h,lastCount:0},r[u]={};for(var d=0;d<s.length;d++){var p=s[d];i[p]&&i[p].node.mode===h.mode?(r[p][u]=f(i[p].lastCount+h.length,h.mode)-f(i[p].lastCount,h.mode),i[p].lastCount+=h.length):(i[p]&&(i[p].lastCount=h.length),r[p][u]=f(h.length,h.mode)+4+n.getCharCountIndicator(h.mode,e))}}s=l}for(d=0;d<s.length;d++)r[s[d]].end=0;return{map:r,table:i}}(function(t){for(var e=[],i=0;i<t.length;i++){var r=t[i];switch(r.mode){case n.NUMERIC:e.push([r,{data:r.data,mode:n.ALPHANUMERIC,length:r.length},{data:r.data,mode:n.BYTE,length:r.length}]);break;case n.ALPHANUMERIC:e.push([r,{data:r.data,mode:n.BYTE,length:r.length}]);break;case n.KANJI:e.push([r,{data:r.data,mode:n.BYTE,length:u(r.data)}]);break;case n.BYTE:e.push([{data:r.data,mode:n.BYTE,length:u(r.data)}])}}return e}(p(t,c.isKanjiModeEnabled())),e),s=h.find_path(r.map,"start","end"),a=[],o=1;o<s.length-1;o++)a.push(r.table[s[o]].node);return i.fromArray(a.reduce((function(t,e){var i=t.length-1>=0?t[t.length-1]:null;return i&&i.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)}),[]))},i.rawSplit=function(t){return i.fromArray(p(t,c.isKanjiModeEnabled()))}},{"./alphanumeric-data":3,"./byte-data":6,"./kanji-data":12,"./mode":14,"./numeric-data":15,"./regex":19,"./utils":21,dijkstrajs:31}],21:[function(t,e,i){var n,r=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];i.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return 4*t+17},i.getSymbolTotalCodewords=function(t){return r[t]},i.getBCHDigit=function(t){for(var e=0;0!==t;)e++,t>>>=1;return e},i.setToSJISFunction=function(t){if("function"!=typeof t)throw new Error('"toSJISFunc" is not a valid function.');n=t},i.isKanjiModeEnabled=function(){return void 0!==n},i.toSJIS=function(t){return n(t)}},{}],22:[function(t,e,i){i.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}},{}],23:[function(t,e,i){var n=t("./utils"),r=t("./error-correction-code"),s=t("./error-correction-level"),a=t("./mode"),o=t("./version-check"),l=t("isarray"),c=n.getBCHDigit(7973);function h(t,e){return a.getCharCountIndicator(t,e)+4}function u(t,e){var i=0;return t.forEach((function(t){var n=h(t.mode,e);i+=n+t.getBitsLength()})),i}i.from=function(t,e){return o.isValid(t)?parseInt(t,10):e},i.getCapacity=function(t,e,i){if(!o.isValid(t))throw new Error("Invalid QR Code version");void 0===i&&(i=a.BYTE);var s=8*(n.getSymbolTotalCodewords(t)-r.getTotalCodewordsCount(t,e));if(i===a.MIXED)return s;var l=s-h(i,t);switch(i){case a.NUMERIC:return Math.floor(l/10*3);case a.ALPHANUMERIC:return Math.floor(l/11*2);case a.KANJI:return Math.floor(l/13);case a.BYTE:default:return Math.floor(l/8)}},i.getBestVersionForData=function(t,e){var n,r=s.from(e,s.M);if(l(t)){if(t.length>1)return function(t,e){for(var n=1;n<=40;n++)if(u(t,n)<=i.getCapacity(n,e,a.MIXED))return n}(t,r);if(0===t.length)return 1;n=t[0]}else n=t;return function(t,e,n){for(var r=1;r<=40;r++)if(e<=i.getCapacity(r,n,t))return r}(n.mode,n.getLength(),r)},i.getEncodedBits=function(t){if(!o.isValid(t)||t<7)throw new Error("Invalid QR Code version");for(var e=t<<12;n.getBCHDigit(e)-c>=0;)e^=7973<<n.getBCHDigit(e)-c;return t<<12|e}},{"./error-correction-code":7,"./error-correction-level":8,"./mode":14,"./utils":21,"./version-check":22,isarray:33}],24:[function(t,e,i){var n=t("./can-promise"),r=t("./core/qrcode"),s=t("./renderer/canvas"),a=t("./renderer/svg-tag.js");function o(t,e,i,s,a){var o=[].slice.call(arguments,1),l=o.length,c="function"==typeof o[l-1];if(!c&&!n())throw new Error("Callback required as last argument");if(!c){if(l<1)throw new Error("Too few arguments provided");return 1===l?(i=e,e=s=void 0):2!==l||e.getContext||(s=i,i=e,e=void 0),new Promise((function(n,a){try{var o=r.create(i,s);n(t(o,e,s))}catch(t){a(t)}}))}if(l<2)throw new Error("Too few arguments provided");2===l?(a=i,i=e,e=s=void 0):3===l&&(e.getContext&&void 0===a?(a=s,s=void 0):(a=s,s=i,i=e,e=void 0));try{var h=r.create(i,s);a(null,t(h,e,s))}catch(t){a(t)}}i.create=r.create,i.toCanvas=o.bind(null,s.render),i.toDataURL=o.bind(null,s.renderToDataURL),i.toString=o.bind(null,(function(t,e,i){return a.render(t,i)}))},{"./can-promise":1,"./core/qrcode":17,"./renderer/canvas":25,"./renderer/svg-tag.js":26}],25:[function(t,e,i){var n=t("./utils");i.render=function(t,e,i){var r=i,s=e;void 0!==r||e&&e.getContext||(r=e,e=void 0),e||(s=function(){try{return document.createElement("canvas")}catch(t){throw new Error("You need to specify a canvas element")}}()),r=n.getOptions(r);var a=n.getImageWidth(t.modules.size,r),o=s.getContext("2d"),l=o.createImageData(a,a);return n.qrToImageData(l.data,t,r),function(t,e,i){t.clearRect(0,0,e.width,e.height),e.style||(e.style={}),e.height=i,e.width=i,e.style.height=i+"px",e.style.width=i+"px"}(o,s,a),o.putImageData(l,0,0),s},i.renderToDataURL=function(t,e,n){var r=n;void 0!==r||e&&e.getContext||(r=e,e=void 0),r||(r={});var s=i.render(t,e,r),a=r.type||"image/png",o=r.rendererOpts||{};return s.toDataURL(a,o.quality)}},{"./utils":27}],26:[function(t,e,i){var n=t("./utils");function r(t,e){var i=t.a/255,n=e+'="'+t.hex+'"';return i<1?n+" "+e+'-opacity="'+i.toFixed(2).slice(1)+'"':n}function s(t,e,i){var n=t+e;return void 0!==i&&(n+=" "+i),n}i.render=function(t,e,i){var a=n.getOptions(e),o=t.modules.size,l=t.modules.data,c=o+2*a.margin,h=a.color.light.a?"<path "+r(a.color.light,"fill")+' d="M0 0h'+c+"v"+c+'H0z"/>':"",u="<path "+r(a.color.dark,"stroke")+' d="'+function(t,e,i){for(var n="",r=0,a=!1,o=0,l=0;l<t.length;l++){var c=Math.floor(l%e),h=Math.floor(l/e);c||a||(a=!0),t[l]?(o++,l>0&&c>0&&t[l-1]||(n+=a?s("M",c+i,.5+h+i):s("m",r,0),r=0,a=!1),c+1<e&&t[l+1]||(n+=s("h",o),o=0)):r++}return n}(l,o,a.margin)+'"/>',d='viewBox="0 0 '+c+" "+c+'"',p='<svg xmlns="http://www.w3.org/2000/svg" '+(a.width?'width="'+a.width+'" height="'+a.width+'" ':"")+d+' shape-rendering="crispEdges">'+h+u+"</svg>\n";return"function"==typeof i&&i(null,p),p}},{"./utils":27}],27:[function(t,e,i){function n(t){if("number"==typeof t&&(t=t.toString()),"string"!=typeof t)throw new Error("Color should be defined as hex string");var e=t.slice().replace("#","").split("");if(e.length<3||5===e.length||e.length>8)throw new Error("Invalid hex color: "+t);3!==e.length&&4!==e.length||(e=Array.prototype.concat.apply([],e.map((function(t){return[t,t]})))),6===e.length&&e.push("F","F");var i=parseInt(e.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:255&i,hex:"#"+e.slice(0,6).join("")}}i.getOptions=function(t){t||(t={}),t.color||(t.color={});var e=void 0===t.margin||null===t.margin||t.margin<0?4:t.margin,i=t.width&&t.width>=21?t.width:void 0,r=t.scale||4;return{width:i,scale:i?4:r,margin:e,color:{dark:n(t.color.dark||"#000000ff"),light:n(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},i.getScale=function(t,e){return e.width&&e.width>=t+2*e.margin?e.width/(t+2*e.margin):e.scale},i.getImageWidth=function(t,e){var n=i.getScale(t,e);return Math.floor((t+2*e.margin)*n)},i.qrToImageData=function(t,e,n){for(var r=e.modules.size,s=e.modules.data,a=i.getScale(r,n),o=Math.floor((r+2*n.margin)*a),l=n.margin*a,c=[n.color.light,n.color.dark],h=0;h<o;h++)for(var u=0;u<o;u++){var d=4*(h*o+u),p=n.color.light;h>=l&&u>=l&&h<o-l&&u<o-l&&(p=c[s[Math.floor((h-l)/a)*r+Math.floor((u-l)/a)]?1:0]),t[d++]=p.r,t[d++]=p.g,t[d++]=p.b,t[d]=p.a}}},{}],28:[function(t,e,i){var n=t("isarray");s.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}();var r=s.TYPED_ARRAY_SUPPORT?2147483647:1073741823;function s(t,e,i){return s.TYPED_ARRAY_SUPPORT||this instanceof s?"number"==typeof t?l(this,t):function(t,e,i,n){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,i,n){if(i<0||e.byteLength<i)throw new RangeError("'offset' is out of bounds");if(e.byteLength<i+(n||0))throw new RangeError("'length' is out of bounds");var r;return r=void 0===i&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,i):new Uint8Array(e,i,n),s.TYPED_ARRAY_SUPPORT?r.__proto__=s.prototype:r=c(t,r),r}(t,e,i,n):"string"==typeof e?function(t,e){var i=0|u(e),n=o(t,i),r=n.write(e);return r!==i&&(n=n.slice(0,r)),n}(t,e):function(t,e){if(s.isBuffer(e)){var i=0|a(e.length),n=o(t,i);return 0===n.length||e.copy(n,0,0,i),n}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(r=e.length)!=r?o(t,0):c(t,e);if("Buffer"===e.type&&Array.isArray(e.data))return c(t,e.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}(this,t,e,i):new s(t,e,i)}function a(t){if(t>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function o(t,e){var i;return s.TYPED_ARRAY_SUPPORT?(i=new Uint8Array(e)).__proto__=s.prototype:(null===(i=t)&&(i=new s(e)),i.length=e),i}function l(t,e){var i=o(t,e<0?0:0|a(e));if(!s.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)i[n]=0;return i}function c(t,e){for(var i=e.length<0?0:0|a(e.length),n=o(t,i),r=0;r<i;r+=1)n[r]=255&e[r];return n}function h(t,e){var i;e=e||1/0;for(var n=t.length,r=null,s=[],a=0;a<n;++a){if((i=t.charCodeAt(a))>55295&&i<57344){if(!r){if(i>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&s.push(239,191,189);continue}r=i;continue}if(i<56320){(e-=3)>-1&&s.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,i<128){if((e-=1)<0)break;s.push(i)}else if(i<2048){if((e-=2)<0)break;s.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;s.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return s}function u(t){return s.isBuffer(t)?t.length:"undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer)?t.byteLength:("string"!=typeof t&&(t=""+t),0===t.length?0:h(t).length)}s.TYPED_ARRAY_SUPPORT&&(s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),s.prototype.write=function(t,e,i){void 0===e||void 0===i&&"string"==typeof e?(i=this.length,e=0):isFinite(e)&&(e|=0,isFinite(i)?i|=0:i=void 0);var n=this.length-e;if((void 0===i||i>n)&&(i=n),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");return function(t,e,i,n){return function(t,e,i,n){for(var r=0;r<n&&!(r+i>=e.length||r>=t.length);++r)e[r+i]=t[r];return r}(h(e,t.length-i),t,i,n)}(this,t,e,i)},s.prototype.slice=function(t,e){var i,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t),s.TYPED_ARRAY_SUPPORT)(i=this.subarray(t,e)).__proto__=s.prototype;else{var r=e-t;i=new s(r,void 0);for(var a=0;a<r;++a)i[a]=this[a+t]}return i},s.prototype.copy=function(t,e,i,n){if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<i&&(n=i),n===i)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-i&&(n=t.length-e+i);var r,a=n-i;if(this===t&&i<e&&e<n)for(r=a-1;r>=0;--r)t[r+e]=this[r+i];else if(a<1e3||!s.TYPED_ARRAY_SUPPORT)for(r=0;r<a;++r)t[r+e]=this[r+i];else Uint8Array.prototype.set.call(t,this.subarray(i,i+a),e);return a},s.prototype.fill=function(t,e,i){if("string"==typeof t){if("string"==typeof e?(e=0,i=this.length):"string"==typeof i&&(i=this.length),1===t.length){var n=t.charCodeAt(0);n<256&&(t=n)}}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<i)throw new RangeError("Out of range index");if(i<=e)return this;var r;if(e>>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(r=e;r<i;++r)this[r]=t;else{var a=s.isBuffer(t)?t:new s(t),o=a.length;for(r=0;r<i-e;++r)this[r+e]=a[r%o]}return this},s.concat=function(t,e){if(!n(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return o(null,0);var i;if(void 0===e)for(e=0,i=0;i<t.length;++i)e+=t[i].length;var r=l(null,e),a=0;for(i=0;i<t.length;++i){var c=t[i];if(!s.isBuffer(c))throw new TypeError('"list" argument must be an Array of Buffers');c.copy(r,a),a+=c.length}return r},s.byteLength=u,s.prototype._isBuffer=!0,s.isBuffer=function(t){return!(null==t||!t._isBuffer)},e.exports.alloc=function(t){var e=new s(t);return e.fill(0),e},e.exports.from=function(t){return new s(t)}},{isarray:33}],29:[function(t,e,i){i.byteLength=function(t){var e=l(t),i=e[0],n=e[1];return 3*(i+n)/4-n},i.toByteArray=function(t){var e,i,n=l(t),a=n[0],o=n[1],c=new s(function(t,e,i){return 3*(e+i)/4-i}(0,a,o)),h=0,u=o>0?a-4:a;for(i=0;i<u;i+=4)e=r[t.charCodeAt(i)]<<18|r[t.charCodeAt(i+1)]<<12|r[t.charCodeAt(i+2)]<<6|r[t.charCodeAt(i+3)],c[h++]=e>>16&255,c[h++]=e>>8&255,c[h++]=255&e;return 2===o&&(e=r[t.charCodeAt(i)]<<2|r[t.charCodeAt(i+1)]>>4,c[h++]=255&e),1===o&&(e=r[t.charCodeAt(i)]<<10|r[t.charCodeAt(i+1)]<<4|r[t.charCodeAt(i+2)]>>2,c[h++]=e>>8&255,c[h++]=255&e),c},i.fromByteArray=function(t){for(var e,i=t.length,r=i%3,s=[],a=16383,o=0,l=i-r;o<l;o+=a)s.push(c(t,o,o+a>l?l:o+a));return 1===r?(e=t[i-1],s.push(n[e>>2]+n[e<<4&63]+"==")):2===r&&(e=(t[i-2]<<8)+t[i-1],s.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),s.join("")};for(var n=[],r=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)n[o]=a[o],r[a.charCodeAt(o)]=o;function l(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var i=t.indexOf("=");return-1===i&&(i=e),[i,i===e?0:4-i%4]}function c(t,e,i){for(var r,s=[],a=e;a<i;a+=3)r=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),s.push(n[(o=r)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);var o;return s.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},{}],30:[function(t,e,i){var n=t("base64-js"),r=t("ieee754"),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;i.Buffer=l,i.SlowBuffer=function(t){return+t!=t&&(t=0),l.alloc(+t)},i.INSPECT_MAX_BYTES=50;var a=2147483647;function o(t){if(t>a)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,l.prototype),e}function l(t,e,i){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return c(t,e,i)}function c(t,e,i){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!l.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var i=0|f(t,e),n=o(i),r=n.write(t,e);return r!==i&&(n=n.slice(0,r)),n}(t,e);if(ArrayBuffer.isView(t))return d(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(V(t,ArrayBuffer)||t&&V(t.buffer,ArrayBuffer))return function(t,e,i){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(i||0))throw new RangeError('"length" is outside of buffer bounds');var n;return n=void 0===e&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,e):new Uint8Array(t,e,i),Object.setPrototypeOf(n,l.prototype),n}(t,e,i);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return l.from(n,e,i);var r=function(t){if(l.isBuffer(t)){var e=0|p(t.length),i=o(e);return 0===i.length||t.copy(i,0,0,e),i}return void 0!==t.length?"number"!=typeof t.length||j(t.length)?o(0):d(t):"Buffer"===t.type&&Array.isArray(t.data)?d(t.data):void 0}(t);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return l.from(t[Symbol.toPrimitive]("string"),e,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return h(t),o(t<0?0:0|p(t))}function d(t){for(var e=t.length<0?0:0|p(t.length),i=o(e),n=0;n<e;n+=1)i[n]=255&t[n];return i}function p(t){if(t>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|t}function f(t,e){if(l.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||V(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var i=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===i)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":return U(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return $(t).length;default:if(r)return n?-1:U(t).length;e=(""+e).toLowerCase(),r=!0}}function g(t,e,i){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return N(this,e,i);case"utf8":case"utf-8":return S(this,e,i);case"ascii":return k(this,e,i);case"latin1":case"binary":return T(this,e,i);case"base64":return x(this,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,e,i);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function A(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function m(t,e,i,n,r){if(0===t.length)return-1;if("string"==typeof i?(n=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),j(i=+i)&&(i=r?0:t.length-1),i<0&&(i=t.length+i),i>=t.length){if(r)return-1;i=t.length-1}else if(i<0){if(!r)return-1;i=0}if("string"==typeof e&&(e=l.from(e,n)),l.isBuffer(e))return 0===e.length?-1:v(t,e,i,n,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,i):Uint8Array.prototype.lastIndexOf.call(t,e,i):v(t,[e],i,n,r);throw new TypeError("val must be string, number or Buffer")}function v(t,e,i,n,r){var s,a=1,o=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;a=2,o/=2,l/=2,i/=2}function c(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(r){var h=-1;for(s=i;s<o;s++)if(c(t,s)===c(e,-1===h?0:s-h)){if(-1===h&&(h=s),s-h+1===l)return h*a}else-1!==h&&(s-=s-h),h=-1}else for(i+l>o&&(i=o-l),s=i;s>=0;s--){for(var u=!0,d=0;d<l;d++)if(c(t,s+d)!==c(e,d)){u=!1;break}if(u)return s}return-1}function y(t,e,i,n){i=Number(i)||0;var r=t.length-i;n?(n=Number(n))>r&&(n=r):n=r;var s=e.length;n>s/2&&(n=s/2);for(var a=0;a<n;++a){var o=parseInt(e.substr(2*a,2),16);if(j(o))return a;t[i+a]=o}return a}function C(t,e,i,n){return F(U(e,t.length-i),t,i,n)}function w(t,e,i,n){return F(function(t){for(var e=[],i=0;i<t.length;++i)e.push(255&t.charCodeAt(i));return e}(e),t,i,n)}function b(t,e,i,n){return w(t,e,i,n)}function _(t,e,i,n){return F($(e),t,i,n)}function E(t,e,i,n){return F(function(t,e){for(var i,n,r,s=[],a=0;a<t.length&&!((e-=2)<0);++a)n=(i=t.charCodeAt(a))>>8,r=i%256,s.push(r),s.push(n);return s}(e,t.length-i),t,i,n)}function x(t,e,i){return 0===e&&i===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,i))}function S(t,e,i){i=Math.min(t.length,i);for(var n=[],r=e;r<i;){var s,a,o,l,c=t[r],h=null,u=c>239?4:c>223?3:c>191?2:1;if(r+u<=i)switch(u){case 1:c<128&&(h=c);break;case 2:128==(192&(s=t[r+1]))&&(l=(31&c)<<6|63&s)>127&&(h=l);break;case 3:s=t[r+1],a=t[r+2],128==(192&s)&&128==(192&a)&&(l=(15&c)<<12|(63&s)<<6|63&a)>2047&&(l<55296||l>57343)&&(h=l);break;case 4:s=t[r+1],a=t[r+2],o=t[r+3],128==(192&s)&&128==(192&a)&&128==(192&o)&&(l=(15&c)<<18|(63&s)<<12|(63&a)<<6|63&o)>65535&&l<1114112&&(h=l)}null===h?(h=65533,u=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),r+=u}return function(t){var e=t.length;if(e<=I)return String.fromCharCode.apply(String,t);for(var i="",n=0;n<e;)i+=String.fromCharCode.apply(String,t.slice(n,n+=I));return i}(n)}i.kMaxLength=a,l.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),l.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(l.prototype,"parent",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.buffer}}),Object.defineProperty(l.prototype,"offset",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),l.poolSize=8192,l.from=function(t,e,i){return c(t,e,i)},Object.setPrototypeOf(l.prototype,Uint8Array.prototype),Object.setPrototypeOf(l,Uint8Array),l.alloc=function(t,e,i){return function(t,e,i){return h(t),t<=0?o(t):void 0!==e?"string"==typeof i?o(t).fill(e,i):o(t).fill(e):o(t)}(t,e,i)},l.allocUnsafe=function(t){return u(t)},l.allocUnsafeSlow=function(t){return u(t)},l.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==l.prototype},l.compare=function(t,e){if(V(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),V(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(t)||!l.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var i=t.length,n=e.length,r=0,s=Math.min(i,n);r<s;++r)if(t[r]!==e[r]){i=t[r],n=e[r];break}return i<n?-1:n<i?1:0},l.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return l.alloc(0);var i;if(void 0===e)for(e=0,i=0;i<t.length;++i)e+=t[i].length;var n=l.allocUnsafe(e),r=0;for(i=0;i<t.length;++i){var s=t[i];if(V(s,Uint8Array)&&(s=l.from(s)),!l.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(n,r),r+=s.length}return n},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)A(this,e,e+1);return this},l.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)A(this,e,e+3),A(this,e+1,e+2);return this},l.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)A(this,e,e+7),A(this,e+1,e+6),A(this,e+2,e+5),A(this,e+3,e+4);return this},l.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?S(this,0,t):g.apply(this,arguments)},l.prototype.toLocaleString=l.prototype.toString,l.prototype.equals=function(t){if(!l.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===l.compare(this,t)},l.prototype.inspect=function(){var t="",e=i.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),"<Buffer "+t+">"},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(t,e,i,n,r){if(V(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===i&&(i=t?t.length:0),void 0===n&&(n=0),void 0===r&&(r=this.length),e<0||i>t.length||n<0||r>this.length)throw new RangeError("out of range index");if(n>=r&&e>=i)return 0;if(n>=r)return-1;if(e>=i)return 1;if(this===t)return 0;for(var s=(r>>>=0)-(n>>>=0),a=(i>>>=0)-(e>>>=0),o=Math.min(s,a),c=this.slice(n,r),h=t.slice(e,i),u=0;u<o;++u)if(c[u]!==h[u]){s=c[u],a=h[u];break}return s<a?-1:a<s?1:0},l.prototype.includes=function(t,e,i){return-1!==this.indexOf(t,e,i)},l.prototype.indexOf=function(t,e,i){return m(this,t,e,i,!0)},l.prototype.lastIndexOf=function(t,e,i){return m(this,t,e,i,!1)},l.prototype.write=function(t,e,i,n){if(void 0===e)n="utf8",i=this.length,e=0;else if(void 0===i&&"string"==typeof e)n=e,i=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(i)?(i>>>=0,void 0===n&&(n="utf8")):(n=i,i=void 0)}var r=this.length-e;if((void 0===i||i>r)&&(i=r),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var s=!1;;)switch(n){case"hex":return y(this,t,e,i);case"utf8":case"utf-8":return C(this,t,e,i);case"ascii":return w(this,t,e,i);case"latin1":case"binary":return b(this,t,e,i);case"base64":return _(this,t,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,t,e,i);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function k(t,e,i){var n="";i=Math.min(t.length,i);for(var r=e;r<i;++r)n+=String.fromCharCode(127&t[r]);return n}function T(t,e,i){var n="";i=Math.min(t.length,i);for(var r=e;r<i;++r)n+=String.fromCharCode(t[r]);return n}function N(t,e,i){var n=t.length;(!e||e<0)&&(e=0),(!i||i<0||i>n)&&(i=n);for(var r="",s=e;s<i;++s)r+=z[t[s]];return r}function D(t,e,i){for(var n=t.slice(e,i),r="",s=0;s<n.length;s+=2)r+=String.fromCharCode(n[s]+256*n[s+1]);return r}function P(t,e,i){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>i)throw new RangeError("Trying to access beyond buffer length")}function R(t,e,i,n,r,s){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||e<s)throw new RangeError('"value" argument is out of bounds');if(i+n>t.length)throw new RangeError("Index out of range")}function B(t,e,i,n,r,s){if(i+n>t.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function L(t,e,i,n,s){return e=+e,i>>>=0,s||B(t,0,i,4),r.write(t,e,i,n,23,4),i+4}function O(t,e,i,n,s){return e=+e,i>>>=0,s||B(t,0,i,8),r.write(t,e,i,n,52,8),i+8}l.prototype.slice=function(t,e){var i=this.length;(t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(e=void 0===e?i:~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),e<t&&(e=t);var n=this.subarray(t,e);return Object.setPrototypeOf(n,l.prototype),n},l.prototype.readUIntLE=function(t,e,i){t>>>=0,e>>>=0,i||P(t,e,this.length);for(var n=this[t],r=1,s=0;++s<e&&(r*=256);)n+=this[t+s]*r;return n},l.prototype.readUIntBE=function(t,e,i){t>>>=0,e>>>=0,i||P(t,e,this.length);for(var n=this[t+--e],r=1;e>0&&(r*=256);)n+=this[t+--e]*r;return n},l.prototype.readUInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),this[t]},l.prototype.readUInt16LE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUInt16BE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,e,i){t>>>=0,e>>>=0,i||P(t,e,this.length);for(var n=this[t],r=1,s=0;++s<e&&(r*=256);)n+=this[t+s]*r;return n>=(r*=128)&&(n-=Math.pow(2,8*e)),n},l.prototype.readIntBE=function(t,e,i){t>>>=0,e>>>=0,i||P(t,e,this.length);for(var n=e,r=1,s=this[t+--n];n>0&&(r*=256);)s+=this[t+--n]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*e)),s},l.prototype.readInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){t>>>=0,e||P(t,2,this.length);var i=this[t]|this[t+1]<<8;return 32768&i?4294901760|i:i},l.prototype.readInt16BE=function(t,e){t>>>=0,e||P(t,2,this.length);var i=this[t+1]|this[t]<<8;return 32768&i?4294901760|i:i},l.prototype.readInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,e){return t>>>=0,e||P(t,4,this.length),r.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return t>>>=0,e||P(t,4,this.length),r.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return t>>>=0,e||P(t,8,this.length),r.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return t>>>=0,e||P(t,8,this.length),r.read(this,t,!1,52,8)},l.prototype.writeUIntLE=function(t,e,i,n){t=+t,e>>>=0,i>>>=0,n||R(this,t,e,i,Math.pow(2,8*i)-1,0);var r=1,s=0;for(this[e]=255&t;++s<i&&(r*=256);)this[e+s]=t/r&255;return e+i},l.prototype.writeUIntBE=function(t,e,i,n){t=+t,e>>>=0,i>>>=0,n||R(this,t,e,i,Math.pow(2,8*i)-1,0);var r=i-1,s=1;for(this[e+r]=255&t;--r>=0&&(s*=256);)this[e+r]=t/s&255;return e+i},l.prototype.writeUInt8=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,1,255,0),this[e]=255&t,e+1},l.prototype.writeUInt16LE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeUInt16BE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeUInt32LE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},l.prototype.writeUInt32BE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeIntLE=function(t,e,i,n){if(t=+t,e>>>=0,!n){var r=Math.pow(2,8*i-1);R(this,t,e,i,r-1,-r)}var s=0,a=1,o=0;for(this[e]=255&t;++s<i&&(a*=256);)t<0&&0===o&&0!==this[e+s-1]&&(o=1),this[e+s]=(t/a|0)-o&255;return e+i},l.prototype.writeIntBE=function(t,e,i,n){if(t=+t,e>>>=0,!n){var r=Math.pow(2,8*i-1);R(this,t,e,i,r-1,-r)}var s=i-1,a=1,o=0;for(this[e+s]=255&t;--s>=0&&(a*=256);)t<0&&0===o&&0!==this[e+s+1]&&(o=1),this[e+s]=(t/a|0)-o&255;return e+i},l.prototype.writeInt8=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeInt16BE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeInt32LE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},l.prototype.writeInt32BE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeFloatLE=function(t,e,i){return L(this,t,e,!0,i)},l.prototype.writeFloatBE=function(t,e,i){return L(this,t,e,!1,i)},l.prototype.writeDoubleLE=function(t,e,i){return O(this,t,e,!0,i)},l.prototype.writeDoubleBE=function(t,e,i){return O(this,t,e,!1,i)},l.prototype.copy=function(t,e,i,n){if(!l.isBuffer(t))throw new TypeError("argument should be a Buffer");if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<i&&(n=i),n===i)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-i&&(n=t.length-e+i);var r=n-i;if(this===t&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,i,n);else if(this===t&&i<e&&e<n)for(var s=r-1;s>=0;--s)t[s+e]=this[s+i];else Uint8Array.prototype.set.call(t,this.subarray(i,n),e);return r},l.prototype.fill=function(t,e,i,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,i=this.length):"string"==typeof i&&(n=i,i=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!l.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var r=t.charCodeAt(0);("utf8"===n&&r<128||"latin1"===n)&&(t=r)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<i)throw new RangeError("Out of range index");if(i<=e)return this;var s;if(e>>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(s=e;s<i;++s)this[s]=t;else{var a=l.isBuffer(t)?t:l.from(t,n),o=a.length;if(0===o)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(s=0;s<i-e;++s)this[s+e]=a[s%o]}return this};var M=/[^+/0-9A-Za-z-_]/g;function U(t,e){var i;e=e||1/0;for(var n=t.length,r=null,s=[],a=0;a<n;++a){if((i=t.charCodeAt(a))>55295&&i<57344){if(!r){if(i>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&s.push(239,191,189);continue}r=i;continue}if(i<56320){(e-=3)>-1&&s.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,i<128){if((e-=1)<0)break;s.push(i)}else if(i<2048){if((e-=2)<0)break;s.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;s.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return s}function $(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(M,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,i,n){for(var r=0;r<n&&!(r+i>=e.length||r>=t.length);++r)e[r+i]=t[r];return r}function V(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function j(t){return t!=t}var z=function(){for(var t="0123456789abcdef",e=new Array(256),i=0;i<16;++i)for(var n=16*i,r=0;r<16;++r)e[n+r]=t[i]+t[r];return e}()},{"base64-js":29,ieee754:32}],31:[function(t,e,i){var n={single_source_shortest_paths:function(t,e,i){var r={},s={};s[e]=0;var a,o,l,c,h,u,d,p=n.PriorityQueue.make();for(p.push(e,0);!p.empty();)for(l in o=(a=p.pop()).value,c=a.cost,h=t[o]||{})h.hasOwnProperty(l)&&(u=c+h[l],d=s[l],(void 0===s[l]||d>u)&&(s[l]=u,p.push(l,u),r[l]=o));if(void 0!==i&&void 0===s[i]){var f=["Could not find a path from ",e," to ",i,"."].join("");throw new Error(f)}return r},extract_shortest_path_from_predecessor_list:function(t,e){for(var i=[],n=e;n;)i.push(n),t[n],n=t[n];return i.reverse(),i},find_path:function(t,e,i){var r=n.single_source_shortest_paths(t,e,i);return n.extract_shortest_path_from_predecessor_list(r,i)},PriorityQueue:{make:function(t){var e,i=n.PriorityQueue,r={};for(e in t=t||{},i)i.hasOwnProperty(e)&&(r[e]=i[e]);return r.queue=[],r.sorter=t.sorter||i.default_sorter,r},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var i={value:t,cost:e};this.queue.push(i),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};void 0!==e&&(e.exports=n)},{}],32:[function(t,e,i){i.read=function(t,e,i,n,r){var s,a,o=8*r-n-1,l=(1<<o)-1,c=l>>1,h=-7,u=i?r-1:0,d=i?-1:1,p=t[e+u];for(u+=d,s=p&(1<<-h)-1,p>>=-h,h+=o;h>0;s=256*s+t[e+u],u+=d,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=n;h>0;a=256*a+t[e+u],u+=d,h-=8);if(0===s)s=1-c;else{if(s===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,n),s-=c}return(p?-1:1)*a*Math.pow(2,s-n)},i.write=function(t,e,i,n,r,s){var a,o,l,c=8*s-r-1,h=(1<<c)-1,u=h>>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:s-1,f=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=h):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),(e+=a+u>=1?d/l:d*Math.pow(2,1-u))*l>=2&&(a++,l/=2),a+u>=h?(o=0,a=h):a+u>=1?(o=(e*l-1)*Math.pow(2,r),a+=u):(o=e*Math.pow(2,u-1)*Math.pow(2,r),a=0));r>=8;t[i+p]=255&o,p+=f,o/=256,r-=8);for(a=a<<r|o,c+=r;c>0;t[i+p]=255&a,p+=f,a/=256,c-=8);t[i+p-f]|=128*g}},{}],33:[function(t,e,i){var n={}.toString;e.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},{}]},{},[24])(24)},e.exports=n()}));return{name:"qrcode",props:{value:null,options:Object,tag:{type:String,default:"canvas"}},render:function(t){return t(this.tag,this.$slots.default)},watch:{$props:{deep:!0,immediate:!0,handler:function(){this.$el&&this.generate()}}},methods:{generate:function(){var t=this,i=this.options,n=this.tag,r=String(this.value);"canvas"===n?e.toCanvas(this.$el,r,i,(function(t){if(t)throw t})):"img"===n?e.toDataURL(r,i,(function(e,i){if(e)throw e;t.$el.src=i})):e.toString(r,i,(function(e,i){if(e)throw e;t.$el.innerHTML=i}))}},mounted:function(){this.generate()}}}()},18919:(e,i,n)=>{"use strict";n.r(i),n.d(i,{default:()=>Ri});var r=n(21777),s=n(87485),a=n(35810),o=n(32981),l=n(63814),c=n(85072),h=n.n(c),u=n(97825),d=n.n(u),p=n(77659),f=n.n(p),g=n(55056),A=n.n(g),m=n(10540),v=n.n(m),y=n(41113),C=n.n(y),w=n(97380),b={};b.styleTagTransform=C(),b.setAttributes=A(),b.insert=f().bind(null,"head"),b.domAPI=d(),b.insertStyleElement=v(),h()(w.A,b),w.A&&w.A.locals&&w.A.locals;var _=n(53334),E=n(41944),x=n(67607);const S=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},I="object"==typeof global&&global&&global.Object===Object&&global;var k="object"==typeof self&&self&&self.Object===Object&&self;const T=I||k||Function("return this")(),N=function(){return T.Date.now()};var D=/\s/;var P=/^\s+/;const R=function(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&D.test(t.charAt(e)););return e}(t)+1).replace(P,""):t},B=T.Symbol;var L=Object.prototype,O=L.hasOwnProperty,M=L.toString,U=B?B.toStringTag:void 0;var $=Object.prototype.toString;var F=B?B.toStringTag:void 0;const V=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":F&&F in Object(t)?function(t){var e=O.call(t,U),i=t[U];try{t[U]=void 0;var n=!0}catch(t){}var r=M.call(t);return n&&(e?t[U]=i:delete t[U]),r}(t):function(t){return $.call(t)}(t)};var j=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,q=/^0o[0-7]+$/i,H=parseInt;const G=function(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return null!=t&&"object"==typeof t}(t)&&"[object Symbol]"==V(t)}(t))return NaN;if(S(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=S(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=R(t);var i=z.test(t);return i||q.test(t)?H(t.slice(2),i?2:8):j.test(t)?NaN:+t};var W=Math.max,Y=Math.min;var X=n(24764),Q=n(57505),Z=n(85471),K=n(65043);const J=new class{constructor(){this.http=K.Ay}listCollection(t){return this.http.get((0,l.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}))}renameCollection(t,e){return this.http.put((0,l.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}),{collectionName:e}).then((t=>t.data.ocs.data))}getCollectionsByResource(t,e){return this.http.get((0,l.KT)("collaboration/resources/{resourceType}/{resourceId}",{resourceType:t,resourceId:e})).then((t=>t.data.ocs.data))}createCollection(t,e,i){return this.http.post((0,l.KT)("collaboration/resources/{resourceType}/{resourceId}",{resourceType:t,resourceId:e}),{name:i}).then((t=>t.data.ocs.data))}addResource(t,e,i){return i=""+i,this.http.post((0,l.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}),{resourceType:e,resourceId:i}).then((t=>t.data.ocs.data))}removeResource(t,e,i){return this.http.delete((0,l.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}),{params:{resourceType:e,resourceId:i}}).then((t=>t.data.ocs.data))}search(t){return this.http.get((0,l.KT)("collaboration/resources/collections/search/{query}",{query:t})).then((t=>t.data.ocs.data))}},tt=(0,Z.Kh)({collections:[]}),et={addCollections(t){(0,Z.hZ)(tt,"collections",t)},addCollection(t){tt.collections.push(t)},removeCollection(t){(0,Z.hZ)(tt,"collections",tt.collections.filter((e=>e.id!==t)))},updateCollection(t){const e=tt.collections.findIndex((e=>e.id===t.id));-1!==e?(0,Z.hZ)(tt.collections,e,t):tt.collections.push(t)}},it={fetchCollectionsByResource:({resourceType:t,resourceId:e})=>J.getCollectionsByResource(t,e).then((t=>(et.addCollections(t),t))),createCollection:({baseResourceType:t,baseResourceId:e,resourceType:i,resourceId:n,name:r})=>J.createCollection(t,e,r).then((t=>{et.addCollection(t),it.addResourceToCollection({collectionId:t.id,resourceType:i,resourceId:n})})),renameCollection:({collectionId:t,name:e})=>J.renameCollection(t,e).then((t=>(et.updateCollection(t),t))),addResourceToCollection:({collectionId:t,resourceType:e,resourceId:i})=>J.addResource(t,e,i).then((t=>(et.updateCollection(t),t))),removeResource:({collectionId:t,resourceType:e,resourceId:i})=>J.removeResource(t,e,i).then((t=>{t.resources.length>0?et.updateCollection(t):et.removeCollection(t)})),search:t=>J.search(t)};function nt(t,e,i,n,r,s,a,o){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=i,c._compiled=!0),n&&(c.functional=!0),s&&(c._scopeId="data-v-"+s),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=l):r&&(l=o?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var h=c.render;c.render=function(t,e){return l.call(e),h(t,e)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:c}}const rt=nt({name:"CollectionListItem",components:{NcAvatar:E.A,NcActions:X.A,NcActionButton:Q.A},props:{collection:{type:Object,default:null}},data:()=>({detailsOpen:!1,newName:null,error:{}}),computed:{getIcon:()=>t=>[t.iconClass],typeClass:()=>t=>"resource-type-"+t.type,limitedResources:()=>t=>t.resources?t.resources.slice(0,2):[],iconUrl:()=>t=>t.mimetype?OC.MimeType.getIconUrl(t.mimetype):t.iconUrl?t.iconUrl:""},methods:{t:_.t,toggleDetails(){this.detailsOpen=!this.detailsOpen},showDetails(){this.detailsOpen=!0},hideDetails(){this.detailsOpen=!1},removeResource(t,e){it.removeResource({collectionId:t.id,resourceType:e.type,resourceId:e.id})},openRename(){this.newName=this.collection.name},renameCollection(){""!==this.newName?it.renameCollection({collectionId:this.collection.id,name:this.newName}).then((t=>{this.newName=null})).catch((t=>{this.$set(this.error,"rename",(0,_.t)("core","Failed to rename the project")),console.error(t),setTimeout((()=>{(0,Z.hZ)(this.error,"rename",null)}),3e3)})):this.newName=null}}},(function(){var t=this,e=t._self._c;return e("li",{staticClass:"collection-list-item"},[e("NcAvatar",{staticClass:"collection-avatar",attrs:{"display-name":t.collection.name,"allow-placeholder":""}}),null===t.newName?e("span",{staticClass:"collection-item-name",attrs:{title:""},on:{click:t.showDetails}},[t._v(t._s(t.collection.name))]):e("form",{class:{shouldshake:t.error.rename},on:{submit:function(e){return e.preventDefault(),t.renameCollection.apply(null,arguments)}}},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.newName,expression:"newName"}],attrs:{type:"text",autocomplete:"off",autocapitalize:"off"},domProps:{value:t.newName},on:{input:function(e){e.target.composing||(t.newName=e.target.value)}}}),e("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]),t.detailsOpen||null!==t.newName?t._e():e("div",{staticClass:"linked-icons"},t._l(t.limitedResources(t.collection),(function(i){return e("a",{key:i.type+"|"+i.id,class:t.typeClass(i),attrs:{title:i.name,href:i.link}},[e("img",{attrs:{src:t.iconUrl(i)}})])})),0),null===t.newName?e("span",{staticClass:"sharingOptionsGroup"},[e("NcActions",[e("NcActionButton",{attrs:{icon:"icon-info"},on:{click:function(e){return e.preventDefault(),t.toggleDetails.apply(null,arguments)}}},[t._v(" "+t._s(t.detailsOpen?t.t("core","Hide details"):t.t("core","Show details"))+" ")]),e("NcActionButton",{attrs:{icon:"icon-rename"},on:{click:function(e){return e.preventDefault(),t.openRename.apply(null,arguments)}}},[t._v(" "+t._s(t.t("core","Rename project"))+" ")])],1)],1):t._e(),e("transition",{attrs:{name:"fade"}},[t.error.rename?e("div",{staticClass:"error"},[t._v(" "+t._s(t.error.rename)+" ")]):t._e()]),e("transition",{attrs:{name:"fade"}},[t.detailsOpen?e("ul",{staticClass:"resource-list-details"},t._l(t.collection.resources,(function(i){return e("li",{key:i.type+"|"+i.id,class:t.typeClass(i)},[e("a",{attrs:{href:i.link}},[e("img",{attrs:{src:t.iconUrl(i)}}),e("span",{staticClass:"resource-name"},[t._v(t._s(i.name||""))])]),e("span",{staticClass:"icon-close",on:{click:function(e){return t.removeResource(t.collection,i)}}})])})),0):t._e()])],1)}),[],!1,null,"42733c12",null,null).exports,st=function(t,e,i){var n,r,s,a,o,l,c=0,h=!1,u=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function p(e){var i=n,s=r;return n=r=void 0,c=e,a=t.apply(s,i)}function f(t){var i=t-l;return void 0===l||i>=e||i<0||u&&t-c>=s}function g(){var t=N();if(f(t))return A(t);o=setTimeout(g,function(t){var i=e-(t-l);return u?Y(i,s-(t-c)):i}(t))}function A(t){return o=void 0,d&&n?p(t):(n=r=void 0,a)}function m(){var t=N(),i=f(t);if(n=arguments,r=this,l=t,i){if(void 0===o)return function(t){return c=t,o=setTimeout(g,e),h?p(t):a}(l);if(u)return clearTimeout(o),o=setTimeout(g,e),p(l)}return void 0===o&&(o=setTimeout(g,e)),a}return e=G(e)||0,S(i)&&(h=!!i.leading,s=(u="maxWait"in i)?W(G(i.maxWait)||0,e):s,d="trailing"in i?!!i.trailing:d),m.cancel=function(){void 0!==o&&clearTimeout(o),c=0,n=l=r=o=void 0},m.flush=function(){return void 0===o?a:A(N())},m}((function(t,e){""!==t&&(e(!0),it.search(t).then((t=>{this.searchCollections=t})).catch((t=>{console.error("Failed to search for collections",t)})).finally((()=>{e(!1)})))}),500,{}),at={name:"CollectionList",components:{CollectionListItem:rt,NcAvatar:E.A,NcSelect:x.A},props:{type:{type:String,default:null},id:{type:String,default:null},name:{type:String,default:""},isActive:{type:Boolean,default:!0}},setup:()=>({state:tt}),data:()=>({selectIsOpen:!1,generatingCodes:!1,codes:void 0,value:null,model:{},searchCollections:[],error:null,isSelectOpen:!1}),computed:{collections(){return this.state.collections.filter((t=>void 0!==t.resources.find((t=>t&&t.id===""+this.id&&t.type===this.type))))},placeholder(){return this.isSelectOpen?(0,_.t)("core","Type to search for existing projects"):(0,_.t)("core","Add to a project")},options(){const t=[];window.OCP.Collaboration.getTypes().sort().forEach((e=>{t.push({method:0,type:e,title:window.OCP.Collaboration.getLabel(e),class:window.OCP.Collaboration.getIcon(e),action:()=>window.OCP.Collaboration.trigger(e)})}));for(const e in this.searchCollections)-1===this.collections.findIndex((t=>t.id===this.searchCollections[e].id))&&t.push({method:1,title:this.searchCollections[e].name,collectionId:this.searchCollections[e].id});return t}},watch:{type(){this.isActive&&it.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},id(){this.isActive&&it.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},isActive(t){t&&it.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})}},mounted(){it.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},methods:{t:_.t,select(t,e){0===t.method&&t.action().then((e=>{it.createCollection({baseResourceType:this.type,baseResourceId:this.id,resourceType:t.type,resourceId:e,name:this.name}).catch((t=>{this.setError((0,_.t)("core","Failed to create a project"),t)}))})).catch((t=>{console.error("No resource selected",t)})),1===t.method&&it.addResourceToCollection({collectionId:t.collectionId,resourceType:this.type,resourceId:this.id}).catch((t=>{this.setError((0,_.t)("core","Failed to add the item to the project"),t)}))},search(t,e){st.bind(this)(t,e)},showSelect(){this.selectIsOpen=!0,this.$refs.select.$el.focus()},hideSelect(){this.selectIsOpen=!1},isVueComponent:t=>t._isVue,setError(t,e){console.error(t,e),this.error=t,setTimeout((()=>{this.error=null}),5e3)}}},ot=nt(at,(function(){var t=this,e=t._self._c;return t.collections&&t.type&&t.id?e("ul",{staticClass:"collection-list",attrs:{id:"collection-list"}},[e("li",{on:{click:t.showSelect}},[t._m(0),e("div",{attrs:{id:"collection-select-container"}},[e("NcSelect",{ref:"select",attrs:{"aria-label-combobox":t.t("core","Add to a project"),options:t.options,placeholder:t.placeholder,label:"title",limit:5},on:{close:function(e){t.isSelectOpen=!1},open:function(e){t.isSelectOpen=!0},"option:selected":t.select,search:t.search},scopedSlots:t._u([{key:"selected-option",fn:function(i){return[e("span",{staticClass:"option__desc"},[e("span",{staticClass:"option__title"},[t._v(t._s(i.title))])])]}},{key:"option",fn:function(i){return[e("span",{staticClass:"option__wrapper"},[i.class?e("span",{staticClass:"avatar",class:i.class}):2!==i.method?e("NcAvatar",{attrs:{"allow-placeholder":"","display-name":i.title}}):t._e(),e("span",{staticClass:"option__title"},[t._v(t._s(i.title))])],1)]}}],null,!1,2397208459),model:{value:t.value,callback:function(e){t.value=e},expression:"value"}},[e("p",{staticClass:"hint"},[t._v(" "+t._s(t.t("core","Connect items to a project to make them easier to find"))+" ")])])],1)]),e("transition",{attrs:{name:"fade"}},[t.error?e("li",{staticClass:"error"},[t._v(" "+t._s(t.error)+" ")]):t._e()]),t._l(t.collections,(function(t){return e("CollectionListItem",{key:t.id,attrs:{collection:t}})}))],2):t._e()}),[function(){var t=this._self._c;return t("div",{staticClass:"avatar"},[t("span",{staticClass:"icon-projects"})])}],!1,null,"8ebb2593",null,null).exports;var lt=n(77905),ct=n(83241),ht=n(48718),ut=n(51651),dt=n(97012);class pt{constructor(){(function(t,e,i){(e=function(t){var e=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i})(this,"_capabilities",void 0),this._capabilities=(0,s.F)()}get defaultPermissions(){return this._capabilities.files_sharing?.default_permissions}get isPublicUploadEnabled(){return!0===this._capabilities.files_sharing?.public?.upload}get federatedShareDocLink(){return window.OC.appConfig.core.federatedCloudShareDoc}get defaultExpirationDate(){return this.isDefaultExpireDateEnabled&&null!==this.defaultExpireDate?new Date((new Date).setDate((new Date).getDate()+this.defaultExpireDate)):null}get defaultInternalExpirationDate(){return this.isDefaultInternalExpireDateEnabled&&null!==this.defaultInternalExpireDate?new Date((new Date).setDate((new Date).getDate()+this.defaultInternalExpireDate)):null}get defaultRemoteExpirationDateString(){return this.isDefaultRemoteExpireDateEnabled&&null!==this.defaultRemoteExpireDate?new Date((new Date).setDate((new Date).getDate()+this.defaultRemoteExpireDate)):null}get enforcePasswordForPublicLink(){return!0===window.OC.appConfig.core.enforcePasswordForPublicLink}get enableLinkPasswordByDefault(){return!0===window.OC.appConfig.core.enableLinkPasswordByDefault}get isDefaultExpireDateEnforced(){return!0===window.OC.appConfig.core.defaultExpireDateEnforced}get isDefaultExpireDateEnabled(){return!0===window.OC.appConfig.core.defaultExpireDateEnabled}get isDefaultInternalExpireDateEnforced(){return!0===window.OC.appConfig.core.defaultInternalExpireDateEnforced}get isDefaultInternalExpireDateEnabled(){return!0===window.OC.appConfig.core.defaultInternalExpireDateEnabled}get isDefaultRemoteExpireDateEnforced(){return!0===window.OC.appConfig.core.defaultRemoteExpireDateEnforced}get isDefaultRemoteExpireDateEnabled(){return!0===window.OC.appConfig.core.defaultRemoteExpireDateEnabled}get isRemoteShareAllowed(){return!0===window.OC.appConfig.core.remoteShareAllowed}get isPublicShareAllowed(){return!0===this._capabilities?.files_sharing?.public?.enabled}get isMailShareAllowed(){return!0===this._capabilities?.files_sharing?.sharebymail?.enabled&&!0===this.isPublicShareAllowed}get defaultExpireDate(){return window.OC.appConfig.core.defaultExpireDate}get defaultInternalExpireDate(){return window.OC.appConfig.core.defaultInternalExpireDate}get defaultRemoteExpireDate(){return window.OC.appConfig.core.defaultRemoteExpireDate}get isResharingAllowed(){return!0===window.OC.appConfig.core.resharingAllowed}get isPasswordForMailSharesRequired(){return!0===this._capabilities.files_sharing?.sharebymail?.password?.enforced}get shouldAlwaysShowUnique(){return!0===this._capabilities.files_sharing?.sharee?.always_show_unique}get allowGroupSharing(){return!0===window.OC.appConfig.core.allowGroupSharing}get maxAutocompleteResults(){return parseInt(window.OC.config["sharing.maxAutocompleteResults"],10)||25}get minSearchStringLength(){return parseInt(window.OC.config["sharing.minSearchStringLength"],10)||0}get passwordPolicy(){return this._capabilities?.password_policy||{}}get allowCustomTokens(){return this._capabilities?.files_sharing?.public?.custom_tokens}get showFederatedSharesAsInternal(){return(0,o.C)("files_sharing","showFederatedSharesAsInternal",!1)}}const ft=(0,n(35947).YK)().setApp("files_sharing").detectUser().build();class gt{constructor(t){if(function(t,e,i){(e=function(t){var e=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i}(this,"_share",void 0),t.ocs&&t.ocs.data&&t.ocs.data[0]&&(t=t.ocs.data[0]),"string"==typeof t.id&&(t.id=Number.parseInt(t.id)),t.hide_download=!!t.hide_download,t.mail_send=!!t.mail_send,t.attributes&&"string"==typeof t.attributes)try{t.attributes=JSON.parse(t.attributes)}catch(e){console.warn("Could not parse share attributes returned by server",t.attributes)}t.attributes=t.attributes??[],this._share=t}get state(){return this._share}get id(){return this._share.id}get type(){return this._share.share_type}get permissions(){return this._share.permissions}get attributes(){return this._share.attributes||[]}set permissions(t){this._share.permissions=t}get owner(){return this._share.uid_owner}get ownerDisplayName(){return this._share.displayname_owner}get shareWith(){return this._share.share_with}get shareWithDisplayName(){return this._share.share_with_displayname||this._share.share_with}get shareWithDisplayNameUnique(){return this._share.share_with_displayname_unique||this._share.share_with}get shareWithLink(){return this._share.share_with_link}get shareWithAvatar(){return this._share.share_with_avatar}get uidFileOwner(){return this._share.uid_file_owner}get displaynameFileOwner(){return this._share.displayname_file_owner||this._share.uid_file_owner}get createdTime(){return this._share.stime}get expireDate(){return this._share.expiration}set expireDate(t){this._share.expiration=t}get token(){return this._share.token}set token(t){this._share.token=t}get note(){return this._share.note}set note(t){this._share.note=t}get label(){return this._share.label??""}set label(t){this._share.label=t}get mailSend(){return!0===this._share.mail_send}get hideDownload(){return!0===this._share.hide_download||void 0!==this.attributes.find?.((t=>{let{scope:e,key:i,value:n}=t;return"permissions"===e&&"download"===i&&!n}))}set hideDownload(t){if(!t){const t=this.attributes.find((t=>{let{key:e,scope:i}=t;return"download"===e&&"permissions"===i}));t&&(t.value=!0)}this._share.hide_download=!0===t}get password(){return this._share.password}set password(t){this._share.password=t}get passwordExpirationTime(){return this._share.password_expiration_time}set passwordExpirationTime(t){this._share.password_expiration_time=t}get sendPasswordByTalk(){return this._share.send_password_by_talk}set sendPasswordByTalk(t){this._share.send_password_by_talk=t}get path(){return this._share.path}get itemType(){return this._share.item_type}get mimetype(){return this._share.mimetype}get fileSource(){return this._share.file_source}get fileTarget(){return this._share.file_target}get fileParent(){return this._share.file_parent}get hasReadPermission(){return!!(this.permissions&window.OC.PERMISSION_READ)}get hasCreatePermission(){return!!(this.permissions&window.OC.PERMISSION_CREATE)}get hasDeletePermission(){return!!(this.permissions&window.OC.PERMISSION_DELETE)}get hasUpdatePermission(){return!!(this.permissions&window.OC.PERMISSION_UPDATE)}get hasSharePermission(){return!!(this.permissions&window.OC.PERMISSION_SHARE)}get hasDownloadPermission(){return this.attributes.some((t=>"permissions"===t.scope&&"download"===t.key&&!1===t.value))}get isFileRequest(){return function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"[]";const e=t=>"fileRequest"===t.scope&&"enabled"===t.key&&!0===t.value;try{return JSON.parse(t).some(e)}catch(t){return ft.error("Error while parsing share attributes",{error:t}),!1}}(JSON.stringify(this.attributes))}set hasDownloadPermission(t){this.setAttribute("permissions","download",!!t)}setAttribute(t,e,i){const n={scope:t,key:e,value:i};for(const t in this._share.attributes){const e=this._share.attributes[t];if(e.scope===n.scope&&e.key===n.key)return void this._share.attributes.splice(t,1,n)}this._share.attributes.push(n)}get canEdit(){return!0===this._share.can_edit}get canDelete(){return!0===this._share.can_delete}get viaFileid(){return this._share.via_fileid}get viaPath(){return this._share.via_path}get parent(){return this._share.parent}get storageId(){return this._share.storage_id}get storage(){return this._share.storage}get itemSource(){return this._share.item_source}get status(){return this._share.status}}var At=n(85168),mt=n(54373),vt=n(31773);const yt={name:"SharingEntrySimple",components:{NcActions:X.A},props:{title:{type:String,default:"",required:!0},subtitle:{type:String,default:""},isUnique:{type:Boolean,default:!0},ariaExpanded:{type:Boolean,default:null}},computed:{ariaExpandedValue(){return null===this.ariaExpanded?this.ariaExpanded:this.ariaExpanded?"true":"false"}}};var Ct=n(43570),wt={};wt.styleTagTransform=C(),wt.setAttributes=A(),wt.insert=f().bind(null,"head"),wt.domAPI=d(),wt.insertStyleElement=v(),h()(Ct.A,wt),Ct.A&&Ct.A.locals&&Ct.A.locals;var bt=n(14486);const _t=(0,bt.A)(yt,(function(){var t=this,e=t._self._c;return e("li",{staticClass:"sharing-entry"},[t._t("avatar"),t._v(" "),e("div",{staticClass:"sharing-entry__desc"},[e("span",{staticClass:"sharing-entry__title"},[t._v(t._s(t.title))]),t._v(" "),t.subtitle?e("p",[t._v("\n\t\t\t"+t._s(t.subtitle)+"\n\t\t")]):t._e()]),t._v(" "),t.$slots.default?e("NcActions",{ref:"actionsComponent",staticClass:"sharing-entry__actions",attrs:{"menu-align":"right","aria-expanded":t.ariaExpandedValue}},[t._t("default")],2):t._e()],2)}),[],!1,null,"44339fa4",null).exports,Et={name:"SharingEntryInternal",components:{NcActionButton:Q.A,SharingEntrySimple:_t,CheckIcon:mt.A,ClipboardIcon:vt.A},props:{fileInfo:{type:Object,default:()=>{},required:!0}},data:()=>({copied:!1,copySuccess:!1}),computed:{internalLink(){return window.location.protocol+"//"+window.location.host+(0,l.Jv)("/f/")+this.fileInfo.id},copyLinkTooltip(){return this.copied?this.copySuccess?"":t("files_sharing","Cannot copy, please copy the link manually"):t("files_sharing","Copy internal link to clipboard")},internalLinkSubtitle(){return"dir"===this.fileInfo.type?t("files_sharing","Only works for people with access to this folder"):t("files_sharing","Only works for people with access to this file")}},methods:{async copyLink(){try{await navigator.clipboard.writeText(this.internalLink),(0,At.Te)(t("files_sharing","Link copied")),this.$refs.shareEntrySimple.$refs.actionsComponent.$el.focus(),this.copySuccess=!0,this.copied=!0}catch(t){this.copySuccess=!1,this.copied=!0,console.error(t)}finally{setTimeout((()=>{this.copySuccess=!1,this.copied=!1}),4e3)}}}};var xt=n(38779),St={};St.styleTagTransform=C(),St.setAttributes=A(),St.insert=f().bind(null,"head"),St.domAPI=d(),St.insertStyleElement=v(),h()(xt.A,St),xt.A&&xt.A.locals&&xt.A.locals;const It=(0,bt.A)(Et,(function(){var t=this,e=t._self._c;return e("ul",[e("SharingEntrySimple",{ref:"shareEntrySimple",staticClass:"sharing-entry__internal",attrs:{title:t.t("files_sharing","Internal link"),subtitle:t.internalLinkSubtitle},scopedSlots:t._u([{key:"avatar",fn:function(){return[e("div",{staticClass:"avatar-external icon-external-white"})]},proxy:!0}])},[t._v(" "),e("NcActionButton",{attrs:{title:t.copyLinkTooltip,"aria-label":t.copyLinkTooltip},on:{click:t.copyLink},scopedSlots:t._u([{key:"icon",fn:function(){return[t.copied&&t.copySuccess?e("CheckIcon",{staticClass:"icon-checkmark-color",attrs:{size:20}}):e("ClipboardIcon",{attrs:{size:20}})]},proxy:!0}])})],1)],1)}),[],!1,null,"57874406",null).exports;var kt=n(17334),Tt=n.n(kt),Nt=(n(48318),n(61338));const Dt=(0,l.KT)("apps/files_sharing/api/v1/shares"),Pt={methods:{async createShare(e){let{path:i,permissions:n,shareType:r,shareWith:s,publicUpload:a,password:o,sendPasswordByTalk:l,expireDate:c,label:h,note:u,attributes:d}=e;try{const t=await K.Ay.post(Dt,{path:i,permissions:n,shareType:r,shareWith:s,publicUpload:a,password:o,sendPasswordByTalk:l,expireDate:c,label:h,note:u,attributes:d});if(!t?.data?.ocs)throw t;const e=new gt(t.data.ocs.data);return(0,Nt.Ic)("files_sharing:share:created",{share:e}),e}catch(e){console.error("Error while creating share",e);const i=e?.response?.data?.ocs?.meta?.message;throw(0,At.Qg)(i?t("files_sharing","Error creating the share: {errorMessage}",{errorMessage:i}):t("files_sharing","Error creating the share"),{type:"error"}),e}},async deleteShare(e){try{const t=await K.Ay.delete(Dt+`/${e}`);if(!t?.data?.ocs)throw t;return(0,Nt.Ic)("files_sharing:share:deleted",{id:e}),!0}catch(e){console.error("Error while deleting share",e);const i=e?.response?.data?.ocs?.meta?.message;throw OC.Notification.showTemporary(i?t("files_sharing","Error deleting the share: {errorMessage}",{errorMessage:i}):t("files_sharing","Error deleting the share"),{type:"error"}),e}},async updateShare(e,i){try{const t=await K.Ay.put(Dt+`/${e}`,i);if((0,Nt.Ic)("files_sharing:share:updated",{id:e}),t?.data?.ocs)return t.data.ocs.data;throw t}catch(e){if(console.error("Error while updating share",e),400!==e.response.status){const i=e?.response?.data?.ocs?.meta?.message;OC.Notification.showTemporary(i?t("files_sharing","Error updating the share: {errorMessage}",{errorMessage:i}):t("files_sharing","Error updating the share"),{type:"error"})}const i=e.response.data.ocs.meta.message;throw new Error(i)}}}},Rt={NONE:0,READ:1,UPDATE:2,CREATE:4,DELETE:8,SHARE:16},Bt={READ_ONLY:Rt.READ,UPLOAD_AND_UPDATE:Rt.READ|Rt.UPDATE|Rt.CREATE|Rt.DELETE,FILE_DROP:Rt.CREATE,ALL:Rt.UPDATE|Rt.CREATE|Rt.READ|Rt.DELETE|Rt.SHARE,ALL_FILE:Rt.UPDATE|Rt.READ|Rt.SHARE};const Lt={methods:{async openSharingDetails(t){let e={};if(t.handler){const i={};this.suggestions&&(i.suggestions=this.suggestions,i.fileInfo=this.fileInfo,i.query=this.query);const n=await t.handler(i);e=this.mapShareRequestToShareObject(n)}else e=this.mapShareRequestToShareObject(t);if("dir"!==this.fileInfo.type){const t=e.permissions,i=t&~Rt.CREATE&~Rt.DELETE;t!==i&&(ft.debug("Removed create/delete permissions from file share (only valid for folders)"),e.permissions=i)}const i={fileInfo:this.fileInfo,share:e};this.$emit("open-sharing-details",i)},openShareDetailsForCustomSettings(t){t.setCustomPermissions=!0,this.openSharingDetails(t)},mapShareRequestToShareObject(t){if(t.id)return t;const e={attributes:[{value:!0,key:"download",scope:"permissions"}],hideDownload:!1,share_type:t.shareType,share_with:t.shareWith,is_no_user:t.isNoUser,user:t.shareWith,share_with_displayname:t.displayName,subtitle:t.subtitle,permissions:t.permissions??(new pt).defaultPermissions,expiration:""};return new gt(e)}}},Ot={name:"SharingInput",components:{NcSelect:x.A},mixins:[Pt,Lt],props:{shares:{type:Array,default:()=>[],required:!0},linkShares:{type:Array,default:()=>[],required:!0},fileInfo:{type:Object,default:()=>{},required:!0},reshare:{type:gt,default:null},canReshare:{type:Boolean,required:!0},isExternal:{type:Boolean,default:!1},placeholder:{type:String,default:""}},setup:()=>({shareInputId:`share-input-${Math.random().toString(36).slice(2,7)}`}),data:()=>({config:new pt,loading:!1,query:"",recommendations:[],ShareSearch:OCA.Sharing.ShareSearch.state,suggestions:[],value:null}),computed:{externalResults(){return this.ShareSearch.results},inputPlaceholder(){const e=this.config.isRemoteShareAllowed;return this.canReshare?this.placeholder?this.placeholder:e?t("files_sharing","Name, email, or Federated Cloud ID …"):t("files_sharing","Name or email …"):t("files_sharing","Resharing is not allowed")},isValidQuery(){return this.query&&""!==this.query.trim()&&this.query.length>this.config.minSearchStringLength},options(){return this.isValidQuery?this.suggestions:this.recommendations},noResultText(){return this.loading?t("files_sharing","Searching …"):t("files_sharing","No elements found.")}},mounted(){this.isExternal||this.getRecommendations()},methods:{onSelected(t){this.value=null,this.openSharingDetails(t)},async asyncFind(t){this.query=t.trim(),this.isValidQuery&&(this.loading=!0,await this.debounceGetSuggestions(t))},async getSuggestions(e){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.loading=!0,!0===(0,s.F)().files_sharing.sharee.query_lookup_default&&(i=!0);let n=[];const r=[lt.I.Remote,lt.I.RemoteGroup];this.isExternal&&!this.config.showFederatedSharesAsInternal?n.push(...r):(n=n.concat([lt.I.User,lt.I.Group,lt.I.Team,lt.I.Room,lt.I.Guest,lt.I.Deck,lt.I.ScienceMesh]),this.config.showFederatedSharesAsInternal&&n.push(...r)),!0===(0,s.F)().files_sharing.public.enabled&&this.isExternal&&n.push(lt.I.Email);let a=null;try{a=await K.Ay.get((0,l.KT)("apps/files_sharing/api/v1/sharees"),{params:{format:"json",itemType:"dir"===this.fileInfo.type?"folder":"file",search:e,lookup:i,perPage:this.config.maxAutocompleteResults,shareType:n}})}catch(t){return void console.error("Error fetching suggestions",t)}const o=a.data.ocs.data,c=a.data.ocs.data.exact;o.exact=[];const h=Object.values(c).reduce(((t,e)=>t.concat(e)),[]),u=Object.values(o).reduce(((t,e)=>t.concat(e)),[]),d=this.filterOutExistingShares(h).map((t=>this.formatForMultiselect(t))).sort(((t,e)=>t.shareType-e.shareType)),p=this.filterOutExistingShares(u).map((t=>this.formatForMultiselect(t))).sort(((t,e)=>t.shareType-e.shareType)),f=[];o.lookupEnabled&&!i&&f.push({id:"global-lookup",isNoUser:!0,displayName:t("files_sharing","Search globally"),lookup:!0});const g=this.externalResults.filter((t=>!t.condition||t.condition(this))),A=d.concat(p).concat(g).concat(f),m=A.reduce(((t,e)=>e.displayName?(t[e.displayName]||(t[e.displayName]=0),t[e.displayName]++,t):t),{});this.suggestions=A.map((t=>m[t.displayName]>1&&!t.desc?{...t,desc:t.shareWithDisplayNameUnique}:t)),this.loading=!1,console.info("suggestions",this.suggestions)},debounceGetSuggestions:Tt()((function(){this.getSuggestions(...arguments)}),300),async getRecommendations(){this.loading=!0;let t=null;try{t=await K.Ay.get((0,l.KT)("apps/files_sharing/api/v1/sharees_recommended"),{params:{format:"json",itemType:this.fileInfo.type}})}catch(t){return void console.error("Error fetching recommendations",t)}const e=this.externalResults.filter((t=>!t.condition||t.condition(this))),i=Object.values(t.data.ocs.data.exact).reduce(((t,e)=>t.concat(e)),[]);this.recommendations=this.filterOutExistingShares(i).map((t=>this.formatForMultiselect(t))).concat(e),this.loading=!1,console.info("recommendations",this.recommendations)},filterOutExistingShares(t){return t.reduce(((t,e)=>{if("object"!=typeof e)return t;try{if(e.value.shareType===lt.I.User){if(e.value.shareWith===(0,r.HW)().uid)return t;if(this.reshare&&e.value.shareWith===this.reshare.owner)return t}if(e.value.shareType===lt.I.Email){if(-1!==this.linkShares.map((t=>t.shareWith)).indexOf(e.value.shareWith.trim()))return t}else{const i=this.shares.reduce(((t,e)=>(t[e.shareWith]=e.type,t)),{}),n=e.value.shareWith.trim();if(n in i&&i[n]===e.value.shareType)return t}t.push(e)}catch{return t}return t}),[])},shareTypeToIcon(e){switch(e){case lt.I.Guest:return{icon:"icon-user",iconTitle:t("files_sharing","Guest")};case lt.I.RemoteGroup:case lt.I.Group:return{icon:"icon-group",iconTitle:t("files_sharing","Group")};case lt.I.Email:return{icon:"icon-mail",iconTitle:t("files_sharing","Email")};case lt.I.Team:return{icon:"icon-teams",iconTitle:t("files_sharing","Team")};case lt.I.Room:return{icon:"icon-room",iconTitle:t("files_sharing","Talk conversation")};case lt.I.Deck:return{icon:"icon-deck",iconTitle:t("files_sharing","Deck board")};case lt.I.Sciencemesh:return{icon:"icon-sciencemesh",iconTitle:t("files_sharing","ScienceMesh")};default:return{}}},formatForMultiselect(e){let i;return i=e.value.shareType===lt.I.User&&this.config.shouldAlwaysShowUnique?e.shareWithDisplayNameUnique??"":e.value.shareType!==lt.I.Remote&&e.value.shareType!==lt.I.RemoteGroup||!e.value.server?e.value.shareType===lt.I.Email?e.value.shareWith:e.shareWithDescription??"":t("files_sharing","on {server}",{server:e.value.server}),{shareWith:e.value.shareWith,shareType:e.value.shareType,user:e.uuid||e.value.shareWith,isNoUser:e.value.shareType!==lt.I.User,displayName:e.name||e.label,subname:i,shareWithDisplayNameUnique:e.shareWithDisplayNameUnique||"",...this.shareTypeToIcon(e.value.shareType)}}}};var Mt=n(6835),Ut={};Ut.styleTagTransform=C(),Ut.setAttributes=A(),Ut.insert=f().bind(null,"head"),Ut.domAPI=d(),Ut.insertStyleElement=v(),h()(Mt.A,Ut),Mt.A&&Mt.A.locals&&Mt.A.locals;const $t=(0,bt.A)(Ot,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"sharing-search"},[e("label",{staticClass:"hidden-visually",attrs:{for:t.shareInputId}},[t._v("\n\t\t"+t._s(t.isExternal?t.t("files_sharing","Enter external recipients"):t.t("files_sharing","Search for internal recipients"))+"\n\t")]),t._v(" "),e("NcSelect",{ref:"select",staticClass:"sharing-search__input",attrs:{"input-id":t.shareInputId,disabled:!t.canReshare,loading:t.loading,filterable:!1,placeholder:t.inputPlaceholder,"clear-search-on-blur":()=>!1,"user-select":!0,options:t.options,"label-outside":!0},on:{search:t.asyncFind,"option:selected":t.onSelected},scopedSlots:t._u([{key:"no-options",fn:function(e){let{search:i}=e;return[t._v("\n\t\t\t"+t._s(i?t.noResultText:t.placeholder)+"\n\t\t")]}}]),model:{value:t.value,callback:function(e){t.value=e},expression:"value"}})],1)}),[],!1,null,null,null).exports;var Ft=n(71225),Vt=n(72298),jt=n(30594),zt=n(49264);const qt=new pt;async function Ht(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(qt.passwordPolicy.api&&qt.passwordPolicy.api.generate)try{const e=await K.Ay.get(qt.passwordPolicy.api.generate);if(e.data.ocs.data.password)return t&&(0,At.Te)((0,_.Tl)("files_sharing","Password created successfully")),e.data.ocs.data.password}catch(e){console.info("Error generating password from password_policy",e),t&&(0,At.Qg)((0,_.Tl)("files_sharing","Error generating password from password policy"))}const e=new Uint8Array(10),i=52/255;self.crypto.getRandomValues(e);let n="";for(let t=0;t<e.length;t++)n+="abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789".charAt(e[t]*i);return n}var Gt=n(77815);const Wt=(0,Gt.KU)(),Yt={mixins:[Pt],props:{fileInfo:{type:Object,default:()=>{},required:!0},share:{type:gt,default:null},isUnique:{type:Boolean,default:!0}},data(){return{config:new pt,node:null,ShareType:lt.I,errors:{},loading:!1,saving:!1,open:!1,updateQueue:new zt.A({concurrency:1}),reactiveState:this.share?.state}},computed:{path(){return(this.fileInfo.path+"/"+this.fileInfo.name).replace("//","/")},hasNote:{get(){return""!==this.share.note},set(t){this.share.note=t?null:""}},dateTomorrow:()=>new Date((new Date).setDate((new Date).getDate()+1)),lang(){const t=window.dayNamesShort?window.dayNamesShort:["Sun.","Mon.","Tue.","Wed.","Thu.","Fri.","Sat."],e=window.monthNamesShort?window.monthNamesShort:["Jan.","Feb.","Mar.","Apr.","May.","Jun.","Jul.","Aug.","Sep.","Oct.","Nov.","Dec."];return{formatLocale:{firstDayOfWeek:window.firstDay?window.firstDay:0,monthsShort:e,weekdaysMin:t,weekdaysShort:t},monthFormat:"MMM"}},isNewShare(){return!this.share.id},isFolder(){return"dir"===this.fileInfo.type},isPublicShare(){const t=this.share.shareType??this.share.type;return[lt.I.Link,lt.I.Email].includes(t)},isRemoteShare(){return this.share.type===lt.I.RemoteGroup||this.share.type===lt.I.Remote},isShareOwner(){return this.share&&this.share.owner===(0,r.HW)().uid},isExpiryDateEnforced(){return this.isPublicShare?this.config.isDefaultExpireDateEnforced:this.isRemoteShare?this.config.isDefaultRemoteExpireDateEnforced:this.config.isDefaultInternalExpireDateEnforced},hasCustomPermissions(){return![Bt.ALL,Bt.READ_ONLY,Bt.FILE_DROP].includes(this.share.permissions)},maxExpirationDateEnforced(){return this.isExpiryDateEnforced?this.isPublicShare?this.config.defaultExpirationDate:this.isRemoteShare?this.config.defaultRemoteExpirationDateString:this.config.defaultInternalExpirationDate:null},isPasswordProtected:{get(){return this.config.enforcePasswordForPublicLink||!!this.share.password},async set(t){t?(this.share.password=await Ht(!0),this.$set(this.share,"newPassword",this.share.password)):(this.share.password="",this.$delete(this.share,"newPassword"))}}},methods:{async getNode(){const t={path:this.path};try{this.node=await(async t=>{const e=(0,Gt.aN)(),i=await Wt.stat(`${(0,Gt.ei)()}${t}`,{details:!0,data:e});return(0,Gt.pO)(i.data)})(t.path),ft.info("Fetched node:",{node:this.node})}catch(t){ft.error("Error:",t)}},checkShare:t=>(!t.password||"string"==typeof t.password&&""!==t.password.trim())&&!(t.expirationDate&&!t.expirationDate.isValid()),formatDateToString:t=>new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())).toISOString().split("T")[0],onExpirationChange(t){if(!t)return this.share.expireDate=null,void this.$set(this.share,"expireDate",null);const e=t instanceof Date?t:new Date(t);this.share.expireDate=this.formatDateToString(e)},onNoteChange(t){this.$set(this.share,"newNote",t.trim())},onNoteSubmit(){this.share.newNote&&(this.share.note=this.share.newNote,this.$delete(this.share,"newNote"),this.queueUpdate("note"))},async onDelete(){try{this.loading=!0,this.open=!1,await this.deleteShare(this.share.id),console.debug("Share deleted",this.share.id);const e="file"===this.share.itemType?t("files_sharing",'File "{path}" has been unshared',{path:this.share.path}):t("files_sharing",'Folder "{path}" has been unshared',{path:this.share.path});(0,At.Te)(e),this.$emit("remove:share",this.share),await this.getNode(),(0,Nt.Ic)("files:node:updated",this.node)}catch(t){this.open=!0}finally{this.loading=!1}},queueUpdate(){for(var e=arguments.length,i=new Array(e),n=0;n<e;n++)i[n]=arguments[n];if(0!==i.length){if(this.share.id){const e={};return i.forEach((t=>{null===this.share[t]||void 0===this.share[t]?e[t]="":"object"==typeof this.share[t]?e[t]=JSON.stringify(this.share[t]):e[t]=this.share[t].toString()})),this.updateQueue.add((async()=>{this.saving=!0,this.errors={};try{const t=await this.updateShare(this.share.id,e);i.indexOf("password")>=0&&(this.$delete(this.share,"newPassword"),this.share.passwordExpirationTime=t.password_expiration_time),this.$delete(this.errors,i[0]),(0,At.Te)(this.updateSuccessMessage(i))}catch(e){ft.error("Could not update share",{error:e,share:this.share,propertyNames:i});const{message:n}=e;n&&""!==n?(this.onSyncError(i[0],n),(0,At.Qg)(n)):(0,At.Qg)(t("files_sharing","Could not update share"))}finally{this.saving=!1}}))}console.debug("Updated local share",this.share)}},updateSuccessMessage(e){if(1!==e.length)return t("files_sharing","Share saved");switch(e[0]){case"expireDate":return t("files_sharing","Share expiry date saved");case"hideDownload":return t("files_sharing","Share hide-download state saved");case"label":return t("files_sharing","Share label saved");case"note":return t("files_sharing","Share note for recipient saved");case"password":return t("files_sharing","Share password saved");case"permissions":return t("files_sharing","Share permissions saved");default:return t("files_sharing","Share saved")}},onSyncError(t,e){switch(this.open=!0,t){case"password":case"pending":case"expireDate":case"label":case"note":{this.$set(this.errors,t,e);let i=this.$refs[t];if(i){i.$el&&(i=i.$el);const t=i.querySelector(".focusable");t&&t.focus()}break}case"sendPasswordByTalk":this.$set(this.errors,t,e),this.share.sendPasswordByTalk=!this.share.sendPasswordByTalk}},debounceQueueUpdate:Tt()((function(t){this.queueUpdate(t)}),500)}},Xt={name:"SharingEntryInherited",components:{NcActionButton:Q.A,NcActionLink:Vt.A,NcActionText:jt.A,NcAvatar:E.A,SharingEntrySimple:_t},mixins:[Yt],props:{share:{type:gt,required:!0}},computed:{viaFileTargetUrl(){return(0,l.Jv)("/f/{fileid}",{fileid:this.share.viaFileid})},viaFolderName(){return(0,Ft.P8)(this.share.viaPath)}}};var Qt=n(59879),Zt={};Zt.styleTagTransform=C(),Zt.setAttributes=A(),Zt.insert=f().bind(null,"head"),Zt.domAPI=d(),Zt.insertStyleElement=v(),h()(Qt.A,Zt),Qt.A&&Qt.A.locals&&Qt.A.locals;const Kt=(0,bt.A)(Xt,(function(){var t=this,e=t._self._c;return e("SharingEntrySimple",{key:t.share.id,staticClass:"sharing-entry__inherited",attrs:{title:t.share.shareWithDisplayName},scopedSlots:t._u([{key:"avatar",fn:function(){return[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{user:t.share.shareWith,"display-name":t.share.shareWithDisplayName}})]},proxy:!0}])},[t._v(" "),e("NcActionText",{attrs:{icon:"icon-user"}},[t._v("\n\t\t"+t._s(t.t("files_sharing","Added by {initiator}",{initiator:t.share.ownerDisplayName}))+"\n\t")]),t._v(" "),t.share.viaPath&&t.share.viaFileid?e("NcActionLink",{attrs:{icon:"icon-folder",href:t.viaFileTargetUrl}},[t._v("\n\t\t"+t._s(t.t("files_sharing","Via “{folder}”",{folder:t.viaFolderName}))+"\n\t")]):t._e(),t._v(" "),t.share.canDelete?e("NcActionButton",{attrs:{icon:"icon-close"},on:{click:function(e){return e.preventDefault(),t.onDelete.apply(null,arguments)}}},[t._v("\n\t\t"+t._s(t.t("files_sharing","Unshare"))+"\n\t")]):t._e()],1)}),[],!1,null,"fe8ed59e",null).exports,Jt={name:"SharingInherited",components:{NcActionButton:Q.A,SharingEntryInherited:Kt,SharingEntrySimple:_t},props:{fileInfo:{type:Object,default:()=>{},required:!0}},data:()=>({loaded:!1,loading:!1,showInheritedShares:!1,shares:[]}),computed:{showInheritedSharesIcon(){return this.loading?"icon-loading-small":this.showInheritedShares?"icon-triangle-n":"icon-triangle-s"},mainTitle:()=>t("files_sharing","Others with access"),subTitle(){return this.showInheritedShares&&0===this.shares.length?t("files_sharing","No other accounts with access found"):""},toggleTooltip(){return"dir"===this.fileInfo.type?t("files_sharing","Toggle list of others with access to this directory"):t("files_sharing","Toggle list of others with access to this file")},fullPath(){return`${this.fileInfo.path}/${this.fileInfo.name}`.replace("//","/")}},watch:{fileInfo(){this.resetState()}},methods:{toggleInheritedShares(){this.showInheritedShares=!this.showInheritedShares,this.showInheritedShares?this.fetchInheritedShares():this.resetState()},async fetchInheritedShares(){this.loading=!0;try{const t=(0,l.KT)("apps/files_sharing/api/v1/shares/inherited?format=json&path={path}",{path:this.fullPath}),e=await K.Ay.get(t);this.shares=e.data.ocs.data.map((t=>new gt(t))).sort(((t,e)=>e.createdTime-t.createdTime)),console.info(this.shares),this.loaded=!0}catch(e){OC.Notification.showTemporary(t("files_sharing","Unable to fetch inherited shares"),{type:"error"})}finally{this.loading=!1}},resetState(){this.loaded=!1,this.loading=!1,this.showInheritedShares=!1,this.shares=[]},removeShare(t){const e=this.shares.findIndex((e=>e===t));this.shares.splice(e,1)}}};var te=n(56467),ee={};ee.styleTagTransform=C(),ee.setAttributes=A(),ee.insert=f().bind(null,"head"),ee.domAPI=d(),ee.insertStyleElement=v(),h()(te.A,ee),te.A&&te.A.locals&&te.A.locals;const ie=(0,bt.A)(Jt,(function(){var t=this,e=t._self._c;return t.shares.length?e("ul",{attrs:{id:"sharing-inherited-shares"}},[e("SharingEntrySimple",{staticClass:"sharing-entry__inherited",attrs:{title:t.mainTitle,subtitle:t.subTitle,"aria-expanded":t.showInheritedShares},scopedSlots:t._u([{key:"avatar",fn:function(){return[e("div",{staticClass:"avatar-shared icon-more-white"})]},proxy:!0}],null,!1,1184892072)},[t._v(" "),e("NcActionButton",{attrs:{icon:t.showInheritedSharesIcon,"aria-label":t.toggleTooltip,title:t.toggleTooltip},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.toggleInheritedShares.apply(null,arguments)}}})],1),t._v(" "),t._l(t.shares,(function(i){return e("SharingEntryInherited",{key:i.id,attrs:{"file-info":t.fileInfo,share:i},on:{"remove:share":t.removeShare}})}))],2):t._e()}),[],!1,null,"a6cc72e6",null).exports;var ne=n(17816),re=n.n(ne),se=n(97691),ae=n(44131),oe=n(15502),le=n(94219);const ce={name:"TuneIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},he=(0,bt.A)(ce,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon tune-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ue={name:"CalendarBlankIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},de=(0,bt.A)(ue,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon calendar-blank-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,pe={name:"QrcodeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},fe=(0,bt.A)(pe,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon qrcode-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ge={name:"ExclamationIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ae=(0,bt.A)(ge,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon exclamation-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,me={name:"LockIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ve=(0,bt.A)(me,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon lock-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ye={name:"CheckBoldIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ce=(0,bt.A)(ye,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon check-bold-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var we=n(66001),be=n(96078);const _e={name:"TriangleSmallDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ee=(0,bt.A)(_e,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon triangle-small-down-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M8 9H16L12 16"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,xe={name:"EyeOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Se=(0,bt.A)(xe,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon eye-outline-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var Ie=n(2413);const ke={name:"FileUploadIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Te=(0,bt.A)(ke,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-upload-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Ne={name:"SharingEntryQuickShareSelect",components:{DropdownIcon:Ee,NcActions:X.A,NcActionButton:Q.A},mixins:[Yt,Lt],props:{share:{type:Object,required:!0}},emits:["open-sharing-details"],data:()=>({selectedOption:""}),computed:{ariaLabel(){return t("files_sharing",'Quick share options, the current selected is "{selectedOption}"',{selectedOption:this.selectedOption})},canViewText:()=>t("files_sharing","View only"),canEditText:()=>t("files_sharing","Can edit"),fileDropText:()=>t("files_sharing","File request"),customPermissionsText:()=>t("files_sharing","Custom permissions"),preSelectedOption(){return(this.share.permissions&~Rt.SHARE)===Bt.READ_ONLY?this.canViewText:this.share.permissions===Bt.ALL||this.share.permissions===Bt.ALL_FILE?this.canEditText:(this.share.permissions&~Rt.SHARE)===Bt.FILE_DROP?this.fileDropText:this.customPermissionsText},options(){const t=[{label:this.canViewText,icon:Se},{label:this.canEditText,icon:Ie.A}];return this.supportsFileDrop&&t.push({label:this.fileDropText,icon:Te}),t.push({label:this.customPermissionsText,icon:he}),t},supportsFileDrop(){if(this.isFolder&&this.config.isPublicUploadEnabled){const t=this.share.type??this.share.shareType;return[lt.I.Link,lt.I.Email].includes(t)}return!1},dropDownPermissionValue(){switch(this.selectedOption){case this.canEditText:return this.isFolder?Bt.ALL:Bt.ALL_FILE;case this.fileDropText:return Bt.FILE_DROP;case this.customPermissionsText:return"custom";case this.canViewText:default:return Bt.READ_ONLY}}},created(){this.selectedOption=this.preSelectedOption},mounted(){(0,Nt.B1)("update:share",(t=>{t.id===this.share.id&&(this.share.permissions=t.permissions,this.selectedOption=this.preSelectedOption)}))},unmounted(){(0,Nt.al)("update:share")},methods:{selectOption(t){this.selectedOption=t,t===this.customPermissionsText?this.$emit("open-sharing-details"):(this.share.permissions=this.dropDownPermissionValue,this.queueUpdate("permissions"),this.$refs.quickShareActions.$refs.menuButton.$el.focus())}}},De=Ne;var Pe=n(88522),Re={};Re.styleTagTransform=C(),Re.setAttributes=A(),Re.insert=f().bind(null,"head"),Re.domAPI=d(),Re.insertStyleElement=v(),h()(Pe.A,Re),Pe.A&&Pe.A.locals&&Pe.A.locals;const Be=(0,bt.A)(De,(function(){var t=this,e=t._self._c;return e("NcActions",{ref:"quickShareActions",staticClass:"share-select",attrs:{"menu-name":t.selectedOption,"aria-label":t.ariaLabel,type:"tertiary-no-background",disabled:!t.share.canEdit,"force-name":""},scopedSlots:t._u([{key:"icon",fn:function(){return[e("DropdownIcon",{attrs:{size:15}})]},proxy:!0}])},[t._v(" "),t._l(t.options,(function(i){return e("NcActionButton",{key:i.label,attrs:{type:"radio","model-value":i.label===t.selectedOption,"close-after-click":""},on:{click:function(e){return t.selectOption(i.label)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.icon,{tag:"component"})]},proxy:!0}],null,!0)},[t._v("\n\t\t"+t._s(i.label)+"\n\t")])}))],2)}),[],!1,null,"2aa230f1",null).exports;var Le=n(4604);const Oe={name:"ClockIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Me=(0,bt.A)(Oe,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon clock-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Ue={name:"ShareExpiryTime",components:{NcButton:dt.A,NcPopover:ht.N,NcDateTime:Le.A,ClockIcon:Me},props:{share:{type:Object,required:!0}},computed:{expiryTime(){return this.share?.expireDate?new Date(this.share.expireDate).getTime():null},timeFormat:()=>({dateStyle:"full",timeStyle:"short"})}};var $e=n(63316),Fe={};Fe.styleTagTransform=C(),Fe.setAttributes=A(),Fe.insert=f().bind(null,"head"),Fe.domAPI=d(),Fe.insertStyleElement=v(),h()($e.A,Fe),$e.A&&$e.A.locals&&$e.A.locals;const Ve=(0,bt.A)(Ue,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"share-expiry-time"},[e("NcPopover",{attrs:{"popup-role":"dialog"},scopedSlots:t._u([{key:"trigger",fn:function(){return[t.expiryTime?e("NcButton",{staticClass:"hint-icon",attrs:{type:"tertiary","aria-label":t.t("files_sharing","Share expiration: {date}",{date:new Date(t.expiryTime).toLocaleString()})},scopedSlots:t._u([{key:"icon",fn:function(){return[e("ClockIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,3754271979)}):t._e()]},proxy:!0}])},[t._v(" "),e("h3",{staticClass:"hint-heading"},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Share Expiration"))+"\n\t\t")]),t._v(" "),t.expiryTime?e("p",{staticClass:"hint-body"},[e("NcDateTime",{attrs:{timestamp:t.expiryTime,format:t.timeFormat,"relative-time":!1}}),t._v(" ("),e("NcDateTime",{attrs:{timestamp:t.expiryTime}}),t._v(")\n\t\t")],1):t._e()])],1)}),[],!1,null,"46cd2ca2",null).exports,je={name:"ExternalShareAction",props:{id:{type:String,required:!0},action:{type:Object,default:()=>({})},fileInfo:{type:Object,default:()=>{},required:!0},share:{type:gt,default:null}},computed:{data(){return this.action.data(this)}}},ze=(0,bt.A)(je,(function(){var t=this;return(0,t._self._c)(t.data.is,t._g(t._b({tag:"Component"},"Component",t.data,!1),t.action.handlers),[t._v("\n\t"+t._s(t.data.text)+"\n")])}),[],!1,null,null,null).exports,qe={name:"SharingEntryLink",components:{ExternalShareAction:ze,NcActions:X.A,NcActionButton:Q.A,NcActionCheckbox:se.N,NcActionInput:ae.A,NcActionLink:Vt.A,NcActionText:jt.A,NcActionSeparator:oe.A,NcAvatar:E.A,NcDialog:le.A,VueQrcode:re(),Tune:he,IconCalendarBlank:de,IconQr:fe,ErrorIcon:Ae,LockIcon:ve,CheckIcon:Ce,ClipboardIcon:vt.A,CloseIcon:we.A,PlusIcon:be.A,SharingEntryQuickShareSelect:Be,ShareExpiryTime:Ve},mixins:[Yt,Lt],props:{canReshare:{type:Boolean,default:!0},index:{type:Number,default:null}},data:()=>({shareCreationComplete:!1,copySuccess:!0,copied:!1,defaultExpirationDateEnabled:!1,pending:!1,ExternalLegacyLinkActions:OCA.Sharing.ExternalLinkActions.state,ExternalShareActions:OCA.Sharing.ExternalShareActions.state,showQRCode:!1}),computed:{title(){const t={escape:!1};if(this.share&&this.share.id){if(!this.isShareOwner&&this.share.ownerDisplayName)return this.isEmailShareType?(0,_.t)("files_sharing","{shareWith} by {initiator}",{shareWith:this.share.shareWith,initiator:this.share.ownerDisplayName},t):(0,_.t)("files_sharing","Shared via link by {initiator}",{initiator:this.share.ownerDisplayName},t);if(this.share.label&&""!==this.share.label.trim())return this.isEmailShareType?this.isFileRequest?(0,_.t)("files_sharing","File request ({label})",{label:this.share.label.trim()},t):(0,_.t)("files_sharing","Mail share ({label})",{label:this.share.label.trim()},t):(0,_.t)("files_sharing","Share link ({label})",{label:this.share.label.trim()},t);if(this.isEmailShareType)return this.share.shareWith&&""!==this.share.shareWith.trim()?this.share.shareWith:this.isFileRequest?(0,_.t)("files_sharing","File request"):(0,_.t)("files_sharing","Mail share");if(null===this.index)return(0,_.t)("files_sharing","Share link")}return this.index>=1?(0,_.t)("files_sharing","Share link ({index})",{index:this.index}):(0,_.t)("files_sharing","Create public link")},subtitle(){return this.isEmailShareType&&this.title!==this.share.shareWith?this.share.shareWith:null},passwordExpirationTime(){if(null===this.share.passwordExpirationTime)return null;const t=(0,ut.A)(this.share.passwordExpirationTime);return!(t.diff((0,ut.A)())<0)&&t.fromNow()},isTalkEnabled:()=>void 0!==OC.appswebroots.spreed,isPasswordProtectedByTalkAvailable(){return this.isPasswordProtected&&this.isTalkEnabled},isPasswordProtectedByTalk:{get(){return this.share.sendPasswordByTalk},async set(t){this.share.sendPasswordByTalk=t}},isEmailShareType(){return!!this.share&&this.share.type===lt.I.Email},canTogglePasswordProtectedByTalkAvailable(){return!(!this.isPasswordProtected||this.isEmailShareType&&!this.hasUnsavedPassword)},pendingDataIsMissing(){return this.pendingPassword||this.pendingEnforcedPassword||this.pendingDefaultExpirationDate||this.pendingEnforcedExpirationDate},pendingPassword(){return this.config.enableLinkPasswordByDefault&&this.isPendingShare},pendingEnforcedPassword(){return this.config.enforcePasswordForPublicLink&&this.isPendingShare},pendingEnforcedExpirationDate(){return this.config.isDefaultExpireDateEnforced&&this.isPendingShare},pendingDefaultExpirationDate(){return(this.config.defaultExpirationDate instanceof Date||!isNaN(new Date(this.config.defaultExpirationDate).getTime()))&&this.isPendingShare},isPendingShare(){return!(!this.share||this.share.id)},sharePolicyHasEnforcedProperties(){return this.config.enforcePasswordForPublicLink||this.config.isDefaultExpireDateEnforced},enforcedPropertiesMissing(){if(!this.sharePolicyHasEnforcedProperties)return!1;if(!this.share)return!0;if(this.share.id)return!0;const t=this.config.enforcePasswordForPublicLink&&!this.share.password,e=this.config.isDefaultExpireDateEnforced&&!this.share.expireDate;return t||e},hasUnsavedPassword(){return void 0!==this.share.newPassword},shareLink(){return(0,l.Jv)("/s/{token}",{token:this.share.token},{baseURL:(0,l.$_)()})},actionsTooltip(){return(0,_.t)("files_sharing",'Actions for "{title}"',{title:this.title})},copyLinkTooltip(){return this.copied?this.copySuccess?"":(0,_.t)("files_sharing","Cannot copy, please copy the link manually"):(0,_.t)("files_sharing",'Copy public link of "{title}" to clipboard',{title:this.title})},externalLegacyLinkActions(){return this.ExternalLegacyLinkActions.actions},externalLinkActions(){return this.ExternalShareActions.actions.filter((t=>(t.shareType.includes(lt.I.Link)||t.shareType.includes(lt.I.Email))&&!t.advanced))},isPasswordPolicyEnabled(){return"object"==typeof this.config.passwordPolicy},canChangeHideDownload(){return this.fileInfo.shareAttributes.some((t=>"permissions"===t.scope&&"download"===t.key&&!1===t.value))},isFileRequest(){return this.share.isFileRequest}},mounted(){this.defaultExpirationDateEnabled=this.config.defaultExpirationDate instanceof Date,this.share&&this.isNewShare&&(this.share.expireDate=this.defaultExpirationDateEnabled?this.formatDateToString(this.config.defaultExpirationDate):"")},methods:{shareRequiresReview(t){return!t&&(this.defaultExpirationDateEnabled||this.config.enableLinkPasswordByDefault)},async onNewLinkShare(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(ft.debug("onNewLinkShare called (with this.share)",this.share),this.loading)return;const e={share_type:lt.I.Link};if(this.config.isDefaultExpireDateEnforced&&(e.expiration=this.formatDateToString(this.config.defaultExpirationDate)),ft.debug("Missing required properties?",this.enforcedPropertiesMissing),this.sharePolicyHasEnforcedProperties&&this.enforcedPropertiesMissing||this.shareRequiresReview(!0===t)){this.pending=!0,this.shareCreationComplete=!1,ft.info("Share policy requires a review or has mandated properties (password, expirationDate)..."),(this.config.enableLinkPasswordByDefault||this.config.enforcePasswordForPublicLink)&&(e.password=await Ht(!0));const t=new gt(e),i=await new Promise((e=>{this.$emit("add:share",t,e)}));this.open=!1,this.pending=!1,i.open=!0}else{if(this.share&&!this.share.id){if(this.checkShare(this.share)){try{ft.info("Sending existing share to server",this.share),await this.pushNewLinkShare(this.share,!0),this.shareCreationComplete=!0,ft.info("Share created on server",this.share)}catch(t){return this.pending=!1,ft.error("Error creating share",t),!1}return!0}return this.open=!0,(0,At.Qg)((0,_.t)("files_sharing","Error, please enter proper password and/or expiration date")),!1}const t=new gt(e);await this.pushNewLinkShare(t),this.shareCreationComplete=!0}},async pushNewLinkShare(t,e){try{if(this.loading)return!0;this.loading=!0,this.errors={};const i={path:(this.fileInfo.path+"/"+this.fileInfo.name).replace("//","/"),shareType:lt.I.Link,password:t.password,expireDate:t.expireDate??"",attributes:JSON.stringify(this.fileInfo.shareAttributes)};console.debug("Creating link share with options",i);const n=await this.createShare(i);let r;this.open=!1,this.shareCreationComplete=!0,console.debug("Link share created",n),r=e?await new Promise((t=>{this.$emit("update:share",n,t)})):await new Promise((t=>{this.$emit("add:share",n,t)})),await this.getNode(),(0,Nt.Ic)("files:node:updated",this.node),this.config.enforcePasswordForPublicLink||r.copyLink(),(0,At.Te)((0,_.t)("files_sharing","Link share created"))}catch(t){const e=t?.response?.data?.ocs?.meta?.message;if(!e)return(0,At.Qg)((0,_.t)("files_sharing","Error while creating the share")),void console.error(t);throw e.match(/password/i)?this.onSyncError("password",e):e.match(/date/i)?this.onSyncError("expireDate",e):this.onSyncError("pending",e),t}finally{this.loading=!1,this.shareCreationComplete=!0}},async copyLink(){try{await navigator.clipboard.writeText(this.shareLink),(0,At.Te)((0,_.t)("files_sharing","Link copied")),this.$refs.copyButton.$el.focus(),this.copySuccess=!0,this.copied=!0}catch(t){this.copySuccess=!1,this.copied=!0,console.error(t)}finally{setTimeout((()=>{this.copySuccess=!1,this.copied=!1}),4e3)}},onPasswordChange(t){this.$set(this.share,"newPassword",t)},onPasswordDisable(){this.share.password="",this.$delete(this.share,"newPassword"),this.share.id&&this.queueUpdate("password")},onPasswordSubmit(){this.hasUnsavedPassword&&(this.share.password=this.share.newPassword.trim(),this.queueUpdate("password"))},onPasswordProtectedByTalkChange(){this.hasUnsavedPassword&&(this.share.password=this.share.newPassword.trim()),this.queueUpdate("sendPasswordByTalk","password")},onMenuClose(){this.onPasswordSubmit(),this.onNoteSubmit()},onExpirationDateToggleUpdate(t){this.share.expireDate=t?this.formatDateToString(this.config.defaultExpirationDate):""},expirationDateChanged(t){const e=t?.target?.value,i=!!e&&!isNaN(new Date(e).getTime());this.defaultExpirationDateEnabled=i},onCancel(){this.shareCreationComplete||this.$emit("remove:share",this.share)}}},He=qe;var Ge=n(93057),We={};We.styleTagTransform=C(),We.setAttributes=A(),We.insert=f().bind(null,"head"),We.domAPI=d(),We.insertStyleElement=v(),h()(Ge.A,We),Ge.A&&Ge.A.locals&&Ge.A.locals;const Ye={name:"SharingLinkList",components:{SharingEntryLink:(0,bt.A)(He,(function(){var t=this,e=t._self._c;return e("li",{staticClass:"sharing-entry sharing-entry__link",class:{"sharing-entry--share":t.share}},[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{"is-no-user":!0,"icon-class":t.isEmailShareType?"avatar-link-share icon-mail-white":"avatar-link-share icon-public-white"}}),t._v(" "),e("div",{staticClass:"sharing-entry__summary"},[e("div",{staticClass:"sharing-entry__desc"},[e("span",{staticClass:"sharing-entry__title",attrs:{title:t.title}},[t._v("\n\t\t\t\t"+t._s(t.title)+"\n\t\t\t")]),t._v(" "),t.subtitle?e("p",[t._v("\n\t\t\t\t"+t._s(t.subtitle)+"\n\t\t\t")]):t._e(),t._v(" "),t.share&&void 0!==t.share.permissions?e("SharingEntryQuickShareSelect",{attrs:{share:t.share,"file-info":t.fileInfo},on:{"open-sharing-details":function(e){return t.openShareDetailsForCustomSettings(t.share)}}}):t._e()],1),t._v(" "),e("div",{staticClass:"sharing-entry__actions"},[t.share&&t.share.expireDate?e("ShareExpiryTime",{attrs:{share:t.share}}):t._e(),t._v(" "),e("div",[t.share&&(!t.isEmailShareType||t.isFileRequest)&&t.share.token?e("NcActions",{ref:"copyButton",staticClass:"sharing-entry__copy"},[e("NcActionButton",{attrs:{"aria-label":t.copyLinkTooltip,title:t.copyLinkTooltip,href:t.shareLink},on:{click:function(e){return e.preventDefault(),t.copyLink.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.copied&&t.copySuccess?e("CheckIcon",{staticClass:"icon-checkmark-color",attrs:{size:20}}):e("ClipboardIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,4269614823)})],1):t._e()],1)],1)]),t._v(" "),!t.pending&&t.pendingDataIsMissing?e("NcActions",{staticClass:"sharing-entry__actions",attrs:{"aria-label":t.actionsTooltip,"menu-align":"right",open:t.open},on:{"update:open":function(e){t.open=e},close:t.onCancel}},[t.errors.pending?e("NcActionText",{staticClass:"error",scopedSlots:t._u([{key:"icon",fn:function(){return[e("ErrorIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,1966124155)},[t._v("\n\t\t\t"+t._s(t.errors.pending)+"\n\t\t")]):e("NcActionText",{attrs:{icon:"icon-info"}},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Please enter the following required information before creating the share"))+"\n\t\t")]),t._v(" "),t.pendingPassword?e("NcActionCheckbox",{staticClass:"share-link-password-checkbox",attrs:{checked:t.isPasswordProtected,disabled:t.config.enforcePasswordForPublicLink||t.saving},on:{"update:checked":function(e){t.isPasswordProtected=e},uncheck:t.onPasswordDisable}},[t._v("\n\t\t\t"+t._s(t.config.enforcePasswordForPublicLink?t.t("files_sharing","Password protection (enforced)"):t.t("files_sharing","Password protection"))+"\n\t\t")]):t._e(),t._v(" "),t.pendingEnforcedPassword||t.share.password?e("NcActionInput",{staticClass:"share-link-password",attrs:{label:t.t("files_sharing","Enter a password"),value:t.share.password,disabled:t.saving,required:t.config.enableLinkPasswordByDefault||t.config.enforcePasswordForPublicLink,minlength:t.isPasswordPolicyEnabled&&t.config.passwordPolicy.minLength,autocomplete:"new-password"},on:{"update:value":function(e){return t.$set(t.share,"password",e)},submit:function(e){return t.onNewLinkShare(!0)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("LockIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2056568168)}):t._e(),t._v(" "),t.pendingDefaultExpirationDate?e("NcActionCheckbox",{staticClass:"share-link-expiration-date-checkbox",attrs:{checked:t.defaultExpirationDateEnabled,disabled:t.pendingEnforcedExpirationDate||t.saving},on:{"update:checked":function(e){t.defaultExpirationDateEnabled=e},"update:model-value":t.onExpirationDateToggleUpdate}},[t._v("\n\t\t\t"+t._s(t.config.isDefaultExpireDateEnforced?t.t("files_sharing","Enable link expiration (enforced)"):t.t("files_sharing","Enable link expiration"))+"\n\t\t")]):t._e(),t._v(" "),(t.pendingDefaultExpirationDate||t.pendingEnforcedExpirationDate)&&t.defaultExpirationDateEnabled?e("NcActionInput",{staticClass:"share-link-expire-date",attrs:{"data-cy-files-sharing-expiration-date-input":"",label:t.pendingEnforcedExpirationDate?t.t("files_sharing","Enter expiration date (enforced)"):t.t("files_sharing","Enter expiration date"),disabled:t.saving,"is-native-picker":!0,"hide-label":!0,value:new Date(t.share.expireDate),type:"date",min:t.dateTomorrow,max:t.maxExpirationDateEnforced},on:{"update:model-value":t.onExpirationChange,change:t.expirationDateChanged},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconCalendarBlank",{attrs:{size:20}})]},proxy:!0}],null,!1,3418578971)}):t._e(),t._v(" "),e("NcActionButton",{on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onNewLinkShare(!0)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CheckIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2630571749)},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Create share"))+"\n\t\t")]),t._v(" "),e("NcActionButton",{on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onCancel.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CloseIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2428343285)},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Cancel"))+"\n\t\t")])],1):t.loading?e("div",{staticClass:"icon-loading-small sharing-entry__loading"}):e("NcActions",{staticClass:"sharing-entry__actions",attrs:{"aria-label":t.actionsTooltip,"menu-align":"right",open:t.open},on:{"update:open":function(e){t.open=e},close:t.onMenuClose}},[t.share?[t.share.canEdit&&t.canReshare?[e("NcActionButton",{attrs:{disabled:t.saving,"close-after-click":!0},on:{click:function(e){return e.preventDefault(),t.openSharingDetails.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Tune",{attrs:{size:20}})]},proxy:!0}],null,!1,1300586850)},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Customize link"))+"\n\t\t\t\t")])]:t._e(),t._v(" "),e("NcActionButton",{attrs:{"close-after-click":!0},on:{click:function(e){e.preventDefault(),t.showQRCode=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconQr",{attrs:{size:20}})]},proxy:!0}],null,!1,1082198240)},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Generate QR code"))+"\n\t\t\t")]),t._v(" "),e("NcActionSeparator"),t._v(" "),t._l(t.externalLinkActions,(function(i){return e("ExternalShareAction",{key:i.id,attrs:{id:i.id,action:i,"file-info":t.fileInfo,share:t.share}})})),t._v(" "),t._l(t.externalLegacyLinkActions,(function(i,n){let{icon:r,url:s,name:a}=i;return e("NcActionLink",{key:n,attrs:{href:s(t.shareLink),icon:r,target:"_blank"}},[t._v("\n\t\t\t\t"+t._s(a)+"\n\t\t\t")])})),t._v(" "),!t.isEmailShareType&&t.canReshare?e("NcActionButton",{staticClass:"new-share-link",on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onNewLinkShare.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("PlusIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2953566425)},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Add another link"))+"\n\t\t\t")]):t._e(),t._v(" "),t.share.canDelete?e("NcActionButton",{attrs:{disabled:t.saving},on:{click:function(e){return e.preventDefault(),t.onDelete.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CloseIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2428343285)},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Unshare"))+"\n\t\t\t")]):t._e()]:t.canReshare?e("NcActionButton",{staticClass:"new-share-link",attrs:{title:t.t("files_sharing","Create a new share link"),"aria-label":t.t("files_sharing","Create a new share link"),icon:t.loading?"icon-loading-small":"icon-add"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onNewLinkShare.apply(null,arguments)}}}):t._e()],2),t._v(" "),t.showQRCode?e("NcDialog",{attrs:{size:"normal",open:t.showQRCode,name:t.title,"close-on-click-outside":!0},on:{"update:open":function(e){t.showQRCode=e},close:function(e){t.showQRCode=!1}}},[e("div",{staticClass:"qr-code-dialog"},[e("VueQrcode",{staticClass:"qr-code-dialog__img",attrs:{tag:"img",value:t.shareLink}})],1)]):t._e()],1)}),[],!1,null,"48fba0bf",null).exports},mixins:[Lt],props:{fileInfo:{type:Object,default:()=>{},required:!0},shares:{type:Array,default:()=>[],required:!0},canReshare:{type:Boolean,required:!0}},data:()=>({canLinkShare:(0,s.F)().files_sharing.public.enabled}),computed:{hasLinkShares(){return this.shares.filter((t=>t.type===lt.I.Link)).length>0},hasShares(){return this.shares.length>0}},methods:{t:_.t,addShare(t,e){this.shares.push(t),this.awaitForShare(t,e)},awaitForShare(t,e){this.$nextTick((()=>{const i=this.$children.find((e=>e.share===t));i&&e(i)}))},removeShare(t){const e=this.shares.findIndex((e=>e===t));this.shares.splice(e,1)}}},Xe=(0,bt.A)(Ye,(function(){var t=this,e=t._self._c;return t.canLinkShare?e("ul",{staticClass:"sharing-link-list",attrs:{"aria-label":t.t("files_sharing","Link shares")}},[!t.hasLinkShares&&t.canReshare?e("SharingEntryLink",{attrs:{"can-reshare":t.canReshare,"file-info":t.fileInfo},on:{"add:share":t.addShare}}):t._e(),t._v(" "),t.hasShares?t._l(t.shares,(function(i,n){return e("SharingEntryLink",{key:i.id,attrs:{index:t.shares.length>1?n+1:null,"can-reshare":t.canReshare,share:t.shares[n],"file-info":t.fileInfo},on:{"update:share":[function(e){return t.$set(t.shares,n,e)},function(e){return t.awaitForShare(...arguments)}],"add:share":function(e){return t.addShare(...arguments)},"remove:share":t.removeShare,"open-sharing-details":function(e){return t.openSharingDetails(i)}}})})):t._e()],2):t._e()}),[],!1,null,null,null).exports;var Qe=n(26690);const Ze={name:"SharingEntry",components:{NcButton:dt.A,NcAvatar:E.A,DotsHorizontalIcon:Qe.A,NcSelect:x.A,ShareExpiryTime:Ve,SharingEntryQuickShareSelect:Be},mixins:[Yt,Lt],computed:{title(){let e=this.share.shareWithDisplayName;return this.share.type===lt.I.Group?e+=` (${t("files_sharing","group")})`:this.share.type===lt.I.Room?e+=` (${t("files_sharing","conversation")})`:this.share.type===lt.I.Remote?e+=` (${t("files_sharing","remote")})`:this.share.type===lt.I.RemoteGroup?e+=` (${t("files_sharing","remote group")})`:this.share.type===lt.I.Guest&&(e+=` (${t("files_sharing","guest")})`),!this.isShareOwner&&this.share.ownerDisplayName&&(e+=" "+t("files_sharing","by {initiator}",{initiator:this.share.ownerDisplayName})),e},tooltip(){if(this.share.owner!==this.share.uidFileOwner){const e={user:this.share.shareWithDisplayName,owner:this.share.ownerDisplayName};return this.share.type===lt.I.Group?t("files_sharing","Shared with the group {user} by {owner}",e):this.share.type===lt.I.Room?t("files_sharing","Shared with the conversation {user} by {owner}",e):t("files_sharing","Shared with {user} by {owner}",e)}return null},hasStatus(){return this.share.type===lt.I.User&&"object"==typeof this.share.status&&!Array.isArray(this.share.status)}},methods:{onMenuClose(){this.onNoteSubmit()}}};var Ke=n(70162),Je={};Je.styleTagTransform=C(),Je.setAttributes=A(),Je.insert=f().bind(null,"head"),Je.domAPI=d(),Je.insertStyleElement=v(),h()(Ke.A,Je),Ke.A&&Ke.A.locals&&Ke.A.locals;const ti={name:"SharingList",components:{SharingEntry:(0,bt.A)(Ze,(function(){var t=this,e=t._self._c;return e("li",{staticClass:"sharing-entry"},[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{"is-no-user":t.share.type!==t.ShareType.User,user:t.share.shareWith,"display-name":t.share.shareWithDisplayName,"menu-position":"left",url:t.share.shareWithAvatar}}),t._v(" "),e("div",{staticClass:"sharing-entry__summary"},[e(t.share.shareWithLink?"a":"div",{tag:"component",staticClass:"sharing-entry__summary__desc",attrs:{title:t.tooltip,"aria-label":t.tooltip,href:t.share.shareWithLink}},[e("span",[t._v(t._s(t.title)+"\n\t\t\t\t"),t.isUnique?t._e():e("span",{staticClass:"sharing-entry__summary__desc-unique"},[t._v(" ("+t._s(t.share.shareWithDisplayNameUnique)+")")]),t._v(" "),t.hasStatus&&t.share.status.message?e("small",[t._v("("+t._s(t.share.status.message)+")")]):t._e()])]),t._v(" "),e("SharingEntryQuickShareSelect",{attrs:{share:t.share,"file-info":t.fileInfo},on:{"open-sharing-details":function(e){return t.openShareDetailsForCustomSettings(t.share)}}})],1),t._v(" "),t.share&&t.share.expireDate?e("ShareExpiryTime",{attrs:{share:t.share}}):t._e(),t._v(" "),t.share.canEdit?e("NcButton",{staticClass:"sharing-entry__action",attrs:{"data-cy-files-sharing-share-actions":"","aria-label":t.t("files_sharing","Open Sharing Details"),type:"tertiary"},on:{click:function(e){return t.openSharingDetails(t.share)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("DotsHorizontalIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,1700783217)}):t._e()],1)}),[],!1,null,"2dbd45b5",null).exports},mixins:[Lt],props:{fileInfo:{type:Object,default:()=>{},required:!0},shares:{type:Array,default:()=>[],required:!0}},setup:()=>({t:_.t}),computed:{hasShares(){return 0===this.shares.length},isUnique(){return t=>[...this.shares].filter((e=>t.type===lt.I.User&&t.shareWithDisplayName===e.shareWithDisplayName)).length<=1}}},ei=(0,bt.A)(ti,(function(){var t=this,e=t._self._c;return e("ul",{staticClass:"sharing-sharee-list",attrs:{"aria-label":t.t("files_sharing","Shares")}},t._l(t.shares,(function(i){return e("SharingEntry",{key:i.id,attrs:{"file-info":t.fileInfo,share:i,"is-unique":t.isUnique(i)},on:{"open-sharing-details":function(e){return t.openSharingDetails(i)}}})})),1)}),[],!1,null,null,null).exports;var ii=n(32073),ni=n(88984),ri=n(16879),si=n(59892),ai=n(16044),oi=n(177);const li={name:"CircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ci=(0,bt.A)(li,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon circle-outline-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,hi={name:"EmailIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ui=(0,bt.A)(hi,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon email-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var di=n(36600),pi=n(43261);const fi={name:"ShareCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},gi=(0,bt.A)(fi,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon share-circle-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Ai={name:"AccountCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},mi=(0,bt.A)(Ai,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon account-circle-outline-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,vi={name:"EyeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},yi=(0,bt.A)(vi,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon eye-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var Ci=n(65422),wi=n(25384),bi=n(33388);const _i={name:"RefreshIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ei=(0,bt.A)(_i,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon refresh-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,xi={name:"SharingDetailsTab",components:{NcAvatar:E.A,NcButton:dt.A,NcCheckboxRadioSwitch:ii.A,NcDateTimePickerNative:ni.A,NcInputField:ri.A,NcLoadingIcon:si.A,NcPasswordField:ai.A,NcTextArea:oi.A,CloseIcon:we.A,CircleIcon:ci,EditIcon:Ie.A,ExternalShareAction:ze,LinkIcon:di.A,GroupIcon:pi.A,ShareIcon:gi,UserIcon:mi,UploadIcon:Ci.A,ViewIcon:yi,MenuDownIcon:wi.A,MenuUpIcon:bi.A,DotsHorizontalIcon:Qe.A,Refresh:Ei},mixins:[Pt,Yt],props:{shareRequestValue:{type:Object,required:!1},fileInfo:{type:Object,required:!0},share:{type:Object,required:!0}},data(){return{writeNoteToRecipientIsChecked:!1,sharingPermission:Bt.ALL.toString(),revertSharingPermission:Bt.ALL.toString(),setCustomPermissions:!1,passwordError:!1,advancedSectionAccordionExpanded:!1,bundledPermissions:Bt,isFirstComponentLoad:!0,test:!1,creating:!1,initialToken:this.share.token,loadingToken:!1,ExternalShareActions:OCA.Sharing.ExternalShareActions.state}},computed:{title(){switch(this.share.type){case lt.I.User:return t("files_sharing","Share with {userName}",{userName:this.share.shareWithDisplayName});case lt.I.Email:return t("files_sharing","Share with email {email}",{email:this.share.shareWith});case lt.I.Link:return t("files_sharing","Share link");case lt.I.Group:return t("files_sharing","Share with group");case lt.I.Room:return t("files_sharing","Share in conversation");case lt.I.Remote:{const[e,i]=this.share.shareWith.split("@");return t("files_sharing","Share with {user} on remote server {server}",{user:e,server:i})}case lt.I.RemoteGroup:return t("files_sharing","Share with remote group");case lt.I.Guest:return t("files_sharing","Share with guest");default:return this.share.id?t("files_sharing","Update share"):t("files_sharing","Create share")}},allPermissions(){return this.isFolder?this.bundledPermissions.ALL.toString():this.bundledPermissions.ALL_FILE.toString()},canEdit:{get(){return this.share.hasUpdatePermission},set(t){this.updateAtomicPermissions({isEditChecked:t})}},canCreate:{get(){return this.share.hasCreatePermission},set(t){this.updateAtomicPermissions({isCreateChecked:t})}},canDelete:{get(){return this.share.hasDeletePermission},set(t){this.updateAtomicPermissions({isDeleteChecked:t})}},canReshare:{get(){return this.share.hasSharePermission},set(t){this.updateAtomicPermissions({isReshareChecked:t})}},showInGridView:{get(){return this.getShareAttribute("config","grid_view",!1)},set(t){this.setShareAttribute("config","grid_view",t)}},canDownload:{get(){return this.getShareAttribute("permissions","download",!0)},set(t){this.setShareAttribute("permissions","download",t)}},hasRead:{get(){return this.share.hasReadPermission},set(t){this.updateAtomicPermissions({isReadChecked:t})}},hasExpirationDate:{get(){return this.isValidShareAttribute(this.share.expireDate)},set(t){this.share.expireDate=t?this.formatDateToString(this.defaultExpiryDate):""}},isFolder(){return"dir"===this.fileInfo.type},isSetDownloadButtonVisible(){return this.isFolder||["application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation"].includes(this.fileInfo.mimetype)},isPasswordEnforced(){return this.isPublicShare&&this.config.enforcePasswordForPublicLink},defaultExpiryDate(){return(this.isGroupShare||this.isUserShare)&&this.config.isDefaultInternalExpireDateEnabled?new Date(this.config.defaultInternalExpirationDate):this.isRemoteShare&&this.config.isDefaultRemoteExpireDateEnabled?new Date(this.config.defaultRemoteExpireDateEnabled):this.isPublicShare&&this.config.isDefaultExpireDateEnabled?new Date(this.config.defaultExpirationDate):new Date((new Date).setDate((new Date).getDate()+1))},isUserShare(){return this.share.type===lt.I.User},isGroupShare(){return this.share.type===lt.I.Group},allowsFileDrop(){return!(!this.isFolder||!this.config.isPublicUploadEnabled||this.share.type!==lt.I.Link&&this.share.type!==lt.I.Email)},hasFileDropPermissions(){return this.share.permissions===this.bundledPermissions.FILE_DROP},shareButtonText(){return this.isNewShare?t("files_sharing","Save share"):t("files_sharing","Update share")},resharingIsPossible(){return this.config.isResharingAllowed&&this.share.type!==lt.I.Link&&this.share.type!==lt.I.Email},canSetEdit(){return this.fileInfo.sharePermissions&OC.PERMISSION_UPDATE||this.canEdit},canSetCreate(){return this.fileInfo.sharePermissions&OC.PERMISSION_CREATE||this.canCreate},canSetDelete(){return this.fileInfo.sharePermissions&OC.PERMISSION_DELETE||this.canDelete},canSetReshare(){return this.fileInfo.sharePermissions&OC.PERMISSION_SHARE||this.canReshare},canSetDownload(){return this.fileInfo.canDownload()||this.canDownload},canRemoveReadPermission(){return this.allowsFileDrop&&(this.share.type===lt.I.Link||this.share.type===lt.I.Email)},hasUnsavedPassword(){return void 0!==this.share.newPassword},passwordExpirationTime(){if(!this.isValidShareAttribute(this.share.passwordExpirationTime))return null;const t=(0,ut.A)(this.share.passwordExpirationTime);return!(t.diff((0,ut.A)())<0)&&t.fromNow()},isTalkEnabled:()=>void 0!==OC.appswebroots.spreed,isPasswordProtectedByTalkAvailable(){return this.isPasswordProtected&&this.isTalkEnabled},isPasswordProtectedByTalk:{get(){return this.share.sendPasswordByTalk},async set(t){this.share.sendPasswordByTalk=t}},isEmailShareType(){return!!this.share&&this.share.type===lt.I.Email},canTogglePasswordProtectedByTalkAvailable(){return!(!this.isPublicShare||!this.isPasswordProtected||this.isEmailShareType&&!this.hasUnsavedPassword||void 0===OC.appswebroots.spreed)},canChangeHideDownload(){return this.fileInfo.shareAttributes.some((t=>"download"===t.key&&"permissions"===t.scope&&!1===t.value))},customPermissionsList(){const t={[Rt.READ]:this.t("files_sharing","Read"),[Rt.CREATE]:this.t("files_sharing","Create"),[Rt.UPDATE]:this.t("files_sharing","Edit"),[Rt.SHARE]:this.t("files_sharing","Share"),[Rt.DELETE]:this.t("files_sharing","Delete")};return[Rt.READ,...this.isFolder?[Rt.CREATE]:[],Rt.UPDATE,...this.resharingIsPossible?[Rt.SHARE]:[],...this.isFolder?[Rt.DELETE]:[]].filter((t=>{return e=this.share.permissions,i=t,e!==Rt.NONE&&(e&i)===i;var e,i})).map(((e,i)=>0===i?t[e]:t[e].toLocaleLowerCase((0,_.Z0)()))).join(", ")},advancedControlExpandedValue(){return this.advancedSectionAccordionExpanded?"true":"false"},errorPasswordLabel(){if(this.passwordError)return t("files_sharing","Password field cannot be empty")},passwordHint(){if(!this.isNewShare&&!this.hasUnsavedPassword)return t("files_sharing","Replace current password")},externalLinkActions(){return this.ExternalShareActions.actions.filter((t=>(t.shareType.includes(lt.I.Link)||t.shareType.includes(lt.I.Email))&&t.advanced))}},watch:{setCustomPermissions(t){this.sharingPermission=t?"custom":this.revertSharingPermission}},beforeMount(){this.initializePermissions(),this.initializeAttributes(),ft.debug("Share object received",{share:this.share}),ft.debug("Configuration object received",{config:this.config})},mounted(){this.$refs.quickPermissions?.querySelector("input:checked")?.focus()},methods:{setShareAttribute(t,e,i){this.share.attributes||this.$set(this.share,"attributes",[]);const n=this.share.attributes.find((i=>i.scope===t||i.key===e));n?n.value=i:this.share.attributes.push({scope:t,key:e,value:i})},getShareAttribute(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const n=this.share.attributes?.find((i=>i.scope===t&&i.key===e));return n?.value??i},async generateNewToken(){if(!this.loadingToken){this.loadingToken=!0;try{this.share.token=await(async()=>{const{data:t}=await K.Ay.get((0,l.KT)("/apps/files_sharing/api/v1/token"));return t.ocs.data.token})()}catch(e){(0,At.Qg)(t("files_sharing","Failed to generate a new token"))}this.loadingToken=!1}},cancel(){this.share.token=this.initialToken,this.$emit("close-sharing-details")},updateAtomicPermissions(){let{isReadChecked:t=this.hasRead,isEditChecked:e=this.canEdit,isCreateChecked:i=this.canCreate,isDeleteChecked:n=this.canDelete,isReshareChecked:r=this.canReshare}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.isFolder||!i&&!n||(ft.debug("Ignoring create/delete permissions for file share — only available for folders"),i=!1,n=!1);const s=(t?Rt.READ:0)|(i?Rt.CREATE:0)|(n?Rt.DELETE:0)|(e?Rt.UPDATE:0)|(r?Rt.SHARE:0);this.share.permissions=s},expandCustomPermissions(){this.advancedSectionAccordionExpanded||(this.advancedSectionAccordionExpanded=!0),this.toggleCustomPermissions()},toggleCustomPermissions(t){const e="custom"===this.sharingPermission;this.revertSharingPermission=e?"custom":t,this.setCustomPermissions=e},async initializeAttributes(){if(this.isNewShare)return(this.config.enableLinkPasswordByDefault||this.isPasswordEnforced)&&this.isPublicShare&&(this.$set(this.share,"newPassword",await Ht(!0)),this.$set(this.share,"password",this.share.newPassword),this.advancedSectionAccordionExpanded=!0),this.isPublicShare&&this.config.isDefaultExpireDateEnabled?this.share.expireDate=this.config.defaultExpirationDate.toDateString():this.isRemoteShare&&this.config.isDefaultRemoteExpireDateEnabled?this.share.expireDate=this.config.defaultRemoteExpirationDateString.toDateString():this.config.isDefaultInternalExpireDateEnabled&&(this.share.expireDate=this.config.defaultInternalExpirationDate.toDateString()),void(this.isValidShareAttribute(this.share.expireDate)&&(this.advancedSectionAccordionExpanded=!0));!this.isValidShareAttribute(this.share.expireDate)&&this.isExpiryDateEnforced&&(this.hasExpirationDate=!0),(this.isValidShareAttribute(this.share.password)||this.isValidShareAttribute(this.share.expireDate)||this.isValidShareAttribute(this.share.label))&&(this.advancedSectionAccordionExpanded=!0),this.isValidShareAttribute(this.share.note)&&(this.writeNoteToRecipientIsChecked=!0,this.advancedSectionAccordionExpanded=!0)},handleShareType(){"shareType"in this.share?this.share.type=this.share.shareType:this.share.share_type&&(this.share.type=this.share.share_type)},handleDefaultPermissions(){if(this.isNewShare){const t=this.config.defaultPermissions;t===Bt.READ_ONLY||t===Bt.ALL?this.sharingPermission=t.toString():(this.sharingPermission="custom",this.share.permissions=t,this.advancedSectionAccordionExpanded=!0,this.setCustomPermissions=!0)}this.canRemoveReadPermission||(this.hasRead=!0)},handleCustomPermissions(){this.isNewShare||!this.hasCustomPermissions&&!this.share.setCustomPermissions?this.share.permissions&&(this.sharingPermission=this.share.permissions.toString()):(this.sharingPermission="custom",this.advancedSectionAccordionExpanded=!0,this.setCustomPermissions=!0)},initializePermissions(){this.handleShareType(),this.handleDefaultPermissions(),this.handleCustomPermissions()},async saveShare(){const t=["permissions","attributes","note","expireDate"],e=["label","password","hideDownload"];this.config.allowCustomTokens&&e.push("token"),this.isPublicShare&&t.push(...e);const i=parseInt(this.sharingPermission);if(this.setCustomPermissions?this.updateAtomicPermissions():this.share.permissions=i,this.isFolder||this.share.permissions!==Bt.ALL||(this.share.permissions=Bt.ALL_FILE),this.writeNoteToRecipientIsChecked||(this.share.note=""),this.isPasswordProtected?this.hasUnsavedPassword&&this.isValidShareAttribute(this.share.newPassword)?(this.share.password=this.share.newPassword,this.$delete(this.share,"newPassword")):this.isPasswordEnforced&&this.isNewShare&&!this.isValidShareAttribute(this.share.password)&&(this.passwordError=!0):this.share.password="",this.hasExpirationDate||(this.share.expireDate=""),this.isNewShare){const e={permissions:this.share.permissions,shareType:this.share.type,shareWith:this.share.shareWith,attributes:this.share.attributes,note:this.share.note,fileInfo:this.fileInfo};let i;e.expireDate=this.hasExpirationDate?this.share.expireDate:"",this.isPasswordProtected&&(e.password=this.share.password);try{this.creating=!0,i=await this.addShare(e)}catch(t){return void(this.creating=!1)}this.share._share.id=i.id,await this.queueUpdate(...t);for(const e of t)if(e in i&&e in this.share)try{i[e]=this.share[e]}catch{i._share[e]=this.share[e]}this.share=i,this.creating=!1,this.$emit("add:share",this.share)}else this.$emit("update:share",this.share),(0,Nt.Ic)("update:share",this.share),this.queueUpdate(...t);await this.getNode(),(0,Nt.Ic)("files:node:updated",this.node),this.$refs.externalLinkActions?.length>0&&await Promise.allSettled(this.$refs.externalLinkActions.map((t=>"function"!=typeof t.$children.at(0)?.onSave?Promise.resolve():t.$children.at(0)?.onSave?.()))),this.$emit("close-sharing-details")},async addShare(t){ft.debug("Adding a new share from the input for",{share:t});const e=this.path;try{return await this.createShare({path:e,shareType:t.shareType,shareWith:t.shareWith,permissions:t.permissions,expireDate:t.expireDate,attributes:JSON.stringify(t.attributes),...t.note?{note:t.note}:{},...t.password?{password:t.password}:{}})}catch(t){ft.error("Error while adding new share",{error:t})}},async removeShare(){await this.onDelete(),await this.getNode(),(0,Nt.Ic)("files:node:updated",this.node),this.$emit("close-sharing-details")},onPasswordChange(t){if(""===t)return this.$delete(this.share,"newPassword"),void(this.passwordError=this.isNewShare&&this.isPasswordEnforced);this.passwordError=!this.isValidShareAttribute(t),this.$set(this.share,"newPassword",t)},onPasswordProtectedByTalkChange(){this.hasUnsavedPassword&&(this.share.password=this.share.newPassword.trim()),this.queueUpdate("sendPasswordByTalk","password")},isValidShareAttribute:t=>![null,void 0].includes(t)&&t.trim().length>0,getShareTypeIcon(t){switch(t){case lt.I.Link:return di.A;case lt.I.Guest:return mi;case lt.I.RemoteGroup:case lt.I.Group:return pi.A;case lt.I.Email:return ui;case lt.I.Team:return ci;case lt.I.Room:case lt.I.Deck:case lt.I.ScienceMesh:return gi;default:return null}}}};var Si=n(75678),Ii={};Ii.styleTagTransform=C(),Ii.setAttributes=A(),Ii.insert=f().bind(null,"head"),Ii.domAPI=d(),Ii.insertStyleElement=v(),h()(Si.A,Ii),Si.A&&Si.A.locals&&Si.A.locals;const ki=(0,bt.A)(xi,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"sharingTabDetailsView"},[e("div",{staticClass:"sharingTabDetailsView__header"},[e("span",[t.isUserShare?e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{"is-no-user":t.share.shareType!==t.ShareType.User,user:t.share.shareWith,"display-name":t.share.shareWithDisplayName,"menu-position":"left",url:t.share.shareWithAvatar}}):t._e(),t._v(" "),e(t.getShareTypeIcon(t.share.type),{tag:"component",attrs:{size:32}})],1),t._v(" "),e("span",[e("h1",[t._v(t._s(t.title))])])]),t._v(" "),e("div",{staticClass:"sharingTabDetailsView__wrapper"},[e("div",{ref:"quickPermissions",staticClass:"sharingTabDetailsView__quick-permissions"},[e("div",[e("NcCheckboxRadioSwitch",{attrs:{"button-variant":!0,"data-cy-files-sharing-share-permissions-bundle":"read-only",checked:t.sharingPermission,value:t.bundledPermissions.READ_ONLY.toString(),name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(e){t.sharingPermission=e},t.toggleCustomPermissions]},scopedSlots:t._u([{key:"icon",fn:function(){return[e("ViewIcon",{attrs:{size:20}})]},proxy:!0}])},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","View only"))+"\n\t\t\t\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{"button-variant":!0,"data-cy-files-sharing-share-permissions-bundle":"upload-edit",checked:t.sharingPermission,value:t.allPermissions,name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(e){t.sharingPermission=e},t.toggleCustomPermissions]},scopedSlots:t._u([{key:"icon",fn:function(){return[e("EditIcon",{attrs:{size:20}})]},proxy:!0}])},[t.allowsFileDrop?[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Allow upload and editing"))+"\n\t\t\t\t\t")]:[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Allow editing"))+"\n\t\t\t\t\t")]],2),t._v(" "),t.allowsFileDrop?e("NcCheckboxRadioSwitch",{attrs:{"data-cy-files-sharing-share-permissions-bundle":"file-drop","button-variant":!0,checked:t.sharingPermission,value:t.bundledPermissions.FILE_DROP.toString(),name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(e){t.sharingPermission=e},t.toggleCustomPermissions]},scopedSlots:t._u([{key:"icon",fn:function(){return[e("UploadIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,1083194048)},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","File request"))+"\n\t\t\t\t\t"),e("small",{staticClass:"subline"},[t._v(t._s(t.t("files_sharing","Upload only")))])]):t._e(),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{"button-variant":!0,"data-cy-files-sharing-share-permissions-bundle":"custom",checked:t.sharingPermission,value:"custom",name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(e){t.sharingPermission=e},t.expandCustomPermissions]},scopedSlots:t._u([{key:"icon",fn:function(){return[e("DotsHorizontalIcon",{attrs:{size:20}})]},proxy:!0}])},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Custom permissions"))+"\n\t\t\t\t\t"),e("small",{staticClass:"subline"},[t._v(t._s(t.customPermissionsList))])])],1)]),t._v(" "),e("div",{staticClass:"sharingTabDetailsView__advanced-control"},[e("NcButton",{attrs:{id:"advancedSectionAccordionAdvancedControl",type:"tertiary",alignment:"end-reverse","aria-controls":"advancedSectionAccordionAdvanced","aria-expanded":t.advancedControlExpandedValue},on:{click:function(e){t.advancedSectionAccordionExpanded=!t.advancedSectionAccordionExpanded}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.advancedSectionAccordionExpanded?e("MenuUpIcon"):e("MenuDownIcon")]},proxy:!0}])},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Advanced settings"))+"\n\t\t\t\t")])],1),t._v(" "),t.advancedSectionAccordionExpanded?e("div",{staticClass:"sharingTabDetailsView__advanced",attrs:{id:"advancedSectionAccordionAdvanced","aria-labelledby":"advancedSectionAccordionAdvancedControl",role:"region"}},[e("section",[t.isPublicShare?e("NcInputField",{staticClass:"sharingTabDetailsView__label",attrs:{autocomplete:"off",label:t.t("files_sharing","Share label"),value:t.share.label},on:{"update:value":function(e){return t.$set(t.share,"label",e)}}}):t._e(),t._v(" "),t.config.allowCustomTokens&&t.isPublicShare&&!t.isNewShare?e("NcInputField",{attrs:{autocomplete:"off",label:t.t("files_sharing","Share link token"),"helper-text":t.t("files_sharing","Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information."),"show-trailing-button":"","trailing-button-label":t.loadingToken?t.t("files_sharing","Generating…"):t.t("files_sharing","Generate new token"),value:t.share.token},on:{"update:value":function(e){return t.$set(t.share,"token",e)},"trailing-button-click":t.generateNewToken},scopedSlots:t._u([{key:"trailing-button-icon",fn:function(){return[t.loadingToken?e("NcLoadingIcon"):e("Refresh",{attrs:{size:20}})]},proxy:!0}],null,!1,4228062821)}):t._e(),t._v(" "),t.isPublicShare?[e("NcCheckboxRadioSwitch",{attrs:{checked:t.isPasswordProtected,disabled:t.isPasswordEnforced},on:{"update:checked":function(e){t.isPasswordProtected=e}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Set password"))+"\n\t\t\t\t\t")]),t._v(" "),t.isPasswordProtected?e("NcPasswordField",{attrs:{autocomplete:"new-password",value:t.hasUnsavedPassword?t.share.newPassword:"",error:t.passwordError,"helper-text":t.errorPasswordLabel||t.passwordHint,required:t.isPasswordEnforced&&t.isNewShare,label:t.t("files_sharing","Password")},on:{"update:value":t.onPasswordChange}}):t._e(),t._v(" "),t.isEmailShareType&&t.passwordExpirationTime?e("span",{attrs:{icon:"icon-info"}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Password expires {passwordExpirationTime}",{passwordExpirationTime:t.passwordExpirationTime}))+"\n\t\t\t\t\t")]):t.isEmailShareType&&null!==t.passwordExpirationTime?e("span",{attrs:{icon:"icon-error"}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Password expired"))+"\n\t\t\t\t\t")]):t._e()]:t._e(),t._v(" "),t.canTogglePasswordProtectedByTalkAvailable?e("NcCheckboxRadioSwitch",{attrs:{checked:t.isPasswordProtectedByTalk},on:{"update:checked":[function(e){t.isPasswordProtectedByTalk=e},t.onPasswordProtectedByTalkChange]}},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Video verification"))+"\n\t\t\t\t")]):t._e(),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{checked:t.hasExpirationDate,disabled:t.isExpiryDateEnforced},on:{"update:checked":function(e){t.hasExpirationDate=e}}},[t._v("\n\t\t\t\t\t"+t._s(t.isExpiryDateEnforced?t.t("files_sharing","Expiration date (enforced)"):t.t("files_sharing","Set expiration date"))+"\n\t\t\t\t")]),t._v(" "),t.hasExpirationDate?e("NcDateTimePickerNative",{attrs:{id:"share-date-picker",value:new Date(t.share.expireDate??t.dateTomorrow),min:t.dateTomorrow,max:t.maxExpirationDateEnforced,"hide-label":"",label:t.t("files_sharing","Expiration date"),placeholder:t.t("files_sharing","Expiration date"),type:"date"},on:{input:t.onExpirationChange}}):t._e(),t._v(" "),t.isPublicShare?e("NcCheckboxRadioSwitch",{attrs:{disabled:t.canChangeHideDownload,checked:t.share.hideDownload},on:{"update:checked":[function(e){return t.$set(t.share,"hideDownload",e)},function(e){return t.queueUpdate("hideDownload")}]}},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Hide download"))+"\n\t\t\t\t")]):e("NcCheckboxRadioSwitch",{attrs:{disabled:!t.canSetDownload,checked:t.canDownload,"data-cy-files-sharing-share-permissions-checkbox":"download"},on:{"update:checked":function(e){t.canDownload=e}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Allow download and sync"))+"\n\t\t\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{checked:t.writeNoteToRecipientIsChecked},on:{"update:checked":function(e){t.writeNoteToRecipientIsChecked=e}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Note to recipient"))+"\n\t\t\t\t")]),t._v(" "),t.writeNoteToRecipientIsChecked?[e("NcTextArea",{attrs:{label:t.t("files_sharing","Note to recipient"),placeholder:t.t("files_sharing","Enter a note for the share recipient"),value:t.share.note},on:{"update:value":function(e){return t.$set(t.share,"note",e)}}})]:t._e(),t._v(" "),t.isPublicShare&&t.isFolder?e("NcCheckboxRadioSwitch",{attrs:{checked:t.showInGridView},on:{"update:checked":function(e){t.showInGridView=e}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Show files in grid view"))+"\n\t\t\t\t")]):t._e(),t._v(" "),t._l(t.externalLinkActions,(function(i){return e("ExternalShareAction",{key:i.id,ref:"externalLinkActions",refInFor:!0,attrs:{id:i.id,action:i,"file-info":t.fileInfo,share:t.share}})})),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{checked:t.setCustomPermissions},on:{"update:checked":function(e){t.setCustomPermissions=e}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Custom permissions"))+"\n\t\t\t\t")]),t._v(" "),t.setCustomPermissions?e("section",{staticClass:"custom-permissions-group"},[e("NcCheckboxRadioSwitch",{attrs:{disabled:!t.canRemoveReadPermission,checked:t.hasRead,"data-cy-files-sharing-share-permissions-checkbox":"read"},on:{"update:checked":function(e){t.hasRead=e}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Read"))+"\n\t\t\t\t\t")]),t._v(" "),t.isFolder?e("NcCheckboxRadioSwitch",{attrs:{disabled:!t.canSetCreate,checked:t.canCreate,"data-cy-files-sharing-share-permissions-checkbox":"create"},on:{"update:checked":function(e){t.canCreate=e}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Create"))+"\n\t\t\t\t\t")]):t._e(),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{disabled:!t.canSetEdit,checked:t.canEdit,"data-cy-files-sharing-share-permissions-checkbox":"update"},on:{"update:checked":function(e){t.canEdit=e}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Edit"))+"\n\t\t\t\t\t")]),t._v(" "),t.resharingIsPossible?e("NcCheckboxRadioSwitch",{attrs:{disabled:!t.canSetReshare,checked:t.canReshare,"data-cy-files-sharing-share-permissions-checkbox":"share"},on:{"update:checked":function(e){t.canReshare=e}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Share"))+"\n\t\t\t\t\t")]):t._e(),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{disabled:!t.canSetDelete,checked:t.canDelete,"data-cy-files-sharing-share-permissions-checkbox":"delete"},on:{"update:checked":function(e){t.canDelete=e}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Delete"))+"\n\t\t\t\t\t")])],1):t._e()],2)]):t._e()]),t._v(" "),e("div",{staticClass:"sharingTabDetailsView__footer"},[e("div",{staticClass:"button-group"},[e("NcButton",{attrs:{"data-cy-files-sharing-share-editor-action":"cancel"},on:{click:t.cancel}},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Cancel"))+"\n\t\t\t")]),t._v(" "),e("div",{staticClass:"sharingTabDetailsView__delete"},[t.isNewShare?t._e():e("NcButton",{attrs:{"aria-label":t.t("files_sharing","Delete share"),disabled:!1,readonly:!1,variant:"tertiary"},on:{click:function(e){return e.preventDefault(),t.removeShare.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CloseIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2428343285)},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Delete share"))+"\n\t\t\t\t")])],1),t._v(" "),e("NcButton",{attrs:{type:"primary","data-cy-files-sharing-share-editor-action":"save",disabled:t.creating},on:{click:t.saveShare},scopedSlots:t._u([t.creating?{key:"icon",fn:function(){return[e("NcLoadingIcon")]},proxy:!0}:null],null,!0)},[t._v("\n\t\t\t\t"+t._s(t.shareButtonText)+"\n\t\t\t\t")])],1)])])}),[],!1,null,"75daac68",null).exports,Ti={name:"SharingTab",components:{CollectionList:ot,InfoIcon:ct.A,NcAvatar:E.A,NcButton:dt.A,NcPopover:ht.N,SharingEntryInternal:It,SharingEntrySimple:_t,SharingInherited:ie,SharingInput:$t,SharingLinkList:Xe,SharingList:ei,SharingDetailsTab:ki},mixins:[Lt],data:()=>({config:new pt,deleteEvent:null,error:"",expirationInterval:null,loading:!0,fileInfo:null,reshare:null,sharedWithMe:{},shares:[],linkShares:[],externalShares:[],sections:OCA.Sharing.ShareTabSections.getSections(),projectsEnabled:(0,o.C)("core","projects_enabled",!1),showSharingDetailsView:!1,shareDetailsData:{},returnFocusElement:null,internalSharesHelpText:t("files_sharing","Use this method to share files with individuals or teams within your organization. If the recipient already has access to the share but cannot locate it, you can send them the internal share link for easy access."),externalSharesHelpText:t("files_sharing","Use this method to share files with individuals or organizations outside your organization. Files and folders can be shared via public share links and email addresses. You can also share to other Nextcloud accounts hosted on different instances using their federated cloud ID."),additionalSharesHelpText:t("files_sharing","Shares that are not part of the internal or external shares. This can be shares from apps or other sources.")}),computed:{isSharedWithMe(){return null!==this.sharedWithMe&&void 0!==this.sharedWithMe},isLinkSharingAllowed(){if(!(0,r.HW)())return!1;const t=(0,s.F)();return!0===(t.files_sharing?.public||{}).enabled},canReshare(){return!!(this.fileInfo.permissions&OC.PERMISSION_SHARE)||!!(this.reshare&&this.reshare.hasSharePermission&&this.config.isResharingAllowed)},internalShareInputPlaceholder(){return this.config.showFederatedSharesAsInternal?t("files_sharing","Share with accounts, teams, federated cloud IDs"):t("files_sharing","Share with accounts and teams")},externalShareInputPlaceholder(){return this.isLinkSharingAllowed?this.config.showFederatedSharesAsInternal?t("files_sharing","Email"):t("files_sharing","Email, federated cloud ID"):t("files_sharing","Federated cloud ID")}},methods:{async update(t){this.fileInfo=t,this.resetState(),this.getShares()},async getShares(){try{this.loading=!0;const t=(0,l.KT)("apps/files_sharing/api/v1/shares"),e="json",i=(this.fileInfo.path+"/"+this.fileInfo.name).replace("//","/"),n=K.Ay.get(t,{params:{format:e,path:i,reshares:!0}}),r=K.Ay.get(t,{params:{format:e,path:i,shared_with_me:!0}}),[s,a]=await Promise.all([n,r]);this.loading=!1,this.processSharedWithMe(a),this.processShares(s)}catch(e){this.error=e?.response?.data?.ocs?.meta?.message?e.response.data.ocs.meta.message:t("files_sharing","Unable to load the shares list"),this.loading=!1,console.error("Error loading the shares list",e)}},resetState(){clearInterval(this.expirationInterval),this.loading=!0,this.error="",this.sharedWithMe={},this.shares=[],this.linkShares=[],this.showSharingDetailsView=!1,this.shareDetailsData={}},updateExpirationSubtitle(e){const i=(0,ut.A)(e.expireDate).unix();this.$set(this.sharedWithMe,"subtitle",t("files_sharing","Expires {relativetime}",{relativetime:(0,ut.A)(1e3*i).fromNow()})),(0,ut.A)().unix()>i&&(clearInterval(this.expirationInterval),this.$set(this.sharedWithMe,"subtitle",t("files_sharing","this share just expired.")))},processShares(t){let{data:e}=t;if(e.ocs&&e.ocs.data&&e.ocs.data.length>0){const t=(0,a.My)(e.ocs.data.map((t=>new gt(t))),[t=>t.shareWithDisplayName,t=>t.label,t=>t.createdTime]);for(const e of t)[lt.I.Link,lt.I.Email].includes(e.type)?this.linkShares.push(e):[lt.I.Remote,lt.I.RemoteGroup].includes(e.type)?this.config.showFederatedSharesAsInternal?this.shares.push(e):this.externalShares.push(e):this.shares.push(e);ft.debug(`Processed ${this.linkShares.length} link share(s)`),ft.debug(`Processed ${this.shares.length} share(s)`),ft.debug(`Processed ${this.externalShares.length} external share(s)`)}},processSharedWithMe(e){let{data:i}=e;if(i.ocs&&i.ocs.data&&i.ocs.data[0]){const e=new gt(i),n=function(e){return e.type===lt.I.Group?t("files_sharing","Shared with you and the group {group} by {owner}",{group:e.shareWithDisplayName,owner:e.ownerDisplayName},void 0,{escape:!1}):e.type===lt.I.Team?t("files_sharing","Shared with you and {circle} by {owner}",{circle:e.shareWithDisplayName,owner:e.ownerDisplayName},void 0,{escape:!1}):e.type===lt.I.Room?e.shareWithDisplayName?t("files_sharing","Shared with you and the conversation {conversation} by {owner}",{conversation:e.shareWithDisplayName,owner:e.ownerDisplayName},void 0,{escape:!1}):t("files_sharing","Shared with you in a conversation by {owner}",{owner:e.ownerDisplayName},void 0,{escape:!1}):t("files_sharing","Shared with you by {owner}",{owner:e.ownerDisplayName},void 0,{escape:!1})}(e),r=e.ownerDisplayName,s=e.owner;this.sharedWithMe={displayName:r,title:n,user:s},this.reshare=e,e.expireDate&&(0,ut.A)(e.expireDate).unix()>(0,ut.A)().unix()&&(this.updateExpirationSubtitle(e),this.expirationInterval=setInterval(this.updateExpirationSubtitle,1e4,e))}else this.fileInfo&&void 0!==this.fileInfo.shareOwnerId&&this.fileInfo.shareOwnerId!==(0,r.HW)().uid&&(this.sharedWithMe={displayName:this.fileInfo.shareOwner,title:t("files_sharing","Shared with you by {owner}",{owner:this.fileInfo.shareOwner},void 0,{escape:!1}),user:this.fileInfo.shareOwnerId})},addShare(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:()=>{};t.type===lt.I.Email?this.linkShares.unshift(t):[lt.I.Remote,lt.I.RemoteGroup].includes(t.type)?this.config.showFederatedSharesAsInternal?this.shares.unshift(t):this.externalShares.unshift(t):this.shares.unshift(t),this.awaitForShare(t,e)},removeShare(t){const e=t.type===lt.I.Email||t.type===lt.I.Link?this.linkShares:this.shares,i=e.findIndex((e=>e.id===t.id));-1!==i&&e.splice(i,1)},awaitForShare(t,e){this.$nextTick((()=>{let i=this.$refs.shareList;t.type===lt.I.Email&&(i=this.$refs.linkShareList);const n=i.$children.find((e=>e.share===t));n&&e(n)}))},toggleShareDetailsView(t){if(!this.showSharingDetailsView)if(Array.from(document.activeElement.classList).some((t=>t.startsWith("action-")))){const t=document.activeElement.closest('[role="menu"]')?.id;this.returnFocusElement=document.querySelector(`[aria-controls="${t}"]`)}else this.returnFocusElement=document.activeElement;t&&(this.shareDetailsData=t),this.showSharingDetailsView=!this.showSharingDetailsView,this.showSharingDetailsView||this.$nextTick((()=>{this.returnFocusElement?.focus(),this.returnFocusElement=null}))}}},Ni=Ti;var Di=n(92158),Pi={};Pi.styleTagTransform=C(),Pi.setAttributes=A(),Pi.insert=f().bind(null,"head"),Pi.domAPI=d(),Pi.insertStyleElement=v(),h()(Di.A,Pi),Di.A&&Di.A.locals&&Di.A.locals;const Ri=(0,bt.A)(Ni,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"sharingTab",class:{"icon-loading":t.loading}},[t.error?e("div",{staticClass:"emptycontent",class:{emptyContentWithSections:t.sections.length>0}},[e("div",{staticClass:"icon icon-error"}),t._v(" "),e("h2",[t._v(t._s(t.error))])]):t._e(),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:!t.showSharingDetailsView,expression:"!showSharingDetailsView"}],staticClass:"sharingTab__content"},[t.isSharedWithMe?e("ul",[e("SharingEntrySimple",t._b({staticClass:"sharing-entry__reshare",scopedSlots:t._u([{key:"avatar",fn:function(){return[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{user:t.sharedWithMe.user,"display-name":t.sharedWithMe.displayName}})]},proxy:!0}],null,!1,3197855346)},"SharingEntrySimple",t.sharedWithMe,!1))],1):t._e(),t._v(" "),e("section",[e("div",{staticClass:"section-header"},[e("h4",[t._v(t._s(t.t("files_sharing","Internal shares")))]),t._v(" "),e("NcPopover",{attrs:{"popup-role":"dialog"},scopedSlots:t._u([{key:"trigger",fn:function(){return[e("NcButton",{staticClass:"hint-icon",attrs:{type:"tertiary-no-background","aria-label":t.t("files_sharing","Internal shares explanation")},scopedSlots:t._u([{key:"icon",fn:function(){return[e("InfoIcon",{attrs:{size:20}})]},proxy:!0}])})]},proxy:!0}])},[t._v(" "),e("p",{staticClass:"hint-body"},[t._v("\n\t\t\t\t\t\t"+t._s(t.internalSharesHelpText)+"\n\t\t\t\t\t")])])],1),t._v(" "),t.loading?t._e():e("SharingInput",{attrs:{"can-reshare":t.canReshare,"file-info":t.fileInfo,"link-shares":t.linkShares,reshare:t.reshare,shares:t.shares,placeholder:t.internalShareInputPlaceholder},on:{"open-sharing-details":t.toggleShareDetailsView}}),t._v(" "),t.loading?t._e():e("SharingList",{ref:"shareList",attrs:{shares:t.shares,"file-info":t.fileInfo},on:{"open-sharing-details":t.toggleShareDetailsView}}),t._v(" "),t.canReshare&&!t.loading?e("SharingInherited",{attrs:{"file-info":t.fileInfo}}):t._e(),t._v(" "),e("SharingEntryInternal",{attrs:{"file-info":t.fileInfo}})],1),t._v(" "),e("section",[e("div",{staticClass:"section-header"},[e("h4",[t._v(t._s(t.t("files_sharing","External shares")))]),t._v(" "),e("NcPopover",{attrs:{"popup-role":"dialog"},scopedSlots:t._u([{key:"trigger",fn:function(){return[e("NcButton",{staticClass:"hint-icon",attrs:{type:"tertiary-no-background","aria-label":t.t("files_sharing","External shares explanation")},scopedSlots:t._u([{key:"icon",fn:function(){return[e("InfoIcon",{attrs:{size:20}})]},proxy:!0}])})]},proxy:!0}])},[t._v(" "),e("p",{staticClass:"hint-body"},[t._v("\n\t\t\t\t\t\t"+t._s(t.externalSharesHelpText)+"\n\t\t\t\t\t")])])],1),t._v(" "),t.loading?t._e():e("SharingInput",{attrs:{"can-reshare":t.canReshare,"file-info":t.fileInfo,"link-shares":t.linkShares,"is-external":!0,placeholder:t.externalShareInputPlaceholder,reshare:t.reshare,shares:t.shares},on:{"open-sharing-details":t.toggleShareDetailsView}}),t._v(" "),t.loading?t._e():e("SharingList",{attrs:{shares:t.externalShares,"file-info":t.fileInfo},on:{"open-sharing-details":t.toggleShareDetailsView}}),t._v(" "),!t.loading&&t.isLinkSharingAllowed?e("SharingLinkList",{ref:"linkShareList",attrs:{"can-reshare":t.canReshare,"file-info":t.fileInfo,shares:t.linkShares},on:{"open-sharing-details":t.toggleShareDetailsView}}):t._e()],1),t._v(" "),t.sections.length>0&&!t.showSharingDetailsView?e("section",[e("div",{staticClass:"section-header"},[e("h4",[t._v(t._s(t.t("files_sharing","Additional shares")))]),t._v(" "),e("NcPopover",{attrs:{"popup-role":"dialog"},scopedSlots:t._u([{key:"trigger",fn:function(){return[e("NcButton",{staticClass:"hint-icon",attrs:{type:"tertiary-no-background","aria-label":t.t("files_sharing","Additional shares explanation")},scopedSlots:t._u([{key:"icon",fn:function(){return[e("InfoIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,915383693)})]},proxy:!0}],null,!1,1027936137)},[t._v(" "),e("p",{staticClass:"hint-body"},[t._v("\n\t\t\t\t\t\t"+t._s(t.additionalSharesHelpText)+"\n\t\t\t\t\t")])])],1),t._v(" "),t._l(t.sections,(function(i,n){return e("div",{key:n,ref:"section-"+n,refInFor:!0,staticClass:"sharingTab__additionalContent"},[e(i(t.$refs["section-"+n],t.fileInfo),{tag:"component",attrs:{"file-info":t.fileInfo}})],1)})),t._v(" "),t.projectsEnabled?e("div",{directives:[{name:"show",rawName:"v-show",value:!t.showSharingDetailsView&&t.fileInfo,expression:"!showSharingDetailsView && fileInfo"}],staticClass:"sharingTab__additionalContent"},[e("CollectionList",{attrs:{id:`${t.fileInfo.id}`,type:"file",name:t.fileInfo.name}})],1):t._e()],2):t._e()]),t._v(" "),t.showSharingDetailsView?e("SharingDetailsTab",{attrs:{"file-info":t.shareDetailsData.fileInfo,share:t.shareDetailsData.share},on:{"close-sharing-details":t.toggleShareDetailsView,"add:share":t.addShare,"remove:share":t.removeShare}}):t._e()],1)}),[],!1,null,"592538f1",null).exports},27514:t=>{"use strict";t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M18.4%207.4L17%206l-6%206%206%206%201.4-1.4-4.6-4.6%204.6-4.6m-6%200L11%206l-6%206%206%206%201.4-1.4L7.8%2012l4.6-4.6z%27/%3e%3c/svg%3e"},27518:t=>{"use strict";t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M15.4%2016.6L10.8%2012l4.6-4.6L14%206l-6%206%206%206%201.4-1.4z%27/%3e%3c/svg%3e"},35810:(t,e,i)=>{"use strict";i.d(e,{Al:()=>n.r,H4:()=>n.c,KT:()=>h,My:()=>g,Q$:()=>n.e,R3:()=>n.n,VL:()=>n.l,di:()=>c,lJ:()=>n.d,nF:()=>l,pt:()=>n.F,ur:()=>A,v7:()=>p});var n=i(68251),r=i(87485),s=(i(43627),i(53334)),a=i(380),o=i(65606),l=(t=>(t.ReservedName="reserved name",t.Character="character",t.Extension="extension",t))(l||{});class c extends Error{constructor(t){super(`Invalid ${t.reason} '${t.segment}' in filename '${t.filename}'`,{cause:t})}get filename(){return this.cause.filename}get reason(){return this.cause.reason}get segment(){return this.cause.segment}}function h(t){const e=(0,r.F)().files,i=e.forbidden_filename_characters??window._oc_config?.forbidden_filenames_characters??["/","\\"];for(const e of i)if(t.includes(e))throw new c({segment:e,reason:"character",filename:t});if(t=t.toLocaleLowerCase(),(e.forbidden_filenames??[".htaccess"]).includes(t))throw new c({filename:t,segment:t,reason:"reserved name"});const n=t.indexOf(".",1),s=t.substring(0,-1===n?void 0:n);if((e.forbidden_filename_basenames??[]).includes(s))throw new c({filename:t,segment:s,reason:"reserved name"});const a=e.forbidden_filename_extensions??[".part",".filepart"];for(const e of a)if(t.length>e.length&&t.endsWith(e))throw new c({segment:e,reason:"extension",filename:t})}const u=["B","KB","MB","GB","TB","PB"],d=["B","KiB","MiB","GiB","TiB","PiB"];function p(t,e=!1,i=!1,n=!1){i=i&&!n,"string"==typeof t&&(t=Number(t));let r=t>0?Math.floor(Math.log(t)/Math.log(n?1e3:1024)):0;r=Math.min((i?d.length:u.length)-1,r);const a=i?d[r]:u[r];let o=(t/Math.pow(n?1e3:1024,r)).toFixed(1);return!0===e&&0===r?("0.0"!==o?"< 1 ":"0 ")+(i?d[1]:u[1]):(o=r<2?parseFloat(o).toFixed(0):parseFloat(o).toLocaleString((0,s.lO)()),o+" "+a)}function f(t){return t instanceof Date?t.toISOString():String(t)}function g(t,e,i){i=i??[];const n=(e=e??[t=>t]).map(((t,e)=>"asc"===(i[e]??"asc")?1:-1)),r=Intl.Collator([(0,s.Z0)(),(0,s.lO)()],{numeric:!0,usage:"sort"});return[...t].sort(((t,i)=>{for(const[s,a]of e.entries()){const e=r.compare(f(a(t)),f(a(i)));if(0!==e)return e*n[s]}return 0}))}function A(t,e={}){const i={sortingMode:"basename",sortingOrder:"asc",...e};return g(t,[...i.sortFavoritesFirst?[t=>1!==t.attributes?.favorite]:[],...i.sortFoldersFirst?[t=>"folder"!==t.type]:[],..."basename"!==i.sortingMode?[t=>t[i.sortingMode]]:[],t=>{return(e=t.displayname||t.attributes?.displayname||t.basename).lastIndexOf(".")>0?e.slice(0,e.lastIndexOf(".")):e;var e},t=>t.basename],[...i.sortFavoritesFirst?["asc"]:[],...i.sortFoldersFirst?["asc"]:[],..."mtime"===i.sortingMode?["asc"===i.sortingOrder?"desc":"asc"]:[],..."mtime"!==i.sortingMode&&"basename"!==i.sortingMode?[i.sortingOrder]:[],i.sortingOrder,i.sortingOrder])}var m,v,y={},C={};function w(){return m||(m=1,function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",i="["+e+"]["+e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",n=new RegExp("^"+i+"$");t.isExist=function(t){return void 0!==t},t.isEmptyObject=function(t){return 0===Object.keys(t).length},t.merge=function(t,e,i){if(e){const n=Object.keys(e),r=n.length;for(let s=0;s<r;s++)t[n[s]]="strict"===i?[e[n[s]]]:e[n[s]]}},t.getValue=function(e){return t.isExist(e)?e:""},t.isName=function(t){return!(null==n.exec(t))},t.getAllMatches=function(t,e){const i=[];let n=e.exec(t);for(;n;){const r=[];r.startIndex=e.lastIndex-n[0].length;const s=n.length;for(let t=0;t<s;t++)r.push(n[t]);i.push(r),n=e.exec(t)}return i},t.nameRegexp=i}(C)),C}function b(){if(v)return y;v=1;const t=w(),e={allowBooleanAttributes:!1,unpairedTags:[]};function i(t){return" "===t||"\t"===t||"\n"===t||"\r"===t}function n(t,e){const i=e;for(;e<t.length;e++)if("?"!=t[e]&&" "!=t[e]);else{const n=t.substr(i,e-i);if(e>5&&"xml"===n)return u("InvalidXml","XML declaration allowed only at the start of the document.",p(t,e));if("?"==t[e]&&">"==t[e+1]){e++;break}}return e}function r(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e<t.length;e++)if("-"===t[e]&&"-"===t[e+1]&&">"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){let i=1;for(e+=8;e<t.length;e++)if("<"===t[e])i++;else if(">"===t[e]&&(i--,0===i))break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7])for(e+=8;e<t.length;e++)if("]"===t[e]&&"]"===t[e+1]&&">"===t[e+2]){e+=2;break}return e}y.validate=function(s,a){a=Object.assign({},e,a);const l=[];let d=!1,f=!1;"\ufeff"===s[0]&&(s=s.substr(1));for(let e=0;e<s.length;e++)if("<"===s[e]&&"?"===s[e+1]){if(e+=2,e=n(s,e),e.err)return e}else{if("<"!==s[e]){if(i(s[e]))continue;return u("InvalidChar","char '"+s[e]+"' is not expected.",p(s,e))}{let A=e;if(e++,"!"===s[e]){e=r(s,e);continue}{let m=!1;"/"===s[e]&&(m=!0,e++);let v="";for(;e<s.length&&">"!==s[e]&&" "!==s[e]&&"\t"!==s[e]&&"\n"!==s[e]&&"\r"!==s[e];e++)v+=s[e];if(v=v.trim(),"/"===v[v.length-1]&&(v=v.substring(0,v.length-1),e--),g=v,!t.isName(g)){let t;return t=0===v.trim().length?"Invalid space after '<'.":"Tag '"+v+"' is an invalid name.",u("InvalidTag",t,p(s,e))}const y=o(s,e);if(!1===y)return u("InvalidAttr","Attributes for '"+v+"' have open quote.",p(s,e));let C=y.value;if(e=y.index,"/"===C[C.length-1]){const t=e-C.length;C=C.substring(0,C.length-1);const i=c(C,a);if(!0!==i)return u(i.err.code,i.err.msg,p(s,t+i.err.line));d=!0}else if(m){if(!y.tagClosed)return u("InvalidTag","Closing tag '"+v+"' doesn't have proper closing.",p(s,e));if(C.trim().length>0)return u("InvalidTag","Closing tag '"+v+"' can't have attributes or invalid starting.",p(s,A));if(0===l.length)return u("InvalidTag","Closing tag '"+v+"' has not been opened.",p(s,A));{const t=l.pop();if(v!==t.tagName){let e=p(s,t.tagStartPos);return u("InvalidTag","Expected closing tag '"+t.tagName+"' (opened in line "+e.line+", col "+e.col+") instead of closing tag '"+v+"'.",p(s,A))}0==l.length&&(f=!0)}}else{const t=c(C,a);if(!0!==t)return u(t.err.code,t.err.msg,p(s,e-C.length+t.err.line));if(!0===f)return u("InvalidXml","Multiple possible root nodes found.",p(s,e));-1!==a.unpairedTags.indexOf(v)||l.push({tagName:v,tagStartPos:A}),d=!0}for(e++;e<s.length;e++)if("<"===s[e]){if("!"===s[e+1]){e++,e=r(s,e);continue}if("?"!==s[e+1])break;if(e=n(s,++e),e.err)return e}else if("&"===s[e]){const t=h(s,e);if(-1==t)return u("InvalidChar","char '&' is not expected.",p(s,e));e=t}else if(!0===f&&!i(s[e]))return u("InvalidXml","Extra text at the end",p(s,e));"<"===s[e]&&e--}}}var g;return d?1==l.length?u("InvalidTag","Unclosed tag '"+l[0].tagName+"'.",p(s,l[0].tagStartPos)):!(l.length>0)||u("InvalidXml","Invalid '"+JSON.stringify(l.map((t=>t.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):u("InvalidXml","Start tag expected.",1)};const s='"',a="'";function o(t,e){let i="",n="",r=!1;for(;e<t.length;e++){if(t[e]===s||t[e]===a)""===n?n=t[e]:n!==t[e]||(n="");else if(">"===t[e]&&""===n){r=!0;break}i+=t[e]}return""===n&&{value:i,index:e,tagClosed:r}}const l=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function c(e,i){const n=t.getAllMatches(e,l),r={};for(let t=0;t<n.length;t++){if(0===n[t][1].length)return u("InvalidAttr","Attribute '"+n[t][2]+"' has no space in starting.",f(n[t]));if(void 0!==n[t][3]&&void 0===n[t][4])return u("InvalidAttr","Attribute '"+n[t][2]+"' is without value.",f(n[t]));if(void 0===n[t][3]&&!i.allowBooleanAttributes)return u("InvalidAttr","boolean attribute '"+n[t][2]+"' is not allowed.",f(n[t]));const e=n[t][2];if(!d(e))return u("InvalidAttr","Attribute '"+e+"' is an invalid name.",f(n[t]));if(r.hasOwnProperty(e))return u("InvalidAttr","Attribute '"+e+"' is repeated.",f(n[t]));r[e]=1}return!0}function h(t,e){if(";"===t[++e])return-1;if("#"===t[e])return function(t,e){let i=/\d/;for("x"===t[e]&&(e++,i=/[\da-fA-F]/);e<t.length;e++){if(";"===t[e])return e;if(!t[e].match(i))break}return-1}(t,++e);let i=0;for(;e<t.length;e++,i++)if(!(t[e].match(/\w/)&&i<20)){if(";"===t[e])break;return-1}return e}function u(t,e,i){return{err:{code:t,msg:e,line:i.line||i,col:i.col}}}function d(e){return t.isName(e)}function p(t,e){const i=t.substring(0,e).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function f(t){return t.startIndex+t[1].length}return y}var _,E,x,S,I,k,T,N,D,P,R,B={};function L(){return D?N:(D=1,N=function(t){return"function"==typeof t?t:Array.isArray(t)?e=>{for(const i of t){if("string"==typeof i&&e===i)return!0;if(i instanceof RegExp&&i.test(e))return!0}}:()=>!1})}var O,M,U,$,F,V,j,z,q,H,G,W,Y,X={};function Q(){if(O)return X;function t(r,s,a){let o;const l={};for(let c=0;c<r.length;c++){const h=r[c],u=e(h);let d="";if(d=void 0===a?u:a+"."+u,u===s.textNodeName)void 0===o?o=h[u]:o+=""+h[u];else{if(void 0===u)continue;if(h[u]){let e=t(h[u],s,d);const r=n(e,s);h[":@"]?i(e,h[":@"],d,s):1!==Object.keys(e).length||void 0===e[s.textNodeName]||s.alwaysCreateTextNode?0===Object.keys(e).length&&(s.alwaysCreateTextNode?e[s.textNodeName]="":e=""):e=e[s.textNodeName],void 0!==l[u]&&l.hasOwnProperty(u)?(Array.isArray(l[u])||(l[u]=[l[u]]),l[u].push(e)):s.isArray(u,d,r)?l[u]=[e]:l[u]=e}}}return"string"==typeof o?o.length>0&&(l[s.textNodeName]=o):void 0!==o&&(l[s.textNodeName]=o),l}function e(t){const e=Object.keys(t);for(let t=0;t<e.length;t++){const i=e[t];if(":@"!==i)return i}}function i(t,e,i,n){if(e){const r=Object.keys(e),s=r.length;for(let a=0;a<s;a++){const s=r[a];n.isArray(s,i+"."+s,!0,!0)?t[s]=[e[s]]:t[s]=e[s]}}}function n(t,e){const{textNodeName:i}=e,n=Object.keys(t).length;return 0===n||!(1!==n||!t[i]&&"boolean"!=typeof t[i]&&0!==t[i])}return O=1,X.prettify=function(e,i){return t(e,i)},X}function Z(){if(U)return M;U=1;const{buildOptions:t}=function(){if(_)return B;_=1;const t={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,i){return t}};return B.buildOptions=function(e){return Object.assign({},t,e)},B.defaultOptions=t,B}(),e=function(){if(R)return P;R=1;const t=w(),e=x?E:(x=1,E=class{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,e){"__proto__"===t&&(t="#__proto__"),this.child.push({[t]:e})}addChild(t){"__proto__"===t.tagname&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child})}}),i=function(){if(I)return S;I=1;const t=w();function e(t,e){let i="";for(;e<t.length&&"'"!==t[e]&&'"'!==t[e];e++)i+=t[e];if(i=i.trim(),-1!==i.indexOf(" "))throw new Error("External entites are not supported");const n=t[e++];let r="";for(;e<t.length&&t[e]!==n;e++)r+=t[e];return[i,r,e]}function i(t,e){return"!"===t[e+1]&&"E"===t[e+2]&&"N"===t[e+3]&&"T"===t[e+4]&&"I"===t[e+5]&&"T"===t[e+6]&&"Y"===t[e+7]}function n(t,e){return"!"===t[e+1]&&"E"===t[e+2]&&"L"===t[e+3]&&"E"===t[e+4]&&"M"===t[e+5]&&"E"===t[e+6]&&"N"===t[e+7]&&"T"===t[e+8]}function r(t,e){return"!"===t[e+1]&&"A"===t[e+2]&&"T"===t[e+3]&&"T"===t[e+4]&&"L"===t[e+5]&&"I"===t[e+6]&&"S"===t[e+7]&&"T"===t[e+8]}function s(t,e){return"!"===t[e+1]&&"N"===t[e+2]&&"O"===t[e+3]&&"T"===t[e+4]&&"A"===t[e+5]&&"T"===t[e+6]&&"I"===t[e+7]&&"O"===t[e+8]&&"N"===t[e+9]}function a(e){if(t.isName(e))return e;throw new Error(`Invalid entity name ${e}`)}return S=function(t,o){const l={};if("O"!==t[o+3]||"C"!==t[o+4]||"T"!==t[o+5]||"Y"!==t[o+6]||"P"!==t[o+7]||"E"!==t[o+8])throw new Error("Invalid Tag instead of DOCTYPE");{o+=9;let c=1,h=!1,u=!1,d="";for(;o<t.length;o++)if("<"!==t[o]||u)if(">"===t[o]){if(u?"-"===t[o-1]&&"-"===t[o-2]&&(u=!1,c--):c--,0===c)break}else"["===t[o]?h=!0:d+=t[o];else{if(h&&i(t,o)){let i,n;o+=7,[i,n,o]=e(t,o+1),-1===n.indexOf("&")&&(l[a(i)]={regx:RegExp(`&${i};`,"g"),val:n})}else h&&n(t,o)||h&&r(t,o)?o+=8:h&&s(t,o)?o+=9:u=!0;c++,d=""}if(0!==c)throw new Error("Unclosed DOCTYPE")}return{entities:l,i:o}}}(),n=function(){if(T)return k;T=1;const t=/^[-+]?0x[a-fA-F0-9]+$/,e=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};return k=function(n,r={}){if(r=Object.assign({},i,r),!n||"string"!=typeof n)return n;let s=n.trim();if(void 0!==r.skipLike&&r.skipLike.test(s))return n;if(r.hex&&t.test(s))return Number.parseInt(s,16);{const t=e.exec(s);if(t){const e=t[1],i=t[2];let o=(a=t[3])&&-1!==a.indexOf(".")?("."===(a=a.replace(/0+$/,""))?a="0":"."===a[0]?a="0"+a:"."===a[a.length-1]&&(a=a.substr(0,a.length-1)),a):a;const l=t[4]||t[6];if(!r.leadingZeros&&i.length>0&&e&&"."!==s[2])return n;if(!r.leadingZeros&&i.length>0&&!e&&"."!==s[1])return n;{const t=Number(s),a=""+t;return-1!==a.search(/[eE]/)||l?r.eNotation?t:n:-1!==s.indexOf(".")?"0"===a&&""===o||a===o||e&&a==="-"+o?t:n:i?o===a||e+o===a?t:n:s===a||s===e+a?t:n}}return n}var a}}(),r=L();function s(t){const e=Object.keys(t);for(let i=0;i<e.length;i++){const n=e[i];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:t[n]}}}function a(t,e,i,n,r,s,a){if(void 0!==t&&(this.options.trimValues&&!n&&(t=t.trim()),t.length>0)){a||(t=this.replaceEntitiesValue(t));const n=this.options.tagValueProcessor(e,t,i,r,s);return null==n?t:typeof n!=typeof t||n!==t?n:this.options.trimValues||t.trim()===t?v(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function o(t){if(this.options.removeNSPrefix){const e=t.split(":"),i="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=i+e[1])}return t}const l=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function c(e,i,n){if(!0!==this.options.ignoreAttributes&&"string"==typeof e){const n=t.getAllMatches(e,l),r=n.length,s={};for(let t=0;t<r;t++){const e=this.resolveNameSpace(n[t][1]);if(this.ignoreAttributesFn(e,i))continue;let r=n[t][4],a=this.options.attributeNamePrefix+e;if(e.length)if(this.options.transformAttributeName&&(a=this.options.transformAttributeName(a)),"__proto__"===a&&(a="#__proto__"),void 0!==r){this.options.trimValues&&(r=r.trim()),r=this.replaceEntitiesValue(r);const t=this.options.attributeValueProcessor(e,r,i);s[a]=null==t?r:typeof t!=typeof r||t!==r?t:v(r,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(s[a]=!0)}if(!Object.keys(s).length)return;if(this.options.attributesGroupName){const t={};return t[this.options.attributesGroupName]=s,t}return s}}const h=function(t){t=t.replace(/\r\n?/g,"\n");const n=new e("!xml");let r=n,s="",a="";for(let o=0;o<t.length;o++)if("<"===t[o])if("/"===t[o+1]){const e=g(t,">",o,"Closing Tag is not closed.");let i=t.substring(o+2,e).trim();if(this.options.removeNSPrefix){const t=i.indexOf(":");-1!==t&&(i=i.substr(t+1))}this.options.transformTagName&&(i=this.options.transformTagName(i)),r&&(s=this.saveTextToParentTag(s,r,a));const n=a.substring(a.lastIndexOf(".")+1);if(i&&-1!==this.options.unpairedTags.indexOf(i))throw new Error(`Unpaired tag can not be used as closing tag: </${i}>`);let l=0;n&&-1!==this.options.unpairedTags.indexOf(n)?(l=a.lastIndexOf(".",a.lastIndexOf(".")-1),this.tagsNodeStack.pop()):l=a.lastIndexOf("."),a=a.substring(0,l),r=this.tagsNodeStack.pop(),s="",o=e}else if("?"===t[o+1]){let i=A(t,o,!1,"?>");if(!i)throw new Error("Pi Tag is not closed.");if(s=this.saveTextToParentTag(s,r,a),this.options.ignoreDeclaration&&"?xml"===i.tagName||this.options.ignorePiTags);else{const t=new e(i.tagName);t.add(this.options.textNodeName,""),i.tagName!==i.tagExp&&i.attrExpPresent&&(t[":@"]=this.buildAttributesMap(i.tagExp,a,i.tagName)),this.addChild(r,t,a)}o=i.closeIndex+1}else if("!--"===t.substr(o+1,3)){const e=g(t,"--\x3e",o+4,"Comment is not closed.");if(this.options.commentPropName){const i=t.substring(o+4,e-2);s=this.saveTextToParentTag(s,r,a),r.add(this.options.commentPropName,[{[this.options.textNodeName]:i}])}o=e}else if("!D"===t.substr(o+1,2)){const e=i(t,o);this.docTypeEntities=e.entities,o=e.i}else if("!["===t.substr(o+1,2)){const e=g(t,"]]>",o,"CDATA is not closed.")-2,i=t.substring(o+9,e);s=this.saveTextToParentTag(s,r,a);let n=this.parseTextData(i,r.tagname,a,!0,!1,!0,!0);null==n&&(n=""),this.options.cdataPropName?r.add(this.options.cdataPropName,[{[this.options.textNodeName]:i}]):r.add(this.options.textNodeName,n),o=e+2}else{let i=A(t,o,this.options.removeNSPrefix),l=i.tagName;const c=i.rawTagName;let h=i.tagExp,u=i.attrExpPresent,d=i.closeIndex;this.options.transformTagName&&(l=this.options.transformTagName(l)),r&&s&&"!xml"!==r.tagname&&(s=this.saveTextToParentTag(s,r,a,!1));const p=r;if(p&&-1!==this.options.unpairedTags.indexOf(p.tagname)&&(r=this.tagsNodeStack.pop(),a=a.substring(0,a.lastIndexOf("."))),l!==n.tagname&&(a+=a?"."+l:l),this.isItStopNode(this.options.stopNodes,a,l)){let n="";if(h.length>0&&h.lastIndexOf("/")===h.length-1)"/"===l[l.length-1]?(l=l.substr(0,l.length-1),a=a.substr(0,a.length-1),h=l):h=h.substr(0,h.length-1),o=i.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(l))o=i.closeIndex;else{const e=this.readStopNodeData(t,c,d+1);if(!e)throw new Error(`Unexpected end of ${c}`);o=e.i,n=e.tagContent}const s=new e(l);l!==h&&u&&(s[":@"]=this.buildAttributesMap(h,a,l)),n&&(n=this.parseTextData(n,l,a,!0,u,!0,!0)),a=a.substr(0,a.lastIndexOf(".")),s.add(this.options.textNodeName,n),this.addChild(r,s,a)}else{if(h.length>0&&h.lastIndexOf("/")===h.length-1){"/"===l[l.length-1]?(l=l.substr(0,l.length-1),a=a.substr(0,a.length-1),h=l):h=h.substr(0,h.length-1),this.options.transformTagName&&(l=this.options.transformTagName(l));const t=new e(l);l!==h&&u&&(t[":@"]=this.buildAttributesMap(h,a,l)),this.addChild(r,t,a),a=a.substr(0,a.lastIndexOf("."))}else{const t=new e(l);this.tagsNodeStack.push(r),l!==h&&u&&(t[":@"]=this.buildAttributesMap(h,a,l)),this.addChild(r,t,a),r=t}s="",o=d}}else s+=t[o];return n.child};function u(t,e,i){const n=this.options.updateTag(e.tagname,i,e[":@"]);!1===n||("string"==typeof n?(e.tagname=n,t.addChild(e)):t.addChild(e))}const d=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const i=this.docTypeEntities[e];t=t.replace(i.regx,i.val)}for(let e in this.lastEntities){const i=this.lastEntities[e];t=t.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const i=this.htmlEntities[e];t=t.replace(i.regex,i.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function p(t,e,i,n){return t&&(void 0===n&&(n=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,i,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,n))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function f(t,e,i){const n="*."+i;for(const i in t){const r=t[i];if(n===r||e===r)return!0}return!1}function g(t,e,i,n){const r=t.indexOf(e,i);if(-1===r)throw new Error(n);return r+e.length-1}function A(t,e,i,n=">"){const r=function(t,e,i=">"){let n,r="";for(let s=e;s<t.length;s++){let e=t[s];if(n)e===n&&(n="");else if('"'===e||"'"===e)n=e;else if(e===i[0]){if(!i[1])return{data:r,index:s};if(t[s+1]===i[1])return{data:r,index:s}}else"\t"===e&&(e=" ");r+=e}}(t,e+1,n);if(!r)return;let s=r.data;const a=r.index,o=s.search(/\s/);let l=s,c=!0;-1!==o&&(l=s.substring(0,o),s=s.substring(o+1).trimStart());const h=l;if(i){const t=l.indexOf(":");-1!==t&&(l=l.substr(t+1),c=l!==r.data.substr(t+1))}return{tagName:l,tagExp:s,closeIndex:a,attrExpPresent:c,rawTagName:h}}function m(t,e,i){const n=i;let r=1;for(;i<t.length;i++)if("<"===t[i])if("/"===t[i+1]){const s=g(t,">",i,`${e} is not closed`);if(t.substring(i+2,s).trim()===e&&(r--,0===r))return{tagContent:t.substring(n,i),i:s};i=s}else if("?"===t[i+1])i=g(t,"?>",i+1,"StopNode is not closed.");else if("!--"===t.substr(i+1,3))i=g(t,"--\x3e",i+3,"StopNode is not closed.");else if("!["===t.substr(i+1,2))i=g(t,"]]>",i,"StopNode is not closed.")-2;else{const n=A(t,i,">");n&&((n&&n.tagName)===e&&"/"!==n.tagExp[n.tagExp.length-1]&&r++,i=n.closeIndex)}}function v(e,i,r){if(i&&"string"==typeof e){const t=e.trim();return"true"===t||"false"!==t&&n(e,r)}return t.isExist(e)?e:""}return P=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,e)=>String.fromCharCode(Number.parseInt(e,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,e)=>String.fromCharCode(Number.parseInt(e,16))}},this.addExternalEntities=s,this.parseXml=h,this.parseTextData=a,this.resolveNameSpace=o,this.buildAttributesMap=c,this.isItStopNode=f,this.replaceEntitiesValue=d,this.readStopNodeData=m,this.saveTextToParentTag=p,this.addChild=u,this.ignoreAttributesFn=r(this.options.ignoreAttributes)}}}(),{prettify:i}=Q(),n=b();return M=class{constructor(e){this.externalEntities={},this.options=t(e)}parse(t,r){if("string"==typeof t);else{if(!t.toString)throw new Error("XML data is accepted in String or Bytes[] form.");t=t.toString()}if(r){!0===r&&(r={});const e=n.validate(t,r);if(!0!==e)throw Error(`${e.err.msg}:${e.err.line}:${e.err.col}`)}const s=new e(this.options);s.addExternalEntities(this.externalEntities);const a=s.parseXml(t);return this.options.preserveOrder||void 0===a?a:i(a,this.options)}addEntity(t,e){if(-1!==e.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==t.indexOf("&")||-1!==t.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if("&"===e)throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=e}}}function K(){if(F)return $;function t(s,a,o,l){let c="",h=!1;for(let u=0;u<s.length;u++){const d=s[u],p=e(d);if(void 0===p)continue;let f="";if(f=0===o.length?p:`${o}.${p}`,p===a.textNodeName){let t=d[p];n(f,a)||(t=a.tagValueProcessor(p,t),t=r(t,a)),h&&(c+=l),c+=t,h=!1;continue}if(p===a.cdataPropName){h&&(c+=l),c+=`<![CDATA[${d[p][0][a.textNodeName]}]]>`,h=!1;continue}if(p===a.commentPropName){c+=l+`\x3c!--${d[p][0][a.textNodeName]}--\x3e`,h=!0;continue}if("?"===p[0]){const t=i(d[":@"],a),e="?xml"===p?"":l;let n=d[p][0][a.textNodeName];n=0!==n.length?" "+n:"",c+=e+`<${p}${n}${t}?>`,h=!0;continue}let g=l;""!==g&&(g+=a.indentBy);const A=l+`<${p}${i(d[":@"],a)}`,m=t(d[p],a,f,g);-1!==a.unpairedTags.indexOf(p)?a.suppressUnpairedNode?c+=A+">":c+=A+"/>":m&&0!==m.length||!a.suppressEmptyNode?m&&m.endsWith(">")?c+=A+`>${m}${l}</${p}>`:(c+=A+">",m&&""!==l&&(m.includes("/>")||m.includes("</"))?c+=l+a.indentBy+m+l:c+=m,c+=`</${p}>`):c+=A+"/>",h=!0}return c}function e(t){const e=Object.keys(t);for(let i=0;i<e.length;i++){const n=e[i];if(t.hasOwnProperty(n)&&":@"!==n)return n}}function i(t,e){let i="";if(t&&!e.ignoreAttributes)for(let n in t){if(!t.hasOwnProperty(n))continue;let s=e.attributeValueProcessor(n,t[n]);s=r(s,e),!0===s&&e.suppressBooleanAttributes?i+=` ${n.substr(e.attributeNamePrefix.length)}`:i+=` ${n.substr(e.attributeNamePrefix.length)}="${s}"`}return i}function n(t,e){let i=(t=t.substr(0,t.length-e.textNodeName.length-1)).substr(t.lastIndexOf(".")+1);for(let n in e.stopNodes)if(e.stopNodes[n]===t||e.stopNodes[n]==="*."+i)return!0;return!1}function r(t,e){if(t&&t.length>0&&e.processEntities)for(let i=0;i<e.entities.length;i++){const n=e.entities[i];t=t.replace(n.regex,n.val)}return t}return F=1,$=function(e,i){let n="";return i.format&&i.indentBy.length>0&&(n="\n"),t(e,i,"",n)}}function J(){if(G)return H;G=1;const t="object"==typeof o&&o.env&&o.env.NODE_DEBUG&&/\bsemver\b/i.test(o.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};return H=t}function tt(){if(Y)return W;Y=1;const t=Number.MAX_SAFE_INTEGER||9007199254740991;return W={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:t,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}!function(){if(q)return z;q=1;const t=b(),e=Z(),i=function(){if(j)return V;j=1;const t=K(),e=L(),i={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function n(t){this.options=Object.assign({},i,t),!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=e(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=a),this.processTextOrObjNode=r,this.options.format?(this.indentate=s,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function r(t,e,i,n){const r=this.j2x(t,i+1,n.concat(e));return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,r.attrStr,i):this.buildObjectNode(r.val,e,r.attrStr,i)}function s(t){return this.options.indentBy.repeat(t)}function a(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}return n.prototype.build=function(e){return this.options.preserveOrder?t(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0,[]).val)},n.prototype.j2x=function(t,e,i){let n="",r="";const s=i.join(".");for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a))if(void 0===t[a])this.isAttribute(a)&&(r+="");else if(null===t[a])this.isAttribute(a)?r+="":"?"===a[0]?r+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:r+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(t[a]instanceof Date)r+=this.buildTextValNode(t[a],a,"",e);else if("object"!=typeof t[a]){const i=this.isAttribute(a);if(i&&!this.ignoreAttributesFn(i,s))n+=this.buildAttrPairStr(i,""+t[a]);else if(!i)if(a===this.options.textNodeName){let e=this.options.tagValueProcessor(a,""+t[a]);r+=this.replaceEntitiesValue(e)}else r+=this.buildTextValNode(t[a],a,"",e)}else if(Array.isArray(t[a])){const n=t[a].length;let s="",o="";for(let l=0;l<n;l++){const n=t[a][l];if(void 0===n);else if(null===n)"?"===a[0]?r+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:r+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if("object"==typeof n)if(this.options.oneListGroup){const t=this.j2x(n,e+1,i.concat(a));s+=t.val,this.options.attributesGroupName&&n.hasOwnProperty(this.options.attributesGroupName)&&(o+=t.attrStr)}else s+=this.processTextOrObjNode(n,a,e,i);else if(this.options.oneListGroup){let t=this.options.tagValueProcessor(a,n);t=this.replaceEntitiesValue(t),s+=t}else s+=this.buildTextValNode(n,a,"",e)}this.options.oneListGroup&&(s=this.buildObjectNode(s,a,o,e)),r+=s}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){const e=Object.keys(t[a]),i=e.length;for(let r=0;r<i;r++)n+=this.buildAttrPairStr(e[r],""+t[a][e[r]])}else r+=this.processTextOrObjNode(t[a],a,e,i);return{attrStr:n,val:r}},n.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&"true"===e?" "+t:" "+t+'="'+e+'"'},n.prototype.buildObjectNode=function(t,e,i,n){if(""===t)return"?"===e[0]?this.indentate(n)+"<"+e+i+"?"+this.tagEndChar:this.indentate(n)+"<"+e+i+this.closeTag(e)+this.tagEndChar;{let r="</"+e+this.tagEndChar,s="";return"?"===e[0]&&(s="?",r=""),!i&&""!==i||-1!==t.indexOf("<")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===s.length?this.indentate(n)+`\x3c!--${t}--\x3e`+this.newLine:this.indentate(n)+"<"+e+i+s+this.tagEndChar+t+this.indentate(n)+r:this.indentate(n)+"<"+e+i+s+">"+t+r}},n.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`></${t}`,e},n.prototype.buildTextValNode=function(t,e,i,n){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName)return this.indentate(n)+`<![CDATA[${t}]]>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(n)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(n)+"<"+e+i+"?"+this.tagEndChar;{let r=this.options.tagValueProcessor(e,t);return r=this.replaceEntitiesValue(r),""===r?this.indentate(n)+"<"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+i+">"+r+"</"+e+this.tagEndChar}},n.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const i=this.options.entities[e];t=t.replace(i.regex,i.val)}return t},V=n}();z={XMLParser:e,XMLValidator:t,XMLBuilder:i}}();var et,it,nt,rt,st,at,ot,lt,ct,ht,ut,dt,pt,ft={exports:{}};function gt(){if(ot)return at;ot=1;const t=J(),{MAX_LENGTH:e,MAX_SAFE_INTEGER:i}=tt(),{safeRe:n,t:r}=(et||(et=1,function(t,e){const{MAX_SAFE_COMPONENT_LENGTH:i,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:r}=tt(),s=J(),a=(e=t.exports={}).re=[],o=e.safeRe=[],l=e.src=[],c=e.t={};let h=0;const u="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",r],[u,n]],p=(t,e,i)=>{const n=(t=>{for(const[e,i]of d)t=t.split(`${e}*`).join(`${e}{0,${i}}`).split(`${e}+`).join(`${e}{1,${i}}`);return t})(e),r=h++;s(t,r,e),c[t]=r,l[r]=e,a[r]=new RegExp(e,i?"g":void 0),o[r]=new RegExp(n,i?"g":void 0)};p("NUMERICIDENTIFIER","0|[1-9]\\d*"),p("NUMERICIDENTIFIERLOOSE","\\d+"),p("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${u}*`),p("MAINVERSION",`(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})`),p("MAINVERSIONLOOSE",`(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})`),p("PRERELEASEIDENTIFIER",`(?:${l[c.NUMERICIDENTIFIER]}|${l[c.NONNUMERICIDENTIFIER]})`),p("PRERELEASEIDENTIFIERLOOSE",`(?:${l[c.NUMERICIDENTIFIERLOOSE]}|${l[c.NONNUMERICIDENTIFIER]})`),p("PRERELEASE",`(?:-(${l[c.PRERELEASEIDENTIFIER]}(?:\\.${l[c.PRERELEASEIDENTIFIER]})*))`),p("PRERELEASELOOSE",`(?:-?(${l[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[c.PRERELEASEIDENTIFIERLOOSE]})*))`),p("BUILDIDENTIFIER",`${u}+`),p("BUILD",`(?:\\+(${l[c.BUILDIDENTIFIER]}(?:\\.${l[c.BUILDIDENTIFIER]})*))`),p("FULLPLAIN",`v?${l[c.MAINVERSION]}${l[c.PRERELEASE]}?${l[c.BUILD]}?`),p("FULL",`^${l[c.FULLPLAIN]}$`),p("LOOSEPLAIN",`[v=\\s]*${l[c.MAINVERSIONLOOSE]}${l[c.PRERELEASELOOSE]}?${l[c.BUILD]}?`),p("LOOSE",`^${l[c.LOOSEPLAIN]}$`),p("GTLT","((?:<|>)?=?)"),p("XRANGEIDENTIFIERLOOSE",`${l[c.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),p("XRANGEIDENTIFIER",`${l[c.NUMERICIDENTIFIER]}|x|X|\\*`),p("XRANGEPLAIN",`[v=\\s]*(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:${l[c.PRERELEASE]})?${l[c.BUILD]}?)?)?`),p("XRANGEPLAINLOOSE",`[v=\\s]*(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:${l[c.PRERELEASELOOSE]})?${l[c.BUILD]}?)?)?`),p("XRANGE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAIN]}$`),p("XRANGELOOSE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAINLOOSE]}$`),p("COERCEPLAIN",`(^|[^\\d])(\\d{1,${i}})(?:\\.(\\d{1,${i}}))?(?:\\.(\\d{1,${i}}))?`),p("COERCE",`${l[c.COERCEPLAIN]}(?:$|[^\\d])`),p("COERCEFULL",l[c.COERCEPLAIN]+`(?:${l[c.PRERELEASE]})?(?:${l[c.BUILD]})?(?:$|[^\\d])`),p("COERCERTL",l[c.COERCE],!0),p("COERCERTLFULL",l[c.COERCEFULL],!0),p("LONETILDE","(?:~>?)"),p("TILDETRIM",`(\\s*)${l[c.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",p("TILDE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAIN]}$`),p("TILDELOOSE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAINLOOSE]}$`),p("LONECARET","(?:\\^)"),p("CARETTRIM",`(\\s*)${l[c.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",p("CARET",`^${l[c.LONECARET]}${l[c.XRANGEPLAIN]}$`),p("CARETLOOSE",`^${l[c.LONECARET]}${l[c.XRANGEPLAINLOOSE]}$`),p("COMPARATORLOOSE",`^${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]})$|^$`),p("COMPARATOR",`^${l[c.GTLT]}\\s*(${l[c.FULLPLAIN]})$|^$`),p("COMPARATORTRIM",`(\\s*)${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]}|${l[c.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",p("HYPHENRANGE",`^\\s*(${l[c.XRANGEPLAIN]})\\s+-\\s+(${l[c.XRANGEPLAIN]})\\s*$`),p("HYPHENRANGELOOSE",`^\\s*(${l[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[c.XRANGEPLAINLOOSE]})\\s*$`),p("STAR","(<|>)?=?\\s*\\*"),p("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),p("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(ft,ft.exports)),ft.exports),s=function(){if(nt)return it;nt=1;const t=Object.freeze({loose:!0}),e=Object.freeze({});return it=i=>i?"object"!=typeof i?t:i:e}(),{compareIdentifiers:a}=function(){if(st)return rt;st=1;const t=/^[0-9]+$/,e=(e,i)=>{const n=t.test(e),r=t.test(i);return n&&r&&(e=+e,i=+i),e===i?0:n&&!r?-1:r&&!n?1:e<i?-1:1};return rt={compareIdentifiers:e,rcompareIdentifiers:(t,i)=>e(i,t)}}();class o{constructor(a,l){if(l=s(l),a instanceof o){if(a.loose===!!l.loose&&a.includePrerelease===!!l.includePrerelease)return a;a=a.version}else if("string"!=typeof a)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof a}".`);if(a.length>e)throw new TypeError(`version is longer than ${e} characters`);t("SemVer",a,l),this.options=l,this.loose=!!l.loose,this.includePrerelease=!!l.includePrerelease;const c=a.trim().match(l.loose?n[r.LOOSE]:n[r.FULL]);if(!c)throw new TypeError(`Invalid Version: ${a}`);if(this.raw=a,this.major=+c[1],this.minor=+c[2],this.patch=+c[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");c[4]?this.prerelease=c[4].split(".").map((t=>{if(/^[0-9]+$/.test(t)){const e=+t;if(e>=0&&e<i)return e}return t})):this.prerelease=[],this.build=c[5]?c[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(t("SemVer.compare",this.version,this.options,e),!(e instanceof o)){if("string"==typeof e&&e===this.version)return 0;e=new o(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(t){return t instanceof o||(t=new o(t,this.options)),a(this.major,t.major)||a(this.minor,t.minor)||a(this.patch,t.patch)}comparePre(e){if(e instanceof o||(e=new o(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let i=0;do{const n=this.prerelease[i],r=e.prerelease[i];if(t("prerelease compare",i,n,r),void 0===n&&void 0===r)return 0;if(void 0===r)return 1;if(void 0===n)return-1;if(n!==r)return a(n,r)}while(++i)}compareBuild(e){e instanceof o||(e=new o(e,this.options));let i=0;do{const n=this.build[i],r=e.build[i];if(t("build compare",i,n,r),void 0===n&&void 0===r)return 0;if(void 0===r)return 1;if(void 0===n)return-1;if(n!==r)return a(n,r)}while(++i)}inc(t,e,i){switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",e,i);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",e,i);break;case"prepatch":this.prerelease.length=0,this.inc("patch",e,i),this.inc("pre",e,i);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",e,i),this.inc("pre",e,i);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const t=Number(i)?1:0;if(!e&&!1===i)throw new Error("invalid increment argument: identifier is empty");if(0===this.prerelease.length)this.prerelease=[t];else{let n=this.prerelease.length;for(;--n>=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);if(-1===n){if(e===this.prerelease.join(".")&&!1===i)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(t)}}if(e){let n=[e,t];!1===i&&(n=[e]),0===a(this.prerelease[0],e)?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return at=o}!function(){if(ut)return ht;ut=1;const t=function(){if(ct)return lt;ct=1;const t=gt();return lt=(e,i,n=!1)=>{if(e instanceof t)return e;try{return new t(e,i)}catch(t){if(!n)return null;throw t}}}();ht=(e,i)=>{const n=t(e,i);return n?n.version:null}}(),function(){if(pt)return dt;pt=1;const t=gt();dt=(e,i)=>new t(e,i).major}(),a.m},38779:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharing-entry__internal .avatar-external[data-v-57874406]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}.sharing-entry__internal .icon-checkmark-color[data-v-57874406]{opacity:1;color:var(--color-success)}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue"],names:[],mappings:"AAEC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA,CACA,0BAAA",sourcesContent:["\n.sharing-entry__internal {\n\t.avatar-external {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n"],sourceRoot:""}]);const o=a},43570:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharing-entry[data-v-44339fa4]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-44339fa4]{padding:8px;padding-inline-start:10px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc p[data-v-44339fa4]{color:var(--color-text-maxcontrast)}.sharing-entry__title[data-v-44339fa4]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__actions[data-v-44339fa4]{margin-inline-start:auto !important}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,wCACC,mCAAA,CAGF,uCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,yCACC,mCAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tline-height: 1.2em;\n\t\tposition: relative;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__title {\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tmax-width: inherit;\n\t}\n\t&__actions {\n\t\tmargin-inline-start: auto !important;\n\t}\n}\n"],sourceRoot:""}]);const o=a},48318:function(t,e,i){!function(t){"use strict";var e,i=function(){try{if(t.URLSearchParams&&"bar"===new t.URLSearchParams("foo=bar").get("foo"))return t.URLSearchParams}catch(t){}return null}(),n=i&&"a=1"===new i({a:1}).toString(),r=i&&"+"===new i("s=%2B").get("s"),s=i&&"size"in i.prototype,a="__URLSearchParams__",o=!i||((e=new i).append("s"," &"),"s=+%26"===e.toString()),l=p.prototype,c=!(!t.Symbol||!t.Symbol.iterator);if(!(i&&n&&r&&o&&s)){l.append=function(t,e){v(this[a],t,e)},l.delete=function(t){delete this[a][t]},l.get=function(t){var e=this[a];return this.has(t)?e[t][0]:null},l.getAll=function(t){var e=this[a];return this.has(t)?e[t].slice(0):[]},l.has=function(t){return C(this[a],t)},l.set=function(t,e){this[a][t]=[""+e]},l.toString=function(){var t,e,i,n,r=this[a],s=[];for(e in r)for(i=f(e),t=0,n=r[e];t<n.length;t++)s.push(i+"="+f(n[t]));return s.join("&")};var h,u=t.Proxy&&i&&(!r||!o||!n||!s);u?(h=new Proxy(i,{construct:function(t,e){return new t(new p(e[0]).toString())}})).toString=Function.prototype.toString.bind(p):h=p,Object.defineProperty(t,"URLSearchParams",{value:h});var d=t.URLSearchParams.prototype;d.polyfill=!0,!u&&t.Symbol&&(d[t.Symbol.toStringTag]="URLSearchParams"),"forEach"in d||(d.forEach=function(t,e){var i=m(this.toString());Object.getOwnPropertyNames(i).forEach((function(n){i[n].forEach((function(i){t.call(e,i,n,this)}),this)}),this)}),"sort"in d||(d.sort=function(){var t,e,i,n=m(this.toString()),r=[];for(t in n)r.push(t);for(r.sort(),e=0;e<r.length;e++)this.delete(r[e]);for(e=0;e<r.length;e++){var s=r[e],a=n[s];for(i=0;i<a.length;i++)this.append(s,a[i])}}),"keys"in d||(d.keys=function(){var t=[];return this.forEach((function(e,i){t.push(i)})),A(t)}),"values"in d||(d.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),A(t)}),"entries"in d||(d.entries=function(){var t=[];return this.forEach((function(e,i){t.push([i,e])})),A(t)}),c&&(d[t.Symbol.iterator]=d[t.Symbol.iterator]||d.entries),"size"in d||Object.defineProperty(d,"size",{get:function(){var t=m(this.toString());if(d===this)throw new TypeError("Illegal invocation at URLSearchParams.invokeGetter");return Object.keys(t).reduce((function(e,i){return e+t[i].length}),0)}})}function p(t){((t=t||"")instanceof URLSearchParams||t instanceof p)&&(t=t.toString()),this[a]=m(t)}function f(t){var e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'\(\)~]|%20|%00/g,(function(t){return e[t]}))}function g(t){return t.replace(/[ +]/g,"%20").replace(/(%[a-f0-9]{2})+/gi,(function(t){return decodeURIComponent(t)}))}function A(e){var i={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return c&&(i[t.Symbol.iterator]=function(){return i}),i}function m(t){var e={};if("object"==typeof t)if(y(t))for(var i=0;i<t.length;i++){var n=t[i];if(!y(n)||2!==n.length)throw new TypeError("Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements");v(e,n[0],n[1])}else for(var r in t)t.hasOwnProperty(r)&&v(e,r,t[r]);else{0===t.indexOf("?")&&(t=t.slice(1));for(var s=t.split("&"),a=0;a<s.length;a++){var o=s[a],l=o.indexOf("=");-1<l?v(e,g(o.slice(0,l)),g(o.slice(l+1))):o&&v(e,g(o),"")}}return e}function v(t,e,i){var n="string"==typeof i?i:null!=i&&"function"==typeof i.toString?i.toString():JSON.stringify(i);C(t,e)?t[e].push(n):t[e]=[n]}function y(t){return!!t&&"[object Array]"===Object.prototype.toString.call(t)}function C(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(void 0!==i.g?i.g:"undefined"!=typeof window?window:this)},56467:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharing-entry__inherited .avatar-shared[data-v-a6cc72e6]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingInherited.vue"],names:[],mappings:"AAEC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA",sourcesContent:["\n.sharing-entry__inherited {\n\t.avatar-shared {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n}\n"],sourceRoot:""}]);const o=a},59879:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharing-entry[data-v-fe8ed59e]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-fe8ed59e]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;padding-inline-start:10px;line-height:1.2em}.sharing-entry__desc p[data-v-fe8ed59e]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-fe8ed59e]{margin-inline-start:auto}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,wBAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-inline-start: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=a},63316:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".share-expiry-time[data-v-46cd2ca2]{display:inline-flex;align-items:center;justify-content:center}.share-expiry-time .hint-icon[data-v-46cd2ca2]{padding:0;margin:0;width:24px;height:24px}.hint-heading[data-v-46cd2ca2]{text-align:center;font-size:1rem;margin-top:8px;padding-bottom:8px;margin-bottom:0;border-bottom:1px solid var(--color-border)}.hint-body[data-v-46cd2ca2]{padding:var(--border-radius-element);max-width:300px}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/ShareExpiryTime.vue"],names:[],mappings:"AACA,oCACI,mBAAA,CACA,kBAAA,CACA,sBAAA,CAEA,+CACI,SAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA,CAIR,+BACI,iBAAA,CACA,cAAA,CACA,cAAA,CACA,kBAAA,CACA,eAAA,CACA,2CAAA,CAGJ,4BACI,oCAAA,CACA,eAAA",sourcesContent:["\n.share-expiry-time {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n .hint-icon {\n padding: 0;\n margin: 0;\n width: 24px;\n height: 24px;\n }\n}\n\n.hint-heading {\n text-align: center;\n font-size: 1rem;\n margin-top: 8px;\n padding-bottom: 8px;\n margin-bottom: 0;\n border-bottom: 1px solid var(--color-border);\n}\n\n.hint-body {\n padding: var(--border-radius-element);\n max-width: 300px;\n}\n"],sourceRoot:""}]);const o=a},70162:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharing-entry[data-v-2dbd45b5]{display:flex;align-items:center;height:44px}.sharing-entry__summary[data-v-2dbd45b5]{padding:8px;padding-inline-start:10px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0;min-width:0}.sharing-entry__summary__desc[data-v-2dbd45b5]{display:inline-block;padding-bottom:0;line-height:1.2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharing-entry__summary__desc p[data-v-2dbd45b5],.sharing-entry__summary__desc small[data-v-2dbd45b5]{color:var(--color-text-maxcontrast)}.sharing-entry__summary__desc-unique[data-v-2dbd45b5]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntry.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CAEA,+CACC,oBAAA,CACA,gBAAA,CACA,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,sGAEC,mCAAA,CAGD,sDACC,mCAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: flex-start;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\n\t\t&__desc {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding-bottom: 0;\n\t\t\tline-height: 1.2em;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\tp,\n\t\t\tsmall {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&-unique {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t}\n\n}\n"],sourceRoot:""}]);const o=a},75678:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharingTabDetailsView[data-v-75daac68]{display:flex;flex-direction:column;width:100%;margin:0 auto;position:relative;height:100%;overflow:hidden}.sharingTabDetailsView__header[data-v-75daac68]{display:flex;align-items:center;box-sizing:border-box;margin:.2em}.sharingTabDetailsView__header span[data-v-75daac68]{display:flex;align-items:center}.sharingTabDetailsView__header span h1[data-v-75daac68]{font-size:15px;padding-inline-start:.3em}.sharingTabDetailsView__wrapper[data-v-75daac68]{position:relative;overflow:scroll;flex-shrink:1;padding:4px;padding-inline-end:12px}.sharingTabDetailsView__quick-permissions[data-v-75daac68]{display:flex;justify-content:center;width:100%;margin:0 auto;border-radius:0}.sharingTabDetailsView__quick-permissions div[data-v-75daac68]{width:100%}.sharingTabDetailsView__quick-permissions div span[data-v-75daac68]{width:100%}.sharingTabDetailsView__quick-permissions div span span[data-v-75daac68]:nth-child(1){align-items:center;justify-content:center;padding:.1em}.sharingTabDetailsView__quick-permissions div span[data-v-75daac68] label span{display:flex;flex-direction:column}.sharingTabDetailsView__quick-permissions div span[data-v-75daac68] span.checkbox-content__text.checkbox-radio-switch__text{flex-wrap:wrap}.sharingTabDetailsView__quick-permissions div span[data-v-75daac68] span.checkbox-content__text.checkbox-radio-switch__text .subline{display:block;flex-basis:100%}.sharingTabDetailsView__advanced-control[data-v-75daac68]{width:100%}.sharingTabDetailsView__advanced-control button[data-v-75daac68]{margin-top:.5em}.sharingTabDetailsView__advanced[data-v-75daac68]{width:100%;margin-bottom:.5em;text-align:start;padding-inline-start:0}.sharingTabDetailsView__advanced section textarea[data-v-75daac68],.sharingTabDetailsView__advanced section div.mx-datepicker[data-v-75daac68]{width:100%}.sharingTabDetailsView__advanced section textarea[data-v-75daac68]{height:80px;margin:0}.sharingTabDetailsView__advanced section span[data-v-75daac68] label{padding-inline-start:0 !important;background-color:initial !important;border:none !important}.sharingTabDetailsView__advanced section section.custom-permissions-group[data-v-75daac68]{padding-inline-start:1.5em}.sharingTabDetailsView__label[data-v-75daac68]{padding-block-end:6px}.sharingTabDetailsView__delete>button[data-v-75daac68]:first-child{color:#df0707}.sharingTabDetailsView__footer[data-v-75daac68]{width:100%;display:flex;position:sticky;bottom:0;flex-direction:column;justify-content:space-between;align-items:flex-start;background:linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background))}.sharingTabDetailsView__footer .button-group[data-v-75daac68]{display:flex;justify-content:space-between;width:100%;margin-top:16px}.sharingTabDetailsView__footer .button-group button[data-v-75daac68]{margin-inline-start:16px}.sharingTabDetailsView__footer .button-group button[data-v-75daac68]:first-child{margin-inline-start:0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingDetailsTab.vue"],names:[],mappings:"AACA,wCACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CAEA,gDACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,WAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,wDACC,cAAA,CACA,yBAAA,CAMH,iDACC,iBAAA,CACA,eAAA,CACA,aAAA,CACA,WAAA,CACA,uBAAA,CAGD,2DACC,YAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CAEA,+DACC,UAAA,CAEA,oEACC,UAAA,CAEA,sFACC,kBAAA,CACA,sBAAA,CACA,YAAA,CAGD,+EACC,YAAA,CACA,qBAAA,CAID,4HACC,cAAA,CAEA,qIACC,aAAA,CACA,eAAA,CAQL,0DACC,UAAA,CAEA,iEACC,eAAA,CAKF,kDACC,UAAA,CACA,kBAAA,CACA,gBAAA,CACA,sBAAA,CAIC,+IAEC,UAAA,CAGD,mEACC,WAAA,CACA,QAAA,CAYD,qEACC,iCAAA,CACA,mCAAA,CACA,sBAAA,CAGD,2FACC,0BAAA,CAKH,+CACC,qBAAA,CAIA,mEACC,aAAA,CAIF,gDACC,UAAA,CACA,YAAA,CACA,eAAA,CACA,QAAA,CACA,qBAAA,CACA,6BAAA,CACA,sBAAA,CACA,2FAAA,CAEA,8DACC,YAAA,CACA,6BAAA,CACA,UAAA,CACA,eAAA,CAEA,qEACC,wBAAA,CAEA,iFACC,qBAAA",sourcesContent:["\n.sharingTabDetailsView {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tposition: relative;\n\theight: 100%;\n\toverflow: hidden;\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0.2em;\n\n\t\tspan {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\th1 {\n\t\t\t\tfont-size: 15px;\n\t\t\t\tpadding-inline-start: 0.3em;\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tposition: relative;\n\t\toverflow: scroll;\n\t\tflex-shrink: 1;\n\t\tpadding: 4px;\n\t\tpadding-inline-end: 12px;\n\t}\n\n\t&__quick-permissions {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\tmargin: 0 auto;\n\t\tborder-radius: 0;\n\n\t\tdiv {\n\t\t\twidth: 100%;\n\n\t\t\tspan {\n\t\t\t\twidth: 100%;\n\n\t\t\t\tspan:nth-child(1) {\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tpadding: 0.1em;\n\t\t\t\t}\n\n\t\t\t\t:deep(label span) {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t}\n\n\t\t\t\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\n\t\t\t\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\n\t\t\t\t\tflex-wrap: wrap;\n\n\t\t\t\t\t.subline {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tflex-basis: 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__advanced-control {\n\t\twidth: 100%;\n\n\t\tbutton {\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\n\t}\n\n\t&__advanced {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0.5em;\n\t\ttext-align: start;\n\t\tpadding-inline-start: 0;\n\n\t\tsection {\n\n\t\t\ttextarea,\n\t\t\tdiv.mx-datepicker {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\ttextarea {\n\t\t\t\theight: 80px;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t/*\n\t\t\t The following style is applied out of the component's scope\n\t\t\t to remove padding from the label.checkbox-radio-switch__label,\n\t\t\t which is used to group radio checkbox items. The use of ::v-deep\n\t\t\t ensures that the padding is modified without being affected by\n\t\t\t the component's scoping.\n\t\t\t Without this achieving left alignment for the checkboxes would not\n\t\t\t be possible.\n\t\t\t*/\n\t\t\tspan :deep(label) {\n\t\t\t\tpadding-inline-start: 0 !important;\n\t\t\t\tbackground-color: initial !important;\n\t\t\t\tborder: none !important;\n\t\t\t}\n\n\t\t\tsection.custom-permissions-group {\n\t\t\t\tpadding-inline-start: 1.5em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__label {\n\t\tpadding-block-end: 6px;\n\t}\n\n\t&__delete {\n\t\t> button:first-child {\n\t\t\tcolor: rgb(223, 7, 7);\n\t\t}\n\t}\n\n\t&__footer {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-start;\n\t\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\n\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\twidth: 100%;\n\t\t\tmargin-top: 16px;\n\n\t\t\tbutton {\n\t\t\t\tmargin-inline-start: 16px;\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-inline-start: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=a},79722:t=>{"use strict";t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M5.6%207.4L7%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6m6%200L13%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6z%27/%3e%3c/svg%3e"},86886:t=>{"use strict";t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M8.6%2016.6l4.6-4.6-4.6-4.6L10%206l6%206-6%206-1.4-1.4z%27/%3e%3c/svg%3e"},88522:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".share-select[data-v-2aa230f1]{display:block}.share-select[data-v-2aa230f1] .action-item__menutoggle{color:var(--color-primary-element) !important;font-size:12.5px !important;height:auto !important;min-height:auto !important}.share-select[data-v-2aa230f1] .action-item__menutoggle .button-vue__text{font-weight:normal !important}.share-select[data-v-2aa230f1] .action-item__menutoggle .button-vue__icon{height:24px !important;min-height:24px !important;width:24px !important;min-width:24px !important}.share-select[data-v-2aa230f1] .action-item__menutoggle .button-vue__wrapper{flex-direction:row-reverse !important}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue"],names:[],mappings:"AACA,+BACC,aAAA,CAIA,wDACC,6CAAA,CACA,2BAAA,CACA,sBAAA,CACA,0BAAA,CAEA,0EACC,6BAAA,CAGD,0EACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAGD,6EAEC,qCAAA",sourcesContent:["\n.share-select {\n\tdisplay: block;\n\n\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\n\t// Overrider NcActionms button to make it small\n\t:deep(.action-item__menutoggle) {\n\t\tcolor: var(--color-primary-element) !important;\n\t\tfont-size: 12.5px !important;\n\t\theight: auto !important;\n\t\tmin-height: auto !important;\n\n\t\t.button-vue__text {\n\t\t\tfont-weight: normal !important;\n\t\t}\n\n\t\t.button-vue__icon {\n\t\t\theight: 24px !important;\n\t\t\tmin-height: 24px !important;\n\t\t\twidth: 24px !important;\n\t\t\tmin-width: 24px !important;\n\t\t}\n\n\t\t.button-vue__wrapper {\n\t\t\t// Emulate NcButton's alignment=center-reverse\n\t\t\tflex-direction: row-reverse !important;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=a},92158:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".emptyContentWithSections[data-v-592538f1]{margin:1rem auto}.sharingTab[data-v-592538f1]{position:relative;height:100%}.sharingTab__content[data-v-592538f1]{padding:0 6px}.sharingTab__content section[data-v-592538f1]{padding-bottom:16px}.sharingTab__content section .section-header[data-v-592538f1]{margin-top:2px;margin-bottom:2px;display:flex;align-items:center;padding-bottom:4px}.sharingTab__content section .section-header h4[data-v-592538f1]{margin:0;font-size:16px}.sharingTab__content section .section-header .visually-hidden[data-v-592538f1]{display:none}.sharingTab__content section .section-header .hint-icon[data-v-592538f1]{color:var(--color-primary-element)}.sharingTab__content>section[data-v-592538f1]:not(:last-child){border-bottom:2px solid var(--color-border)}.sharingTab__additionalContent[data-v-592538f1]{margin:44px 0}.hint-body[data-v-592538f1]{max-width:300px;padding:var(--border-radius-element)}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingTab.vue"],names:[],mappings:"AACA,2CACC,gBAAA,CAGD,6BACC,iBAAA,CACA,WAAA,CAEA,sCACC,aAAA,CAEA,8CACC,mBAAA,CAEA,8DACC,cAAA,CACA,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,iEACC,QAAA,CACA,cAAA,CAGD,+EACC,YAAA,CAGD,yEACC,kCAAA,CAOH,+DACC,2CAAA,CAKF,gDACC,aAAA,CAIF,4BACC,eAAA,CACA,oCAAA",sourcesContent:["\n.emptyContentWithSections {\n\tmargin: 1rem auto;\n}\n\n.sharingTab {\n\tposition: relative;\n\theight: 100%;\n\n\t&__content {\n\t\tpadding: 0 6px;\n\n\t\tsection {\n\t\t\tpadding-bottom: 16px;\n\n\t\t\t.section-header {\n\t\t\t\tmargin-top: 2px;\n\t\t\t\tmargin-bottom: 2px;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tpadding-bottom: 4px;\n\n\t\t\t\th4 {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t}\n\n\t\t\t\t.visually-hidden {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t.hint-icon {\n\t\t\t\t\tcolor: var(--color-primary-element);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t& > section:not(:last-child) {\n\t\t\tborder-bottom: 2px solid var(--color-border);\n\t\t}\n\n\t}\n\n\t&__additionalContent {\n\t\tmargin: 44px 0;\n\t}\n}\n\n.hint-body {\n\tmax-width: 300px;\n\tpadding: var(--border-radius-element);\n}\n"],sourceRoot:""}]);const o=a},93057:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharing-entry[data-v-48fba0bf]{display:flex;align-items:center;min-height:44px}.sharing-entry__summary[data-v-48fba0bf]{padding:8px;padding-inline-start:10px;display:flex;justify-content:space-between;flex:1 0;min-width:0}.sharing-entry__desc[data-v-48fba0bf]{display:flex;flex-direction:column;line-height:1.2em}.sharing-entry__desc p[data-v-48fba0bf]{color:var(--color-text-maxcontrast)}.sharing-entry__desc__title[data-v-48fba0bf]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry__actions[data-v-48fba0bf]{display:flex;align-items:center;margin-inline-start:auto}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-48fba0bf]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-48fba0bf] .avatar-link-share{background-color:var(--color-primary-element)}.sharing-entry .sharing-entry__action--public-upload[data-v-48fba0bf]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-48fba0bf]{width:44px;height:44px;margin:0;padding:14px;margin-inline-start:auto}.sharing-entry .action-item~.action-item[data-v-48fba0bf],.sharing-entry .action-item~.sharing-entry__loading[data-v-48fba0bf]{margin-inline-start:0}.sharing-entry .icon-checkmark-color[data-v-48fba0bf]{opacity:1;color:var(--color-success)}.qr-code-dialog[data-v-48fba0bf]{display:flex;width:100%;justify-content:center}.qr-code-dialog__img[data-v-48fba0bf]{width:100%;height:auto}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryLink.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAEA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,6BAAA,CACA,QAAA,CACA,WAAA,CAGA,sCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,wCACC,mCAAA,CAGD,6CACC,sBAAA,CACA,eAAA,CACA,kBAAA,CAIF,yCACC,YAAA,CACA,kBAAA,CACA,wBAAA,CAID,mGACC,wCAAA,CAIF,mDACC,6CAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,wBAAA,CAOA,+HAEC,qBAAA,CAIF,sDACC,SAAA,CACA,0BAAA,CAKF,iCACC,YAAA,CACA,UAAA,CACA,sBAAA,CAEA,sCACC,UAAA,CACA,WAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\t}\n\n\t\t&__desc {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tline-height: 1.2em;\n\n\t\t\tp {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&__title {\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\t\t}\n\n\t\t&__actions {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tmargin-inline-start: auto;\n\t\t}\n\n\t&:not(.sharing-entry--share) &__actions {\n\t\t.new-share-link {\n\t\t\tborder-top: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t:deep(.avatar-link-share) {\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t.sharing-entry__action--public-upload {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&__loading {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tmargin: 0;\n\t\tpadding: 14px;\n\t\tmargin-inline-start: auto;\n\t}\n\n\t// put menus to the left\n\t// but only the first one\n\t.action-item {\n\n\t\t~.action-item,\n\t\t~.sharing-entry__loading {\n\t\t\tmargin-inline-start: 0;\n\t\t}\n\t}\n\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n\n// styling for the qr-code container\n.qr-code-dialog {\n\tdisplay: flex;\n\twidth: 100%;\n\tjustify-content: center;\n\n\t&__img {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=a},97380:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".fade-enter-active[data-v-42733c12], .fade-leave-active[data-v-42733c12] {\n transition: opacity 0.3s ease;\n}\n.fade-enter[data-v-42733c12], .fade-leave-to[data-v-42733c12] {\n opacity: 0;\n}\n.linked-icons[data-v-42733c12] {\n display: flex;\n}\n.linked-icons img[data-v-42733c12] {\n padding: 12px;\n height: 44px;\n display: block;\n background-repeat: no-repeat;\n background-position: center;\n opacity: 0.7;\n}\n.linked-icons img[data-v-42733c12]:hover {\n opacity: 1;\n}\n.popovermenu[data-v-42733c12] {\n display: none;\n}\n.popovermenu.open[data-v-42733c12] {\n display: block;\n}\nli.collection-list-item[data-v-42733c12] {\n flex-wrap: wrap;\n height: auto;\n cursor: pointer;\n margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-42733c12] {\n margin-top: 6px;\n}\nli.collection-list-item form[data-v-42733c12], li.collection-list-item .collection-item-name[data-v-42733c12] {\n flex-basis: 10%;\n flex-grow: 1;\n display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-42733c12] {\n padding: 12px 9px;\n}\nli.collection-list-item input[data-v-42733c12] {\n margin-top: 4px;\n border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-42733c12] {\n flex-grow: 1;\n}\nli.collection-list-item .error[data-v-42733c12] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details[data-v-42733c12] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-42733c12] {\n display: flex;\n margin-left: 44px;\n border-radius: 3px;\n cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-42733c12]:hover {\n background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-42733c12] {\n flex-grow: 1;\n padding: 3px;\n max-width: calc(100% - 30px);\n display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-42733c12] {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-42733c12] {\n text-overflow: ellipsis;\n overflow: hidden;\n position: relative;\n vertical-align: top;\n white-space: nowrap;\n flex-grow: 1;\n padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-42733c12] {\n width: 24px;\n height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12] {\n opacity: 0.7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:focus {\n opacity: 1;\n}\n.shouldshake[data-v-42733c12] {\n animation: shake-42733c12 0.6s 1 linear;\n}\n@keyframes shake-42733c12 {\n0% {\n transform: translate(15px);\n}\n20% {\n transform: translate(-15px);\n}\n40% {\n transform: translate(7px);\n}\n60% {\n transform: translate(-7px);\n}\n80% {\n transform: translate(3px);\n}\n100% {\n transform: translate(0px);\n}\n}.collection-list *[data-v-8ebb2593] {\n box-sizing: border-box;\n}\n.collection-list > li[data-v-8ebb2593] {\n display: flex;\n align-items: start;\n gap: 12px;\n}\n.collection-list > li > .avatar[data-v-8ebb2593] {\n margin-top: auto;\n}\n#collection-select-container[data-v-8ebb2593] {\n display: flex;\n flex-direction: column;\n}\n.v-select span.avatar[data-v-8ebb2593] {\n display: block;\n padding: 16px;\n opacity: 0.7;\n background-repeat: no-repeat;\n background-position: center;\n}\n.v-select span.avatar[data-v-8ebb2593]:hover {\n opacity: 1;\n}\np.hint[data-v-8ebb2593] {\n z-index: 1;\n margin-top: -16px;\n padding: 8px 8px;\n color: var(--color-text-maxcontrast);\n line-height: normal;\n}\ndiv.avatar[data-v-8ebb2593] {\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 8px;\n background-color: var(--color-background-dark);\n margin-top: 30px;\n}\n\n/** TODO provide white icon in core */\n.icon-projects[data-v-8ebb2593] {\n display: block;\n padding: 8px;\n background-repeat: no-repeat;\n background-position: center;\n}\n.option__wrapper[data-v-8ebb2593] {\n display: flex;\n}\n.option__wrapper .avatar[data-v-8ebb2593] {\n display: block;\n background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-8ebb2593] {\n padding: 4px;\n}\n.fade-enter-active[data-v-8ebb2593], .fade-leave-active[data-v-8ebb2593] {\n transition: opacity 0.5s;\n}\n.fade-enter[data-v-8ebb2593], .fade-leave-to[data-v-8ebb2593] {\n opacity: 0;\n}","",{version:3,sources:["webpack://./node_modules/nextcloud-vue-collections/dist/assets/index-CJAYjuyf.css"],names:[],mappings:"AAAA;EACE,6BAA6B;AAC/B;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,YAAY;EACZ,cAAc;EACd,4BAA4B;EAC5B,2BAA2B;EAC3B,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;EACf,YAAY;EACZ,eAAe;EACf,2BAA2B;AAC7B;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;EACf,YAAY;EACZ,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,6CAA6C;AAC/C;AACA;EACE,YAAY;AACd;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,aAAa;EACb,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,YAAY;EACZ,YAAY;EACZ,4BAA4B;EAC5B,aAAa;AACf;AACA;EACE,qBAAqB;EACrB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,YAAY;AACd;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,uCAAuC;AACzC;AACA;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA,CAAC;EACC,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,SAAS;AACX;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,aAAa;EACb,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,oCAAoC;EACpC,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,SAAS;EACT,YAAY;EACZ,8CAA8C;EAC9C,gBAAgB;AAClB;;AAEA,qCAAqC;AACrC;EACE,cAAc;EACd,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,2DAA2D;AAC7D;AACA;EACE,YAAY;AACd;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,UAAU;AACZ",sourcesContent:[".fade-enter-active[data-v-42733c12], .fade-leave-active[data-v-42733c12] {\n transition: opacity 0.3s ease;\n}\n.fade-enter[data-v-42733c12], .fade-leave-to[data-v-42733c12] {\n opacity: 0;\n}\n.linked-icons[data-v-42733c12] {\n display: flex;\n}\n.linked-icons img[data-v-42733c12] {\n padding: 12px;\n height: 44px;\n display: block;\n background-repeat: no-repeat;\n background-position: center;\n opacity: 0.7;\n}\n.linked-icons img[data-v-42733c12]:hover {\n opacity: 1;\n}\n.popovermenu[data-v-42733c12] {\n display: none;\n}\n.popovermenu.open[data-v-42733c12] {\n display: block;\n}\nli.collection-list-item[data-v-42733c12] {\n flex-wrap: wrap;\n height: auto;\n cursor: pointer;\n margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-42733c12] {\n margin-top: 6px;\n}\nli.collection-list-item form[data-v-42733c12], li.collection-list-item .collection-item-name[data-v-42733c12] {\n flex-basis: 10%;\n flex-grow: 1;\n display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-42733c12] {\n padding: 12px 9px;\n}\nli.collection-list-item input[data-v-42733c12] {\n margin-top: 4px;\n border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-42733c12] {\n flex-grow: 1;\n}\nli.collection-list-item .error[data-v-42733c12] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details[data-v-42733c12] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-42733c12] {\n display: flex;\n margin-left: 44px;\n border-radius: 3px;\n cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-42733c12]:hover {\n background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-42733c12] {\n flex-grow: 1;\n padding: 3px;\n max-width: calc(100% - 30px);\n display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-42733c12] {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-42733c12] {\n text-overflow: ellipsis;\n overflow: hidden;\n position: relative;\n vertical-align: top;\n white-space: nowrap;\n flex-grow: 1;\n padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-42733c12] {\n width: 24px;\n height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12] {\n opacity: 0.7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:focus {\n opacity: 1;\n}\n.shouldshake[data-v-42733c12] {\n animation: shake-42733c12 0.6s 1 linear;\n}\n@keyframes shake-42733c12 {\n0% {\n transform: translate(15px);\n}\n20% {\n transform: translate(-15px);\n}\n40% {\n transform: translate(7px);\n}\n60% {\n transform: translate(-7px);\n}\n80% {\n transform: translate(3px);\n}\n100% {\n transform: translate(0px);\n}\n}.collection-list *[data-v-8ebb2593] {\n box-sizing: border-box;\n}\n.collection-list > li[data-v-8ebb2593] {\n display: flex;\n align-items: start;\n gap: 12px;\n}\n.collection-list > li > .avatar[data-v-8ebb2593] {\n margin-top: auto;\n}\n#collection-select-container[data-v-8ebb2593] {\n display: flex;\n flex-direction: column;\n}\n.v-select span.avatar[data-v-8ebb2593] {\n display: block;\n padding: 16px;\n opacity: 0.7;\n background-repeat: no-repeat;\n background-position: center;\n}\n.v-select span.avatar[data-v-8ebb2593]:hover {\n opacity: 1;\n}\np.hint[data-v-8ebb2593] {\n z-index: 1;\n margin-top: -16px;\n padding: 8px 8px;\n color: var(--color-text-maxcontrast);\n line-height: normal;\n}\ndiv.avatar[data-v-8ebb2593] {\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 8px;\n background-color: var(--color-background-dark);\n margin-top: 30px;\n}\n\n/** TODO provide white icon in core */\n.icon-projects[data-v-8ebb2593] {\n display: block;\n padding: 8px;\n background-repeat: no-repeat;\n background-position: center;\n}\n.option__wrapper[data-v-8ebb2593] {\n display: flex;\n}\n.option__wrapper .avatar[data-v-8ebb2593] {\n display: block;\n background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-8ebb2593] {\n padding: 4px;\n}\n.fade-enter-active[data-v-8ebb2593], .fade-leave-active[data-v-8ebb2593] {\n transition: opacity 0.5s;\n}\n.fade-enter[data-v-8ebb2593], .fade-leave-to[data-v-8ebb2593] {\n opacity: 0;\n}"],sourceRoot:""}]);const o=a}}]);
+//# sourceMappingURL=4833-4833.js.map?v=a8c2fa777429cbda11c4 \ No newline at end of file
diff --git a/dist/8708-8708.js.license b/dist/4833-4833.js.license
index 62e0f72c086..62e0f72c086 100644
--- a/dist/8708-8708.js.license
+++ b/dist/4833-4833.js.license
diff --git a/dist/4833-4833.js.map b/dist/4833-4833.js.map
new file mode 100644
index 00000000000..47ebdea6fc5
--- /dev/null
+++ b/dist/4833-4833.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"4833-4833.js?v=a8c2fa777429cbda11c4","mappings":"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","sources":["webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue?vue&type=style&index=0&id=060f147f&prod&lang=scss","webpack:///nextcloud/node_modules/@chenfengyuan/vue-qrcode/dist/vue-qrcode.js","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?0ae8","webpack://nextcloud/./node_modules/nextcloud-vue-collections/dist/assets/index-CJAYjuyf.css?bb25","webpack:///nextcloud/node_modules/lodash-es/isObject.js","webpack:///nextcloud/node_modules/lodash-es/_freeGlobal.js","webpack:///nextcloud/node_modules/lodash-es/_root.js","webpack:///nextcloud/node_modules/lodash-es/now.js","webpack:///nextcloud/node_modules/lodash-es/_trimmedEndIndex.js","webpack:///nextcloud/node_modules/lodash-es/_baseTrim.js","webpack:///nextcloud/node_modules/lodash-es/_Symbol.js","webpack:///nextcloud/node_modules/lodash-es/_getRawTag.js","webpack:///nextcloud/node_modules/lodash-es/_objectToString.js","webpack:///nextcloud/node_modules/lodash-es/_baseGetTag.js","webpack:///nextcloud/node_modules/lodash-es/toNumber.js","webpack:///nextcloud/node_modules/lodash-es/isSymbol.js","webpack:///nextcloud/node_modules/lodash-es/isObjectLike.js","webpack:///nextcloud/node_modules/lodash-es/debounce.js","webpack:///nextcloud/node_modules/nextcloud-vue-collections/dist/index.mjs","webpack:///nextcloud/apps/files_sharing/src/services/ConfigService.ts","webpack:///nextcloud/apps/files_sharing/src/services/logger.ts","webpack:///nextcloud/apps/files_sharing/src/models/Share.ts","webpack:///nextcloud/apps/files_sharing/src/services/SharingService.ts","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?6c02","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?f180","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?cb12","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?0c02","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?8c53","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?4c20","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?65df","webpack:///nextcloud/apps/files_sharing/src/mixins/ShareRequests.js","webpack:///nextcloud/apps/files_sharing/src/lib/SharePermissionsToolBox.js","webpack:///nextcloud/apps/files_sharing/src/mixins/ShareDetails.js","webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?0b73","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?3d7c","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?45a6","webpack:///nextcloud/apps/files_sharing/src/utils/GeneratePassword.ts","webpack:///nextcloud/apps/files/src/services/WebdavClient.ts","webpack:///nextcloud/apps/files_sharing/src/mixins/SharesMixin.js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?a297","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?0e5a","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?77d5","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?0657","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?1677","webpack://nextcloud/./apps/files_sharing/src/views/SharingLinkList.vue?de0b","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Tune.vue?7202","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue?vue&type=template&id=18d04e6a","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarBlank.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarBlank.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/CalendarBlank.vue?3d12","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarBlank.vue?vue&type=template&id=41fe7db9","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Qrcode.vue?b80a","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue?vue&type=template&id=aba87788","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Exclamation.vue?46e6","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue?vue&type=template&id=03239926","webpack:///nextcloud/node_modules/vue-material-design-icons/Lock.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Lock.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Lock.vue?93ae","webpack:///nextcloud/node_modules/vue-material-design-icons/Lock.vue?vue&type=template&id=6d856da2","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/CheckBold.vue?7500","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue?vue&type=template&id=5603f41f","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/TriangleSmallDown.vue?8651","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue?vue&type=template&id=1eed3dd9","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/EyeOutline.vue?9ce8","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue?vue&type=template&id=e26de6f6","webpack:///nextcloud/node_modules/vue-material-design-icons/FileUpload.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FileUpload.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/FileUpload.vue?c468","webpack:///nextcloud/node_modules/vue-material-design-icons/FileUpload.vue?vue&type=template&id=caa55e94","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?eb90","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?4441","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?0b36","webpack://nextcloud/./apps/files_sharing/src/components/ShareExpiryTime.vue?4496","webpack:///nextcloud/node_modules/vue-material-design-icons/Clock.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Clock.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Clock.vue?f027","webpack:///nextcloud/node_modules/vue-material-design-icons/Clock.vue?vue&type=template&id=539578bc","webpack:///nextcloud/apps/files_sharing/src/components/ShareExpiryTime.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/ShareExpiryTime.vue","webpack://nextcloud/./apps/files_sharing/src/components/ShareExpiryTime.vue?ac36","webpack://nextcloud/./apps/files_sharing/src/components/ShareExpiryTime.vue?bc23","webpack:///nextcloud/apps/files_sharing/src/components/ExternalShareAction.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/ExternalShareAction.vue","webpack://nextcloud/./apps/files_sharing/src/components/ExternalShareAction.vue?9bf3","webpack://nextcloud/./apps/files_sharing/src/components/ExternalShareAction.vue?82b4","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?9934","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?af90","webpack:///nextcloud/apps/files_sharing/src/views/SharingLinkList.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingLinkList.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?64e9","webpack://nextcloud/./apps/files_sharing/src/views/SharingLinkList.vue?a70b","webpack://nextcloud/./apps/files_sharing/src/views/SharingList.vue?e340","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?06a5","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?10a7","webpack:///nextcloud/apps/files_sharing/src/views/SharingList.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingList.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?f8d7","webpack://nextcloud/./apps/files_sharing/src/views/SharingList.vue?9f9c","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?7f2e","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/CircleOutline.vue?68bc","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue?vue&type=template&id=c013567c","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Email.vue?3953","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue?vue&type=template&id=7dd7f6aa","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ShareCircle.vue?a1b2","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue?vue&type=template&id=0e958886","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/AccountCircleOutline.vue?a068","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue?vue&type=template&id=5b2fe1de","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Eye.vue?157b","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue?vue&type=template&id=4ae2345c","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Refresh.vue?0940","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=template&id=2864f909","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue","webpack:///nextcloud/apps/files_sharing/src/services/TokenService.ts","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?d966","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?10fc","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue","webpack:///nextcloud/apps/files_sharing/src/utils/SharedWithMe.js","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?f56b","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?6997","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue?vue&type=style&index=0&id=57874406&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue?vue&type=style&index=0&id=44339fa4&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/url-search-params-polyfill/index.js","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue?vue&type=style&index=0&id=a6cc72e6&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue?vue&type=style&index=0&id=fe8ed59e&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/ShareExpiryTime.vue?vue&type=style&index=0&id=46cd2ca2&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue?vue&type=style&index=0&id=2dbd45b5&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue?vue&type=style&index=0&id=75daac68&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=2aa230f1&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue?vue&type=style&index=0&id=592538f1&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue?vue&type=style&index=0&id=48fba0bf&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/nextcloud-vue-collections/dist/assets/index-CJAYjuyf.css"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-search{display:flex;flex-direction:column;margin-bottom:4px}.sharing-search label[for=sharing-search-input]{margin-bottom:2px}.sharing-search__input{width:100%;margin:10px 0}.vs__dropdown-menu span[lookup] .avatardiv{background-image:var(--icon-search-white);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.vs__dropdown-menu span[lookup] .avatardiv .avatardiv__initials-wrapper{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingInput.vue\"],\"names\":[],\"mappings\":\"AACA,gBACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,gDACC,iBAAA,CAGD,uBACC,UAAA,CACA,aAAA,CAOA,2CACC,yCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,wEACC,YAAA\",\"sourcesContent\":[\"\\n.sharing-search {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmargin-bottom: 4px;\\n\\n\\tlabel[for=\\\"sharing-search-input\\\"] {\\n\\t\\tmargin-bottom: 2px;\\n\\t}\\n\\n\\t&__input {\\n\\t\\twidth: 100%;\\n\\t\\tmargin: 10px 0;\\n\\t}\\n}\\n\\n.vs__dropdown-menu {\\n\\t// properly style the lookup entry\\n\\tspan[lookup] {\\n\\t\\t.avatardiv {\\n\\t\\t\\tbackground-image: var(--icon-search-white);\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-color: var(--color-text-maxcontrast) !important;\\n\\t\\t\\t.avatardiv__initials-wrapper {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/*!\n * vue-qrcode v1.0.2\n * https://fengyuanchen.github.io/vue-qrcode\n *\n * Copyright 2018-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2020-01-18T06:04:33.222Z\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global = global || self, global.VueQrcode = factory());\n}(this, (function () { 'use strict';\n\n\tfunction commonjsRequire () {\n\t\tthrow new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs');\n\t}\n\n\tfunction createCommonjsModule(fn, module) {\n\t\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n\t}\n\n\tvar qrcode = createCommonjsModule(function (module, exports) {\n\t(function(f){{module.exports=f();}})(function(){return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof commonjsRequire&&commonjsRequire;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t);}return n[i].exports}for(var u=\"function\"==typeof commonjsRequire&&commonjsRequire,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){\n\t// can-promise has a crash in some versions of react native that dont have\n\t// standard global objects\n\t// https://github.com/soldair/node-qrcode/issues/157\n\n\tmodule.exports = function () {\n\t return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n\t};\n\n\t},{}],2:[function(require,module,exports){\n\t/**\n\t * Alignment pattern are fixed reference pattern in defined positions\n\t * in a matrix symbology, which enables the decode software to re-synchronise\n\t * the coordinate mapping of the image modules in the event of moderate amounts\n\t * of distortion of the image.\n\t *\n\t * Alignment patterns are present only in QR Code symbols of version 2 or larger\n\t * and their number depends on the symbol version.\n\t */\n\n\tvar getSymbolSize = require('./utils').getSymbolSize;\n\n\t/**\n\t * Calculate the row/column coordinates of the center module of each alignment pattern\n\t * for the specified QR Code version.\n\t *\n\t * The alignment patterns are positioned symmetrically on either side of the diagonal\n\t * running from the top left corner of the symbol to the bottom right corner.\n\t *\n\t * Since positions are simmetrical only half of the coordinates are returned.\n\t * Each item of the array will represent in turn the x and y coordinate.\n\t * @see {@link getPositions}\n\t *\n\t * @param {Number} version QR Code version\n\t * @return {Array} Array of coordinate\n\t */\n\texports.getRowColCoords = function getRowColCoords (version) {\n\t if (version === 1) return []\n\n\t var posCount = Math.floor(version / 7) + 2;\n\t var size = getSymbolSize(version);\n\t var intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2;\n\t var positions = [size - 7]; // Last coord is always (size - 7)\n\n\t for (var i = 1; i < posCount - 1; i++) {\n\t positions[i] = positions[i - 1] - intervals;\n\t }\n\n\t positions.push(6); // First coord is always 6\n\n\t return positions.reverse()\n\t};\n\n\t/**\n\t * Returns an array containing the positions of each alignment pattern.\n\t * Each array's element represent the center point of the pattern as (x, y) coordinates\n\t *\n\t * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n\t * and filtering out the items that overlaps with finder pattern\n\t *\n\t * @example\n\t * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n\t * The alignment patterns, therefore, are to be centered on (row, column)\n\t * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n\t * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n\t * and are not therefore used for alignment patterns.\n\t *\n\t * var pos = getPositions(7)\n\t * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n\t *\n\t * @param {Number} version QR Code version\n\t * @return {Array} Array of coordinates\n\t */\n\texports.getPositions = function getPositions (version) {\n\t var coords = [];\n\t var pos = exports.getRowColCoords(version);\n\t var posLength = pos.length;\n\n\t for (var i = 0; i < posLength; i++) {\n\t for (var j = 0; j < posLength; j++) {\n\t // Skip if position is occupied by finder patterns\n\t if ((i === 0 && j === 0) || // top-left\n\t (i === 0 && j === posLength - 1) || // bottom-left\n\t (i === posLength - 1 && j === 0)) { // top-right\n\t continue\n\t }\n\n\t coords.push([pos[i], pos[j]]);\n\t }\n\t }\n\n\t return coords\n\t};\n\n\t},{\"./utils\":21}],3:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\n\t/**\n\t * Array of characters available in alphanumeric mode\n\t *\n\t * As per QR Code specification, to each character\n\t * is assigned a value from 0 to 44 which in this case coincides\n\t * with the array index\n\t *\n\t * @type {Array}\n\t */\n\tvar ALPHA_NUM_CHARS = [\n\t '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n\t 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n\t 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n\t ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n\t];\n\n\tfunction AlphanumericData (data) {\n\t this.mode = Mode.ALPHANUMERIC;\n\t this.data = data;\n\t}\n\n\tAlphanumericData.getBitsLength = function getBitsLength (length) {\n\t return 11 * Math.floor(length / 2) + 6 * (length % 2)\n\t};\n\n\tAlphanumericData.prototype.getLength = function getLength () {\n\t return this.data.length\n\t};\n\n\tAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n\t return AlphanumericData.getBitsLength(this.data.length)\n\t};\n\n\tAlphanumericData.prototype.write = function write (bitBuffer) {\n\t var i;\n\n\t // Input data characters are divided into groups of two characters\n\t // and encoded as 11-bit binary codes.\n\t for (i = 0; i + 2 <= this.data.length; i += 2) {\n\t // The character value of the first character is multiplied by 45\n\t var value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45;\n\n\t // The character value of the second digit is added to the product\n\t value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1]);\n\n\t // The sum is then stored as 11-bit binary number\n\t bitBuffer.put(value, 11);\n\t }\n\n\t // If the number of input data characters is not a multiple of two,\n\t // the character value of the final character is encoded as a 6-bit binary number.\n\t if (this.data.length % 2) {\n\t bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6);\n\t }\n\t};\n\n\tmodule.exports = AlphanumericData;\n\n\t},{\"./mode\":14}],4:[function(require,module,exports){\n\tfunction BitBuffer () {\n\t this.buffer = [];\n\t this.length = 0;\n\t}\n\n\tBitBuffer.prototype = {\n\n\t get: function (index) {\n\t var bufIndex = Math.floor(index / 8);\n\t return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n\t },\n\n\t put: function (num, length) {\n\t for (var i = 0; i < length; i++) {\n\t this.putBit(((num >>> (length - i - 1)) & 1) === 1);\n\t }\n\t },\n\n\t getLengthInBits: function () {\n\t return this.length\n\t },\n\n\t putBit: function (bit) {\n\t var bufIndex = Math.floor(this.length / 8);\n\t if (this.buffer.length <= bufIndex) {\n\t this.buffer.push(0);\n\t }\n\n\t if (bit) {\n\t this.buffer[bufIndex] |= (0x80 >>> (this.length % 8));\n\t }\n\n\t this.length++;\n\t }\n\t};\n\n\tmodule.exports = BitBuffer;\n\n\t},{}],5:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\n\t/**\n\t * Helper class to handle QR Code symbol modules\n\t *\n\t * @param {Number} size Symbol size\n\t */\n\tfunction BitMatrix (size) {\n\t if (!size || size < 1) {\n\t throw new Error('BitMatrix size must be defined and greater than 0')\n\t }\n\n\t this.size = size;\n\t this.data = BufferUtil.alloc(size * size);\n\t this.reservedBit = BufferUtil.alloc(size * size);\n\t}\n\n\t/**\n\t * Set bit value at specified location\n\t * If reserved flag is set, this bit will be ignored during masking process\n\t *\n\t * @param {Number} row\n\t * @param {Number} col\n\t * @param {Boolean} value\n\t * @param {Boolean} reserved\n\t */\n\tBitMatrix.prototype.set = function (row, col, value, reserved) {\n\t var index = row * this.size + col;\n\t this.data[index] = value;\n\t if (reserved) this.reservedBit[index] = true;\n\t};\n\n\t/**\n\t * Returns bit value at specified location\n\t *\n\t * @param {Number} row\n\t * @param {Number} col\n\t * @return {Boolean}\n\t */\n\tBitMatrix.prototype.get = function (row, col) {\n\t return this.data[row * this.size + col]\n\t};\n\n\t/**\n\t * Applies xor operator at specified location\n\t * (used during masking process)\n\t *\n\t * @param {Number} row\n\t * @param {Number} col\n\t * @param {Boolean} value\n\t */\n\tBitMatrix.prototype.xor = function (row, col, value) {\n\t this.data[row * this.size + col] ^= value;\n\t};\n\n\t/**\n\t * Check if bit at specified location is reserved\n\t *\n\t * @param {Number} row\n\t * @param {Number} col\n\t * @return {Boolean}\n\t */\n\tBitMatrix.prototype.isReserved = function (row, col) {\n\t return this.reservedBit[row * this.size + col]\n\t};\n\n\tmodule.exports = BitMatrix;\n\n\t},{\"../utils/buffer\":28}],6:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar Mode = require('./mode');\n\n\tfunction ByteData (data) {\n\t this.mode = Mode.BYTE;\n\t this.data = BufferUtil.from(data);\n\t}\n\n\tByteData.getBitsLength = function getBitsLength (length) {\n\t return length * 8\n\t};\n\n\tByteData.prototype.getLength = function getLength () {\n\t return this.data.length\n\t};\n\n\tByteData.prototype.getBitsLength = function getBitsLength () {\n\t return ByteData.getBitsLength(this.data.length)\n\t};\n\n\tByteData.prototype.write = function (bitBuffer) {\n\t for (var i = 0, l = this.data.length; i < l; i++) {\n\t bitBuffer.put(this.data[i], 8);\n\t }\n\t};\n\n\tmodule.exports = ByteData;\n\n\t},{\"../utils/buffer\":28,\"./mode\":14}],7:[function(require,module,exports){\n\tvar ECLevel = require('./error-correction-level');\r\n\r\n\tvar EC_BLOCKS_TABLE = [\r\n\t// L M Q H\r\n\t 1, 1, 1, 1,\r\n\t 1, 1, 1, 1,\r\n\t 1, 1, 2, 2,\r\n\t 1, 2, 2, 4,\r\n\t 1, 2, 4, 4,\r\n\t 2, 4, 4, 4,\r\n\t 2, 4, 6, 5,\r\n\t 2, 4, 6, 6,\r\n\t 2, 5, 8, 8,\r\n\t 4, 5, 8, 8,\r\n\t 4, 5, 8, 11,\r\n\t 4, 8, 10, 11,\r\n\t 4, 9, 12, 16,\r\n\t 4, 9, 16, 16,\r\n\t 6, 10, 12, 18,\r\n\t 6, 10, 17, 16,\r\n\t 6, 11, 16, 19,\r\n\t 6, 13, 18, 21,\r\n\t 7, 14, 21, 25,\r\n\t 8, 16, 20, 25,\r\n\t 8, 17, 23, 25,\r\n\t 9, 17, 23, 34,\r\n\t 9, 18, 25, 30,\r\n\t 10, 20, 27, 32,\r\n\t 12, 21, 29, 35,\r\n\t 12, 23, 34, 37,\r\n\t 12, 25, 34, 40,\r\n\t 13, 26, 35, 42,\r\n\t 14, 28, 38, 45,\r\n\t 15, 29, 40, 48,\r\n\t 16, 31, 43, 51,\r\n\t 17, 33, 45, 54,\r\n\t 18, 35, 48, 57,\r\n\t 19, 37, 51, 60,\r\n\t 19, 38, 53, 63,\r\n\t 20, 40, 56, 66,\r\n\t 21, 43, 59, 70,\r\n\t 22, 45, 62, 74,\r\n\t 24, 47, 65, 77,\r\n\t 25, 49, 68, 81\r\n\t];\r\n\r\n\tvar EC_CODEWORDS_TABLE = [\r\n\t// L M Q H\r\n\t 7, 10, 13, 17,\r\n\t 10, 16, 22, 28,\r\n\t 15, 26, 36, 44,\r\n\t 20, 36, 52, 64,\r\n\t 26, 48, 72, 88,\r\n\t 36, 64, 96, 112,\r\n\t 40, 72, 108, 130,\r\n\t 48, 88, 132, 156,\r\n\t 60, 110, 160, 192,\r\n\t 72, 130, 192, 224,\r\n\t 80, 150, 224, 264,\r\n\t 96, 176, 260, 308,\r\n\t 104, 198, 288, 352,\r\n\t 120, 216, 320, 384,\r\n\t 132, 240, 360, 432,\r\n\t 144, 280, 408, 480,\r\n\t 168, 308, 448, 532,\r\n\t 180, 338, 504, 588,\r\n\t 196, 364, 546, 650,\r\n\t 224, 416, 600, 700,\r\n\t 224, 442, 644, 750,\r\n\t 252, 476, 690, 816,\r\n\t 270, 504, 750, 900,\r\n\t 300, 560, 810, 960,\r\n\t 312, 588, 870, 1050,\r\n\t 336, 644, 952, 1110,\r\n\t 360, 700, 1020, 1200,\r\n\t 390, 728, 1050, 1260,\r\n\t 420, 784, 1140, 1350,\r\n\t 450, 812, 1200, 1440,\r\n\t 480, 868, 1290, 1530,\r\n\t 510, 924, 1350, 1620,\r\n\t 540, 980, 1440, 1710,\r\n\t 570, 1036, 1530, 1800,\r\n\t 570, 1064, 1590, 1890,\r\n\t 600, 1120, 1680, 1980,\r\n\t 630, 1204, 1770, 2100,\r\n\t 660, 1260, 1860, 2220,\r\n\t 720, 1316, 1950, 2310,\r\n\t 750, 1372, 2040, 2430\r\n\t];\r\n\r\n\t/**\r\n\t * Returns the number of error correction block that the QR Code should contain\r\n\t * for the specified version and error correction level.\r\n\t *\r\n\t * @param {Number} version QR Code version\r\n\t * @param {Number} errorCorrectionLevel Error correction level\r\n\t * @return {Number} Number of error correction blocks\r\n\t */\r\n\texports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n\t switch (errorCorrectionLevel) {\r\n\t case ECLevel.L:\r\n\t return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n\t case ECLevel.M:\r\n\t return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n\t case ECLevel.Q:\r\n\t return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n\t case ECLevel.H:\r\n\t return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n\t default:\r\n\t return undefined\r\n\t }\r\n\t};\r\n\r\n\t/**\r\n\t * Returns the number of error correction codewords to use for the specified\r\n\t * version and error correction level.\r\n\t *\r\n\t * @param {Number} version QR Code version\r\n\t * @param {Number} errorCorrectionLevel Error correction level\r\n\t * @return {Number} Number of error correction codewords\r\n\t */\r\n\texports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n\t switch (errorCorrectionLevel) {\r\n\t case ECLevel.L:\r\n\t return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n\t case ECLevel.M:\r\n\t return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n\t case ECLevel.Q:\r\n\t return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n\t case ECLevel.H:\r\n\t return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n\t default:\r\n\t return undefined\r\n\t }\r\n\t};\r\n\n\t},{\"./error-correction-level\":8}],8:[function(require,module,exports){\n\texports.L = { bit: 1 };\n\texports.M = { bit: 0 };\n\texports.Q = { bit: 3 };\n\texports.H = { bit: 2 };\n\n\tfunction fromString (string) {\n\t if (typeof string !== 'string') {\n\t throw new Error('Param is not a string')\n\t }\n\n\t var lcStr = string.toLowerCase();\n\n\t switch (lcStr) {\n\t case 'l':\n\t case 'low':\n\t return exports.L\n\n\t case 'm':\n\t case 'medium':\n\t return exports.M\n\n\t case 'q':\n\t case 'quartile':\n\t return exports.Q\n\n\t case 'h':\n\t case 'high':\n\t return exports.H\n\n\t default:\n\t throw new Error('Unknown EC Level: ' + string)\n\t }\n\t}\n\n\texports.isValid = function isValid (level) {\n\t return level && typeof level.bit !== 'undefined' &&\n\t level.bit >= 0 && level.bit < 4\n\t};\n\n\texports.from = function from (value, defaultValue) {\n\t if (exports.isValid(value)) {\n\t return value\n\t }\n\n\t try {\n\t return fromString(value)\n\t } catch (e) {\n\t return defaultValue\n\t }\n\t};\n\n\t},{}],9:[function(require,module,exports){\n\tvar getSymbolSize = require('./utils').getSymbolSize;\n\tvar FINDER_PATTERN_SIZE = 7;\n\n\t/**\n\t * Returns an array containing the positions of each finder pattern.\n\t * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n\t *\n\t * @param {Number} version QR Code version\n\t * @return {Array} Array of coordinates\n\t */\n\texports.getPositions = function getPositions (version) {\n\t var size = getSymbolSize(version);\n\n\t return [\n\t // top-left\n\t [0, 0],\n\t // top-right\n\t [size - FINDER_PATTERN_SIZE, 0],\n\t // bottom-left\n\t [0, size - FINDER_PATTERN_SIZE]\n\t ]\n\t};\n\n\t},{\"./utils\":21}],10:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\n\tvar G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0);\n\tvar G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1);\n\tvar G15_BCH = Utils.getBCHDigit(G15);\n\n\t/**\n\t * Returns format information with relative error correction bits\n\t *\n\t * The format information is a 15-bit sequence containing 5 data bits,\n\t * with 10 error correction bits calculated using the (15, 5) BCH code.\n\t *\n\t * @param {Number} errorCorrectionLevel Error correction level\n\t * @param {Number} mask Mask pattern\n\t * @return {Number} Encoded format information bits\n\t */\n\texports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n\t var data = ((errorCorrectionLevel.bit << 3) | mask);\n\t var d = data << 10;\n\n\t while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n\t d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH));\n\t }\n\n\t // xor final data with mask pattern in order to ensure that\n\t // no combination of Error Correction Level and data mask pattern\n\t // will result in an all-zero data string\n\t return ((data << 10) | d) ^ G15_MASK\n\t};\n\n\t},{\"./utils\":21}],11:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\n\tvar EXP_TABLE = BufferUtil.alloc(512);\n\tvar LOG_TABLE = BufferUtil.alloc(256)\n\t/**\n\t * Precompute the log and anti-log tables for faster computation later\n\t *\n\t * For each possible value in the galois field 2^8, we will pre-compute\n\t * the logarithm and anti-logarithm (exponential) of this value\n\t *\n\t * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n\t */\n\t;(function initTables () {\n\t var x = 1;\n\t for (var i = 0; i < 255; i++) {\n\t EXP_TABLE[i] = x;\n\t LOG_TABLE[x] = i;\n\n\t x <<= 1; // multiply by 2\n\n\t // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n\t // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n\t if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n\t x ^= 0x11D;\n\t }\n\t }\n\n\t // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n\t // stay inside the bounds (because we will mainly use this table for the multiplication of\n\t // two GF numbers, no more).\n\t // @see {@link mul}\n\t for (i = 255; i < 512; i++) {\n\t EXP_TABLE[i] = EXP_TABLE[i - 255];\n\t }\n\t}());\n\n\t/**\n\t * Returns log value of n inside Galois Field\n\t *\n\t * @param {Number} n\n\t * @return {Number}\n\t */\n\texports.log = function log (n) {\n\t if (n < 1) throw new Error('log(' + n + ')')\n\t return LOG_TABLE[n]\n\t};\n\n\t/**\n\t * Returns anti-log value of n inside Galois Field\n\t *\n\t * @param {Number} n\n\t * @return {Number}\n\t */\n\texports.exp = function exp (n) {\n\t return EXP_TABLE[n]\n\t};\n\n\t/**\n\t * Multiplies two number inside Galois Field\n\t *\n\t * @param {Number} x\n\t * @param {Number} y\n\t * @return {Number}\n\t */\n\texports.mul = function mul (x, y) {\n\t if (x === 0 || y === 0) return 0\n\n\t // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n\t // @see {@link initTables}\n\t return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n\t};\n\n\t},{\"../utils/buffer\":28}],12:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\tvar Utils = require('./utils');\n\n\tfunction KanjiData (data) {\n\t this.mode = Mode.KANJI;\n\t this.data = data;\n\t}\n\n\tKanjiData.getBitsLength = function getBitsLength (length) {\n\t return length * 13\n\t};\n\n\tKanjiData.prototype.getLength = function getLength () {\n\t return this.data.length\n\t};\n\n\tKanjiData.prototype.getBitsLength = function getBitsLength () {\n\t return KanjiData.getBitsLength(this.data.length)\n\t};\n\n\tKanjiData.prototype.write = function (bitBuffer) {\n\t var i;\n\n\t // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n\t // These byte values are shifted from the JIS X 0208 values.\n\t // JIS X 0208 gives details of the shift coded representation.\n\t for (i = 0; i < this.data.length; i++) {\n\t var value = Utils.toSJIS(this.data[i]);\n\n\t // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n\t if (value >= 0x8140 && value <= 0x9FFC) {\n\t // Subtract 0x8140 from Shift JIS value\n\t value -= 0x8140;\n\n\t // For characters with Shift JIS values from 0xE040 to 0xEBBF\n\t } else if (value >= 0xE040 && value <= 0xEBBF) {\n\t // Subtract 0xC140 from Shift JIS value\n\t value -= 0xC140;\n\t } else {\n\t throw new Error(\n\t 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n\t 'Make sure your charset is UTF-8')\n\t }\n\n\t // Multiply most significant byte of result by 0xC0\n\t // and add least significant byte to product\n\t value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff);\n\n\t // Convert result to a 13-bit binary string\n\t bitBuffer.put(value, 13);\n\t }\n\t};\n\n\tmodule.exports = KanjiData;\n\n\t},{\"./mode\":14,\"./utils\":21}],13:[function(require,module,exports){\n\t/**\n\t * Data mask pattern reference\n\t * @type {Object}\n\t */\n\texports.Patterns = {\n\t PATTERN000: 0,\n\t PATTERN001: 1,\n\t PATTERN010: 2,\n\t PATTERN011: 3,\n\t PATTERN100: 4,\n\t PATTERN101: 5,\n\t PATTERN110: 6,\n\t PATTERN111: 7\n\t};\n\n\t/**\n\t * Weighted penalty scores for the undesirable features\n\t * @type {Object}\n\t */\n\tvar PenaltyScores = {\n\t N1: 3,\n\t N2: 3,\n\t N3: 40,\n\t N4: 10\n\t};\n\n\t/**\n\t * Check if mask pattern value is valid\n\t *\n\t * @param {Number} mask Mask pattern\n\t * @return {Boolean} true if valid, false otherwise\n\t */\n\texports.isValid = function isValid (mask) {\n\t return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n\t};\n\n\t/**\n\t * Returns mask pattern from a value.\n\t * If value is not valid, returns undefined\n\t *\n\t * @param {Number|String} value Mask pattern value\n\t * @return {Number} Valid mask pattern or undefined\n\t */\n\texports.from = function from (value) {\n\t return exports.isValid(value) ? parseInt(value, 10) : undefined\n\t};\n\n\t/**\n\t* Find adjacent modules in row/column with the same color\n\t* and assign a penalty value.\n\t*\n\t* Points: N1 + i\n\t* i is the amount by which the number of adjacent modules of the same color exceeds 5\n\t*/\n\texports.getPenaltyN1 = function getPenaltyN1 (data) {\n\t var size = data.size;\n\t var points = 0;\n\t var sameCountCol = 0;\n\t var sameCountRow = 0;\n\t var lastCol = null;\n\t var lastRow = null;\n\n\t for (var row = 0; row < size; row++) {\n\t sameCountCol = sameCountRow = 0;\n\t lastCol = lastRow = null;\n\n\t for (var col = 0; col < size; col++) {\n\t var module = data.get(row, col);\n\t if (module === lastCol) {\n\t sameCountCol++;\n\t } else {\n\t if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n\t lastCol = module;\n\t sameCountCol = 1;\n\t }\n\n\t module = data.get(col, row);\n\t if (module === lastRow) {\n\t sameCountRow++;\n\t } else {\n\t if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n\t lastRow = module;\n\t sameCountRow = 1;\n\t }\n\t }\n\n\t if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n\t if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n\t }\n\n\t return points\n\t};\n\n\t/**\n\t * Find 2x2 blocks with the same color and assign a penalty value\n\t *\n\t * Points: N2 * (m - 1) * (n - 1)\n\t */\n\texports.getPenaltyN2 = function getPenaltyN2 (data) {\n\t var size = data.size;\n\t var points = 0;\n\n\t for (var row = 0; row < size - 1; row++) {\n\t for (var col = 0; col < size - 1; col++) {\n\t var last = data.get(row, col) +\n\t data.get(row, col + 1) +\n\t data.get(row + 1, col) +\n\t data.get(row + 1, col + 1);\n\n\t if (last === 4 || last === 0) points++;\n\t }\n\t }\n\n\t return points * PenaltyScores.N2\n\t};\n\n\t/**\n\t * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n\t * preceded or followed by light area 4 modules wide\n\t *\n\t * Points: N3 * number of pattern found\n\t */\n\texports.getPenaltyN3 = function getPenaltyN3 (data) {\n\t var size = data.size;\n\t var points = 0;\n\t var bitsCol = 0;\n\t var bitsRow = 0;\n\n\t for (var row = 0; row < size; row++) {\n\t bitsCol = bitsRow = 0;\n\t for (var col = 0; col < size; col++) {\n\t bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col);\n\t if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++;\n\n\t bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row);\n\t if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++;\n\t }\n\t }\n\n\t return points * PenaltyScores.N3\n\t};\n\n\t/**\n\t * Calculate proportion of dark modules in entire symbol\n\t *\n\t * Points: N4 * k\n\t *\n\t * k is the rating of the deviation of the proportion of dark modules\n\t * in the symbol from 50% in steps of 5%\n\t */\n\texports.getPenaltyN4 = function getPenaltyN4 (data) {\n\t var darkCount = 0;\n\t var modulesCount = data.data.length;\n\n\t for (var i = 0; i < modulesCount; i++) darkCount += data.data[i];\n\n\t var k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10);\n\n\t return k * PenaltyScores.N4\n\t};\n\n\t/**\n\t * Return mask value at given position\n\t *\n\t * @param {Number} maskPattern Pattern reference value\n\t * @param {Number} i Row\n\t * @param {Number} j Column\n\t * @return {Boolean} Mask value\n\t */\n\tfunction getMaskAt (maskPattern, i, j) {\n\t switch (maskPattern) {\n\t case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n\t case exports.Patterns.PATTERN001: return i % 2 === 0\n\t case exports.Patterns.PATTERN010: return j % 3 === 0\n\t case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n\t case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n\t case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n\t case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n\t case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n\t default: throw new Error('bad maskPattern:' + maskPattern)\n\t }\n\t}\n\n\t/**\n\t * Apply a mask pattern to a BitMatrix\n\t *\n\t * @param {Number} pattern Pattern reference number\n\t * @param {BitMatrix} data BitMatrix data\n\t */\n\texports.applyMask = function applyMask (pattern, data) {\n\t var size = data.size;\n\n\t for (var col = 0; col < size; col++) {\n\t for (var row = 0; row < size; row++) {\n\t if (data.isReserved(row, col)) continue\n\t data.xor(row, col, getMaskAt(pattern, row, col));\n\t }\n\t }\n\t};\n\n\t/**\n\t * Returns the best mask pattern for data\n\t *\n\t * @param {BitMatrix} data\n\t * @return {Number} Mask pattern reference number\n\t */\n\texports.getBestMask = function getBestMask (data, setupFormatFunc) {\n\t var numPatterns = Object.keys(exports.Patterns).length;\n\t var bestPattern = 0;\n\t var lowerPenalty = Infinity;\n\n\t for (var p = 0; p < numPatterns; p++) {\n\t setupFormatFunc(p);\n\t exports.applyMask(p, data);\n\n\t // Calculate penalty\n\t var penalty =\n\t exports.getPenaltyN1(data) +\n\t exports.getPenaltyN2(data) +\n\t exports.getPenaltyN3(data) +\n\t exports.getPenaltyN4(data);\n\n\t // Undo previously applied mask\n\t exports.applyMask(p, data);\n\n\t if (penalty < lowerPenalty) {\n\t lowerPenalty = penalty;\n\t bestPattern = p;\n\t }\n\t }\n\n\t return bestPattern\n\t};\n\n\t},{}],14:[function(require,module,exports){\n\tvar VersionCheck = require('./version-check');\n\tvar Regex = require('./regex');\n\n\t/**\n\t * Numeric mode encodes data from the decimal digit set (0 - 9)\n\t * (byte values 30HEX to 39HEX).\n\t * Normally, 3 data characters are represented by 10 bits.\n\t *\n\t * @type {Object}\n\t */\n\texports.NUMERIC = {\n\t id: 'Numeric',\n\t bit: 1 << 0,\n\t ccBits: [10, 12, 14]\n\t};\n\n\t/**\n\t * Alphanumeric mode encodes data from a set of 45 characters,\n\t * i.e. 10 numeric digits (0 - 9),\n\t * 26 alphabetic characters (A - Z),\n\t * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n\t * Normally, two input characters are represented by 11 bits.\n\t *\n\t * @type {Object}\n\t */\n\texports.ALPHANUMERIC = {\n\t id: 'Alphanumeric',\n\t bit: 1 << 1,\n\t ccBits: [9, 11, 13]\n\t};\n\n\t/**\n\t * In byte mode, data is encoded at 8 bits per character.\n\t *\n\t * @type {Object}\n\t */\n\texports.BYTE = {\n\t id: 'Byte',\n\t bit: 1 << 2,\n\t ccBits: [8, 16, 16]\n\t};\n\n\t/**\n\t * The Kanji mode efficiently encodes Kanji characters in accordance with\n\t * the Shift JIS system based on JIS X 0208.\n\t * The Shift JIS values are shifted from the JIS X 0208 values.\n\t * JIS X 0208 gives details of the shift coded representation.\n\t * Each two-byte character value is compacted to a 13-bit binary codeword.\n\t *\n\t * @type {Object}\n\t */\n\texports.KANJI = {\n\t id: 'Kanji',\n\t bit: 1 << 3,\n\t ccBits: [8, 10, 12]\n\t};\n\n\t/**\n\t * Mixed mode will contain a sequences of data in a combination of any of\n\t * the modes described above\n\t *\n\t * @type {Object}\n\t */\n\texports.MIXED = {\n\t bit: -1\n\t};\n\n\t/**\n\t * Returns the number of bits needed to store the data length\n\t * according to QR Code specifications.\n\t *\n\t * @param {Mode} mode Data mode\n\t * @param {Number} version QR Code version\n\t * @return {Number} Number of bits\n\t */\n\texports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n\t if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n\t if (!VersionCheck.isValid(version)) {\n\t throw new Error('Invalid version: ' + version)\n\t }\n\n\t if (version >= 1 && version < 10) return mode.ccBits[0]\n\t else if (version < 27) return mode.ccBits[1]\n\t return mode.ccBits[2]\n\t};\n\n\t/**\n\t * Returns the most efficient mode to store the specified data\n\t *\n\t * @param {String} dataStr Input data string\n\t * @return {Mode} Best mode\n\t */\n\texports.getBestModeForData = function getBestModeForData (dataStr) {\n\t if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n\t else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n\t else if (Regex.testKanji(dataStr)) return exports.KANJI\n\t else return exports.BYTE\n\t};\n\n\t/**\n\t * Return mode name as string\n\t *\n\t * @param {Mode} mode Mode object\n\t * @returns {String} Mode name\n\t */\n\texports.toString = function toString (mode) {\n\t if (mode && mode.id) return mode.id\n\t throw new Error('Invalid mode')\n\t};\n\n\t/**\n\t * Check if input param is a valid mode object\n\t *\n\t * @param {Mode} mode Mode object\n\t * @returns {Boolean} True if valid mode, false otherwise\n\t */\n\texports.isValid = function isValid (mode) {\n\t return mode && mode.bit && mode.ccBits\n\t};\n\n\t/**\n\t * Get mode object from its name\n\t *\n\t * @param {String} string Mode name\n\t * @returns {Mode} Mode object\n\t */\n\tfunction fromString (string) {\n\t if (typeof string !== 'string') {\n\t throw new Error('Param is not a string')\n\t }\n\n\t var lcStr = string.toLowerCase();\n\n\t switch (lcStr) {\n\t case 'numeric':\n\t return exports.NUMERIC\n\t case 'alphanumeric':\n\t return exports.ALPHANUMERIC\n\t case 'kanji':\n\t return exports.KANJI\n\t case 'byte':\n\t return exports.BYTE\n\t default:\n\t throw new Error('Unknown mode: ' + string)\n\t }\n\t}\n\n\t/**\n\t * Returns mode from a value.\n\t * If value is not a valid mode, returns defaultValue\n\t *\n\t * @param {Mode|String} value Encoding mode\n\t * @param {Mode} defaultValue Fallback value\n\t * @return {Mode} Encoding mode\n\t */\n\texports.from = function from (value, defaultValue) {\n\t if (exports.isValid(value)) {\n\t return value\n\t }\n\n\t try {\n\t return fromString(value)\n\t } catch (e) {\n\t return defaultValue\n\t }\n\t};\n\n\t},{\"./regex\":19,\"./version-check\":22}],15:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\n\tfunction NumericData (data) {\n\t this.mode = Mode.NUMERIC;\n\t this.data = data.toString();\n\t}\n\n\tNumericData.getBitsLength = function getBitsLength (length) {\n\t return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n\t};\n\n\tNumericData.prototype.getLength = function getLength () {\n\t return this.data.length\n\t};\n\n\tNumericData.prototype.getBitsLength = function getBitsLength () {\n\t return NumericData.getBitsLength(this.data.length)\n\t};\n\n\tNumericData.prototype.write = function write (bitBuffer) {\n\t var i, group, value;\n\n\t // The input data string is divided into groups of three digits,\n\t // and each group is converted to its 10-bit binary equivalent.\n\t for (i = 0; i + 3 <= this.data.length; i += 3) {\n\t group = this.data.substr(i, 3);\n\t value = parseInt(group, 10);\n\n\t bitBuffer.put(value, 10);\n\t }\n\n\t // If the number of input digits is not an exact multiple of three,\n\t // the final one or two digits are converted to 4 or 7 bits respectively.\n\t var remainingNum = this.data.length - i;\n\t if (remainingNum > 0) {\n\t group = this.data.substr(i);\n\t value = parseInt(group, 10);\n\n\t bitBuffer.put(value, remainingNum * 3 + 1);\n\t }\n\t};\n\n\tmodule.exports = NumericData;\n\n\t},{\"./mode\":14}],16:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar GF = require('./galois-field');\n\n\t/**\n\t * Multiplies two polynomials inside Galois Field\n\t *\n\t * @param {Buffer} p1 Polynomial\n\t * @param {Buffer} p2 Polynomial\n\t * @return {Buffer} Product of p1 and p2\n\t */\n\texports.mul = function mul (p1, p2) {\n\t var coeff = BufferUtil.alloc(p1.length + p2.length - 1);\n\n\t for (var i = 0; i < p1.length; i++) {\n\t for (var j = 0; j < p2.length; j++) {\n\t coeff[i + j] ^= GF.mul(p1[i], p2[j]);\n\t }\n\t }\n\n\t return coeff\n\t};\n\n\t/**\n\t * Calculate the remainder of polynomials division\n\t *\n\t * @param {Buffer} divident Polynomial\n\t * @param {Buffer} divisor Polynomial\n\t * @return {Buffer} Remainder\n\t */\n\texports.mod = function mod (divident, divisor) {\n\t var result = BufferUtil.from(divident);\n\n\t while ((result.length - divisor.length) >= 0) {\n\t var coeff = result[0];\n\n\t for (var i = 0; i < divisor.length; i++) {\n\t result[i] ^= GF.mul(divisor[i], coeff);\n\t }\n\n\t // remove all zeros from buffer head\n\t var offset = 0;\n\t while (offset < result.length && result[offset] === 0) offset++;\n\t result = result.slice(offset);\n\t }\n\n\t return result\n\t};\n\n\t/**\n\t * Generate an irreducible generator polynomial of specified degree\n\t * (used by Reed-Solomon encoder)\n\t *\n\t * @param {Number} degree Degree of the generator polynomial\n\t * @return {Buffer} Buffer containing polynomial coefficients\n\t */\n\texports.generateECPolynomial = function generateECPolynomial (degree) {\n\t var poly = BufferUtil.from([1]);\n\t for (var i = 0; i < degree; i++) {\n\t poly = exports.mul(poly, [1, GF.exp(i)]);\n\t }\n\n\t return poly\n\t};\n\n\t},{\"../utils/buffer\":28,\"./galois-field\":11}],17:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar Utils = require('./utils');\n\tvar ECLevel = require('./error-correction-level');\n\tvar BitBuffer = require('./bit-buffer');\n\tvar BitMatrix = require('./bit-matrix');\n\tvar AlignmentPattern = require('./alignment-pattern');\n\tvar FinderPattern = require('./finder-pattern');\n\tvar MaskPattern = require('./mask-pattern');\n\tvar ECCode = require('./error-correction-code');\n\tvar ReedSolomonEncoder = require('./reed-solomon-encoder');\n\tvar Version = require('./version');\n\tvar FormatInfo = require('./format-info');\n\tvar Mode = require('./mode');\n\tvar Segments = require('./segments');\n\tvar isArray = require('isarray');\n\n\t/**\n\t * QRCode for JavaScript\n\t *\n\t * modified by Ryan Day for nodejs support\n\t * Copyright (c) 2011 Ryan Day\n\t *\n\t * Licensed under the MIT license:\n\t * http://www.opensource.org/licenses/mit-license.php\n\t *\n\t//---------------------------------------------------------------------\n\t// QRCode for JavaScript\n\t//\n\t// Copyright (c) 2009 Kazuhiko Arase\n\t//\n\t// URL: http://www.d-project.com/\n\t//\n\t// Licensed under the MIT license:\n\t// http://www.opensource.org/licenses/mit-license.php\n\t//\n\t// The word \"QR Code\" is registered trademark of\n\t// DENSO WAVE INCORPORATED\n\t// http://www.denso-wave.com/qrcode/faqpatent-e.html\n\t//\n\t//---------------------------------------------------------------------\n\t*/\n\n\t/**\n\t * Add finder patterns bits to matrix\n\t *\n\t * @param {BitMatrix} matrix Modules matrix\n\t * @param {Number} version QR Code version\n\t */\n\tfunction setupFinderPattern (matrix, version) {\n\t var size = matrix.size;\n\t var pos = FinderPattern.getPositions(version);\n\n\t for (var i = 0; i < pos.length; i++) {\n\t var row = pos[i][0];\n\t var col = pos[i][1];\n\n\t for (var r = -1; r <= 7; r++) {\n\t if (row + r <= -1 || size <= row + r) continue\n\n\t for (var c = -1; c <= 7; c++) {\n\t if (col + c <= -1 || size <= col + c) continue\n\n\t if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n\t (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n\t (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n\t matrix.set(row + r, col + c, true, true);\n\t } else {\n\t matrix.set(row + r, col + c, false, true);\n\t }\n\t }\n\t }\n\t }\n\t}\n\n\t/**\n\t * Add timing pattern bits to matrix\n\t *\n\t * Note: this function must be called before {@link setupAlignmentPattern}\n\t *\n\t * @param {BitMatrix} matrix Modules matrix\n\t */\n\tfunction setupTimingPattern (matrix) {\n\t var size = matrix.size;\n\n\t for (var r = 8; r < size - 8; r++) {\n\t var value = r % 2 === 0;\n\t matrix.set(r, 6, value, true);\n\t matrix.set(6, r, value, true);\n\t }\n\t}\n\n\t/**\n\t * Add alignment patterns bits to matrix\n\t *\n\t * Note: this function must be called after {@link setupTimingPattern}\n\t *\n\t * @param {BitMatrix} matrix Modules matrix\n\t * @param {Number} version QR Code version\n\t */\n\tfunction setupAlignmentPattern (matrix, version) {\n\t var pos = AlignmentPattern.getPositions(version);\n\n\t for (var i = 0; i < pos.length; i++) {\n\t var row = pos[i][0];\n\t var col = pos[i][1];\n\n\t for (var r = -2; r <= 2; r++) {\n\t for (var c = -2; c <= 2; c++) {\n\t if (r === -2 || r === 2 || c === -2 || c === 2 ||\n\t (r === 0 && c === 0)) {\n\t matrix.set(row + r, col + c, true, true);\n\t } else {\n\t matrix.set(row + r, col + c, false, true);\n\t }\n\t }\n\t }\n\t }\n\t}\n\n\t/**\n\t * Add version info bits to matrix\n\t *\n\t * @param {BitMatrix} matrix Modules matrix\n\t * @param {Number} version QR Code version\n\t */\n\tfunction setupVersionInfo (matrix, version) {\n\t var size = matrix.size;\n\t var bits = Version.getEncodedBits(version);\n\t var row, col, mod;\n\n\t for (var i = 0; i < 18; i++) {\n\t row = Math.floor(i / 3);\n\t col = i % 3 + size - 8 - 3;\n\t mod = ((bits >> i) & 1) === 1;\n\n\t matrix.set(row, col, mod, true);\n\t matrix.set(col, row, mod, true);\n\t }\n\t}\n\n\t/**\n\t * Add format info bits to matrix\n\t *\n\t * @param {BitMatrix} matrix Modules matrix\n\t * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n\t * @param {Number} maskPattern Mask pattern reference value\n\t */\n\tfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n\t var size = matrix.size;\n\t var bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern);\n\t var i, mod;\n\n\t for (i = 0; i < 15; i++) {\n\t mod = ((bits >> i) & 1) === 1;\n\n\t // vertical\n\t if (i < 6) {\n\t matrix.set(i, 8, mod, true);\n\t } else if (i < 8) {\n\t matrix.set(i + 1, 8, mod, true);\n\t } else {\n\t matrix.set(size - 15 + i, 8, mod, true);\n\t }\n\n\t // horizontal\n\t if (i < 8) {\n\t matrix.set(8, size - i - 1, mod, true);\n\t } else if (i < 9) {\n\t matrix.set(8, 15 - i - 1 + 1, mod, true);\n\t } else {\n\t matrix.set(8, 15 - i - 1, mod, true);\n\t }\n\t }\n\n\t // fixed module\n\t matrix.set(size - 8, 8, 1, true);\n\t}\n\n\t/**\n\t * Add encoded data bits to matrix\n\t *\n\t * @param {BitMatrix} matrix Modules matrix\n\t * @param {Buffer} data Data codewords\n\t */\n\tfunction setupData (matrix, data) {\n\t var size = matrix.size;\n\t var inc = -1;\n\t var row = size - 1;\n\t var bitIndex = 7;\n\t var byteIndex = 0;\n\n\t for (var col = size - 1; col > 0; col -= 2) {\n\t if (col === 6) col--;\n\n\t while (true) {\n\t for (var c = 0; c < 2; c++) {\n\t if (!matrix.isReserved(row, col - c)) {\n\t var dark = false;\n\n\t if (byteIndex < data.length) {\n\t dark = (((data[byteIndex] >>> bitIndex) & 1) === 1);\n\t }\n\n\t matrix.set(row, col - c, dark);\n\t bitIndex--;\n\n\t if (bitIndex === -1) {\n\t byteIndex++;\n\t bitIndex = 7;\n\t }\n\t }\n\t }\n\n\t row += inc;\n\n\t if (row < 0 || size <= row) {\n\t row -= inc;\n\t inc = -inc;\n\t break\n\t }\n\t }\n\t }\n\t}\n\n\t/**\n\t * Create encoded codewords from data input\n\t *\n\t * @param {Number} version QR Code version\n\t * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n\t * @param {ByteData} data Data input\n\t * @return {Buffer} Buffer containing encoded codewords\n\t */\n\tfunction createData (version, errorCorrectionLevel, segments) {\n\t // Prepare data buffer\n\t var buffer = new BitBuffer();\n\n\t segments.forEach(function (data) {\n\t // prefix data with mode indicator (4 bits)\n\t buffer.put(data.mode.bit, 4);\n\n\t // Prefix data with character count indicator.\n\t // The character count indicator is a string of bits that represents the\n\t // number of characters that are being encoded.\n\t // The character count indicator must be placed after the mode indicator\n\t // and must be a certain number of bits long, depending on the QR version\n\t // and data mode\n\t // @see {@link Mode.getCharCountIndicator}.\n\t buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version));\n\n\t // add binary data sequence to buffer\n\t data.write(buffer);\n\t });\n\n\t // Calculate required number of bits\n\t var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\t var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\t var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n\t // Add a terminator.\n\t // If the bit string is shorter than the total number of required bits,\n\t // a terminator of up to four 0s must be added to the right side of the string.\n\t // If the bit string is more than four bits shorter than the required number of bits,\n\t // add four 0s to the end.\n\t if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n\t buffer.put(0, 4);\n\t }\n\n\t // If the bit string is fewer than four bits shorter, add only the number of 0s that\n\t // are needed to reach the required number of bits.\n\n\t // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n\t // pad the string on the right with 0s to make the string's length a multiple of 8.\n\t while (buffer.getLengthInBits() % 8 !== 0) {\n\t buffer.putBit(0);\n\t }\n\n\t // Add pad bytes if the string is still shorter than the total number of required bits.\n\t // Extend the buffer to fill the data capacity of the symbol corresponding to\n\t // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n\t // and 00010001 (0x11) alternately.\n\t var remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8;\n\t for (var i = 0; i < remainingByte; i++) {\n\t buffer.put(i % 2 ? 0x11 : 0xEC, 8);\n\t }\n\n\t return createCodewords(buffer, version, errorCorrectionLevel)\n\t}\n\n\t/**\n\t * Encode input data with Reed-Solomon and return codewords with\n\t * relative error correction bits\n\t *\n\t * @param {BitBuffer} bitBuffer Data to encode\n\t * @param {Number} version QR Code version\n\t * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n\t * @return {Buffer} Buffer containing encoded codewords\n\t */\n\tfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n\t // Total codewords for this QR code version (Data + Error correction)\n\t var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n\t // Total number of error correction codewords\n\t var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n\t // Total number of data codewords\n\t var dataTotalCodewords = totalCodewords - ecTotalCodewords;\n\n\t // Total number of blocks\n\t var ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel);\n\n\t // Calculate how many blocks each group should contain\n\t var blocksInGroup2 = totalCodewords % ecTotalBlocks;\n\t var blocksInGroup1 = ecTotalBlocks - blocksInGroup2;\n\n\t var totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks);\n\n\t var dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks);\n\t var dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1;\n\n\t // Number of EC codewords is the same for both groups\n\t var ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1;\n\n\t // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n\t var rs = new ReedSolomonEncoder(ecCount);\n\n\t var offset = 0;\n\t var dcData = new Array(ecTotalBlocks);\n\t var ecData = new Array(ecTotalBlocks);\n\t var maxDataSize = 0;\n\t var buffer = BufferUtil.from(bitBuffer.buffer);\n\n\t // Divide the buffer into the required number of blocks\n\t for (var b = 0; b < ecTotalBlocks; b++) {\n\t var dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2;\n\n\t // extract a block of data from buffer\n\t dcData[b] = buffer.slice(offset, offset + dataSize);\n\n\t // Calculate EC codewords for this data block\n\t ecData[b] = rs.encode(dcData[b]);\n\n\t offset += dataSize;\n\t maxDataSize = Math.max(maxDataSize, dataSize);\n\t }\n\n\t // Create final data\n\t // Interleave the data and error correction codewords from each block\n\t var data = BufferUtil.alloc(totalCodewords);\n\t var index = 0;\n\t var i, r;\n\n\t // Add data codewords\n\t for (i = 0; i < maxDataSize; i++) {\n\t for (r = 0; r < ecTotalBlocks; r++) {\n\t if (i < dcData[r].length) {\n\t data[index++] = dcData[r][i];\n\t }\n\t }\n\t }\n\n\t // Apped EC codewords\n\t for (i = 0; i < ecCount; i++) {\n\t for (r = 0; r < ecTotalBlocks; r++) {\n\t data[index++] = ecData[r][i];\n\t }\n\t }\n\n\t return data\n\t}\n\n\t/**\n\t * Build QR Code symbol\n\t *\n\t * @param {String} data Input string\n\t * @param {Number} version QR Code version\n\t * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n\t * @param {MaskPattern} maskPattern Mask pattern\n\t * @return {Object} Object containing symbol data\n\t */\n\tfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n\t var segments;\n\n\t if (isArray(data)) {\n\t segments = Segments.fromArray(data);\n\t } else if (typeof data === 'string') {\n\t var estimatedVersion = version;\n\n\t if (!estimatedVersion) {\n\t var rawSegments = Segments.rawSplit(data);\n\n\t // Estimate best version that can contain raw splitted segments\n\t estimatedVersion = Version.getBestVersionForData(rawSegments,\n\t errorCorrectionLevel);\n\t }\n\n\t // Build optimized segments\n\t // If estimated version is undefined, try with the highest version\n\t segments = Segments.fromString(data, estimatedVersion || 40);\n\t } else {\n\t throw new Error('Invalid data')\n\t }\n\n\t // Get the min version that can contain data\n\t var bestVersion = Version.getBestVersionForData(segments,\n\t errorCorrectionLevel);\n\n\t // If no version is found, data cannot be stored\n\t if (!bestVersion) {\n\t throw new Error('The amount of data is too big to be stored in a QR Code')\n\t }\n\n\t // If not specified, use min version as default\n\t if (!version) {\n\t version = bestVersion;\n\n\t // Check if the specified version can contain the data\n\t } else if (version < bestVersion) {\n\t throw new Error('\\n' +\n\t 'The chosen QR Code version cannot contain this amount of data.\\n' +\n\t 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n\t )\n\t }\n\n\t var dataBits = createData(version, errorCorrectionLevel, segments);\n\n\t // Allocate matrix buffer\n\t var moduleCount = Utils.getSymbolSize(version);\n\t var modules = new BitMatrix(moduleCount);\n\n\t // Add function modules\n\t setupFinderPattern(modules, version);\n\t setupTimingPattern(modules);\n\t setupAlignmentPattern(modules, version);\n\n\t // Add temporary dummy bits for format info just to set them as reserved.\n\t // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n\t // since the masking operation must be performed only on the encoding region.\n\t // These blocks will be replaced with correct values later in code.\n\t setupFormatInfo(modules, errorCorrectionLevel, 0);\n\n\t if (version >= 7) {\n\t setupVersionInfo(modules, version);\n\t }\n\n\t // Add data codewords\n\t setupData(modules, dataBits);\n\n\t if (isNaN(maskPattern)) {\n\t // Find best mask pattern\n\t maskPattern = MaskPattern.getBestMask(modules,\n\t setupFormatInfo.bind(null, modules, errorCorrectionLevel));\n\t }\n\n\t // Apply mask pattern\n\t MaskPattern.applyMask(maskPattern, modules);\n\n\t // Replace format info bits with correct values\n\t setupFormatInfo(modules, errorCorrectionLevel, maskPattern);\n\n\t return {\n\t modules: modules,\n\t version: version,\n\t errorCorrectionLevel: errorCorrectionLevel,\n\t maskPattern: maskPattern,\n\t segments: segments\n\t }\n\t}\n\n\t/**\n\t * QR Code\n\t *\n\t * @param {String | Array} data Input data\n\t * @param {Object} options Optional configurations\n\t * @param {Number} options.version QR Code version\n\t * @param {String} options.errorCorrectionLevel Error correction level\n\t * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n\t */\n\texports.create = function create (data, options) {\n\t if (typeof data === 'undefined' || data === '') {\n\t throw new Error('No input text')\n\t }\n\n\t var errorCorrectionLevel = ECLevel.M;\n\t var version;\n\t var mask;\n\n\t if (typeof options !== 'undefined') {\n\t // Use higher error correction level as default\n\t errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M);\n\t version = Version.from(options.version);\n\t mask = MaskPattern.from(options.maskPattern);\n\n\t if (options.toSJISFunc) {\n\t Utils.setToSJISFunction(options.toSJISFunc);\n\t }\n\t }\n\n\t return createSymbol(data, version, errorCorrectionLevel, mask)\n\t};\n\n\t},{\"../utils/buffer\":28,\"./alignment-pattern\":2,\"./bit-buffer\":4,\"./bit-matrix\":5,\"./error-correction-code\":7,\"./error-correction-level\":8,\"./finder-pattern\":9,\"./format-info\":10,\"./mask-pattern\":13,\"./mode\":14,\"./reed-solomon-encoder\":18,\"./segments\":20,\"./utils\":21,\"./version\":23,\"isarray\":33}],18:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar Polynomial = require('./polynomial');\n\tvar Buffer = require('buffer').Buffer;\n\n\tfunction ReedSolomonEncoder (degree) {\n\t this.genPoly = undefined;\n\t this.degree = degree;\n\n\t if (this.degree) this.initialize(this.degree);\n\t}\n\n\t/**\n\t * Initialize the encoder.\n\t * The input param should correspond to the number of error correction codewords.\n\t *\n\t * @param {Number} degree\n\t */\n\tReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n\t // create an irreducible generator polynomial\n\t this.degree = degree;\n\t this.genPoly = Polynomial.generateECPolynomial(this.degree);\n\t};\n\n\t/**\n\t * Encodes a chunk of data\n\t *\n\t * @param {Buffer} data Buffer containing input data\n\t * @return {Buffer} Buffer containing encoded data\n\t */\n\tReedSolomonEncoder.prototype.encode = function encode (data) {\n\t if (!this.genPoly) {\n\t throw new Error('Encoder not initialized')\n\t }\n\n\t // Calculate EC for this data block\n\t // extends data size to data+genPoly size\n\t var pad = BufferUtil.alloc(this.degree);\n\t var paddedData = Buffer.concat([data, pad], data.length + this.degree);\n\n\t // The error correction codewords are the remainder after dividing the data codewords\n\t // by a generator polynomial\n\t var remainder = Polynomial.mod(paddedData, this.genPoly);\n\n\t // return EC data blocks (last n byte, where n is the degree of genPoly)\n\t // If coefficients number in remainder are less than genPoly degree,\n\t // pad with 0s to the left to reach the needed number of coefficients\n\t var start = this.degree - remainder.length;\n\t if (start > 0) {\n\t var buff = BufferUtil.alloc(this.degree);\n\t remainder.copy(buff, start);\n\n\t return buff\n\t }\n\n\t return remainder\n\t};\n\n\tmodule.exports = ReedSolomonEncoder;\n\n\t},{\"../utils/buffer\":28,\"./polynomial\":16,\"buffer\":30}],19:[function(require,module,exports){\n\tvar numeric = '[0-9]+';\n\tvar alphanumeric = '[A-Z $%*+\\\\-./:]+';\n\tvar kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n\t '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n\t '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n\t '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+';\n\tkanji = kanji.replace(/u/g, '\\\\u');\n\n\tvar byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+';\n\n\texports.KANJI = new RegExp(kanji, 'g');\n\texports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g');\n\texports.BYTE = new RegExp(byte, 'g');\n\texports.NUMERIC = new RegExp(numeric, 'g');\n\texports.ALPHANUMERIC = new RegExp(alphanumeric, 'g');\n\n\tvar TEST_KANJI = new RegExp('^' + kanji + '$');\n\tvar TEST_NUMERIC = new RegExp('^' + numeric + '$');\n\tvar TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$');\n\n\texports.testKanji = function testKanji (str) {\n\t return TEST_KANJI.test(str)\n\t};\n\n\texports.testNumeric = function testNumeric (str) {\n\t return TEST_NUMERIC.test(str)\n\t};\n\n\texports.testAlphanumeric = function testAlphanumeric (str) {\n\t return TEST_ALPHANUMERIC.test(str)\n\t};\n\n\t},{}],20:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\tvar NumericData = require('./numeric-data');\n\tvar AlphanumericData = require('./alphanumeric-data');\n\tvar ByteData = require('./byte-data');\n\tvar KanjiData = require('./kanji-data');\n\tvar Regex = require('./regex');\n\tvar Utils = require('./utils');\n\tvar dijkstra = require('dijkstrajs');\n\n\t/**\n\t * Returns UTF8 byte length\n\t *\n\t * @param {String} str Input string\n\t * @return {Number} Number of byte\n\t */\n\tfunction getStringByteLength (str) {\n\t return unescape(encodeURIComponent(str)).length\n\t}\n\n\t/**\n\t * Get a list of segments of the specified mode\n\t * from a string\n\t *\n\t * @param {Mode} mode Segment mode\n\t * @param {String} str String to process\n\t * @return {Array} Array of object with segments data\n\t */\n\tfunction getSegments (regex, mode, str) {\n\t var segments = [];\n\t var result;\n\n\t while ((result = regex.exec(str)) !== null) {\n\t segments.push({\n\t data: result[0],\n\t index: result.index,\n\t mode: mode,\n\t length: result[0].length\n\t });\n\t }\n\n\t return segments\n\t}\n\n\t/**\n\t * Extracts a series of segments with the appropriate\n\t * modes from a string\n\t *\n\t * @param {String} dataStr Input string\n\t * @return {Array} Array of object with segments data\n\t */\n\tfunction getSegmentsFromString (dataStr) {\n\t var numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr);\n\t var alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr);\n\t var byteSegs;\n\t var kanjiSegs;\n\n\t if (Utils.isKanjiModeEnabled()) {\n\t byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr);\n\t kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr);\n\t } else {\n\t byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr);\n\t kanjiSegs = [];\n\t }\n\n\t var segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs);\n\n\t return segs\n\t .sort(function (s1, s2) {\n\t return s1.index - s2.index\n\t })\n\t .map(function (obj) {\n\t return {\n\t data: obj.data,\n\t mode: obj.mode,\n\t length: obj.length\n\t }\n\t })\n\t}\n\n\t/**\n\t * Returns how many bits are needed to encode a string of\n\t * specified length with the specified mode\n\t *\n\t * @param {Number} length String length\n\t * @param {Mode} mode Segment mode\n\t * @return {Number} Bit length\n\t */\n\tfunction getSegmentBitsLength (length, mode) {\n\t switch (mode) {\n\t case Mode.NUMERIC:\n\t return NumericData.getBitsLength(length)\n\t case Mode.ALPHANUMERIC:\n\t return AlphanumericData.getBitsLength(length)\n\t case Mode.KANJI:\n\t return KanjiData.getBitsLength(length)\n\t case Mode.BYTE:\n\t return ByteData.getBitsLength(length)\n\t }\n\t}\n\n\t/**\n\t * Merges adjacent segments which have the same mode\n\t *\n\t * @param {Array} segs Array of object with segments data\n\t * @return {Array} Array of object with segments data\n\t */\n\tfunction mergeSegments (segs) {\n\t return segs.reduce(function (acc, curr) {\n\t var prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null;\n\t if (prevSeg && prevSeg.mode === curr.mode) {\n\t acc[acc.length - 1].data += curr.data;\n\t return acc\n\t }\n\n\t acc.push(curr);\n\t return acc\n\t }, [])\n\t}\n\n\t/**\n\t * Generates a list of all possible nodes combination which\n\t * will be used to build a segments graph.\n\t *\n\t * Nodes are divided by groups. Each group will contain a list of all the modes\n\t * in which is possible to encode the given text.\n\t *\n\t * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n\t * The group for '12345' will contain then 3 objects, one for each\n\t * possible encoding mode.\n\t *\n\t * Each node represents a possible segment.\n\t *\n\t * @param {Array} segs Array of object with segments data\n\t * @return {Array} Array of object with segments data\n\t */\n\tfunction buildNodes (segs) {\n\t var nodes = [];\n\t for (var i = 0; i < segs.length; i++) {\n\t var seg = segs[i];\n\n\t switch (seg.mode) {\n\t case Mode.NUMERIC:\n\t nodes.push([seg,\n\t { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n\t { data: seg.data, mode: Mode.BYTE, length: seg.length }\n\t ]);\n\t break\n\t case Mode.ALPHANUMERIC:\n\t nodes.push([seg,\n\t { data: seg.data, mode: Mode.BYTE, length: seg.length }\n\t ]);\n\t break\n\t case Mode.KANJI:\n\t nodes.push([seg,\n\t { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n\t ]);\n\t break\n\t case Mode.BYTE:\n\t nodes.push([\n\t { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n\t ]);\n\t }\n\t }\n\n\t return nodes\n\t}\n\n\t/**\n\t * Builds a graph from a list of nodes.\n\t * All segments in each node group will be connected with all the segments of\n\t * the next group and so on.\n\t *\n\t * At each connection will be assigned a weight depending on the\n\t * segment's byte length.\n\t *\n\t * @param {Array} nodes Array of object with segments data\n\t * @param {Number} version QR Code version\n\t * @return {Object} Graph of all possible segments\n\t */\n\tfunction buildGraph (nodes, version) {\n\t var table = {};\n\t var graph = {'start': {}};\n\t var prevNodeIds = ['start'];\n\n\t for (var i = 0; i < nodes.length; i++) {\n\t var nodeGroup = nodes[i];\n\t var currentNodeIds = [];\n\n\t for (var j = 0; j < nodeGroup.length; j++) {\n\t var node = nodeGroup[j];\n\t var key = '' + i + j;\n\n\t currentNodeIds.push(key);\n\t table[key] = { node: node, lastCount: 0 };\n\t graph[key] = {};\n\n\t for (var n = 0; n < prevNodeIds.length; n++) {\n\t var prevNodeId = prevNodeIds[n];\n\n\t if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n\t graph[prevNodeId][key] =\n\t getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n\t getSegmentBitsLength(table[prevNodeId].lastCount, node.mode);\n\n\t table[prevNodeId].lastCount += node.length;\n\t } else {\n\t if (table[prevNodeId]) table[prevNodeId].lastCount = node.length;\n\n\t graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n\t 4 + Mode.getCharCountIndicator(node.mode, version); // switch cost\n\t }\n\t }\n\t }\n\n\t prevNodeIds = currentNodeIds;\n\t }\n\n\t for (n = 0; n < prevNodeIds.length; n++) {\n\t graph[prevNodeIds[n]]['end'] = 0;\n\t }\n\n\t return { map: graph, table: table }\n\t}\n\n\t/**\n\t * Builds a segment from a specified data and mode.\n\t * If a mode is not specified, the more suitable will be used.\n\t *\n\t * @param {String} data Input data\n\t * @param {Mode | String} modesHint Data mode\n\t * @return {Segment} Segment\n\t */\n\tfunction buildSingleSegment (data, modesHint) {\n\t var mode;\n\t var bestMode = Mode.getBestModeForData(data);\n\n\t mode = Mode.from(modesHint, bestMode);\n\n\t // Make sure data can be encoded\n\t if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n\t throw new Error('\"' + data + '\"' +\n\t ' cannot be encoded with mode ' + Mode.toString(mode) +\n\t '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n\t }\n\n\t // Use Mode.BYTE if Kanji support is disabled\n\t if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n\t mode = Mode.BYTE;\n\t }\n\n\t switch (mode) {\n\t case Mode.NUMERIC:\n\t return new NumericData(data)\n\n\t case Mode.ALPHANUMERIC:\n\t return new AlphanumericData(data)\n\n\t case Mode.KANJI:\n\t return new KanjiData(data)\n\n\t case Mode.BYTE:\n\t return new ByteData(data)\n\t }\n\t}\n\n\t/**\n\t * Builds a list of segments from an array.\n\t * Array can contain Strings or Objects with segment's info.\n\t *\n\t * For each item which is a string, will be generated a segment with the given\n\t * string and the more appropriate encoding mode.\n\t *\n\t * For each item which is an object, will be generated a segment with the given\n\t * data and mode.\n\t * Objects must contain at least the property \"data\".\n\t * If property \"mode\" is not present, the more suitable mode will be used.\n\t *\n\t * @param {Array} array Array of objects with segments data\n\t * @return {Array} Array of Segments\n\t */\n\texports.fromArray = function fromArray (array) {\n\t return array.reduce(function (acc, seg) {\n\t if (typeof seg === 'string') {\n\t acc.push(buildSingleSegment(seg, null));\n\t } else if (seg.data) {\n\t acc.push(buildSingleSegment(seg.data, seg.mode));\n\t }\n\n\t return acc\n\t }, [])\n\t};\n\n\t/**\n\t * Builds an optimized sequence of segments from a string,\n\t * which will produce the shortest possible bitstream.\n\t *\n\t * @param {String} data Input string\n\t * @param {Number} version QR Code version\n\t * @return {Array} Array of segments\n\t */\n\texports.fromString = function fromString (data, version) {\n\t var segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled());\n\n\t var nodes = buildNodes(segs);\n\t var graph = buildGraph(nodes, version);\n\t var path = dijkstra.find_path(graph.map, 'start', 'end');\n\n\t var optimizedSegs = [];\n\t for (var i = 1; i < path.length - 1; i++) {\n\t optimizedSegs.push(graph.table[path[i]].node);\n\t }\n\n\t return exports.fromArray(mergeSegments(optimizedSegs))\n\t};\n\n\t/**\n\t * Splits a string in various segments with the modes which\n\t * best represent their content.\n\t * The produced segments are far from being optimized.\n\t * The output of this function is only used to estimate a QR Code version\n\t * which may contain the data.\n\t *\n\t * @param {string} data Input string\n\t * @return {Array} Array of segments\n\t */\n\texports.rawSplit = function rawSplit (data) {\n\t return exports.fromArray(\n\t getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\t )\n\t};\n\n\t},{\"./alphanumeric-data\":3,\"./byte-data\":6,\"./kanji-data\":12,\"./mode\":14,\"./numeric-data\":15,\"./regex\":19,\"./utils\":21,\"dijkstrajs\":31}],21:[function(require,module,exports){\n\tvar toSJISFunction;\n\tvar CODEWORDS_COUNT = [\n\t 0, // Not used\n\t 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n\t 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n\t 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n\t 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n\t];\n\n\t/**\n\t * Returns the QR Code size for the specified version\n\t *\n\t * @param {Number} version QR Code version\n\t * @return {Number} size of QR code\n\t */\n\texports.getSymbolSize = function getSymbolSize (version) {\n\t if (!version) throw new Error('\"version\" cannot be null or undefined')\n\t if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n\t return version * 4 + 17\n\t};\n\n\t/**\n\t * Returns the total number of codewords used to store data and EC information.\n\t *\n\t * @param {Number} version QR Code version\n\t * @return {Number} Data length in bits\n\t */\n\texports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n\t return CODEWORDS_COUNT[version]\n\t};\n\n\t/**\n\t * Encode data with Bose-Chaudhuri-Hocquenghem\n\t *\n\t * @param {Number} data Value to encode\n\t * @return {Number} Encoded value\n\t */\n\texports.getBCHDigit = function (data) {\n\t var digit = 0;\n\n\t while (data !== 0) {\n\t digit++;\n\t data >>>= 1;\n\t }\n\n\t return digit\n\t};\n\n\texports.setToSJISFunction = function setToSJISFunction (f) {\n\t if (typeof f !== 'function') {\n\t throw new Error('\"toSJISFunc\" is not a valid function.')\n\t }\n\n\t toSJISFunction = f;\n\t};\n\n\texports.isKanjiModeEnabled = function () {\n\t return typeof toSJISFunction !== 'undefined'\n\t};\n\n\texports.toSJIS = function toSJIS (kanji) {\n\t return toSJISFunction(kanji)\n\t};\n\n\t},{}],22:[function(require,module,exports){\n\t/**\n\t * Check if QR Code version is valid\n\t *\n\t * @param {Number} version QR Code version\n\t * @return {Boolean} true if valid version, false otherwise\n\t */\n\texports.isValid = function isValid (version) {\n\t return !isNaN(version) && version >= 1 && version <= 40\n\t};\n\n\t},{}],23:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\tvar ECCode = require('./error-correction-code');\n\tvar ECLevel = require('./error-correction-level');\n\tvar Mode = require('./mode');\n\tvar VersionCheck = require('./version-check');\n\tvar isArray = require('isarray');\n\n\t// Generator polynomial used to encode version information\n\tvar G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0);\n\tvar G18_BCH = Utils.getBCHDigit(G18);\n\n\tfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n\t for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n\t if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n\t return currentVersion\n\t }\n\t }\n\n\t return undefined\n\t}\n\n\tfunction getReservedBitsCount (mode, version) {\n\t // Character count indicator + mode indicator bits\n\t return Mode.getCharCountIndicator(mode, version) + 4\n\t}\n\n\tfunction getTotalBitsFromDataArray (segments, version) {\n\t var totalBits = 0;\n\n\t segments.forEach(function (data) {\n\t var reservedBits = getReservedBitsCount(data.mode, version);\n\t totalBits += reservedBits + data.getBitsLength();\n\t });\n\n\t return totalBits\n\t}\n\n\tfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n\t for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n\t var length = getTotalBitsFromDataArray(segments, currentVersion);\n\t if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n\t return currentVersion\n\t }\n\t }\n\n\t return undefined\n\t}\n\n\t/**\n\t * Returns version number from a value.\n\t * If value is not a valid version, returns defaultValue\n\t *\n\t * @param {Number|String} value QR Code version\n\t * @param {Number} defaultValue Fallback value\n\t * @return {Number} QR Code version number\n\t */\n\texports.from = function from (value, defaultValue) {\n\t if (VersionCheck.isValid(value)) {\n\t return parseInt(value, 10)\n\t }\n\n\t return defaultValue\n\t};\n\n\t/**\n\t * Returns how much data can be stored with the specified QR code version\n\t * and error correction level\n\t *\n\t * @param {Number} version QR Code version (1-40)\n\t * @param {Number} errorCorrectionLevel Error correction level\n\t * @param {Mode} mode Data mode\n\t * @return {Number} Quantity of storable data\n\t */\n\texports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n\t if (!VersionCheck.isValid(version)) {\n\t throw new Error('Invalid QR Code version')\n\t }\n\n\t // Use Byte mode as default\n\t if (typeof mode === 'undefined') mode = Mode.BYTE;\n\n\t // Total codewords for this QR code version (Data + Error correction)\n\t var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n\t // Total number of error correction codewords\n\t var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n\t // Total number of data codewords\n\t var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n\t if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n\t var usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version);\n\n\t // Return max number of storable codewords\n\t switch (mode) {\n\t case Mode.NUMERIC:\n\t return Math.floor((usableBits / 10) * 3)\n\n\t case Mode.ALPHANUMERIC:\n\t return Math.floor((usableBits / 11) * 2)\n\n\t case Mode.KANJI:\n\t return Math.floor(usableBits / 13)\n\n\t case Mode.BYTE:\n\t default:\n\t return Math.floor(usableBits / 8)\n\t }\n\t};\n\n\t/**\n\t * Returns the minimum version needed to contain the amount of data\n\t *\n\t * @param {Segment} data Segment of data\n\t * @param {Number} [errorCorrectionLevel=H] Error correction level\n\t * @param {Mode} mode Data mode\n\t * @return {Number} QR Code version\n\t */\n\texports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n\t var seg;\n\n\t var ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M);\n\n\t if (isArray(data)) {\n\t if (data.length > 1) {\n\t return getBestVersionForMixedData(data, ecl)\n\t }\n\n\t if (data.length === 0) {\n\t return 1\n\t }\n\n\t seg = data[0];\n\t } else {\n\t seg = data;\n\t }\n\n\t return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n\t};\n\n\t/**\n\t * Returns version information with relative error correction bits\n\t *\n\t * The version information is included in QR Code symbols of version 7 or larger.\n\t * It consists of an 18-bit sequence containing 6 data bits,\n\t * with 12 error correction bits calculated using the (18, 6) Golay code.\n\t *\n\t * @param {Number} version QR Code version\n\t * @return {Number} Encoded version info bits\n\t */\n\texports.getEncodedBits = function getEncodedBits (version) {\n\t if (!VersionCheck.isValid(version) || version < 7) {\n\t throw new Error('Invalid QR Code version')\n\t }\n\n\t var d = version << 12;\n\n\t while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n\t d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH));\n\t }\n\n\t return (version << 12) | d\n\t};\n\n\t},{\"./error-correction-code\":7,\"./error-correction-level\":8,\"./mode\":14,\"./utils\":21,\"./version-check\":22,\"isarray\":33}],24:[function(require,module,exports){\n\n\tvar canPromise = require('./can-promise');\n\n\tvar QRCode = require('./core/qrcode');\n\tvar CanvasRenderer = require('./renderer/canvas');\n\tvar SvgRenderer = require('./renderer/svg-tag.js');\n\n\tfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n\t var args = [].slice.call(arguments, 1);\n\t var argsNum = args.length;\n\t var isLastArgCb = typeof args[argsNum - 1] === 'function';\n\n\t if (!isLastArgCb && !canPromise()) {\n\t throw new Error('Callback required as last argument')\n\t }\n\n\t if (isLastArgCb) {\n\t if (argsNum < 2) {\n\t throw new Error('Too few arguments provided')\n\t }\n\n\t if (argsNum === 2) {\n\t cb = text;\n\t text = canvas;\n\t canvas = opts = undefined;\n\t } else if (argsNum === 3) {\n\t if (canvas.getContext && typeof cb === 'undefined') {\n\t cb = opts;\n\t opts = undefined;\n\t } else {\n\t cb = opts;\n\t opts = text;\n\t text = canvas;\n\t canvas = undefined;\n\t }\n\t }\n\t } else {\n\t if (argsNum < 1) {\n\t throw new Error('Too few arguments provided')\n\t }\n\n\t if (argsNum === 1) {\n\t text = canvas;\n\t canvas = opts = undefined;\n\t } else if (argsNum === 2 && !canvas.getContext) {\n\t opts = text;\n\t text = canvas;\n\t canvas = undefined;\n\t }\n\n\t return new Promise(function (resolve, reject) {\n\t try {\n\t var data = QRCode.create(text, opts);\n\t resolve(renderFunc(data, canvas, opts));\n\t } catch (e) {\n\t reject(e);\n\t }\n\t })\n\t }\n\n\t try {\n\t var data = QRCode.create(text, opts);\n\t cb(null, renderFunc(data, canvas, opts));\n\t } catch (e) {\n\t cb(e);\n\t }\n\t}\n\n\texports.create = QRCode.create;\n\texports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render);\n\texports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL);\n\n\t// only svg for now.\n\texports.toString = renderCanvas.bind(null, function (data, _, opts) {\n\t return SvgRenderer.render(data, opts)\n\t});\n\n\t},{\"./can-promise\":1,\"./core/qrcode\":17,\"./renderer/canvas\":25,\"./renderer/svg-tag.js\":26}],25:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\n\tfunction clearCanvas (ctx, canvas, size) {\n\t ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n\t if (!canvas.style) canvas.style = {};\n\t canvas.height = size;\n\t canvas.width = size;\n\t canvas.style.height = size + 'px';\n\t canvas.style.width = size + 'px';\n\t}\n\n\tfunction getCanvasElement () {\n\t try {\n\t return document.createElement('canvas')\n\t } catch (e) {\n\t throw new Error('You need to specify a canvas element')\n\t }\n\t}\n\n\texports.render = function render (qrData, canvas, options) {\n\t var opts = options;\n\t var canvasEl = canvas;\n\n\t if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n\t opts = canvas;\n\t canvas = undefined;\n\t }\n\n\t if (!canvas) {\n\t canvasEl = getCanvasElement();\n\t }\n\n\t opts = Utils.getOptions(opts);\n\t var size = Utils.getImageWidth(qrData.modules.size, opts);\n\n\t var ctx = canvasEl.getContext('2d');\n\t var image = ctx.createImageData(size, size);\n\t Utils.qrToImageData(image.data, qrData, opts);\n\n\t clearCanvas(ctx, canvasEl, size);\n\t ctx.putImageData(image, 0, 0);\n\n\t return canvasEl\n\t};\n\n\texports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n\t var opts = options;\n\n\t if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n\t opts = canvas;\n\t canvas = undefined;\n\t }\n\n\t if (!opts) opts = {};\n\n\t var canvasEl = exports.render(qrData, canvas, opts);\n\n\t var type = opts.type || 'image/png';\n\t var rendererOpts = opts.rendererOpts || {};\n\n\t return canvasEl.toDataURL(type, rendererOpts.quality)\n\t};\n\n\t},{\"./utils\":27}],26:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\n\tfunction getColorAttrib (color, attrib) {\n\t var alpha = color.a / 255;\n\t var str = attrib + '=\"' + color.hex + '\"';\n\n\t return alpha < 1\n\t ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n\t : str\n\t}\n\n\tfunction svgCmd (cmd, x, y) {\n\t var str = cmd + x;\n\t if (typeof y !== 'undefined') str += ' ' + y;\n\n\t return str\n\t}\n\n\tfunction qrToPath (data, size, margin) {\n\t var path = '';\n\t var moveBy = 0;\n\t var newRow = false;\n\t var lineLength = 0;\n\n\t for (var i = 0; i < data.length; i++) {\n\t var col = Math.floor(i % size);\n\t var row = Math.floor(i / size);\n\n\t if (!col && !newRow) newRow = true;\n\n\t if (data[i]) {\n\t lineLength++;\n\n\t if (!(i > 0 && col > 0 && data[i - 1])) {\n\t path += newRow\n\t ? svgCmd('M', col + margin, 0.5 + row + margin)\n\t : svgCmd('m', moveBy, 0);\n\n\t moveBy = 0;\n\t newRow = false;\n\t }\n\n\t if (!(col + 1 < size && data[i + 1])) {\n\t path += svgCmd('h', lineLength);\n\t lineLength = 0;\n\t }\n\t } else {\n\t moveBy++;\n\t }\n\t }\n\n\t return path\n\t}\n\n\texports.render = function render (qrData, options, cb) {\n\t var opts = Utils.getOptions(options);\n\t var size = qrData.modules.size;\n\t var data = qrData.modules.data;\n\t var qrcodesize = size + opts.margin * 2;\n\n\t var bg = !opts.color.light.a\n\t ? ''\n\t : '<path ' + getColorAttrib(opts.color.light, 'fill') +\n\t ' d=\"M0 0h' + qrcodesize + 'v' + qrcodesize + 'H0z\"/>';\n\n\t var path =\n\t '<path ' + getColorAttrib(opts.color.dark, 'stroke') +\n\t ' d=\"' + qrToPath(data, size, opts.margin) + '\"/>';\n\n\t var viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"';\n\n\t var width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" ';\n\n\t var svgTag = '<svg xmlns=\"http://www.w3.org/2000/svg\" ' + width + viewBox + ' shape-rendering=\"crispEdges\">' + bg + path + '</svg>\\n';\n\n\t if (typeof cb === 'function') {\n\t cb(null, svgTag);\n\t }\n\n\t return svgTag\n\t};\n\n\t},{\"./utils\":27}],27:[function(require,module,exports){\n\tfunction hex2rgba (hex) {\n\t if (typeof hex === 'number') {\n\t hex = hex.toString();\n\t }\n\n\t if (typeof hex !== 'string') {\n\t throw new Error('Color should be defined as hex string')\n\t }\n\n\t var hexCode = hex.slice().replace('#', '').split('');\n\t if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n\t throw new Error('Invalid hex color: ' + hex)\n\t }\n\n\t // Convert from short to long form (fff -> ffffff)\n\t if (hexCode.length === 3 || hexCode.length === 4) {\n\t hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n\t return [c, c]\n\t }));\n\t }\n\n\t // Add default alpha value\n\t if (hexCode.length === 6) hexCode.push('F', 'F');\n\n\t var hexValue = parseInt(hexCode.join(''), 16);\n\n\t return {\n\t r: (hexValue >> 24) & 255,\n\t g: (hexValue >> 16) & 255,\n\t b: (hexValue >> 8) & 255,\n\t a: hexValue & 255,\n\t hex: '#' + hexCode.slice(0, 6).join('')\n\t }\n\t}\n\n\texports.getOptions = function getOptions (options) {\n\t if (!options) options = {};\n\t if (!options.color) options.color = {};\n\n\t var margin = typeof options.margin === 'undefined' ||\n\t options.margin === null ||\n\t options.margin < 0 ? 4 : options.margin;\n\n\t var width = options.width && options.width >= 21 ? options.width : undefined;\n\t var scale = options.scale || 4;\n\n\t return {\n\t width: width,\n\t scale: width ? 4 : scale,\n\t margin: margin,\n\t color: {\n\t dark: hex2rgba(options.color.dark || '#000000ff'),\n\t light: hex2rgba(options.color.light || '#ffffffff')\n\t },\n\t type: options.type,\n\t rendererOpts: options.rendererOpts || {}\n\t }\n\t};\n\n\texports.getScale = function getScale (qrSize, opts) {\n\t return opts.width && opts.width >= qrSize + opts.margin * 2\n\t ? opts.width / (qrSize + opts.margin * 2)\n\t : opts.scale\n\t};\n\n\texports.getImageWidth = function getImageWidth (qrSize, opts) {\n\t var scale = exports.getScale(qrSize, opts);\n\t return Math.floor((qrSize + opts.margin * 2) * scale)\n\t};\n\n\texports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n\t var size = qr.modules.size;\n\t var data = qr.modules.data;\n\t var scale = exports.getScale(size, opts);\n\t var symbolSize = Math.floor((size + opts.margin * 2) * scale);\n\t var scaledMargin = opts.margin * scale;\n\t var palette = [opts.color.light, opts.color.dark];\n\n\t for (var i = 0; i < symbolSize; i++) {\n\t for (var j = 0; j < symbolSize; j++) {\n\t var posDst = (i * symbolSize + j) * 4;\n\t var pxColor = opts.color.light;\n\n\t if (i >= scaledMargin && j >= scaledMargin &&\n\t i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n\t var iSrc = Math.floor((i - scaledMargin) / scale);\n\t var jSrc = Math.floor((j - scaledMargin) / scale);\n\t pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0];\n\t }\n\n\t imgData[posDst++] = pxColor.r;\n\t imgData[posDst++] = pxColor.g;\n\t imgData[posDst++] = pxColor.b;\n\t imgData[posDst] = pxColor.a;\n\t }\n\t }\n\t};\n\n\t},{}],28:[function(require,module,exports){\n\n\tvar isArray = require('isarray');\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances be augmented?\n\t try {\n\t var arr = new Uint8Array(1);\n\t arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }};\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tvar K_MAX_LENGTH = Buffer.TYPED_ARRAY_SUPPORT\n\t ? 0x7fffffff\n\t : 0x3fffffff;\n\n\tfunction Buffer (arg, offset, length) {\n\t if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n\t return new Buffer(arg, offset, length)\n\t }\n\n\t if (typeof arg === 'number') {\n\t return allocUnsafe(this, arg)\n\t }\n\n\t return from(this, arg, offset, length)\n\t}\n\n\tif (Buffer.TYPED_ARRAY_SUPPORT) {\n\t Buffer.prototype.__proto__ = Uint8Array.prototype;\n\t Buffer.__proto__ = Uint8Array;\n\n\t // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n\t if (typeof Symbol !== 'undefined' && Symbol.species &&\n\t Buffer[Symbol.species] === Buffer) {\n\t Object.defineProperty(Buffer, Symbol.species, {\n\t value: null,\n\t configurable: true,\n\t enumerable: false,\n\t writable: false\n\t });\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction isnan (val) {\n\t return val !== val // eslint-disable-line no-self-compare\n\t}\n\n\tfunction createBuffer (that, length) {\n\t var buf;\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t buf = new Uint8Array(length);\n\t buf.__proto__ = Buffer.prototype;\n\t } else {\n\t // Fallback: Return an object instance of the Buffer class\n\t buf = that;\n\t if (buf === null) {\n\t buf = new Buffer(length);\n\t }\n\t buf.length = length;\n\t }\n\n\t return buf\n\t}\n\n\tfunction allocUnsafe (that, size) {\n\t var buf = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n\n\t if (!Buffer.TYPED_ARRAY_SUPPORT) {\n\t for (var i = 0; i < size; ++i) {\n\t buf[i] = 0;\n\t }\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromString (that, string) {\n\t var length = byteLength(string) | 0;\n\t var buf = createBuffer(that, length);\n\n\t var actual = buf.write(string);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (that, array) {\n\t var length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t var buf = createBuffer(that, length);\n\t for (var i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayBuffer (that, array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\\'offset\\' is out of bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\\'length\\' is out of bounds')\n\t }\n\n\t var buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new Uint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new Uint8Array(array, byteOffset);\n\t } else {\n\t buf = new Uint8Array(array, byteOffset, length);\n\t }\n\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t // Return an augmented `Uint8Array` instance, for best performance\n\t buf.__proto__ = Buffer.prototype;\n\t } else {\n\t // Fallback: Return an object instance of the Buffer class\n\t buf = fromArrayLike(that, buf);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromObject (that, obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t var len = checked(obj.length) | 0;\n\t var buf = createBuffer(that, len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj) {\n\t if ((typeof ArrayBuffer !== 'undefined' &&\n\t obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n\t if (typeof obj.length !== 'number' || isnan(obj.length)) {\n\t return createBuffer(that, 0)\n\t }\n\t return fromArrayLike(that, obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(that, obj.data)\n\t }\n\t }\n\n\t throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t var codePoint;\n\t var length = string.length;\n\t var leadSurrogate = null;\n\t var bytes = [];\n\n\t for (var i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction byteLength (string) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n\t (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t string = '' + string;\n\t }\n\n\t var len = string.length;\n\t if (len === 0) return 0\n\n\t return utf8ToBytes(string).length\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t for (var i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction from (that, value, offset, length) {\n\t if (typeof value === 'number') {\n\t throw new TypeError('\"value\" argument must not be a number')\n\t }\n\n\t if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n\t return fromArrayBuffer(that, value, offset, length)\n\t }\n\n\t if (typeof value === 'string') {\n\t return fromString(that, value)\n\t }\n\n\t return fromObject(that, value)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length])\n\t } else if (isFinite(offset)) {\n\t offset = offset | 0;\n\t if (isFinite(length)) {\n\t length = length | 0;\n\t } else {\n\t length = undefined;\n\t }\n\t }\n\n\t var remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t return utf8Write(this, string, offset, length)\n\t};\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t var len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t var newBuf;\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t newBuf.__proto__ = Buffer.prototype;\n\t } else {\n\t var sliceLen = end - start;\n\t newBuf = new Buffer(sliceLen, undefined);\n\t for (var i = 0; i < sliceLen; ++i) {\n\t newBuf[i] = this[i + start];\n\t }\n\t }\n\n\t return newBuf\n\t};\n\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t var len = end - start;\n\t var i;\n\n\t if (this === target && start < targetStart && targetStart < end) {\n\t // descending copy from end\n\t for (i = len - 1; i >= 0; --i) {\n\t target[i + targetStart] = this[i + start];\n\t }\n\t } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n\t // ascending copy from start\n\t for (i = 0; i < len; ++i) {\n\t target[i + targetStart] = this[i + start];\n\t }\n\t } else {\n\t Uint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, start + len),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\tBuffer.prototype.fill = function fill (val, start, end) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t end = this.length;\n\t }\n\t if (val.length === 1) {\n\t var code = val.charCodeAt(0);\n\t if (code < 256) {\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t var i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t var bytes = Buffer.isBuffer(val)\n\t ? val\n\t : new Buffer(val);\n\t var len = bytes.length;\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return createBuffer(null, 0)\n\t }\n\n\t var i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t var buffer = allocUnsafe(null, length);\n\t var pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t var buf = list[i];\n\t if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\t buf.copy(buffer, pos);\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tBuffer.byteLength = byteLength;\n\n\tBuffer.prototype._isBuffer = true;\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return !!(b != null && b._isBuffer)\n\t};\n\n\tmodule.exports.alloc = function (size) {\n\t var buffer = new Buffer(size);\n\t buffer.fill(0);\n\t return buffer\n\t};\n\n\tmodule.exports.from = function (data) {\n\t return new Buffer(data)\n\t};\n\n\t},{\"isarray\":33}],29:[function(require,module,exports){\n\n\texports.byteLength = byteLength;\n\texports.toByteArray = toByteArray;\n\texports.fromByteArray = fromByteArray;\n\n\tvar lookup = [];\n\tvar revLookup = [];\n\tvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\n\tvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\tfor (var i = 0, len = code.length; i < len; ++i) {\n\t lookup[i] = code[i];\n\t revLookup[code.charCodeAt(i)] = i;\n\t}\n\n\t// Support decoding URL-safe base64 strings, as Node.js does.\n\t// See: https://en.wikipedia.org/wiki/Base64#URL_applications\n\trevLookup['-'.charCodeAt(0)] = 62;\n\trevLookup['_'.charCodeAt(0)] = 63;\n\n\tfunction getLens (b64) {\n\t var len = b64.length;\n\n\t if (len % 4 > 0) {\n\t throw new Error('Invalid string. Length must be a multiple of 4')\n\t }\n\n\t // Trim off extra bytes after placeholder bytes are found\n\t // See: https://github.com/beatgammit/base64-js/issues/42\n\t var validLen = b64.indexOf('=');\n\t if (validLen === -1) validLen = len;\n\n\t var placeHoldersLen = validLen === len\n\t ? 0\n\t : 4 - (validLen % 4);\n\n\t return [validLen, placeHoldersLen]\n\t}\n\n\t// base64 is 4/3 + up to two characters of the original data\n\tfunction byteLength (b64) {\n\t var lens = getLens(b64);\n\t var validLen = lens[0];\n\t var placeHoldersLen = lens[1];\n\t return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n\t}\n\n\tfunction _byteLength (b64, validLen, placeHoldersLen) {\n\t return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n\t}\n\n\tfunction toByteArray (b64) {\n\t var tmp;\n\t var lens = getLens(b64);\n\t var validLen = lens[0];\n\t var placeHoldersLen = lens[1];\n\n\t var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n\t var curByte = 0;\n\n\t // if there are placeholders, only get up to the last complete 4 chars\n\t var len = placeHoldersLen > 0\n\t ? validLen - 4\n\t : validLen;\n\n\t var i;\n\t for (i = 0; i < len; i += 4) {\n\t tmp =\n\t (revLookup[b64.charCodeAt(i)] << 18) |\n\t (revLookup[b64.charCodeAt(i + 1)] << 12) |\n\t (revLookup[b64.charCodeAt(i + 2)] << 6) |\n\t revLookup[b64.charCodeAt(i + 3)];\n\t arr[curByte++] = (tmp >> 16) & 0xFF;\n\t arr[curByte++] = (tmp >> 8) & 0xFF;\n\t arr[curByte++] = tmp & 0xFF;\n\t }\n\n\t if (placeHoldersLen === 2) {\n\t tmp =\n\t (revLookup[b64.charCodeAt(i)] << 2) |\n\t (revLookup[b64.charCodeAt(i + 1)] >> 4);\n\t arr[curByte++] = tmp & 0xFF;\n\t }\n\n\t if (placeHoldersLen === 1) {\n\t tmp =\n\t (revLookup[b64.charCodeAt(i)] << 10) |\n\t (revLookup[b64.charCodeAt(i + 1)] << 4) |\n\t (revLookup[b64.charCodeAt(i + 2)] >> 2);\n\t arr[curByte++] = (tmp >> 8) & 0xFF;\n\t arr[curByte++] = tmp & 0xFF;\n\t }\n\n\t return arr\n\t}\n\n\tfunction tripletToBase64 (num) {\n\t return lookup[num >> 18 & 0x3F] +\n\t lookup[num >> 12 & 0x3F] +\n\t lookup[num >> 6 & 0x3F] +\n\t lookup[num & 0x3F]\n\t}\n\n\tfunction encodeChunk (uint8, start, end) {\n\t var tmp;\n\t var output = [];\n\t for (var i = start; i < end; i += 3) {\n\t tmp =\n\t ((uint8[i] << 16) & 0xFF0000) +\n\t ((uint8[i + 1] << 8) & 0xFF00) +\n\t (uint8[i + 2] & 0xFF);\n\t output.push(tripletToBase64(tmp));\n\t }\n\t return output.join('')\n\t}\n\n\tfunction fromByteArray (uint8) {\n\t var tmp;\n\t var len = uint8.length;\n\t var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n\t var parts = [];\n\t var maxChunkLength = 16383; // must be multiple of 3\n\n\t // go through the array every three bytes, we'll deal with trailing stuff later\n\t for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n\t parts.push(encodeChunk(\n\t uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n\t ));\n\t }\n\n\t // pad the end with zeros, but make sure to not forget the extra bytes\n\t if (extraBytes === 1) {\n\t tmp = uint8[len - 1];\n\t parts.push(\n\t lookup[tmp >> 2] +\n\t lookup[(tmp << 4) & 0x3F] +\n\t '=='\n\t );\n\t } else if (extraBytes === 2) {\n\t tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n\t parts.push(\n\t lookup[tmp >> 10] +\n\t lookup[(tmp >> 4) & 0x3F] +\n\t lookup[(tmp << 2) & 0x3F] +\n\t '='\n\t );\n\t }\n\n\t return parts.join('')\n\t}\n\n\t},{}],30:[function(require,module,exports){\n\n\tvar base64 = require('base64-js');\n\tvar ieee754 = require('ieee754');\n\tvar customInspectSymbol =\n\t (typeof Symbol === 'function' && typeof Symbol.for === 'function')\n\t ? Symbol.for('nodejs.util.inspect.custom')\n\t : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tvar K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Print warning and recommend using `buffer` v4.x which has an Object\n\t * implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t typeof console.error === 'function') {\n\t console.error(\n\t 'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t );\n\t}\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances can be augmented?\n\t try {\n\t var arr = new Uint8Array(1);\n\t var proto = { foo: function () { return 42 } };\n\t Object.setPrototypeOf(proto, Uint8Array.prototype);\n\t Object.setPrototypeOf(arr, proto);\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.buffer\n\t }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.byteOffset\n\t }\n\t});\n\n\tfunction createBuffer (length) {\n\t if (length > K_MAX_LENGTH) {\n\t throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t }\n\t // Return an augmented `Uint8Array` instance\n\t var buf = new Uint8Array(length);\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\t return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be of type string. Received type number'\n\t )\n\t }\n\t return allocUnsafe(arg)\n\t }\n\t return from(arg, encodingOrOffset, length)\n\t}\n\n\t// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n\tif (typeof Symbol !== 'undefined' && Symbol.species != null &&\n\t Buffer[Symbol.species] === Buffer) {\n\t Object.defineProperty(Buffer, Symbol.species, {\n\t value: null,\n\t configurable: true,\n\t enumerable: false,\n\t writable: false\n\t });\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t if (typeof value === 'string') {\n\t return fromString(value, encodingOrOffset)\n\t }\n\n\t if (ArrayBuffer.isView(value)) {\n\t return fromArrayLike(value)\n\t }\n\n\t if (value == null) {\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t }\n\n\t if (isInstance(value, ArrayBuffer) ||\n\t (value && isInstance(value.buffer, ArrayBuffer))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof value === 'number') {\n\t throw new TypeError(\n\t 'The \"value\" argument must not be of type number. Received type number'\n\t )\n\t }\n\n\t var valueOf = value.valueOf && value.valueOf();\n\t if (valueOf != null && valueOf !== value) {\n\t return Buffer.from(valueOf, encodingOrOffset, length)\n\t }\n\n\t var b = fromObject(value);\n\t if (b) return b\n\n\t if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t typeof value[Symbol.toPrimitive] === 'function') {\n\t return Buffer.from(\n\t value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n\t )\n\t }\n\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, Uint8Array);\n\n\tfunction assertSize (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be of type number')\n\t } else if (size < 0) {\n\t throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(size)\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpretted as a start offset.\n\t return typeof encoding === 'string'\n\t ? createBuffer(size).fill(fill, encoding)\n\t : createBuffer(size).fill(fill)\n\t }\n\t return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t assertSize(size);\n\t return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\n\t var length = byteLength(string, encoding) | 0;\n\t var buf = createBuffer(length);\n\n\t var actual = buf.write(string, encoding);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t var length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t var buf = createBuffer(length);\n\t for (var i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\"offset\" is outside of buffer bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\"length\" is outside of buffer bounds')\n\t }\n\n\t var buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new Uint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new Uint8Array(array, byteOffset);\n\t } else {\n\t buf = new Uint8Array(array, byteOffset, length);\n\t }\n\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t var len = checked(obj.length) | 0;\n\t var buf = createBuffer(len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj.length !== undefined) {\n\t if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t return createBuffer(0)\n\t }\n\t return fromArrayLike(obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(obj.data)\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t if (+length != length) { // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return b != null && b._isBuffer === true &&\n\t b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError(\n\t 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t )\n\t }\n\n\t if (a === b) return 0\n\n\t var x = a.length;\n\t var y = b.length;\n\n\t for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true\n\t default:\n\t return false\n\t }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!Array.isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return Buffer.alloc(0)\n\t }\n\n\t var i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t var buffer = Buffer.allocUnsafe(length);\n\t var pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t var buf = list[i];\n\t if (isInstance(buf, Uint8Array)) {\n\t buf = Buffer.from(buf);\n\t }\n\t if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\t buf.copy(buffer, pos);\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t 'Received type ' + typeof string\n\t )\n\t }\n\n\t var len = string.length;\n\t var mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t if (!mustMatch && len === 0) return 0\n\n\t // Use a for loop to avoid recursion\n\t var loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8ToBytes(string).length\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2\n\t case 'hex':\n\t return len >>> 1\n\t case 'base64':\n\t return base64ToBytes(string).length\n\t default:\n\t if (loweredCase) {\n\t return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t }\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t var loweredCase = false;\n\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return ''\n\t }\n\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\n\t if (end <= 0) {\n\t return ''\n\t }\n\n\t // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\n\t if (end <= start) {\n\t return ''\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end)\n\n\t case 'ascii':\n\t return asciiSlice(this, start, end)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end)\n\n\t case 'base64':\n\t return base64Slice(this, start, end)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t var i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t var len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t }\n\t for (var i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t var len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t }\n\t for (var i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t var len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t }\n\t for (var i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t var length = this.length;\n\t if (length === 0) return ''\n\t if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t if (this === b) return true\n\t return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t var str = '';\n\t var max = exports.INSPECT_MAX_BYTES;\n\t str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t if (this.length > max) str += ' ... ';\n\t return '<Buffer ' + str + '>'\n\t};\n\tif (customInspectSymbol) {\n\t Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t if (isInstance(target, Uint8Array)) {\n\t target = Buffer.from(target, target.offset, target.byteLength);\n\t }\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError(\n\t 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t 'Received type ' + (typeof target)\n\t )\n\t }\n\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index')\n\t }\n\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1\n\t }\n\t if (start >= end) {\n\t return 1\n\t }\n\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\n\t if (this === target) return 0\n\n\t var x = thisEnd - thisStart;\n\t var y = end - start;\n\t var len = Math.min(x, y);\n\n\t var thisCopy = this.slice(thisStart, thisEnd);\n\t var targetCopy = target.slice(start, end);\n\n\t for (var i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1\n\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (numberIsNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : (buffer.length - 1);\n\t }\n\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1\n\t else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;\n\t else return -1\n\t }\n\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (typeof Uint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t } else {\n\t return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t }\n\n\t throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t var indexSize = 1;\n\t var arrLength = arr.length;\n\t var valLength = val.length;\n\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\n\t function read (buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i]\n\t } else {\n\t return buf.readUInt16BE(i * indexSize)\n\t }\n\t }\n\n\t var i;\n\t if (dir) {\n\t var foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t var found = true;\n\t for (var j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break\n\t }\n\t }\n\t if (found) return i\n\t }\n\t }\n\n\t return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t var remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\n\t var strLen = string.length;\n\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t for (var i = 0; i < length; ++i) {\n\t var parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (numberIsNaN(parsed)) return i\n\t buf[offset + i] = parsed;\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction latin1Write (buf, string, offset, length) {\n\t return asciiWrite(buf, string, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset >>> 0;\n\t if (isFinite(length)) {\n\t length = length >>> 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t } else {\n\t throw new Error(\n\t 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t )\n\t }\n\n\t var remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t var loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length)\n\n\t case 'ascii':\n\t return asciiWrite(this, string, offset, length)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Write(this, string, offset, length)\n\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf)\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end))\n\t }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t var res = [];\n\n\t var i = start;\n\t while (i < end) {\n\t var firstByte = buf[i];\n\t var codePoint = null;\n\t var bytesPerSequence = (firstByte > 0xEF) ? 4\n\t : (firstByte > 0xDF) ? 3\n\t : (firstByte > 0xBF) ? 2\n\t : 1;\n\n\t if (i + bytesPerSequence <= end) {\n\t var secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\n\t return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tvar MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t var len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t }\n\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t var res = '';\n\t var i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(\n\t String,\n\t codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t );\n\t }\n\t return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t var ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (var i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t var ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (var i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t var len = buf.length;\n\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\n\t var out = '';\n\t for (var i = start; i < end; ++i) {\n\t out += hexSliceLookupTable[buf[i]];\n\t }\n\t return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t var bytes = buf.slice(start, end);\n\t var res = '';\n\t for (var i = 0; i < bytes.length; i += 2) {\n\t res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t }\n\t return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t var len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t var newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t var val = this[offset];\n\t var mul = 1;\n\t var i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\n\t var val = this[offset + --byteLength];\n\t var mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset]\n\t};\n\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return ((this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16)) +\n\t (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] * 0x1000000) +\n\t ((this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t this[offset + 3])\n\t};\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t var val = this[offset];\n\t var mul = 1;\n\t var i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t var i = byteLength;\n\t var mul = 1;\n\t var val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return (this[offset])\n\t return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t var val = this[offset] | (this[offset + 1] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t var val = this[offset + 1] | (this[offset] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16) |\n\t (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] << 24) |\n\t (this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t var mul = 1;\n\t var i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t var i = byteLength - 1;\n\t var mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset + 3] = (value >>> 24);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t var limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t var i = 0;\n\t var mul = 1;\n\t var sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t var limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t var i = byteLength - 1;\n\t var mul = 1;\n\t var sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 3] = (value >>> 24);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4);\n\t }\n\t ieee754.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8);\n\t }\n\t ieee754.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t var len = end - start;\n\n\t if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n\t // Use built-in when available, missing from IE11\n\t this.copyWithin(targetStart, start, end);\n\t } else if (this === target && start < targetStart && targetStart < end) {\n\t // descending copy from end\n\t for (var i = len - 1; i >= 0; --i) {\n\t target[i + targetStart] = this[i + start];\n\t }\n\t } else {\n\t Uint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, end),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string')\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\t if (val.length === 1) {\n\t var code = val.charCodeAt(0);\n\t if ((encoding === 'utf8' && code < 128) ||\n\t encoding === 'latin1') {\n\t // Fast path: If `val` fits into a single byte, use that numeric value.\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t } else if (typeof val === 'boolean') {\n\t val = Number(val);\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t var i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t var bytes = Buffer.isBuffer(val)\n\t ? val\n\t : Buffer.from(val, encoding);\n\t var len = bytes.length;\n\t if (len === 0) {\n\t throw new TypeError('The value \"' + val +\n\t '\" is invalid for argument \"value\"')\n\t }\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t // Node takes equal signs as end of the Base64 encoding\n\t str = str.split('=')[0];\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = str.trim().replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return ''\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t var codePoint;\n\t var length = string.length;\n\t var leadSurrogate = null;\n\t var bytes = [];\n\n\t for (var i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t var byteArray = [];\n\t for (var i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t var c, hi, lo;\n\t var byteArray = [];\n\t for (var i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break\n\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\n\t return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t for (var i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t return obj instanceof type ||\n\t (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t // For IE11 support\n\t return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tvar hexSliceLookupTable = (function () {\n\t var alphabet = '0123456789abcdef';\n\t var table = new Array(256);\n\t for (var i = 0; i < 16; ++i) {\n\t var i16 = i * 16;\n\t for (var j = 0; j < 16; ++j) {\n\t table[i16 + j] = alphabet[i] + alphabet[j];\n\t }\n\t }\n\t return table\n\t})();\n\n\t},{\"base64-js\":29,\"ieee754\":32}],31:[function(require,module,exports){\n\n\t/******************************************************************************\n\t * Created 2008-08-19.\n\t *\n\t * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n\t *\n\t * Copyright (C) 2008\n\t * Wyatt Baldwin <self@wyattbaldwin.com>\n\t * All rights reserved\n\t *\n\t * Licensed under the MIT license.\n\t *\n\t * http://www.opensource.org/licenses/mit-license.php\n\t *\n\t * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n\t * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n\t * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n\t * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n\t * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n\t * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n\t * THE SOFTWARE.\n\t *****************************************************************************/\n\tvar dijkstra = {\n\t single_source_shortest_paths: function(graph, s, d) {\n\t // Predecessor map for each node that has been encountered.\n\t // node ID => predecessor node ID\n\t var predecessors = {};\n\n\t // Costs of shortest paths from s to all nodes encountered.\n\t // node ID => cost\n\t var costs = {};\n\t costs[s] = 0;\n\n\t // Costs of shortest paths from s to all nodes encountered; differs from\n\t // `costs` in that it provides easy access to the node that currently has\n\t // the known shortest path from s.\n\t // XXX: Do we actually need both `costs` and `open`?\n\t var open = dijkstra.PriorityQueue.make();\n\t open.push(s, 0);\n\n\t var closest,\n\t u, v,\n\t cost_of_s_to_u,\n\t adjacent_nodes,\n\t cost_of_e,\n\t cost_of_s_to_u_plus_cost_of_e,\n\t cost_of_s_to_v,\n\t first_visit;\n\t while (!open.empty()) {\n\t // In the nodes remaining in graph that have a known cost from s,\n\t // find the node, u, that currently has the shortest path from s.\n\t closest = open.pop();\n\t u = closest.value;\n\t cost_of_s_to_u = closest.cost;\n\n\t // Get nodes adjacent to u...\n\t adjacent_nodes = graph[u] || {};\n\n\t // ...and explore the edges that connect u to those nodes, updating\n\t // the cost of the shortest paths to any or all of those nodes as\n\t // necessary. v is the node across the current edge from u.\n\t for (v in adjacent_nodes) {\n\t if (adjacent_nodes.hasOwnProperty(v)) {\n\t // Get the cost of the edge running from u to v.\n\t cost_of_e = adjacent_nodes[v];\n\n\t // Cost of s to u plus the cost of u to v across e--this is *a*\n\t // cost from s to v that may or may not be less than the current\n\t // known cost to v.\n\t cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n\t // If we haven't visited v yet OR if the current known cost from s to\n\t // v is greater than the new cost we just found (cost of s to u plus\n\t // cost of u to v across e), update v's cost in the cost list and\n\t // update v's predecessor in the predecessor list (it's now u).\n\t cost_of_s_to_v = costs[v];\n\t first_visit = (typeof costs[v] === 'undefined');\n\t if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n\t costs[v] = cost_of_s_to_u_plus_cost_of_e;\n\t open.push(v, cost_of_s_to_u_plus_cost_of_e);\n\t predecessors[v] = u;\n\t }\n\t }\n\t }\n\t }\n\n\t if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n\t var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n\t throw new Error(msg);\n\t }\n\n\t return predecessors;\n\t },\n\n\t extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n\t var nodes = [];\n\t var u = d;\n\t var predecessor;\n\t while (u) {\n\t nodes.push(u);\n\t predecessor = predecessors[u];\n\t u = predecessors[u];\n\t }\n\t nodes.reverse();\n\t return nodes;\n\t },\n\n\t find_path: function(graph, s, d) {\n\t var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n\t return dijkstra.extract_shortest_path_from_predecessor_list(\n\t predecessors, d);\n\t },\n\n\t /**\n\t * A very naive priority queue implementation.\n\t */\n\t PriorityQueue: {\n\t make: function (opts) {\n\t var T = dijkstra.PriorityQueue,\n\t t = {},\n\t key;\n\t opts = opts || {};\n\t for (key in T) {\n\t if (T.hasOwnProperty(key)) {\n\t t[key] = T[key];\n\t }\n\t }\n\t t.queue = [];\n\t t.sorter = opts.sorter || T.default_sorter;\n\t return t;\n\t },\n\n\t default_sorter: function (a, b) {\n\t return a.cost - b.cost;\n\t },\n\n\t /**\n\t * Add a new item to the queue and ensure the highest priority element\n\t * is at the front of the queue.\n\t */\n\t push: function (value, cost) {\n\t var item = {value: value, cost: cost};\n\t this.queue.push(item);\n\t this.queue.sort(this.sorter);\n\t },\n\n\t /**\n\t * Return the highest priority element in the queue.\n\t */\n\t pop: function () {\n\t return this.queue.shift();\n\t },\n\n\t empty: function () {\n\t return this.queue.length === 0;\n\t }\n\t }\n\t};\n\n\n\t// node.js module exports\n\tif (typeof module !== 'undefined') {\n\t module.exports = dijkstra;\n\t}\n\n\t},{}],32:[function(require,module,exports){\n\texports.read = function (buffer, offset, isLE, mLen, nBytes) {\n\t var e, m;\n\t var eLen = (nBytes * 8) - mLen - 1;\n\t var eMax = (1 << eLen) - 1;\n\t var eBias = eMax >> 1;\n\t var nBits = -7;\n\t var i = isLE ? (nBytes - 1) : 0;\n\t var d = isLE ? -1 : 1;\n\t var s = buffer[offset + i];\n\n\t i += d;\n\n\t e = s & ((1 << (-nBits)) - 1);\n\t s >>= (-nBits);\n\t nBits += eLen;\n\t for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n\t m = e & ((1 << (-nBits)) - 1);\n\t e >>= (-nBits);\n\t nBits += mLen;\n\t for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n\t if (e === 0) {\n\t e = 1 - eBias;\n\t } else if (e === eMax) {\n\t return m ? NaN : ((s ? -1 : 1) * Infinity)\n\t } else {\n\t m = m + Math.pow(2, mLen);\n\t e = e - eBias;\n\t }\n\t return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n\t};\n\n\texports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n\t var e, m, c;\n\t var eLen = (nBytes * 8) - mLen - 1;\n\t var eMax = (1 << eLen) - 1;\n\t var eBias = eMax >> 1;\n\t var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n\t var i = isLE ? 0 : (nBytes - 1);\n\t var d = isLE ? 1 : -1;\n\t var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n\t value = Math.abs(value);\n\n\t if (isNaN(value) || value === Infinity) {\n\t m = isNaN(value) ? 1 : 0;\n\t e = eMax;\n\t } else {\n\t e = Math.floor(Math.log(value) / Math.LN2);\n\t if (value * (c = Math.pow(2, -e)) < 1) {\n\t e--;\n\t c *= 2;\n\t }\n\t if (e + eBias >= 1) {\n\t value += rt / c;\n\t } else {\n\t value += rt * Math.pow(2, 1 - eBias);\n\t }\n\t if (value * c >= 2) {\n\t e++;\n\t c /= 2;\n\t }\n\n\t if (e + eBias >= eMax) {\n\t m = 0;\n\t e = eMax;\n\t } else if (e + eBias >= 1) {\n\t m = ((value * c) - 1) * Math.pow(2, mLen);\n\t e = e + eBias;\n\t } else {\n\t m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n\t e = 0;\n\t }\n\t }\n\n\t for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n\t e = (e << mLen) | m;\n\t eLen += mLen;\n\t for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n\t buffer[offset + i - d] |= s * 128;\n\t};\n\n\t},{}],33:[function(require,module,exports){\n\tvar toString = {}.toString;\n\n\tmodule.exports = Array.isArray || function (arr) {\n\t return toString.call(arr) == '[object Array]';\n\t};\n\n\t},{}]},{},[24])(24)\n\t});\n\n\n\t});\n\n\tvar index = {\n\t name: 'qrcode',\n\t props: {\n\t /**\n\t * The value of the QR code.\n\t */\n\t value: null,\n\n\t /**\n\t * The options for the QR code generator.\n\t * {@link https://github.com/soldair/node-qrcode#qr-code-options}\n\t */\n\t options: Object,\n\n\t /**\n\t * The tag name of the component's root element.\n\t */\n\t tag: {\n\t type: String,\n\t default: 'canvas'\n\t }\n\t },\n\t render: function render(createElement) {\n\t return createElement(this.tag, this.$slots.default);\n\t },\n\t watch: {\n\t $props: {\n\t deep: true,\n\t immediate: true,\n\n\t /**\n\t * Update the QR code when props changed.\n\t */\n\t handler: function handler() {\n\t if (this.$el) {\n\t this.generate();\n\t }\n\t }\n\t }\n\t },\n\t methods: {\n\t /**\n\t * Generate QR code.\n\t */\n\t generate: function generate() {\n\t var _this = this;\n\n\t var options = this.options,\n\t tag = this.tag;\n\t var value = String(this.value);\n\n\t if (tag === 'canvas') {\n\t qrcode.toCanvas(this.$el, value, options, function (error) {\n\t /* istanbul ignore if */\n\t if (error) {\n\t throw error;\n\t }\n\t });\n\t } else if (tag === 'img') {\n\t qrcode.toDataURL(value, options, function (error, url) {\n\t /* istanbul ignore if */\n\t if (error) {\n\t throw error;\n\t }\n\n\t _this.$el.src = url;\n\t });\n\t } else {\n\t qrcode.toString(value, options, function (error, string) {\n\t /* istanbul ignore if */\n\t if (error) {\n\t throw error;\n\t }\n\n\t _this.$el.innerHTML = string;\n\t });\n\t }\n\t }\n\t },\n\t mounted: function mounted() {\n\t this.generate();\n\t }\n\t};\n\n\treturn index;\n\n})));\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTab\",class:{ 'icon-loading': _vm.loading }},[(_vm.error)?_c('div',{staticClass:\"emptycontent\",class:{ emptyContentWithSections: _vm.sections.length > 0 }},[_c('div',{staticClass:\"icon icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.error))])]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView),expression:\"!showSharingDetailsView\"}],staticClass:\"sharingTab__content\"},[(_vm.isSharedWithMe)?_c('ul',[_c('SharingEntrySimple',_vm._b({staticClass:\"sharing-entry__reshare\",scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.sharedWithMe.user,\"display-name\":_vm.sharedWithMe.displayName}})]},proxy:true}],null,false,3197855346)},'SharingEntrySimple',_vm.sharedWithMe,false))],1):_vm._e(),_vm._v(\" \"),_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'Internal shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"type\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'Internal shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}])})]},proxy:true}])},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.internalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"reshare\":_vm.reshare,\"shares\":_vm.shares,\"placeholder\":_vm.internalShareInputPlaceholder},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{ref:\"shareList\",attrs:{\"shares\":_vm.shares,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(_vm.canReshare && !_vm.loading)?_c('SharingInherited',{attrs:{\"file-info\":_vm.fileInfo}}):_vm._e(),_vm._v(\" \"),_c('SharingEntryInternal',{attrs:{\"file-info\":_vm.fileInfo}})],1),_vm._v(\" \"),_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'External shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"type\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'External shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}])})]},proxy:true}])},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.externalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"is-external\":true,\"placeholder\":_vm.externalShareInputPlaceholder,\"reshare\":_vm.reshare,\"shares\":_vm.shares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{attrs:{\"shares\":_vm.externalShares,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading && _vm.isLinkSharingAllowed)?_c('SharingLinkList',{ref:\"linkShareList\",attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"shares\":_vm.linkShares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e()],1),_vm._v(\" \"),(_vm.sections.length > 0 && !_vm.showSharingDetailsView)?_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'Additional shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"type\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'Additional shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,915383693)})]},proxy:true}],null,false,1027936137)},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.additionalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),_vm._l((_vm.sections),function(section,index){return _c('div',{key:index,ref:'section-' + index,refInFor:true,staticClass:\"sharingTab__additionalContent\"},[_c(section(_vm.$refs['section-'+index], _vm.fileInfo),{tag:\"component\",attrs:{\"file-info\":_vm.fileInfo}})],1)}),_vm._v(\" \"),(_vm.projectsEnabled)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView && _vm.fileInfo),expression:\"!showSharingDetailsView && fileInfo\"}],staticClass:\"sharingTab__additionalContent\"},[_c('CollectionList',{attrs:{\"id\":`${_vm.fileInfo.id}`,\"type\":\"file\",\"name\":_vm.fileInfo.name}})],1):_vm._e()],2):_vm._e()]),_vm._v(\" \"),(_vm.showSharingDetailsView)?_c('SharingDetailsTab',{attrs:{\"file-info\":_vm.shareDetailsData.fileInfo,\"share\":_vm.shareDetailsData.share},on:{\"close-sharing-details\":_vm.toggleShareDetailsView,\"add:share\":_vm.addShare,\"remove:share\":_vm.removeShare}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../css-loader/dist/cjs.js!./index-CJAYjuyf.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../css-loader/dist/cjs.js!./index-CJAYjuyf.css\";\n export default content && content.locals ? content.locals : undefined;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n","import './assets/index-CJAYjuyf.css';\nimport { t } from \"@nextcloud/l10n\";\nimport NcAvatar from \"@nextcloud/vue/dist/Components/NcAvatar.js\";\nimport NcSelect from \"@nextcloud/vue/dist/Components/NcSelect.js\";\nimport debounce from \"lodash-es/debounce.js\";\nimport NcActions from \"@nextcloud/vue/dist/Components/NcActions.js\";\nimport NcActionButton from \"@nextcloud/vue/dist/Components/NcActionButton.js\";\nimport { reactive, set } from \"vue\";\nimport axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nclass CollectionService {\n constructor() {\n this.http = axios;\n }\n listCollection(collectionId) {\n return this.http.get(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }));\n }\n renameCollection(collectionId, collectionName) {\n return this.http.put(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), {\n collectionName\n }).then((result) => {\n return result.data.ocs.data;\n });\n }\n getCollectionsByResource(resourceType, resourceId) {\n return this.http.get(generateOcsUrl(\"collaboration/resources/{resourceType}/{resourceId}\", { resourceType, resourceId })).then((result) => {\n return result.data.ocs.data;\n });\n }\n createCollection(resourceType, resourceId, name) {\n return this.http.post(generateOcsUrl(\"collaboration/resources/{resourceType}/{resourceId}\", { resourceType, resourceId }), {\n name\n }).then((response) => {\n return response.data.ocs.data;\n });\n }\n addResource(collectionId, resourceType, resourceId) {\n resourceId = \"\" + resourceId;\n return this.http.post(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), {\n resourceType,\n resourceId\n }).then((response) => {\n return response.data.ocs.data;\n });\n }\n removeResource(collectionId, resourceType, resourceId) {\n return this.http.delete(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), { params: { resourceType, resourceId } }).then((response) => {\n return response.data.ocs.data;\n });\n }\n search(query) {\n return this.http.get(generateOcsUrl(\"collaboration/resources/collections/search/{query}\", { query })).then((response) => {\n return response.data.ocs.data;\n });\n }\n}\nconst service = new CollectionService();\nconst state = reactive({\n collections: []\n});\nconst mutations = {\n addCollections(collections) {\n set(state, \"collections\", collections);\n },\n addCollection(collection) {\n state.collections.push(collection);\n },\n removeCollection(collectionId) {\n set(state, \"collections\", state.collections.filter((item) => item.id !== collectionId));\n },\n updateCollection(collection) {\n const index = state.collections.findIndex((_item) => _item.id === collection.id);\n if (index !== -1) {\n set(state.collections, index, collection);\n } else {\n state.collections.push(collection);\n }\n }\n};\nconst actions = {\n fetchCollectionsByResource({ resourceType, resourceId }) {\n return service.getCollectionsByResource(resourceType, resourceId).then((collections) => {\n mutations.addCollections(collections);\n return collections;\n });\n },\n createCollection({ baseResourceType, baseResourceId, resourceType, resourceId, name }) {\n return service.createCollection(baseResourceType, baseResourceId, name).then((collection) => {\n mutations.addCollection(collection);\n actions.addResourceToCollection({\n collectionId: collection.id,\n resourceType,\n resourceId\n });\n });\n },\n renameCollection({ collectionId, name }) {\n return service.renameCollection(collectionId, name).then((collection) => {\n mutations.updateCollection(collection);\n return collection;\n });\n },\n addResourceToCollection({ collectionId, resourceType, resourceId }) {\n return service.addResource(collectionId, resourceType, resourceId).then((collection) => {\n mutations.updateCollection(collection);\n return collection;\n });\n },\n removeResource({ collectionId, resourceType, resourceId }) {\n return service.removeResource(collectionId, resourceType, resourceId).then((collection) => {\n if (collection.resources.length > 0) {\n mutations.updateCollection(collection);\n } else {\n mutations.removeCollection(collection);\n }\n });\n },\n search(query) {\n return service.search(query);\n }\n};\nfunction normalizeComponent(scriptExports, render3, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render3) {\n options.render = render3;\n options.staticRenderFns = staticRenderFns;\n options._compiled = true;\n }\n if (functionalTemplate) {\n options.functional = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n );\n } : injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nconst _sfc_main$1 = {\n name: \"CollectionListItem\",\n components: {\n NcAvatar,\n NcActions,\n NcActionButton\n },\n props: {\n collection: {\n type: Object,\n default: null\n }\n },\n data() {\n return {\n detailsOpen: false,\n newName: null,\n error: {}\n };\n },\n computed: {\n getIcon() {\n return (resource) => [resource.iconClass];\n },\n typeClass() {\n return (resource) => \"resource-type-\" + resource.type;\n },\n limitedResources() {\n return (collection) => collection.resources ? collection.resources.slice(0, 2) : [];\n },\n iconUrl() {\n return (resource) => {\n if (resource.mimetype) {\n return OC.MimeType.getIconUrl(resource.mimetype);\n }\n if (resource.iconUrl) {\n return resource.iconUrl;\n }\n return \"\";\n };\n }\n },\n methods: {\n t,\n toggleDetails() {\n this.detailsOpen = !this.detailsOpen;\n },\n showDetails() {\n this.detailsOpen = true;\n },\n hideDetails() {\n this.detailsOpen = false;\n },\n removeResource(collection, resource) {\n actions.removeResource({\n collectionId: collection.id,\n resourceType: resource.type,\n resourceId: resource.id\n });\n },\n openRename() {\n this.newName = this.collection.name;\n },\n renameCollection() {\n if (this.newName === \"\") {\n this.newName = null;\n return;\n }\n actions.renameCollection({\n collectionId: this.collection.id,\n name: this.newName\n }).then((collection) => {\n this.newName = null;\n }).catch((e) => {\n this.$set(this.error, \"rename\", t(\"core\", \"Failed to rename the project\"));\n console.error(e);\n setTimeout(() => {\n set(this.error, \"rename\", null);\n }, 3e3);\n });\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"collection-list-item\" }, [_c(\"NcAvatar\", { staticClass: \"collection-avatar\", attrs: { \"display-name\": _vm.collection.name, \"allow-placeholder\": \"\" } }), _vm.newName === null ? _c(\"span\", { staticClass: \"collection-item-name\", attrs: { \"title\": \"\" }, on: { \"click\": _vm.showDetails } }, [_vm._v(_vm._s(_vm.collection.name))]) : _c(\"form\", { class: { \"shouldshake\": _vm.error.rename }, on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.renameCollection.apply(null, arguments);\n } } }, [_c(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.newName, expression: \"newName\" }], attrs: { \"type\": \"text\", \"autocomplete\": \"off\", \"autocapitalize\": \"off\" }, domProps: { \"value\": _vm.newName }, on: { \"input\": function($event) {\n if ($event.target.composing) return;\n _vm.newName = $event.target.value;\n } } }), _c(\"input\", { staticClass: \"icon-confirm\", attrs: { \"type\": \"submit\", \"value\": \"\" } })]), !_vm.detailsOpen && _vm.newName === null ? _c(\"div\", { staticClass: \"linked-icons\" }, _vm._l(_vm.limitedResources(_vm.collection), function(resource) {\n return _c(\"a\", { key: resource.type + \"|\" + resource.id, class: _vm.typeClass(resource), attrs: { \"title\": resource.name, \"href\": resource.link } }, [_c(\"img\", { attrs: { \"src\": _vm.iconUrl(resource) } })]);\n }), 0) : _vm._e(), _vm.newName === null ? _c(\"span\", { staticClass: \"sharingOptionsGroup\" }, [_c(\"NcActions\", [_c(\"NcActionButton\", { attrs: { \"icon\": \"icon-info\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.toggleDetails.apply(null, arguments);\n } } }, [_vm._v(\" \" + _vm._s(_vm.detailsOpen ? _vm.t(\"core\", \"Hide details\") : _vm.t(\"core\", \"Show details\")) + \" \")]), _c(\"NcActionButton\", { attrs: { \"icon\": \"icon-rename\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.openRename.apply(null, arguments);\n } } }, [_vm._v(\" \" + _vm._s(_vm.t(\"core\", \"Rename project\")) + \" \")])], 1)], 1) : _vm._e(), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.error.rename ? _c(\"div\", { staticClass: \"error\" }, [_vm._v(\" \" + _vm._s(_vm.error.rename) + \" \")]) : _vm._e()]), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.detailsOpen ? _c(\"ul\", { staticClass: \"resource-list-details\" }, _vm._l(_vm.collection.resources, function(resource) {\n return _c(\"li\", { key: resource.type + \"|\" + resource.id, class: _vm.typeClass(resource) }, [_c(\"a\", { attrs: { \"href\": resource.link } }, [_c(\"img\", { attrs: { \"src\": _vm.iconUrl(resource) } }), _c(\"span\", { staticClass: \"resource-name\" }, [_vm._v(_vm._s(resource.name || \"\"))])]), _c(\"span\", { staticClass: \"icon-close\", on: { \"click\": function($event) {\n return _vm.removeResource(_vm.collection, resource);\n } } })]);\n }), 0) : _vm._e()])], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"42733c12\",\n null,\n null\n);\nconst CollectionListItem = __component__$1.exports;\nconst METHOD_CREATE_COLLECTION = 0;\nconst METHOD_ADD_TO_COLLECTION = 1;\nconst _debouncedSearch = debounce(\n function(query, loading) {\n if (query !== \"\") {\n loading(true);\n actions.search(query).then((collections) => {\n this.searchCollections = collections;\n }).catch((e) => {\n console.error(\"Failed to search for collections\", e);\n }).finally(() => {\n loading(false);\n });\n }\n },\n 500,\n {}\n);\nconst _sfc_main = {\n name: \"CollectionList\",\n components: {\n CollectionListItem,\n NcAvatar,\n NcSelect\n },\n props: {\n /**\n * Resource type identifier\n */\n type: {\n type: String,\n default: null\n },\n /**\n * Unique id of the resource\n */\n id: {\n type: String,\n default: null\n },\n /**\n * Name of the resource\n */\n name: {\n type: String,\n default: \"\"\n },\n isActive: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n return {\n state\n };\n },\n data() {\n return {\n selectIsOpen: false,\n generatingCodes: false,\n codes: void 0,\n value: null,\n model: {},\n searchCollections: [],\n error: null,\n isSelectOpen: false\n };\n },\n computed: {\n collections() {\n return this.state.collections.filter((collection) => {\n return typeof collection.resources.find((resource) => resource && resource.id === \"\" + this.id && resource.type === this.type) !== \"undefined\";\n });\n },\n placeholder() {\n return this.isSelectOpen ? t(\"core\", \"Type to search for existing projects\") : t(\"core\", \"Add to a project\");\n },\n options() {\n const options = [];\n window.OCP.Collaboration.getTypes().sort().forEach((type) => {\n options.push({\n method: METHOD_CREATE_COLLECTION,\n type,\n title: window.OCP.Collaboration.getLabel(type),\n class: window.OCP.Collaboration.getIcon(type),\n action: () => window.OCP.Collaboration.trigger(type)\n });\n });\n for (const index in this.searchCollections) {\n if (this.collections.findIndex((collection) => collection.id === this.searchCollections[index].id) === -1) {\n options.push({\n method: METHOD_ADD_TO_COLLECTION,\n title: this.searchCollections[index].name,\n collectionId: this.searchCollections[index].id\n });\n }\n }\n return options;\n }\n },\n watch: {\n type() {\n if (this.isActive) {\n actions.fetchCollectionsByResource({\n resourceType: this.type,\n resourceId: this.id\n });\n }\n },\n id() {\n if (this.isActive) {\n actions.fetchCollectionsByResource({\n resourceType: this.type,\n resourceId: this.id\n });\n }\n },\n isActive(isActive) {\n if (isActive) {\n actions.fetchCollectionsByResource({\n resourceType: this.type,\n resourceId: this.id\n });\n }\n }\n },\n mounted() {\n actions.fetchCollectionsByResource({\n resourceType: this.type,\n resourceId: this.id\n });\n },\n methods: {\n t,\n select(selectedOption, id) {\n if (selectedOption.method === METHOD_CREATE_COLLECTION) {\n selectedOption.action().then((id2) => {\n actions.createCollection({\n baseResourceType: this.type,\n baseResourceId: this.id,\n resourceType: selectedOption.type,\n resourceId: id2,\n name: this.name\n }).catch((e) => {\n this.setError(t(\"core\", \"Failed to create a project\"), e);\n });\n }).catch((e) => {\n console.error(\"No resource selected\", e);\n });\n }\n if (selectedOption.method === METHOD_ADD_TO_COLLECTION) {\n actions.addResourceToCollection({\n collectionId: selectedOption.collectionId,\n resourceType: this.type,\n resourceId: this.id\n }).catch((e) => {\n this.setError(t(\"core\", \"Failed to add the item to the project\"), e);\n });\n }\n },\n search(query, loading) {\n _debouncedSearch.bind(this)(query, loading);\n },\n showSelect() {\n this.selectIsOpen = true;\n this.$refs.select.$el.focus();\n },\n hideSelect() {\n this.selectIsOpen = false;\n },\n isVueComponent(object) {\n return object._isVue;\n },\n setError(error, e) {\n console.error(error, e);\n this.error = error;\n setTimeout(() => {\n this.error = null;\n }, 5e3);\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _vm.collections && _vm.type && _vm.id ? _c(\"ul\", { staticClass: \"collection-list\", attrs: { \"id\": \"collection-list\" } }, [_c(\"li\", { on: { \"click\": _vm.showSelect } }, [_vm._m(0), _c(\"div\", { attrs: { \"id\": \"collection-select-container\" } }, [_c(\"NcSelect\", { ref: \"select\", attrs: { \"aria-label-combobox\": _vm.t(\"core\", \"Add to a project\"), \"options\": _vm.options, \"placeholder\": _vm.placeholder, \"label\": \"title\", \"limit\": 5 }, on: { \"close\": function($event) {\n _vm.isSelectOpen = false;\n }, \"open\": function($event) {\n _vm.isSelectOpen = true;\n }, \"option:selected\": _vm.select, \"search\": _vm.search }, scopedSlots: _vm._u([{ key: \"selected-option\", fn: function(option) {\n return [_c(\"span\", { staticClass: \"option__desc\" }, [_c(\"span\", { staticClass: \"option__title\" }, [_vm._v(_vm._s(option.title))])])];\n } }, { key: \"option\", fn: function(option) {\n return [_c(\"span\", { staticClass: \"option__wrapper\" }, [option.class ? _c(\"span\", { staticClass: \"avatar\", class: option.class }) : option.method !== 2 ? _c(\"NcAvatar\", { attrs: { \"allow-placeholder\": \"\", \"display-name\": option.title } }) : _vm._e(), _c(\"span\", { staticClass: \"option__title\" }, [_vm._v(_vm._s(option.title))])], 1)];\n } }], null, false, 2397208459), model: { value: _vm.value, callback: function($$v) {\n _vm.value = $$v;\n }, expression: \"value\" } }, [_c(\"p\", { staticClass: \"hint\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"core\", \"Connect items to a project to make them easier to find\")) + \" \")])])], 1)]), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.error ? _c(\"li\", { staticClass: \"error\" }, [_vm._v(\" \" + _vm._s(_vm.error) + \" \")]) : _vm._e()]), _vm._l(_vm.collections, function(collection) {\n return _c(\"CollectionListItem\", { key: collection.id, attrs: { \"collection\": collection } });\n })], 2) : _vm._e();\n};\nvar _sfc_staticRenderFns = [function() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"avatar\" }, [_c(\"span\", { staticClass: \"icon-projects\" })]);\n}];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"8ebb2593\",\n null,\n null\n);\nconst CollectionList = __component__.exports;\nexport {\n CollectionList,\n CollectionListItem\n};\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCapabilities } from '@nextcloud/capabilities';\nimport { loadState } from '@nextcloud/initial-state';\nexport default class Config {\n _capabilities;\n constructor() {\n this._capabilities = getCapabilities();\n }\n /**\n * Get default share permissions, if any\n */\n get defaultPermissions() {\n return this._capabilities.files_sharing?.default_permissions;\n }\n /**\n * Is public upload allowed on link shares ?\n * This covers File request and Full upload/edit option.\n */\n get isPublicUploadEnabled() {\n return this._capabilities.files_sharing?.public?.upload === true;\n }\n /**\n * Get the federated sharing documentation link\n */\n get federatedShareDocLink() {\n return window.OC.appConfig.core.federatedCloudShareDoc;\n }\n /**\n * Get the default link share expiration date\n */\n get defaultExpirationDate() {\n if (this.isDefaultExpireDateEnabled && this.defaultExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultExpireDate));\n }\n return null;\n }\n /**\n * Get the default internal expiration date\n */\n get defaultInternalExpirationDate() {\n if (this.isDefaultInternalExpireDateEnabled && this.defaultInternalExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultInternalExpireDate));\n }\n return null;\n }\n /**\n * Get the default remote expiration date\n */\n get defaultRemoteExpirationDateString() {\n if (this.isDefaultRemoteExpireDateEnabled && this.defaultRemoteExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultRemoteExpireDate));\n }\n return null;\n }\n /**\n * Are link shares password-enforced ?\n */\n get enforcePasswordForPublicLink() {\n return window.OC.appConfig.core.enforcePasswordForPublicLink === true;\n }\n /**\n * Is password asked by default on link shares ?\n */\n get enableLinkPasswordByDefault() {\n return window.OC.appConfig.core.enableLinkPasswordByDefault === true;\n }\n /**\n * Is link shares expiration enforced ?\n */\n get isDefaultExpireDateEnforced() {\n return window.OC.appConfig.core.defaultExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new link shares ?\n */\n get isDefaultExpireDateEnabled() {\n return window.OC.appConfig.core.defaultExpireDateEnabled === true;\n }\n /**\n * Is internal shares expiration enforced ?\n */\n get isDefaultInternalExpireDateEnforced() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new internal shares ?\n */\n get isDefaultInternalExpireDateEnabled() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnabled === true;\n }\n /**\n * Is remote shares expiration enforced ?\n */\n get isDefaultRemoteExpireDateEnforced() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new remote shares ?\n */\n get isDefaultRemoteExpireDateEnabled() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnabled === true;\n }\n /**\n * Are users on this server allowed to send shares to other servers ?\n */\n get isRemoteShareAllowed() {\n return window.OC.appConfig.core.remoteShareAllowed === true;\n }\n /**\n * Is public sharing enabled ?\n */\n get isPublicShareAllowed() {\n return this._capabilities?.files_sharing?.public?.enabled === true;\n }\n /**\n * Is sharing my mail (link share) enabled ?\n */\n get isMailShareAllowed() {\n // eslint-disable-next-line camelcase\n return this._capabilities?.files_sharing?.sharebymail?.enabled === true\n // eslint-disable-next-line camelcase\n && this.isPublicShareAllowed === true;\n }\n /**\n * Get the default days to link shares expiration\n */\n get defaultExpireDate() {\n return window.OC.appConfig.core.defaultExpireDate;\n }\n /**\n * Get the default days to internal shares expiration\n */\n get defaultInternalExpireDate() {\n return window.OC.appConfig.core.defaultInternalExpireDate;\n }\n /**\n * Get the default days to remote shares expiration\n */\n get defaultRemoteExpireDate() {\n return window.OC.appConfig.core.defaultRemoteExpireDate;\n }\n /**\n * Is resharing allowed ?\n */\n get isResharingAllowed() {\n return window.OC.appConfig.core.resharingAllowed === true;\n }\n /**\n * Is password enforced for mail shares ?\n */\n get isPasswordForMailSharesRequired() {\n return this._capabilities.files_sharing?.sharebymail?.password?.enforced === true;\n }\n /**\n * Always show the email or userid unique sharee label if enabled by the admin\n */\n get shouldAlwaysShowUnique() {\n return this._capabilities.files_sharing?.sharee?.always_show_unique === true;\n }\n /**\n * Is sharing with groups allowed ?\n */\n get allowGroupSharing() {\n return window.OC.appConfig.core.allowGroupSharing === true;\n }\n /**\n * Get the maximum results of a share search\n */\n get maxAutocompleteResults() {\n return parseInt(window.OC.config['sharing.maxAutocompleteResults'], 10) || 25;\n }\n /**\n * Get the minimal string length\n * to initiate a share search\n */\n get minSearchStringLength() {\n return parseInt(window.OC.config['sharing.minSearchStringLength'], 10) || 0;\n }\n /**\n * Get the password policy configuration\n */\n get passwordPolicy() {\n return this._capabilities?.password_policy || {};\n }\n /**\n * Returns true if custom tokens are allowed\n */\n get allowCustomTokens() {\n return this._capabilities?.files_sharing?.public?.custom_tokens;\n }\n /**\n * Show federated shares as internal shares\n * @return {boolean}\n */\n get showFederatedSharesAsInternal() {\n return loadState('files_sharing', 'showFederatedSharesAsInternal', false);\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('files_sharing')\n .detectUser()\n .build();\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { isFileRequest } from '../services/SharingService';\nexport default class Share {\n _share;\n /**\n * Create the share object\n *\n * @param {object} ocsData ocs request response\n */\n constructor(ocsData) {\n if (ocsData.ocs && ocsData.ocs.data && ocsData.ocs.data[0]) {\n ocsData = ocsData.ocs.data[0];\n }\n // string to int\n if (typeof ocsData.id === 'string') {\n ocsData.id = Number.parseInt(ocsData.id);\n }\n // convert int into boolean\n ocsData.hide_download = !!ocsData.hide_download;\n ocsData.mail_send = !!ocsData.mail_send;\n if (ocsData.attributes && typeof ocsData.attributes === 'string') {\n try {\n ocsData.attributes = JSON.parse(ocsData.attributes);\n }\n catch (e) {\n console.warn('Could not parse share attributes returned by server', ocsData.attributes);\n }\n }\n ocsData.attributes = ocsData.attributes ?? [];\n // store state\n this._share = ocsData;\n }\n /**\n * Get the share state\n * ! used for reactivity purpose\n * Do not remove. It allow vuejs to\n * inject its watchers into the #share\n * state and make the whole class reactive\n *\n * @return {object} the share raw state\n */\n get state() {\n return this._share;\n }\n /**\n * get the share id\n */\n get id() {\n return this._share.id;\n }\n /**\n * Get the share type\n */\n get type() {\n return this._share.share_type;\n }\n /**\n * Get the share permissions\n * See window.OC.PERMISSION_* variables\n */\n get permissions() {\n return this._share.permissions;\n }\n /**\n * Get the share attributes\n */\n get attributes() {\n return this._share.attributes || [];\n }\n /**\n * Set the share permissions\n * See window.OC.PERMISSION_* variables\n */\n set permissions(permissions) {\n this._share.permissions = permissions;\n }\n // SHARE OWNER --------------------------------------------------\n /**\n * Get the share owner uid\n */\n get owner() {\n return this._share.uid_owner;\n }\n /**\n * Get the share owner's display name\n */\n get ownerDisplayName() {\n return this._share.displayname_owner;\n }\n // SHARED WITH --------------------------------------------------\n /**\n * Get the share with entity uid\n */\n get shareWith() {\n return this._share.share_with;\n }\n /**\n * Get the share with entity display name\n * fallback to its uid if none\n */\n get shareWithDisplayName() {\n return this._share.share_with_displayname\n || this._share.share_with;\n }\n /**\n * Unique display name in case of multiple\n * duplicates results with the same name.\n */\n get shareWithDisplayNameUnique() {\n return this._share.share_with_displayname_unique\n || this._share.share_with;\n }\n /**\n * Get the share with entity link\n */\n get shareWithLink() {\n return this._share.share_with_link;\n }\n /**\n * Get the share with avatar if any\n */\n get shareWithAvatar() {\n return this._share.share_with_avatar;\n }\n // SHARED FILE OR FOLDER OWNER ----------------------------------\n /**\n * Get the shared item owner uid\n */\n get uidFileOwner() {\n return this._share.uid_file_owner;\n }\n /**\n * Get the shared item display name\n * fallback to its uid if none\n */\n get displaynameFileOwner() {\n return this._share.displayname_file_owner\n || this._share.uid_file_owner;\n }\n // TIME DATA ----------------------------------------------------\n /**\n * Get the share creation timestamp\n */\n get createdTime() {\n return this._share.stime;\n }\n /**\n * Get the expiration date\n * @return {string} date with YYYY-MM-DD format\n */\n get expireDate() {\n return this._share.expiration;\n }\n /**\n * Set the expiration date\n * @param {string} date the share expiration date with YYYY-MM-DD format\n */\n set expireDate(date) {\n this._share.expiration = date;\n }\n // EXTRA DATA ---------------------------------------------------\n /**\n * Get the public share token\n */\n get token() {\n return this._share.token;\n }\n /**\n * Set the public share token\n */\n set token(token) {\n this._share.token = token;\n }\n /**\n * Get the share note if any\n */\n get note() {\n return this._share.note;\n }\n /**\n * Set the share note if any\n */\n set note(note) {\n this._share.note = note;\n }\n /**\n * Get the share label if any\n * Should only exist on link shares\n */\n get label() {\n return this._share.label ?? '';\n }\n /**\n * Set the share label if any\n * Should only be set on link shares\n */\n set label(label) {\n this._share.label = label;\n }\n /**\n * Have a mail been sent\n */\n get mailSend() {\n return this._share.mail_send === true;\n }\n /**\n * Hide the download button on public page\n */\n get hideDownload() {\n return this._share.hide_download === true\n || this.attributes.find?.(({ scope, key, value }) => scope === 'permissions' && key === 'download' && !value) !== undefined;\n }\n /**\n * Hide the download button on public page\n */\n set hideDownload(state) {\n // disabling hide-download also enables the download permission\n // needed for regression in Nextcloud 31.0.0 until (incl.) 31.0.3\n if (!state) {\n const attribute = this.attributes.find(({ key, scope }) => key === 'download' && scope === 'permissions');\n if (attribute) {\n attribute.value = true;\n }\n }\n this._share.hide_download = state === true;\n }\n /**\n * Password protection of the share\n */\n get password() {\n return this._share.password;\n }\n /**\n * Password protection of the share\n */\n set password(password) {\n this._share.password = password;\n }\n /**\n * Password expiration time\n * @return {string} date with YYYY-MM-DD format\n */\n get passwordExpirationTime() {\n return this._share.password_expiration_time;\n }\n /**\n * Password expiration time\n * @param {string} passwordExpirationTime date with YYYY-MM-DD format\n */\n set passwordExpirationTime(passwordExpirationTime) {\n this._share.password_expiration_time = passwordExpirationTime;\n }\n /**\n * Password protection by Talk of the share\n */\n get sendPasswordByTalk() {\n return this._share.send_password_by_talk;\n }\n /**\n * Password protection by Talk of the share\n *\n * @param {boolean} sendPasswordByTalk whether to send the password by Talk or not\n */\n set sendPasswordByTalk(sendPasswordByTalk) {\n this._share.send_password_by_talk = sendPasswordByTalk;\n }\n // SHARED ITEM DATA ---------------------------------------------\n /**\n * Get the shared item absolute full path\n */\n get path() {\n return this._share.path;\n }\n /**\n * Return the item type: file or folder\n * @return {string} 'folder' | 'file'\n */\n get itemType() {\n return this._share.item_type;\n }\n /**\n * Get the shared item mimetype\n */\n get mimetype() {\n return this._share.mimetype;\n }\n /**\n * Get the shared item id\n */\n get fileSource() {\n return this._share.file_source;\n }\n /**\n * Get the target path on the receiving end\n * e.g the file /xxx/aaa will be shared in\n * the receiving root as /aaa, the fileTarget is /aaa\n */\n get fileTarget() {\n return this._share.file_target;\n }\n /**\n * Get the parent folder id if any\n */\n get fileParent() {\n return this._share.file_parent;\n }\n // PERMISSIONS Shortcuts\n /**\n * Does this share have READ permissions\n */\n get hasReadPermission() {\n return !!((this.permissions & window.OC.PERMISSION_READ));\n }\n /**\n * Does this share have CREATE permissions\n */\n get hasCreatePermission() {\n return !!((this.permissions & window.OC.PERMISSION_CREATE));\n }\n /**\n * Does this share have DELETE permissions\n */\n get hasDeletePermission() {\n return !!((this.permissions & window.OC.PERMISSION_DELETE));\n }\n /**\n * Does this share have UPDATE permissions\n */\n get hasUpdatePermission() {\n return !!((this.permissions & window.OC.PERMISSION_UPDATE));\n }\n /**\n * Does this share have SHARE permissions\n */\n get hasSharePermission() {\n return !!((this.permissions & window.OC.PERMISSION_SHARE));\n }\n /**\n * Does this share have download permissions\n */\n get hasDownloadPermission() {\n const hasDisabledDownload = (attribute) => {\n return attribute.scope === 'permissions' && attribute.key === 'download' && attribute.value === false;\n };\n return this.attributes.some(hasDisabledDownload);\n }\n /**\n * Is this mail share a file request ?\n */\n get isFileRequest() {\n return isFileRequest(JSON.stringify(this.attributes));\n }\n set hasDownloadPermission(enabled) {\n this.setAttribute('permissions', 'download', !!enabled);\n }\n setAttribute(scope, key, value) {\n const attrUpdate = {\n scope,\n key,\n value,\n };\n // try and replace existing\n for (const i in this._share.attributes) {\n const attr = this._share.attributes[i];\n if (attr.scope === attrUpdate.scope && attr.key === attrUpdate.key) {\n this._share.attributes.splice(i, 1, attrUpdate);\n return;\n }\n }\n this._share.attributes.push(attrUpdate);\n }\n // PERMISSIONS Shortcuts for the CURRENT USER\n // ! the permissions above are the share settings,\n // ! meaning the permissions for the recipient\n /**\n * Can the current user EDIT this share ?\n */\n get canEdit() {\n return this._share.can_edit === true;\n }\n /**\n * Can the current user DELETE this share ?\n */\n get canDelete() {\n return this._share.can_delete === true;\n }\n /**\n * Top level accessible shared folder fileid for the current user\n */\n get viaFileid() {\n return this._share.via_fileid;\n }\n /**\n * Top level accessible shared folder path for the current user\n */\n get viaPath() {\n return this._share.via_path;\n }\n // TODO: SORT THOSE PROPERTIES\n get parent() {\n return this._share.parent;\n }\n get storageId() {\n return this._share.storage_id;\n }\n get storage() {\n return this._share.storage;\n }\n get itemSource() {\n return this._share.item_source;\n }\n get status() {\n return this._share.status;\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n// TODO: Fix this instead of disabling ESLint!!!\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { Folder, File, Permission, davRemoteURL, davRootPath } from '@nextcloud/files';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport axios from '@nextcloud/axios';\nimport logger from './logger';\nconst headers = {\n 'Content-Type': 'application/json',\n};\nconst ocsEntryToNode = async function (ocsEntry) {\n try {\n // Federated share handling\n if (ocsEntry?.remote_id !== undefined) {\n if (!ocsEntry.mimetype) {\n const mime = (await import('mime')).default;\n // This won't catch files without an extension, but this is the best we can do\n ocsEntry.mimetype = mime.getType(ocsEntry.name);\n }\n ocsEntry.item_type = ocsEntry.type || (ocsEntry.mimetype ? 'file' : 'folder');\n // different naming for remote shares\n ocsEntry.item_mtime = ocsEntry.mtime;\n ocsEntry.file_target = ocsEntry.file_target || ocsEntry.mountpoint;\n if (ocsEntry.file_target.includes('TemporaryMountPointName')) {\n ocsEntry.file_target = ocsEntry.name;\n }\n // If the share is not accepted yet we don't know which permissions it will have\n if (!ocsEntry.accepted) {\n // Need to set permissions to NONE for federated shares\n ocsEntry.item_permissions = Permission.NONE;\n ocsEntry.permissions = Permission.NONE;\n }\n ocsEntry.uid_owner = ocsEntry.owner;\n // TODO: have the real display name stored somewhere\n ocsEntry.displayname_owner = ocsEntry.owner;\n }\n const isFolder = ocsEntry?.item_type === 'folder';\n const hasPreview = ocsEntry?.has_preview === true;\n const Node = isFolder ? Folder : File;\n // If this is an external share that is not yet accepted,\n // we don't have an id. We can fallback to the row id temporarily\n // local shares (this server) use `file_source`, but remote shares (federated) use `file_id`\n const fileid = ocsEntry.file_source || ocsEntry.file_id || ocsEntry.id;\n // Generate path and strip double slashes\n const path = ocsEntry.path || ocsEntry.file_target || ocsEntry.name;\n const source = `${davRemoteURL}${davRootPath}/${path.replace(/^\\/+/, '')}`;\n let mtime = ocsEntry.item_mtime ? new Date((ocsEntry.item_mtime) * 1000) : undefined;\n // Prefer share time if more recent than item mtime\n if (ocsEntry?.stime > (ocsEntry?.item_mtime || 0)) {\n mtime = new Date((ocsEntry.stime) * 1000);\n }\n let sharees;\n if ('share_with' in ocsEntry) {\n sharees = {\n sharee: {\n id: ocsEntry.share_with,\n 'display-name': ocsEntry.share_with_displayname || ocsEntry.share_with,\n type: ocsEntry.share_type,\n },\n };\n }\n return new Node({\n id: fileid,\n source,\n owner: ocsEntry?.uid_owner,\n mime: ocsEntry?.mimetype || 'application/octet-stream',\n mtime,\n size: ocsEntry?.item_size,\n permissions: ocsEntry?.item_permissions || ocsEntry?.permissions,\n root: davRootPath,\n attributes: {\n ...ocsEntry,\n 'has-preview': hasPreview,\n 'hide-download': ocsEntry?.hide_download === 1,\n // Also check the sharingStatusAction.ts code\n 'owner-id': ocsEntry?.uid_owner,\n 'owner-display-name': ocsEntry?.displayname_owner,\n 'share-types': ocsEntry?.share_type,\n 'share-attributes': ocsEntry?.attributes || '[]',\n sharees,\n favorite: ocsEntry?.tags?.includes(window.OC.TAG_FAVORITE) ? 1 : 0,\n },\n });\n }\n catch (error) {\n logger.error('Error while parsing OCS entry', { error });\n return null;\n }\n};\nconst getShares = function (shareWithMe = false) {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares');\n return axios.get(url, {\n headers,\n params: {\n shared_with_me: shareWithMe,\n include_tags: true,\n },\n });\n};\nconst getSharedWithYou = function () {\n return getShares(true);\n};\nconst getSharedWithOthers = function () {\n return getShares();\n};\nconst getRemoteShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\nconst getPendingShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\nconst getRemotePendingShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\nconst getDeletedShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\n/**\n * Check if a file request is enabled\n * @param attributes the share attributes json-encoded array\n */\nexport const isFileRequest = (attributes = '[]') => {\n const isFileRequest = (attribute) => {\n return attribute.scope === 'fileRequest' && attribute.key === 'enabled' && attribute.value === true;\n };\n try {\n const attributesArray = JSON.parse(attributes);\n return attributesArray.some(isFileRequest);\n }\n catch (error) {\n logger.error('Error while parsing share attributes', { error });\n return false;\n }\n};\n/**\n * Group an array of objects (here Nodes) by a key\n * and return an array of arrays of them.\n * @param nodes Nodes to group\n * @param key The attribute to group by\n */\nconst groupBy = function (nodes, key) {\n return Object.values(nodes.reduce(function (acc, curr) {\n (acc[curr[key]] = acc[curr[key]] || []).push(curr);\n return acc;\n }, {}));\n};\nexport const getContents = async (sharedWithYou = true, sharedWithOthers = true, pendingShares = false, deletedshares = false, filterTypes = []) => {\n const promises = [];\n if (sharedWithYou) {\n promises.push(getSharedWithYou(), getRemoteShares());\n }\n if (sharedWithOthers) {\n promises.push(getSharedWithOthers());\n }\n if (pendingShares) {\n promises.push(getPendingShares(), getRemotePendingShares());\n }\n if (deletedshares) {\n promises.push(getDeletedShares());\n }\n const responses = await Promise.all(promises);\n const data = responses.map((response) => response.data.ocs.data).flat();\n let contents = (await Promise.all(data.map(ocsEntryToNode)))\n .filter((node) => node !== null);\n if (filterTypes.length > 0) {\n contents = contents.filter((node) => filterTypes.includes(node.attributes?.share_type));\n }\n // Merge duplicate shares and group their attributes\n // Also check the sharingStatusAction.ts code\n contents = groupBy(contents, 'source').map((nodes) => {\n const node = nodes[0];\n node.attributes['share-types'] = nodes.map(node => node.attributes['share-types']);\n return node;\n });\n return {\n folder: new Folder({\n id: 0,\n source: `${davRemoteURL}${davRootPath}`,\n owner: getCurrentUser()?.uid || null,\n }),\n contents,\n };\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('SharingEntrySimple',{ref:\"shareEntrySimple\",staticClass:\"sharing-entry__internal\",attrs:{\"title\":_vm.t('files_sharing', 'Internal link'),\"subtitle\":_vm.internalLinkSubtitle},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-external icon-external-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"title\":_vm.copyLinkTooltip,\"aria-label\":_vm.copyLinkTooltip},on:{\"click\":_vm.copyLink},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.copied && _vm.copySuccess)?_c('CheckIcon',{staticClass:\"icon-checkmark-color\",attrs:{\"size\":20}}):_c('ClipboardIcon',{attrs:{\"size\":20}})]},proxy:true}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<li class=\"sharing-entry\">\n\t\t<slot name=\"avatar\" />\n\t\t<div class=\"sharing-entry__desc\">\n\t\t\t<span class=\"sharing-entry__title\">{{ title }}</span>\n\t\t\t<p v-if=\"subtitle\">\n\t\t\t\t{{ subtitle }}\n\t\t\t</p>\n\t\t</div>\n\t\t<NcActions v-if=\"$slots['default']\"\n\t\t\tref=\"actionsComponent\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:aria-expanded=\"ariaExpandedValue\">\n\t\t\t<slot />\n\t\t</NcActions>\n\t</li>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/components/NcActions'\n\nexport default {\n\tname: 'SharingEntrySimple',\n\n\tcomponents: {\n\t\tNcActions,\n\t},\n\n\tprops: {\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t},\n\t\tsubtitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tariaExpanded: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tariaExpandedValue() {\n\t\t\tif (this.ariaExpanded === null) {\n\t\t\t\treturn this.ariaExpanded\n\t\t\t}\n\t\t\treturn this.ariaExpanded ? 'true' : 'false'\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tline-height: 1.2em;\n\t\tposition: relative;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__title {\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tmax-width: inherit;\n\t}\n\t&__actions {\n\t\tmargin-inline-start: auto !important;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=style&index=0&id=44339fa4&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=style&index=0&id=44339fa4&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntrySimple.vue?vue&type=template&id=44339fa4&scoped=true\"\nimport script from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntrySimple.vue?vue&type=style&index=0&id=44339fa4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44339fa4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_vm._t(\"avatar\"),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.$slots['default'])?_c('NcActions',{ref:\"actionsComponent\",staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"aria-expanded\":_vm.ariaExpandedValue}},[_vm._t(\"default\")],2):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<ul>\n\t\t<SharingEntrySimple ref=\"shareEntrySimple\"\n\t\t\tclass=\"sharing-entry__internal\"\n\t\t\t:title=\"t('files_sharing', 'Internal link')\"\n\t\t\t:subtitle=\"internalLinkSubtitle\">\n\t\t\t<template #avatar>\n\t\t\t\t<div class=\"avatar-external icon-external-white\" />\n\t\t\t</template>\n\n\t\t\t<NcActionButton :title=\"copyLinkTooltip\"\n\t\t\t\t:aria-label=\"copyLinkTooltip\"\n\t\t\t\t@click=\"copyLink\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CheckIcon v-if=\"copied && copySuccess\"\n\t\t\t\t\t\t:size=\"20\"\n\t\t\t\t\t\tclass=\"icon-checkmark-color\" />\n\t\t\t\t\t<ClipboardIcon v-else :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionButton>\n\t\t</SharingEntrySimple>\n\t</ul>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { showSuccess } from '@nextcloud/dialogs'\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\n\nimport CheckIcon from 'vue-material-design-icons/Check.vue'\nimport ClipboardIcon from 'vue-material-design-icons/ContentCopy.vue'\n\nimport SharingEntrySimple from './SharingEntrySimple.vue'\n\nexport default {\n\tname: 'SharingEntryInternal',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tSharingEntrySimple,\n\t\tCheckIcon,\n\t\tClipboardIcon,\n\t},\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcopied: false,\n\t\t\tcopySuccess: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Get the internal link to this file id\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tinternalLink() {\n\t\t\treturn window.location.protocol + '//' + window.location.host + generateUrl('/f/') + this.fileInfo.id\n\t\t},\n\n\t\t/**\n\t\t * Tooltip message\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tcopyLinkTooltip() {\n\t\t\tif (this.copied) {\n\t\t\t\tif (this.copySuccess) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\treturn t('files_sharing', 'Cannot copy, please copy the link manually')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Copy internal link to clipboard')\n\t\t},\n\n\t\tinternalLinkSubtitle() {\n\t\t\tif (this.fileInfo.type === 'dir') {\n\t\t\t\treturn t('files_sharing', 'Only works for people with access to this folder')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Only works for people with access to this file')\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync copyLink() {\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(this.internalLink)\n\t\t\t\tshowSuccess(t('files_sharing', 'Link copied'))\n\t\t\t\tthis.$refs.shareEntrySimple.$refs.actionsComponent.$el.focus()\n\t\t\t\tthis.copySuccess = true\n\t\t\t\tthis.copied = true\n\t\t\t} catch (error) {\n\t\t\t\tthis.copySuccess = false\n\t\t\t\tthis.copied = true\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.copySuccess = false\n\t\t\t\t\tthis.copied = false\n\t\t\t\t}, 4000)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry__internal {\n\t.avatar-external {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=style&index=0&id=57874406&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=style&index=0&id=57874406&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInternal.vue?vue&type=template&id=57874406&scoped=true\"\nimport script from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInternal.vue?vue&type=style&index=0&id=57874406&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"57874406\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharing-search\"},[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":_vm.shareInputId}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.isExternal ? _vm.t('files_sharing', 'Enter external recipients')\n\t\t\t: _vm.t('files_sharing', 'Search for internal recipients'))+\"\\n\\t\")]),_vm._v(\" \"),_c('NcSelect',{ref:\"select\",staticClass:\"sharing-search__input\",attrs:{\"input-id\":_vm.shareInputId,\"disabled\":!_vm.canReshare,\"loading\":_vm.loading,\"filterable\":false,\"placeholder\":_vm.inputPlaceholder,\"clear-search-on-blur\":() => false,\"user-select\":true,\"options\":_vm.options,\"label-outside\":true},on:{\"search\":_vm.asyncFind,\"option:selected\":_vm.onSelected},scopedSlots:_vm._u([{key:\"no-options\",fn:function({ search }){return [_vm._v(\"\\n\\t\\t\\t\"+_vm._s(search ? _vm.noResultText : _vm.placeholder)+\"\\n\\t\\t\")]}}]),model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n// TODO: remove when ie not supported\nimport 'url-search-params-polyfill'\n\nimport { emit } from '@nextcloud/event-bus'\nimport { showError } from '@nextcloud/dialogs'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\n\nimport Share from '../models/Share.ts'\n\nconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\nexport default {\n\tmethods: {\n\t\t/**\n\t\t * Create a new share\n\t\t *\n\t\t * @param {object} data destructuring object\n\t\t * @param {string} data.path path to the file/folder which should be shared\n\t\t * @param {number} data.shareType 0 = user; 1 = group; 3 = public link; 6 = federated cloud share\n\t\t * @param {string} data.shareWith user/group id with which the file should be shared (optional for shareType > 1)\n\t\t * @param {boolean} [data.publicUpload] allow public upload to a public shared folder\n\t\t * @param {string} [data.password] password to protect public link Share with\n\t\t * @param {number} [data.permissions] 1 = read; 2 = update; 4 = create; 8 = delete; 16 = share; 31 = all (default: 31, for public shares: 1)\n\t\t * @param {boolean} [data.sendPasswordByTalk] send the password via a talk conversation\n\t\t * @param {string} [data.expireDate] expire the share automatically after\n\t\t * @param {string} [data.label] custom label\n\t\t * @param {string} [data.attributes] Share attributes encoded as json\n\t\t * @param {string} data.note custom note to recipient\n\t\t * @return {Share} the new share\n\t\t * @throws {Error}\n\t\t */\n\t\tasync createShare({ path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes }) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\tconst share = new Share(request.data.ocs.data)\n\t\t\t\temit('files_sharing:share:created', { share })\n\t\t\t\treturn share\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while creating share', error)\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tshowError(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error creating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error creating the share'),\n\t\t\t\t\t{ type: 'error' },\n\t\t\t\t)\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @throws {Error}\n\t\t */\n\t\tasync deleteShare(id) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.delete(shareUrl + `/${id}`)\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\temit('files_sharing:share:deleted', { id })\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while deleting share', error)\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error deleting the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error deleting the share'),\n\t\t\t\t\t{ type: 'error' },\n\t\t\t\t)\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @param {object} properties key-value object of the properties to update\n\t\t */\n\t\tasync updateShare(id, properties) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.put(shareUrl + `/${id}`, properties)\n\t\t\t\temit('files_sharing:share:updated', { id })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t} else {\n\t\t\t\t\treturn request.data.ocs.data\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while updating share', error)\n\t\t\t\tif (error.response.status !== 400) {\n\t\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\t\terrorMessage ? t('files_sharing', 'Error updating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error updating the share'),\n\t\t\t\t\t\t{ type: 'error' },\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tconst message = error.response.data.ocs.meta.message\n\t\t\t\tthrow new Error(message)\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport const ATOMIC_PERMISSIONS = {\n\tNONE: 0,\n\tREAD: 1,\n\tUPDATE: 2,\n\tCREATE: 4,\n\tDELETE: 8,\n\tSHARE: 16,\n}\n\nexport const BUNDLED_PERMISSIONS = {\n\tREAD_ONLY: ATOMIC_PERMISSIONS.READ,\n\tUPLOAD_AND_UPDATE: ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE,\n\tFILE_DROP: ATOMIC_PERMISSIONS.CREATE,\n\tALL: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.DELETE | ATOMIC_PERMISSIONS.SHARE,\n\tALL_FILE: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.SHARE,\n}\n\n/**\n * Return whether a given permissions set contains some permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToCheck - the permissions to check.\n * @return {boolean}\n */\nexport function hasPermissions(initialPermissionSet, permissionsToCheck) {\n\treturn initialPermissionSet !== ATOMIC_PERMISSIONS.NONE && (initialPermissionSet & permissionsToCheck) === permissionsToCheck\n}\n\n/**\n * Return whether a given permissions set is valid.\n *\n * @param {number} permissionsSet - the permissions set.\n *\n * @return {boolean}\n */\nexport function permissionsSetIsValid(permissionsSet) {\n\t// Must have at least READ or CREATE permission.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && !hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.CREATE)) {\n\t\treturn false\n\t}\n\n\t// Must have READ permission if have UPDATE or DELETE.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && (\n\t\thasPermissions(permissionsSet, ATOMIC_PERMISSIONS.UPDATE) || hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.DELETE)\n\t)) {\n\t\treturn false\n\t}\n\n\treturn true\n}\n\n/**\n * Add some permissions to an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToAdd - the permissions to add.\n *\n * @return {number}\n */\nexport function addPermissions(initialPermissionSet, permissionsToAdd) {\n\treturn initialPermissionSet | permissionsToAdd\n}\n\n/**\n * Remove some permissions from an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToSubtract - the permissions to remove.\n *\n * @return {number}\n */\nexport function subtractPermissions(initialPermissionSet, permissionsToSubtract) {\n\treturn initialPermissionSet & ~permissionsToSubtract\n}\n\n/**\n * Toggle some permissions from an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {number}\n */\nexport function togglePermissions(initialPermissionSet, permissionsToToggle) {\n\tif (hasPermissions(initialPermissionSet, permissionsToToggle)) {\n\t\treturn subtractPermissions(initialPermissionSet, permissionsToToggle)\n\t} else {\n\t\treturn addPermissions(initialPermissionSet, permissionsToToggle)\n\t}\n}\n\n/**\n * Return whether some given permissions can be toggled from a permission set.\n *\n * @param {number} permissionSet - the initial permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {boolean}\n */\nexport function canTogglePermissions(permissionSet, permissionsToToggle) {\n\treturn permissionsSetIsValid(togglePermissions(permissionSet, permissionsToToggle))\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Share from '../models/Share.ts'\nimport Config from '../services/ConfigService.ts'\nimport { ATOMIC_PERMISSIONS } from '../lib/SharePermissionsToolBox.js'\nimport logger from '../services/logger.ts'\n\nexport default {\n\tmethods: {\n\t\tasync openSharingDetails(shareRequestObject) {\n\t\t\tlet share = {}\n\t\t\t// handle externalResults from OCA.Sharing.ShareSearch\n\t\t\t// TODO : Better name/interface for handler required\n\t\t\t// For example `externalAppCreateShareHook` with proper documentation\n\t\t\tif (shareRequestObject.handler) {\n\t\t\t\tconst handlerInput = {}\n\t\t\t\tif (this.suggestions) {\n\t\t\t\t\thandlerInput.suggestions = this.suggestions\n\t\t\t\t\thandlerInput.fileInfo = this.fileInfo\n\t\t\t\t\thandlerInput.query = this.query\n\t\t\t\t}\n\t\t\t\tconst externalShareRequestObject = await shareRequestObject.handler(handlerInput)\n\t\t\t\tshare = this.mapShareRequestToShareObject(externalShareRequestObject)\n\t\t\t} else {\n\t\t\t\tshare = this.mapShareRequestToShareObject(shareRequestObject)\n\t\t\t}\n\n\t\t\tif (this.fileInfo.type !== 'dir') {\n\t\t\t\tconst originalPermissions = share.permissions\n\t\t\t\tconst strippedPermissions = originalPermissions\n\t\t\t\t\t& ~ATOMIC_PERMISSIONS.CREATE\n\t\t\t\t\t& ~ATOMIC_PERMISSIONS.DELETE\n\n\t\t\t\tif (originalPermissions !== strippedPermissions) {\n\t\t\t\t\tlogger.debug('Removed create/delete permissions from file share (only valid for folders)')\n\t\t\t\t\tshare.permissions = strippedPermissions\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst shareDetails = {\n\t\t\t\tfileInfo: this.fileInfo,\n\t\t\t\tshare,\n\t\t\t}\n\n\t\t\tthis.$emit('open-sharing-details', shareDetails)\n\t\t},\n\t\topenShareDetailsForCustomSettings(share) {\n\t\t\tshare.setCustomPermissions = true\n\t\t\tthis.openSharingDetails(share)\n\t\t},\n\t\tmapShareRequestToShareObject(shareRequestObject) {\n\n\t\t\tif (shareRequestObject.id) {\n\t\t\t\treturn shareRequestObject\n\t\t\t}\n\n\t\t\tconst share = {\n\t\t\t\tattributes: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\tkey: 'download',\n\t\t\t\t\t\tscope: 'permissions',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\thideDownload: false,\n\t\t\t\tshare_type: shareRequestObject.shareType,\n\t\t\t\tshare_with: shareRequestObject.shareWith,\n\t\t\t\tis_no_user: shareRequestObject.isNoUser,\n\t\t\t\tuser: shareRequestObject.shareWith,\n\t\t\t\tshare_with_displayname: shareRequestObject.displayName,\n\t\t\t\tsubtitle: shareRequestObject.subtitle,\n\t\t\t\tpermissions: shareRequestObject.permissions ?? new Config().defaultPermissions,\n\t\t\t\texpiration: '',\n\t\t\t}\n\n\t\t\treturn new Share(share)\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"sharing-search\">\n\t\t<label class=\"hidden-visually\" :for=\"shareInputId\">\n\t\t\t{{ isExternal ? t('files_sharing', 'Enter external recipients')\n\t\t\t\t: t('files_sharing', 'Search for internal recipients') }}\n\t\t</label>\n\t\t<NcSelect ref=\"select\"\n\t\t\tv-model=\"value\"\n\t\t\t:input-id=\"shareInputId\"\n\t\t\tclass=\"sharing-search__input\"\n\t\t\t:disabled=\"!canReshare\"\n\t\t\t:loading=\"loading\"\n\t\t\t:filterable=\"false\"\n\t\t\t:placeholder=\"inputPlaceholder\"\n\t\t\t:clear-search-on-blur=\"() => false\"\n\t\t\t:user-select=\"true\"\n\t\t\t:options=\"options\"\n\t\t\t:label-outside=\"true\"\n\t\t\t@search=\"asyncFind\"\n\t\t\t@option:selected=\"onSelected\">\n\t\t\t<template #no-options=\"{ search }\">\n\t\t\t\t{{ search ? noResultText : placeholder }}\n\t\t\t</template>\n\t\t</NcSelect>\n\t</div>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport axios from '@nextcloud/axios'\nimport debounce from 'debounce'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\n\nimport Config from '../services/ConfigService.ts'\nimport Share from '../models/Share.ts'\nimport ShareRequests from '../mixins/ShareRequests.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\nimport { ShareType } from '@nextcloud/sharing'\n\nexport default {\n\tname: 'SharingInput',\n\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\n\tmixins: [ShareRequests, ShareDetails],\n\n\tprops: {\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tlinkShares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\treshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tisExternal: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\tsetup() {\n\t\treturn {\n\t\t\tshareInputId: `share-input-${Math.random().toString(36).slice(2, 7)}`,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tloading: false,\n\t\t\tquery: '',\n\t\t\trecommendations: [],\n\t\t\tShareSearch: OCA.Sharing.ShareSearch.state,\n\t\t\tsuggestions: [],\n\t\t\tvalue: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Implement ShareSearch\n\t\t * allows external appas to inject new\n\t\t * results into the autocomplete dropdown\n\t\t * Used for the guests app\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\texternalResults() {\n\t\t\treturn this.ShareSearch.results\n\t\t},\n\t\tinputPlaceholder() {\n\t\t\tconst allowRemoteSharing = this.config.isRemoteShareAllowed\n\n\t\t\tif (!this.canReshare) {\n\t\t\t\treturn t('files_sharing', 'Resharing is not allowed')\n\t\t\t}\n\t\t\tif (this.placeholder) {\n\t\t\t\treturn this.placeholder\n\t\t\t}\n\n\t\t\t// We can always search with email addresses for users too\n\t\t\tif (!allowRemoteSharing) {\n\t\t\t\treturn t('files_sharing', 'Name or email …')\n\t\t\t}\n\n\t\t\treturn t('files_sharing', 'Name, email, or Federated Cloud ID …')\n\t\t},\n\n\t\tisValidQuery() {\n\t\t\treturn this.query && this.query.trim() !== '' && this.query.length > this.config.minSearchStringLength\n\t\t},\n\n\t\toptions() {\n\t\t\tif (this.isValidQuery) {\n\t\t\t\treturn this.suggestions\n\t\t\t}\n\t\t\treturn this.recommendations\n\t\t},\n\n\t\tnoResultText() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn t('files_sharing', 'Searching …')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'No elements found.')\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (!this.isExternal) {\n\t\t\t// We can only recommend users, groups etc for internal shares\n\t\t\tthis.getRecommendations()\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonSelected(option) {\n\t\t\tthis.value = null // Reset selected option\n\t\t\tthis.openSharingDetails(option)\n\t\t},\n\n\t\tasync asyncFind(query) {\n\t\t\t// save current query to check if we display\n\t\t\t// recommendations or search results\n\t\t\tthis.query = query.trim()\n\t\t\tif (this.isValidQuery) {\n\t\t\t\t// start loading now to have proper ux feedback\n\t\t\t\t// during the debounce\n\t\t\t\tthis.loading = true\n\t\t\t\tawait this.debounceGetSuggestions(query)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Get suggestions\n\t\t *\n\t\t * @param {string} search the search query\n\t\t * @param {boolean} [lookup] search on lookup server\n\t\t */\n\t\tasync getSuggestions(search, lookup = false) {\n\t\t\tthis.loading = true\n\n\t\t\tif (getCapabilities().files_sharing.sharee.query_lookup_default === true) {\n\t\t\t\tlookup = true\n\t\t\t}\n\n\t\t\tlet shareType = []\n\n\t\t\tconst remoteTypes = [ShareType.Remote, ShareType.RemoteGroup]\n\n\t\t\tif (this.isExternal && !this.config.showFederatedSharesAsInternal) {\n\t\t\t\tshareType.push(...remoteTypes)\n\t\t\t} else {\n\t\t\t\tshareType = shareType.concat([\n\t\t\t\t\tShareType.User,\n\t\t\t\t\tShareType.Group,\n\t\t\t\t\tShareType.Team,\n\t\t\t\t\tShareType.Room,\n\t\t\t\t\tShareType.Guest,\n\t\t\t\t\tShareType.Deck,\n\t\t\t\t\tShareType.ScienceMesh,\n\t\t\t\t])\n\n\t\t\t\tif (this.config.showFederatedSharesAsInternal) {\n\t\t\t\t\tshareType.push(...remoteTypes)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (getCapabilities().files_sharing.public.enabled === true && this.isExternal) {\n\t\t\t\tshareType.push(ShareType.Email)\n\t\t\t}\n\n\t\t\tlet request = null\n\t\t\ttry {\n\t\t\t\trequest = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: this.fileInfo.type === 'dir' ? 'folder' : 'file',\n\t\t\t\t\t\tsearch,\n\t\t\t\t\t\tlookup,\n\t\t\t\t\t\tperPage: this.config.maxAutocompleteResults,\n\t\t\t\t\t\tshareType,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error fetching suggestions', error)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst data = request.data.ocs.data\n\t\t\tconst exact = request.data.ocs.data.exact\n\t\t\tdata.exact = [] // removing exact from general results\n\n\t\t\t// flatten array of arrays\n\t\t\tconst rawExactSuggestions = Object.values(exact).reduce((arr, elem) => arr.concat(elem), [])\n\t\t\tconst rawSuggestions = Object.values(data).reduce((arr, elem) => arr.concat(elem), [])\n\n\t\t\t// remove invalid data and format to user-select layout\n\t\t\tconst exactSuggestions = this.filterOutExistingShares(rawExactSuggestions)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t// sort by type so we can get user&groups first...\n\t\t\t\t.sort((a, b) => a.shareType - b.shareType)\n\t\t\tconst suggestions = this.filterOutExistingShares(rawSuggestions)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t// sort by type so we can get user&groups first...\n\t\t\t\t.sort((a, b) => a.shareType - b.shareType)\n\n\t\t\t// lookup clickable entry\n\t\t\t// show if enabled and not already requested\n\t\t\tconst lookupEntry = []\n\t\t\tif (data.lookupEnabled && !lookup) {\n\t\t\t\tlookupEntry.push({\n\t\t\t\t\tid: 'global-lookup',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tdisplayName: t('files_sharing', 'Search globally'),\n\t\t\t\t\tlookup: true,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// if there is a condition specified, filter it\n\t\t\tconst externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))\n\n\t\t\tconst allSuggestions = exactSuggestions.concat(suggestions).concat(externalResults).concat(lookupEntry)\n\n\t\t\t// Count occurrences of display names in order to provide a distinguishable description if needed\n\t\t\tconst nameCounts = allSuggestions.reduce((nameCounts, result) => {\n\t\t\t\tif (!result.displayName) {\n\t\t\t\t\treturn nameCounts\n\t\t\t\t}\n\t\t\t\tif (!nameCounts[result.displayName]) {\n\t\t\t\t\tnameCounts[result.displayName] = 0\n\t\t\t\t}\n\t\t\t\tnameCounts[result.displayName]++\n\t\t\t\treturn nameCounts\n\t\t\t}, {})\n\n\t\t\tthis.suggestions = allSuggestions.map(item => {\n\t\t\t\t// Make sure that items with duplicate displayName get the shareWith applied as a description\n\t\t\t\tif (nameCounts[item.displayName] > 1 && !item.desc) {\n\t\t\t\t\treturn { ...item, desc: item.shareWithDisplayNameUnique }\n\t\t\t\t}\n\t\t\t\treturn item\n\t\t\t})\n\n\t\t\tthis.loading = false\n\t\t\tconsole.info('suggestions', this.suggestions)\n\t\t},\n\n\t\t/**\n\t\t * Debounce getSuggestions\n\t\t *\n\t\t * @param {...*} args the arguments\n\t\t */\n\t\tdebounceGetSuggestions: debounce(function(...args) {\n\t\t\tthis.getSuggestions(...args)\n\t\t}, 300),\n\n\t\t/**\n\t\t * Get the sharing recommendations\n\t\t */\n\t\tasync getRecommendations() {\n\t\t\tthis.loading = true\n\n\t\t\tlet request = null\n\t\t\ttry {\n\t\t\t\trequest = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees_recommended'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: this.fileInfo.type,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error fetching recommendations', error)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Add external results from the OCA.Sharing.ShareSearch api\n\t\t\tconst externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))\n\n\t\t\t// flatten array of arrays\n\t\t\tconst rawRecommendations = Object.values(request.data.ocs.data.exact)\n\t\t\t\t.reduce((arr, elem) => arr.concat(elem), [])\n\n\t\t\t// remove invalid data and format to user-select layout\n\t\t\tthis.recommendations = this.filterOutExistingShares(rawRecommendations)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t.concat(externalResults)\n\n\t\t\tthis.loading = false\n\t\t\tconsole.info('recommendations', this.recommendations)\n\t\t},\n\n\t\t/**\n\t\t * Filter out existing shares from\n\t\t * the provided shares search results\n\t\t *\n\t\t * @param {object[]} shares the array of shares object\n\t\t * @return {object[]}\n\t\t */\n\t\tfilterOutExistingShares(shares) {\n\t\t\treturn shares.reduce((arr, share) => {\n\t\t\t\t// only check proper objects\n\t\t\t\tif (typeof share !== 'object') {\n\t\t\t\t\treturn arr\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tif (share.value.shareType === ShareType.User) {\n\t\t\t\t\t\t// filter out current user\n\t\t\t\t\t\tif (share.value.shareWith === getCurrentUser().uid) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// filter out the owner of the share\n\t\t\t\t\t\tif (this.reshare && share.value.shareWith === this.reshare.owner) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// filter out existing mail shares\n\t\t\t\t\tif (share.value.shareType === ShareType.Email) {\n\t\t\t\t\t\tconst emails = this.linkShares.map(elem => elem.shareWith)\n\t\t\t\t\t\tif (emails.indexOf(share.value.shareWith.trim()) !== -1) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t} else { // filter out existing shares\n\t\t\t\t\t\t// creating an object of uid => type\n\t\t\t\t\t\tconst sharesObj = this.shares.reduce((obj, elem) => {\n\t\t\t\t\t\t\tobj[elem.shareWith] = elem.type\n\t\t\t\t\t\t\treturn obj\n\t\t\t\t\t\t}, {})\n\n\t\t\t\t\t\t// if shareWith is the same and the share type too, ignore it\n\t\t\t\t\t\tconst key = share.value.shareWith.trim()\n\t\t\t\t\t\tif (key in sharesObj\n\t\t\t\t\t\t\t&& sharesObj[key] === share.value.shareType) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// ALL GOOD\n\t\t\t\t\t// let's add the suggestion\n\t\t\t\t\tarr.push(share)\n\t\t\t\t} catch {\n\t\t\t\t\treturn arr\n\t\t\t\t}\n\t\t\t\treturn arr\n\t\t\t}, [])\n\t\t},\n\n\t\t/**\n\t\t * Get the icon based on the share type\n\t\t *\n\t\t * @param {number} type the share type\n\t\t * @return {string} the icon class\n\t\t */\n\t\tshareTypeToIcon(type) {\n\t\t\tswitch (type) {\n\t\t\tcase ShareType.Guest:\n\t\t\t\t// default is a user, other icons are here to differentiate\n\t\t\t\t// themselves from it, so let's not display the user icon\n\t\t\t\t// case ShareType.Remote:\n\t\t\t\t// case ShareType.User:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Guest'),\n\t\t\t\t}\n\t\t\tcase ShareType.RemoteGroup:\n\t\t\tcase ShareType.Group:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-group',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Group'),\n\t\t\t\t}\n\t\t\tcase ShareType.Email:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-mail',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Email'),\n\t\t\t\t}\n\t\t\tcase ShareType.Team:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-teams',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Team'),\n\t\t\t\t}\n\t\t\tcase ShareType.Room:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-room',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Talk conversation'),\n\t\t\t\t}\n\t\t\tcase ShareType.Deck:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-deck',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Deck board'),\n\t\t\t\t}\n\t\t\tcase ShareType.Sciencemesh:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-sciencemesh',\n\t\t\t\t\ticonTitle: t('files_sharing', 'ScienceMesh'),\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\treturn {}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Format shares for the multiselect options\n\t\t *\n\t\t * @param {object} result select entry item\n\t\t * @return {object}\n\t\t */\n\t\tformatForMultiselect(result) {\n\t\t\tlet subname\n\t\t\tif (result.value.shareType === ShareType.User && this.config.shouldAlwaysShowUnique) {\n\t\t\t\tsubname = result.shareWithDisplayNameUnique ?? ''\n\t\t\t} else if ((result.value.shareType === ShareType.Remote\n\t\t\t\t\t|| result.value.shareType === ShareType.RemoteGroup\n\t\t\t) && result.value.server) {\n\t\t\t\tsubname = t('files_sharing', 'on {server}', { server: result.value.server })\n\t\t\t} else if (result.value.shareType === ShareType.Email) {\n\t\t\t\tsubname = result.value.shareWith\n\t\t\t} else {\n\t\t\t\tsubname = result.shareWithDescription ?? ''\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tshareWith: result.value.shareWith,\n\t\t\t\tshareType: result.value.shareType,\n\t\t\t\tuser: result.uuid || result.value.shareWith,\n\t\t\t\tisNoUser: result.value.shareType !== ShareType.User,\n\t\t\t\tdisplayName: result.name || result.label,\n\t\t\t\tsubname,\n\t\t\t\tshareWithDisplayNameUnique: result.shareWithDisplayNameUnique || '',\n\t\t\t\t...this.shareTypeToIcon(result.value.shareType),\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n.sharing-search {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 4px;\n\n\tlabel[for=\"sharing-search-input\"] {\n\t\tmargin-bottom: 2px;\n\t}\n\n\t&__input {\n\t\twidth: 100%;\n\t\tmargin: 10px 0;\n\t}\n}\n\n.vs__dropdown-menu {\n\t// properly style the lookup entry\n\tspan[lookup] {\n\t\t.avatardiv {\n\t\t\tbackground-image: var(--icon-search-white);\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tbackground-color: var(--color-text-maxcontrast) !important;\n\t\t\t.avatardiv__initials-wrapper {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=style&index=0&id=060f147f&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=style&index=0&id=060f147f&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInput.vue?vue&type=template&id=060f147f\"\nimport script from \"./SharingInput.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInput.vue?vue&type=style&index=0&id=060f147f&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.shares.length)?_c('ul',{attrs:{\"id\":\"sharing-inherited-shares\"}},[_c('SharingEntrySimple',{staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.mainTitle,\"subtitle\":_vm.subTitle,\"aria-expanded\":_vm.showInheritedShares},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-shared icon-more-white\"})]},proxy:true}],null,false,1184892072)},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"icon\":_vm.showInheritedSharesIcon,\"aria-label\":_vm.toggleTooltip,\"title\":_vm.toggleTooltip},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleInheritedShares.apply(null, arguments)}}})],1),_vm._v(\" \"),_vm._l((_vm.shares),function(share){return _c('SharingEntryInherited',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share},on:{\"remove:share\":_vm.removeShare}})})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport Config from '../services/ConfigService.ts';\nimport { showError, showSuccess } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nconst config = new Config();\n// note: some chars removed on purpose to make them human friendly when read out\nconst passwordSet = 'abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789';\n/**\n * Generate a valid policy password or request a valid password if password_policy is enabled\n *\n * @param {boolean} verbose If enabled the the status is shown to the user via toast\n */\nexport default async function (verbose = false) {\n // password policy is enabled, let's request a pass\n if (config.passwordPolicy.api && config.passwordPolicy.api.generate) {\n try {\n const request = await axios.get(config.passwordPolicy.api.generate);\n if (request.data.ocs.data.password) {\n if (verbose) {\n showSuccess(t('files_sharing', 'Password created successfully'));\n }\n return request.data.ocs.data.password;\n }\n }\n catch (error) {\n console.info('Error generating password from password_policy', error);\n if (verbose) {\n showError(t('files_sharing', 'Error generating password from password policy'));\n }\n }\n }\n const array = new Uint8Array(10);\n const ratio = passwordSet.length / 255;\n self.crypto.getRandomValues(array);\n let password = '';\n for (let i = 0; i < array.length; i++) {\n password += passwordSet.charAt(array[i] * ratio);\n }\n return password;\n}\n","import { getClient, getDefaultPropfind, getRootPath, resultToNode } from '@nextcloud/files/dav';\nexport const client = getClient();\nexport const fetchNode = async (path) => {\n const propfindPayload = getDefaultPropfind();\n const result = await client.stat(`${getRootPath()}${path}`, {\n details: true,\n data: propfindPayload,\n });\n return resultToNode(result.data);\n};\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { ShareType } from '@nextcloud/sharing'\nimport { emit } from '@nextcloud/event-bus'\n\nimport PQueue from 'p-queue'\nimport debounce from 'debounce'\n\nimport GeneratePassword from '../utils/GeneratePassword.ts'\nimport Share from '../models/Share.ts'\nimport SharesRequests from './ShareRequests.js'\nimport Config from '../services/ConfigService.ts'\nimport logger from '../services/logger.ts'\n\nimport {\n\tBUNDLED_PERMISSIONS,\n} from '../lib/SharePermissionsToolBox.js'\nimport { fetchNode } from '../../../files/src/services/WebdavClient.ts'\n\nexport default {\n\tmixins: [SharesRequests],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { },\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tnode: null,\n\t\t\tShareType,\n\n\t\t\t// errors helpers\n\t\t\terrors: {},\n\n\t\t\t// component status toggles\n\t\t\tloading: false,\n\t\t\tsaving: false,\n\t\t\topen: false,\n\n\t\t\t// concurrency management queue\n\t\t\t// we want one queue per share\n\t\t\tupdateQueue: new PQueue({ concurrency: 1 }),\n\n\t\t\t/**\n\t\t\t * ! This allow vue to make the Share class state reactive\n\t\t\t * ! do not remove it ot you'll lose all reactivity here\n\t\t\t */\n\t\t\treactiveState: this.share?.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tpath() {\n\t\t\treturn (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t},\n\t\t/**\n\t\t * Does the current share have a note\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasNote: {\n\t\t\tget() {\n\t\t\t\treturn this.share.note !== ''\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.note = enabled\n\t\t\t\t\t? null // enabled but user did not changed the content yet\n\t\t\t\t\t: '' // empty = no note = disabled\n\t\t\t},\n\t\t},\n\n\t\tdateTomorrow() {\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + 1))\n\t\t},\n\n\t\t// Datepicker language\n\t\tlang() {\n\t\t\tconst weekdaysShort = window.dayNamesShort\n\t\t\t\t? window.dayNamesShort // provided by Nextcloud\n\t\t\t\t: ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.']\n\t\t\tconst monthsShort = window.monthNamesShort\n\t\t\t\t? window.monthNamesShort // provided by Nextcloud\n\t\t\t\t: ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.']\n\t\t\tconst firstDayOfWeek = window.firstDay ? window.firstDay : 0\n\n\t\t\treturn {\n\t\t\t\tformatLocale: {\n\t\t\t\t\tfirstDayOfWeek,\n\t\t\t\t\tmonthsShort,\n\t\t\t\t\tweekdaysMin: weekdaysShort,\n\t\t\t\t\tweekdaysShort,\n\t\t\t\t},\n\t\t\t\tmonthFormat: 'MMM',\n\t\t\t}\n\t\t},\n\t\tisNewShare() {\n\t\t\treturn !this.share.id\n\t\t},\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\t\tisPublicShare() {\n\t\t\tconst shareType = this.share.shareType ?? this.share.type\n\t\t\treturn [ShareType.Link, ShareType.Email].includes(shareType)\n\t\t},\n\t\tisRemoteShare() {\n\t\t\treturn this.share.type === ShareType.RemoteGroup || this.share.type === ShareType.Remote\n\t\t},\n\t\tisShareOwner() {\n\t\t\treturn this.share && this.share.owner === getCurrentUser().uid\n\t\t},\n\t\tisExpiryDateEnforced() {\n\t\t\tif (this.isPublicShare) {\n\t\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t}\n\t\t\tif (this.isRemoteShare) {\n\t\t\t\treturn this.config.isDefaultRemoteExpireDateEnforced\n\t\t\t}\n\t\t\treturn this.config.isDefaultInternalExpireDateEnforced\n\t\t},\n\t\thasCustomPermissions() {\n\t\t\tconst bundledPermissions = [\n\t\t\t\tBUNDLED_PERMISSIONS.ALL,\n\t\t\t\tBUNDLED_PERMISSIONS.READ_ONLY,\n\t\t\t\tBUNDLED_PERMISSIONS.FILE_DROP,\n\t\t\t]\n\t\t\treturn !bundledPermissions.includes(this.share.permissions)\n\t\t},\n\t\tmaxExpirationDateEnforced() {\n\t\t\tif (this.isExpiryDateEnforced) {\n\t\t\t\tif (this.isPublicShare) {\n\t\t\t\t\treturn this.config.defaultExpirationDate\n\t\t\t\t}\n\t\t\t\tif (this.isRemoteShare) {\n\t\t\t\t\treturn this.config.defaultRemoteExpirationDateString\n\t\t\t\t}\n\t\t\t\t// If it get's here then it must be an internal share\n\t\t\t\treturn this.config.defaultInternalExpirationDate\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t\t/**\n\t\t * Is the current share password protected ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtected: {\n\t\t\tget() {\n\t\t\t\treturn this.config.enforcePasswordForPublicLink\n\t\t\t\t\t\t\t|| !!this.share.password\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tif (enabled) {\n\t\t\t\t\tthis.share.password = await GeneratePassword(true)\n\t\t\t\t\tthis.$set(this.share, 'newPassword', this.share.password)\n\t\t\t\t} else {\n\t\t\t\t\tthis.share.password = ''\n\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Fetch WebDAV node\n\t\t *\n\t\t * @return {Node}\n\t\t */\n\t\tasync getNode() {\n\t\t\tconst node = { path: this.path }\n\t\t\ttry {\n\t\t\t\tthis.node = await fetchNode(node.path)\n\t\t\t\tlogger.info('Fetched node:', { node: this.node })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Error:', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Check if a share is valid before\n\t\t * firing the request\n\t\t *\n\t\t * @param {Share} share the share to check\n\t\t * @return {boolean}\n\t\t */\n\t\tcheckShare(share) {\n\t\t\tif (share.password) {\n\t\t\t\tif (typeof share.password !== 'string' || share.password.trim() === '') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.expirationDate) {\n\t\t\t\tconst date = share.expirationDate\n\t\t\t\tif (!date.isValid()) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * @param {Date} date the date to format\n\t\t * @return {string} date a date with YYYY-MM-DD format\n\t\t */\n\t\tformatDateToString(date) {\n\t\t\t// Force utc time. Drop time information to be timezone-less\n\t\t\tconst utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n\t\t\t// Format to YYYY-MM-DD\n\t\t\treturn utcDate.toISOString().split('T')[0]\n\t\t},\n\n\t\t/**\n\t\t * Save given value to expireDate and trigger queueUpdate\n\t\t *\n\t\t * @param {Date} date\n\t\t */\n\t\tonExpirationChange(date) {\n\t\t\tif (!date) {\n\t\t\t\tthis.share.expireDate = null\n\t\t\t\tthis.$set(this.share, 'expireDate', null)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst parsedDate = (date instanceof Date) ? date : new Date(date)\n\t\t\tthis.share.expireDate = this.formatDateToString(parsedDate)\n\t\t},\n\n\t\t/**\n\t\t * Note changed, let's save it to a different key\n\t\t *\n\t\t * @param {string} note the share note\n\t\t */\n\t\tonNoteChange(note) {\n\t\t\tthis.$set(this.share, 'newNote', note.trim())\n\t\t},\n\n\t\t/**\n\t\t * When the note change, we trim, save and dispatch\n\t\t *\n\t\t */\n\t\tonNoteSubmit() {\n\t\t\tif (this.share.newNote) {\n\t\t\t\tthis.share.note = this.share.newNote\n\t\t\t\tthis.$delete(this.share, 'newNote')\n\t\t\t\tthis.queueUpdate('note')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete share button handler\n\t\t */\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.open = false\n\t\t\t\tawait this.deleteShare(this.share.id)\n\t\t\t\tconsole.debug('Share deleted', this.share.id)\n\t\t\t\tconst message = this.share.itemType === 'file'\n\t\t\t\t\t? t('files_sharing', 'File \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\t\t: t('files_sharing', 'Folder \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\tshowSuccess(message)\n\t\t\t\tthis.$emit('remove:share', this.share)\n\t\t\t\tawait this.getNode()\n\t\t\t\temit('files:node:updated', this.node)\n\t\t\t} catch (error) {\n\t\t\t\t// re-open menu if error\n\t\t\t\tthis.open = true\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Send an update of the share to the queue\n\t\t *\n\t\t * @param {Array<string>} propertyNames the properties to sync\n\t\t */\n\t\tqueueUpdate(...propertyNames) {\n\t\t\tif (propertyNames.length === 0) {\n\t\t\t\t// Nothing to update\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.share.id) {\n\t\t\t\tconst properties = {}\n\t\t\t\t// force value to string because that is what our\n\t\t\t\t// share api controller accepts\n\t\t\t\tpropertyNames.forEach(name => {\n\t\t\t\t\tif (this.share[name] === null || this.share[name] === undefined) {\n\t\t\t\t\t\tproperties[name] = ''\n\t\t\t\t\t} else if ((typeof this.share[name]) === 'object') {\n\t\t\t\t\t\tproperties[name] = JSON.stringify(this.share[name])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tproperties[name] = this.share[name].toString()\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\treturn this.updateQueue.add(async () => {\n\t\t\t\t\tthis.saving = true\n\t\t\t\t\tthis.errors = {}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst updatedShare = await this.updateShare(this.share.id, properties)\n\n\t\t\t\t\t\tif (propertyNames.indexOf('password') >= 0) {\n\t\t\t\t\t\t\t// reset password state after sync\n\t\t\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t\t\t\t\t// updates password expiration time after sync\n\t\t\t\t\t\t\tthis.share.passwordExpirationTime = updatedShare.password_expiration_time\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// clear any previous errors\n\t\t\t\t\t\tthis.$delete(this.errors, propertyNames[0])\n\t\t\t\t\t\tshowSuccess(this.updateSuccessMessage(propertyNames))\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tlogger.error('Could not update share', { error, share: this.share, propertyNames })\n\n\t\t\t\t\t\tconst { message } = error\n\t\t\t\t\t\tif (message && message !== '') {\n\t\t\t\t\t\t\tthis.onSyncError(propertyNames[0], message)\n\t\t\t\t\t\t\tshowError(message)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// We do not have information what happened, but we should still inform the user\n\t\t\t\t\t\t\tshowError(t('files_sharing', 'Could not update share'))\n\t\t\t\t\t\t}\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis.saving = false\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// This share does not exists on the server yet\n\t\t\tconsole.debug('Updated local share', this.share)\n\t\t},\n\n\t\t/**\n\t\t * @param {string[]} names Properties changed\n\t\t */\n\t\tupdateSuccessMessage(names) {\n\t\t\tif (names.length !== 1) {\n\t\t\t\treturn t('files_sharing', 'Share saved')\n\t\t\t}\n\n\t\t\tswitch (names[0]) {\n\t\t\tcase 'expireDate':\n\t\t\t\treturn t('files_sharing', 'Share expiry date saved')\n\t\t\tcase 'hideDownload':\n\t\t\t\treturn t('files_sharing', 'Share hide-download state saved')\n\t\t\tcase 'label':\n\t\t\t\treturn t('files_sharing', 'Share label saved')\n\t\t\tcase 'note':\n\t\t\t\treturn t('files_sharing', 'Share note for recipient saved')\n\t\t\tcase 'password':\n\t\t\t\treturn t('files_sharing', 'Share password saved')\n\t\t\tcase 'permissions':\n\t\t\t\treturn t('files_sharing', 'Share permissions saved')\n\t\t\tdefault:\n\t\t\t\treturn t('files_sharing', 'Share saved')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Manage sync errors\n\t\t *\n\t\t * @param {string} property the errored property, e.g. 'password'\n\t\t * @param {string} message the error message\n\t\t */\n\t\tonSyncError(property, message) {\n\t\t\t// re-open menu if closed\n\t\t\tthis.open = true\n\t\t\tswitch (property) {\n\t\t\tcase 'password':\n\t\t\tcase 'pending':\n\t\t\tcase 'expireDate':\n\t\t\tcase 'label':\n\t\t\tcase 'note': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\tlet propertyEl = this.$refs[property]\n\t\t\t\tif (propertyEl) {\n\t\t\t\t\tif (propertyEl.$el) {\n\t\t\t\t\t\tpropertyEl = propertyEl.$el\n\t\t\t\t\t}\n\t\t\t\t\t// focus if there is a focusable action element\n\t\t\t\t\tconst focusable = propertyEl.querySelector('.focusable')\n\t\t\t\t\tif (focusable) {\n\t\t\t\t\t\tfocusable.focus()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'sendPasswordByTalk': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t// Restore previous state\n\t\t\t\tthis.share.sendPasswordByTalk = !this.share.sendPasswordByTalk\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Debounce queueUpdate to avoid requests spamming\n\t\t * more importantly for text data\n\t\t *\n\t\t * @param {string} property the property to sync\n\t\t */\n\t\tdebounceQueueUpdate: debounce(function(property) {\n\t\t\tthis.queueUpdate(property)\n\t\t}, 500),\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<SharingEntrySimple :key=\"share.id\"\n\t\tclass=\"sharing-entry__inherited\"\n\t\t:title=\"share.shareWithDisplayName\">\n\t\t<template #avatar>\n\t\t\t<NcAvatar :user=\"share.shareWith\"\n\t\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t\tclass=\"sharing-entry__avatar\" />\n\t\t</template>\n\t\t<NcActionText icon=\"icon-user\">\n\t\t\t{{ t('files_sharing', 'Added by {initiator}', { initiator: share.ownerDisplayName }) }}\n\t\t</NcActionText>\n\t\t<NcActionLink v-if=\"share.viaPath && share.viaFileid\"\n\t\t\ticon=\"icon-folder\"\n\t\t\t:href=\"viaFileTargetUrl\">\n\t\t\t{{ t('files_sharing', 'Via “{folder}”', {folder: viaFolderName} ) }}\n\t\t</NcActionLink>\n\t\t<NcActionButton v-if=\"share.canDelete\"\n\t\t\ticon=\"icon-close\"\n\t\t\t@click.prevent=\"onDelete\">\n\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t</NcActionButton>\n\t</SharingEntrySimple>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { basename } from '@nextcloud/paths'\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\nimport NcActionLink from '@nextcloud/vue/components/NcActionLink'\nimport NcActionText from '@nextcloud/vue/components/NcActionText'\n\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share.js'\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport SharingEntrySimple from '../components/SharingEntrySimple.vue'\n\nexport default {\n\tname: 'SharingEntryInherited',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tNcActionLink,\n\t\tNcActionText,\n\t\tNcAvatar,\n\t\tSharingEntrySimple,\n\t},\n\n\tmixins: [SharesMixin],\n\n\tprops: {\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tviaFileTargetUrl() {\n\t\t\treturn generateUrl('/f/{fileid}', {\n\t\t\t\tfileid: this.share.viaFileid,\n\t\t\t})\n\t\t},\n\n\t\tviaFolderName() {\n\t\t\treturn basename(this.share.viaPath)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-inline-start: auto;\n\t}\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=style&index=0&id=fe8ed59e&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=style&index=0&id=fe8ed59e&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInherited.vue?vue&type=template&id=fe8ed59e&scoped=true\"\nimport script from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInherited.vue?vue&type=style&index=0&id=fe8ed59e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fe8ed59e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('SharingEntrySimple',{key:_vm.share.id,staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.share.shareWithDisplayName},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName}})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionText',{attrs:{\"icon\":\"icon-user\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Added by {initiator}', { initiator: _vm.share.ownerDisplayName }))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.share.viaPath && _vm.share.viaFileid)?_c('NcActionLink',{attrs:{\"icon\":\"icon-folder\",\"href\":_vm.viaFileTargetUrl}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Via “{folder}”', {folder: _vm.viaFolderName} ))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<ul v-if=\"shares.length\" id=\"sharing-inherited-shares\">\n\t\t<!-- Main collapsible entry -->\n\t\t<SharingEntrySimple class=\"sharing-entry__inherited\"\n\t\t\t:title=\"mainTitle\"\n\t\t\t:subtitle=\"subTitle\"\n\t\t\t:aria-expanded=\"showInheritedShares\">\n\t\t\t<template #avatar>\n\t\t\t\t<div class=\"avatar-shared icon-more-white\" />\n\t\t\t</template>\n\t\t\t<NcActionButton :icon=\"showInheritedSharesIcon\"\n\t\t\t\t:aria-label=\"toggleTooltip\"\n\t\t\t\t:title=\"toggleTooltip\"\n\t\t\t\t@click.prevent.stop=\"toggleInheritedShares\" />\n\t\t</SharingEntrySimple>\n\n\t\t<!-- Inherited shares list -->\n\t\t<SharingEntryInherited v-for=\"share in shares\"\n\t\t\t:key=\"share.id\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:share=\"share\"\n\t\t\t@remove:share=\"removeShare\" />\n\t</ul>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\nimport axios from '@nextcloud/axios'\n\nimport Share from '../models/Share.ts'\nimport SharingEntryInherited from '../components/SharingEntryInherited.vue'\nimport SharingEntrySimple from '../components/SharingEntrySimple.vue'\n\nexport default {\n\tname: 'SharingInherited',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tSharingEntryInherited,\n\t\tSharingEntrySimple,\n\t},\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloaded: false,\n\t\t\tloading: false,\n\t\t\tshowInheritedShares: false,\n\t\t\tshares: [],\n\t\t}\n\t},\n\tcomputed: {\n\t\tshowInheritedSharesIcon() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn 'icon-loading-small'\n\t\t\t}\n\t\t\tif (this.showInheritedShares) {\n\t\t\t\treturn 'icon-triangle-n'\n\t\t\t}\n\t\t\treturn 'icon-triangle-s'\n\t\t},\n\t\tmainTitle() {\n\t\t\treturn t('files_sharing', 'Others with access')\n\t\t},\n\t\tsubTitle() {\n\t\t\treturn (this.showInheritedShares && this.shares.length === 0)\n\t\t\t\t? t('files_sharing', 'No other accounts with access found')\n\t\t\t\t: ''\n\t\t},\n\t\ttoggleTooltip() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t\t\t? t('files_sharing', 'Toggle list of others with access to this directory')\n\t\t\t\t: t('files_sharing', 'Toggle list of others with access to this file')\n\t\t},\n\t\tfullPath() {\n\t\t\tconst path = `${this.fileInfo.path}/${this.fileInfo.name}`\n\t\t\treturn path.replace('//', '/')\n\t\t},\n\t},\n\twatch: {\n\t\tfileInfo() {\n\t\t\tthis.resetState()\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Toggle the list view and fetch/reset the state\n\t\t */\n\t\ttoggleInheritedShares() {\n\t\t\tthis.showInheritedShares = !this.showInheritedShares\n\t\t\tif (this.showInheritedShares) {\n\t\t\t\tthis.fetchInheritedShares()\n\t\t\t} else {\n\t\t\t\tthis.resetState()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Fetch the Inherited Shares array\n\t\t */\n\t\tasync fetchInheritedShares() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst url = generateOcsUrl('apps/files_sharing/api/v1/shares/inherited?format=json&path={path}', { path: this.fullPath })\n\t\t\t\tconst shares = await axios.get(url)\n\t\t\t\tthis.shares = shares.data.ocs.data\n\t\t\t\t\t.map(share => new Share(share))\n\t\t\t\t\t.sort((a, b) => b.createdTime - a.createdTime)\n\t\t\t\tconsole.info(this.shares)\n\t\t\t\tthis.loaded = true\n\t\t\t} catch (error) {\n\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Unable to fetch inherited shares'), { type: 'error' })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Reset current component state\n\t\t */\n\t\tresetState() {\n\t\t\tthis.loaded = false\n\t\t\tthis.loading = false\n\t\t\tthis.showInheritedShares = false\n\t\t\tthis.shares = []\n\t\t},\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\tconst index = this.shares.findIndex(item => item === share)\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.splice(index, 1)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry__inherited {\n\t.avatar-shared {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=style&index=0&id=a6cc72e6&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=style&index=0&id=a6cc72e6&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInherited.vue?vue&type=template&id=a6cc72e6&scoped=true\"\nimport script from \"./SharingInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInherited.vue?vue&type=style&index=0&id=a6cc72e6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a6cc72e6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.canLinkShare)?_c('ul',{staticClass:\"sharing-link-list\",attrs:{\"aria-label\":_vm.t('files_sharing', 'Link shares')}},[(!_vm.hasLinkShares && _vm.canReshare)?_c('SharingEntryLink',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo},on:{\"add:share\":_vm.addShare}}):_vm._e(),_vm._v(\" \"),(_vm.hasShares)?_vm._l((_vm.shares),function(share,index){return _c('SharingEntryLink',{key:share.id,attrs:{\"index\":_vm.shares.length > 1 ? index + 1 : null,\"can-reshare\":_vm.canReshare,\"share\":_vm.shares[index],\"file-info\":_vm.fileInfo},on:{\"update:share\":[function($event){return _vm.$set(_vm.shares, index, $event)},function($event){return _vm.awaitForShare(...arguments)}],\"add:share\":function($event){return _vm.addShare(...arguments)},\"remove:share\":_vm.removeShare,\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}):_vm._e()],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon tune-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"TuneIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Tune.vue?vue&type=template&id=18d04e6a\"\nimport script from \"./Tune.vue?vue&type=script&lang=js\"\nexport * from \"./Tune.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tune-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarBlank.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarBlank.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon calendar-blank-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CalendarBlankIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./CalendarBlank.vue?vue&type=template&id=41fe7db9\"\nimport script from \"./CalendarBlank.vue?vue&type=script&lang=js\"\nexport * from \"./CalendarBlank.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon calendar-blank-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon qrcode-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"QrcodeIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Qrcode.vue?vue&type=template&id=aba87788\"\nimport script from \"./Qrcode.vue?vue&type=script&lang=js\"\nexport * from \"./Qrcode.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon qrcode-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon exclamation-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ExclamationIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Exclamation.vue?vue&type=template&id=03239926\"\nimport script from \"./Exclamation.vue?vue&type=script&lang=js\"\nexport * from \"./Exclamation.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon exclamation-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Lock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Lock.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon lock-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"LockIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Lock.vue?vue&type=template&id=6d856da2\"\nimport script from \"./Lock.vue?vue&type=script&lang=js\"\nexport * from \"./Lock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon lock-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon check-bold-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CheckBoldIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./CheckBold.vue?vue&type=template&id=5603f41f\"\nimport script from \"./CheckBold.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBold.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon check-bold-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon triangle-small-down-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M8 9H16L12 16\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"TriangleSmallDownIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TriangleSmallDown.vue?vue&type=template&id=1eed3dd9\"\nimport script from \"./TriangleSmallDown.vue?vue&type=script&lang=js\"\nexport * from \"./TriangleSmallDown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon triangle-small-down-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8 9H16L12 16\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon eye-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"EyeOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./EyeOutline.vue?vue&type=template&id=e26de6f6\"\nimport script from \"./EyeOutline.vue?vue&type=script&lang=js\"\nexport * from \"./EyeOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon eye-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon file-upload-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"FileUploadIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileUpload.vue?vue&type=template&id=caa55e94\"\nimport script from \"./FileUpload.vue?vue&type=script&lang=js\"\nexport * from \"./FileUpload.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-upload-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcActions ref=\"quickShareActions\"\n\t\tclass=\"share-select\"\n\t\t:menu-name=\"selectedOption\"\n\t\t:aria-label=\"ariaLabel\"\n\t\ttype=\"tertiary-no-background\"\n\t\t:disabled=\"!share.canEdit\"\n\t\tforce-name>\n\t\t<template #icon>\n\t\t\t<DropdownIcon :size=\"15\" />\n\t\t</template>\n\t\t<NcActionButton v-for=\"option in options\"\n\t\t\t:key=\"option.label\"\n\t\t\ttype=\"radio\"\n\t\t\t:model-value=\"option.label === selectedOption\"\n\t\t\tclose-after-click\n\t\t\t@click=\"selectOption(option.label)\">\n\t\t\t<template #icon>\n\t\t\t\t<component :is=\"option.icon\" />\n\t\t\t</template>\n\t\t\t{{ option.label }}\n\t\t</NcActionButton>\n\t</NcActions>\n</template>\n\n<script>\nimport { ShareType } from '@nextcloud/sharing'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport DropdownIcon from 'vue-material-design-icons/TriangleSmallDown.vue'\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\nimport NcActions from '@nextcloud/vue/components/NcActions'\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\nimport IconEyeOutline from 'vue-material-design-icons/EyeOutline.vue'\nimport IconPencil from 'vue-material-design-icons/Pencil.vue'\nimport IconFileUpload from 'vue-material-design-icons/FileUpload.vue'\nimport IconTune from 'vue-material-design-icons/Tune.vue'\n\nimport {\n\tBUNDLED_PERMISSIONS,\n\tATOMIC_PERMISSIONS,\n} from '../lib/SharePermissionsToolBox.js'\n\nexport default {\n\tname: 'SharingEntryQuickShareSelect',\n\n\tcomponents: {\n\t\tDropdownIcon,\n\t\tNcActions,\n\t\tNcActionButton,\n\t},\n\n\tmixins: [SharesMixin, ShareDetails],\n\n\tprops: {\n\t\tshare: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\temits: ['open-sharing-details'],\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedOption: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tariaLabel() {\n\t\t\treturn t('files_sharing', 'Quick share options, the current selected is \"{selectedOption}\"', { selectedOption: this.selectedOption })\n\t\t},\n\t\tcanViewText() {\n\t\t\treturn t('files_sharing', 'View only')\n\t\t},\n\t\tcanEditText() {\n\t\t\treturn t('files_sharing', 'Can edit')\n\t\t},\n\t\tfileDropText() {\n\t\t\treturn t('files_sharing', 'File request')\n\t\t},\n\t\tcustomPermissionsText() {\n\t\t\treturn t('files_sharing', 'Custom permissions')\n\t\t},\n\t\tpreSelectedOption() {\n\t\t\t// We remove the share permission for the comparison as it is not relevant for bundled permissions.\n\t\t\tif ((this.share.permissions & ~ATOMIC_PERMISSIONS.SHARE) === BUNDLED_PERMISSIONS.READ_ONLY) {\n\t\t\t\treturn this.canViewText\n\t\t\t} else if (this.share.permissions === BUNDLED_PERMISSIONS.ALL || this.share.permissions === BUNDLED_PERMISSIONS.ALL_FILE) {\n\t\t\t\treturn this.canEditText\n\t\t\t} else if ((this.share.permissions & ~ATOMIC_PERMISSIONS.SHARE) === BUNDLED_PERMISSIONS.FILE_DROP) {\n\t\t\t\treturn this.fileDropText\n\t\t\t}\n\n\t\t\treturn this.customPermissionsText\n\n\t\t},\n\t\toptions() {\n\t\t\tconst options = [{\n\t\t\t\tlabel: this.canViewText,\n\t\t\t\ticon: IconEyeOutline,\n\t\t\t}, {\n\t\t\t\tlabel: this.canEditText,\n\t\t\t\ticon: IconPencil,\n\t\t\t}]\n\t\t\tif (this.supportsFileDrop) {\n\t\t\t\toptions.push({\n\t\t\t\t\tlabel: this.fileDropText,\n\t\t\t\t\ticon: IconFileUpload,\n\t\t\t\t})\n\t\t\t}\n\t\t\toptions.push({\n\t\t\t\tlabel: this.customPermissionsText,\n\t\t\t\ticon: IconTune,\n\t\t\t})\n\n\t\t\treturn options\n\t\t},\n\t\tsupportsFileDrop() {\n\t\t\tif (this.isFolder && this.config.isPublicUploadEnabled) {\n\t\t\t\tconst shareType = this.share.type ?? this.share.shareType\n\t\t\t\treturn [ShareType.Link, ShareType.Email].includes(shareType)\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tdropDownPermissionValue() {\n\t\t\tswitch (this.selectedOption) {\n\t\t\tcase this.canEditText:\n\t\t\t\treturn this.isFolder ? BUNDLED_PERMISSIONS.ALL : BUNDLED_PERMISSIONS.ALL_FILE\n\t\t\tcase this.fileDropText:\n\t\t\t\treturn BUNDLED_PERMISSIONS.FILE_DROP\n\t\t\tcase this.customPermissionsText:\n\t\t\t\treturn 'custom'\n\t\t\tcase this.canViewText:\n\t\t\tdefault:\n\t\t\t\treturn BUNDLED_PERMISSIONS.READ_ONLY\n\t\t\t}\n\t\t},\n\t},\n\n\tcreated() {\n\t\tthis.selectedOption = this.preSelectedOption\n\t},\n\tmounted() {\n\t\tsubscribe('update:share', (share) => {\n\t\t\tif (share.id === this.share.id) {\n\t\t\t\tthis.share.permissions = share.permissions\n\t\t\t\tthis.selectedOption = this.preSelectedOption\n\t\t\t}\n\t\t})\n\t},\n\tunmounted() {\n\t\tunsubscribe('update:share')\n\t},\n\tmethods: {\n\t\tselectOption(optionLabel) {\n\t\t\tthis.selectedOption = optionLabel\n\t\t\tif (optionLabel === this.customPermissionsText) {\n\t\t\t\tthis.$emit('open-sharing-details')\n\t\t\t} else {\n\t\t\t\tthis.share.permissions = this.dropDownPermissionValue\n\t\t\t\tthis.queueUpdate('permissions')\n\t\t\t\t// TODO: Add a focus method to NcActions or configurable returnFocus enabling to NcActionButton with closeAfterClick\n\t\t\t\tthis.$refs.quickShareActions.$refs.menuButton.$el.focus()\n\t\t\t}\n\t\t},\n\t},\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.share-select {\n\tdisplay: block;\n\n\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\n\t// Overrider NcActionms button to make it small\n\t:deep(.action-item__menutoggle) {\n\t\tcolor: var(--color-primary-element) !important;\n\t\tfont-size: 12.5px !important;\n\t\theight: auto !important;\n\t\tmin-height: auto !important;\n\n\t\t.button-vue__text {\n\t\t\tfont-weight: normal !important;\n\t\t}\n\n\t\t.button-vue__icon {\n\t\t\theight: 24px !important;\n\t\t\tmin-height: 24px !important;\n\t\t\twidth: 24px !important;\n\t\t\tmin-width: 24px !important;\n\t\t}\n\n\t\t.button-vue__wrapper {\n\t\t\t// Emulate NcButton's alignment=center-reverse\n\t\t\tflex-direction: row-reverse !important;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=2aa230f1&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=2aa230f1&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryQuickShareSelect.vue?vue&type=template&id=2aa230f1&scoped=true\"\nimport script from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=2aa230f1&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2aa230f1\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcActions',{ref:\"quickShareActions\",staticClass:\"share-select\",attrs:{\"menu-name\":_vm.selectedOption,\"aria-label\":_vm.ariaLabel,\"type\":\"tertiary-no-background\",\"disabled\":!_vm.share.canEdit,\"force-name\":\"\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DropdownIcon',{attrs:{\"size\":15}})]},proxy:true}])},[_vm._v(\" \"),_vm._l((_vm.options),function(option){return _c('NcActionButton',{key:option.label,attrs:{\"type\":\"radio\",\"model-value\":option.label === _vm.selectedOption,\"close-after-click\":\"\"},on:{\"click\":function($event){return _vm.selectOption(option.label)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(option.icon,{tag:\"component\"})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(option.label)+\"\\n\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"share-expiry-time\"},[_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [(_vm.expiryTime)?_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('files_sharing', 'Share expiration: {date}', { date: new Date(_vm.expiryTime).toLocaleString() })},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ClockIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,3754271979)}):_vm._e()]},proxy:true}])},[_vm._v(\" \"),_c('h3',{staticClass:\"hint-heading\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share Expiration'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.expiryTime)?_c('p',{staticClass:\"hint-body\"},[_c('NcDateTime',{attrs:{\"timestamp\":_vm.expiryTime,\"format\":_vm.timeFormat,\"relative-time\":false}}),_vm._v(\" (\"),_c('NcDateTime',{attrs:{\"timestamp\":_vm.expiryTime}}),_vm._v(\")\\n\\t\\t\")],1):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon clock-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ClockIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Clock.vue?vue&type=template&id=539578bc\"\nimport script from \"./Clock.vue?vue&type=script&lang=js\"\nexport * from \"./Clock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon clock-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<div class=\"share-expiry-time\">\n\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton v-if=\"expiryTime\"\n\t\t\t\t\tclass=\"hint-icon\"\n\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t:aria-label=\"t('files_sharing', 'Share expiration: {date}', { date: new Date(expiryTime).toLocaleString() })\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<ClockIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</template>\n\t\t\t<h3 class=\"hint-heading\">\n\t\t\t\t{{ t('files_sharing', 'Share Expiration') }}\n\t\t\t</h3>\n\t\t\t<p v-if=\"expiryTime\" class=\"hint-body\">\n\t\t\t\t<NcDateTime :timestamp=\"expiryTime\"\n\t\t\t\t\t:format=\"timeFormat\"\n\t\t\t\t\t:relative-time=\"false\" /> (<NcDateTime :timestamp=\"expiryTime\" />)\n\t\t\t</p>\n\t\t</NcPopover>\n\t</div>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcPopover from '@nextcloud/vue/components/NcPopover'\nimport NcDateTime from '@nextcloud/vue/components/NcDateTime'\nimport ClockIcon from 'vue-material-design-icons/Clock.vue'\n\nexport default {\n\tname: 'ShareExpiryTime',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcPopover,\n\t\tNcDateTime,\n\t\tClockIcon,\n\t},\n\n\tprops: {\n\t\tshare: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\texpiryTime() {\n\t\t\treturn this.share?.expireDate ? new Date(this.share.expireDate).getTime() : null\n\t\t},\n\t\ttimeFormat() {\n\t\t\treturn { dateStyle: 'full', timeStyle: 'short' }\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.share-expiry-time {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n .hint-icon {\n padding: 0;\n margin: 0;\n width: 24px;\n height: 24px;\n }\n}\n\n.hint-heading {\n text-align: center;\n font-size: 1rem;\n margin-top: 8px;\n padding-bottom: 8px;\n margin-bottom: 0;\n border-bottom: 1px solid var(--color-border);\n}\n\n.hint-body {\n padding: var(--border-radius-element);\n max-width: 300px;\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=style&index=0&id=46cd2ca2&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=style&index=0&id=46cd2ca2&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ShareExpiryTime.vue?vue&type=template&id=46cd2ca2&scoped=true\"\nimport script from \"./ShareExpiryTime.vue?vue&type=script&lang=js\"\nexport * from \"./ShareExpiryTime.vue?vue&type=script&lang=js\"\nimport style0 from \"./ShareExpiryTime.vue?vue&type=style&index=0&id=46cd2ca2&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"46cd2ca2\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExternalShareAction.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExternalShareAction.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<Component :is=\"data.is\"\n\t\tv-bind=\"data\"\n\t\tv-on=\"action.handlers\">\n\t\t{{ data.text }}\n\t</Component>\n</template>\n\n<script>\nimport Share from '../models/Share.ts'\n\nexport default {\n\tname: 'ExternalShareAction',\n\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\taction: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tdata() {\n\t\t\treturn this.action.data(this)\n\t\t},\n\t},\n}\n</script>\n","import { render, staticRenderFns } from \"./ExternalShareAction.vue?vue&type=template&id=2812a40a\"\nimport script from \"./ExternalShareAction.vue?vue&type=script&lang=js\"\nexport * from \"./ExternalShareAction.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.data.is,_vm._g(_vm._b({tag:\"Component\"},'Component',_vm.data,false),_vm.action.handlers),[_vm._v(\"\\n\\t\"+_vm._s(_vm.data.text)+\"\\n\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<li :class=\"{ 'sharing-entry--share': share }\"\n\t\tclass=\"sharing-entry sharing-entry__link\">\n\t\t<NcAvatar :is-no-user=\"true\"\n\t\t\t:icon-class=\"isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'\"\n\t\t\tclass=\"sharing-entry__avatar\" />\n\n\t\t<div class=\"sharing-entry__summary\">\n\t\t\t<div class=\"sharing-entry__desc\">\n\t\t\t\t<span class=\"sharing-entry__title\" :title=\"title\">\n\t\t\t\t\t{{ title }}\n\t\t\t\t</span>\n\t\t\t\t<p v-if=\"subtitle\">\n\t\t\t\t\t{{ subtitle }}\n\t\t\t\t</p>\n\t\t\t\t<SharingEntryQuickShareSelect v-if=\"share && share.permissions !== undefined\"\n\t\t\t\t\t:share=\"share\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t@open-sharing-details=\"openShareDetailsForCustomSettings(share)\" />\n\t\t\t</div>\n\n\t\t\t<div class=\"sharing-entry__actions\">\n\t\t\t\t<ShareExpiryTime v-if=\"share && share.expireDate\" :share=\"share\" />\n\n\t\t\t\t<!-- clipboard -->\n\t\t\t\t<div>\n\t\t\t\t\t<NcActions v-if=\"share && (!isEmailShareType || isFileRequest) && share.token\" ref=\"copyButton\" class=\"sharing-entry__copy\">\n\t\t\t\t\t\t<NcActionButton :aria-label=\"copyLinkTooltip\"\n\t\t\t\t\t\t\t:title=\"copyLinkTooltip\"\n\t\t\t\t\t\t\t:href=\"shareLink\"\n\t\t\t\t\t\t\t@click.prevent=\"copyLink\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<CheckIcon v-if=\"copied && copySuccess\"\n\t\t\t\t\t\t\t\t\t:size=\"20\"\n\t\t\t\t\t\t\t\t\tclass=\"icon-checkmark-color\" />\n\t\t\t\t\t\t\t\t<ClipboardIcon v-else :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t</NcActions>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<!-- pending actions -->\n\t\t<NcActions v-if=\"!pending && pendingDataIsMissing\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\t:aria-label=\"actionsTooltip\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:open.sync=\"open\"\n\t\t\t@close=\"onCancel\">\n\t\t\t<!-- pending data menu -->\n\t\t\t<NcActionText v-if=\"errors.pending\"\n\t\t\t\tclass=\"error\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<ErrorIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ errors.pending }}\n\t\t\t</NcActionText>\n\t\t\t<NcActionText v-else icon=\"icon-info\">\n\t\t\t\t{{ t('files_sharing', 'Please enter the following required information before creating the share') }}\n\t\t\t</NcActionText>\n\n\t\t\t<!-- password -->\n\t\t\t<NcActionCheckbox v-if=\"pendingPassword\"\n\t\t\t\t:checked.sync=\"isPasswordProtected\"\n\t\t\t\t:disabled=\"config.enforcePasswordForPublicLink || saving\"\n\t\t\t\tclass=\"share-link-password-checkbox\"\n\t\t\t\t@uncheck=\"onPasswordDisable\">\n\t\t\t\t{{ config.enforcePasswordForPublicLink ? t('files_sharing', 'Password protection (enforced)') : t('files_sharing', 'Password protection') }}\n\t\t\t</NcActionCheckbox>\n\n\t\t\t<NcActionInput v-if=\"pendingEnforcedPassword || share.password\"\n\t\t\t\tclass=\"share-link-password\"\n\t\t\t\t:label=\"t('files_sharing', 'Enter a password')\"\n\t\t\t\t:value.sync=\"share.password\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t:required=\"config.enableLinkPasswordByDefault || config.enforcePasswordForPublicLink\"\n\t\t\t\t:minlength=\"isPasswordPolicyEnabled && config.passwordPolicy.minLength\"\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t@submit=\"onNewLinkShare(true)\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<LockIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\n\t\t\t<NcActionCheckbox v-if=\"pendingDefaultExpirationDate\"\n\t\t\t\t:checked.sync=\"defaultExpirationDateEnabled\"\n\t\t\t\t:disabled=\"pendingEnforcedExpirationDate || saving\"\n\t\t\t\tclass=\"share-link-expiration-date-checkbox\"\n\t\t\t\t@update:model-value=\"onExpirationDateToggleUpdate\">\n\t\t\t\t{{ config.isDefaultExpireDateEnforced ? t('files_sharing', 'Enable link expiration (enforced)') : t('files_sharing', 'Enable link expiration') }}\n\t\t\t</NcActionCheckbox>\n\n\t\t\t<!-- expiration date -->\n\t\t\t<NcActionInput v-if=\"(pendingDefaultExpirationDate || pendingEnforcedExpirationDate) && defaultExpirationDateEnabled\"\n\t\t\t\tdata-cy-files-sharing-expiration-date-input\n\t\t\t\tclass=\"share-link-expire-date\"\n\t\t\t\t:label=\"pendingEnforcedExpirationDate ? t('files_sharing', 'Enter expiration date (enforced)') : t('files_sharing', 'Enter expiration date')\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t:is-native-picker=\"true\"\n\t\t\t\t:hide-label=\"true\"\n\t\t\t\t:value=\"new Date(share.expireDate)\"\n\t\t\t\ttype=\"date\"\n\t\t\t\t:min=\"dateTomorrow\"\n\t\t\t\t:max=\"maxExpirationDateEnforced\"\n\t\t\t\t@update:model-value=\"onExpirationChange\"\n\t\t\t\t@change=\"expirationDateChanged\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconCalendarBlank :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\n\t\t\t<NcActionButton @click.prevent.stop=\"onNewLinkShare(true)\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CheckIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('files_sharing', 'Create share') }}\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton @click.prevent.stop=\"onCancel\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CloseIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('files_sharing', 'Cancel') }}\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\n\t\t<!-- actions -->\n\t\t<NcActions v-else-if=\"!loading\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\t:aria-label=\"actionsTooltip\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:open.sync=\"open\"\n\t\t\t@close=\"onMenuClose\">\n\t\t\t<template v-if=\"share\">\n\t\t\t\t<template v-if=\"share.canEdit && canReshare\">\n\t\t\t\t\t<NcActionButton :disabled=\"saving\"\n\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t@click.prevent=\"openSharingDetails\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Tune :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t{{ t('files_sharing', 'Customize link') }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</template>\n\n\t\t\t\t<NcActionButton :close-after-click=\"true\"\n\t\t\t\t\t@click.prevent=\"showQRCode = true\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconQr :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_sharing', 'Generate QR code') }}\n\t\t\t\t</NcActionButton>\n\n\t\t\t\t<NcActionSeparator />\n\n\t\t\t\t<!-- external actions -->\n\t\t\t\t<ExternalShareAction v-for=\"action in externalLinkActions\"\n\t\t\t\t\t:id=\"action.id\"\n\t\t\t\t\t:key=\"action.id\"\n\t\t\t\t\t:action=\"action\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t:share=\"share\" />\n\n\t\t\t\t<!-- external legacy sharing via url (social...) -->\n\t\t\t\t<NcActionLink v-for=\"({ icon, url, name }, actionIndex) in externalLegacyLinkActions\"\n\t\t\t\t\t:key=\"actionIndex\"\n\t\t\t\t\t:href=\"url(shareLink)\"\n\t\t\t\t\t:icon=\"icon\"\n\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t{{ name }}\n\t\t\t\t</NcActionLink>\n\n\t\t\t\t<NcActionButton v-if=\"!isEmailShareType && canReshare\"\n\t\t\t\t\tclass=\"new-share-link\"\n\t\t\t\t\t@click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<PlusIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_sharing', 'Add another link') }}\n\t\t\t\t</NcActionButton>\n\n\t\t\t\t<NcActionButton v-if=\"share.canDelete\"\n\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t@click.prevent=\"onDelete\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<CloseIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\n\t\t\t<!-- Create new share -->\n\t\t\t<NcActionButton v-else-if=\"canReshare\"\n\t\t\t\tclass=\"new-share-link\"\n\t\t\t\t:title=\"t('files_sharing', 'Create a new share link')\"\n\t\t\t\t:aria-label=\"t('files_sharing', 'Create a new share link')\"\n\t\t\t\t:icon=\"loading ? 'icon-loading-small' : 'icon-add'\"\n\t\t\t\t@click.prevent.stop=\"onNewLinkShare\" />\n\t\t</NcActions>\n\n\t\t<!-- loading indicator to replace the menu -->\n\t\t<div v-else class=\"icon-loading-small sharing-entry__loading\" />\n\n\t\t<!-- Modal to open whenever we have a QR code -->\n\t\t<NcDialog v-if=\"showQRCode\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showQRCode\"\n\t\t\t:name=\"title\"\n\t\t\t:close-on-click-outside=\"true\"\n\t\t\t@close=\"showQRCode = false\">\n\t\t\t<div class=\"qr-code-dialog\">\n\t\t\t\t<VueQrcode tag=\"img\"\n\t\t\t\t\t:value=\"shareLink\"\n\t\t\t\t\tclass=\"qr-code-dialog__img\" />\n\t\t\t</div>\n\t\t</NcDialog>\n\t</li>\n</template>\n\n<script>\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { emit } from '@nextcloud/event-bus'\nimport { t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { generateUrl, getBaseUrl } from '@nextcloud/router'\nimport { ShareType } from '@nextcloud/sharing'\n\nimport VueQrcode from '@chenfengyuan/vue-qrcode'\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\nimport NcActionCheckbox from '@nextcloud/vue/components/NcActionCheckbox'\nimport NcActionInput from '@nextcloud/vue/components/NcActionInput'\nimport NcActionLink from '@nextcloud/vue/components/NcActionLink'\nimport NcActionText from '@nextcloud/vue/components/NcActionText'\nimport NcActionSeparator from '@nextcloud/vue/components/NcActionSeparator'\nimport NcActions from '@nextcloud/vue/components/NcActions'\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\nimport NcDialog from '@nextcloud/vue/components/NcDialog'\n\nimport Tune from 'vue-material-design-icons/Tune.vue'\nimport IconCalendarBlank from 'vue-material-design-icons/CalendarBlank.vue'\nimport IconQr from 'vue-material-design-icons/Qrcode.vue'\nimport ErrorIcon from 'vue-material-design-icons/Exclamation.vue'\nimport LockIcon from 'vue-material-design-icons/Lock.vue'\nimport CheckIcon from 'vue-material-design-icons/CheckBold.vue'\nimport ClipboardIcon from 'vue-material-design-icons/ContentCopy.vue'\nimport CloseIcon from 'vue-material-design-icons/Close.vue'\nimport PlusIcon from 'vue-material-design-icons/Plus.vue'\n\nimport SharingEntryQuickShareSelect from './SharingEntryQuickShareSelect.vue'\nimport ShareExpiryTime from './ShareExpiryTime.vue'\n\nimport ExternalShareAction from './ExternalShareAction.vue'\nimport GeneratePassword from '../utils/GeneratePassword.ts'\nimport Share from '../models/Share.ts'\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\nimport logger from '../services/logger.ts'\n\nexport default {\n\tname: 'SharingEntryLink',\n\n\tcomponents: {\n\t\tExternalShareAction,\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tNcActionCheckbox,\n\t\tNcActionInput,\n\t\tNcActionLink,\n\t\tNcActionText,\n\t\tNcActionSeparator,\n\t\tNcAvatar,\n\t\tNcDialog,\n\t\tVueQrcode,\n\t\tTune,\n\t\tIconCalendarBlank,\n\t\tIconQr,\n\t\tErrorIcon,\n\t\tLockIcon,\n\t\tCheckIcon,\n\t\tClipboardIcon,\n\t\tCloseIcon,\n\t\tPlusIcon,\n\t\tSharingEntryQuickShareSelect,\n\t\tShareExpiryTime,\n\t},\n\n\tmixins: [SharesMixin, ShareDetails],\n\n\tprops: {\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tindex: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshareCreationComplete: false,\n\t\t\tcopySuccess: true,\n\t\t\tcopied: false,\n\t\t\tdefaultExpirationDateEnabled: false,\n\n\t\t\t// Are we waiting for password/expiration date\n\t\t\tpending: false,\n\n\t\t\tExternalLegacyLinkActions: OCA.Sharing.ExternalLinkActions.state,\n\t\t\tExternalShareActions: OCA.Sharing.ExternalShareActions.state,\n\n\t\t\t// tracks whether modal should be opened or not\n\t\t\tshowQRCode: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Link share label\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\ttitle() {\n\t\t\tconst l10nOptions = { escape: false /* no escape as this string is already escaped by Vue */ }\n\n\t\t\t// if we have a valid existing share (not pending)\n\t\t\tif (this.share && this.share.id) {\n\t\t\t\tif (!this.isShareOwner && this.share.ownerDisplayName) {\n\t\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\t\treturn t('files_sharing', '{shareWith} by {initiator}', {\n\t\t\t\t\t\t\tshareWith: this.share.shareWith,\n\t\t\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t\t\t}, l10nOptions)\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Shared via link by {initiator}', {\n\t\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t\t}, l10nOptions)\n\t\t\t\t}\n\t\t\t\tif (this.share.label && this.share.label.trim() !== '') {\n\t\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\t\tif (this.isFileRequest) {\n\t\t\t\t\t\t\treturn t('files_sharing', 'File request ({label})', {\n\t\t\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t\t\t}, l10nOptions)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn t('files_sharing', 'Mail share ({label})', {\n\t\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t\t}, l10nOptions)\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Share link ({label})', {\n\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t}, l10nOptions)\n\t\t\t\t}\n\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\tif (!this.share.shareWith || this.share.shareWith.trim() === '') {\n\t\t\t\t\t\treturn this.isFileRequest\n\t\t\t\t\t\t\t? t('files_sharing', 'File request')\n\t\t\t\t\t\t\t: t('files_sharing', 'Mail share')\n\t\t\t\t\t}\n\t\t\t\t\treturn this.share.shareWith\n\t\t\t\t}\n\n\t\t\t\tif (this.index === null) {\n\t\t\t\t\treturn t('files_sharing', 'Share link')\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.index >= 1) {\n\t\t\t\treturn t('files_sharing', 'Share link ({index})', { index: this.index })\n\t\t\t}\n\n\t\t\treturn t('files_sharing', 'Create public link')\n\t\t},\n\n\t\t/**\n\t\t * Show the email on a second line if a label is set for mail shares\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tsubtitle() {\n\t\t\tif (this.isEmailShareType\n\t\t\t\t&& this.title !== this.share.shareWith) {\n\t\t\t\treturn this.share.shareWith\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\tpasswordExpirationTime() {\n\t\t\tif (this.share.passwordExpirationTime === null) {\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t\tconst expirationTime = moment(this.share.passwordExpirationTime)\n\n\t\t\tif (expirationTime.diff(moment()) < 0) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn expirationTime.fromNow()\n\t\t},\n\n\t\t/**\n\t\t * Is Talk enabled?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisTalkEnabled() {\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is it possible to protect the password by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalkAvailable() {\n\t\t\treturn this.isPasswordProtected && this.isTalkEnabled\n\t\t},\n\n\t\t/**\n\t\t * Is the current share password protected by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalk: {\n\t\t\tget() {\n\t\t\t\treturn this.share.sendPasswordByTalk\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tthis.share.sendPasswordByTalk = enabled\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is the current share an email share ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisEmailShareType() {\n\t\t\treturn this.share\n\t\t\t\t? this.share.type === ShareType.Email\n\t\t\t\t: false\n\t\t},\n\n\t\tcanTogglePasswordProtectedByTalkAvailable() {\n\t\t\tif (!this.isPasswordProtected) {\n\t\t\t\t// Makes no sense\n\t\t\t\treturn false\n\t\t\t} else if (this.isEmailShareType && !this.hasUnsavedPassword) {\n\t\t\t\t// For email shares we need a new password in order to enable or\n\t\t\t\t// disable\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Anything else should be fine\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * Pending data.\n\t\t * If the share still doesn't have an id, it is not synced\n\t\t * Therefore this is still not valid and requires user input\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tpendingDataIsMissing() {\n\t\t\treturn this.pendingPassword || this.pendingEnforcedPassword || this.pendingDefaultExpirationDate || this.pendingEnforcedExpirationDate\n\t\t},\n\t\tpendingPassword() {\n\t\t\treturn this.config.enableLinkPasswordByDefault && this.isPendingShare\n\t\t},\n\t\tpendingEnforcedPassword() {\n\t\t\treturn this.config.enforcePasswordForPublicLink && this.isPendingShare\n\t\t},\n\t\tpendingEnforcedExpirationDate() {\n\t\t\treturn this.config.isDefaultExpireDateEnforced && this.isPendingShare\n\t\t},\n\t\tpendingDefaultExpirationDate() {\n\t\t\treturn (this.config.defaultExpirationDate instanceof Date || !isNaN(new Date(this.config.defaultExpirationDate).getTime())) && this.isPendingShare\n\t\t},\n\t\tisPendingShare() {\n\t\t\treturn !!(this.share && !this.share.id)\n\t\t},\n\t\tsharePolicyHasEnforcedProperties() {\n\t\t\treturn this.config.enforcePasswordForPublicLink || this.config.isDefaultExpireDateEnforced\n\t\t},\n\n\t\tenforcedPropertiesMissing() {\n\t\t\t// Ensure share exist and the share policy has required properties\n\t\t\tif (!this.sharePolicyHasEnforcedProperties) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tif (!this.share) {\n\t\t\t\t// if no share, we can't tell if properties are missing or not so we assume properties are missing\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\t// If share has ID, then this is an incoming link share created from the existing link share\n\t\t\t// Hence assume required properties\n\t\t\tif (this.share.id) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t// Check if either password or expiration date is missing and enforced\n\t\t\tconst isPasswordMissing = this.config.enforcePasswordForPublicLink && !this.share.password\n\t\t\tconst isExpireDateMissing = this.config.isDefaultExpireDateEnforced && !this.share.expireDate\n\n\t\t\treturn isPasswordMissing || isExpireDateMissing\n\t\t},\n\t\t// if newPassword exists, but is empty, it means\n\t\t// the user deleted the original password\n\t\thasUnsavedPassword() {\n\t\t\treturn this.share.newPassword !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Return the public share link\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tshareLink() {\n\t\t\treturn generateUrl('/s/{token}', { token: this.share.token }, { baseURL: getBaseUrl() })\n\t\t},\n\n\t\t/**\n\t\t * Tooltip message for actions button\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tactionsTooltip() {\n\t\t\treturn t('files_sharing', 'Actions for \"{title}\"', { title: this.title })\n\t\t},\n\n\t\t/**\n\t\t * Tooltip message for copy button\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tcopyLinkTooltip() {\n\t\t\tif (this.copied) {\n\t\t\t\tif (this.copySuccess) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\treturn t('files_sharing', 'Cannot copy, please copy the link manually')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Copy public link of \"{title}\" to clipboard', { title: this.title })\n\t\t},\n\n\t\t/**\n\t\t * External additionnai actions for the menu\n\t\t *\n\t\t * @deprecated use OCA.Sharing.ExternalShareActions\n\t\t * @return {Array}\n\t\t */\n\t\texternalLegacyLinkActions() {\n\t\t\treturn this.ExternalLegacyLinkActions.actions\n\t\t},\n\n\t\t/**\n\t\t * Additional actions for the menu\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\texternalLinkActions() {\n\t\t\tconst filterValidAction = (action) => (action.shareType.includes(ShareType.Link) || action.shareType.includes(ShareType.Email)) && !action.advanced\n\t\t\t// filter only the registered actions for said link\n\t\t\treturn this.ExternalShareActions.actions\n\t\t\t\t.filter(filterValidAction)\n\t\t},\n\n\t\tisPasswordPolicyEnabled() {\n\t\t\treturn typeof this.config.passwordPolicy === 'object'\n\t\t},\n\n\t\tcanChangeHideDownload() {\n\t\t\tconst hasDisabledDownload = (shareAttribute) => shareAttribute.scope === 'permissions' && shareAttribute.key === 'download' && shareAttribute.value === false\n\t\t\treturn this.fileInfo.shareAttributes.some(hasDisabledDownload)\n\t\t},\n\n\t\tisFileRequest() {\n\t\t\treturn this.share.isFileRequest\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.defaultExpirationDateEnabled = this.config.defaultExpirationDate instanceof Date\n\t\tif (this.share && this.isNewShare) {\n\t\t\tthis.share.expireDate = this.defaultExpirationDateEnabled ? this.formatDateToString(this.config.defaultExpirationDate) : ''\n\t\t}\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Check if the share requires review\n\t\t *\n\t\t * @param {boolean} shareReviewComplete if the share was reviewed\n\t\t * @return {boolean}\n\t\t */\n\t\tshareRequiresReview(shareReviewComplete) {\n\t\t\t// If a user clicks 'Create share' it means they have reviewed the share\n\t\t\tif (shareReviewComplete) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn this.defaultExpirationDateEnabled || this.config.enableLinkPasswordByDefault\n\t\t},\n\t\t/**\n\t\t * Create a new share link and append it to the list\n\t\t * @param {boolean} shareReviewComplete if the share was reviewed\n\t\t */\n\t\tasync onNewLinkShare(shareReviewComplete = false) {\n\t\t\tlogger.debug('onNewLinkShare called (with this.share)', this.share)\n\t\t\t// do not run again if already loading\n\t\t\tif (this.loading) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst shareDefaults = {\n\t\t\t\tshare_type: ShareType.Link,\n\t\t\t}\n\t\t\tif (this.config.isDefaultExpireDateEnforced) {\n\t\t\t\t// default is empty string if not set\n\t\t\t\t// expiration is the share object key, not expireDate\n\t\t\t\tshareDefaults.expiration = this.formatDateToString(this.config.defaultExpirationDate)\n\t\t\t}\n\n\t\t\tlogger.debug('Missing required properties?', this.enforcedPropertiesMissing)\n\t\t\t// Do not push yet if we need a password or an expiration date: show pending menu\n\t\t\t// A share would require a review for example is default expiration date is set but not enforced, this allows\n\t\t\t// the user to review the share and remove the expiration date if they don't want it\n\t\t\tif ((this.sharePolicyHasEnforcedProperties && this.enforcedPropertiesMissing) || this.shareRequiresReview(shareReviewComplete === true)) {\n\t\t\t\tthis.pending = true\n\t\t\t\tthis.shareCreationComplete = false\n\n\t\t\t\tlogger.info('Share policy requires a review or has mandated properties (password, expirationDate)...')\n\n\t\t\t\t// ELSE, show the pending popovermenu\n\t\t\t\t// if password default or enforced, pre-fill with random one\n\t\t\t\tif (this.config.enableLinkPasswordByDefault || this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\tshareDefaults.password = await GeneratePassword(true)\n\t\t\t\t}\n\n\t\t\t\t// create share & close menu\n\t\t\t\tconst share = new Share(shareDefaults)\n\t\t\t\tconst component = await new Promise(resolve => {\n\t\t\t\t\tthis.$emit('add:share', share, resolve)\n\t\t\t\t})\n\n\t\t\t\t// open the menu on the\n\t\t\t\t// freshly created share component\n\t\t\t\tthis.open = false\n\t\t\t\tthis.pending = false\n\t\t\t\tcomponent.open = true\n\n\t\t\t\t// Nothing is enforced, creating share directly\n\t\t\t} else {\n\n\t\t\t\t// if a share already exists, pushing it\n\t\t\t\tif (this.share && !this.share.id) {\n\t\t\t\t\t// if the share is valid, create it on the server\n\t\t\t\t\tif (this.checkShare(this.share)) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tlogger.info('Sending existing share to server', this.share)\n\t\t\t\t\t\t\tawait this.pushNewLinkShare(this.share, true)\n\t\t\t\t\t\t\tthis.shareCreationComplete = true\n\t\t\t\t\t\t\tlogger.info('Share created on server', this.share)\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tthis.pending = false\n\t\t\t\t\t\t\tlogger.error('Error creating share', e)\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.open = true\n\t\t\t\t\t\tshowError(t('files_sharing', 'Error, please enter proper password and/or expiration date'))\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst share = new Share(shareDefaults)\n\t\t\t\tawait this.pushNewLinkShare(share)\n\t\t\t\tthis.shareCreationComplete = true\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Push a new link share to the server\n\t\t * And update or append to the list\n\t\t * accordingly\n\t\t *\n\t\t * @param {Share} share the new share\n\t\t * @param {boolean} [update] do we update the current share ?\n\t\t */\n\t\tasync pushNewLinkShare(share, update) {\n\t\t\ttry {\n\t\t\t\t// do nothing if we're already pending creation\n\t\t\t\tif (this.loading) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.errors = {}\n\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t\t\tconst options = {\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: ShareType.Link,\n\t\t\t\t\tpassword: share.password,\n\t\t\t\t\texpireDate: share.expireDate ?? '',\n\t\t\t\t\tattributes: JSON.stringify(this.fileInfo.shareAttributes),\n\t\t\t\t\t// we do not allow setting the publicUpload\n\t\t\t\t\t// before the share creation.\n\t\t\t\t\t// Todo: We also need to fix the createShare method in\n\t\t\t\t\t// lib/Controller/ShareAPIController.php to allow file requests\n\t\t\t\t\t// (currently not supported on create, only update)\n\t\t\t\t}\n\n\t\t\t\tconsole.debug('Creating link share with options', options)\n\t\t\t\tconst newShare = await this.createShare(options)\n\n\t\t\t\tthis.open = false\n\t\t\t\tthis.shareCreationComplete = true\n\t\t\t\tconsole.debug('Link share created', newShare)\n\t\t\t\t// if share already exists, copy link directly on next tick\n\t\t\t\tlet component\n\t\t\t\tif (update) {\n\t\t\t\t\tcomponent = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('update:share', newShare, resolve)\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\t// adding new share to the array and copying link to clipboard\n\t\t\t\t\t// using promise so that we can copy link in the same click function\n\t\t\t\t\t// and avoid firefox copy permissions issue\n\t\t\t\t\tcomponent = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('add:share', newShare, resolve)\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tawait this.getNode()\n\t\t\t\temit('files:node:updated', this.node)\n\n\t\t\t\t// Execute the copy link method\n\t\t\t\t// freshly created share component\n\t\t\t\t// ! somehow does not works on firefox !\n\t\t\t\tif (!this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\t// Only copy the link when the password was not forced,\n\t\t\t\t\t// otherwise the user needs to copy/paste the password before finishing the share.\n\t\t\t\t\tcomponent.copyLink()\n\t\t\t\t}\n\t\t\t\tshowSuccess(t('files_sharing', 'Link share created'))\n\n\t\t\t} catch (data) {\n\t\t\t\tconst message = data?.response?.data?.ocs?.meta?.message\n\t\t\t\tif (!message) {\n\t\t\t\t\tshowError(t('files_sharing', 'Error while creating the share'))\n\t\t\t\t\tconsole.error(data)\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif (message.match(/password/i)) {\n\t\t\t\t\tthis.onSyncError('password', message)\n\t\t\t\t} else if (message.match(/date/i)) {\n\t\t\t\t\tthis.onSyncError('expireDate', message)\n\t\t\t\t} else {\n\t\t\t\t\tthis.onSyncError('pending', message)\n\t\t\t\t}\n\t\t\t\tthrow data\n\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t\tthis.shareCreationComplete = true\n\t\t\t}\n\t\t},\n\t\tasync copyLink() {\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(this.shareLink)\n\t\t\t\tshowSuccess(t('files_sharing', 'Link copied'))\n\t\t\t\t// focus and show the tooltip\n\t\t\t\tthis.$refs.copyButton.$el.focus()\n\t\t\t\tthis.copySuccess = true\n\t\t\t\tthis.copied = true\n\t\t\t} catch (error) {\n\t\t\t\tthis.copySuccess = false\n\t\t\t\tthis.copied = true\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.copySuccess = false\n\t\t\t\t\tthis.copied = false\n\t\t\t\t}, 4000)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update newPassword values\n\t\t * of share. If password is set but not newPassword\n\t\t * then the user did not changed the password\n\t\t * If both co-exists, the password have changed and\n\t\t * we show it in plain text.\n\t\t * Then on submit (or menu close), we sync it.\n\t\t *\n\t\t * @param {string} password the changed password\n\t\t */\n\t\tonPasswordChange(password) {\n\t\t\tthis.$set(this.share, 'newPassword', password)\n\t\t},\n\n\t\t/**\n\t\t * Uncheck password protection\n\t\t * We need this method because @update:checked\n\t\t * is ran simultaneously as @uncheck, so we\n\t\t * cannot ensure data is up-to-date\n\t\t */\n\t\tonPasswordDisable() {\n\t\t\tthis.share.password = ''\n\n\t\t\t// reset password state after sync\n\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t// only update if valid share.\n\t\t\tif (this.share.id) {\n\t\t\t\tthis.queueUpdate('password')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Menu have been closed or password has been submitted.\n\t\t * The only property that does not get\n\t\t * synced automatically is the password\n\t\t * So let's check if we have an unsaved\n\t\t * password.\n\t\t * expireDate is saved on datepicker pick\n\t\t * or close.\n\t\t */\n\t\tonPasswordSubmit() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t\tthis.queueUpdate('password')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update the password along with \"sendPasswordByTalk\".\n\t\t *\n\t\t * If the password was modified the new password is sent; otherwise\n\t\t * updating a mail share would fail, as in that case it is required that\n\t\t * a new password is set when enabling or disabling\n\t\t * \"sendPasswordByTalk\".\n\t\t */\n\t\tonPasswordProtectedByTalkChange() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t}\n\n\t\t\tthis.queueUpdate('sendPasswordByTalk', 'password')\n\t\t},\n\n\t\t/**\n\t\t * Save potential changed data on menu close\n\t\t */\n\t\tonMenuClose() {\n\t\t\tthis.onPasswordSubmit()\n\t\t\tthis.onNoteSubmit()\n\t\t},\n\n\t\t/**\n\t\t * @param enabled True if expiration is enabled\n\t\t */\n\t\tonExpirationDateToggleUpdate(enabled) {\n\t\t\tthis.share.expireDate = enabled ? this.formatDateToString(this.config.defaultExpirationDate) : ''\n\t\t},\n\n\t\texpirationDateChanged(event) {\n\t\t\tconst value = event?.target?.value\n\t\t\tconst isValid = !!value && !isNaN(new Date(value).getTime())\n\t\t\tthis.defaultExpirationDateEnabled = isValid\n\t\t},\n\n\t\t/**\n\t\t * Cancel the share creation\n\t\t * Used in the pending popover\n\t\t */\n\t\tonCancel() {\n\t\t\t// this.share already exists at this point,\n\t\t\t// but is incomplete as not pushed to server\n\t\t\t// YET. We can safely delete the share :)\n\t\t\tif (!this.shareCreationComplete) {\n\t\t\t\tthis.$emit('remove:share', this.share)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\t}\n\n\t\t&__desc {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tline-height: 1.2em;\n\n\t\t\tp {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&__title {\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\t\t}\n\n\t\t&__actions {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tmargin-inline-start: auto;\n\t\t}\n\n\t&:not(.sharing-entry--share) &__actions {\n\t\t.new-share-link {\n\t\t\tborder-top: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t:deep(.avatar-link-share) {\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t.sharing-entry__action--public-upload {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&__loading {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tmargin: 0;\n\t\tpadding: 14px;\n\t\tmargin-inline-start: auto;\n\t}\n\n\t// put menus to the left\n\t// but only the first one\n\t.action-item {\n\n\t\t~.action-item,\n\t\t~.sharing-entry__loading {\n\t\t\tmargin-inline-start: 0;\n\t\t}\n\t}\n\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n\n// styling for the qr-code container\n.qr-code-dialog {\n\tdisplay: flex;\n\twidth: 100%;\n\tjustify-content: center;\n\n\t&__img {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=style&index=0&id=48fba0bf&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=style&index=0&id=48fba0bf&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryLink.vue?vue&type=template&id=48fba0bf&scoped=true\"\nimport script from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryLink.vue?vue&type=style&index=0&id=48fba0bf&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"48fba0bf\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<ul v-if=\"canLinkShare\"\n\t\t:aria-label=\"t('files_sharing', 'Link shares')\"\n\t\tclass=\"sharing-link-list\">\n\t\t<!-- If no link shares, show the add link default entry -->\n\t\t<SharingEntryLink v-if=\"!hasLinkShares && canReshare\"\n\t\t\t:can-reshare=\"canReshare\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t@add:share=\"addShare\" />\n\n\t\t<!-- Else we display the list -->\n\t\t<template v-if=\"hasShares\">\n\t\t\t<!-- using shares[index] to work with .sync -->\n\t\t\t<SharingEntryLink v-for=\"(share, index) in shares\"\n\t\t\t\t:key=\"share.id\"\n\t\t\t\t:index=\"shares.length > 1 ? index + 1 : null\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:share.sync=\"shares[index]\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t@add:share=\"addShare(...arguments)\"\n\t\t\t\t@update:share=\"awaitForShare(...arguments)\"\n\t\t\t\t@remove:share=\"removeShare\"\n\t\t\t\t@open-sharing-details=\"openSharingDetails(share)\" />\n\t\t</template>\n\t</ul>\n</template>\n\n<script>\nimport { getCapabilities } from '@nextcloud/capabilities'\n\nimport { t } from '@nextcloud/l10n'\n\nimport Share from '../models/Share.js'\nimport SharingEntryLink from '../components/SharingEntryLink.vue'\nimport ShareDetails from '../mixins/ShareDetails.js'\nimport { ShareType } from '@nextcloud/sharing'\n\nexport default {\n\tname: 'SharingLinkList',\n\n\tcomponents: {\n\t\tSharingEntryLink,\n\t},\n\n\tmixins: [ShareDetails],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcanLinkShare: getCapabilities().files_sharing.public.enabled,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Do we have link shares?\n\t\t * Using this to still show the `new link share`\n\t\t * button regardless of mail shares\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\thasLinkShares() {\n\t\t\treturn this.shares.filter(share => share.type === ShareType.Link).length > 0\n\t\t},\n\n\t\t/**\n\t\t * Do we have any link or email shares?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasShares() {\n\t\t\treturn this.shares.length > 0\n\t\t},\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\t/**\n\t\t * Add a new share into the link shares list\n\t\t * and return the newly created share component\n\t\t *\n\t\t * @param {Share} share the share to add to the array\n\t\t * @param {Function} resolve a function to run after the share is added and its component initialized\n\t\t */\n\t\taddShare(share, resolve) {\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.push(share)\n\t\t\tthis.awaitForShare(share, resolve)\n\t\t},\n\n\t\t/**\n\t\t * Await for next tick and render after the list updated\n\t\t * Then resolve with the matched vue component of the\n\t\t * provided share object\n\t\t *\n\t\t * @param {Share} share newly created share\n\t\t * @param {Function} resolve a function to execute after\n\t\t */\n\t\tawaitForShare(share, resolve) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tconst newShare = this.$children.find(component => component.share === share)\n\t\t\t\tif (newShare) {\n\t\t\t\t\tresolve(newShare)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\tconst index = this.shares.findIndex(item => item === share)\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.splice(index, 1)\n\t\t},\n\t},\n}\n</script>\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry sharing-entry__link\",class:{ 'sharing-entry--share': _vm.share }},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":true,\"icon-class\":_vm.isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\",attrs:{\"title\":_vm.title}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.title)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share && _vm.share.permissions !== undefined)?_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__actions\"},[(_vm.share && _vm.share.expireDate)?_c('ShareExpiryTime',{attrs:{\"share\":_vm.share}}):_vm._e(),_vm._v(\" \"),_c('div',[(_vm.share && (!_vm.isEmailShareType || _vm.isFileRequest) && _vm.share.token)?_c('NcActions',{ref:\"copyButton\",staticClass:\"sharing-entry__copy\"},[_c('NcActionButton',{attrs:{\"aria-label\":_vm.copyLinkTooltip,\"title\":_vm.copyLinkTooltip,\"href\":_vm.shareLink},on:{\"click\":function($event){$event.preventDefault();return _vm.copyLink.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.copied && _vm.copySuccess)?_c('CheckIcon',{staticClass:\"icon-checkmark-color\",attrs:{\"size\":20}}):_c('ClipboardIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,4269614823)})],1):_vm._e()],1)],1)]),_vm._v(\" \"),(!_vm.pending && _vm.pendingDataIsMissing)?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onCancel}},[(_vm.errors.pending)?_c('NcActionText',{staticClass:\"error\",scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ErrorIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1966124155)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.errors.pending)+\"\\n\\t\\t\")]):_c('NcActionText',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Please enter the following required information before creating the share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.pendingPassword)?_c('NcActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event},\"uncheck\":_vm.onPasswordDisable}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.config.enforcePasswordForPublicLink ? _vm.t('files_sharing', 'Password protection (enforced)') : _vm.t('files_sharing', 'Password protection'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingEnforcedPassword || _vm.share.password)?_c('NcActionInput',{staticClass:\"share-link-password\",attrs:{\"label\":_vm.t('files_sharing', 'Enter a password'),\"value\":_vm.share.password,\"disabled\":_vm.saving,\"required\":_vm.config.enableLinkPasswordByDefault || _vm.config.enforcePasswordForPublicLink,\"minlength\":_vm.isPasswordPolicyEnabled && _vm.config.passwordPolicy.minLength,\"autocomplete\":\"new-password\"},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"password\", $event)},\"submit\":function($event){return _vm.onNewLinkShare(true)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('LockIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2056568168)}):_vm._e(),_vm._v(\" \"),(_vm.pendingDefaultExpirationDate)?_c('NcActionCheckbox',{staticClass:\"share-link-expiration-date-checkbox\",attrs:{\"checked\":_vm.defaultExpirationDateEnabled,\"disabled\":_vm.pendingEnforcedExpirationDate || _vm.saving},on:{\"update:checked\":function($event){_vm.defaultExpirationDateEnabled=$event},\"update:model-value\":_vm.onExpirationDateToggleUpdate}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.config.isDefaultExpireDateEnforced ? _vm.t('files_sharing', 'Enable link expiration (enforced)') : _vm.t('files_sharing', 'Enable link expiration'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),((_vm.pendingDefaultExpirationDate || _vm.pendingEnforcedExpirationDate) && _vm.defaultExpirationDateEnabled)?_c('NcActionInput',{staticClass:\"share-link-expire-date\",attrs:{\"data-cy-files-sharing-expiration-date-input\":\"\",\"label\":_vm.pendingEnforcedExpirationDate ? _vm.t('files_sharing', 'Enter expiration date (enforced)') : _vm.t('files_sharing', 'Enter expiration date'),\"disabled\":_vm.saving,\"is-native-picker\":true,\"hide-label\":true,\"value\":new Date(_vm.share.expireDate),\"type\":\"date\",\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced},on:{\"update:model-value\":_vm.onExpirationChange,\"change\":_vm.expirationDateChanged},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconCalendarBlank',{attrs:{\"size\":20}})]},proxy:true}],null,false,3418578971)}):_vm._e(),_vm._v(\" \"),_c('NcActionButton',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare(true)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CheckIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2630571749)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onCancel.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\")])],1):(!_vm.loading)?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onMenuClose}},[(_vm.share)?[(_vm.share.canEdit && _vm.canReshare)?[_c('NcActionButton',{attrs:{\"disabled\":_vm.saving,\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();return _vm.openSharingDetails.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Tune',{attrs:{\"size\":20}})]},proxy:true}],null,false,1300586850)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Customize link'))+\"\\n\\t\\t\\t\\t\")])]:_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();_vm.showQRCode = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconQr',{attrs:{\"size\":20}})]},proxy:true}],null,false,1082198240)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Generate QR code'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_vm._l((_vm.externalLinkActions),function(action){return _c('ExternalShareAction',{key:action.id,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),_vm._l((_vm.externalLegacyLinkActions),function({ icon, url, name },actionIndex){return _c('NcActionLink',{key:actionIndex,attrs:{\"href\":url(_vm.shareLink),\"icon\":icon,\"target\":\"_blank\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(name)+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),(!_vm.isEmailShareType && _vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('PlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2953566425)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Add another link'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",attrs:{\"title\":_vm.t('files_sharing', 'Create a new share link'),\"aria-label\":_vm.t('files_sharing', 'Create a new share link'),\"icon\":_vm.loading ? 'icon-loading-small' : 'icon-add'},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}}):_vm._e()],2):_c('div',{staticClass:\"icon-loading-small sharing-entry__loading\"}),_vm._v(\" \"),(_vm.showQRCode)?_c('NcDialog',{attrs:{\"size\":\"normal\",\"open\":_vm.showQRCode,\"name\":_vm.title,\"close-on-click-outside\":true},on:{\"update:open\":function($event){_vm.showQRCode=$event},\"close\":function($event){_vm.showQRCode = false}}},[_c('div',{staticClass:\"qr-code-dialog\"},[_c('VueQrcode',{staticClass:\"qr-code-dialog__img\",attrs:{\"tag\":\"img\",\"value\":_vm.shareLink}})],1)]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingLinkList.vue?vue&type=template&id=5f722665\"\nimport script from \"./SharingLinkList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingLinkList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{staticClass:\"sharing-sharee-list\",attrs:{\"aria-label\":_vm.t('files_sharing', 'Shares')}},_vm._l((_vm.shares),function(share){return _c('SharingEntry',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share,\"is-unique\":_vm.isUnique(share)},on:{\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<li class=\"sharing-entry\">\n\t\t<NcAvatar class=\"sharing-entry__avatar\"\n\t\t\t:is-no-user=\"share.type !== ShareType.User\"\n\t\t\t:user=\"share.shareWith\"\n\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t:menu-position=\"'left'\"\n\t\t\t:url=\"share.shareWithAvatar\" />\n\n\t\t<div class=\"sharing-entry__summary\">\n\t\t\t<component :is=\"share.shareWithLink ? 'a' : 'div'\"\n\t\t\t\t:title=\"tooltip\"\n\t\t\t\t:aria-label=\"tooltip\"\n\t\t\t\t:href=\"share.shareWithLink\"\n\t\t\t\tclass=\"sharing-entry__summary__desc\">\n\t\t\t\t<span>{{ title }}\n\t\t\t\t\t<span v-if=\"!isUnique\" class=\"sharing-entry__summary__desc-unique\"> ({{\n\t\t\t\t\t\tshare.shareWithDisplayNameUnique }})</span>\n\t\t\t\t\t<small v-if=\"hasStatus && share.status.message\">({{ share.status.message }})</small>\n\t\t\t\t</span>\n\t\t\t</component>\n\t\t\t<SharingEntryQuickShareSelect :share=\"share\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t@open-sharing-details=\"openShareDetailsForCustomSettings(share)\" />\n\t\t</div>\n\t\t<ShareExpiryTime v-if=\"share && share.expireDate\" :share=\"share\" />\n\t\t<NcButton v-if=\"share.canEdit\"\n\t\t\tclass=\"sharing-entry__action\"\n\t\t\tdata-cy-files-sharing-share-actions\n\t\t\t:aria-label=\"t('files_sharing', 'Open Sharing Details')\"\n\t\t\ttype=\"tertiary\"\n\t\t\t@click=\"openSharingDetails(share)\">\n\t\t\t<template #icon>\n\t\t\t\t<DotsHorizontalIcon :size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t</li>\n</template>\n\n<script>\nimport { ShareType } from '@nextcloud/sharing'\n\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\nimport DotsHorizontalIcon from 'vue-material-design-icons/DotsHorizontal.vue'\n\nimport ShareExpiryTime from './ShareExpiryTime.vue'\nimport SharingEntryQuickShareSelect from './SharingEntryQuickShareSelect.vue'\n\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\n\nexport default {\n\tname: 'SharingEntry',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcAvatar,\n\t\tDotsHorizontalIcon,\n\t\tNcSelect,\n\t\tShareExpiryTime,\n\t\tSharingEntryQuickShareSelect,\n\t},\n\n\tmixins: [SharesMixin, ShareDetails],\n\n\tcomputed: {\n\t\ttitle() {\n\t\t\tlet title = this.share.shareWithDisplayName\n\t\t\tif (this.share.type === ShareType.Group) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'group')})`\n\t\t\t} else if (this.share.type === ShareType.Room) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'conversation')})`\n\t\t\t} else if (this.share.type === ShareType.Remote) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'remote')})`\n\t\t\t} else if (this.share.type === ShareType.RemoteGroup) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'remote group')})`\n\t\t\t} else if (this.share.type === ShareType.Guest) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'guest')})`\n\t\t\t}\n\t\t\tif (!this.isShareOwner && this.share.ownerDisplayName) {\n\t\t\t\ttitle += ' ' + t('files_sharing', 'by {initiator}', {\n\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn title\n\t\t},\n\t\ttooltip() {\n\t\t\tif (this.share.owner !== this.share.uidFileOwner) {\n\t\t\t\tconst data = {\n\t\t\t\t\t// todo: strong or italic?\n\t\t\t\t\t// but the t function escape any html from the data :/\n\t\t\t\t\tuser: this.share.shareWithDisplayName,\n\t\t\t\t\towner: this.share.ownerDisplayName,\n\t\t\t\t}\n\t\t\t\tif (this.share.type === ShareType.Group) {\n\t\t\t\t\treturn t('files_sharing', 'Shared with the group {user} by {owner}', data)\n\t\t\t\t} else if (this.share.type === ShareType.Room) {\n\t\t\t\t\treturn t('files_sharing', 'Shared with the conversation {user} by {owner}', data)\n\t\t\t\t}\n\n\t\t\t\treturn t('files_sharing', 'Shared with {user} by {owner}', data)\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\t/**\n\t\t * @return {boolean}\n\t\t */\n\t\thasStatus() {\n\t\t\tif (this.share.type !== ShareType.User) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn (typeof this.share.status === 'object' && !Array.isArray(this.share.status))\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Save potential changed data on menu close\n\t\t */\n\t\tonMenuClose() {\n\t\t\tthis.onNoteSubmit()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: flex-start;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\n\t\t&__desc {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding-bottom: 0;\n\t\t\tline-height: 1.2em;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\tp,\n\t\t\tsmall {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&-unique {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t}\n\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=style&index=0&id=2dbd45b5&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=style&index=0&id=2dbd45b5&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntry.vue?vue&type=template&id=2dbd45b5&scoped=true\"\nimport script from \"./SharingEntry.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntry.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntry.vue?vue&type=style&index=0&id=2dbd45b5&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2dbd45b5\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<ul class=\"sharing-sharee-list\" :aria-label=\"t('files_sharing', 'Shares')\">\n\t\t<SharingEntry v-for=\"share in shares\"\n\t\t\t:key=\"share.id\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:share=\"share\"\n\t\t\t:is-unique=\"isUnique(share)\"\n\t\t\t@open-sharing-details=\"openSharingDetails(share)\" />\n\t</ul>\n</template>\n\n<script>\nimport { t } from '@nextcloud/l10n'\nimport SharingEntry from '../components/SharingEntry.vue'\nimport ShareDetails from '../mixins/ShareDetails.js'\nimport { ShareType } from '@nextcloud/sharing'\n\nexport default {\n\tname: 'SharingList',\n\n\tcomponents: {\n\t\tSharingEntry,\n\t},\n\n\tmixins: [ShareDetails],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { },\n\t\t\trequired: true,\n\t\t},\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tsetup() {\n\t\treturn {\n\t\t\tt,\n\t\t}\n\t},\n\tcomputed: {\n\t\thasShares() {\n\t\t\treturn this.shares.length === 0\n\t\t},\n\t\tisUnique() {\n\t\t\treturn (share) => {\n\t\t\t\treturn [...this.shares].filter((item) => {\n\t\t\t\t\treturn share.type === ShareType.User && share.shareWithDisplayName === item.shareWithDisplayName\n\t\t\t\t}).length <= 1\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.type !== _vm.ShareType.User,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":'left',\"url\":_vm.share.shareWithAvatar}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c(_vm.share.shareWithLink ? 'a' : 'div',{tag:\"component\",staticClass:\"sharing-entry__summary__desc\",attrs:{\"title\":_vm.tooltip,\"aria-label\":_vm.tooltip,\"href\":_vm.share.shareWithLink}},[_c('span',[_vm._v(_vm._s(_vm.title)+\"\\n\\t\\t\\t\\t\"),(!_vm.isUnique)?_c('span',{staticClass:\"sharing-entry__summary__desc-unique\"},[_vm._v(\" (\"+_vm._s(_vm.share.shareWithDisplayNameUnique)+\")\")]):_vm._e(),_vm._v(\" \"),(_vm.hasStatus && _vm.share.status.message)?_c('small',[_vm._v(\"(\"+_vm._s(_vm.share.status.message)+\")\")]):_vm._e()])]),_vm._v(\" \"),_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}})],1),_vm._v(\" \"),(_vm.share && _vm.share.expireDate)?_c('ShareExpiryTime',{attrs:{\"share\":_vm.share}}):_vm._e(),_vm._v(\" \"),(_vm.share.canEdit)?_c('NcButton',{staticClass:\"sharing-entry__action\",attrs:{\"data-cy-files-sharing-share-actions\":\"\",\"aria-label\":_vm.t('files_sharing', 'Open Sharing Details'),\"type\":\"tertiary\"},on:{\"click\":function($event){return _vm.openSharingDetails(_vm.share)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1700783217)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingList.vue?vue&type=template&id=5b9a3a03\"\nimport script from \"./SharingList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTabDetailsView\"},[_c('div',{staticClass:\"sharingTabDetailsView__header\"},[_c('span',[(_vm.isUserShare)?_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.shareType !== _vm.ShareType.User,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":'left',\"url\":_vm.share.shareWithAvatar}}):_vm._e(),_vm._v(\" \"),_c(_vm.getShareTypeIcon(_vm.share.type),{tag:\"component\",attrs:{\"size\":32}})],1),_vm._v(\" \"),_c('span',[_c('h1',[_vm._v(_vm._s(_vm.title))])])]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__wrapper\"},[_c('div',{ref:\"quickPermissions\",staticClass:\"sharingTabDetailsView__quick-permissions\"},[_c('div',[_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"read-only\",\"checked\":_vm.sharingPermission,\"value\":_vm.bundledPermissions.READ_ONLY.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.toggleCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ViewIcon',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'View only'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"upload-edit\",\"checked\":_vm.sharingPermission,\"value\":_vm.allPermissions,\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.toggleCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('EditIcon',{attrs:{\"size\":20}})]},proxy:true}])},[(_vm.allowsFileDrop)?[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow upload and editing'))+\"\\n\\t\\t\\t\\t\\t\")]:[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\\t\\t\")]],2),_vm._v(\" \"),(_vm.allowsFileDrop)?_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-sharing-share-permissions-bundle\":\"file-drop\",\"button-variant\":true,\"checked\":_vm.sharingPermission,\"value\":_vm.bundledPermissions.FILE_DROP.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.toggleCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('UploadIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1083194048)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'File request'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.t('files_sharing', 'Upload only')))])]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"custom\",\"checked\":_vm.sharingPermission,\"value\":'custom',\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.expandCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.customPermissionsList))])])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__advanced-control\"},[_c('NcButton',{attrs:{\"id\":\"advancedSectionAccordionAdvancedControl\",\"type\":\"tertiary\",\"alignment\":\"end-reverse\",\"aria-controls\":\"advancedSectionAccordionAdvanced\",\"aria-expanded\":_vm.advancedControlExpandedValue},on:{\"click\":function($event){_vm.advancedSectionAccordionExpanded = !_vm.advancedSectionAccordionExpanded}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(!_vm.advancedSectionAccordionExpanded)?_c('MenuDownIcon'):_c('MenuUpIcon')]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Advanced settings'))+\"\\n\\t\\t\\t\\t\")])],1),_vm._v(\" \"),(_vm.advancedSectionAccordionExpanded)?_c('div',{staticClass:\"sharingTabDetailsView__advanced\",attrs:{\"id\":\"advancedSectionAccordionAdvanced\",\"aria-labelledby\":\"advancedSectionAccordionAdvancedControl\",\"role\":\"region\"}},[_c('section',[(_vm.isPublicShare)?_c('NcInputField',{staticClass:\"sharingTabDetailsView__label\",attrs:{\"autocomplete\":\"off\",\"label\":_vm.t('files_sharing', 'Share label'),\"value\":_vm.share.label},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"label\", $event)}}}):_vm._e(),_vm._v(\" \"),(_vm.config.allowCustomTokens && _vm.isPublicShare && !_vm.isNewShare)?_c('NcInputField',{attrs:{\"autocomplete\":\"off\",\"label\":_vm.t('files_sharing', 'Share link token'),\"helper-text\":_vm.t('files_sharing', 'Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information.'),\"show-trailing-button\":\"\",\"trailing-button-label\":_vm.loadingToken ? _vm.t('files_sharing', 'Generating…') : _vm.t('files_sharing', 'Generate new token'),\"value\":_vm.share.token},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"token\", $event)},\"trailing-button-click\":_vm.generateNewToken},scopedSlots:_vm._u([{key:\"trailing-button-icon\",fn:function(){return [(_vm.loadingToken)?_c('NcLoadingIcon'):_c('Refresh',{attrs:{\"size\":20}})]},proxy:true}],null,false,4228062821)}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?[_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.isPasswordEnforced},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Set password'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isPasswordProtected)?_c('NcPasswordField',{attrs:{\"autocomplete\":\"new-password\",\"value\":_vm.hasUnsavedPassword ? _vm.share.newPassword : '',\"error\":_vm.passwordError,\"helper-text\":_vm.errorPasswordLabel || _vm.passwordHint,\"required\":_vm.isPasswordEnforced && _vm.isNewShare,\"label\":_vm.t('files_sharing', 'Password')},on:{\"update:value\":_vm.onPasswordChange}}):_vm._e(),_vm._v(\" \"),(_vm.isEmailShareType && _vm.passwordExpirationTime)?_c('span',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expires {passwordExpirationTime}', { passwordExpirationTime: _vm.passwordExpirationTime }))+\"\\n\\t\\t\\t\\t\\t\")]):(_vm.isEmailShareType && _vm.passwordExpirationTime !== null)?_c('span',{attrs:{\"icon\":\"icon-error\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expired'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.canTogglePasswordProtectedByTalkAvailable)?_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.isPasswordProtectedByTalk},on:{\"update:checked\":[function($event){_vm.isPasswordProtectedByTalk=$event},_vm.onPasswordProtectedByTalkChange]}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Video verification'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.hasExpirationDate,\"disabled\":_vm.isExpiryDateEnforced},on:{\"update:checked\":function($event){_vm.hasExpirationDate=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.isExpiryDateEnforced\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('NcDateTimePickerNative',{attrs:{\"id\":\"share-date-picker\",\"value\":new Date(_vm.share.expireDate ?? _vm.dateTomorrow),\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced,\"hide-label\":\"\",\"label\":_vm.t('files_sharing', 'Expiration date'),\"placeholder\":_vm.t('files_sharing', 'Expiration date'),\"type\":\"date\"},on:{\"input\":_vm.onExpirationChange}}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.canChangeHideDownload,\"checked\":_vm.share.hideDownload},on:{\"update:checked\":[function($event){return _vm.$set(_vm.share, \"hideDownload\", $event)},function($event){return _vm.queueUpdate('hideDownload')}]}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Hide download'))+\"\\n\\t\\t\\t\\t\")]):_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDownload,\"checked\":_vm.canDownload,\"data-cy-files-sharing-share-permissions-checkbox\":\"download\"},on:{\"update:checked\":function($event){_vm.canDownload=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow download and sync'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.writeNoteToRecipientIsChecked},on:{\"update:checked\":function($event){_vm.writeNoteToRecipientIsChecked=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Note to recipient'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.writeNoteToRecipientIsChecked)?[_c('NcTextArea',{attrs:{\"label\":_vm.t('files_sharing', 'Note to recipient'),\"placeholder\":_vm.t('files_sharing', 'Enter a note for the share recipient'),\"value\":_vm.share.note},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"note\", $event)}}})]:_vm._e(),_vm._v(\" \"),(_vm.isPublicShare && _vm.isFolder)?_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.showInGridView},on:{\"update:checked\":function($event){_vm.showInGridView=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Show files in grid view'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.externalLinkActions),function(action){return _c('ExternalShareAction',{key:action.id,ref:\"externalLinkActions\",refInFor:true,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.setCustomPermissions},on:{\"update:checked\":function($event){_vm.setCustomPermissions=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.setCustomPermissions)?_c('section',{staticClass:\"custom-permissions-group\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canRemoveReadPermission,\"checked\":_vm.hasRead,\"data-cy-files-sharing-share-permissions-checkbox\":\"read\"},on:{\"update:checked\":function($event){_vm.hasRead=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Read'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isFolder)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetCreate,\"checked\":_vm.canCreate,\"data-cy-files-sharing-share-permissions-checkbox\":\"create\"},on:{\"update:checked\":function($event){_vm.canCreate=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetEdit,\"checked\":_vm.canEdit,\"data-cy-files-sharing-share-permissions-checkbox\":\"update\"},on:{\"update:checked\":function($event){_vm.canEdit=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Edit'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.resharingIsPossible)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetReshare,\"checked\":_vm.canReshare,\"data-cy-files-sharing-share-permissions-checkbox\":\"share\"},on:{\"update:checked\":function($event){_vm.canReshare=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDelete,\"checked\":_vm.canDelete,\"data-cy-files-sharing-share-permissions-checkbox\":\"delete\"},on:{\"update:checked\":function($event){_vm.canDelete=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete'))+\"\\n\\t\\t\\t\\t\\t\")])],1):_vm._e()],2)]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__footer\"},[_c('div',{staticClass:\"button-group\"},[_c('NcButton',{attrs:{\"data-cy-files-sharing-share-editor-action\":\"cancel\"},on:{\"click\":_vm.cancel}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__delete\"},[(!_vm.isNewShare)?_c('NcButton',{attrs:{\"aria-label\":_vm.t('files_sharing', 'Delete share'),\"disabled\":false,\"readonly\":false,\"variant\":\"tertiary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.removeShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete share'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\",\"data-cy-files-sharing-share-editor-action\":\"save\",\"disabled\":_vm.creating},on:{\"click\":_vm.saveShare},scopedSlots:_vm._u([(_vm.creating)?{key:\"icon\",fn:function(){return [_c('NcLoadingIcon')]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.shareButtonText)+\"\\n\\t\\t\\t\\t\")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon circle-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CircleOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CircleOutline.vue?vue&type=template&id=c013567c\"\nimport script from \"./CircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./CircleOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon circle-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon email-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"EmailIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Email.vue?vue&type=template&id=7dd7f6aa\"\nimport script from \"./Email.vue?vue&type=script&lang=js\"\nexport * from \"./Email.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon email-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon share-circle-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ShareCircleIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShareCircle.vue?vue&type=template&id=0e958886\"\nimport script from \"./ShareCircle.vue?vue&type=script&lang=js\"\nexport * from \"./ShareCircle.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon share-circle-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon account-circle-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"AccountCircleOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./AccountCircleOutline.vue?vue&type=template&id=5b2fe1de\"\nimport script from \"./AccountCircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./AccountCircleOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-circle-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon eye-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"EyeIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Eye.vue?vue&type=template&id=4ae2345c\"\nimport script from \"./Eye.vue?vue&type=script&lang=js\"\nexport * from \"./Eye.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon eye-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon refresh-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"RefreshIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Refresh.vue?vue&type=template&id=2864f909\"\nimport script from \"./Refresh.vue?vue&type=script&lang=js\"\nexport * from \"./Refresh.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon refresh-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<div class=\"sharingTabDetailsView\">\n\t\t<div class=\"sharingTabDetailsView__header\">\n\t\t\t<span>\n\t\t\t\t<NcAvatar v-if=\"isUserShare\"\n\t\t\t\t\tclass=\"sharing-entry__avatar\"\n\t\t\t\t\t:is-no-user=\"share.shareType !== ShareType.User\"\n\t\t\t\t\t:user=\"share.shareWith\"\n\t\t\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t\t\t:menu-position=\"'left'\"\n\t\t\t\t\t:url=\"share.shareWithAvatar\" />\n\t\t\t\t<component :is=\"getShareTypeIcon(share.type)\" :size=\"32\" />\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t<h1>{{ title }}</h1>\n\t\t\t</span>\n\t\t</div>\n\t\t<div class=\"sharingTabDetailsView__wrapper\">\n\t\t\t<div ref=\"quickPermissions\" class=\"sharingTabDetailsView__quick-permissions\">\n\t\t\t\t<div>\n\t\t\t\t\t<NcCheckboxRadioSwitch :button-variant=\"true\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"read-only\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"bundledPermissions.READ_ONLY.toString()\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"toggleCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'View only') }}\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<ViewIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :button-variant=\"true\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"upload-edit\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"allPermissions\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"toggleCustomPermissions\">\n\t\t\t\t\t\t<template v-if=\"allowsFileDrop\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Allow upload and editing') }}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Allow editing') }}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<EditIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"allowsFileDrop\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"file-drop\"\n\t\t\t\t\t\t:button-variant=\"true\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"bundledPermissions.FILE_DROP.toString()\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"toggleCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'File request') }}\n\t\t\t\t\t\t<small class=\"subline\">{{ t('files_sharing', 'Upload only') }}</small>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<UploadIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :button-variant=\"true\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"custom\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"'custom'\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"expandCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Custom permissions') }}\n\t\t\t\t\t\t<small class=\"subline\">{{ customPermissionsList }}</small>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<DotsHorizontalIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"sharingTabDetailsView__advanced-control\">\n\t\t\t\t<NcButton id=\"advancedSectionAccordionAdvancedControl\"\n\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\talignment=\"end-reverse\"\n\t\t\t\t\taria-controls=\"advancedSectionAccordionAdvanced\"\n\t\t\t\t\t:aria-expanded=\"advancedControlExpandedValue\"\n\t\t\t\t\t@click=\"advancedSectionAccordionExpanded = !advancedSectionAccordionExpanded\">\n\t\t\t\t\t{{ t('files_sharing', 'Advanced settings') }}\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<MenuDownIcon v-if=\"!advancedSectionAccordionExpanded\" />\n\t\t\t\t\t\t<MenuUpIcon v-else />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t\t<div v-if=\"advancedSectionAccordionExpanded\"\n\t\t\t\tid=\"advancedSectionAccordionAdvanced\"\n\t\t\t\tclass=\"sharingTabDetailsView__advanced\"\n\t\t\t\taria-labelledby=\"advancedSectionAccordionAdvancedControl\"\n\t\t\t\trole=\"region\">\n\t\t\t\t<section>\n\t\t\t\t\t<NcInputField v-if=\"isPublicShare\"\n\t\t\t\t\t\tclass=\"sharingTabDetailsView__label\"\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t:label=\"t('files_sharing', 'Share label')\"\n\t\t\t\t\t\t:value.sync=\"share.label\" />\n\t\t\t\t\t<NcInputField v-if=\"config.allowCustomTokens && isPublicShare && !isNewShare\"\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t:label=\"t('files_sharing', 'Share link token')\"\n\t\t\t\t\t\t:helper-text=\"t('files_sharing', 'Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information.')\"\n\t\t\t\t\t\tshow-trailing-button\n\t\t\t\t\t\t:trailing-button-label=\"loadingToken ? t('files_sharing', 'Generating…') : t('files_sharing', 'Generate new token')\"\n\t\t\t\t\t\t:value.sync=\"share.token\"\n\t\t\t\t\t\t@trailing-button-click=\"generateNewToken\">\n\t\t\t\t\t\t<template #trailing-button-icon>\n\t\t\t\t\t\t\t<NcLoadingIcon v-if=\"loadingToken\" />\n\t\t\t\t\t\t\t<Refresh v-else :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcInputField>\n\t\t\t\t\t<template v-if=\"isPublicShare\">\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"isPasswordProtected\" :disabled=\"isPasswordEnforced\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Set password') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcPasswordField v-if=\"isPasswordProtected\"\n\t\t\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\t\t\t:value=\"hasUnsavedPassword ? share.newPassword : ''\"\n\t\t\t\t\t\t\t:error=\"passwordError\"\n\t\t\t\t\t\t\t:helper-text=\"errorPasswordLabel || passwordHint\"\n\t\t\t\t\t\t\t:required=\"isPasswordEnforced && isNewShare\"\n\t\t\t\t\t\t\t:label=\"t('files_sharing', 'Password')\"\n\t\t\t\t\t\t\t@update:value=\"onPasswordChange\" />\n\n\t\t\t\t\t\t<!-- Migrate icons and remote -> icon=\"icon-info\"-->\n\t\t\t\t\t\t<span v-if=\"isEmailShareType && passwordExpirationTime\" icon=\"icon-info\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Password expires {passwordExpirationTime}', { passwordExpirationTime }) }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span v-else-if=\"isEmailShareType && passwordExpirationTime !== null\" icon=\"icon-error\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Password expired') }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</template>\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"canTogglePasswordProtectedByTalkAvailable\"\n\t\t\t\t\t\t:checked.sync=\"isPasswordProtectedByTalk\"\n\t\t\t\t\t\t@update:checked=\"onPasswordProtectedByTalkChange\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Video verification') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"hasExpirationDate\" :disabled=\"isExpiryDateEnforced\">\n\t\t\t\t\t\t{{ isExpiryDateEnforced\n\t\t\t\t\t\t\t? t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t\t: t('files_sharing', 'Set expiration date') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcDateTimePickerNative v-if=\"hasExpirationDate\"\n\t\t\t\t\t\tid=\"share-date-picker\"\n\t\t\t\t\t\t:value=\"new Date(share.expireDate ?? dateTomorrow)\"\n\t\t\t\t\t\t:min=\"dateTomorrow\"\n\t\t\t\t\t\t:max=\"maxExpirationDateEnforced\"\n\t\t\t\t\t\thide-label\n\t\t\t\t\t\t:label=\"t('files_sharing', 'Expiration date')\"\n\t\t\t\t\t\t:placeholder=\"t('files_sharing', 'Expiration date')\"\n\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t@input=\"onExpirationChange\" />\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"isPublicShare\"\n\t\t\t\t\t\t:disabled=\"canChangeHideDownload\"\n\t\t\t\t\t\t:checked.sync=\"share.hideDownload\"\n\t\t\t\t\t\t@update:checked=\"queueUpdate('hideDownload')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Hide download') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch v-else\n\t\t\t\t\t\t:disabled=\"!canSetDownload\"\n\t\t\t\t\t\t:checked.sync=\"canDownload\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"download\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Allow download and sync') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"writeNoteToRecipientIsChecked\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Note to recipient') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<template v-if=\"writeNoteToRecipientIsChecked\">\n\t\t\t\t\t\t<NcTextArea :label=\"t('files_sharing', 'Note to recipient')\"\n\t\t\t\t\t\t\t:placeholder=\"t('files_sharing', 'Enter a note for the share recipient')\"\n\t\t\t\t\t\t\t:value.sync=\"share.note\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"isPublicShare && isFolder\"\n\t\t\t\t\t\t:checked.sync=\"showInGridView\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Show files in grid view') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<ExternalShareAction v-for=\"action in externalLinkActions\"\n\t\t\t\t\t\t:id=\"action.id\"\n\t\t\t\t\t\tref=\"externalLinkActions\"\n\t\t\t\t\t\t:key=\"action.id\"\n\t\t\t\t\t\t:action=\"action\"\n\t\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t\t:share=\"share\" />\n\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"setCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Custom permissions') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<section v-if=\"setCustomPermissions\" class=\"custom-permissions-group\">\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :disabled=\"!canRemoveReadPermission\"\n\t\t\t\t\t\t\t:checked.sync=\"hasRead\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"read\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Read') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"isFolder\"\n\t\t\t\t\t\t\t:disabled=\"!canSetCreate\"\n\t\t\t\t\t\t\t:checked.sync=\"canCreate\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"create\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Create') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :disabled=\"!canSetEdit\"\n\t\t\t\t\t\t\t:checked.sync=\"canEdit\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"update\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Edit') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"resharingIsPossible\"\n\t\t\t\t\t\t\t:disabled=\"!canSetReshare\"\n\t\t\t\t\t\t\t:checked.sync=\"canReshare\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"share\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Share') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :disabled=\"!canSetDelete\"\n\t\t\t\t\t\t\t:checked.sync=\"canDelete\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"delete\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Delete') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t</section>\n\t\t\t\t</section>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"sharingTabDetailsView__footer\">\n\t\t\t<div class=\"button-group\">\n\t\t\t\t<NcButton data-cy-files-sharing-share-editor-action=\"cancel\"\n\t\t\t\t\t@click=\"cancel\">\n\t\t\t\t\t{{ t('files_sharing', 'Cancel') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<div class=\"sharingTabDetailsView__delete\">\n\t\t\t\t\t<NcButton v-if=\"!isNewShare\"\n\t\t\t\t\t\t:aria-label=\"t('files_sharing', 'Delete share')\"\n\t\t\t\t\t\t:disabled=\"false\"\n\t\t\t\t\t\t:readonly=\"false\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t@click.prevent=\"removeShare\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<CloseIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t{{ t('files_sharing', 'Delete share') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t\t<NcButton type=\"primary\"\n\t\t\t\t\tdata-cy-files-sharing-share-editor-action=\"save\"\n\t\t\t\t\t:disabled=\"creating\"\n\t\t\t\t\t@click=\"saveShare\">\n\t\t\t\t\t{{ shareButtonText }}\n\t\t\t\t\t<template v-if=\"creating\" #icon>\n\t\t\t\t\t\t<NcLoadingIcon />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { emit } from '@nextcloud/event-bus'\nimport { getLanguage } from '@nextcloud/l10n'\nimport { ShareType } from '@nextcloud/sharing'\nimport { showError } from '@nextcloud/dialogs'\nimport moment from '@nextcloud/moment'\n\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/components/NcCheckboxRadioSwitch'\nimport NcDateTimePickerNative from '@nextcloud/vue/components/NcDateTimePickerNative'\nimport NcInputField from '@nextcloud/vue/components/NcInputField'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\nimport NcPasswordField from '@nextcloud/vue/components/NcPasswordField'\nimport NcTextArea from '@nextcloud/vue/components/NcTextArea'\n\nimport CircleIcon from 'vue-material-design-icons/CircleOutline.vue'\nimport CloseIcon from 'vue-material-design-icons/Close.vue'\nimport EditIcon from 'vue-material-design-icons/Pencil.vue'\nimport EmailIcon from 'vue-material-design-icons/Email.vue'\nimport LinkIcon from 'vue-material-design-icons/Link.vue'\nimport GroupIcon from 'vue-material-design-icons/AccountGroup.vue'\nimport ShareIcon from 'vue-material-design-icons/ShareCircle.vue'\nimport UserIcon from 'vue-material-design-icons/AccountCircleOutline.vue'\nimport ViewIcon from 'vue-material-design-icons/Eye.vue'\nimport UploadIcon from 'vue-material-design-icons/Upload.vue'\nimport MenuDownIcon from 'vue-material-design-icons/MenuDown.vue'\nimport MenuUpIcon from 'vue-material-design-icons/MenuUp.vue'\nimport DotsHorizontalIcon from 'vue-material-design-icons/DotsHorizontal.vue'\nimport Refresh from 'vue-material-design-icons/Refresh.vue'\n\nimport ExternalShareAction from '../components/ExternalShareAction.vue'\n\nimport GeneratePassword from '../utils/GeneratePassword.ts'\nimport Share from '../models/Share.ts'\nimport ShareRequests from '../mixins/ShareRequests.js'\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport { generateToken } from '../services/TokenService.ts'\nimport logger from '../services/logger.ts'\n\nimport {\n\tATOMIC_PERMISSIONS,\n\tBUNDLED_PERMISSIONS,\n\thasPermissions,\n} from '../lib/SharePermissionsToolBox.js'\n\nexport default {\n\tname: 'SharingDetailsTab',\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcButton,\n\t\tNcCheckboxRadioSwitch,\n\t\tNcDateTimePickerNative,\n\t\tNcInputField,\n\t\tNcLoadingIcon,\n\t\tNcPasswordField,\n\t\tNcTextArea,\n\t\tCloseIcon,\n\t\tCircleIcon,\n\t\tEditIcon,\n\t\tExternalShareAction,\n\t\tLinkIcon,\n\t\tGroupIcon,\n\t\tShareIcon,\n\t\tUserIcon,\n\t\tUploadIcon,\n\t\tViewIcon,\n\t\tMenuDownIcon,\n\t\tMenuUpIcon,\n\t\tDotsHorizontalIcon,\n\t\tRefresh,\n\t},\n\tmixins: [ShareRequests, SharesMixin],\n\tprops: {\n\t\tshareRequestValue: {\n\t\t\ttype: Object,\n\t\t\trequired: false,\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\twriteNoteToRecipientIsChecked: false,\n\t\t\tsharingPermission: BUNDLED_PERMISSIONS.ALL.toString(),\n\t\t\trevertSharingPermission: BUNDLED_PERMISSIONS.ALL.toString(),\n\t\t\tsetCustomPermissions: false,\n\t\t\tpasswordError: false,\n\t\t\tadvancedSectionAccordionExpanded: false,\n\t\t\tbundledPermissions: BUNDLED_PERMISSIONS,\n\t\t\tisFirstComponentLoad: true,\n\t\t\ttest: false,\n\t\t\tcreating: false,\n\t\t\tinitialToken: this.share.token,\n\t\t\tloadingToken: false,\n\n\t\t\tExternalShareActions: OCA.Sharing.ExternalShareActions.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\ttitle() {\n\t\t\tswitch (this.share.type) {\n\t\t\tcase ShareType.User:\n\t\t\t\treturn t('files_sharing', 'Share with {userName}', { userName: this.share.shareWithDisplayName })\n\t\t\tcase ShareType.Email:\n\t\t\t return t('files_sharing', 'Share with email {email}', { email: this.share.shareWith })\n\t\t\tcase ShareType.Link:\n\t\t\t\treturn t('files_sharing', 'Share link')\n\t\t\tcase ShareType.Group:\n\t\t\t\treturn t('files_sharing', 'Share with group')\n\t\t\tcase ShareType.Room:\n\t\t\t\treturn t('files_sharing', 'Share in conversation')\n\t\t\tcase ShareType.Remote: {\n\t\t\t\tconst [user, server] = this.share.shareWith.split('@')\n\t\t\t\treturn t('files_sharing', 'Share with {user} on remote server {server}', { user, server })\n\t\t\t}\n\t\t\tcase ShareType.RemoteGroup:\n\t\t\t\treturn t('files_sharing', 'Share with remote group')\n\t\t\tcase ShareType.Guest:\n\t\t\t\treturn t('files_sharing', 'Share with guest')\n\t\t\tdefault: {\n\t\t\t\tif (this.share.id) {\n\t\t\t\t\t// Share already exists\n\t\t\t\t\treturn t('files_sharing', 'Update share')\n\t\t\t\t} else {\n\t\t\t\t\treturn t('files_sharing', 'Create share')\n\t\t\t\t}\n\t\t\t}\n\t\t\t}\n\t\t},\n\t\tallPermissions() {\n\t\t\treturn this.isFolder ? this.bundledPermissions.ALL.toString() : this.bundledPermissions.ALL_FILE.toString()\n\t\t},\n\t\t/**\n\t\t * Can the sharee edit the shared file ?\n\t\t */\n\t\tcanEdit: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasUpdatePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isEditChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Can the sharee create the shared file ?\n\t\t */\n\t\tcanCreate: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasCreatePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isCreateChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Can the sharee delete the shared file ?\n\t\t */\n\t\tcanDelete: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasDeletePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isDeleteChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Can the sharee reshare the file ?\n\t\t */\n\t\tcanReshare: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasSharePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isReshareChecked: checked })\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Change the default view for public shares from \"list\" to \"grid\"\n\t\t */\n\t\tshowInGridView: {\n\t\t\tget() {\n\t\t\t\treturn this.getShareAttribute('config', 'grid_view', false)\n\t\t\t},\n\t\t\t/** @param {boolean} value If the default view should be changed to \"grid\" */\n\t\t\tset(value) {\n\t\t\t\tthis.setShareAttribute('config', 'grid_view', value)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Can the sharee download files or only view them ?\n\t\t */\n\t\tcanDownload: {\n\t\t\tget() {\n\t\t\t\treturn this.getShareAttribute('permissions', 'download', true)\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.setShareAttribute('permissions', 'download', checked)\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Is this share readable\n\t\t * Needed for some federated shares that might have been added from file requests links\n\t\t */\n\t\thasRead: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasReadPermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isReadChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Does the current share have an expiration date\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasExpirationDate: {\n\t\t\tget() {\n\t\t\t\treturn this.isValidShareAttribute(this.share.expireDate)\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.expireDate = enabled\n\t\t\t\t\t? this.formatDateToString(this.defaultExpiryDate)\n\t\t\t\t\t: ''\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Is the current share a folder ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\t\t/**\n\t\t * @return {boolean}\n\t\t */\n\t\tisSetDownloadButtonVisible() {\n\t\t\tconst allowedMimetypes = [\n\t\t\t\t// Office documents\n\t\t\t\t'application/msword',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n\t\t\t\t'application/vnd.ms-powerpoint',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n\t\t\t\t'application/vnd.ms-excel',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n\t\t\t\t'application/vnd.oasis.opendocument.text',\n\t\t\t\t'application/vnd.oasis.opendocument.spreadsheet',\n\t\t\t\t'application/vnd.oasis.opendocument.presentation',\n\t\t\t]\n\n\t\t\treturn this.isFolder || allowedMimetypes.includes(this.fileInfo.mimetype)\n\t\t},\n\t\tisPasswordEnforced() {\n\t\t\treturn this.isPublicShare && this.config.enforcePasswordForPublicLink\n\t\t},\n\t\tdefaultExpiryDate() {\n\t\t\tif ((this.isGroupShare || this.isUserShare) && this.config.isDefaultInternalExpireDateEnabled) {\n\t\t\t\treturn new Date(this.config.defaultInternalExpirationDate)\n\t\t\t} else if (this.isRemoteShare && this.config.isDefaultRemoteExpireDateEnabled) {\n\t\t\t\treturn new Date(this.config.defaultRemoteExpireDateEnabled)\n\t\t\t} else if (this.isPublicShare && this.config.isDefaultExpireDateEnabled) {\n\t\t\t\treturn new Date(this.config.defaultExpirationDate)\n\t\t\t}\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + 1))\n\t\t},\n\t\tisUserShare() {\n\t\t\treturn this.share.type === ShareType.User\n\t\t},\n\t\tisGroupShare() {\n\t\t\treturn this.share.type === ShareType.Group\n\t\t},\n\t\tallowsFileDrop() {\n\t\t\tif (this.isFolder && this.config.isPublicUploadEnabled) {\n\t\t\t\tif (this.share.type === ShareType.Link || this.share.type === ShareType.Email) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\thasFileDropPermissions() {\n\t\t\treturn this.share.permissions === this.bundledPermissions.FILE_DROP\n\t\t},\n\t\tshareButtonText() {\n\t\t\tif (this.isNewShare) {\n\t\t\t\treturn t('files_sharing', 'Save share')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Update share')\n\n\t\t},\n\t\tresharingIsPossible() {\n\t\t\treturn this.config.isResharingAllowed && this.share.type !== ShareType.Link && this.share.type !== ShareType.Email\n\t\t},\n\t\t/**\n\t\t * Can the sharer set whether the sharee can edit the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetEdit() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_UPDATE) || this.canEdit\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can create the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetCreate() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_CREATE) || this.canCreate\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can delete the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetDelete() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_DELETE) || this.canDelete\n\t\t},\n\t\t/**\n\t\t * Can the sharer set whether the sharee can reshare the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetReshare() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_SHARE) || this.canReshare\n\t\t},\n\t\t/**\n\t\t * Can the sharer set whether the sharee can download the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetDownload() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.canDownload() || this.canDownload)\n\t\t},\n\t\tcanRemoveReadPermission() {\n\t\t\treturn this.allowsFileDrop && (\n\t\t\t\tthis.share.type === ShareType.Link\n\t\t\t\t\t|| this.share.type === ShareType.Email\n\t\t\t)\n\t\t},\n\t\t// if newPassword exists, but is empty, it means\n\t\t// the user deleted the original password\n\t\thasUnsavedPassword() {\n\t\t\treturn this.share.newPassword !== undefined\n\t\t},\n\t\tpasswordExpirationTime() {\n\t\t\tif (!this.isValidShareAttribute(this.share.passwordExpirationTime)) {\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t\tconst expirationTime = moment(this.share.passwordExpirationTime)\n\n\t\t\tif (expirationTime.diff(moment()) < 0) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn expirationTime.fromNow()\n\t\t},\n\n\t\t/**\n\t\t * Is Talk enabled?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisTalkEnabled() {\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is it possible to protect the password by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalkAvailable() {\n\t\t\treturn this.isPasswordProtected && this.isTalkEnabled\n\t\t},\n\t\t/**\n\t\t * Is the current share password protected by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalk: {\n\t\t\tget() {\n\t\t\t\treturn this.share.sendPasswordByTalk\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tthis.share.sendPasswordByTalk = enabled\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Is the current share an email share ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisEmailShareType() {\n\t\t\treturn this.share\n\t\t\t\t? this.share.type === ShareType.Email\n\t\t\t\t: false\n\t\t},\n\t\tcanTogglePasswordProtectedByTalkAvailable() {\n\t\t\tif (!this.isPublicShare || !this.isPasswordProtected) {\n\t\t\t\t// Makes no sense\n\t\t\t\treturn false\n\t\t\t} else if (this.isEmailShareType && !this.hasUnsavedPassword) {\n\t\t\t\t// For email shares we need a new password in order to enable or\n\t\t\t\t// disable\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Is Talk enabled?\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\t\tcanChangeHideDownload() {\n\t\t\tconst hasDisabledDownload = (shareAttribute) => shareAttribute.key === 'download' && shareAttribute.scope === 'permissions' && shareAttribute.value === false\n\t\t\treturn this.fileInfo.shareAttributes.some(hasDisabledDownload)\n\t\t},\n\t\tcustomPermissionsList() {\n\t\t\t// Key order will be different, because ATOMIC_PERMISSIONS are numbers\n\t\t\tconst translatedPermissions = {\n\t\t\t\t[ATOMIC_PERMISSIONS.READ]: this.t('files_sharing', 'Read'),\n\t\t\t\t[ATOMIC_PERMISSIONS.CREATE]: this.t('files_sharing', 'Create'),\n\t\t\t\t[ATOMIC_PERMISSIONS.UPDATE]: this.t('files_sharing', 'Edit'),\n\t\t\t\t[ATOMIC_PERMISSIONS.SHARE]: this.t('files_sharing', 'Share'),\n\t\t\t\t[ATOMIC_PERMISSIONS.DELETE]: this.t('files_sharing', 'Delete'),\n\t\t\t}\n\n\t\t\tconst permissionsList = [\n\t\t\t\tATOMIC_PERMISSIONS.READ,\n\t\t\t\t...(this.isFolder ? [ATOMIC_PERMISSIONS.CREATE] : []),\n\t\t\t\tATOMIC_PERMISSIONS.UPDATE,\n\t\t\t\t...(this.resharingIsPossible ? [ATOMIC_PERMISSIONS.SHARE] : []),\n\t\t\t\t...(this.isFolder ? [ATOMIC_PERMISSIONS.DELETE] : []),\n\t\t\t]\n\n\t\t\treturn permissionsList.filter((permission) => hasPermissions(this.share.permissions, permission))\n\t\t\t\t.map((permission, index) => index === 0\n\t\t\t\t\t? translatedPermissions[permission]\n\t\t\t\t\t: translatedPermissions[permission].toLocaleLowerCase(getLanguage()))\n\t\t\t\t.join(', ')\n\t\t},\n\t\tadvancedControlExpandedValue() {\n\t\t\treturn this.advancedSectionAccordionExpanded ? 'true' : 'false'\n\t\t},\n\t\terrorPasswordLabel() {\n\t\t\tif (this.passwordError) {\n\t\t\t\treturn t('files_sharing', 'Password field cannot be empty')\n\t\t\t}\n\t\t\treturn undefined\n\t\t},\n\n\t\tpasswordHint() {\n\t\t\tif (this.isNewShare || this.hasUnsavedPassword) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Replace current password')\n\t\t},\n\n\t\t/**\n\t\t * Additional actions for the menu\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\texternalLinkActions() {\n\t\t\tconst filterValidAction = (action) => (action.shareType.includes(ShareType.Link) || action.shareType.includes(ShareType.Email)) && action.advanced\n\t\t\t// filter only the advanced registered actions for said link\n\t\t\treturn this.ExternalShareActions.actions\n\t\t\t\t.filter(filterValidAction)\n\t\t},\n\t},\n\twatch: {\n\t\tsetCustomPermissions(isChecked) {\n\t\t\tif (isChecked) {\n\t\t\t\tthis.sharingPermission = 'custom'\n\t\t\t} else {\n\t\t\t\tthis.sharingPermission = this.revertSharingPermission\n\t\t\t}\n\t\t},\n\t},\n\tbeforeMount() {\n\t\tthis.initializePermissions()\n\t\tthis.initializeAttributes()\n\t\tlogger.debug('Share object received', { share: this.share })\n\t\tlogger.debug('Configuration object received', { config: this.config })\n\t},\n\n\tmounted() {\n\t\tthis.$refs.quickPermissions?.querySelector('input:checked')?.focus()\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Set a share attribute on the current share\n\t\t * @param {string} scope The attribute scope\n\t\t * @param {string} key The attribute key\n\t\t * @param {boolean} value The value\n\t\t */\n\t\tsetShareAttribute(scope, key, value) {\n\t\t\tif (!this.share.attributes) {\n\t\t\t\tthis.$set(this.share, 'attributes', [])\n\t\t\t}\n\n\t\t\tconst attribute = this.share.attributes\n\t\t\t\t.find((attr) => attr.scope === scope || attr.key === key)\n\n\t\t\tif (attribute) {\n\t\t\t\tattribute.value = value\n\t\t\t} else {\n\t\t\t\tthis.share.attributes.push({\n\t\t\t\t\tscope,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Get the value of a share attribute\n\t\t * @param {string} scope The attribute scope\n\t\t * @param {string} key The attribute key\n\t\t * @param {undefined|boolean} fallback The fallback to return if not found\n\t\t */\n\t\tgetShareAttribute(scope, key, fallback = undefined) {\n\t\t\tconst attribute = this.share.attributes?.find((attr) => attr.scope === scope && attr.key === key)\n\t\t\treturn attribute?.value ?? fallback\n\t\t},\n\n\t\tasync generateNewToken() {\n\t\t\tif (this.loadingToken) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.loadingToken = true\n\t\t\ttry {\n\t\t\t\tthis.share.token = await generateToken()\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('files_sharing', 'Failed to generate a new token'))\n\t\t\t}\n\t\t\tthis.loadingToken = false\n\t\t},\n\n\t\tcancel() {\n\t\t\tthis.share.token = this.initialToken\n\t\t\tthis.$emit('close-sharing-details')\n\t\t},\n\n\t\tupdateAtomicPermissions({\n\t\t\tisReadChecked = this.hasRead,\n\t\t\tisEditChecked = this.canEdit,\n\t\t\tisCreateChecked = this.canCreate,\n\t\t\tisDeleteChecked = this.canDelete,\n\t\t\tisReshareChecked = this.canReshare,\n\t\t} = {}) {\n\t\t\t// calc permissions if checked\n\n\t\t\tif (!this.isFolder && (isCreateChecked || isDeleteChecked)) {\n\t\t\t\tlogger.debug('Ignoring create/delete permissions for file share — only available for folders')\n\t\t\t\tisCreateChecked = false\n\t\t\t\tisDeleteChecked = false\n\t\t\t}\n\n\t\t\tconst permissions = 0\n\t\t\t\t| (isReadChecked ? ATOMIC_PERMISSIONS.READ : 0)\n\t\t\t\t| (isCreateChecked ? ATOMIC_PERMISSIONS.CREATE : 0)\n\t\t\t\t| (isDeleteChecked ? ATOMIC_PERMISSIONS.DELETE : 0)\n\t\t\t\t| (isEditChecked ? ATOMIC_PERMISSIONS.UPDATE : 0)\n\t\t\t\t| (isReshareChecked ? ATOMIC_PERMISSIONS.SHARE : 0)\n\t\t\tthis.share.permissions = permissions\n\t\t},\n\t\texpandCustomPermissions() {\n\t\t\tif (!this.advancedSectionAccordionExpanded) {\n\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t}\n\t\t\tthis.toggleCustomPermissions()\n\t\t},\n\t\ttoggleCustomPermissions(selectedPermission) {\n\t\t\tconst isCustomPermissions = this.sharingPermission === 'custom'\n\t\t\tthis.revertSharingPermission = !isCustomPermissions ? selectedPermission : 'custom'\n\t\t\tthis.setCustomPermissions = isCustomPermissions\n\t\t},\n\t\tasync initializeAttributes() {\n\n\t\t\tif (this.isNewShare) {\n\t\t\t\tif ((this.config.enableLinkPasswordByDefault || this.isPasswordEnforced) && this.isPublicShare) {\n\t\t\t\t\tthis.$set(this.share, 'newPassword', await GeneratePassword(true))\n\t\t\t\t\tthis.$set(this.share, 'password', this.share.newPassword)\n\t\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\t}\n\t\t\t\t/* Set default expiration dates if configured */\n\t\t\t\tif (this.isPublicShare && this.config.isDefaultExpireDateEnabled) {\n\t\t\t\t\tthis.share.expireDate = this.config.defaultExpirationDate.toDateString()\n\t\t\t\t} else if (this.isRemoteShare && this.config.isDefaultRemoteExpireDateEnabled) {\n\t\t\t\t\tthis.share.expireDate = this.config.defaultRemoteExpirationDateString.toDateString()\n\t\t\t\t} else if (this.config.isDefaultInternalExpireDateEnabled) {\n\t\t\t\t\tthis.share.expireDate = this.config.defaultInternalExpirationDate.toDateString()\n\t\t\t\t}\n\n\t\t\t\tif (this.isValidShareAttribute(this.share.expireDate)) {\n\t\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\t}\n\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If there is an enforced expiry date, then existing shares created before enforcement\n\t\t\t// have no expiry date, hence we set it here.\n\t\t\tif (!this.isValidShareAttribute(this.share.expireDate) && this.isExpiryDateEnforced) {\n\t\t\t\tthis.hasExpirationDate = true\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tthis.isValidShareAttribute(this.share.password)\n\t\t\t\t|| this.isValidShareAttribute(this.share.expireDate)\n\t\t\t\t|| this.isValidShareAttribute(this.share.label)\n\t\t\t) {\n\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t}\n\n\t\t\tif (this.isValidShareAttribute(this.share.note)) {\n\t\t\t\tthis.writeNoteToRecipientIsChecked = true\n\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t}\n\n\t\t},\n\t\thandleShareType() {\n\t\t\tif ('shareType' in this.share) {\n\t\t\t\tthis.share.type = this.share.shareType\n\t\t\t} else if (this.share.share_type) {\n\t\t\t\tthis.share.type = this.share.share_type\n\t\t\t}\n\t\t},\n\t\thandleDefaultPermissions() {\n\t\t\tif (this.isNewShare) {\n\t\t\t\tconst defaultPermissions = this.config.defaultPermissions\n\t\t\t\tif (defaultPermissions === BUNDLED_PERMISSIONS.READ_ONLY || defaultPermissions === BUNDLED_PERMISSIONS.ALL) {\n\t\t\t\t\tthis.sharingPermission = defaultPermissions.toString()\n\t\t\t\t} else {\n\t\t\t\t\tthis.sharingPermission = 'custom'\n\t\t\t\t\tthis.share.permissions = defaultPermissions\n\t\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\t\tthis.setCustomPermissions = true\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Read permission required for share creation\n\t\t\tif (!this.canRemoveReadPermission) {\n\t\t\t\tthis.hasRead = true\n\t\t\t}\n\t\t},\n\t\thandleCustomPermissions() {\n\t\t\tif (!this.isNewShare && (this.hasCustomPermissions || this.share.setCustomPermissions)) {\n\t\t\t\tthis.sharingPermission = 'custom'\n\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\tthis.setCustomPermissions = true\n\t\t\t} else if (this.share.permissions) {\n\t\t\t\tthis.sharingPermission = this.share.permissions.toString()\n\t\t\t}\n\t\t},\n\t\tinitializePermissions() {\n\t\t\tthis.handleShareType()\n\t\t\tthis.handleDefaultPermissions()\n\t\t\tthis.handleCustomPermissions()\n\t\t},\n\t\tasync saveShare() {\n\t\t\tconst permissionsAndAttributes = ['permissions', 'attributes', 'note', 'expireDate']\n\t\t\tconst publicShareAttributes = ['label', 'password', 'hideDownload']\n\t\t\tif (this.config.allowCustomTokens) {\n\t\t\t\tpublicShareAttributes.push('token')\n\t\t\t}\n\t\t\tif (this.isPublicShare) {\n\t\t\t\tpermissionsAndAttributes.push(...publicShareAttributes)\n\t\t\t}\n\t\t\tconst sharePermissionsSet = parseInt(this.sharingPermission)\n\t\t\tif (this.setCustomPermissions) {\n\t\t\t\tthis.updateAtomicPermissions()\n\t\t\t} else {\n\t\t\t\tthis.share.permissions = sharePermissionsSet\n\t\t\t}\n\n\t\t\tif (!this.isFolder && this.share.permissions === BUNDLED_PERMISSIONS.ALL) {\n\t\t\t\t// It's not possible to create an existing file.\n\t\t\t\tthis.share.permissions = BUNDLED_PERMISSIONS.ALL_FILE\n\t\t\t}\n\t\t\tif (!this.writeNoteToRecipientIsChecked) {\n\t\t\t\tthis.share.note = ''\n\t\t\t}\n\t\t\tif (this.isPasswordProtected) {\n\t\t\t\tif (this.hasUnsavedPassword && this.isValidShareAttribute(this.share.newPassword)) {\n\t\t\t\t\tthis.share.password = this.share.newPassword\n\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t\t} else if (this.isPasswordEnforced && this.isNewShare && !this.isValidShareAttribute(this.share.password)) {\n\t\t\t\t\tthis.passwordError = true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.share.password = ''\n\t\t\t}\n\n\t\t\tif (!this.hasExpirationDate) {\n\t\t\t\tthis.share.expireDate = ''\n\t\t\t}\n\n\t\t\tif (this.isNewShare) {\n\t\t\t\tconst incomingShare = {\n\t\t\t\t\tpermissions: this.share.permissions,\n\t\t\t\t\tshareType: this.share.type,\n\t\t\t\t\tshareWith: this.share.shareWith,\n\t\t\t\t\tattributes: this.share.attributes,\n\t\t\t\t\tnote: this.share.note,\n\t\t\t\t\tfileInfo: this.fileInfo,\n\t\t\t\t}\n\n\t\t\t\tincomingShare.expireDate = this.hasExpirationDate ? this.share.expireDate : ''\n\n\t\t\t\tif (this.isPasswordProtected) {\n\t\t\t\t\tincomingShare.password = this.share.password\n\t\t\t\t}\n\n\t\t\t\tlet share\n\t\t\t\ttry {\n\t\t\t\t\tthis.creating = true\n\t\t\t\t\tshare = await this.addShare(incomingShare)\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.creating = false\n\t\t\t\t\t// Error is already handled by ShareRequests mixin\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\t// ugly hack to make code work - we need the id to be set but at the same time we need to keep values we want to update\n\t\t\t\tthis.share._share.id = share.id\n\t\t\t\tawait this.queueUpdate(...permissionsAndAttributes)\n\t\t\t\t// Also a ugly hack to update the updated permissions\n\t\t\t\tfor (const prop of permissionsAndAttributes) {\n\t\t\t\t\tif (prop in share && prop in this.share) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tshare[prop] = this.share[prop]\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\tshare._share[prop] = this.share[prop]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.share = share\n\t\t\t\tthis.creating = false\n\t\t\t\tthis.$emit('add:share', this.share)\n\t\t\t} else {\n\t\t\t\t// Let's update after creation as some attrs are only available after creation\n\t\t\t\tthis.$emit('update:share', this.share)\n\t\t\t\temit('update:share', this.share)\n\t\t\t\tthis.queueUpdate(...permissionsAndAttributes)\n\t\t\t}\n\n\t\t\tawait this.getNode()\n\t\t\temit('files:node:updated', this.node)\n\n\t\t\tif (this.$refs.externalLinkActions?.length > 0) {\n\t\t\t\tawait Promise.allSettled(this.$refs.externalLinkActions.map((action) => {\n\t\t\t\t\tif (typeof action.$children.at(0)?.onSave !== 'function') {\n\t\t\t\t\t\treturn Promise.resolve()\n\t\t\t\t\t}\n\t\t\t\t\treturn action.$children.at(0)?.onSave?.()\n\t\t\t\t}))\n\t\t\t}\n\n\t\t\tthis.$emit('close-sharing-details')\n\t\t},\n\t\t/**\n\t\t * Process the new share request\n\t\t *\n\t\t * @param {Share} share incoming share object\n\t\t */\n\t\tasync addShare(share) {\n\t\t\tlogger.debug('Adding a new share from the input for', { share })\n\t\t\tconst path = this.path\n\t\t\ttry {\n\t\t\t\tconst resultingShare = await this.createShare({\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: share.shareType,\n\t\t\t\t\tshareWith: share.shareWith,\n\t\t\t\t\tpermissions: share.permissions,\n\t\t\t\t\texpireDate: share.expireDate,\n\t\t\t\t\tattributes: JSON.stringify(share.attributes),\n\t\t\t\t\t...(share.note ? { note: share.note } : {}),\n\t\t\t\t\t...(share.password ? { password: share.password } : {}),\n\t\t\t\t})\n\t\t\t\treturn resultingShare\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Error while adding new share', { error })\n\t\t\t} finally {\n\t\t\t\t// this.loading = false // No loader here yet\n\t\t\t}\n\t\t},\n\t\tasync removeShare() {\n\t\t\tawait this.onDelete()\n\t\t\tawait this.getNode()\n\t\t\temit('files:node:updated', this.node)\n\t\t\tthis.$emit('close-sharing-details')\n\t\t},\n\t\t/**\n\t\t * Update newPassword values\n\t\t * of share. If password is set but not newPassword\n\t\t * then the user did not changed the password\n\t\t * If both co-exists, the password have changed and\n\t\t * we show it in plain text.\n\t\t * Then on submit (or menu close), we sync it.\n\t\t *\n\t\t * @param {string} password the changed password\n\t\t */\n\t\tonPasswordChange(password) {\n\t\t\tif (password === '') {\n\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t\tthis.passwordError = this.isNewShare && this.isPasswordEnforced\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.passwordError = !this.isValidShareAttribute(password)\n\t\t\tthis.$set(this.share, 'newPassword', password)\n\t\t},\n\t\t/**\n\t\t * Update the password along with \"sendPasswordByTalk\".\n\t\t *\n\t\t * If the password was modified the new password is sent; otherwise\n\t\t * updating a mail share would fail, as in that case it is required that\n\t\t * a new password is set when enabling or disabling\n\t\t * \"sendPasswordByTalk\".\n\t\t */\n\t\tonPasswordProtectedByTalkChange() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t}\n\n\t\t\tthis.queueUpdate('sendPasswordByTalk', 'password')\n\t\t},\n\t\tisValidShareAttribute(value) {\n\t\t\tif ([null, undefined].includes(value)) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tif (!(value.trim().length > 0)) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn true\n\t\t},\n\t\tgetShareTypeIcon(type) {\n\t\t\tswitch (type) {\n\t\t\tcase ShareType.Link:\n\t\t\t\treturn LinkIcon\n\t\t\tcase ShareType.Guest:\n\t\t\t\treturn UserIcon\n\t\t\tcase ShareType.RemoteGroup:\n\t\t\tcase ShareType.Group:\n\t\t\t\treturn GroupIcon\n\t\t\tcase ShareType.Email:\n\t\t\t\treturn EmailIcon\n\t\t\tcase ShareType.Team:\n\t\t\t\treturn CircleIcon\n\t\t\tcase ShareType.Room:\n\t\t\t\treturn ShareIcon\n\t\t\tcase ShareType.Deck:\n\t\t\t\treturn ShareIcon\n\t\t\tcase ShareType.ScienceMesh:\n\t\t\t\treturn ShareIcon\n\t\t\tdefault:\n\t\t\t\treturn null // Or a default icon component if needed\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharingTabDetailsView {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tposition: relative;\n\theight: 100%;\n\toverflow: hidden;\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0.2em;\n\n\t\tspan {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\th1 {\n\t\t\t\tfont-size: 15px;\n\t\t\t\tpadding-inline-start: 0.3em;\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tposition: relative;\n\t\toverflow: scroll;\n\t\tflex-shrink: 1;\n\t\tpadding: 4px;\n\t\tpadding-inline-end: 12px;\n\t}\n\n\t&__quick-permissions {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\tmargin: 0 auto;\n\t\tborder-radius: 0;\n\n\t\tdiv {\n\t\t\twidth: 100%;\n\n\t\t\tspan {\n\t\t\t\twidth: 100%;\n\n\t\t\t\tspan:nth-child(1) {\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tpadding: 0.1em;\n\t\t\t\t}\n\n\t\t\t\t:deep(label span) {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t}\n\n\t\t\t\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\n\t\t\t\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\n\t\t\t\t\tflex-wrap: wrap;\n\n\t\t\t\t\t.subline {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tflex-basis: 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__advanced-control {\n\t\twidth: 100%;\n\n\t\tbutton {\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\n\t}\n\n\t&__advanced {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0.5em;\n\t\ttext-align: start;\n\t\tpadding-inline-start: 0;\n\n\t\tsection {\n\n\t\t\ttextarea,\n\t\t\tdiv.mx-datepicker {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\ttextarea {\n\t\t\t\theight: 80px;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t/*\n\t\t\t The following style is applied out of the component's scope\n\t\t\t to remove padding from the label.checkbox-radio-switch__label,\n\t\t\t which is used to group radio checkbox items. The use of ::v-deep\n\t\t\t ensures that the padding is modified without being affected by\n\t\t\t the component's scoping.\n\t\t\t Without this achieving left alignment for the checkboxes would not\n\t\t\t be possible.\n\t\t\t*/\n\t\t\tspan :deep(label) {\n\t\t\t\tpadding-inline-start: 0 !important;\n\t\t\t\tbackground-color: initial !important;\n\t\t\t\tborder: none !important;\n\t\t\t}\n\n\t\t\tsection.custom-permissions-group {\n\t\t\t\tpadding-inline-start: 1.5em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__label {\n\t\tpadding-block-end: 6px;\n\t}\n\n\t&__delete {\n\t\t> button:first-child {\n\t\t\tcolor: rgb(223, 7, 7);\n\t\t}\n\t}\n\n\t&__footer {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-start;\n\t\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\n\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\twidth: 100%;\n\t\t\tmargin-top: 16px;\n\n\t\t\tbutton {\n\t\t\t\tmargin-inline-start: 16px;\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-inline-start: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { generateOcsUrl } from '@nextcloud/router';\nexport const generateToken = async () => {\n const { data } = await axios.get(generateOcsUrl('/apps/files_sharing/api/v1/token'));\n return data.ocs.data.token;\n};\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=style&index=0&id=75daac68&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=style&index=0&id=75daac68&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingDetailsTab.vue?vue&type=template&id=75daac68&scoped=true\"\nimport script from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingDetailsTab.vue?vue&type=style&index=0&id=75daac68&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"75daac68\",\n null\n \n)\n\nexport default component.exports","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"sharingTab\" :class=\"{ 'icon-loading': loading }\">\n\t\t<!-- error message -->\n\t\t<div v-if=\"error\" class=\"emptycontent\" :class=\"{ emptyContentWithSections: sections.length > 0 }\">\n\t\t\t<div class=\"icon icon-error\" />\n\t\t\t<h2>{{ error }}</h2>\n\t\t</div>\n\n\t\t<!-- shares content -->\n\t\t<div v-show=\"!showSharingDetailsView\"\n\t\t\tclass=\"sharingTab__content\">\n\t\t\t<!-- shared with me information -->\n\t\t\t<ul v-if=\"isSharedWithMe\">\n\t\t\t\t<SharingEntrySimple v-bind=\"sharedWithMe\" class=\"sharing-entry__reshare\">\n\t\t\t\t\t<template #avatar>\n\t\t\t\t\t\t<NcAvatar :user=\"sharedWithMe.user\"\n\t\t\t\t\t\t\t:display-name=\"sharedWithMe.displayName\"\n\t\t\t\t\t\t\tclass=\"sharing-entry__avatar\" />\n\t\t\t\t\t</template>\n\t\t\t\t</SharingEntrySimple>\n\t\t\t</ul>\n\n\t\t\t<section>\n\t\t\t\t<div class=\"section-header\">\n\t\t\t\t\t<h4>{{ t('files_sharing', 'Internal shares') }}</h4>\n\t\t\t\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t\t<NcButton class=\"hint-icon\"\n\t\t\t\t\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\t\t\t\t\t:aria-label=\"t('files_sharing', 'Internal shares explanation')\">\n\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t<InfoIcon :size=\"20\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<p class=\"hint-body\">\n\t\t\t\t\t\t\t{{ internalSharesHelpText }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</NcPopover>\n\t\t\t\t</div>\n\t\t\t\t<!-- add new share input -->\n\t\t\t\t<SharingInput v-if=\"!loading\"\n\t\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t:link-shares=\"linkShares\"\n\t\t\t\t\t:reshare=\"reshare\"\n\t\t\t\t\t:shares=\"shares\"\n\t\t\t\t\t:placeholder=\"internalShareInputPlaceholder\"\n\t\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\n\t\t\t\t<!-- other shares list -->\n\t\t\t\t<SharingList v-if=\"!loading\"\n\t\t\t\t\tref=\"shareList\"\n\t\t\t\t\t:shares=\"shares\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\n\t\t\t\t<!-- inherited shares -->\n\t\t\t\t<SharingInherited v-if=\"canReshare && !loading\" :file-info=\"fileInfo\" />\n\n\t\t\t\t<!-- internal link copy -->\n\t\t\t\t<SharingEntryInternal :file-info=\"fileInfo\" />\n\t\t\t</section>\n\n\t\t\t<section>\n\t\t\t\t<div class=\"section-header\">\n\t\t\t\t\t<h4>{{ t('files_sharing', 'External shares') }}</h4>\n\t\t\t\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t\t<NcButton class=\"hint-icon\"\n\t\t\t\t\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\t\t\t\t\t:aria-label=\"t('files_sharing', 'External shares explanation')\">\n\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t<InfoIcon :size=\"20\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<p class=\"hint-body\">\n\t\t\t\t\t\t\t{{ externalSharesHelpText }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</NcPopover>\n\t\t\t\t</div>\n\t\t\t\t<SharingInput v-if=\"!loading\"\n\t\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t:link-shares=\"linkShares\"\n\t\t\t\t\t:is-external=\"true\"\n\t\t\t\t\t:placeholder=\"externalShareInputPlaceholder\"\n\t\t\t\t\t:reshare=\"reshare\"\n\t\t\t\t\t:shares=\"shares\"\n\t\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\t\t\t\t<!-- Non link external shares list -->\n\t\t\t\t<SharingList v-if=\"!loading\"\n\t\t\t\t\t:shares=\"externalShares\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\t\t\t\t<!-- link shares list -->\n\t\t\t\t<SharingLinkList v-if=\"!loading && isLinkSharingAllowed\"\n\t\t\t\t\tref=\"linkShareList\"\n\t\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t:shares=\"linkShares\"\n\t\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\t\t\t</section>\n\n\t\t\t<section v-if=\"sections.length > 0 && !showSharingDetailsView\">\n\t\t\t\t<div class=\"section-header\">\n\t\t\t\t\t<h4>{{ t('files_sharing', 'Additional shares') }}</h4>\n\t\t\t\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t\t<NcButton class=\"hint-icon\"\n\t\t\t\t\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\t\t\t\t\t:aria-label=\"t('files_sharing', 'Additional shares explanation')\">\n\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t<InfoIcon :size=\"20\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<p class=\"hint-body\">\n\t\t\t\t\t\t\t{{ additionalSharesHelpText }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</NcPopover>\n\t\t\t\t</div>\n\t\t\t\t<!-- additional entries, use it with cautious -->\n\t\t\t\t<div v-for=\"(section, index) in sections\"\n\t\t\t\t\t:ref=\"'section-' + index\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\tclass=\"sharingTab__additionalContent\">\n\t\t\t\t\t<component :is=\"section($refs['section-'+index], fileInfo)\" :file-info=\"fileInfo\" />\n\t\t\t\t</div>\n\n\t\t\t\t<!-- projects (deprecated as of NC25 (replaced by related_resources) - see instance config \"projects.enabled\" ; ignore this / remove it / move into own section) -->\n\t\t\t\t<div v-if=\"projectsEnabled\"\n\t\t\t\t\tv-show=\"!showSharingDetailsView && fileInfo\"\n\t\t\t\t\tclass=\"sharingTab__additionalContent\">\n\t\t\t\t\t<CollectionList :id=\"`${fileInfo.id}`\"\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\t:name=\"fileInfo.name\" />\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t</div>\n\n\t\t<!-- share details -->\n\t\t<SharingDetailsTab v-if=\"showSharingDetailsView\"\n\t\t\t:file-info=\"shareDetailsData.fileInfo\"\n\t\t\t:share=\"shareDetailsData.share\"\n\t\t\t@close-sharing-details=\"toggleShareDetailsView\"\n\t\t\t@add:share=\"addShare\"\n\t\t\t@remove:share=\"removeShare\" />\n\t</div>\n</template>\n\n<script>\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { orderBy } from '@nextcloud/files'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { CollectionList } from 'nextcloud-vue-collections'\nimport { ShareType } from '@nextcloud/sharing'\n\nimport InfoIcon from 'vue-material-design-icons/Information.vue'\nimport NcPopover from '@nextcloud/vue/components/NcPopover'\n\nimport axios from '@nextcloud/axios'\nimport moment from '@nextcloud/moment'\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\nimport NcButton from '@nextcloud/vue/components/NcButton'\n\nimport { shareWithTitle } from '../utils/SharedWithMe.js'\n\nimport Config from '../services/ConfigService.ts'\nimport Share from '../models/Share.ts'\nimport SharingEntryInternal from '../components/SharingEntryInternal.vue'\nimport SharingEntrySimple from '../components/SharingEntrySimple.vue'\nimport SharingInput from '../components/SharingInput.vue'\n\nimport SharingInherited from './SharingInherited.vue'\nimport SharingLinkList from './SharingLinkList.vue'\nimport SharingList from './SharingList.vue'\nimport SharingDetailsTab from './SharingDetailsTab.vue'\n\nimport ShareDetails from '../mixins/ShareDetails.js'\nimport logger from '../services/logger.ts'\n\nexport default {\n\tname: 'SharingTab',\n\n\tcomponents: {\n\t\tCollectionList,\n\t\tInfoIcon,\n\t\tNcAvatar,\n\t\tNcButton,\n\t\tNcPopover,\n\t\tSharingEntryInternal,\n\t\tSharingEntrySimple,\n\t\tSharingInherited,\n\t\tSharingInput,\n\t\tSharingLinkList,\n\t\tSharingList,\n\t\tSharingDetailsTab,\n\t},\n\tmixins: [ShareDetails],\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tdeleteEvent: null,\n\t\t\terror: '',\n\t\t\texpirationInterval: null,\n\t\t\tloading: true,\n\n\t\t\tfileInfo: null,\n\n\t\t\t// reshare Share object\n\t\t\treshare: null,\n\t\t\tsharedWithMe: {},\n\t\t\tshares: [],\n\t\t\tlinkShares: [],\n\t\t\texternalShares: [],\n\n\t\t\tsections: OCA.Sharing.ShareTabSections.getSections(),\n\t\t\tprojectsEnabled: loadState('core', 'projects_enabled', false),\n\t\t\tshowSharingDetailsView: false,\n\t\t\tshareDetailsData: {},\n\t\t\treturnFocusElement: null,\n\n\t\t\tinternalSharesHelpText: t('files_sharing', 'Use this method to share files with individuals or teams within your organization. If the recipient already has access to the share but cannot locate it, you can send them the internal share link for easy access.'),\n\t\t\texternalSharesHelpText: t('files_sharing', 'Use this method to share files with individuals or organizations outside your organization. Files and folders can be shared via public share links and email addresses. You can also share to other Nextcloud accounts hosted on different instances using their federated cloud ID.'),\n\t\t\tadditionalSharesHelpText: t('files_sharing', 'Shares that are not part of the internal or external shares. This can be shares from apps or other sources.'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Is this share shared with me?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisSharedWithMe() {\n\t\t\treturn this.sharedWithMe !== null\n\t\t\t\t&& this.sharedWithMe !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is link sharing allowed for the current user?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisLinkSharingAllowed() {\n\t\t\tconst currentUser = getCurrentUser()\n\t\t\tif (!currentUser) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tconst capabilities = getCapabilities()\n\t\t\tconst publicSharing = capabilities.files_sharing?.public || {}\n\t\t\treturn publicSharing.enabled === true\n\t\t},\n\n\t\tcanReshare() {\n\t\t\treturn !!(this.fileInfo.permissions & OC.PERMISSION_SHARE)\n\t\t\t\t|| !!(this.reshare && this.reshare.hasSharePermission && this.config.isResharingAllowed)\n\t\t},\n\n\t\tinternalShareInputPlaceholder() {\n\t\t\treturn this.config.showFederatedSharesAsInternal\n\t\t\t\t? t('files_sharing', 'Share with accounts, teams, federated cloud IDs')\n\t\t\t\t: t('files_sharing', 'Share with accounts and teams')\n\t\t},\n\n\t\texternalShareInputPlaceholder() {\n\t\t\tif (!this.isLinkSharingAllowed) {\n\t\t\t\treturn t('files_sharing', 'Federated cloud ID')\n\t\t\t}\n\t\t\treturn this.config.showFederatedSharesAsInternal\n\t\t\t\t? t('files_sharing', 'Email')\n\t\t\t\t: t('files_sharing', 'Email, federated cloud ID')\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Update current fileInfo and fetch new data\n\t\t *\n\t\t * @param {object} fileInfo the current file FileInfo\n\t\t */\n\t\tasync update(fileInfo) {\n\t\t\tthis.fileInfo = fileInfo\n\t\t\tthis.resetState()\n\t\t\tthis.getShares()\n\t\t},\n\n\t\t/**\n\t\t * Get the existing shares infos\n\t\t */\n\t\tasync getShares() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\n\t\t\t\t// init params\n\t\t\t\tconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\t\t\t\tconst format = 'json'\n\t\t\t\t// TODO: replace with proper getFUllpath implementation of our own FileInfo model\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\n\t\t\t\t// fetch shares\n\t\t\t\tconst fetchShares = axios.get(shareUrl, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\treshares: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tconst fetchSharedWithMe = axios.get(shareUrl, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tshared_with_me: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\t// wait for data\n\t\t\t\tconst [shares, sharedWithMe] = await Promise.all([fetchShares, fetchSharedWithMe])\n\t\t\t\tthis.loading = false\n\n\t\t\t\t// process results\n\t\t\t\tthis.processSharedWithMe(sharedWithMe)\n\t\t\t\tthis.processShares(shares)\n\t\t\t} catch (error) {\n\t\t\t\tif (error?.response?.data?.ocs?.meta?.message) {\n\t\t\t\t\tthis.error = error.response.data.ocs.meta.message\n\t\t\t\t} else {\n\t\t\t\t\tthis.error = t('files_sharing', 'Unable to load the shares list')\n\t\t\t\t}\n\t\t\t\tthis.loading = false\n\t\t\t\tconsole.error('Error loading the shares list', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Reset the current view to its default state\n\t\t */\n\t\tresetState() {\n\t\t\tclearInterval(this.expirationInterval)\n\t\t\tthis.loading = true\n\t\t\tthis.error = ''\n\t\t\tthis.sharedWithMe = {}\n\t\t\tthis.shares = []\n\t\t\tthis.linkShares = []\n\t\t\tthis.showSharingDetailsView = false\n\t\t\tthis.shareDetailsData = {}\n\t\t},\n\n\t\t/**\n\t\t * Update sharedWithMe.subtitle with the appropriate\n\t\t * expiration time left\n\t\t *\n\t\t * @param {Share} share the sharedWith Share object\n\t\t */\n\t\tupdateExpirationSubtitle(share) {\n\t\t\tconst expiration = moment(share.expireDate).unix()\n\t\t\tthis.$set(this.sharedWithMe, 'subtitle', t('files_sharing', 'Expires {relativetime}', {\n\t\t\t\trelativetime: moment(expiration * 1000).fromNow(),\n\t\t\t}))\n\n\t\t\t// share have expired\n\t\t\tif (moment().unix() > expiration) {\n\t\t\t\tclearInterval(this.expirationInterval)\n\t\t\t\t// TODO: clear ui if share is expired\n\t\t\t\tthis.$set(this.sharedWithMe, 'subtitle', t('files_sharing', 'this share just expired.'))\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the current shares data\n\t\t * and init shares[]\n\t\t *\n\t\t * @param {object} share the share ocs api request data\n\t\t * @param {object} share.data the request data\n\t\t */\n\t\tprocessShares({ data }) {\n\t\t\tif (data.ocs && data.ocs.data && data.ocs.data.length > 0) {\n\t\t\t\tconst shares = orderBy(\n\t\t\t\t\tdata.ocs.data.map(share => new Share(share)),\n\t\t\t\t\t[\n\t\t\t\t\t\t// First order by the \"share with\" label\n\t\t\t\t\t\t(share) => share.shareWithDisplayName,\n\t\t\t\t\t\t// Then by the label\n\t\t\t\t\t\t(share) => share.label,\n\t\t\t\t\t\t// And last resort order by createdTime\n\t\t\t\t\t\t(share) => share.createdTime,\n\t\t\t\t\t],\n\t\t\t\t)\n\n\t\t\t\tfor (const share of shares) {\n\t\t\t\t\tif ([ShareType.Link, ShareType.Email].includes(share.type)) {\n\t\t\t\t\t\tthis.linkShares.push(share)\n\t\t\t\t\t} else if ([ShareType.Remote, ShareType.RemoteGroup].includes(share.type)) {\n\t\t\t\t\t\tif (this.config.showFederatedSharesAsInternal) {\n\t\t\t\t\t\t\tthis.shares.push(share)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.externalShares.push(share)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.shares.push(share)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlogger.debug(`Processed ${this.linkShares.length} link share(s)`)\n\t\t\t\tlogger.debug(`Processed ${this.shares.length} share(s)`)\n\t\t\t\tlogger.debug(`Processed ${this.externalShares.length} external share(s)`)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the sharedWithMe share data\n\t\t * and init sharedWithMe\n\t\t *\n\t\t * @param {object} share the share ocs api request data\n\t\t * @param {object} share.data the request data\n\t\t */\n\t\tprocessSharedWithMe({ data }) {\n\t\t\tif (data.ocs && data.ocs.data && data.ocs.data[0]) {\n\t\t\t\tconst share = new Share(data)\n\t\t\t\tconst title = shareWithTitle(share)\n\t\t\t\tconst displayName = share.ownerDisplayName\n\t\t\t\tconst user = share.owner\n\n\t\t\t\tthis.sharedWithMe = {\n\t\t\t\t\tdisplayName,\n\t\t\t\t\ttitle,\n\t\t\t\t\tuser,\n\t\t\t\t}\n\t\t\t\tthis.reshare = share\n\n\t\t\t\t// If we have an expiration date, use it as subtitle\n\t\t\t\t// Refresh the status every 10s and clear if expired\n\t\t\t\tif (share.expireDate && moment(share.expireDate).unix() > moment().unix()) {\n\t\t\t\t\t// first update\n\t\t\t\t\tthis.updateExpirationSubtitle(share)\n\t\t\t\t\t// interval update\n\t\t\t\t\tthis.expirationInterval = setInterval(this.updateExpirationSubtitle, 10000, share)\n\t\t\t\t}\n\t\t\t} else if (this.fileInfo && this.fileInfo.shareOwnerId !== undefined ? this.fileInfo.shareOwnerId !== getCurrentUser().uid : false) {\n\t\t\t\t// Fallback to compare owner and current user.\n\t\t\t\tthis.sharedWithMe = {\n\t\t\t\t\tdisplayName: this.fileInfo.shareOwner,\n\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t'files_sharing',\n\t\t\t\t\t\t'Shared with you by {owner}',\n\t\t\t\t\t\t{ owner: this.fileInfo.shareOwner },\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t{ escape: false },\n\t\t\t\t\t),\n\t\t\t\t\tuser: this.fileInfo.shareOwnerId,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add a new share into the shares list\n\t\t * and return the newly created share component\n\t\t *\n\t\t * @param {Share} share the share to add to the array\n\t\t * @param {Function} [resolve] a function to run after the share is added and its component initialized\n\t\t */\n\t\taddShare(share, resolve = () => { }) {\n\t\t\t// only catching share type MAIL as link shares are added differently\n\t\t\t// meaning: not from the ShareInput\n\t\t\tif (share.type === ShareType.Email) {\n\t\t\t\tthis.linkShares.unshift(share)\n\t\t\t} else if ([ShareType.Remote, ShareType.RemoteGroup].includes(share.type)) {\n\t\t\t\tif (this.config.showFederatedSharesAsInternal) {\n\t\t\t\t\tthis.shares.unshift(share)\n\t\t\t\t} else {\n\t\t\t\t\tthis.externalShares.unshift(share)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.shares.unshift(share)\n\t\t\t}\n\t\t\tthis.awaitForShare(share, resolve)\n\t\t},\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\t// Get reference for this.linkShares or this.shares\n\t\t\tconst shareList\n\t\t\t\t= share.type === ShareType.Email\n\t\t\t\t\t|| share.type === ShareType.Link\n\t\t\t\t\t? this.linkShares\n\t\t\t\t\t: this.shares\n\t\t\tconst index = shareList.findIndex(item => item.id === share.id)\n\t\t\tif (index !== -1) {\n\t\t\t\tshareList.splice(index, 1)\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Await for next tick and render after the list updated\n\t\t * Then resolve with the matched vue component of the\n\t\t * provided share object\n\t\t *\n\t\t * @param {Share} share newly created share\n\t\t * @param {Function} resolve a function to execute after\n\t\t */\n\t\tawaitForShare(share, resolve) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tlet listComponent = this.$refs.shareList\n\t\t\t\t// Only mail shares comes from the input, link shares\n\t\t\t\t// are managed internally in the SharingLinkList component\n\t\t\t\tif (share.type === ShareType.Email) {\n\t\t\t\t\tlistComponent = this.$refs.linkShareList\n\t\t\t\t}\n\t\t\t\tconst newShare = listComponent.$children.find(component => component.share === share)\n\t\t\t\tif (newShare) {\n\t\t\t\t\tresolve(newShare)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\ttoggleShareDetailsView(eventData) {\n\t\t\tif (!this.showSharingDetailsView) {\n\t\t\t\tconst isAction = Array.from(document.activeElement.classList)\n\t\t\t\t\t.some(className => className.startsWith('action-'))\n\t\t\t\tif (isAction) {\n\t\t\t\t\tconst menuId = document.activeElement.closest('[role=\"menu\"]')?.id\n\t\t\t\t\tthis.returnFocusElement = document.querySelector(`[aria-controls=\"${menuId}\"]`)\n\t\t\t\t} else {\n\t\t\t\t\tthis.returnFocusElement = document.activeElement\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (eventData) {\n\t\t\t\tthis.shareDetailsData = eventData\n\t\t\t}\n\n\t\t\tthis.showSharingDetailsView = !this.showSharingDetailsView\n\n\t\t\tif (!this.showSharingDetailsView) {\n\t\t\t\tthis.$nextTick(() => { // Wait for next tick as the element must be visible to be focused\n\t\t\t\t\tthis.returnFocusElement?.focus()\n\t\t\t\t\tthis.returnFocusElement = null\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.emptyContentWithSections {\n\tmargin: 1rem auto;\n}\n\n.sharingTab {\n\tposition: relative;\n\theight: 100%;\n\n\t&__content {\n\t\tpadding: 0 6px;\n\n\t\tsection {\n\t\t\tpadding-bottom: 16px;\n\n\t\t\t.section-header {\n\t\t\t\tmargin-top: 2px;\n\t\t\t\tmargin-bottom: 2px;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tpadding-bottom: 4px;\n\n\t\t\t\th4 {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t}\n\n\t\t\t\t.visually-hidden {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t.hint-icon {\n\t\t\t\t\tcolor: var(--color-primary-element);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t& > section:not(:last-child) {\n\t\t\tborder-bottom: 2px solid var(--color-border);\n\t\t}\n\n\t}\n\n\t&__additionalContent {\n\t\tmargin: 44px 0;\n\t}\n}\n\n.hint-body {\n\tmax-width: 300px;\n\tpadding: var(--border-radius-element);\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { ShareType } from '@nextcloud/sharing'\n\nconst shareWithTitle = function(share) {\n\tif (share.type === ShareType.Group) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and the group {group} by {owner}',\n\t\t\t{\n\t\t\t\tgroup: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareType.Team) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and {circle} by {owner}',\n\t\t\t{\n\t\t\t\tcircle: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareType.Room) {\n\t\tif (share.shareWithDisplayName) {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you and the conversation {conversation} by {owner}',\n\t\t\t\t{\n\t\t\t\t\tconversation: share.shareWithDisplayName,\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t} else {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you in a conversation by {owner}',\n\t\t\t\t{\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t}\n\t} else {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you by {owner}',\n\t\t\t{ owner: share.ownerDisplayName },\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t}\n}\n\nexport { shareWithTitle }\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=style&index=0&id=592538f1&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=style&index=0&id=592538f1&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingTab.vue?vue&type=template&id=592538f1&scoped=true\"\nimport script from \"./SharingTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingTab.vue?vue&type=style&index=0&id=592538f1&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"592538f1\",\n null\n \n)\n\nexport default component.exports","import { o as logger } from \"./chunks/dav-Co9y-hkg.mjs\";\nimport { q, F, s, N, t, P, c, l, m, n, a, g, p, b, r, d, h, f, k, j, e, i } from \"./chunks/dav-Co9y-hkg.mjs\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { extname, basename } from \"path\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\nimport { TypedEventTarget } from \"typescript-event-target\";\nvar NewMenuEntryCategory = /* @__PURE__ */ ((NewMenuEntryCategory2) => {\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"UploadFromDevice\"] = 0] = \"UploadFromDevice\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"CreateNew\"] = 1] = \"CreateNew\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"Other\"] = 2] = \"Other\";\n return NewMenuEntryCategory2;\n})(NewMenuEntryCategory || {});\nclass NewFileMenu {\n _entries = [];\n registerEntry(entry) {\n this.validateEntry(entry);\n entry.category = entry.category ?? 1;\n this._entries.push(entry);\n }\n unregisterEntry(entry) {\n const entryIndex = typeof entry === \"string\" ? this.getEntryIndex(entry) : this.getEntryIndex(entry.id);\n if (entryIndex === -1) {\n logger.warn(\"Entry not found, nothing removed\", { entry, entries: this.getEntries() });\n return;\n }\n this._entries.splice(entryIndex, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(context) {\n if (context) {\n return this._entries.filter((entry) => typeof entry.enabled === \"function\" ? entry.enabled(context) : true);\n }\n return this._entries;\n }\n getEntryIndex(id) {\n return this._entries.findIndex((entry) => entry.id === id);\n }\n validateEntry(entry) {\n if (!entry.id || !entry.displayName || !(entry.iconSvgInline || entry.iconClass) || !entry.handler) {\n throw new Error(\"Invalid entry\");\n }\n if (typeof entry.id !== \"string\" || typeof entry.displayName !== \"string\") {\n throw new Error(\"Invalid id or displayName property\");\n }\n if (entry.iconClass && typeof entry.iconClass !== \"string\" || entry.iconSvgInline && typeof entry.iconSvgInline !== \"string\") {\n throw new Error(\"Invalid icon provided\");\n }\n if (entry.enabled !== void 0 && typeof entry.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (typeof entry.handler !== \"function\") {\n throw new Error(\"Invalid handler property\");\n }\n if (\"order\" in entry && typeof entry.order !== \"number\") {\n throw new Error(\"Invalid order property\");\n }\n if (this.getEntryIndex(entry.id) !== -1) {\n throw new Error(\"Duplicate entry\");\n }\n }\n}\nconst getNewFileMenu = function() {\n if (typeof window._nc_newfilemenu === \"undefined\") {\n window._nc_newfilemenu = new NewFileMenu();\n logger.debug(\"NewFileMenu initialized\");\n }\n return window._nc_newfilemenu;\n};\nvar DefaultType = /* @__PURE__ */ ((DefaultType2) => {\n DefaultType2[\"DEFAULT\"] = \"default\";\n DefaultType2[\"HIDDEN\"] = \"hidden\";\n return DefaultType2;\n})(DefaultType || {});\nclass FileAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get destructive() {\n return this._action.destructive;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"title\" in action && typeof action.title !== \"function\") {\n throw new Error(\"Invalid title function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n throw new Error(\"Invalid execBatch function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (action.destructive !== void 0 && typeof action.destructive !== \"boolean\") {\n throw new Error(\"Invalid destructive flag\");\n }\n if (\"parent\" in action && typeof action.parent !== \"string\") {\n throw new Error(\"Invalid parent\");\n }\n if (action.default && !Object.values(DefaultType).includes(action.default)) {\n throw new Error(\"Invalid default\");\n }\n if (\"inline\" in action && typeof action.inline !== \"function\") {\n throw new Error(\"Invalid inline function\");\n }\n if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n throw new Error(\"Invalid renderInline function\");\n }\n }\n}\nconst registerFileAction = function(action) {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n if (window._nc_fileactions.find((search) => search.id === action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n window._nc_fileactions.push(action);\n};\nconst getFileActions = function() {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n return window._nc_fileactions;\n};\nclass FileListAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get order() {\n return this._action.order;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"iconSvgInline\" in action && typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n }\n}\nconst registerFileListAction = (action) => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n if (window._nc_filelistactions.find((listAction) => listAction.id === action.id)) {\n logger.error(`FileListAction with id \"${action.id}\" is already registered`, { action });\n return;\n }\n window._nc_filelistactions.push(action);\n};\nconst getFileListActions = () => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n return window._nc_filelistactions;\n};\nclass Header {\n _header;\n constructor(header) {\n this.validateHeader(header);\n this._header = header;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(header) {\n if (!header.id || !header.render || !header.updated) {\n throw new Error(\"Invalid header: id, render and updated are required\");\n }\n if (typeof header.id !== \"string\") {\n throw new Error(\"Invalid id property\");\n }\n if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (header.render && typeof header.render !== \"function\") {\n throw new Error(\"Invalid render property\");\n }\n if (header.updated && typeof header.updated !== \"function\") {\n throw new Error(\"Invalid updated property\");\n }\n }\n}\nconst registerFileListHeaders = function(header) {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n if (window._nc_filelistheader.find((search) => search.id === header.id)) {\n logger.error(`Header ${header.id} already registered`, { header });\n return;\n }\n window._nc_filelistheader.push(header);\n};\nconst getFileListHeaders = function() {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n return window._nc_filelistheader;\n};\nvar InvalidFilenameErrorReason = /* @__PURE__ */ ((InvalidFilenameErrorReason2) => {\n InvalidFilenameErrorReason2[\"ReservedName\"] = \"reserved name\";\n InvalidFilenameErrorReason2[\"Character\"] = \"character\";\n InvalidFilenameErrorReason2[\"Extension\"] = \"extension\";\n return InvalidFilenameErrorReason2;\n})(InvalidFilenameErrorReason || {});\nclass InvalidFilenameError extends Error {\n constructor(options) {\n super(`Invalid ${options.reason} '${options.segment}' in filename '${options.filename}'`, { cause: options });\n }\n /**\n * The filename that was validated\n */\n get filename() {\n return this.cause.filename;\n }\n /**\n * Reason why the validation failed\n */\n get reason() {\n return this.cause.reason;\n }\n /**\n * Part of the filename that caused this error\n */\n get segment() {\n return this.cause.segment;\n }\n}\nfunction validateFilename(filename) {\n const capabilities = getCapabilities().files;\n const forbiddenCharacters = capabilities.forbidden_filename_characters ?? window._oc_config?.forbidden_filenames_characters ?? [\"/\", \"\\\\\"];\n for (const character of forbiddenCharacters) {\n if (filename.includes(character)) {\n throw new InvalidFilenameError({ segment: character, reason: \"character\", filename });\n }\n }\n filename = filename.toLocaleLowerCase();\n const forbiddenFilenames = capabilities.forbidden_filenames ?? [\".htaccess\"];\n if (forbiddenFilenames.includes(filename)) {\n throw new InvalidFilenameError({\n filename,\n segment: filename,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const endOfBasename = filename.indexOf(\".\", 1);\n const basename2 = filename.substring(0, endOfBasename === -1 ? void 0 : endOfBasename);\n const forbiddenFilenameBasenames = capabilities.forbidden_filename_basenames ?? [];\n if (forbiddenFilenameBasenames.includes(basename2)) {\n throw new InvalidFilenameError({\n filename,\n segment: basename2,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const forbiddenFilenameExtensions = capabilities.forbidden_filename_extensions ?? [\".part\", \".filepart\"];\n for (const extension of forbiddenFilenameExtensions) {\n if (filename.length > extension.length && filename.endsWith(extension)) {\n throw new InvalidFilenameError({ segment: extension, reason: \"extension\", filename });\n }\n }\n}\nfunction isFilenameValid(filename) {\n try {\n validateFilename(filename);\n return true;\n } catch (error) {\n if (error instanceof InvalidFilenameError) {\n return false;\n }\n throw error;\n }\n}\nfunction getUniqueName(name, otherNames, options) {\n const opts = {\n suffix: (n2) => `(${n2})`,\n ignoreFileExtension: false,\n ...options\n };\n let newName = name;\n let i2 = 1;\n while (otherNames.includes(newName)) {\n const ext = opts.ignoreFileExtension ? \"\" : extname(name);\n const base = basename(name, ext);\n newName = `${base} ${opts.suffix(i2++)}${ext}`;\n }\n return newName;\n}\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n binaryPrefixes = binaryPrefixes && !base1000;\n if (typeof size === \"string\") {\n size = Number(size);\n }\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n } else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n try {\n value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch (e2) {\n return null;\n }\n const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (match === null || match[1] === \".\" || match[1] === \"\") {\n return null;\n }\n const bytesArray = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n };\n const decimalString = `${match[1]}`;\n const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nfunction stringify(value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\nfunction orderBy(collection, identifiers2, orders) {\n identifiers2 = identifiers2 ?? [(value) => value];\n orders = orders ?? [];\n const sorting = identifiers2.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n const collator = Intl.Collator(\n [getLanguage(), getCanonicalLocale()],\n {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: \"sort\"\n }\n );\n return [...collection].sort((a2, b2) => {\n for (const [index, identifier] of identifiers2.entries()) {\n const value = collator.compare(stringify(identifier(a2)), stringify(identifier(b2)));\n if (value !== 0) {\n return value * sorting[index];\n }\n }\n return 0;\n });\n}\nvar FilesSortingMode = /* @__PURE__ */ ((FilesSortingMode2) => {\n FilesSortingMode2[\"Name\"] = \"basename\";\n FilesSortingMode2[\"Modified\"] = \"mtime\";\n FilesSortingMode2[\"Size\"] = \"size\";\n return FilesSortingMode2;\n})(FilesSortingMode || {});\nfunction sortNodes(nodes, options = {}) {\n const sortingOptions = {\n // Default to sort by name\n sortingMode: \"basename\",\n // Default to sort ascending\n sortingOrder: \"asc\",\n ...options\n };\n const basename2 = (name) => name.lastIndexOf(\".\") > 0 ? name.slice(0, name.lastIndexOf(\".\")) : name;\n const identifiers2 = [\n // 1: Sort favorites first if enabled\n ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n // 2: Sort folders first if sorting by name\n ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n // 3: Use sorting mode if NOT basename (to be able to use display name too)\n ...sortingOptions.sortingMode !== \"basename\" ? [(v) => v[sortingOptions.sortingMode]] : [],\n // 4: Use display name if available, fallback to name\n (v) => basename2(v.displayname || v.attributes?.displayname || v.basename),\n // 5: Finally, use basename if all previous sorting methods failed\n (v) => v.basename\n ];\n const orders = [\n // (for 1): always sort favorites before normal files\n ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n // (for 2): always sort folders before files\n ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n ...sortingOptions.sortingMode === \"mtime\" ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n // (also for 3 so make sure not to conflict with 2 and 3)\n ...sortingOptions.sortingMode !== \"mtime\" && sortingOptions.sortingMode !== \"basename\" ? [sortingOptions.sortingOrder] : [],\n // for 4: use configured sorting direction\n sortingOptions.sortingOrder,\n // for 5: use configured sorting direction\n sortingOptions.sortingOrder\n ];\n return orderBy(nodes, identifiers2, orders);\n}\nclass Navigation extends TypedEventTarget {\n _views = [];\n _currentView = null;\n /**\n * Register a new view on the navigation\n * @param view The view to register\n * @throws `Error` is thrown if a view with the same id is already registered\n */\n register(view) {\n if (this._views.find((search) => search.id === view.id)) {\n throw new Error(`View id ${view.id} is already registered`);\n }\n this._views.push(view);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n /**\n * Remove a registered view\n * @param id The id of the view to remove\n */\n remove(id) {\n const index = this._views.findIndex((view) => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n }\n /**\n * Set the currently active view\n * @fires UpdateActiveViewEvent\n * @param view New active view\n */\n setActive(view) {\n this._currentView = view;\n const event = new CustomEvent(\"updateActive\", { detail: view });\n this.dispatchTypedEvent(\"updateActive\", event);\n }\n /**\n * The currently active files view\n */\n get active() {\n return this._currentView;\n }\n /**\n * All registered views\n */\n get views() {\n return this._views;\n }\n}\nconst getNavigation = function() {\n if (typeof window._nc_navigation === \"undefined\") {\n window._nc_navigation = new Navigation();\n logger.debug(\"Navigation service initialized\");\n }\n return window._nc_navigation;\n};\nclass Column {\n _column;\n constructor(column) {\n isValidColumn(column);\n this._column = column;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst isValidColumn = function(column) {\n if (!column.id || typeof column.id !== \"string\") {\n throw new Error(\"A column id is required\");\n }\n if (!column.title || typeof column.title !== \"string\") {\n throw new Error(\"A column title is required\");\n }\n if (!column.render || typeof column.render !== \"function\") {\n throw new Error(\"A render function is required\");\n }\n if (column.sort && typeof column.sort !== \"function\") {\n throw new Error(\"Column sortFunction must be a function\");\n }\n if (column.summary && typeof column.summary !== \"function\") {\n throw new Error(\"Column summary must be a function\");\n }\n return true;\n};\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar validator = {};\nvar util = {};\nvar hasRequiredUtil;\nfunction requireUtil() {\n if (hasRequiredUtil) return util;\n hasRequiredUtil = 1;\n (function(exports) {\n const nameStartChar = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n const nameChar = nameStartChar + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\n const nameRegexp = \"[\" + nameStartChar + \"][\" + nameChar + \"]*\";\n const regexName = new RegExp(\"^\" + nameRegexp + \"$\");\n const getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n };\n const isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === \"undefined\");\n };\n exports.isExist = function(v) {\n return typeof v !== \"undefined\";\n };\n exports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n };\n exports.merge = function(target, a2, arrayMode) {\n if (a2) {\n const keys = Object.keys(a2);\n const len = keys.length;\n for (let i2 = 0; i2 < len; i2++) {\n if (arrayMode === \"strict\") {\n target[keys[i2]] = [a2[keys[i2]]];\n } else {\n target[keys[i2]] = a2[keys[i2]];\n }\n }\n }\n };\n exports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return \"\";\n }\n };\n exports.isName = isName;\n exports.getAllMatches = getAllMatches;\n exports.nameRegexp = nameRegexp;\n })(util);\n return util;\n}\nvar hasRequiredValidator;\nfunction requireValidator() {\n if (hasRequiredValidator) return validator;\n hasRequiredValidator = 1;\n const util2 = requireUtil();\n const defaultOptions = {\n allowBooleanAttributes: false,\n //A tag can have attributes without any value\n unpairedTags: []\n };\n validator.validate = function(xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n const tags = [];\n let tagFound = false;\n let reachedRoot = false;\n if (xmlData[0] === \"\\uFEFF\") {\n xmlData = xmlData.substr(1);\n }\n for (let i2 = 0; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\" && xmlData[i2 + 1] === \"?\") {\n i2 += 2;\n i2 = readPI(xmlData, i2);\n if (i2.err) return i2;\n } else if (xmlData[i2] === \"<\") {\n let tagStartPos = i2;\n i2++;\n if (xmlData[i2] === \"!\") {\n i2 = readCommentAndCDATA(xmlData, i2);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i2] === \"/\") {\n closingTag = true;\n i2++;\n }\n let tagName = \"\";\n for (; i2 < xmlData.length && xmlData[i2] !== \">\" && xmlData[i2] !== \" \" && xmlData[i2] !== \"\t\" && xmlData[i2] !== \"\\n\" && xmlData[i2] !== \"\\r\"; i2++) {\n tagName += xmlData[i2];\n }\n tagName = tagName.trim();\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substring(0, tagName.length - 1);\n i2--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\" + tagName + \"' is an invalid name.\";\n }\n return getErrorObject(\"InvalidTag\", msg, getLineNumberForPosition(xmlData, i2));\n }\n const result = readAttributeStr(xmlData, i2);\n if (result === false) {\n return getErrorObject(\"InvalidAttr\", \"Attributes for '\" + tagName + \"' have open quote.\", getLineNumberForPosition(xmlData, i2));\n }\n let attrStr = result.value;\n i2 = result.index;\n if (attrStr[attrStr.length - 1] === \"/\") {\n const attrStrStart = i2 - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n } else {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i2));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject(\n \"InvalidTag\",\n \"Expected closing tag '\" + otg.tagName + \"' (opened in line \" + openPos.line + \", col \" + openPos.col + \") instead of closing tag '\" + tagName + \"'.\",\n getLineNumberForPosition(xmlData, tagStartPos)\n );\n }\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i2 - attrStr.length + isValid.err.line));\n }\n if (reachedRoot === true) {\n return getErrorObject(\"InvalidXml\", \"Multiple possible root nodes found.\", getLineNumberForPosition(xmlData, i2));\n } else if (options.unpairedTags.indexOf(tagName) !== -1) ;\n else {\n tags.push({ tagName, tagStartPos });\n }\n tagFound = true;\n }\n for (i2++; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n if (xmlData[i2 + 1] === \"!\") {\n i2++;\n i2 = readCommentAndCDATA(xmlData, i2);\n continue;\n } else if (xmlData[i2 + 1] === \"?\") {\n i2 = readPI(xmlData, ++i2);\n if (i2.err) return i2;\n } else {\n break;\n }\n } else if (xmlData[i2] === \"&\") {\n const afterAmp = validateAmpersand(xmlData, i2);\n if (afterAmp == -1)\n return getErrorObject(\"InvalidChar\", \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i2));\n i2 = afterAmp;\n } else {\n if (reachedRoot === true && !isWhiteSpace(xmlData[i2])) {\n return getErrorObject(\"InvalidXml\", \"Extra text at the end\", getLineNumberForPosition(xmlData, i2));\n }\n }\n }\n if (xmlData[i2] === \"<\") {\n i2--;\n }\n }\n } else {\n if (isWhiteSpace(xmlData[i2])) {\n continue;\n }\n return getErrorObject(\"InvalidChar\", \"char '\" + xmlData[i2] + \"' is not expected.\", getLineNumberForPosition(xmlData, i2));\n }\n }\n if (!tagFound) {\n return getErrorObject(\"InvalidXml\", \"Start tag expected.\", 1);\n } else if (tags.length == 1) {\n return getErrorObject(\"InvalidTag\", \"Unclosed tag '\" + tags[0].tagName + \"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n } else if (tags.length > 0) {\n return getErrorObject(\"InvalidXml\", \"Invalid '\" + JSON.stringify(tags.map((t2) => t2.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n }\n return true;\n };\n function isWhiteSpace(char) {\n return char === \" \" || char === \"\t\" || char === \"\\n\" || char === \"\\r\";\n }\n function readPI(xmlData, i2) {\n const start = i2;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] == \"?\" || xmlData[i2] == \" \") {\n const tagname = xmlData.substr(start, i2 - start);\n if (i2 > 5 && tagname === \"xml\") {\n return getErrorObject(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", getLineNumberForPosition(xmlData, i2));\n } else if (xmlData[i2] == \"?\" && xmlData[i2 + 1] == \">\") {\n i2++;\n break;\n } else {\n continue;\n }\n }\n }\n return i2;\n }\n function readCommentAndCDATA(xmlData, i2) {\n if (xmlData.length > i2 + 5 && xmlData[i2 + 1] === \"-\" && xmlData[i2 + 2] === \"-\") {\n for (i2 += 3; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"-\" && xmlData[i2 + 1] === \"-\" && xmlData[i2 + 2] === \">\") {\n i2 += 2;\n break;\n }\n }\n } else if (xmlData.length > i2 + 8 && xmlData[i2 + 1] === \"D\" && xmlData[i2 + 2] === \"O\" && xmlData[i2 + 3] === \"C\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"Y\" && xmlData[i2 + 6] === \"P\" && xmlData[i2 + 7] === \"E\") {\n let angleBracketsCount = 1;\n for (i2 += 8; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n angleBracketsCount++;\n } else if (xmlData[i2] === \">\") {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (xmlData.length > i2 + 9 && xmlData[i2 + 1] === \"[\" && xmlData[i2 + 2] === \"C\" && xmlData[i2 + 3] === \"D\" && xmlData[i2 + 4] === \"A\" && xmlData[i2 + 5] === \"T\" && xmlData[i2 + 6] === \"A\" && xmlData[i2 + 7] === \"[\") {\n for (i2 += 8; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"]\" && xmlData[i2 + 1] === \"]\" && xmlData[i2 + 2] === \">\") {\n i2 += 2;\n break;\n }\n }\n }\n return i2;\n }\n const doubleQuote = '\"';\n const singleQuote = \"'\";\n function readAttributeStr(xmlData, i2) {\n let attrStr = \"\";\n let startChar = \"\";\n let tagClosed = false;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === doubleQuote || xmlData[i2] === singleQuote) {\n if (startChar === \"\") {\n startChar = xmlData[i2];\n } else if (startChar !== xmlData[i2]) ;\n else {\n startChar = \"\";\n }\n } else if (xmlData[i2] === \">\") {\n if (startChar === \"\") {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i2];\n }\n if (startChar !== \"\") {\n return false;\n }\n return {\n value: attrStr,\n index: i2,\n tagClosed\n };\n }\n const validAttrStrRegxp = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\n function validateAttributeString(attrStr, options) {\n const matches = util2.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n for (let i2 = 0; i2 < matches.length; i2++) {\n if (matches[i2][1].length === 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i2][2] + \"' has no space in starting.\", getPositionFromMatch(matches[i2]));\n } else if (matches[i2][3] !== void 0 && matches[i2][4] === void 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i2][2] + \"' is without value.\", getPositionFromMatch(matches[i2]));\n } else if (matches[i2][3] === void 0 && !options.allowBooleanAttributes) {\n return getErrorObject(\"InvalidAttr\", \"boolean attribute '\" + matches[i2][2] + \"' is not allowed.\", getPositionFromMatch(matches[i2]));\n }\n const attrName = matches[i2][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is an invalid name.\", getPositionFromMatch(matches[i2]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n attrNames[attrName] = 1;\n } else {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is repeated.\", getPositionFromMatch(matches[i2]));\n }\n }\n return true;\n }\n function validateNumberAmpersand(xmlData, i2) {\n let re2 = /\\d/;\n if (xmlData[i2] === \"x\") {\n i2++;\n re2 = /[\\da-fA-F]/;\n }\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \";\")\n return i2;\n if (!xmlData[i2].match(re2))\n break;\n }\n return -1;\n }\n function validateAmpersand(xmlData, i2) {\n i2++;\n if (xmlData[i2] === \";\")\n return -1;\n if (xmlData[i2] === \"#\") {\n i2++;\n return validateNumberAmpersand(xmlData, i2);\n }\n let count = 0;\n for (; i2 < xmlData.length; i2++, count++) {\n if (xmlData[i2].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i2] === \";\")\n break;\n return -1;\n }\n return i2;\n }\n function getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col\n }\n };\n }\n function validateAttrName(attrName) {\n return util2.isName(attrName);\n }\n function validateTagName(tagname) {\n return util2.isName(tagname);\n }\n function getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n }\n function getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n }\n return validator;\n}\nvar OptionsBuilder = {};\nvar hasRequiredOptionsBuilder;\nfunction requireOptionsBuilder() {\n if (hasRequiredOptionsBuilder) return OptionsBuilder;\n hasRequiredOptionsBuilder = 1;\n const defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n removeNSPrefix: false,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true,\n //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs) {\n return tagName;\n }\n // skipEmptyListItem: false\n };\n const buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n };\n OptionsBuilder.buildOptions = buildOptions;\n OptionsBuilder.defaultOptions = defaultOptions;\n return OptionsBuilder;\n}\nvar xmlNode;\nvar hasRequiredXmlNode;\nfunction requireXmlNode() {\n if (hasRequiredXmlNode) return xmlNode;\n hasRequiredXmlNode = 1;\n class XmlNode {\n constructor(tagname) {\n this.tagname = tagname;\n this.child = [];\n this[\":@\"] = {};\n }\n add(key, val) {\n if (key === \"__proto__\") key = \"#__proto__\";\n this.child.push({ [key]: val });\n }\n addChild(node) {\n if (node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if (node[\":@\"] && Object.keys(node[\":@\"]).length > 0) {\n this.child.push({ [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n } else {\n this.child.push({ [node.tagname]: node.child });\n }\n }\n }\n xmlNode = XmlNode;\n return xmlNode;\n}\nvar DocTypeReader;\nvar hasRequiredDocTypeReader;\nfunction requireDocTypeReader() {\n if (hasRequiredDocTypeReader) return DocTypeReader;\n hasRequiredDocTypeReader = 1;\n const util2 = requireUtil();\n function readDocType(xmlData, i2) {\n const entities = {};\n if (xmlData[i2 + 3] === \"O\" && xmlData[i2 + 4] === \"C\" && xmlData[i2 + 5] === \"T\" && xmlData[i2 + 6] === \"Y\" && xmlData[i2 + 7] === \"P\" && xmlData[i2 + 8] === \"E\") {\n i2 = i2 + 9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\" && !comment) {\n if (hasBody && isEntity(xmlData, i2)) {\n i2 += 7;\n let entityName, val;\n [entityName, val, i2] = readEntityExp(xmlData, i2 + 1);\n if (val.indexOf(\"&\") === -1)\n entities[validateEntityName(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n };\n } else if (hasBody && isElement(xmlData, i2)) i2 += 8;\n else if (hasBody && isAttlist(xmlData, i2)) i2 += 8;\n else if (hasBody && isNotation(xmlData, i2)) i2 += 9;\n else comment = true;\n angleBracketsCount++;\n exp = \"\";\n } else if (xmlData[i2] === \">\") {\n if (comment) {\n if (xmlData[i2 - 1] === \"-\" && xmlData[i2 - 2] === \"-\") {\n comment = false;\n angleBracketsCount--;\n }\n } else {\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n } else if (xmlData[i2] === \"[\") {\n hasBody = true;\n } else {\n exp += xmlData[i2];\n }\n }\n if (angleBracketsCount !== 0) {\n throw new Error(`Unclosed DOCTYPE`);\n }\n } else {\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return { entities, i: i2 };\n }\n function readEntityExp(xmlData, i2) {\n let entityName = \"\";\n for (; i2 < xmlData.length && (xmlData[i2] !== \"'\" && xmlData[i2] !== '\"'); i2++) {\n entityName += xmlData[i2];\n }\n entityName = entityName.trim();\n if (entityName.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n const startChar = xmlData[i2++];\n let val = \"\";\n for (; i2 < xmlData.length && xmlData[i2] !== startChar; i2++) {\n val += xmlData[i2];\n }\n return [entityName, val, i2];\n }\n function isEntity(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"E\" && xmlData[i2 + 3] === \"N\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"I\" && xmlData[i2 + 6] === \"T\" && xmlData[i2 + 7] === \"Y\") return true;\n return false;\n }\n function isElement(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"E\" && xmlData[i2 + 3] === \"L\" && xmlData[i2 + 4] === \"E\" && xmlData[i2 + 5] === \"M\" && xmlData[i2 + 6] === \"E\" && xmlData[i2 + 7] === \"N\" && xmlData[i2 + 8] === \"T\") return true;\n return false;\n }\n function isAttlist(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"A\" && xmlData[i2 + 3] === \"T\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"L\" && xmlData[i2 + 6] === \"I\" && xmlData[i2 + 7] === \"S\" && xmlData[i2 + 8] === \"T\") return true;\n return false;\n }\n function isNotation(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"N\" && xmlData[i2 + 3] === \"O\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"A\" && xmlData[i2 + 6] === \"T\" && xmlData[i2 + 7] === \"I\" && xmlData[i2 + 8] === \"O\" && xmlData[i2 + 9] === \"N\") return true;\n return false;\n }\n function validateEntityName(name) {\n if (util2.isName(name))\n return name;\n else\n throw new Error(`Invalid entity name ${name}`);\n }\n DocTypeReader = readDocType;\n return DocTypeReader;\n}\nvar strnum;\nvar hasRequiredStrnum;\nfunction requireStrnum() {\n if (hasRequiredStrnum) return strnum;\n hasRequiredStrnum = 1;\n const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\n const numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n if (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n }\n if (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n }\n const consider = {\n hex: true,\n leadingZeros: true,\n decimalPoint: \".\",\n eNotation: true\n //skipLike: /regex/\n };\n function toNumber(str, options = {}) {\n options = Object.assign({}, consider, options);\n if (!str || typeof str !== \"string\") return str;\n let trimmedStr = str.trim();\n if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n } else {\n const match = numRegex.exec(trimmedStr);\n if (match) {\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]);\n const eNotation = match[4] || match[6];\n if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str;\n else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str;\n else {\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if (numStr.search(/[eE]/) !== -1) {\n if (options.eNotation) return num;\n else return str;\n } else if (eNotation) {\n if (options.eNotation) return num;\n else return str;\n } else if (trimmedStr.indexOf(\".\") !== -1) {\n if (numStr === \"0\" && numTrimmedByZeros === \"\") return num;\n else if (numStr === numTrimmedByZeros) return num;\n else if (sign && numStr === \"-\" + numTrimmedByZeros) return num;\n else return str;\n }\n if (leadingZeros) {\n if (numTrimmedByZeros === numStr) return num;\n else if (sign + numTrimmedByZeros === numStr) return num;\n else return str;\n }\n if (trimmedStr === numStr) return num;\n else if (trimmedStr === sign + numStr) return num;\n return str;\n }\n } else {\n return str;\n }\n }\n }\n function trimZeros(numStr) {\n if (numStr && numStr.indexOf(\".\") !== -1) {\n numStr = numStr.replace(/0+$/, \"\");\n if (numStr === \".\") numStr = \"0\";\n else if (numStr[0] === \".\") numStr = \"0\" + numStr;\n else if (numStr[numStr.length - 1] === \".\") numStr = numStr.substr(0, numStr.length - 1);\n return numStr;\n }\n return numStr;\n }\n strnum = toNumber;\n return strnum;\n}\nvar ignoreAttributes;\nvar hasRequiredIgnoreAttributes;\nfunction requireIgnoreAttributes() {\n if (hasRequiredIgnoreAttributes) return ignoreAttributes;\n hasRequiredIgnoreAttributes = 1;\n function getIgnoreAttributesFn(ignoreAttributes2) {\n if (typeof ignoreAttributes2 === \"function\") {\n return ignoreAttributes2;\n }\n if (Array.isArray(ignoreAttributes2)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes2) {\n if (typeof pattern === \"string\" && attrName === pattern) {\n return true;\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true;\n }\n }\n };\n }\n return () => false;\n }\n ignoreAttributes = getIgnoreAttributesFn;\n return ignoreAttributes;\n}\nvar OrderedObjParser_1;\nvar hasRequiredOrderedObjParser;\nfunction requireOrderedObjParser() {\n if (hasRequiredOrderedObjParser) return OrderedObjParser_1;\n hasRequiredOrderedObjParser = 1;\n const util2 = requireUtil();\n const xmlNode2 = requireXmlNode();\n const readDocType = requireDocTypeReader();\n const toNumber = requireStrnum();\n const getIgnoreAttributesFn = requireIgnoreAttributes();\n class OrderedObjParser {\n constructor(options) {\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\": { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n \"gt\": { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n \"lt\": { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n \"quot\": { regex: /&(quot|#34|#x22);/g, val: '\"' }\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" };\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\": { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\": { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\": { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\": { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\": { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\": { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\": { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 16)) }\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);\n }\n }\n function addExternalEntities(externalEntities) {\n const entKeys = Object.keys(externalEntities);\n for (let i2 = 0; i2 < entKeys.length; i2++) {\n const ent = entKeys[i2];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\" + ent + \";\", \"g\"),\n val: externalEntities[ent]\n };\n }\n }\n function parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== void 0) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if (val.length > 0) {\n if (!escapeEntities) val = this.replaceEntitiesValue(val);\n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if (newval === null || newval === void 0) {\n return val;\n } else if (typeof newval !== typeof val || newval !== val) {\n return newval;\n } else if (this.options.trimValues) {\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n const trimmedVal = val.trim();\n if (trimmedVal === val) {\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n return val;\n }\n }\n }\n }\n }\n function resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(\":\");\n const prefix = tagname.charAt(0) === \"/\" ? \"/\" : \"\";\n if (tags[0] === \"xmlns\") {\n return \"\";\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n }\n const attrsRegx = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\n function buildAttributesMap(attrStr, jPath, tagName) {\n if (this.options.ignoreAttributes !== true && typeof attrStr === \"string\") {\n const matches = util2.getAllMatches(attrStr, attrsRegx);\n const len = matches.length;\n const attrs = {};\n for (let i2 = 0; i2 < len; i2++) {\n const attrName = this.resolveNameSpace(matches[i2][1]);\n if (this.ignoreAttributesFn(attrName, jPath)) {\n continue;\n }\n let oldVal = matches[i2][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if (aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== void 0) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if (newVal === null || newVal === void 0) {\n attrs[aName] = oldVal;\n } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) {\n attrs[aName] = newVal;\n } else {\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n }\n const parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n const xmlObj = new xmlNode2(\"!xml\");\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for (let i2 = 0; i2 < xmlData.length; i2++) {\n const ch = xmlData[i2];\n if (ch === \"<\") {\n if (xmlData[i2 + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i2, \"Closing Tag is not closed.\");\n let tagName = xmlData.substring(i2 + 2, closeIndex).trim();\n if (this.options.removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n }\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode) {\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\") + 1);\n if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) {\n throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);\n }\n let propIndex = 0;\n if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) {\n propIndex = jPath.lastIndexOf(\".\", jPath.lastIndexOf(\".\") - 1);\n this.tagsNodeStack.pop();\n } else {\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n currentNode = this.tagsNodeStack.pop();\n textData = \"\";\n i2 = closeIndex;\n } else if (xmlData[i2 + 1] === \"?\") {\n let tagData = readTagExp(xmlData, i2, false, \"?>\");\n if (!tagData) throw new Error(\"Pi Tag is not closed.\");\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if (this.options.ignoreDeclaration && tagData.tagName === \"?xml\" || this.options.ignorePiTags) ;\n else {\n const childNode = new xmlNode2(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n }\n i2 = tagData.closeIndex + 1;\n } else if (xmlData.substr(i2 + 1, 3) === \"!--\") {\n const endIndex = findClosingIndex(xmlData, \"-->\", i2 + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const comment = xmlData.substring(i2 + 4, endIndex - 2);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]);\n }\n i2 = endIndex;\n } else if (xmlData.substr(i2 + 1, 2) === \"!D\") {\n const result = readDocType(xmlData, i2);\n this.docTypeEntities = result.entities;\n i2 = result.i;\n } else if (xmlData.substr(i2 + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i2, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i2 + 9, closeIndex);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if (val == void 0) val = \"\";\n if (this.options.cdataPropName) {\n currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]);\n } else {\n currentNode.add(this.options.textNodeName, val);\n }\n i2 = closeIndex + 2;\n } else {\n let result = readTagExp(xmlData, i2, this.options.removeNSPrefix);\n let tagName = result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode && textData) {\n if (currentNode.tagname !== \"!xml\") {\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n const lastTag = currentNode;\n if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) {\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if (tagName !== xmlObj.tagname) {\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i2 = result.closeIndex;\n } else if (this.options.unpairedTags.indexOf(tagName) !== -1) {\n i2 = result.closeIndex;\n } else {\n const result2 = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if (!result2) throw new Error(`Unexpected end of ${rawTagName}`);\n i2 = result2.i;\n tagContent = result2.tagContent;\n }\n const childNode = new xmlNode2(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if (tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n this.addChild(currentNode, childNode, jPath);\n } else {\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n const childNode = new xmlNode2(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n } else {\n const childNode = new xmlNode2(tagName);\n this.tagsNodeStack.push(currentNode);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n currentNode = childNode;\n }\n textData = \"\";\n i2 = closeIndex;\n }\n }\n } else {\n textData += xmlData[i2];\n }\n }\n return xmlObj.child;\n };\n function addChild(currentNode, childNode, jPath) {\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"]);\n if (result === false) ;\n else if (typeof result === \"string\") {\n childNode.tagname = result;\n currentNode.addChild(childNode);\n } else {\n currentNode.addChild(childNode);\n }\n }\n const replaceEntitiesValue = function(val) {\n if (this.options.processEntities) {\n for (let entityName in this.docTypeEntities) {\n const entity = this.docTypeEntities[entityName];\n val = val.replace(entity.regx, entity.val);\n }\n for (let entityName in this.lastEntities) {\n const entity = this.lastEntities[entityName];\n val = val.replace(entity.regex, entity.val);\n }\n if (this.options.htmlEntities) {\n for (let entityName in this.htmlEntities) {\n const entity = this.htmlEntities[entityName];\n val = val.replace(entity.regex, entity.val);\n }\n }\n val = val.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n };\n function saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) {\n if (isLeafNode === void 0) isLeafNode = Object.keys(currentNode.child).length === 0;\n textData = this.parseTextData(\n textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode\n );\n if (textData !== void 0 && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n }\n function isItStopNode(stopNodes, jPath, currentTagName) {\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if (allNodesExp === stopNodeExp || jPath === stopNodeExp) return true;\n }\n return false;\n }\n function tagExpWithClosingIndex(xmlData, i2, closingChar = \">\") {\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i2; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if (closingChar[1]) {\n if (xmlData[index + 1] === closingChar[1]) {\n return {\n data: tagExp,\n index\n };\n }\n } else {\n return {\n data: tagExp,\n index\n };\n }\n } else if (ch === \"\t\") {\n ch = \" \";\n }\n tagExp += ch;\n }\n }\n function findClosingIndex(xmlData, str, i2, errMsg) {\n const closingIndex = xmlData.indexOf(str, i2);\n if (closingIndex === -1) {\n throw new Error(errMsg);\n } else {\n return closingIndex + str.length - 1;\n }\n }\n function readTagExp(xmlData, i2, removeNSPrefix, closingChar = \">\") {\n const result = tagExpWithClosingIndex(xmlData, i2 + 1, closingChar);\n if (!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if (separatorIndex !== -1) {\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n const rawTagName = tagName;\n if (removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n return {\n tagName,\n tagExp,\n closeIndex,\n attrExpPresent,\n rawTagName\n };\n }\n function readStopNodeData(xmlData, tagName, i2) {\n const startIndex = i2;\n let openTagCount = 1;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n if (xmlData[i2 + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i2, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i2 + 2, closeIndex).trim();\n if (closeTagName === tagName) {\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i2),\n i: closeIndex\n };\n }\n }\n i2 = closeIndex;\n } else if (xmlData[i2 + 1] === \"?\") {\n const closeIndex = findClosingIndex(xmlData, \"?>\", i2 + 1, \"StopNode is not closed.\");\n i2 = closeIndex;\n } else if (xmlData.substr(i2 + 1, 3) === \"!--\") {\n const closeIndex = findClosingIndex(xmlData, \"-->\", i2 + 3, \"StopNode is not closed.\");\n i2 = closeIndex;\n } else if (xmlData.substr(i2 + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i2, \"StopNode is not closed.\") - 2;\n i2 = closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i2, \">\");\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== \"/\") {\n openTagCount++;\n }\n i2 = tagData.closeIndex;\n }\n }\n }\n }\n }\n function parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === \"string\") {\n const newval = val.trim();\n if (newval === \"true\") return true;\n else if (newval === \"false\") return false;\n else return toNumber(val, options);\n } else {\n if (util2.isExist(val)) {\n return val;\n } else {\n return \"\";\n }\n }\n }\n OrderedObjParser_1 = OrderedObjParser;\n return OrderedObjParser_1;\n}\nvar node2json = {};\nvar hasRequiredNode2json;\nfunction requireNode2json() {\n if (hasRequiredNode2json) return node2json;\n hasRequiredNode2json = 1;\n function prettify(node, options) {\n return compress(node, options);\n }\n function compress(arr, options, jPath) {\n let text;\n const compressedObj = {};\n for (let i2 = 0; i2 < arr.length; i2++) {\n const tagObj = arr[i2];\n const property = propName(tagObj);\n let newJpath = \"\";\n if (jPath === void 0) newJpath = property;\n else newJpath = jPath + \".\" + property;\n if (property === options.textNodeName) {\n if (text === void 0) text = tagObj[property];\n else text += \"\" + tagObj[property];\n } else if (property === void 0) {\n continue;\n } else if (tagObj[property]) {\n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n if (tagObj[\":@\"]) {\n assignAttributes(val, tagObj[\":@\"], newJpath, options);\n } else if (Object.keys(val).length === 1 && val[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) {\n val = val[options.textNodeName];\n } else if (Object.keys(val).length === 0) {\n if (options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) {\n if (!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [compressedObj[property]];\n }\n compressedObj[property].push(val);\n } else {\n if (options.isArray(property, newJpath, isLeaf)) {\n compressedObj[property] = [val];\n } else {\n compressedObj[property] = val;\n }\n }\n }\n }\n if (typeof text === \"string\") {\n if (text.length > 0) compressedObj[options.textNodeName] = text;\n } else if (text !== void 0) compressedObj[options.textNodeName] = text;\n return compressedObj;\n }\n function propName(obj) {\n const keys = Object.keys(obj);\n for (let i2 = 0; i2 < keys.length; i2++) {\n const key = keys[i2];\n if (key !== \":@\") return key;\n }\n }\n function assignAttributes(obj, attrMap, jpath, options) {\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length;\n for (let i2 = 0; i2 < len; i2++) {\n const atrrName = keys[i2];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [attrMap[atrrName]];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n }\n function isLeafTag(obj, options) {\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n if (propCount === 0) {\n return true;\n }\n if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)) {\n return true;\n }\n return false;\n }\n node2json.prettify = prettify;\n return node2json;\n}\nvar XMLParser_1;\nvar hasRequiredXMLParser;\nfunction requireXMLParser() {\n if (hasRequiredXMLParser) return XMLParser_1;\n hasRequiredXMLParser = 1;\n const { buildOptions } = requireOptionsBuilder();\n const OrderedObjParser = requireOrderedObjParser();\n const { prettify } = requireNode2json();\n const validator2 = requireValidator();\n class XMLParser {\n constructor(options) {\n this.externalEntities = {};\n this.options = buildOptions(options);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData, validationOption) {\n if (typeof xmlData === \"string\") ;\n else if (xmlData.toString) {\n xmlData = xmlData.toString();\n } else {\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n }\n if (validationOption) {\n if (validationOption === true) validationOption = {};\n const result = validator2.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`);\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if (this.options.preserveOrder || orderedResult === void 0) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value) {\n if (value.indexOf(\"&\") !== -1) {\n throw new Error(\"Entity value can't have '&'\");\n } else if (key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1) {\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\");\n } else if (value === \"&\") {\n throw new Error(\"An entity with value '&' is not permitted\");\n } else {\n this.externalEntities[key] = value;\n }\n }\n }\n XMLParser_1 = XMLParser;\n return XMLParser_1;\n}\nvar orderedJs2Xml;\nvar hasRequiredOrderedJs2Xml;\nfunction requireOrderedJs2Xml() {\n if (hasRequiredOrderedJs2Xml) return orderedJs2Xml;\n hasRequiredOrderedJs2Xml = 1;\n const EOL = \"\\n\";\n function toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n }\n function arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n for (let i2 = 0; i2 < arr.length; i2++) {\n const tagObj = arr[i2];\n const tagName = propName(tagObj);\n if (tagName === void 0) continue;\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName;\n else newJPath = `${jPath}.${tagName}`;\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr2 = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\";\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}</${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"</\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `</${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n return xmlStr;\n }\n function propName(obj) {\n const keys = Object.keys(obj);\n for (let i2 = 0; i2 < keys.length; i2++) {\n const key = keys[i2];\n if (!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n }\n function attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if (!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n }\n function isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n }\n function replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i2 = 0; i2 < options.entities.length; i2++) {\n const entity = options.entities[i2];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n }\n orderedJs2Xml = toXml;\n return orderedJs2Xml;\n}\nvar json2xml;\nvar hasRequiredJson2xml;\nfunction requireJson2xml() {\n if (hasRequiredJson2xml) return json2xml;\n hasRequiredJson2xml = 1;\n const buildFromOrderedJs = requireOrderedJs2Xml();\n const getIgnoreAttributesFn = requireIgnoreAttributes();\n const defaultOptions = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: \" \",\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a2) {\n return a2;\n },\n attributeValueProcessor: function(attrName, a2) {\n return a2;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&amp;\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \"&gt;\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"&lt;\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"&apos;\" },\n { regex: new RegExp('\"', \"g\"), val: \"&quot;\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n };\n function Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {\n this.isAttribute = function() {\n return false;\n };\n } else {\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n this.processTextOrObjNode = processTextOrObjNode;\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = \">\\n\";\n this.newLine = \"\\n\";\n } else {\n this.indentate = function() {\n return \"\";\n };\n this.tagEndChar = \">\";\n this.newLine = \"\";\n }\n }\n Builder.prototype.build = function(jObj) {\n if (this.options.preserveOrder) {\n return buildFromOrderedJs(jObj, this.options);\n } else {\n if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) {\n jObj = {\n [this.options.arrayNodeName]: jObj\n };\n }\n return this.j2x(jObj, 0, []).val;\n }\n };\n Builder.prototype.j2x = function(jObj, level, ajPath) {\n let attrStr = \"\";\n let val = \"\";\n const jPath = ajPath.join(\".\");\n for (let key in jObj) {\n if (!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === \"undefined\") {\n if (this.isAttribute(key)) {\n val += \"\";\n }\n } else if (jObj[key] === null) {\n if (this.isAttribute(key)) {\n val += \"\";\n } else if (key[0] === \"?\") {\n val += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n } else {\n val += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n }\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, \"\", level);\n } else if (typeof jObj[key] !== \"object\") {\n const attr = this.isAttribute(key);\n if (attr && !this.ignoreAttributesFn(attr, jPath)) {\n attrStr += this.buildAttrPairStr(attr, \"\" + jObj[key]);\n } else if (!attr) {\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, \"\" + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, \"\", level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j2 = 0; j2 < arrLen; j2++) {\n const item = jObj[key][j2];\n if (typeof item === \"undefined\") ;\n else if (item === null) {\n if (key[0] === \"?\") val += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n else val += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n } else if (typeof item === \"object\") {\n if (this.options.oneListGroup) {\n const result = this.j2x(item, level + 1, ajPath.concat(key));\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr;\n }\n } else {\n listTagVal += this.processTextOrObjNode(item, key, level, ajPath);\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, \"\", level);\n }\n }\n }\n if (this.options.oneListGroup) {\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val += listTagVal;\n } else {\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j2 = 0; j2 < L; j2++) {\n attrStr += this.buildAttrPairStr(Ks[j2], \"\" + jObj[key][Ks[j2]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level, ajPath);\n }\n }\n }\n return { attrStr, val };\n };\n Builder.prototype.buildAttrPairStr = function(attrName, val) {\n val = this.options.attributeValueProcessor(attrName, \"\" + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return \" \" + attrName;\n } else return \" \" + attrName + '=\"' + val + '\"';\n };\n function processTextOrObjNode(object, key, level, ajPath) {\n const result = this.j2x(object, level + 1, ajPath.concat(key));\n if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n }\n Builder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if (val === \"\") {\n if (key[0] === \"?\") return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n else {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n } else {\n let tagEndExp = \"</\" + key + this.tagEndChar;\n let piClosingChar = \"\";\n if (key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n if ((attrStr || attrStr === \"\") && val.indexOf(\"<\") === -1) {\n return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + \">\" + val + tagEndExp;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + this.tagEndChar + val + this.indentate(level) + tagEndExp;\n }\n }\n };\n Builder.prototype.closeTag = function(key) {\n let closeTag = \"\";\n if (this.options.unpairedTags.indexOf(key) !== -1) {\n if (!this.options.suppressUnpairedNode) closeTag = \"/\";\n } else if (this.options.suppressEmptyNode) {\n closeTag = \"/\";\n } else {\n closeTag = `></${key}`;\n }\n return closeTag;\n };\n Builder.prototype.buildTextValNode = function(val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n } else if (key[0] === \"?\") {\n return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n } else {\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n if (textValue === \"\") {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + \">\" + textValue + \"</\" + key + this.tagEndChar;\n }\n }\n };\n Builder.prototype.replaceEntitiesValue = function(textValue) {\n if (textValue && textValue.length > 0 && this.options.processEntities) {\n for (let i2 = 0; i2 < this.options.entities.length; i2++) {\n const entity = this.options.entities[i2];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n };\n function indentate(level) {\n return this.options.indentBy.repeat(level);\n }\n function isAttribute(name) {\n if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n }\n json2xml = Builder;\n return json2xml;\n}\nvar fxp;\nvar hasRequiredFxp;\nfunction requireFxp() {\n if (hasRequiredFxp) return fxp;\n hasRequiredFxp = 1;\n const validator2 = requireValidator();\n const XMLParser = requireXMLParser();\n const XMLBuilder = requireJson2xml();\n fxp = {\n XMLParser,\n XMLValidator: validator2,\n XMLBuilder\n };\n return fxp;\n}\nvar fxpExports = requireFxp();\nfunction isSvg(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n }\n string = string.trim();\n if (string.length === 0) {\n return false;\n }\n if (fxpExports.XMLValidator.validate(string) !== true) {\n return false;\n }\n let jsonObject;\n const parser = new fxpExports.XMLParser();\n try {\n jsonObject = parser.parse(string);\n } catch {\n return false;\n }\n if (!jsonObject) {\n return false;\n }\n if (!Object.keys(jsonObject).some((x) => x.toLowerCase() === \"svg\")) {\n return false;\n }\n return true;\n}\nclass View {\n _view;\n constructor(view) {\n isValidView(view);\n this._view = view;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(icon) {\n this._view.icon = icon;\n }\n get order() {\n return this._view.order;\n }\n set order(order) {\n this._view.order = order;\n }\n get params() {\n return this._view.params;\n }\n set params(params) {\n this._view.params = params;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(expanded) {\n this._view.expanded = expanded;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n get loadChildViews() {\n return this._view.loadChildViews;\n }\n}\nconst isValidView = function(view) {\n if (!view.id || typeof view.id !== \"string\") {\n throw new Error(\"View id is required and must be a string\");\n }\n if (!view.name || typeof view.name !== \"string\") {\n throw new Error(\"View name is required and must be a string\");\n }\n if (\"caption\" in view && typeof view.caption !== \"string\") {\n throw new Error(\"View caption must be a string\");\n }\n if (!view.getContents || typeof view.getContents !== \"function\") {\n throw new Error(\"View getContents is required and must be a function\");\n }\n if (!view.icon || typeof view.icon !== \"string\" || !isSvg(view.icon)) {\n throw new Error(\"View icon is required and must be a valid svg string\");\n }\n if (\"order\" in view && typeof view.order !== \"number\") {\n throw new Error(\"View order must be a number\");\n }\n if (view.columns) {\n view.columns.forEach((column) => {\n if (!(column instanceof Column)) {\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }\n });\n }\n if (view.emptyView && typeof view.emptyView !== \"function\") {\n throw new Error(\"View emptyView must be a function\");\n }\n if (view.parent && typeof view.parent !== \"string\") {\n throw new Error(\"View parent must be a string\");\n }\n if (\"sticky\" in view && typeof view.sticky !== \"boolean\") {\n throw new Error(\"View sticky must be a boolean\");\n }\n if (\"expanded\" in view && typeof view.expanded !== \"boolean\") {\n throw new Error(\"View expanded must be a boolean\");\n }\n if (view.defaultSortKey && typeof view.defaultSortKey !== \"string\") {\n throw new Error(\"View defaultSortKey must be a string\");\n }\n if (view.loadChildViews && typeof view.loadChildViews !== \"function\") {\n throw new Error(\"View loadChildViews must be a function\");\n }\n return true;\n};\nvar debug_1;\nvar hasRequiredDebug;\nfunction requireDebug() {\n if (hasRequiredDebug) return debug_1;\n hasRequiredDebug = 1;\n const debug = typeof process === \"object\" && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error(\"SEMVER\", ...args) : () => {\n };\n debug_1 = debug;\n return debug_1;\n}\nvar constants;\nvar hasRequiredConstants;\nfunction requireConstants() {\n if (hasRequiredConstants) return constants;\n hasRequiredConstants = 1;\n const SEMVER_SPEC_VERSION = \"2.0.0\";\n const MAX_LENGTH = 256;\n const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */\n 9007199254740991;\n const MAX_SAFE_COMPONENT_LENGTH = 16;\n const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;\n const RELEASE_TYPES = [\n \"major\",\n \"premajor\",\n \"minor\",\n \"preminor\",\n \"patch\",\n \"prepatch\",\n \"prerelease\"\n ];\n constants = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n };\n return constants;\n}\nvar re = { exports: {} };\nvar hasRequiredRe;\nfunction requireRe() {\n if (hasRequiredRe) return re.exports;\n hasRequiredRe = 1;\n (function(module, exports) {\n const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH\n } = requireConstants();\n const debug = requireDebug();\n exports = module.exports = {};\n const re2 = exports.re = [];\n const safeRe = exports.safeRe = [];\n const src = exports.src = [];\n const t2 = exports.t = {};\n let R = 0;\n const LETTERDASHNUMBER = \"[a-zA-Z0-9-]\";\n const safeRegexReplacements = [\n [\"\\\\s\", 1],\n [\"\\\\d\", MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]\n ];\n const makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);\n }\n return value;\n };\n const createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value);\n const index = R++;\n debug(name, index, value);\n t2[name] = index;\n src[index] = value;\n re2[index] = new RegExp(value, isGlobal ? \"g\" : void 0);\n safeRe[index] = new RegExp(safe, isGlobal ? \"g\" : void 0);\n };\n createToken(\"NUMERICIDENTIFIER\", \"0|[1-9]\\\\d*\");\n createToken(\"NUMERICIDENTIFIERLOOSE\", \"\\\\d+\");\n createToken(\"NONNUMERICIDENTIFIER\", `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);\n createToken(\"MAINVERSION\", `(${src[t2.NUMERICIDENTIFIER]})\\\\.(${src[t2.NUMERICIDENTIFIER]})\\\\.(${src[t2.NUMERICIDENTIFIER]})`);\n createToken(\"MAINVERSIONLOOSE\", `(${src[t2.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})`);\n createToken(\"PRERELEASEIDENTIFIER\", `(?:${src[t2.NUMERICIDENTIFIER]}|${src[t2.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASEIDENTIFIERLOOSE\", `(?:${src[t2.NUMERICIDENTIFIERLOOSE]}|${src[t2.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASE\", `(?:-(${src[t2.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t2.PRERELEASEIDENTIFIER]})*))`);\n createToken(\"PRERELEASELOOSE\", `(?:-?(${src[t2.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${src[t2.PRERELEASEIDENTIFIERLOOSE]})*))`);\n createToken(\"BUILDIDENTIFIER\", `${LETTERDASHNUMBER}+`);\n createToken(\"BUILD\", `(?:\\\\+(${src[t2.BUILDIDENTIFIER]}(?:\\\\.${src[t2.BUILDIDENTIFIER]})*))`);\n createToken(\"FULLPLAIN\", `v?${src[t2.MAINVERSION]}${src[t2.PRERELEASE]}?${src[t2.BUILD]}?`);\n createToken(\"FULL\", `^${src[t2.FULLPLAIN]}$`);\n createToken(\"LOOSEPLAIN\", `[v=\\\\s]*${src[t2.MAINVERSIONLOOSE]}${src[t2.PRERELEASELOOSE]}?${src[t2.BUILD]}?`);\n createToken(\"LOOSE\", `^${src[t2.LOOSEPLAIN]}$`);\n createToken(\"GTLT\", \"((?:<|>)?=?)\");\n createToken(\"XRANGEIDENTIFIERLOOSE\", `${src[t2.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\n createToken(\"XRANGEIDENTIFIER\", `${src[t2.NUMERICIDENTIFIER]}|x|X|\\\\*`);\n createToken(\"XRANGEPLAIN\", `[v=\\\\s]*(${src[t2.XRANGEIDENTIFIER]})(?:\\\\.(${src[t2.XRANGEIDENTIFIER]})(?:\\\\.(${src[t2.XRANGEIDENTIFIER]})(?:${src[t2.PRERELEASE]})?${src[t2.BUILD]}?)?)?`);\n createToken(\"XRANGEPLAINLOOSE\", `[v=\\\\s]*(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:${src[t2.PRERELEASELOOSE]})?${src[t2.BUILD]}?)?)?`);\n createToken(\"XRANGE\", `^${src[t2.GTLT]}\\\\s*${src[t2.XRANGEPLAIN]}$`);\n createToken(\"XRANGELOOSE\", `^${src[t2.GTLT]}\\\\s*${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"COERCEPLAIN\", `${\"(^|[^\\\\d])(\\\\d{1,\"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);\n createToken(\"COERCE\", `${src[t2.COERCEPLAIN]}(?:$|[^\\\\d])`);\n createToken(\"COERCEFULL\", src[t2.COERCEPLAIN] + `(?:${src[t2.PRERELEASE]})?(?:${src[t2.BUILD]})?(?:$|[^\\\\d])`);\n createToken(\"COERCERTL\", src[t2.COERCE], true);\n createToken(\"COERCERTLFULL\", src[t2.COERCEFULL], true);\n createToken(\"LONETILDE\", \"(?:~>?)\");\n createToken(\"TILDETRIM\", `(\\\\s*)${src[t2.LONETILDE]}\\\\s+`, true);\n exports.tildeTrimReplace = \"$1~\";\n createToken(\"TILDE\", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAIN]}$`);\n createToken(\"TILDELOOSE\", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"LONECARET\", \"(?:\\\\^)\");\n createToken(\"CARETTRIM\", `(\\\\s*)${src[t2.LONECARET]}\\\\s+`, true);\n exports.caretTrimReplace = \"$1^\";\n createToken(\"CARET\", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAIN]}$`);\n createToken(\"CARETLOOSE\", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"COMPARATORLOOSE\", `^${src[t2.GTLT]}\\\\s*(${src[t2.LOOSEPLAIN]})$|^$`);\n createToken(\"COMPARATOR\", `^${src[t2.GTLT]}\\\\s*(${src[t2.FULLPLAIN]})$|^$`);\n createToken(\"COMPARATORTRIM\", `(\\\\s*)${src[t2.GTLT]}\\\\s*(${src[t2.LOOSEPLAIN]}|${src[t2.XRANGEPLAIN]})`, true);\n exports.comparatorTrimReplace = \"$1$2$3\";\n createToken(\"HYPHENRANGE\", `^\\\\s*(${src[t2.XRANGEPLAIN]})\\\\s+-\\\\s+(${src[t2.XRANGEPLAIN]})\\\\s*$`);\n createToken(\"HYPHENRANGELOOSE\", `^\\\\s*(${src[t2.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${src[t2.XRANGEPLAINLOOSE]})\\\\s*$`);\n createToken(\"STAR\", \"(<|>)?=?\\\\s*\\\\*\");\n createToken(\"GTE0\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\");\n createToken(\"GTE0PRE\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\");\n })(re, re.exports);\n return re.exports;\n}\nvar parseOptions_1;\nvar hasRequiredParseOptions;\nfunction requireParseOptions() {\n if (hasRequiredParseOptions) return parseOptions_1;\n hasRequiredParseOptions = 1;\n const looseOption = Object.freeze({ loose: true });\n const emptyOpts = Object.freeze({});\n const parseOptions = (options) => {\n if (!options) {\n return emptyOpts;\n }\n if (typeof options !== \"object\") {\n return looseOption;\n }\n return options;\n };\n parseOptions_1 = parseOptions;\n return parseOptions_1;\n}\nvar identifiers;\nvar hasRequiredIdentifiers;\nfunction requireIdentifiers() {\n if (hasRequiredIdentifiers) return identifiers;\n hasRequiredIdentifiers = 1;\n const numeric = /^[0-9]+$/;\n const compareIdentifiers = (a2, b2) => {\n const anum = numeric.test(a2);\n const bnum = numeric.test(b2);\n if (anum && bnum) {\n a2 = +a2;\n b2 = +b2;\n }\n return a2 === b2 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a2 < b2 ? -1 : 1;\n };\n const rcompareIdentifiers = (a2, b2) => compareIdentifiers(b2, a2);\n identifiers = {\n compareIdentifiers,\n rcompareIdentifiers\n };\n return identifiers;\n}\nvar semver;\nvar hasRequiredSemver;\nfunction requireSemver() {\n if (hasRequiredSemver) return semver;\n hasRequiredSemver = 1;\n const debug = requireDebug();\n const { MAX_LENGTH, MAX_SAFE_INTEGER } = requireConstants();\n const { safeRe: re2, t: t2 } = requireRe();\n const parseOptions = requireParseOptions();\n const { compareIdentifiers } = requireIdentifiers();\n class SemVer {\n constructor(version, options) {\n options = parseOptions(options);\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {\n return version;\n } else {\n version = version.version;\n }\n } else if (typeof version !== \"string\") {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`);\n }\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n );\n }\n debug(\"SemVer\", version, options);\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n const m2 = version.trim().match(options.loose ? re2[t2.LOOSE] : re2[t2.FULL]);\n if (!m2) {\n throw new TypeError(`Invalid Version: ${version}`);\n }\n this.raw = version;\n this.major = +m2[1];\n this.minor = +m2[2];\n this.patch = +m2[3];\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError(\"Invalid major version\");\n }\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError(\"Invalid minor version\");\n }\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError(\"Invalid patch version\");\n }\n if (!m2[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m2[4].split(\".\").map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num;\n }\n }\n return id;\n });\n }\n this.build = m2[5] ? m2[5].split(\".\") : [];\n this.format();\n }\n format() {\n this.version = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join(\".\")}`;\n }\n return this.version;\n }\n toString() {\n return this.version;\n }\n compare(other) {\n debug(\"SemVer.compare\", this.version, this.options, other);\n if (!(other instanceof SemVer)) {\n if (typeof other === \"string\" && other === this.version) {\n return 0;\n }\n other = new SemVer(other, this.options);\n }\n if (other.version === this.version) {\n return 0;\n }\n return this.compareMain(other) || this.comparePre(other);\n }\n compareMain(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n }\n comparePre(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n if (this.prerelease.length && !other.prerelease.length) {\n return -1;\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1;\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0;\n }\n let i2 = 0;\n do {\n const a2 = this.prerelease[i2];\n const b2 = other.prerelease[i2];\n debug(\"prerelease compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n compareBuild(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n let i2 = 0;\n do {\n const a2 = this.build[i2];\n const b2 = other.build[i2];\n debug(\"build compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc(release, identifier, identifierBase) {\n switch (release) {\n case \"premajor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"preminor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prepatch\":\n this.prerelease.length = 0;\n this.inc(\"patch\", identifier, identifierBase);\n this.inc(\"pre\", identifier, identifierBase);\n break;\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case \"prerelease\":\n if (this.prerelease.length === 0) {\n this.inc(\"patch\", identifier, identifierBase);\n }\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"major\":\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {\n this.major++;\n }\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"minor\":\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++;\n }\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"patch\":\n if (this.prerelease.length === 0) {\n this.patch++;\n }\n this.prerelease = [];\n break;\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case \"pre\": {\n const base = Number(identifierBase) ? 1 : 0;\n if (!identifier && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier is empty\");\n }\n if (this.prerelease.length === 0) {\n this.prerelease = [base];\n } else {\n let i2 = this.prerelease.length;\n while (--i2 >= 0) {\n if (typeof this.prerelease[i2] === \"number\") {\n this.prerelease[i2]++;\n i2 = -2;\n }\n }\n if (i2 === -1) {\n if (identifier === this.prerelease.join(\".\") && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier already exists\");\n }\n this.prerelease.push(base);\n }\n }\n if (identifier) {\n let prerelease = [identifier, base];\n if (identifierBase === false) {\n prerelease = [identifier];\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease;\n }\n } else {\n this.prerelease = prerelease;\n }\n }\n break;\n }\n default:\n throw new Error(`invalid increment argument: ${release}`);\n }\n this.raw = this.format();\n if (this.build.length) {\n this.raw += `+${this.build.join(\".\")}`;\n }\n return this;\n }\n }\n semver = SemVer;\n return semver;\n}\nvar parse_1;\nvar hasRequiredParse;\nfunction requireParse() {\n if (hasRequiredParse) return parse_1;\n hasRequiredParse = 1;\n const SemVer = requireSemver();\n const parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version;\n }\n try {\n return new SemVer(version, options);\n } catch (er) {\n if (!throwErrors) {\n return null;\n }\n throw er;\n }\n };\n parse_1 = parse;\n return parse_1;\n}\nvar valid_1;\nvar hasRequiredValid;\nfunction requireValid() {\n if (hasRequiredValid) return valid_1;\n hasRequiredValid = 1;\n const parse = requireParse();\n const valid2 = (version, options) => {\n const v = parse(version, options);\n return v ? v.version : null;\n };\n valid_1 = valid2;\n return valid_1;\n}\nvar validExports = requireValid();\nconst valid = /* @__PURE__ */ getDefaultExportFromCjs(validExports);\nvar major_1;\nvar hasRequiredMajor;\nfunction requireMajor() {\n if (hasRequiredMajor) return major_1;\n hasRequiredMajor = 1;\n const SemVer = requireSemver();\n const major2 = (a2, loose) => new SemVer(a2, loose).major;\n major_1 = major2;\n return major_1;\n}\nvar majorExports = requireMajor();\nconst major = /* @__PURE__ */ getDefaultExportFromCjs(majorExports);\nclass ProxyBus {\n bus;\n constructor(bus2) {\n if (typeof bus2.getVersion !== \"function\" || !valid(bus2.getVersion())) {\n console.warn(\"Proxying an event bus with an unknown or invalid version\");\n } else if (major(bus2.getVersion()) !== major(this.getVersion())) {\n console.warn(\n \"Proxying an event bus of version \" + bus2.getVersion() + \" with \" + this.getVersion()\n );\n }\n this.bus = bus2;\n }\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, event) {\n this.bus.emit(name, event);\n }\n}\nclass SimpleBus {\n handlers = /* @__PURE__ */ new Map();\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).concat(\n handler\n )\n );\n }\n unsubscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).filter((h2) => h2 !== handler)\n );\n }\n emit(name, event) {\n (this.handlers.get(name) || []).forEach((h2) => {\n try {\n h2(event);\n } catch (e2) {\n console.error(\"could not invoke event listener\", e2);\n }\n });\n }\n}\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === \"undefined\") {\n return new Proxy({}, {\n get: () => {\n return () => console.error(\n \"Window not available, EventBus can not be established!\"\n );\n }\n });\n }\n if (window.OC?._eventBus && typeof window._nc_event_bus === \"undefined\") {\n console.warn(\n \"found old event bus instance at OC._eventBus. Update your version!\"\n );\n window._nc_event_bus = window.OC._eventBus;\n }\n if (typeof window?._nc_event_bus !== \"undefined\") {\n bus = new ProxyBus(window._nc_event_bus);\n } else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\nfunction emit(name, event) {\n getBus().emit(name, event);\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nclass FileListFilter extends TypedEventTarget {\n id;\n order;\n constructor(id, order = 100) {\n super();\n this.id = id;\n this.order = order;\n }\n filter(nodes) {\n throw new Error(\"Not implemented\");\n }\n updateChips(chips) {\n this.dispatchTypedEvent(\"update:chips\", new CustomEvent(\"update:chips\", { detail: chips }));\n }\n filterUpdated() {\n this.dispatchTypedEvent(\"update:filter\", new CustomEvent(\"update:filter\"));\n }\n}\nfunction registerFileListFilter(filter) {\n if (!window._nc_filelist_filters) {\n window._nc_filelist_filters = /* @__PURE__ */ new Map();\n }\n if (window._nc_filelist_filters.has(filter.id)) {\n throw new Error(`File list filter \"${filter.id}\" already registered`);\n }\n window._nc_filelist_filters.set(filter.id, filter);\n emit(\"files:filter:added\", filter);\n}\nfunction unregisterFileListFilter(filterId) {\n if (window._nc_filelist_filters && window._nc_filelist_filters.has(filterId)) {\n window._nc_filelist_filters.delete(filterId);\n emit(\"files:filter:removed\", filterId);\n }\n}\nfunction getFileListFilters() {\n if (!window._nc_filelist_filters) {\n return [];\n }\n return [...window._nc_filelist_filters.values()];\n}\nconst addNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.registerEntry(entry);\n};\nconst removeNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.unregisterEntry(entry);\n};\nconst getNewFileMenuEntries = function(context) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.getEntries(context).sort((a2, b2) => {\n if (a2.order !== void 0 && b2.order !== void 0 && a2.order !== b2.order) {\n return a2.order - b2.order;\n }\n return a2.displayName.localeCompare(b2.displayName, void 0, { numeric: true, sensitivity: \"base\" });\n });\n};\nexport {\n Column,\n DefaultType,\n q as File,\n FileAction,\n FileListAction,\n FileListFilter,\n F as FileType,\n FilesSortingMode,\n s as Folder,\n Header,\n InvalidFilenameError,\n InvalidFilenameErrorReason,\n Navigation,\n NewMenuEntryCategory,\n N as Node,\n t as NodeStatus,\n P as Permission,\n View,\n addNewFileMenuEntry,\n c as davGetClient,\n l as davGetDefaultPropfind,\n m as davGetFavoritesReport,\n n as davGetRecentSearch,\n a as davGetRemoteURL,\n g as davGetRootPath,\n p as davParsePermissions,\n b as davRemoteURL,\n r as davResultToNode,\n d as davRootPath,\n h as defaultDavNamespaces,\n f as defaultDavProperties,\n formatFileSize,\n k as getDavNameSpaces,\n j as getDavProperties,\n e as getFavoriteNodes,\n getFileActions,\n getFileListActions,\n getFileListFilters,\n getFileListHeaders,\n getNavigation,\n getNewFileMenuEntries,\n getUniqueName,\n isFilenameValid,\n orderBy,\n parseFileSize,\n i as registerDavProperty,\n registerFileAction,\n registerFileListAction,\n registerFileListFilter,\n registerFileListHeaders,\n removeNewFileMenuEntry,\n sortNodes,\n unregisterFileListFilter,\n validateFilename\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry__internal .avatar-external[data-v-57874406]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}.sharing-entry__internal .icon-checkmark-color[data-v-57874406]{opacity:1;color:var(--color-success)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue\"],\"names\":[],\"mappings\":\"AAEC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA,CACA,0BAAA\",\"sourcesContent\":[\"\\n.sharing-entry__internal {\\n\\t.avatar-external {\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tline-height: 32px;\\n\\t\\tfont-size: 18px;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t\\tborder-radius: 50%;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n\\t.icon-checkmark-color {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-success);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-44339fa4]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-44339fa4]{padding:8px;padding-inline-start:10px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc p[data-v-44339fa4]{color:var(--color-text-maxcontrast)}.sharing-entry__title[data-v-44339fa4]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__actions[data-v-44339fa4]{margin-inline-start:auto !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,wCACC,mCAAA,CAGF,uCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,yCACC,mCAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\t&__desc {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tposition: relative;\\n\\t\\tflex: 1 1;\\n\\t\\tmin-width: 0;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__title {\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t\\tmax-width: inherit;\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-inline-start: auto !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**!\n * url-search-params-polyfill\n *\n * @author Jerry Bendy (https://github.com/jerrybendy)\n * @licence MIT\n */\n(function(self) {\n 'use strict';\n\n var nativeURLSearchParams = (function() {\n // #41 Fix issue in RN\n try {\n if (self.URLSearchParams && (new self.URLSearchParams('foo=bar')).get('foo') === 'bar') {\n return self.URLSearchParams;\n }\n } catch (e) {}\n return null;\n })(),\n isSupportObjectConstructor = nativeURLSearchParams && (new nativeURLSearchParams({a: 1})).toString() === 'a=1',\n // There is a bug in safari 10.1 (and earlier) that incorrectly decodes `%2B` as an empty space and not a plus.\n decodesPlusesCorrectly = nativeURLSearchParams && (new nativeURLSearchParams('s=%2B').get('s') === '+'),\n isSupportSize = nativeURLSearchParams && 'size' in nativeURLSearchParams.prototype,\n __URLSearchParams__ = \"__URLSearchParams__\",\n // Fix bug in Edge which cannot encode ' &' correctly\n encodesAmpersandsCorrectly = nativeURLSearchParams ? (function() {\n var ampersandTest = new nativeURLSearchParams();\n ampersandTest.append('s', ' &');\n return ampersandTest.toString() === 's=+%26';\n })() : true,\n prototype = URLSearchParamsPolyfill.prototype,\n iterable = !!(self.Symbol && self.Symbol.iterator);\n\n if (nativeURLSearchParams && isSupportObjectConstructor && decodesPlusesCorrectly && encodesAmpersandsCorrectly && isSupportSize) {\n return;\n }\n\n\n /**\n * Make a URLSearchParams instance\n *\n * @param {object|string|URLSearchParams} search\n * @constructor\n */\n function URLSearchParamsPolyfill(search) {\n search = search || \"\";\n\n // support construct object with another URLSearchParams instance\n if (search instanceof URLSearchParams || search instanceof URLSearchParamsPolyfill) {\n search = search.toString();\n }\n this [__URLSearchParams__] = parseToDict(search);\n }\n\n\n /**\n * Appends a specified key/value pair as a new search parameter.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.append = function(name, value) {\n appendTo(this [__URLSearchParams__], name, value);\n };\n\n /**\n * Deletes the given search parameter, and its associated value,\n * from the list of all search parameters.\n *\n * @param {string} name\n */\n prototype['delete'] = function(name) {\n delete this [__URLSearchParams__] [name];\n };\n\n /**\n * Returns the first value associated to the given search parameter.\n *\n * @param {string} name\n * @returns {string|null}\n */\n prototype.get = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict[name][0] : null;\n };\n\n /**\n * Returns all the values association with a given search parameter.\n *\n * @param {string} name\n * @returns {Array}\n */\n prototype.getAll = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict [name].slice(0) : [];\n };\n\n /**\n * Returns a Boolean indicating if such a search parameter exists.\n *\n * @param {string} name\n * @returns {boolean}\n */\n prototype.has = function(name) {\n return hasOwnProperty(this [__URLSearchParams__], name);\n };\n\n /**\n * Sets the value associated to a given search parameter to\n * the given value. If there were several values, delete the\n * others.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.set = function set(name, value) {\n this [__URLSearchParams__][name] = ['' + value];\n };\n\n /**\n * Returns a string containg a query string suitable for use in a URL.\n *\n * @returns {string}\n */\n prototype.toString = function() {\n var dict = this[__URLSearchParams__], query = [], i, key, name, value;\n for (key in dict) {\n name = encode(key);\n for (i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n };\n\n // There is a bug in Safari 10.1 and `Proxy`ing it is not enough.\n var useProxy = self.Proxy && nativeURLSearchParams && (!decodesPlusesCorrectly || !encodesAmpersandsCorrectly || !isSupportObjectConstructor || !isSupportSize);\n var propValue;\n if (useProxy) {\n // Safari 10.0 doesn't support Proxy, so it won't extend URLSearchParams on safari 10.0\n propValue = new Proxy(nativeURLSearchParams, {\n construct: function (target, args) {\n return new target((new URLSearchParamsPolyfill(args[0]).toString()));\n }\n })\n // Chrome <=60 .toString() on a function proxy got error \"Function.prototype.toString is not generic\"\n propValue.toString = Function.prototype.toString.bind(URLSearchParamsPolyfill);\n } else {\n propValue = URLSearchParamsPolyfill;\n }\n\n /*\n * Apply polyfill to global object and append other prototype into it\n */\n Object.defineProperty(self, 'URLSearchParams', {\n value: propValue\n });\n\n var USPProto = self.URLSearchParams.prototype;\n\n USPProto.polyfill = true;\n\n // Fix #54, `toString.call(new URLSearchParams)` will return correct value when Proxy not used\n if (!useProxy && self.Symbol) {\n USPProto[self.Symbol.toStringTag] = 'URLSearchParams';\n }\n\n /**\n *\n * @param {function} callback\n * @param {object} thisArg\n */\n if (!('forEach' in USPProto)) {\n USPProto.forEach = function(callback, thisArg) {\n var dict = parseToDict(this.toString());\n Object.getOwnPropertyNames(dict).forEach(function(name) {\n dict[name].forEach(function(value) {\n callback.call(thisArg, value, name, this);\n }, this);\n }, this);\n };\n }\n\n /**\n * Sort all name-value pairs\n */\n if (!('sort' in USPProto)) {\n USPProto.sort = function() {\n var dict = parseToDict(this.toString()), keys = [], k, i, j;\n for (k in dict) {\n keys.push(k);\n }\n keys.sort();\n\n for (i = 0; i < keys.length; i++) {\n this['delete'](keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n var key = keys[i], values = dict[key];\n for (j = 0; j < values.length; j++) {\n this.append(key, values[j]);\n }\n }\n };\n }\n\n /**\n * Returns an iterator allowing to go through all keys of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('keys' in USPProto)) {\n USPProto.keys = function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push(name);\n });\n return makeIterator(items);\n };\n }\n\n /**\n * Returns an iterator allowing to go through all values of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('values' in USPProto)) {\n USPProto.values = function() {\n var items = [];\n this.forEach(function(item) {\n items.push(item);\n });\n return makeIterator(items);\n };\n }\n\n /**\n * Returns an iterator allowing to go through all key/value\n * pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('entries' in USPProto)) {\n USPProto.entries = function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push([name, item]);\n });\n return makeIterator(items);\n };\n }\n\n if (iterable) {\n USPProto[self.Symbol.iterator] = USPProto[self.Symbol.iterator] || USPProto.entries;\n }\n\n if (!('size' in USPProto)) {\n Object.defineProperty(USPProto, 'size', {\n get: function () {\n var dict = parseToDict(this.toString())\n if (USPProto === this) {\n throw new TypeError('Illegal invocation at URLSearchParams.invokeGetter')\n }\n return Object.keys(dict).reduce(function (prev, cur) {\n return prev + dict[cur].length;\n }, 0);\n }\n });\n }\n\n function encode(str) {\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function(match) {\n return replace[match];\n });\n }\n\n function decode(str) {\n return str\n .replace(/[ +]/g, '%20')\n .replace(/(%[a-f0-9]{2})+/ig, function(match) {\n return decodeURIComponent(match);\n });\n }\n\n function makeIterator(arr) {\n var iterator = {\n next: function() {\n var value = arr.shift();\n return {done: value === undefined, value: value};\n }\n };\n\n if (iterable) {\n iterator[self.Symbol.iterator] = function() {\n return iterator;\n };\n }\n\n return iterator;\n }\n\n function parseToDict(search) {\n var dict = {};\n\n if (typeof search === \"object\") {\n // if `search` is an array, treat it as a sequence\n if (isArray(search)) {\n for (var i = 0; i < search.length; i++) {\n var item = search[i];\n if (isArray(item) && item.length === 2) {\n appendTo(dict, item[0], item[1]);\n } else {\n throw new TypeError(\"Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements\");\n }\n }\n\n } else {\n for (var key in search) {\n if (search.hasOwnProperty(key)) {\n appendTo(dict, key, search[key]);\n }\n }\n }\n\n } else {\n // remove first '?'\n if (search.indexOf(\"?\") === 0) {\n search = search.slice(1);\n }\n\n var pairs = search.split(\"&\");\n for (var j = 0; j < pairs.length; j++) {\n var value = pairs [j],\n index = value.indexOf('=');\n\n if (-1 < index) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));\n\n } else {\n if (value) {\n appendTo(dict, decode(value), '');\n }\n }\n }\n }\n\n return dict;\n }\n\n function appendTo(dict, name, value) {\n var val = typeof value === 'string' ? value : (\n value !== null && value !== undefined && typeof value.toString === 'function' ? value.toString() : JSON.stringify(value)\n );\n\n // #47 Prevent using `hasOwnProperty` as a property name\n if (hasOwnProperty(dict, name)) {\n dict[name].push(val);\n } else {\n dict[name] = [val];\n }\n }\n\n function isArray(val) {\n return !!val && '[object Array]' === Object.prototype.toString.call(val);\n }\n\n function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n})(typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : this));\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry__inherited .avatar-shared[data-v-a6cc72e6]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingInherited.vue\"],\"names\":[],\"mappings\":\"AAEC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA\",\"sourcesContent\":[\"\\n.sharing-entry__inherited {\\n\\t.avatar-shared {\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tline-height: 32px;\\n\\t\\tfont-size: 18px;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t\\tborder-radius: 50%;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-fe8ed59e]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-fe8ed59e]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;padding-inline-start:10px;line-height:1.2em}.sharing-entry__desc p[data-v-fe8ed59e]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-fe8ed59e]{margin-inline-start:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,wBAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\t&__desc {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-inline-start: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.share-expiry-time[data-v-46cd2ca2]{display:inline-flex;align-items:center;justify-content:center}.share-expiry-time .hint-icon[data-v-46cd2ca2]{padding:0;margin:0;width:24px;height:24px}.hint-heading[data-v-46cd2ca2]{text-align:center;font-size:1rem;margin-top:8px;padding-bottom:8px;margin-bottom:0;border-bottom:1px solid var(--color-border)}.hint-body[data-v-46cd2ca2]{padding:var(--border-radius-element);max-width:300px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/ShareExpiryTime.vue\"],\"names\":[],\"mappings\":\"AACA,oCACI,mBAAA,CACA,kBAAA,CACA,sBAAA,CAEA,+CACI,SAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA,CAIR,+BACI,iBAAA,CACA,cAAA,CACA,cAAA,CACA,kBAAA,CACA,eAAA,CACA,2CAAA,CAGJ,4BACI,oCAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.share-expiry-time {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n\\n .hint-icon {\\n padding: 0;\\n margin: 0;\\n width: 24px;\\n height: 24px;\\n }\\n}\\n\\n.hint-heading {\\n text-align: center;\\n font-size: 1rem;\\n margin-top: 8px;\\n padding-bottom: 8px;\\n margin-bottom: 0;\\n border-bottom: 1px solid var(--color-border);\\n}\\n\\n.hint-body {\\n padding: var(--border-radius-element);\\n max-width: 300px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-2dbd45b5]{display:flex;align-items:center;height:44px}.sharing-entry__summary[data-v-2dbd45b5]{padding:8px;padding-inline-start:10px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0;min-width:0}.sharing-entry__summary__desc[data-v-2dbd45b5]{display:inline-block;padding-bottom:0;line-height:1.2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharing-entry__summary__desc p[data-v-2dbd45b5],.sharing-entry__summary__desc small[data-v-2dbd45b5]{color:var(--color-text-maxcontrast)}.sharing-entry__summary__desc-unique[data-v-2dbd45b5]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntry.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CAEA,+CACC,oBAAA,CACA,gBAAA,CACA,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,sGAEC,mCAAA,CAGD,sDACC,mCAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\t&__summary {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: flex-start;\\n\\t\\tflex: 1 0;\\n\\t\\tmin-width: 0;\\n\\n\\t\\t&__desc {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\tpadding-bottom: 0;\\n\\t\\t\\tline-height: 1.2em;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\n\\t\\t\\tp,\\n\\t\\t\\tsmall {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-unique {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharingTabDetailsView[data-v-75daac68]{display:flex;flex-direction:column;width:100%;margin:0 auto;position:relative;height:100%;overflow:hidden}.sharingTabDetailsView__header[data-v-75daac68]{display:flex;align-items:center;box-sizing:border-box;margin:.2em}.sharingTabDetailsView__header span[data-v-75daac68]{display:flex;align-items:center}.sharingTabDetailsView__header span h1[data-v-75daac68]{font-size:15px;padding-inline-start:.3em}.sharingTabDetailsView__wrapper[data-v-75daac68]{position:relative;overflow:scroll;flex-shrink:1;padding:4px;padding-inline-end:12px}.sharingTabDetailsView__quick-permissions[data-v-75daac68]{display:flex;justify-content:center;width:100%;margin:0 auto;border-radius:0}.sharingTabDetailsView__quick-permissions div[data-v-75daac68]{width:100%}.sharingTabDetailsView__quick-permissions div span[data-v-75daac68]{width:100%}.sharingTabDetailsView__quick-permissions div span span[data-v-75daac68]:nth-child(1){align-items:center;justify-content:center;padding:.1em}.sharingTabDetailsView__quick-permissions div span[data-v-75daac68] label span{display:flex;flex-direction:column}.sharingTabDetailsView__quick-permissions div span[data-v-75daac68] span.checkbox-content__text.checkbox-radio-switch__text{flex-wrap:wrap}.sharingTabDetailsView__quick-permissions div span[data-v-75daac68] span.checkbox-content__text.checkbox-radio-switch__text .subline{display:block;flex-basis:100%}.sharingTabDetailsView__advanced-control[data-v-75daac68]{width:100%}.sharingTabDetailsView__advanced-control button[data-v-75daac68]{margin-top:.5em}.sharingTabDetailsView__advanced[data-v-75daac68]{width:100%;margin-bottom:.5em;text-align:start;padding-inline-start:0}.sharingTabDetailsView__advanced section textarea[data-v-75daac68],.sharingTabDetailsView__advanced section div.mx-datepicker[data-v-75daac68]{width:100%}.sharingTabDetailsView__advanced section textarea[data-v-75daac68]{height:80px;margin:0}.sharingTabDetailsView__advanced section span[data-v-75daac68] label{padding-inline-start:0 !important;background-color:initial !important;border:none !important}.sharingTabDetailsView__advanced section section.custom-permissions-group[data-v-75daac68]{padding-inline-start:1.5em}.sharingTabDetailsView__label[data-v-75daac68]{padding-block-end:6px}.sharingTabDetailsView__delete>button[data-v-75daac68]:first-child{color:#df0707}.sharingTabDetailsView__footer[data-v-75daac68]{width:100%;display:flex;position:sticky;bottom:0;flex-direction:column;justify-content:space-between;align-items:flex-start;background:linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background))}.sharingTabDetailsView__footer .button-group[data-v-75daac68]{display:flex;justify-content:space-between;width:100%;margin-top:16px}.sharingTabDetailsView__footer .button-group button[data-v-75daac68]{margin-inline-start:16px}.sharingTabDetailsView__footer .button-group button[data-v-75daac68]:first-child{margin-inline-start:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingDetailsTab.vue\"],\"names\":[],\"mappings\":\"AACA,wCACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CAEA,gDACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,WAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,wDACC,cAAA,CACA,yBAAA,CAMH,iDACC,iBAAA,CACA,eAAA,CACA,aAAA,CACA,WAAA,CACA,uBAAA,CAGD,2DACC,YAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CAEA,+DACC,UAAA,CAEA,oEACC,UAAA,CAEA,sFACC,kBAAA,CACA,sBAAA,CACA,YAAA,CAGD,+EACC,YAAA,CACA,qBAAA,CAID,4HACC,cAAA,CAEA,qIACC,aAAA,CACA,eAAA,CAQL,0DACC,UAAA,CAEA,iEACC,eAAA,CAKF,kDACC,UAAA,CACA,kBAAA,CACA,gBAAA,CACA,sBAAA,CAIC,+IAEC,UAAA,CAGD,mEACC,WAAA,CACA,QAAA,CAYD,qEACC,iCAAA,CACA,mCAAA,CACA,sBAAA,CAGD,2FACC,0BAAA,CAKH,+CACC,qBAAA,CAIA,mEACC,aAAA,CAIF,gDACC,UAAA,CACA,YAAA,CACA,eAAA,CACA,QAAA,CACA,qBAAA,CACA,6BAAA,CACA,sBAAA,CACA,2FAAA,CAEA,8DACC,YAAA,CACA,6BAAA,CACA,UAAA,CACA,eAAA,CAEA,qEACC,wBAAA,CAEA,iFACC,qBAAA\",\"sourcesContent\":[\"\\n.sharingTabDetailsView {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\twidth: 100%;\\n\\tmargin: 0 auto;\\n\\tposition: relative;\\n\\theight: 100%;\\n\\toverflow: hidden;\\n\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0.2em;\\n\\n\\t\\tspan {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\th1 {\\n\\t\\t\\t\\tfont-size: 15px;\\n\\t\\t\\t\\tpadding-inline-start: 0.3em;\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tposition: relative;\\n\\t\\toverflow: scroll;\\n\\t\\tflex-shrink: 1;\\n\\t\\tpadding: 4px;\\n\\t\\tpadding-inline-end: 12px;\\n\\t}\\n\\n\\t&__quick-permissions {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t\\tmargin: 0 auto;\\n\\t\\tborder-radius: 0;\\n\\n\\t\\tdiv {\\n\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\tspan {\\n\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\tspan:nth-child(1) {\\n\\t\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\t\\tpadding: 0.1em;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t:deep(label span) {\\n\\t\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\t\\tflex-direction: column;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\\n\\t\\t\\t\\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\\n\\t\\t\\t\\t\\tflex-wrap: wrap;\\n\\n\\t\\t\\t\\t\\t.subline {\\n\\t\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\t\\tflex-basis: 100%;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\t}\\n\\n\\t&__advanced-control {\\n\\t\\twidth: 100%;\\n\\n\\t\\tbutton {\\n\\t\\t\\tmargin-top: 0.5em;\\n\\t\\t}\\n\\n\\t}\\n\\n\\t&__advanced {\\n\\t\\twidth: 100%;\\n\\t\\tmargin-bottom: 0.5em;\\n\\t\\ttext-align: start;\\n\\t\\tpadding-inline-start: 0;\\n\\n\\t\\tsection {\\n\\n\\t\\t\\ttextarea,\\n\\t\\t\\tdiv.mx-datepicker {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\n\\t\\t\\ttextarea {\\n\\t\\t\\t\\theight: 80px;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t/*\\n\\t\\t\\t The following style is applied out of the component's scope\\n\\t\\t\\t to remove padding from the label.checkbox-radio-switch__label,\\n\\t\\t\\t which is used to group radio checkbox items. The use of ::v-deep\\n\\t\\t\\t ensures that the padding is modified without being affected by\\n\\t\\t\\t the component's scoping.\\n\\t\\t\\t Without this achieving left alignment for the checkboxes would not\\n\\t\\t\\t be possible.\\n\\t\\t\\t*/\\n\\t\\t\\tspan :deep(label) {\\n\\t\\t\\t\\tpadding-inline-start: 0 !important;\\n\\t\\t\\t\\tbackground-color: initial !important;\\n\\t\\t\\t\\tborder: none !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\tsection.custom-permissions-group {\\n\\t\\t\\t\\tpadding-inline-start: 1.5em;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tpadding-block-end: 6px;\\n\\t}\\n\\n\\t&__delete {\\n\\t\\t> button:first-child {\\n\\t\\t\\tcolor: rgb(223, 7, 7);\\n\\t\\t}\\n\\t}\\n\\n\\t&__footer {\\n\\t\\twidth: 100%;\\n\\t\\tdisplay: flex;\\n\\t\\tposition: sticky;\\n\\t\\tbottom: 0;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\talign-items: flex-start;\\n\\t\\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\\n\\n\\t\\t.button-group {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmargin-top: 16px;\\n\\n\\t\\t\\tbutton {\\n\\t\\t\\t\\tmargin-inline-start: 16px;\\n\\n\\t\\t\\t\\t&:first-child {\\n\\t\\t\\t\\t\\tmargin-inline-start: 0;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.share-select[data-v-2aa230f1]{display:block}.share-select[data-v-2aa230f1] .action-item__menutoggle{color:var(--color-primary-element) !important;font-size:12.5px !important;height:auto !important;min-height:auto !important}.share-select[data-v-2aa230f1] .action-item__menutoggle .button-vue__text{font-weight:normal !important}.share-select[data-v-2aa230f1] .action-item__menutoggle .button-vue__icon{height:24px !important;min-height:24px !important;width:24px !important;min-width:24px !important}.share-select[data-v-2aa230f1] .action-item__menutoggle .button-vue__wrapper{flex-direction:row-reverse !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue\"],\"names\":[],\"mappings\":\"AACA,+BACC,aAAA,CAIA,wDACC,6CAAA,CACA,2BAAA,CACA,sBAAA,CACA,0BAAA,CAEA,0EACC,6BAAA,CAGD,0EACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAGD,6EAEC,qCAAA\",\"sourcesContent\":[\"\\n.share-select {\\n\\tdisplay: block;\\n\\n\\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\\n\\t// Overrider NcActionms button to make it small\\n\\t:deep(.action-item__menutoggle) {\\n\\t\\tcolor: var(--color-primary-element) !important;\\n\\t\\tfont-size: 12.5px !important;\\n\\t\\theight: auto !important;\\n\\t\\tmin-height: auto !important;\\n\\n\\t\\t.button-vue__text {\\n\\t\\t\\tfont-weight: normal !important;\\n\\t\\t}\\n\\n\\t\\t.button-vue__icon {\\n\\t\\t\\theight: 24px !important;\\n\\t\\t\\tmin-height: 24px !important;\\n\\t\\t\\twidth: 24px !important;\\n\\t\\t\\tmin-width: 24px !important;\\n\\t\\t}\\n\\n\\t\\t.button-vue__wrapper {\\n\\t\\t\\t// Emulate NcButton's alignment=center-reverse\\n\\t\\t\\tflex-direction: row-reverse !important;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.emptyContentWithSections[data-v-592538f1]{margin:1rem auto}.sharingTab[data-v-592538f1]{position:relative;height:100%}.sharingTab__content[data-v-592538f1]{padding:0 6px}.sharingTab__content section[data-v-592538f1]{padding-bottom:16px}.sharingTab__content section .section-header[data-v-592538f1]{margin-top:2px;margin-bottom:2px;display:flex;align-items:center;padding-bottom:4px}.sharingTab__content section .section-header h4[data-v-592538f1]{margin:0;font-size:16px}.sharingTab__content section .section-header .visually-hidden[data-v-592538f1]{display:none}.sharingTab__content section .section-header .hint-icon[data-v-592538f1]{color:var(--color-primary-element)}.sharingTab__content>section[data-v-592538f1]:not(:last-child){border-bottom:2px solid var(--color-border)}.sharingTab__additionalContent[data-v-592538f1]{margin:44px 0}.hint-body[data-v-592538f1]{max-width:300px;padding:var(--border-radius-element)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingTab.vue\"],\"names\":[],\"mappings\":\"AACA,2CACC,gBAAA,CAGD,6BACC,iBAAA,CACA,WAAA,CAEA,sCACC,aAAA,CAEA,8CACC,mBAAA,CAEA,8DACC,cAAA,CACA,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,iEACC,QAAA,CACA,cAAA,CAGD,+EACC,YAAA,CAGD,yEACC,kCAAA,CAOH,+DACC,2CAAA,CAKF,gDACC,aAAA,CAIF,4BACC,eAAA,CACA,oCAAA\",\"sourcesContent\":[\"\\n.emptyContentWithSections {\\n\\tmargin: 1rem auto;\\n}\\n\\n.sharingTab {\\n\\tposition: relative;\\n\\theight: 100%;\\n\\n\\t&__content {\\n\\t\\tpadding: 0 6px;\\n\\n\\t\\tsection {\\n\\t\\t\\tpadding-bottom: 16px;\\n\\n\\t\\t\\t.section-header {\\n\\t\\t\\t\\tmargin-top: 2px;\\n\\t\\t\\t\\tmargin-bottom: 2px;\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tpadding-bottom: 4px;\\n\\n\\t\\t\\t\\th4 {\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\tfont-size: 16px;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.visually-hidden {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.hint-icon {\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\\t& > section:not(:last-child) {\\n\\t\\t\\tborder-bottom: 2px solid var(--color-border);\\n\\t\\t}\\n\\n\\t}\\n\\n\\t&__additionalContent {\\n\\t\\tmargin: 44px 0;\\n\\t}\\n}\\n\\n.hint-body {\\n\\tmax-width: 300px;\\n\\tpadding: var(--border-radius-element);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-48fba0bf]{display:flex;align-items:center;min-height:44px}.sharing-entry__summary[data-v-48fba0bf]{padding:8px;padding-inline-start:10px;display:flex;justify-content:space-between;flex:1 0;min-width:0}.sharing-entry__desc[data-v-48fba0bf]{display:flex;flex-direction:column;line-height:1.2em}.sharing-entry__desc p[data-v-48fba0bf]{color:var(--color-text-maxcontrast)}.sharing-entry__desc__title[data-v-48fba0bf]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry__actions[data-v-48fba0bf]{display:flex;align-items:center;margin-inline-start:auto}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-48fba0bf]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-48fba0bf] .avatar-link-share{background-color:var(--color-primary-element)}.sharing-entry .sharing-entry__action--public-upload[data-v-48fba0bf]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-48fba0bf]{width:44px;height:44px;margin:0;padding:14px;margin-inline-start:auto}.sharing-entry .action-item~.action-item[data-v-48fba0bf],.sharing-entry .action-item~.sharing-entry__loading[data-v-48fba0bf]{margin-inline-start:0}.sharing-entry .icon-checkmark-color[data-v-48fba0bf]{opacity:1;color:var(--color-success)}.qr-code-dialog[data-v-48fba0bf]{display:flex;width:100%;justify-content:center}.qr-code-dialog__img[data-v-48fba0bf]{width:100%;height:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryLink.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAEA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,6BAAA,CACA,QAAA,CACA,WAAA,CAGA,sCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,wCACC,mCAAA,CAGD,6CACC,sBAAA,CACA,eAAA,CACA,kBAAA,CAIF,yCACC,YAAA,CACA,kBAAA,CACA,wBAAA,CAID,mGACC,wCAAA,CAIF,mDACC,6CAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,wBAAA,CAOA,+HAEC,qBAAA,CAIF,sDACC,SAAA,CACA,0BAAA,CAKF,iCACC,YAAA,CACA,UAAA,CACA,sBAAA,CAEA,sCACC,UAAA,CACA,WAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\n\\t&__summary {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: space-between;\\n\\t\\tflex: 1 0;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t\\t&__desc {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\tline-height: 1.2em;\\n\\n\\t\\t\\tp {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&__title {\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&__actions {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmargin-inline-start: auto;\\n\\t\\t}\\n\\n\\t&:not(.sharing-entry--share) &__actions {\\n\\t\\t.new-share-link {\\n\\t\\t\\tborder-top: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t:deep(.avatar-link-share) {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t.sharing-entry__action--public-upload {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t&__loading {\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 14px;\\n\\t\\tmargin-inline-start: auto;\\n\\t}\\n\\n\\t// put menus to the left\\n\\t// but only the first one\\n\\t.action-item {\\n\\n\\t\\t~.action-item,\\n\\t\\t~.sharing-entry__loading {\\n\\t\\t\\tmargin-inline-start: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t.icon-checkmark-color {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-success);\\n\\t}\\n}\\n\\n// styling for the qr-code container\\n.qr-code-dialog {\\n\\tdisplay: flex;\\n\\twidth: 100%;\\n\\tjustify-content: center;\\n\\n\\t&__img {\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.fade-enter-active[data-v-42733c12], .fade-leave-active[data-v-42733c12] {\n transition: opacity 0.3s ease;\n}\n.fade-enter[data-v-42733c12], .fade-leave-to[data-v-42733c12] {\n opacity: 0;\n}\n.linked-icons[data-v-42733c12] {\n display: flex;\n}\n.linked-icons img[data-v-42733c12] {\n padding: 12px;\n height: 44px;\n display: block;\n background-repeat: no-repeat;\n background-position: center;\n opacity: 0.7;\n}\n.linked-icons img[data-v-42733c12]:hover {\n opacity: 1;\n}\n.popovermenu[data-v-42733c12] {\n display: none;\n}\n.popovermenu.open[data-v-42733c12] {\n display: block;\n}\nli.collection-list-item[data-v-42733c12] {\n flex-wrap: wrap;\n height: auto;\n cursor: pointer;\n margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-42733c12] {\n margin-top: 6px;\n}\nli.collection-list-item form[data-v-42733c12], li.collection-list-item .collection-item-name[data-v-42733c12] {\n flex-basis: 10%;\n flex-grow: 1;\n display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-42733c12] {\n padding: 12px 9px;\n}\nli.collection-list-item input[data-v-42733c12] {\n margin-top: 4px;\n border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-42733c12] {\n flex-grow: 1;\n}\nli.collection-list-item .error[data-v-42733c12] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details[data-v-42733c12] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-42733c12] {\n display: flex;\n margin-left: 44px;\n border-radius: 3px;\n cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-42733c12]:hover {\n background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-42733c12] {\n flex-grow: 1;\n padding: 3px;\n max-width: calc(100% - 30px);\n display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-42733c12] {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-42733c12] {\n text-overflow: ellipsis;\n overflow: hidden;\n position: relative;\n vertical-align: top;\n white-space: nowrap;\n flex-grow: 1;\n padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-42733c12] {\n width: 24px;\n height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12] {\n opacity: 0.7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:focus {\n opacity: 1;\n}\n.shouldshake[data-v-42733c12] {\n animation: shake-42733c12 0.6s 1 linear;\n}\n@keyframes shake-42733c12 {\n0% {\n transform: translate(15px);\n}\n20% {\n transform: translate(-15px);\n}\n40% {\n transform: translate(7px);\n}\n60% {\n transform: translate(-7px);\n}\n80% {\n transform: translate(3px);\n}\n100% {\n transform: translate(0px);\n}\n}.collection-list *[data-v-8ebb2593] {\n box-sizing: border-box;\n}\n.collection-list > li[data-v-8ebb2593] {\n display: flex;\n align-items: start;\n gap: 12px;\n}\n.collection-list > li > .avatar[data-v-8ebb2593] {\n margin-top: auto;\n}\n#collection-select-container[data-v-8ebb2593] {\n display: flex;\n flex-direction: column;\n}\n.v-select span.avatar[data-v-8ebb2593] {\n display: block;\n padding: 16px;\n opacity: 0.7;\n background-repeat: no-repeat;\n background-position: center;\n}\n.v-select span.avatar[data-v-8ebb2593]:hover {\n opacity: 1;\n}\np.hint[data-v-8ebb2593] {\n z-index: 1;\n margin-top: -16px;\n padding: 8px 8px;\n color: var(--color-text-maxcontrast);\n line-height: normal;\n}\ndiv.avatar[data-v-8ebb2593] {\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 8px;\n background-color: var(--color-background-dark);\n margin-top: 30px;\n}\n\n/** TODO provide white icon in core */\n.icon-projects[data-v-8ebb2593] {\n display: block;\n padding: 8px;\n background-repeat: no-repeat;\n background-position: center;\n}\n.option__wrapper[data-v-8ebb2593] {\n display: flex;\n}\n.option__wrapper .avatar[data-v-8ebb2593] {\n display: block;\n background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-8ebb2593] {\n padding: 4px;\n}\n.fade-enter-active[data-v-8ebb2593], .fade-leave-active[data-v-8ebb2593] {\n transition: opacity 0.5s;\n}\n.fade-enter[data-v-8ebb2593], .fade-leave-to[data-v-8ebb2593] {\n opacity: 0;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/nextcloud-vue-collections/dist/assets/index-CJAYjuyf.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,6BAA6B;AAC/B;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,YAAY;EACZ,cAAc;EACd,4BAA4B;EAC5B,2BAA2B;EAC3B,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;EACf,YAAY;EACZ,eAAe;EACf,2BAA2B;AAC7B;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;EACf,YAAY;EACZ,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,6CAA6C;AAC/C;AACA;EACE,YAAY;AACd;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,aAAa;EACb,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,YAAY;EACZ,YAAY;EACZ,4BAA4B;EAC5B,aAAa;AACf;AACA;EACE,qBAAqB;EACrB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,YAAY;AACd;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,uCAAuC;AACzC;AACA;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA,CAAC;EACC,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,SAAS;AACX;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,aAAa;EACb,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,oCAAoC;EACpC,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,SAAS;EACT,YAAY;EACZ,8CAA8C;EAC9C,gBAAgB;AAClB;;AAEA,qCAAqC;AACrC;EACE,cAAc;EACd,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,2DAA2D;AAC7D;AACA;EACE,YAAY;AACd;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,UAAU;AACZ\",\"sourcesContent\":[\".fade-enter-active[data-v-42733c12], .fade-leave-active[data-v-42733c12] {\\n transition: opacity 0.3s ease;\\n}\\n.fade-enter[data-v-42733c12], .fade-leave-to[data-v-42733c12] {\\n opacity: 0;\\n}\\n.linked-icons[data-v-42733c12] {\\n display: flex;\\n}\\n.linked-icons img[data-v-42733c12] {\\n padding: 12px;\\n height: 44px;\\n display: block;\\n background-repeat: no-repeat;\\n background-position: center;\\n opacity: 0.7;\\n}\\n.linked-icons img[data-v-42733c12]:hover {\\n opacity: 1;\\n}\\n.popovermenu[data-v-42733c12] {\\n display: none;\\n}\\n.popovermenu.open[data-v-42733c12] {\\n display: block;\\n}\\nli.collection-list-item[data-v-42733c12] {\\n flex-wrap: wrap;\\n height: auto;\\n cursor: pointer;\\n margin-bottom: 0 !important;\\n}\\nli.collection-list-item .collection-avatar[data-v-42733c12] {\\n margin-top: 6px;\\n}\\nli.collection-list-item form[data-v-42733c12], li.collection-list-item .collection-item-name[data-v-42733c12] {\\n flex-basis: 10%;\\n flex-grow: 1;\\n display: flex;\\n}\\nli.collection-list-item .collection-item-name[data-v-42733c12] {\\n padding: 12px 9px;\\n}\\nli.collection-list-item input[data-v-42733c12] {\\n margin-top: 4px;\\n border-color: var(--color-border-maxcontrast);\\n}\\nli.collection-list-item input[type=text][data-v-42733c12] {\\n flex-grow: 1;\\n}\\nli.collection-list-item .error[data-v-42733c12] {\\n flex-basis: 100%;\\n width: 100%;\\n}\\nli.collection-list-item .resource-list-details[data-v-42733c12] {\\n flex-basis: 100%;\\n width: 100%;\\n}\\nli.collection-list-item .resource-list-details li[data-v-42733c12] {\\n display: flex;\\n margin-left: 44px;\\n border-radius: 3px;\\n cursor: pointer;\\n}\\nli.collection-list-item .resource-list-details li[data-v-42733c12]:hover {\\n background-color: var(--color-background-dark);\\n}\\nli.collection-list-item .resource-list-details li a[data-v-42733c12] {\\n flex-grow: 1;\\n padding: 3px;\\n max-width: calc(100% - 30px);\\n display: flex;\\n}\\nli.collection-list-item .resource-list-details span[data-v-42733c12] {\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 10px;\\n}\\nli.collection-list-item .resource-list-details span.resource-name[data-v-42733c12] {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n position: relative;\\n vertical-align: top;\\n white-space: nowrap;\\n flex-grow: 1;\\n padding: 4px;\\n}\\nli.collection-list-item .resource-list-details img[data-v-42733c12] {\\n width: 24px;\\n height: 24px;\\n}\\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12] {\\n opacity: 0.7;\\n}\\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:focus {\\n opacity: 1;\\n}\\n.shouldshake[data-v-42733c12] {\\n animation: shake-42733c12 0.6s 1 linear;\\n}\\n@keyframes shake-42733c12 {\\n0% {\\n transform: translate(15px);\\n}\\n20% {\\n transform: translate(-15px);\\n}\\n40% {\\n transform: translate(7px);\\n}\\n60% {\\n transform: translate(-7px);\\n}\\n80% {\\n transform: translate(3px);\\n}\\n100% {\\n transform: translate(0px);\\n}\\n}.collection-list *[data-v-8ebb2593] {\\n box-sizing: border-box;\\n}\\n.collection-list > li[data-v-8ebb2593] {\\n display: flex;\\n align-items: start;\\n gap: 12px;\\n}\\n.collection-list > li > .avatar[data-v-8ebb2593] {\\n margin-top: auto;\\n}\\n#collection-select-container[data-v-8ebb2593] {\\n display: flex;\\n flex-direction: column;\\n}\\n.v-select span.avatar[data-v-8ebb2593] {\\n display: block;\\n padding: 16px;\\n opacity: 0.7;\\n background-repeat: no-repeat;\\n background-position: center;\\n}\\n.v-select span.avatar[data-v-8ebb2593]:hover {\\n opacity: 1;\\n}\\np.hint[data-v-8ebb2593] {\\n z-index: 1;\\n margin-top: -16px;\\n padding: 8px 8px;\\n color: var(--color-text-maxcontrast);\\n line-height: normal;\\n}\\ndiv.avatar[data-v-8ebb2593] {\\n width: 32px;\\n height: 32px;\\n margin: 0;\\n padding: 8px;\\n background-color: var(--color-background-dark);\\n margin-top: 30px;\\n}\\n\\n/** TODO provide white icon in core */\\n.icon-projects[data-v-8ebb2593] {\\n display: block;\\n padding: 8px;\\n background-repeat: no-repeat;\\n background-position: center;\\n}\\n.option__wrapper[data-v-8ebb2593] {\\n display: flex;\\n}\\n.option__wrapper .avatar[data-v-8ebb2593] {\\n display: block;\\n background-color: var(--color-background-darker) !important;\\n}\\n.option__wrapper .option__title[data-v-8ebb2593] {\\n padding: 4px;\\n}\\n.fade-enter-active[data-v-8ebb2593], .fade-leave-active[data-v-8ebb2593] {\\n transition: opacity 0.5s;\\n}\\n.fade-enter[data-v-8ebb2593], .fade-leave-to[data-v-8ebb2593] {\\n opacity: 0;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","commonjsRequire","Error","qrcode","fn","createCommonjsModule","f","r","e","n","t","o","i","u","a","code","p","call","length","require","Promise","prototype","then","getSymbolSize","getRowColCoords","version","posCount","Math","floor","size","intervals","ceil","positions","reverse","getPositions","coords","pos","posLength","j","Mode","ALPHA_NUM_CHARS","AlphanumericData","data","this","mode","ALPHANUMERIC","getBitsLength","getLength","write","bitBuffer","value","indexOf","put","BitBuffer","buffer","get","index","bufIndex","num","putBit","getLengthInBits","bit","BufferUtil","BitMatrix","alloc","reservedBit","set","row","col","reserved","xor","isReserved","ByteData","BYTE","from","l","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","getBlocksCount","errorCorrectionLevel","L","M","Q","H","getTotalCodewordsCount","isValid","level","defaultValue","string","toLowerCase","fromString","Utils","G15_BCH","getBCHDigit","getEncodedBits","mask","d","EXP_TABLE","LOG_TABLE","x","log","exp","mul","y","KanjiData","KANJI","toSJIS","Patterns","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PenaltyScores","getMaskAt","maskPattern","isNaN","parseInt","undefined","getPenaltyN1","points","sameCountCol","sameCountRow","lastCol","lastRow","getPenaltyN2","last","getPenaltyN3","bitsCol","bitsRow","getPenaltyN4","darkCount","modulesCount","abs","applyMask","pattern","getBestMask","setupFormatFunc","numPatterns","Object","keys","bestPattern","lowerPenalty","Infinity","penalty","VersionCheck","Regex","NUMERIC","ccBits","MIXED","getCharCountIndicator","getBestModeForData","dataStr","testNumeric","testAlphanumeric","testKanji","toString","NumericData","group","substr","remainingNum","GF","p1","p2","coeff","mod","divident","divisor","result","offset","slice","generateECPolynomial","degree","poly","AlignmentPattern","FinderPattern","MaskPattern","ECCode","ReedSolomonEncoder","Version","FormatInfo","Segments","isArray","setupFormatInfo","matrix","bits","createData","segments","forEach","dataTotalCodewordsBits","getSymbolTotalCodewords","remainingByte","totalCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","Array","ecData","maxDataSize","b","dataSize","encode","max","createCodewords","createSymbol","fromArray","estimatedVersion","rawSegments","rawSplit","getBestVersionForData","bestVersion","dataBits","moduleCount","modules","c","setupFinderPattern","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","inc","bitIndex","byteIndex","dark","setupData","bind","create","options","toSJISFunc","setToSJISFunction","Polynomial","Buffer","genPoly","initialize","pad","paddedData","concat","remainder","start","buff","copy","numeric","kanji","byte","replace","RegExp","BYTE_KANJI","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","str","test","dijkstra","getStringByteLength","unescape","encodeURIComponent","getSegments","regex","exec","getSegmentsFromString","byteSegs","kanjiSegs","numSegs","alphaNumSegs","isKanjiModeEnabled","sort","s1","s2","map","obj","getSegmentBitsLength","buildSingleSegment","modesHint","bestMode","array","reduce","acc","seg","graph","nodes","table","prevNodeIds","nodeGroup","currentNodeIds","node","key","lastCount","prevNodeId","buildGraph","segs","buildNodes","path","find_path","optimizedSegs","curr","prevSeg","toSJISFunction","CODEWORDS_COUNT","digit","G18_BCH","getReservedBitsCount","getTotalBitsFromDataArray","totalBits","reservedBits","getCapacity","usableBits","ecl","currentVersion","getBestVersionForMixedData","getBestVersionForDataLength","canPromise","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","canvas","text","opts","cb","args","arguments","argsNum","isLastArgCb","getContext","resolve","reject","toCanvas","render","toDataURL","renderToDataURL","_","qrData","canvasEl","document","createElement","getCanvasElement","getOptions","getImageWidth","ctx","image","createImageData","qrToImageData","clearRect","width","height","style","clearCanvas","putImageData","type","rendererOpts","quality","getColorAttrib","color","attrib","alpha","hex","toFixed","svgCmd","cmd","qrcodesize","margin","bg","light","moveBy","newRow","lineLength","qrToPath","viewBox","svgTag","hex2rgba","hexCode","split","apply","hexValue","join","g","scale","getScale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","TYPED_ARRAY_SUPPORT","arr","Uint8Array","__proto__","foo","typedArraySupport","K_MAX_LENGTH","arg","allocUnsafe","that","TypeError","ArrayBuffer","byteOffset","byteLength","RangeError","buf","fromArrayLike","fromArrayBuffer","createBuffer","actual","isBuffer","len","checked","val","fromObject","utf8ToBytes","units","codePoint","leadSurrogate","bytes","charCodeAt","isView","Symbol","species","defineProperty","configurable","enumerable","writable","isFinite","remaining","src","dst","blitBuffer","utf8Write","end","newBuf","subarray","sliceLen","target","targetStart","fill","list","_isBuffer","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","parts","maxChunkLength","len2","encodeChunk","lookup","output","base64","ieee754","customInspectSymbol","for","SlowBuffer","INSPECT_MAX_BYTES","setPrototypeOf","encodingOrOffset","encoding","isEncoding","isInstance","valueOf","numberIsNaN","toPrimitive","assertSize","mustMatch","loweredCase","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","m","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","hexWrite","Number","strLen","parsed","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","hi","lo","utf16leToBytes","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","kMaxLength","proto","console","error","poolSize","allocUnsafeSlow","compare","swap16","swap32","swap64","toLocaleString","equals","inspect","trim","thisStart","thisEnd","thisCopy","targetCopy","includes","toJSON","_arr","ret","out","hexSliceLookupTable","checkOffset","ext","checkInt","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","copyWithin","INVALID_BASE64_RE","base64clean","constructor","name","alphabet","i16","single_source_shortest_paths","s","predecessors","costs","closest","v","cost_of_s_to_u","adjacent_nodes","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","open","PriorityQueue","make","empty","pop","cost","hasOwnProperty","msg","extract_shortest_path_from_predecessor_list","T","queue","sorter","default_sorter","item","shift","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","LN2","props","tag","default","$slots","watch","$props","deep","immediate","handler","$el","generate","methods","_this","url","innerHTML","mounted","factory","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","global","freeSelf","self","Function","Date","now","reWhitespace","reTrimStart","charAt","objectProto","nativeObjectToString","symToStringTag","toStringTag","isOwn","unmasked","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","other","isBinary","nativeMax","nativeMin","service","http","listCollection","collectionId","renameCollection","collectionName","ocs","getCollectionsByResource","resourceType","resourceId","createCollection","post","response","addResource","removeResource","delete","params","search","query","state","collections","mutations","addCollections","addCollection","collection","removeCollection","filter","updateCollection","findIndex","_item","actions","fetchCollectionsByResource","baseResourceType","baseResourceId","addResourceToCollection","resources","normalizeComponent","scriptExports","render3","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","CollectionListItem","components","NcAvatar","NcActions","NcActionButton","detailsOpen","newName","computed","getIcon","resource","iconClass","typeClass","limitedResources","iconUrl","mimetype","OC","MimeType","getIconUrl","toggleDetails","showDetails","hideDetails","openRename","catch","$set","setTimeout","_vm","_c","_self","staticClass","attrs","on","_v","_s","class","rename","$event","preventDefault","directives","rawName","expression","domProps","composing","_e","_l","link","_debouncedSearch","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","thisArg","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","clearTimeout","cancel","flush","loading","searchCollections","finally","_sfc_main","NcSelect","isActive","Boolean","setup","selectIsOpen","generatingCodes","codes","model","isSelectOpen","find","placeholder","window","OCP","Collaboration","getTypes","method","title","getLabel","action","trigger","select","selectedOption","id2","setError","showSelect","$refs","focus","hideSelect","isVueComponent","object","_isVue","CollectionList","_m","ref","scopedSlots","_u","option","callback","$$v","Config","_defineProperty","_capabilities","getCapabilities","defaultPermissions","files_sharing","default_permissions","isPublicUploadEnabled","public","upload","federatedShareDocLink","appConfig","core","federatedCloudShareDoc","defaultExpirationDate","isDefaultExpireDateEnabled","defaultExpireDate","setDate","getDate","defaultInternalExpirationDate","isDefaultInternalExpireDateEnabled","defaultInternalExpireDate","defaultRemoteExpirationDateString","isDefaultRemoteExpireDateEnabled","defaultRemoteExpireDate","enforcePasswordForPublicLink","enableLinkPasswordByDefault","isDefaultExpireDateEnforced","defaultExpireDateEnforced","defaultExpireDateEnabled","isDefaultInternalExpireDateEnforced","defaultInternalExpireDateEnforced","defaultInternalExpireDateEnabled","isDefaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnabled","isRemoteShareAllowed","remoteShareAllowed","isPublicShareAllowed","enabled","isMailShareAllowed","sharebymail","isResharingAllowed","resharingAllowed","isPasswordForMailSharesRequired","password","enforced","shouldAlwaysShowUnique","sharee","always_show_unique","allowGroupSharing","maxAutocompleteResults","config","minSearchStringLength","passwordPolicy","password_policy","allowCustomTokens","custom_tokens","showFederatedSharesAsInternal","loadState","getLoggerBuilder","setApp","detectUser","build","Share","ocsData","hide_download","mail_send","attributes","JSON","parse","warn","_share","share_type","permissions","owner","uid_owner","ownerDisplayName","displayname_owner","shareWith","share_with","shareWithDisplayName","share_with_displayname","shareWithDisplayNameUnique","share_with_displayname_unique","shareWithLink","share_with_link","shareWithAvatar","share_with_avatar","uidFileOwner","uid_file_owner","displaynameFileOwner","displayname_file_owner","createdTime","stime","expireDate","expiration","date","token","note","label","mailSend","hideDownload","_ref","scope","attribute","_ref2","passwordExpirationTime","password_expiration_time","sendPasswordByTalk","send_password_by_talk","itemType","item_type","fileSource","file_source","fileTarget","file_target","fileParent","file_parent","hasReadPermission","PERMISSION_READ","hasCreatePermission","PERMISSION_CREATE","hasDeletePermission","PERMISSION_DELETE","hasUpdatePermission","PERMISSION_UPDATE","hasSharePermission","PERMISSION_SHARE","hasDownloadPermission","some","isFileRequest","logger","stringify","setAttribute","attrUpdate","attr","splice","canEdit","can_edit","canDelete","can_delete","viaFileid","via_fileid","viaPath","via_path","storageId","storage_id","storage","itemSource","item_source","status","required","subtitle","isUnique","ariaExpanded","ariaExpandedValue","_t","SharingEntrySimple","CheckIcon","ClipboardIcon","fileInfo","copied","copySuccess","internalLink","location","protocol","host","generateUrl","copyLinkTooltip","internalLinkSubtitle","copyLink","navigator","clipboard","writeText","showSuccess","shareEntrySimple","actionsComponent","proxy","shareUrl","generateOcsUrl","createShare","shareType","publicUpload","request","axios","share","emit","errorMessage","meta","message","showError","deleteShare","Notification","showTemporary","updateShare","properties","ATOMIC_PERMISSIONS","NONE","READ","UPDATE","CREATE","DELETE","SHARE","BUNDLED_PERMISSIONS","READ_ONLY","UPLOAD_AND_UPDATE","FILE_DROP","ALL","ALL_FILE","openSharingDetails","shareRequestObject","handlerInput","suggestions","externalShareRequestObject","mapShareRequestToShareObject","originalPermissions","strippedPermissions","debug","shareDetails","$emit","openShareDetailsForCustomSettings","setCustomPermissions","is_no_user","isNoUser","user","displayName","mixins","ShareRequests","ShareDetails","shares","linkShares","reshare","canReshare","isExternal","shareInputId","random","recommendations","ShareSearch","OCA","Sharing","externalResults","results","inputPlaceholder","allowRemoteSharing","isValidQuery","noResultText","getRecommendations","onSelected","asyncFind","debounceGetSuggestions","getSuggestions","query_lookup_default","remoteTypes","ShareType","Remote","RemoteGroup","User","Group","Team","Room","Guest","Deck","ScienceMesh","Email","format","perPage","exact","rawExactSuggestions","values","elem","rawSuggestions","exactSuggestions","filterOutExistingShares","formatForMultiselect","lookupEntry","lookupEnabled","condition","allSuggestions","nameCounts","desc","info","debounce","rawRecommendations","getCurrentUser","uid","sharesObj","shareTypeToIcon","icon","iconTitle","Sciencemesh","subname","server","shareWithDescription","uuid","clear-search-on-blur","async","verbose","api","ratio","passwordSet","crypto","getRandomValues","client","getClient","SharesRequests","errors","saving","updateQueue","PQueue","concurrency","reactiveState","hasNote","dateTomorrow","lang","weekdaysShort","dayNamesShort","monthsShort","monthNamesShort","formatLocale","firstDayOfWeek","firstDay","weekdaysMin","monthFormat","isNewShare","isFolder","isPublicShare","Link","isRemoteShare","isShareOwner","isExpiryDateEnforced","hasCustomPermissions","maxExpirationDateEnforced","isPasswordProtected","GeneratePassword","$delete","getNode","propfindPayload","getDefaultPropfind","stat","getRootPath","details","resultToNode","fetchNode","checkShare","expirationDate","formatDateToString","UTC","getFullYear","getMonth","toISOString","onExpirationChange","parsedDate","onNoteChange","onNoteSubmit","newNote","queueUpdate","onDelete","_len","propertyNames","_key","updatedShare","updateSuccessMessage","onSyncError","names","property","propertyEl","focusable","querySelector","debounceQueueUpdate","NcActionLink","NcActionText","SharesMixin","viaFileTargetUrl","fileid","viaFolderName","basename","initiator","folder","SharingEntryInherited","loaded","showInheritedShares","showInheritedSharesIcon","mainTitle","subTitle","toggleTooltip","fullPath","resetState","toggleInheritedShares","fetchInheritedShares","removeShare","stopPropagation","emits","fillColor","_b","$attrs","DropdownIcon","ariaLabel","canViewText","canEditText","fileDropText","customPermissionsText","preSelectedOption","IconEyeOutline","IconPencil","supportsFileDrop","IconFileUpload","IconTune","dropDownPermissionValue","created","subscribe","unmounted","unsubscribe","selectOption","optionLabel","quickShareActions","menuButton","NcButton","NcPopover","NcDateTime","ClockIcon","expiryTime","getTime","timeFormat","dateStyle","timeStyle","is","_g","handlers","ExternalShareAction","NcActionCheckbox","NcActionInput","NcActionSeparator","NcDialog","VueQrcode","Tune","IconCalendarBlank","IconQr","ErrorIcon","LockIcon","CloseIcon","PlusIcon","SharingEntryQuickShareSelect","ShareExpiryTime","shareCreationComplete","defaultExpirationDateEnabled","pending","ExternalLegacyLinkActions","ExternalLinkActions","ExternalShareActions","showQRCode","l10nOptions","escape","isEmailShareType","expirationTime","moment","diff","fromNow","isTalkEnabled","appswebroots","spreed","isPasswordProtectedByTalkAvailable","isPasswordProtectedByTalk","canTogglePasswordProtectedByTalkAvailable","hasUnsavedPassword","pendingDataIsMissing","pendingPassword","pendingEnforcedPassword","pendingDefaultExpirationDate","pendingEnforcedExpirationDate","isPendingShare","sharePolicyHasEnforcedProperties","enforcedPropertiesMissing","isPasswordMissing","isExpireDateMissing","newPassword","shareLink","baseURL","getBaseUrl","actionsTooltip","externalLegacyLinkActions","externalLinkActions","advanced","isPasswordPolicyEnabled","canChangeHideDownload","shareAttributes","shareAttribute","shareRequiresReview","shareReviewComplete","onNewLinkShare","shareDefaults","component","pushNewLinkShare","update","newShare","match","copyButton","onPasswordChange","onPasswordDisable","onPasswordSubmit","onPasswordProtectedByTalkChange","onMenuClose","onExpirationDateToggleUpdate","expirationDateChanged","event","onCancel","SharingEntryLink","minLength","actionIndex","canLinkShare","hasLinkShares","hasShares","addShare","awaitForShare","$nextTick","$children","DotsHorizontalIcon","tooltip","hasStatus","SharingEntry","NcCheckboxRadioSwitch","NcDateTimePickerNative","NcInputField","NcLoadingIcon","NcPasswordField","NcTextArea","CircleIcon","EditIcon","LinkIcon","GroupIcon","ShareIcon","UserIcon","UploadIcon","ViewIcon","MenuDownIcon","MenuUpIcon","Refresh","shareRequestValue","writeNoteToRecipientIsChecked","sharingPermission","revertSharingPermission","passwordError","advancedSectionAccordionExpanded","bundledPermissions","isFirstComponentLoad","creating","initialToken","loadingToken","userName","email","allPermissions","updateAtomicPermissions","isEditChecked","canCreate","isCreateChecked","isDeleteChecked","isReshareChecked","showInGridView","getShareAttribute","setShareAttribute","canDownload","hasRead","isReadChecked","hasExpirationDate","isValidShareAttribute","defaultExpiryDate","isSetDownloadButtonVisible","isPasswordEnforced","isGroupShare","isUserShare","allowsFileDrop","hasFileDropPermissions","shareButtonText","resharingIsPossible","canSetEdit","sharePermissions","canSetCreate","canSetDelete","canSetReshare","canSetDownload","canRemoveReadPermission","customPermissionsList","translatedPermissions","permission","hasPermissions","initialPermissionSet","permissionsToCheck","toLocaleLowerCase","getLanguage","advancedControlExpandedValue","errorPasswordLabel","passwordHint","isChecked","beforeMount","initializePermissions","initializeAttributes","quickPermissions","fallback","generateNewToken","generateToken","expandCustomPermissions","toggleCustomPermissions","selectedPermission","isCustomPermissions","toDateString","handleShareType","handleDefaultPermissions","handleCustomPermissions","saveShare","permissionsAndAttributes","publicShareAttributes","sharePermissionsSet","incomingShare","prop","allSettled","at","onSave","getShareTypeIcon","EmailIcon","refInFor","InfoIcon","SharingEntryInternal","SharingInherited","SharingInput","SharingLinkList","SharingList","SharingDetailsTab","deleteEvent","expirationInterval","sharedWithMe","externalShares","sections","ShareTabSections","getSections","projectsEnabled","showSharingDetailsView","shareDetailsData","returnFocusElement","internalSharesHelpText","externalSharesHelpText","additionalSharesHelpText","isSharedWithMe","isLinkSharingAllowed","capabilities","internalShareInputPlaceholder","externalShareInputPlaceholder","getShares","fetchShares","reshares","fetchSharedWithMe","shared_with_me","all","processSharedWithMe","processShares","clearInterval","updateExpirationSubtitle","unix","relativetime","orderBy","circle","conversation","shareWithTitle","setInterval","shareOwnerId","shareOwner","unshift","shareList","listComponent","linkShareList","toggleShareDetailsView","eventData","activeElement","classList","className","startsWith","menuId","emptyContentWithSections","section","InvalidFilenameErrorReason","InvalidFilenameErrorReason2","InvalidFilenameError","super","reason","segment","filename","cause","validateFilename","files","forbiddenCharacters","forbidden_filename_characters","_oc_config","forbidden_filenames_characters","character","forbidden_filenames","endOfBasename","basename2","substring","forbidden_filename_basenames","forbiddenFilenameExtensions","forbidden_filename_extensions","extension","endsWith","humanList","humanListBinary","formatFileSize","skipSmallSizes","binaryPrefixes","base1000","order","readableFormat","relativeSize","parseFloat","identifiers2","orders","sorting","collator","Intl","Collator","usage","a2","b2","identifier","entries","sortNodes","sortingOptions","sortingMode","sortingOrder","sortFavoritesFirst","favorite","sortFoldersFirst","displayname","hasRequiredUtil","hasRequiredValidator","validator","util","requireUtil","nameStartChar","nameRegexp","regexName","isExist","isEmptyObject","merge","arrayMode","i2","getValue","isName","getAllMatches","matches","allmatches","startIndex","lastIndex","requireValidator","util2","defaultOptions","allowBooleanAttributes","unpairedTags","isWhiteSpace","char","readPI","xmlData","tagname","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","validate","assign","tags","tagFound","reachedRoot","err","tagStartPos","closingTag","tagName","readAttributeStr","attrStr","attrStrStart","validateAttributeString","line","tagClosed","otg","openPos","afterAmp","validateAmpersand","t2","doubleQuote","singleQuote","startChar","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","re2","validateNumberAmpersand","count","lineNumber","lines","hasRequiredOptionsBuilder","xmlNode","hasRequiredXmlNode","DocTypeReader","hasRequiredDocTypeReader","strnum","hasRequiredStrnum","ignoreAttributes","hasRequiredIgnoreAttributes","OrderedObjParser_1","hasRequiredOrderedObjParser","OptionsBuilder","requireIgnoreAttributes","ignoreAttributes2","hasRequiredNode2json","XMLParser_1","hasRequiredXMLParser","orderedJs2Xml","hasRequiredOrderedJs2Xml","json2xml","hasRequiredJson2xml","fxp","hasRequiredFxp","debug_1","hasRequiredDebug","constants","hasRequiredConstants","node2json","requireNode2json","compress","jPath","compressedObj","tagObj","propName","newJpath","textNodeName","isLeaf","isLeafTag","assignAttributes","alwaysCreateTextNode","attrMap","jpath","atrrName","propCount","prettify","requireXMLParser","buildOptions","preserveOrder","attributeNamePrefix","attributesGroupName","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","leadingZeros","eNotation","tagValueProcessor","attributeValueProcessor","stopNodes","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","requireOptionsBuilder","OrderedObjParser","xmlNode2","child","addChild","readDocType","readEntityExp","entityName","isEntity","isElement","isAttlist","isNotation","validateEntityName","entities","hasBody","comment","regx","requireDocTypeReader","toNumber","hexRegex","numRegex","consider","decimalPoint","trimmedStr","skipLike","sign","numTrimmedByZeros","numStr","requireStrnum","getIgnoreAttributesFn","addExternalEntities","externalEntities","entKeys","ent","lastEntities","parseTextData","dontTrim","hasAttributes","isLeafNode","escapeEntities","replaceEntitiesValue","newval","parseValue","resolveNameSpace","prefix","attrsRegx","buildAttributesMap","ignoreAttributesFn","oldVal","aName","newVal","attrCollection","parseXml","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","saveTextToParentTag","lastTagName","propIndex","tagsNodeStack","tagData","readTagExp","childNode","tagExp","attrExpPresent","endIndex","docTypeEntities","rawTagName","lastTag","isItStopNode","tagContent","result2","readStopNodeData","entity","ampEntity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","errMsg","closingIndex","closingChar","attrBoundary","ch","tagExpWithClosingIndex","separatorIndex","trimStart","openTagCount","shouldParse","requireOrderedObjParser","validator2","validationOption","orderedObjParser","orderedResult","addEntity","requireOrderedJs2Xml","arrToStr","indentation","xmlStr","isPreviousElementTag","newJPath","tagText","isStopNode","attStr2","attr_to_str","tempInd","piTextNodeName","newIdentation","indentBy","tagStart","tagValue","suppressUnpairedNode","suppressEmptyNode","attrVal","suppressBooleanAttributes","textValue","jArray","requireDebug","process","env","NODE_DEBUG","requireConstants","MAX_SAFE_INTEGER","MAX_LENGTH","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","RELEASE_TYPES","SEMVER_SPEC_VERSION","FLAG_INCLUDE_PRERELEASE","FLAG_LOOSE","XMLParser","XMLBuilder","buildFromOrderedJs","oneListGroup","Builder","isAttribute","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","ajPath","j2x","buildTextValNode","buildObjectNode","repeat","jObj","arrayNodeName","buildAttrPairStr","arrLen","listTagVal","listTagAttr","j2","Ks","closeTag","tagEndExp","piClosingChar","requireJson2xml","XMLValidator","requireFxp","hasRequiredRe","parseOptions_1","hasRequiredParseOptions","identifiers","hasRequiredIdentifiers","semver","hasRequiredSemver","parse_1","hasRequiredParse","valid_1","hasRequiredValid","major_1","hasRequiredMajor","re","requireSemver","safeRe","R","LETTERDASHNUMBER","safeRegexReplacements","createToken","isGlobal","safe","makeSafeRegex","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCEPLAIN","COERCE","COERCEFULL","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","parseOptions","looseOption","freeze","loose","emptyOpts","requireParseOptions","compareIdentifiers","anum","bnum","rcompareIdentifiers","requireIdentifiers","SemVer","includePrerelease","m2","LOOSE","FULL","raw","major","minor","patch","prerelease","compareMain","comparePre","compareBuild","release","identifierBase","base","throwErrors","er","requireParse","requireValid","requireMajor","ampersandTest","nativeURLSearchParams","URLSearchParams","isSupportObjectConstructor","decodesPlusesCorrectly","isSupportSize","__URLSearchParams__","encodesAmpersandsCorrectly","append","URLSearchParamsPolyfill","iterable","iterator","appendTo","dict","has","getAll","propValue","useProxy","Proxy","construct","USPProto","polyfill","parseToDict","getOwnPropertyNames","k","items","makeIterator","prev","cur","decode","decodeURIComponent","next","done","pairs"],"sourceRoot":""} \ No newline at end of file
diff --git a/dist/4833-4833.js.map.license b/dist/4833-4833.js.map.license
new file mode 120000
index 00000000000..2e832d49b13
--- /dev/null
+++ b/dist/4833-4833.js.map.license
@@ -0,0 +1 @@
+4833-4833.js.license \ No newline at end of file
diff --git a/dist/8708-8708.js b/dist/8708-8708.js
deleted file mode 100644
index 435a1068f2c..00000000000
--- a/dist/8708-8708.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[5810,8708],{6835:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharing-search{display:flex;flex-direction:column;margin-bottom:4px}.sharing-search label[for=sharing-search-input]{margin-bottom:2px}.sharing-search__input{width:100%;margin:10px 0}.vs__dropdown-menu span[lookup] .avatardiv{background-image:var(--icon-search-white);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.vs__dropdown-menu span[lookup] .avatardiv .avatardiv__initials-wrapper{display:none}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingInput.vue"],names:[],mappings:"AACA,gBACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,gDACC,iBAAA,CAGD,uBACC,UAAA,CACA,aAAA,CAOA,2CACC,yCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,wEACC,YAAA",sourcesContent:['\n.sharing-search {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 4px;\n\n\tlabel[for="sharing-search-input"] {\n\t\tmargin-bottom: 2px;\n\t}\n\n\t&__input {\n\t\twidth: 100%;\n\t\tmargin: 10px 0;\n\t}\n}\n\n.vs__dropdown-menu {\n\t// properly style the lookup entry\n\tspan[lookup] {\n\t\t.avatardiv {\n\t\t\tbackground-image: var(--icon-search-white);\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tbackground-color: var(--color-text-maxcontrast) !important;\n\t\t\t.avatardiv__initials-wrapper {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const o=a},10288:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharingTabDetailsView[data-v-4826394a]{display:flex;flex-direction:column;width:100%;margin:0 auto;position:relative;height:100%;overflow:hidden}.sharingTabDetailsView__header[data-v-4826394a]{display:flex;align-items:center;box-sizing:border-box;margin:.2em}.sharingTabDetailsView__header span[data-v-4826394a]{display:flex;align-items:center}.sharingTabDetailsView__header span h1[data-v-4826394a]{font-size:15px;padding-inline-start:.3em}.sharingTabDetailsView__wrapper[data-v-4826394a]{position:relative;overflow:scroll;flex-shrink:1;padding:4px;padding-inline-end:12px}.sharingTabDetailsView__quick-permissions[data-v-4826394a]{display:flex;justify-content:center;width:100%;margin:0 auto;border-radius:0}.sharingTabDetailsView__quick-permissions div[data-v-4826394a]{width:100%}.sharingTabDetailsView__quick-permissions div span[data-v-4826394a]{width:100%}.sharingTabDetailsView__quick-permissions div span span[data-v-4826394a]:nth-child(1){align-items:center;justify-content:center;padding:.1em}.sharingTabDetailsView__quick-permissions div span[data-v-4826394a] label span{display:flex;flex-direction:column}.sharingTabDetailsView__quick-permissions div span[data-v-4826394a] span.checkbox-content__text.checkbox-radio-switch__text{flex-wrap:wrap}.sharingTabDetailsView__quick-permissions div span[data-v-4826394a] span.checkbox-content__text.checkbox-radio-switch__text .subline{display:block;flex-basis:100%}.sharingTabDetailsView__advanced-control[data-v-4826394a]{width:100%}.sharingTabDetailsView__advanced-control button[data-v-4826394a]{margin-top:.5em}.sharingTabDetailsView__advanced[data-v-4826394a]{width:100%;margin-bottom:.5em;text-align:start;padding-inline-start:0}.sharingTabDetailsView__advanced section textarea[data-v-4826394a],.sharingTabDetailsView__advanced section div.mx-datepicker[data-v-4826394a]{width:100%}.sharingTabDetailsView__advanced section textarea[data-v-4826394a]{height:80px;margin:0}.sharingTabDetailsView__advanced section span[data-v-4826394a] label{padding-inline-start:0 !important;background-color:initial !important;border:none !important}.sharingTabDetailsView__advanced section section.custom-permissions-group[data-v-4826394a]{padding-inline-start:1.5em}.sharingTabDetailsView__label[data-v-4826394a]{padding-block-end:6px}.sharingTabDetailsView__delete>button[data-v-4826394a]:first-child{color:#df0707}.sharingTabDetailsView__footer[data-v-4826394a]{width:100%;display:flex;position:sticky;bottom:0;flex-direction:column;justify-content:space-between;align-items:flex-start;background:linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background))}.sharingTabDetailsView__footer .button-group[data-v-4826394a]{display:flex;justify-content:space-between;width:100%;margin-top:16px}.sharingTabDetailsView__footer .button-group button[data-v-4826394a]{margin-inline-start:16px}.sharingTabDetailsView__footer .button-group button[data-v-4826394a]:first-child{margin-inline-start:0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingDetailsTab.vue"],names:[],mappings:"AACA,wCACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CAEA,gDACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,WAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,wDACC,cAAA,CACA,yBAAA,CAMH,iDACC,iBAAA,CACA,eAAA,CACA,aAAA,CACA,WAAA,CACA,uBAAA,CAGD,2DACC,YAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CAEA,+DACC,UAAA,CAEA,oEACC,UAAA,CAEA,sFACC,kBAAA,CACA,sBAAA,CACA,YAAA,CAGD,+EACC,YAAA,CACA,qBAAA,CAID,4HACC,cAAA,CAEA,qIACC,aAAA,CACA,eAAA,CAQL,0DACC,UAAA,CAEA,iEACC,eAAA,CAKF,kDACC,UAAA,CACA,kBAAA,CACA,gBAAA,CACA,sBAAA,CAIC,+IAEC,UAAA,CAGD,mEACC,WAAA,CACA,QAAA,CAYD,qEACC,iCAAA,CACA,mCAAA,CACA,sBAAA,CAGD,2FACC,0BAAA,CAKH,+CACC,qBAAA,CAIA,mEACC,aAAA,CAIF,gDACC,UAAA,CACA,YAAA,CACA,eAAA,CACA,QAAA,CACA,qBAAA,CACA,6BAAA,CACA,sBAAA,CACA,2FAAA,CAEA,8DACC,YAAA,CACA,6BAAA,CACA,UAAA,CACA,eAAA,CAEA,qEACC,wBAAA,CAEA,iFACC,qBAAA",sourcesContent:["\n.sharingTabDetailsView {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tposition: relative;\n\theight: 100%;\n\toverflow: hidden;\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0.2em;\n\n\t\tspan {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\th1 {\n\t\t\t\tfont-size: 15px;\n\t\t\t\tpadding-inline-start: 0.3em;\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tposition: relative;\n\t\toverflow: scroll;\n\t\tflex-shrink: 1;\n\t\tpadding: 4px;\n\t\tpadding-inline-end: 12px;\n\t}\n\n\t&__quick-permissions {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\tmargin: 0 auto;\n\t\tborder-radius: 0;\n\n\t\tdiv {\n\t\t\twidth: 100%;\n\n\t\t\tspan {\n\t\t\t\twidth: 100%;\n\n\t\t\t\tspan:nth-child(1) {\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tpadding: 0.1em;\n\t\t\t\t}\n\n\t\t\t\t:deep(label span) {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t}\n\n\t\t\t\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\n\t\t\t\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\n\t\t\t\t\tflex-wrap: wrap;\n\n\t\t\t\t\t.subline {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tflex-basis: 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__advanced-control {\n\t\twidth: 100%;\n\n\t\tbutton {\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\n\t}\n\n\t&__advanced {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0.5em;\n\t\ttext-align: start;\n\t\tpadding-inline-start: 0;\n\n\t\tsection {\n\n\t\t\ttextarea,\n\t\t\tdiv.mx-datepicker {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\ttextarea {\n\t\t\t\theight: 80px;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t/*\n\t\t\t The following style is applied out of the component's scope\n\t\t\t to remove padding from the label.checkbox-radio-switch__label,\n\t\t\t which is used to group radio checkbox items. The use of ::v-deep\n\t\t\t ensures that the padding is modified without being affected by\n\t\t\t the component's scoping.\n\t\t\t Without this achieving left alignment for the checkboxes would not\n\t\t\t be possible.\n\t\t\t*/\n\t\t\tspan :deep(label) {\n\t\t\t\tpadding-inline-start: 0 !important;\n\t\t\t\tbackground-color: initial !important;\n\t\t\t\tborder: none !important;\n\t\t\t}\n\n\t\t\tsection.custom-permissions-group {\n\t\t\t\tpadding-inline-start: 1.5em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__label {\n\t\tpadding-block-end: 6px;\n\t}\n\n\t&__delete {\n\t\t> button:first-child {\n\t\t\tcolor: rgb(223, 7, 7);\n\t\t}\n\t}\n\n\t&__footer {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-start;\n\t\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\n\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\twidth: 100%;\n\t\t\tmargin-top: 16px;\n\n\t\t\tbutton {\n\t\t\t\tmargin-inline-start: 16px;\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-inline-start: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=a},17816:function(t){t.exports=function(){"use strict";function t(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}var e=function(t,e){return t(e={exports:{}},e.exports),e.exports}((function(e,i){var n;n=function(){return function e(i,n,r){function s(o,l){if(!n[o]){if(!i[o]){if(!l&&t)return t();if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var h=n[o]={exports:{}};i[o][0].call(h.exports,(function(t){return s(i[o][1][t]||t)}),h,h.exports,e,i,n,r)}return n[o].exports}for(var a=t,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(t,e,i){e.exports=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},{}],2:[function(t,e,i){var n=t("./utils").getSymbolSize;i.getRowColCoords=function(t){if(1===t)return[];for(var e=Math.floor(t/7)+2,i=n(t),r=145===i?26:2*Math.ceil((i-13)/(2*e-2)),s=[i-7],a=1;a<e-1;a++)s[a]=s[a-1]-r;return s.push(6),s.reverse()},i.getPositions=function(t){for(var e=[],n=i.getRowColCoords(t),r=n.length,s=0;s<r;s++)for(var a=0;a<r;a++)0===s&&0===a||0===s&&a===r-1||s===r-1&&0===a||e.push([n[s],n[a]]);return e}},{"./utils":21}],3:[function(t,e,i){var n=t("./mode"),r=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function s(t){this.mode=n.ALPHANUMERIC,this.data=t}s.getBitsLength=function(t){return 11*Math.floor(t/2)+t%2*6},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(t){var e;for(e=0;e+2<=this.data.length;e+=2){var i=45*r.indexOf(this.data[e]);i+=r.indexOf(this.data[e+1]),t.put(i,11)}this.data.length%2&&t.put(r.indexOf(this.data[e]),6)},e.exports=s},{"./mode":14}],4:[function(t,e,i){function n(){this.buffer=[],this.length=0}n.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var i=0;i<e;i++)this.putBit(1==(t>>>e-i-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},e.exports=n},{}],5:[function(t,e,i){var n=t("../utils/buffer");function r(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=n.alloc(t*t),this.reservedBit=n.alloc(t*t)}r.prototype.set=function(t,e,i,n){var r=t*this.size+e;this.data[r]=i,n&&(this.reservedBit[r]=!0)},r.prototype.get=function(t,e){return this.data[t*this.size+e]},r.prototype.xor=function(t,e,i){this.data[t*this.size+e]^=i},r.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},e.exports=r},{"../utils/buffer":28}],6:[function(t,e,i){var n=t("../utils/buffer"),r=t("./mode");function s(t){this.mode=r.BYTE,this.data=n.from(t)}s.getBitsLength=function(t){return 8*t},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(t){for(var e=0,i=this.data.length;e<i;e++)t.put(this.data[e],8)},e.exports=s},{"../utils/buffer":28,"./mode":14}],7:[function(t,e,i){var n=t("./error-correction-level"),r=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],s=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];i.getBlocksCount=function(t,e){switch(e){case n.L:return r[4*(t-1)+0];case n.M:return r[4*(t-1)+1];case n.Q:return r[4*(t-1)+2];case n.H:return r[4*(t-1)+3];default:return}},i.getTotalCodewordsCount=function(t,e){switch(e){case n.L:return s[4*(t-1)+0];case n.M:return s[4*(t-1)+1];case n.Q:return s[4*(t-1)+2];case n.H:return s[4*(t-1)+3];default:return}}},{"./error-correction-level":8}],8:[function(t,e,i){i.L={bit:1},i.M={bit:0},i.Q={bit:3},i.H={bit:2},i.isValid=function(t){return t&&void 0!==t.bit&&t.bit>=0&&t.bit<4},i.from=function(t,e){if(i.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return i.L;case"m":case"medium":return i.M;case"q":case"quartile":return i.Q;case"h":case"high":return i.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(t){return e}}},{}],9:[function(t,e,i){var n=t("./utils").getSymbolSize;i.getPositions=function(t){var e=n(t);return[[0,0],[e-7,0],[0,e-7]]}},{"./utils":21}],10:[function(t,e,i){var n=t("./utils"),r=n.getBCHDigit(1335);i.getEncodedBits=function(t,e){for(var i=t.bit<<3|e,s=i<<10;n.getBCHDigit(s)-r>=0;)s^=1335<<n.getBCHDigit(s)-r;return 21522^(i<<10|s)}},{"./utils":21}],11:[function(t,e,i){var n=t("../utils/buffer"),r=n.alloc(512),s=n.alloc(256);!function(){for(var t=1,e=0;e<255;e++)r[e]=t,s[t]=e,256&(t<<=1)&&(t^=285);for(e=255;e<512;e++)r[e]=r[e-255]}(),i.log=function(t){if(t<1)throw new Error("log("+t+")");return s[t]},i.exp=function(t){return r[t]},i.mul=function(t,e){return 0===t||0===e?0:r[s[t]+s[e]]}},{"../utils/buffer":28}],12:[function(t,e,i){var n=t("./mode"),r=t("./utils");function s(t){this.mode=n.KANJI,this.data=t}s.getBitsLength=function(t){return 13*t},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(t){var e;for(e=0;e<this.data.length;e++){var i=r.toSJIS(this.data[e]);if(i>=33088&&i<=40956)i-=33088;else{if(!(i>=57408&&i<=60351))throw new Error("Invalid SJIS character: "+this.data[e]+"\nMake sure your charset is UTF-8");i-=49472}i=192*(i>>>8&255)+(255&i),t.put(i,13)}},e.exports=s},{"./mode":14,"./utils":21}],13:[function(t,e,i){i.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var n=3,r=3,s=40,a=10;function o(t,e,n){switch(t){case i.Patterns.PATTERN000:return(e+n)%2==0;case i.Patterns.PATTERN001:return e%2==0;case i.Patterns.PATTERN010:return n%3==0;case i.Patterns.PATTERN011:return(e+n)%3==0;case i.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(n/3))%2==0;case i.Patterns.PATTERN101:return e*n%2+e*n%3==0;case i.Patterns.PATTERN110:return(e*n%2+e*n%3)%2==0;case i.Patterns.PATTERN111:return(e*n%3+(e+n)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}i.isValid=function(t){return null!=t&&""!==t&&!isNaN(t)&&t>=0&&t<=7},i.from=function(t){return i.isValid(t)?parseInt(t,10):void 0},i.getPenaltyN1=function(t){for(var e=t.size,i=0,r=0,s=0,a=null,o=null,l=0;l<e;l++){r=s=0,a=o=null;for(var c=0;c<e;c++){var h=t.get(l,c);h===a?r++:(r>=5&&(i+=n+(r-5)),a=h,r=1),(h=t.get(c,l))===o?s++:(s>=5&&(i+=n+(s-5)),o=h,s=1)}r>=5&&(i+=n+(r-5)),s>=5&&(i+=n+(s-5))}return i},i.getPenaltyN2=function(t){for(var e=t.size,i=0,n=0;n<e-1;n++)for(var s=0;s<e-1;s++){var a=t.get(n,s)+t.get(n,s+1)+t.get(n+1,s)+t.get(n+1,s+1);4!==a&&0!==a||i++}return i*r},i.getPenaltyN3=function(t){for(var e=t.size,i=0,n=0,r=0,a=0;a<e;a++){n=r=0;for(var o=0;o<e;o++)n=n<<1&2047|t.get(a,o),o>=10&&(1488===n||93===n)&&i++,r=r<<1&2047|t.get(o,a),o>=10&&(1488===r||93===r)&&i++}return i*s},i.getPenaltyN4=function(t){for(var e=0,i=t.data.length,n=0;n<i;n++)e+=t.data[n];return Math.abs(Math.ceil(100*e/i/5)-10)*a},i.applyMask=function(t,e){for(var i=e.size,n=0;n<i;n++)for(var r=0;r<i;r++)e.isReserved(r,n)||e.xor(r,n,o(t,r,n))},i.getBestMask=function(t,e){for(var n=Object.keys(i.Patterns).length,r=0,s=1/0,a=0;a<n;a++){e(a),i.applyMask(a,t);var o=i.getPenaltyN1(t)+i.getPenaltyN2(t)+i.getPenaltyN3(t)+i.getPenaltyN4(t);i.applyMask(a,t),o<s&&(s=o,r=a)}return r}},{}],14:[function(t,e,i){var n=t("./version-check"),r=t("./regex");i.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},i.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},i.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},i.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},i.MIXED={bit:-1},i.getCharCountIndicator=function(t,e){if(!t.ccBits)throw new Error("Invalid mode: "+t);if(!n.isValid(e))throw new Error("Invalid version: "+e);return e>=1&&e<10?t.ccBits[0]:e<27?t.ccBits[1]:t.ccBits[2]},i.getBestModeForData=function(t){return r.testNumeric(t)?i.NUMERIC:r.testAlphanumeric(t)?i.ALPHANUMERIC:r.testKanji(t)?i.KANJI:i.BYTE},i.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")},i.isValid=function(t){return t&&t.bit&&t.ccBits},i.from=function(t,e){if(i.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return i.NUMERIC;case"alphanumeric":return i.ALPHANUMERIC;case"kanji":return i.KANJI;case"byte":return i.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(t){return e}}},{"./regex":19,"./version-check":22}],15:[function(t,e,i){var n=t("./mode");function r(t){this.mode=n.NUMERIC,this.data=t.toString()}r.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){var e,i,n;for(e=0;e+3<=this.data.length;e+=3)i=this.data.substr(e,3),n=parseInt(i,10),t.put(n,10);var r=this.data.length-e;r>0&&(i=this.data.substr(e),n=parseInt(i,10),t.put(n,3*r+1))},e.exports=r},{"./mode":14}],16:[function(t,e,i){var n=t("../utils/buffer"),r=t("./galois-field");i.mul=function(t,e){for(var i=n.alloc(t.length+e.length-1),s=0;s<t.length;s++)for(var a=0;a<e.length;a++)i[s+a]^=r.mul(t[s],e[a]);return i},i.mod=function(t,e){for(var i=n.from(t);i.length-e.length>=0;){for(var s=i[0],a=0;a<e.length;a++)i[a]^=r.mul(e[a],s);for(var o=0;o<i.length&&0===i[o];)o++;i=i.slice(o)}return i},i.generateECPolynomial=function(t){for(var e=n.from([1]),s=0;s<t;s++)e=i.mul(e,[1,r.exp(s)]);return e}},{"../utils/buffer":28,"./galois-field":11}],17:[function(t,e,i){var n=t("../utils/buffer"),r=t("./utils"),s=t("./error-correction-level"),a=t("./bit-buffer"),o=t("./bit-matrix"),l=t("./alignment-pattern"),c=t("./finder-pattern"),h=t("./mask-pattern"),u=t("./error-correction-code"),d=t("./reed-solomon-encoder"),p=t("./version"),f=t("./format-info"),g=t("./mode"),A=t("./segments"),m=t("isarray");function v(t,e,i){var n,r,s=t.size,a=f.getEncodedBits(e,i);for(n=0;n<15;n++)r=1==(a>>n&1),n<6?t.set(n,8,r,!0):n<8?t.set(n+1,8,r,!0):t.set(s-15+n,8,r,!0),n<8?t.set(8,s-n-1,r,!0):n<9?t.set(8,15-n-1+1,r,!0):t.set(8,15-n-1,r,!0);t.set(s-8,8,1,!0)}function y(t,e,i){var s=new a;i.forEach((function(e){s.put(e.mode.bit,4),s.put(e.getLength(),g.getCharCountIndicator(e.mode,t)),e.write(s)}));var o=8*(r.getSymbolTotalCodewords(t)-u.getTotalCodewordsCount(t,e));for(s.getLengthInBits()+4<=o&&s.put(0,4);s.getLengthInBits()%8!=0;)s.putBit(0);for(var l=(o-s.getLengthInBits())/8,c=0;c<l;c++)s.put(c%2?17:236,8);return function(t,e,i){for(var s=r.getSymbolTotalCodewords(e),a=s-u.getTotalCodewordsCount(e,i),o=u.getBlocksCount(e,i),l=o-s%o,c=Math.floor(s/o),h=Math.floor(a/o),p=h+1,f=c-h,g=new d(f),A=0,m=new Array(o),v=new Array(o),y=0,C=n.from(t.buffer),w=0;w<o;w++){var b=w<l?h:p;m[w]=C.slice(A,A+b),v[w]=g.encode(m[w]),A+=b,y=Math.max(y,b)}var _,E,x=n.alloc(s),S=0;for(_=0;_<y;_++)for(E=0;E<o;E++)_<m[E].length&&(x[S++]=m[E][_]);for(_=0;_<f;_++)for(E=0;E<o;E++)x[S++]=v[E][_];return x}(s,t,e)}function C(t,e,i,n){var s;if(m(t))s=A.fromArray(t);else{if("string"!=typeof t)throw new Error("Invalid data");var a=e;if(!a){var u=A.rawSplit(t);a=p.getBestVersionForData(u,i)}s=A.fromString(t,a||40)}var d=p.getBestVersionForData(s,i);if(!d)throw new Error("The amount of data is too big to be stored in a QR Code");if(e){if(e<d)throw new Error("\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: "+d+".\n")}else e=d;var f=y(e,i,s),g=r.getSymbolSize(e),C=new o(g);return function(t,e){for(var i=t.size,n=c.getPositions(e),r=0;r<n.length;r++)for(var s=n[r][0],a=n[r][1],o=-1;o<=7;o++)if(!(s+o<=-1||i<=s+o))for(var l=-1;l<=7;l++)a+l<=-1||i<=a+l||(o>=0&&o<=6&&(0===l||6===l)||l>=0&&l<=6&&(0===o||6===o)||o>=2&&o<=4&&l>=2&&l<=4?t.set(s+o,a+l,!0,!0):t.set(s+o,a+l,!1,!0))}(C,e),function(t){for(var e=t.size,i=8;i<e-8;i++){var n=i%2==0;t.set(i,6,n,!0),t.set(6,i,n,!0)}}(C),function(t,e){for(var i=l.getPositions(e),n=0;n<i.length;n++)for(var r=i[n][0],s=i[n][1],a=-2;a<=2;a++)for(var o=-2;o<=2;o++)-2===a||2===a||-2===o||2===o||0===a&&0===o?t.set(r+a,s+o,!0,!0):t.set(r+a,s+o,!1,!0)}(C,e),v(C,i,0),e>=7&&function(t,e){for(var i,n,r,s=t.size,a=p.getEncodedBits(e),o=0;o<18;o++)i=Math.floor(o/3),n=o%3+s-8-3,r=1==(a>>o&1),t.set(i,n,r,!0),t.set(n,i,r,!0)}(C,e),function(t,e){for(var i=t.size,n=-1,r=i-1,s=7,a=0,o=i-1;o>0;o-=2)for(6===o&&o--;;){for(var l=0;l<2;l++)if(!t.isReserved(r,o-l)){var c=!1;a<e.length&&(c=1==(e[a]>>>s&1)),t.set(r,o-l,c),-1==--s&&(a++,s=7)}if((r+=n)<0||i<=r){r-=n,n=-n;break}}}(C,f),isNaN(n)&&(n=h.getBestMask(C,v.bind(null,C,i))),h.applyMask(n,C),v(C,i,n),{modules:C,version:e,errorCorrectionLevel:i,maskPattern:n,segments:s}}i.create=function(t,e){if(void 0===t||""===t)throw new Error("No input text");var i,n,a=s.M;return void 0!==e&&(a=s.from(e.errorCorrectionLevel,s.M),i=p.from(e.version),n=h.from(e.maskPattern),e.toSJISFunc&&r.setToSJISFunction(e.toSJISFunc)),C(t,i,a,n)}},{"../utils/buffer":28,"./alignment-pattern":2,"./bit-buffer":4,"./bit-matrix":5,"./error-correction-code":7,"./error-correction-level":8,"./finder-pattern":9,"./format-info":10,"./mask-pattern":13,"./mode":14,"./reed-solomon-encoder":18,"./segments":20,"./utils":21,"./version":23,isarray:33}],18:[function(t,e,i){var n=t("../utils/buffer"),r=t("./polynomial"),s=t("buffer").Buffer;function a(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}a.prototype.initialize=function(t){this.degree=t,this.genPoly=r.generateECPolynomial(this.degree)},a.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");var e=n.alloc(this.degree),i=s.concat([t,e],t.length+this.degree),a=r.mod(i,this.genPoly),o=this.degree-a.length;if(o>0){var l=n.alloc(this.degree);return a.copy(l,o),l}return a},e.exports=a},{"../utils/buffer":28,"./polynomial":16,buffer:30}],19:[function(t,e,i){var n="[0-9]+",r="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",s="(?:(?![A-Z0-9 $%*+\\-./:]|"+(r=r.replace(/u/g,"\\u"))+")(?:.|[\r\n]))+";i.KANJI=new RegExp(r,"g"),i.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),i.BYTE=new RegExp(s,"g"),i.NUMERIC=new RegExp(n,"g"),i.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");var a=new RegExp("^"+r+"$"),o=new RegExp("^"+n+"$"),l=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");i.testKanji=function(t){return a.test(t)},i.testNumeric=function(t){return o.test(t)},i.testAlphanumeric=function(t){return l.test(t)}},{}],20:[function(t,e,i){var n=t("./mode"),r=t("./numeric-data"),s=t("./alphanumeric-data"),a=t("./byte-data"),o=t("./kanji-data"),l=t("./regex"),c=t("./utils"),h=t("dijkstrajs");function u(t){return unescape(encodeURIComponent(t)).length}function d(t,e,i){for(var n,r=[];null!==(n=t.exec(i));)r.push({data:n[0],index:n.index,mode:e,length:n[0].length});return r}function p(t){var e,i,r=d(l.NUMERIC,n.NUMERIC,t),s=d(l.ALPHANUMERIC,n.ALPHANUMERIC,t);return c.isKanjiModeEnabled()?(e=d(l.BYTE,n.BYTE,t),i=d(l.KANJI,n.KANJI,t)):(e=d(l.BYTE_KANJI,n.BYTE,t),i=[]),r.concat(s,e,i).sort((function(t,e){return t.index-e.index})).map((function(t){return{data:t.data,mode:t.mode,length:t.length}}))}function f(t,e){switch(e){case n.NUMERIC:return r.getBitsLength(t);case n.ALPHANUMERIC:return s.getBitsLength(t);case n.KANJI:return o.getBitsLength(t);case n.BYTE:return a.getBitsLength(t)}}function g(t,e){var i,l=n.getBestModeForData(t);if((i=n.from(e,l))!==n.BYTE&&i.bit<l.bit)throw new Error('"'+t+'" cannot be encoded with mode '+n.toString(i)+".\n Suggested mode is: "+n.toString(l));switch(i!==n.KANJI||c.isKanjiModeEnabled()||(i=n.BYTE),i){case n.NUMERIC:return new r(t);case n.ALPHANUMERIC:return new s(t);case n.KANJI:return new o(t);case n.BYTE:return new a(t)}}i.fromArray=function(t){return t.reduce((function(t,e){return"string"==typeof e?t.push(g(e,null)):e.data&&t.push(g(e.data,e.mode)),t}),[])},i.fromString=function(t,e){for(var r=function(t,e){for(var i={},r={start:{}},s=["start"],a=0;a<t.length;a++){for(var o=t[a],l=[],c=0;c<o.length;c++){var h=o[c],u=""+a+c;l.push(u),i[u]={node:h,lastCount:0},r[u]={};for(var d=0;d<s.length;d++){var p=s[d];i[p]&&i[p].node.mode===h.mode?(r[p][u]=f(i[p].lastCount+h.length,h.mode)-f(i[p].lastCount,h.mode),i[p].lastCount+=h.length):(i[p]&&(i[p].lastCount=h.length),r[p][u]=f(h.length,h.mode)+4+n.getCharCountIndicator(h.mode,e))}}s=l}for(d=0;d<s.length;d++)r[s[d]].end=0;return{map:r,table:i}}(function(t){for(var e=[],i=0;i<t.length;i++){var r=t[i];switch(r.mode){case n.NUMERIC:e.push([r,{data:r.data,mode:n.ALPHANUMERIC,length:r.length},{data:r.data,mode:n.BYTE,length:r.length}]);break;case n.ALPHANUMERIC:e.push([r,{data:r.data,mode:n.BYTE,length:r.length}]);break;case n.KANJI:e.push([r,{data:r.data,mode:n.BYTE,length:u(r.data)}]);break;case n.BYTE:e.push([{data:r.data,mode:n.BYTE,length:u(r.data)}])}}return e}(p(t,c.isKanjiModeEnabled())),e),s=h.find_path(r.map,"start","end"),a=[],o=1;o<s.length-1;o++)a.push(r.table[s[o]].node);return i.fromArray(a.reduce((function(t,e){var i=t.length-1>=0?t[t.length-1]:null;return i&&i.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)}),[]))},i.rawSplit=function(t){return i.fromArray(p(t,c.isKanjiModeEnabled()))}},{"./alphanumeric-data":3,"./byte-data":6,"./kanji-data":12,"./mode":14,"./numeric-data":15,"./regex":19,"./utils":21,dijkstrajs:31}],21:[function(t,e,i){var n,r=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];i.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return 4*t+17},i.getSymbolTotalCodewords=function(t){return r[t]},i.getBCHDigit=function(t){for(var e=0;0!==t;)e++,t>>>=1;return e},i.setToSJISFunction=function(t){if("function"!=typeof t)throw new Error('"toSJISFunc" is not a valid function.');n=t},i.isKanjiModeEnabled=function(){return void 0!==n},i.toSJIS=function(t){return n(t)}},{}],22:[function(t,e,i){i.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}},{}],23:[function(t,e,i){var n=t("./utils"),r=t("./error-correction-code"),s=t("./error-correction-level"),a=t("./mode"),o=t("./version-check"),l=t("isarray"),c=n.getBCHDigit(7973);function h(t,e){return a.getCharCountIndicator(t,e)+4}function u(t,e){var i=0;return t.forEach((function(t){var n=h(t.mode,e);i+=n+t.getBitsLength()})),i}i.from=function(t,e){return o.isValid(t)?parseInt(t,10):e},i.getCapacity=function(t,e,i){if(!o.isValid(t))throw new Error("Invalid QR Code version");void 0===i&&(i=a.BYTE);var s=8*(n.getSymbolTotalCodewords(t)-r.getTotalCodewordsCount(t,e));if(i===a.MIXED)return s;var l=s-h(i,t);switch(i){case a.NUMERIC:return Math.floor(l/10*3);case a.ALPHANUMERIC:return Math.floor(l/11*2);case a.KANJI:return Math.floor(l/13);case a.BYTE:default:return Math.floor(l/8)}},i.getBestVersionForData=function(t,e){var n,r=s.from(e,s.M);if(l(t)){if(t.length>1)return function(t,e){for(var n=1;n<=40;n++)if(u(t,n)<=i.getCapacity(n,e,a.MIXED))return n}(t,r);if(0===t.length)return 1;n=t[0]}else n=t;return function(t,e,n){for(var r=1;r<=40;r++)if(e<=i.getCapacity(r,n,t))return r}(n.mode,n.getLength(),r)},i.getEncodedBits=function(t){if(!o.isValid(t)||t<7)throw new Error("Invalid QR Code version");for(var e=t<<12;n.getBCHDigit(e)-c>=0;)e^=7973<<n.getBCHDigit(e)-c;return t<<12|e}},{"./error-correction-code":7,"./error-correction-level":8,"./mode":14,"./utils":21,"./version-check":22,isarray:33}],24:[function(t,e,i){var n=t("./can-promise"),r=t("./core/qrcode"),s=t("./renderer/canvas"),a=t("./renderer/svg-tag.js");function o(t,e,i,s,a){var o=[].slice.call(arguments,1),l=o.length,c="function"==typeof o[l-1];if(!c&&!n())throw new Error("Callback required as last argument");if(!c){if(l<1)throw new Error("Too few arguments provided");return 1===l?(i=e,e=s=void 0):2!==l||e.getContext||(s=i,i=e,e=void 0),new Promise((function(n,a){try{var o=r.create(i,s);n(t(o,e,s))}catch(t){a(t)}}))}if(l<2)throw new Error("Too few arguments provided");2===l?(a=i,i=e,e=s=void 0):3===l&&(e.getContext&&void 0===a?(a=s,s=void 0):(a=s,s=i,i=e,e=void 0));try{var h=r.create(i,s);a(null,t(h,e,s))}catch(t){a(t)}}i.create=r.create,i.toCanvas=o.bind(null,s.render),i.toDataURL=o.bind(null,s.renderToDataURL),i.toString=o.bind(null,(function(t,e,i){return a.render(t,i)}))},{"./can-promise":1,"./core/qrcode":17,"./renderer/canvas":25,"./renderer/svg-tag.js":26}],25:[function(t,e,i){var n=t("./utils");i.render=function(t,e,i){var r=i,s=e;void 0!==r||e&&e.getContext||(r=e,e=void 0),e||(s=function(){try{return document.createElement("canvas")}catch(t){throw new Error("You need to specify a canvas element")}}()),r=n.getOptions(r);var a=n.getImageWidth(t.modules.size,r),o=s.getContext("2d"),l=o.createImageData(a,a);return n.qrToImageData(l.data,t,r),function(t,e,i){t.clearRect(0,0,e.width,e.height),e.style||(e.style={}),e.height=i,e.width=i,e.style.height=i+"px",e.style.width=i+"px"}(o,s,a),o.putImageData(l,0,0),s},i.renderToDataURL=function(t,e,n){var r=n;void 0!==r||e&&e.getContext||(r=e,e=void 0),r||(r={});var s=i.render(t,e,r),a=r.type||"image/png",o=r.rendererOpts||{};return s.toDataURL(a,o.quality)}},{"./utils":27}],26:[function(t,e,i){var n=t("./utils");function r(t,e){var i=t.a/255,n=e+'="'+t.hex+'"';return i<1?n+" "+e+'-opacity="'+i.toFixed(2).slice(1)+'"':n}function s(t,e,i){var n=t+e;return void 0!==i&&(n+=" "+i),n}i.render=function(t,e,i){var a=n.getOptions(e),o=t.modules.size,l=t.modules.data,c=o+2*a.margin,h=a.color.light.a?"<path "+r(a.color.light,"fill")+' d="M0 0h'+c+"v"+c+'H0z"/>':"",u="<path "+r(a.color.dark,"stroke")+' d="'+function(t,e,i){for(var n="",r=0,a=!1,o=0,l=0;l<t.length;l++){var c=Math.floor(l%e),h=Math.floor(l/e);c||a||(a=!0),t[l]?(o++,l>0&&c>0&&t[l-1]||(n+=a?s("M",c+i,.5+h+i):s("m",r,0),r=0,a=!1),c+1<e&&t[l+1]||(n+=s("h",o),o=0)):r++}return n}(l,o,a.margin)+'"/>',d='viewBox="0 0 '+c+" "+c+'"',p='<svg xmlns="http://www.w3.org/2000/svg" '+(a.width?'width="'+a.width+'" height="'+a.width+'" ':"")+d+' shape-rendering="crispEdges">'+h+u+"</svg>\n";return"function"==typeof i&&i(null,p),p}},{"./utils":27}],27:[function(t,e,i){function n(t){if("number"==typeof t&&(t=t.toString()),"string"!=typeof t)throw new Error("Color should be defined as hex string");var e=t.slice().replace("#","").split("");if(e.length<3||5===e.length||e.length>8)throw new Error("Invalid hex color: "+t);3!==e.length&&4!==e.length||(e=Array.prototype.concat.apply([],e.map((function(t){return[t,t]})))),6===e.length&&e.push("F","F");var i=parseInt(e.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:255&i,hex:"#"+e.slice(0,6).join("")}}i.getOptions=function(t){t||(t={}),t.color||(t.color={});var e=void 0===t.margin||null===t.margin||t.margin<0?4:t.margin,i=t.width&&t.width>=21?t.width:void 0,r=t.scale||4;return{width:i,scale:i?4:r,margin:e,color:{dark:n(t.color.dark||"#000000ff"),light:n(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},i.getScale=function(t,e){return e.width&&e.width>=t+2*e.margin?e.width/(t+2*e.margin):e.scale},i.getImageWidth=function(t,e){var n=i.getScale(t,e);return Math.floor((t+2*e.margin)*n)},i.qrToImageData=function(t,e,n){for(var r=e.modules.size,s=e.modules.data,a=i.getScale(r,n),o=Math.floor((r+2*n.margin)*a),l=n.margin*a,c=[n.color.light,n.color.dark],h=0;h<o;h++)for(var u=0;u<o;u++){var d=4*(h*o+u),p=n.color.light;h>=l&&u>=l&&h<o-l&&u<o-l&&(p=c[s[Math.floor((h-l)/a)*r+Math.floor((u-l)/a)]?1:0]),t[d++]=p.r,t[d++]=p.g,t[d++]=p.b,t[d]=p.a}}},{}],28:[function(t,e,i){var n=t("isarray");s.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}();var r=s.TYPED_ARRAY_SUPPORT?2147483647:1073741823;function s(t,e,i){return s.TYPED_ARRAY_SUPPORT||this instanceof s?"number"==typeof t?l(this,t):function(t,e,i,n){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,i,n){if(i<0||e.byteLength<i)throw new RangeError("'offset' is out of bounds");if(e.byteLength<i+(n||0))throw new RangeError("'length' is out of bounds");var r;return r=void 0===i&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,i):new Uint8Array(e,i,n),s.TYPED_ARRAY_SUPPORT?r.__proto__=s.prototype:r=c(t,r),r}(t,e,i,n):"string"==typeof e?function(t,e){var i=0|u(e),n=o(t,i),r=n.write(e);return r!==i&&(n=n.slice(0,r)),n}(t,e):function(t,e){if(s.isBuffer(e)){var i=0|a(e.length),n=o(t,i);return 0===n.length||e.copy(n,0,0,i),n}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(r=e.length)!=r?o(t,0):c(t,e);if("Buffer"===e.type&&Array.isArray(e.data))return c(t,e.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}(this,t,e,i):new s(t,e,i)}function a(t){if(t>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function o(t,e){var i;return s.TYPED_ARRAY_SUPPORT?(i=new Uint8Array(e)).__proto__=s.prototype:(null===(i=t)&&(i=new s(e)),i.length=e),i}function l(t,e){var i=o(t,e<0?0:0|a(e));if(!s.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)i[n]=0;return i}function c(t,e){for(var i=e.length<0?0:0|a(e.length),n=o(t,i),r=0;r<i;r+=1)n[r]=255&e[r];return n}function h(t,e){var i;e=e||1/0;for(var n=t.length,r=null,s=[],a=0;a<n;++a){if((i=t.charCodeAt(a))>55295&&i<57344){if(!r){if(i>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&s.push(239,191,189);continue}r=i;continue}if(i<56320){(e-=3)>-1&&s.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,i<128){if((e-=1)<0)break;s.push(i)}else if(i<2048){if((e-=2)<0)break;s.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;s.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return s}function u(t){return s.isBuffer(t)?t.length:"undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer)?t.byteLength:("string"!=typeof t&&(t=""+t),0===t.length?0:h(t).length)}s.TYPED_ARRAY_SUPPORT&&(s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),s.prototype.write=function(t,e,i){void 0===e||void 0===i&&"string"==typeof e?(i=this.length,e=0):isFinite(e)&&(e|=0,isFinite(i)?i|=0:i=void 0);var n=this.length-e;if((void 0===i||i>n)&&(i=n),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");return function(t,e,i,n){return function(t,e,i,n){for(var r=0;r<n&&!(r+i>=e.length||r>=t.length);++r)e[r+i]=t[r];return r}(h(e,t.length-i),t,i,n)}(this,t,e,i)},s.prototype.slice=function(t,e){var i,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t),s.TYPED_ARRAY_SUPPORT)(i=this.subarray(t,e)).__proto__=s.prototype;else{var r=e-t;i=new s(r,void 0);for(var a=0;a<r;++a)i[a]=this[a+t]}return i},s.prototype.copy=function(t,e,i,n){if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<i&&(n=i),n===i)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-i&&(n=t.length-e+i);var r,a=n-i;if(this===t&&i<e&&e<n)for(r=a-1;r>=0;--r)t[r+e]=this[r+i];else if(a<1e3||!s.TYPED_ARRAY_SUPPORT)for(r=0;r<a;++r)t[r+e]=this[r+i];else Uint8Array.prototype.set.call(t,this.subarray(i,i+a),e);return a},s.prototype.fill=function(t,e,i){if("string"==typeof t){if("string"==typeof e?(e=0,i=this.length):"string"==typeof i&&(i=this.length),1===t.length){var n=t.charCodeAt(0);n<256&&(t=n)}}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<i)throw new RangeError("Out of range index");if(i<=e)return this;var r;if(e>>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(r=e;r<i;++r)this[r]=t;else{var a=s.isBuffer(t)?t:new s(t),o=a.length;for(r=0;r<i-e;++r)this[r+e]=a[r%o]}return this},s.concat=function(t,e){if(!n(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return o(null,0);var i;if(void 0===e)for(e=0,i=0;i<t.length;++i)e+=t[i].length;var r=l(null,e),a=0;for(i=0;i<t.length;++i){var c=t[i];if(!s.isBuffer(c))throw new TypeError('"list" argument must be an Array of Buffers');c.copy(r,a),a+=c.length}return r},s.byteLength=u,s.prototype._isBuffer=!0,s.isBuffer=function(t){return!(null==t||!t._isBuffer)},e.exports.alloc=function(t){var e=new s(t);return e.fill(0),e},e.exports.from=function(t){return new s(t)}},{isarray:33}],29:[function(t,e,i){i.byteLength=function(t){var e=l(t),i=e[0],n=e[1];return 3*(i+n)/4-n},i.toByteArray=function(t){var e,i,n=l(t),a=n[0],o=n[1],c=new s(function(t,e,i){return 3*(e+i)/4-i}(0,a,o)),h=0,u=o>0?a-4:a;for(i=0;i<u;i+=4)e=r[t.charCodeAt(i)]<<18|r[t.charCodeAt(i+1)]<<12|r[t.charCodeAt(i+2)]<<6|r[t.charCodeAt(i+3)],c[h++]=e>>16&255,c[h++]=e>>8&255,c[h++]=255&e;return 2===o&&(e=r[t.charCodeAt(i)]<<2|r[t.charCodeAt(i+1)]>>4,c[h++]=255&e),1===o&&(e=r[t.charCodeAt(i)]<<10|r[t.charCodeAt(i+1)]<<4|r[t.charCodeAt(i+2)]>>2,c[h++]=e>>8&255,c[h++]=255&e),c},i.fromByteArray=function(t){for(var e,i=t.length,r=i%3,s=[],a=16383,o=0,l=i-r;o<l;o+=a)s.push(c(t,o,o+a>l?l:o+a));return 1===r?(e=t[i-1],s.push(n[e>>2]+n[e<<4&63]+"==")):2===r&&(e=(t[i-2]<<8)+t[i-1],s.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),s.join("")};for(var n=[],r=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)n[o]=a[o],r[a.charCodeAt(o)]=o;function l(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var i=t.indexOf("=");return-1===i&&(i=e),[i,i===e?0:4-i%4]}function c(t,e,i){for(var r,s=[],a=e;a<i;a+=3)r=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),s.push(n[(o=r)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);var o;return s.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},{}],30:[function(t,e,i){var n=t("base64-js"),r=t("ieee754"),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;i.Buffer=l,i.SlowBuffer=function(t){return+t!=t&&(t=0),l.alloc(+t)},i.INSPECT_MAX_BYTES=50;var a=2147483647;function o(t){if(t>a)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,l.prototype),e}function l(t,e,i){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return c(t,e,i)}function c(t,e,i){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!l.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var i=0|f(t,e),n=o(i),r=n.write(t,e);return r!==i&&(n=n.slice(0,r)),n}(t,e);if(ArrayBuffer.isView(t))return d(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(V(t,ArrayBuffer)||t&&V(t.buffer,ArrayBuffer))return function(t,e,i){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(i||0))throw new RangeError('"length" is outside of buffer bounds');var n;return n=void 0===e&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,e):new Uint8Array(t,e,i),Object.setPrototypeOf(n,l.prototype),n}(t,e,i);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return l.from(n,e,i);var r=function(t){if(l.isBuffer(t)){var e=0|p(t.length),i=o(e);return 0===i.length||t.copy(i,0,0,e),i}return void 0!==t.length?"number"!=typeof t.length||j(t.length)?o(0):d(t):"Buffer"===t.type&&Array.isArray(t.data)?d(t.data):void 0}(t);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return l.from(t[Symbol.toPrimitive]("string"),e,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return h(t),o(t<0?0:0|p(t))}function d(t){for(var e=t.length<0?0:0|p(t.length),i=o(e),n=0;n<e;n+=1)i[n]=255&t[n];return i}function p(t){if(t>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|t}function f(t,e){if(l.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||V(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var i=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===i)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":return U(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return $(t).length;default:if(r)return n?-1:U(t).length;e=(""+e).toLowerCase(),r=!0}}function g(t,e,i){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return N(this,e,i);case"utf8":case"utf-8":return S(this,e,i);case"ascii":return k(this,e,i);case"latin1":case"binary":return T(this,e,i);case"base64":return x(this,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,e,i);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function A(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function m(t,e,i,n,r){if(0===t.length)return-1;if("string"==typeof i?(n=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),j(i=+i)&&(i=r?0:t.length-1),i<0&&(i=t.length+i),i>=t.length){if(r)return-1;i=t.length-1}else if(i<0){if(!r)return-1;i=0}if("string"==typeof e&&(e=l.from(e,n)),l.isBuffer(e))return 0===e.length?-1:v(t,e,i,n,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,i):Uint8Array.prototype.lastIndexOf.call(t,e,i):v(t,[e],i,n,r);throw new TypeError("val must be string, number or Buffer")}function v(t,e,i,n,r){var s,a=1,o=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;a=2,o/=2,l/=2,i/=2}function c(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(r){var h=-1;for(s=i;s<o;s++)if(c(t,s)===c(e,-1===h?0:s-h)){if(-1===h&&(h=s),s-h+1===l)return h*a}else-1!==h&&(s-=s-h),h=-1}else for(i+l>o&&(i=o-l),s=i;s>=0;s--){for(var u=!0,d=0;d<l;d++)if(c(t,s+d)!==c(e,d)){u=!1;break}if(u)return s}return-1}function y(t,e,i,n){i=Number(i)||0;var r=t.length-i;n?(n=Number(n))>r&&(n=r):n=r;var s=e.length;n>s/2&&(n=s/2);for(var a=0;a<n;++a){var o=parseInt(e.substr(2*a,2),16);if(j(o))return a;t[i+a]=o}return a}function C(t,e,i,n){return F(U(e,t.length-i),t,i,n)}function w(t,e,i,n){return F(function(t){for(var e=[],i=0;i<t.length;++i)e.push(255&t.charCodeAt(i));return e}(e),t,i,n)}function b(t,e,i,n){return w(t,e,i,n)}function _(t,e,i,n){return F($(e),t,i,n)}function E(t,e,i,n){return F(function(t,e){for(var i,n,r,s=[],a=0;a<t.length&&!((e-=2)<0);++a)n=(i=t.charCodeAt(a))>>8,r=i%256,s.push(r),s.push(n);return s}(e,t.length-i),t,i,n)}function x(t,e,i){return 0===e&&i===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,i))}function S(t,e,i){i=Math.min(t.length,i);for(var n=[],r=e;r<i;){var s,a,o,l,c=t[r],h=null,u=c>239?4:c>223?3:c>191?2:1;if(r+u<=i)switch(u){case 1:c<128&&(h=c);break;case 2:128==(192&(s=t[r+1]))&&(l=(31&c)<<6|63&s)>127&&(h=l);break;case 3:s=t[r+1],a=t[r+2],128==(192&s)&&128==(192&a)&&(l=(15&c)<<12|(63&s)<<6|63&a)>2047&&(l<55296||l>57343)&&(h=l);break;case 4:s=t[r+1],a=t[r+2],o=t[r+3],128==(192&s)&&128==(192&a)&&128==(192&o)&&(l=(15&c)<<18|(63&s)<<12|(63&a)<<6|63&o)>65535&&l<1114112&&(h=l)}null===h?(h=65533,u=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),r+=u}return function(t){var e=t.length;if(e<=I)return String.fromCharCode.apply(String,t);for(var i="",n=0;n<e;)i+=String.fromCharCode.apply(String,t.slice(n,n+=I));return i}(n)}i.kMaxLength=a,l.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),l.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(l.prototype,"parent",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.buffer}}),Object.defineProperty(l.prototype,"offset",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),l.poolSize=8192,l.from=function(t,e,i){return c(t,e,i)},Object.setPrototypeOf(l.prototype,Uint8Array.prototype),Object.setPrototypeOf(l,Uint8Array),l.alloc=function(t,e,i){return function(t,e,i){return h(t),t<=0?o(t):void 0!==e?"string"==typeof i?o(t).fill(e,i):o(t).fill(e):o(t)}(t,e,i)},l.allocUnsafe=function(t){return u(t)},l.allocUnsafeSlow=function(t){return u(t)},l.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==l.prototype},l.compare=function(t,e){if(V(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),V(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(t)||!l.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var i=t.length,n=e.length,r=0,s=Math.min(i,n);r<s;++r)if(t[r]!==e[r]){i=t[r],n=e[r];break}return i<n?-1:n<i?1:0},l.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return l.alloc(0);var i;if(void 0===e)for(e=0,i=0;i<t.length;++i)e+=t[i].length;var n=l.allocUnsafe(e),r=0;for(i=0;i<t.length;++i){var s=t[i];if(V(s,Uint8Array)&&(s=l.from(s)),!l.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(n,r),r+=s.length}return n},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)A(this,e,e+1);return this},l.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)A(this,e,e+3),A(this,e+1,e+2);return this},l.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)A(this,e,e+7),A(this,e+1,e+6),A(this,e+2,e+5),A(this,e+3,e+4);return this},l.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?S(this,0,t):g.apply(this,arguments)},l.prototype.toLocaleString=l.prototype.toString,l.prototype.equals=function(t){if(!l.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===l.compare(this,t)},l.prototype.inspect=function(){var t="",e=i.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),"<Buffer "+t+">"},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(t,e,i,n,r){if(V(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===i&&(i=t?t.length:0),void 0===n&&(n=0),void 0===r&&(r=this.length),e<0||i>t.length||n<0||r>this.length)throw new RangeError("out of range index");if(n>=r&&e>=i)return 0;if(n>=r)return-1;if(e>=i)return 1;if(this===t)return 0;for(var s=(r>>>=0)-(n>>>=0),a=(i>>>=0)-(e>>>=0),o=Math.min(s,a),c=this.slice(n,r),h=t.slice(e,i),u=0;u<o;++u)if(c[u]!==h[u]){s=c[u],a=h[u];break}return s<a?-1:a<s?1:0},l.prototype.includes=function(t,e,i){return-1!==this.indexOf(t,e,i)},l.prototype.indexOf=function(t,e,i){return m(this,t,e,i,!0)},l.prototype.lastIndexOf=function(t,e,i){return m(this,t,e,i,!1)},l.prototype.write=function(t,e,i,n){if(void 0===e)n="utf8",i=this.length,e=0;else if(void 0===i&&"string"==typeof e)n=e,i=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(i)?(i>>>=0,void 0===n&&(n="utf8")):(n=i,i=void 0)}var r=this.length-e;if((void 0===i||i>r)&&(i=r),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var s=!1;;)switch(n){case"hex":return y(this,t,e,i);case"utf8":case"utf-8":return C(this,t,e,i);case"ascii":return w(this,t,e,i);case"latin1":case"binary":return b(this,t,e,i);case"base64":return _(this,t,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,t,e,i);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function k(t,e,i){var n="";i=Math.min(t.length,i);for(var r=e;r<i;++r)n+=String.fromCharCode(127&t[r]);return n}function T(t,e,i){var n="";i=Math.min(t.length,i);for(var r=e;r<i;++r)n+=String.fromCharCode(t[r]);return n}function N(t,e,i){var n=t.length;(!e||e<0)&&(e=0),(!i||i<0||i>n)&&(i=n);for(var r="",s=e;s<i;++s)r+=z[t[s]];return r}function D(t,e,i){for(var n=t.slice(e,i),r="",s=0;s<n.length;s+=2)r+=String.fromCharCode(n[s]+256*n[s+1]);return r}function P(t,e,i){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>i)throw new RangeError("Trying to access beyond buffer length")}function R(t,e,i,n,r,s){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||e<s)throw new RangeError('"value" argument is out of bounds');if(i+n>t.length)throw new RangeError("Index out of range")}function B(t,e,i,n,r,s){if(i+n>t.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function L(t,e,i,n,s){return e=+e,i>>>=0,s||B(t,0,i,4),r.write(t,e,i,n,23,4),i+4}function O(t,e,i,n,s){return e=+e,i>>>=0,s||B(t,0,i,8),r.write(t,e,i,n,52,8),i+8}l.prototype.slice=function(t,e){var i=this.length;(t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(e=void 0===e?i:~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),e<t&&(e=t);var n=this.subarray(t,e);return Object.setPrototypeOf(n,l.prototype),n},l.prototype.readUIntLE=function(t,e,i){t>>>=0,e>>>=0,i||P(t,e,this.length);for(var n=this[t],r=1,s=0;++s<e&&(r*=256);)n+=this[t+s]*r;return n},l.prototype.readUIntBE=function(t,e,i){t>>>=0,e>>>=0,i||P(t,e,this.length);for(var n=this[t+--e],r=1;e>0&&(r*=256);)n+=this[t+--e]*r;return n},l.prototype.readUInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),this[t]},l.prototype.readUInt16LE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUInt16BE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,e,i){t>>>=0,e>>>=0,i||P(t,e,this.length);for(var n=this[t],r=1,s=0;++s<e&&(r*=256);)n+=this[t+s]*r;return n>=(r*=128)&&(n-=Math.pow(2,8*e)),n},l.prototype.readIntBE=function(t,e,i){t>>>=0,e>>>=0,i||P(t,e,this.length);for(var n=e,r=1,s=this[t+--n];n>0&&(r*=256);)s+=this[t+--n]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*e)),s},l.prototype.readInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){t>>>=0,e||P(t,2,this.length);var i=this[t]|this[t+1]<<8;return 32768&i?4294901760|i:i},l.prototype.readInt16BE=function(t,e){t>>>=0,e||P(t,2,this.length);var i=this[t+1]|this[t]<<8;return 32768&i?4294901760|i:i},l.prototype.readInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,e){return t>>>=0,e||P(t,4,this.length),r.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return t>>>=0,e||P(t,4,this.length),r.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return t>>>=0,e||P(t,8,this.length),r.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return t>>>=0,e||P(t,8,this.length),r.read(this,t,!1,52,8)},l.prototype.writeUIntLE=function(t,e,i,n){t=+t,e>>>=0,i>>>=0,n||R(this,t,e,i,Math.pow(2,8*i)-1,0);var r=1,s=0;for(this[e]=255&t;++s<i&&(r*=256);)this[e+s]=t/r&255;return e+i},l.prototype.writeUIntBE=function(t,e,i,n){t=+t,e>>>=0,i>>>=0,n||R(this,t,e,i,Math.pow(2,8*i)-1,0);var r=i-1,s=1;for(this[e+r]=255&t;--r>=0&&(s*=256);)this[e+r]=t/s&255;return e+i},l.prototype.writeUInt8=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,1,255,0),this[e]=255&t,e+1},l.prototype.writeUInt16LE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeUInt16BE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeUInt32LE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},l.prototype.writeUInt32BE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeIntLE=function(t,e,i,n){if(t=+t,e>>>=0,!n){var r=Math.pow(2,8*i-1);R(this,t,e,i,r-1,-r)}var s=0,a=1,o=0;for(this[e]=255&t;++s<i&&(a*=256);)t<0&&0===o&&0!==this[e+s-1]&&(o=1),this[e+s]=(t/a|0)-o&255;return e+i},l.prototype.writeIntBE=function(t,e,i,n){if(t=+t,e>>>=0,!n){var r=Math.pow(2,8*i-1);R(this,t,e,i,r-1,-r)}var s=i-1,a=1,o=0;for(this[e+s]=255&t;--s>=0&&(a*=256);)t<0&&0===o&&0!==this[e+s+1]&&(o=1),this[e+s]=(t/a|0)-o&255;return e+i},l.prototype.writeInt8=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeInt16BE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeInt32LE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},l.prototype.writeInt32BE=function(t,e,i){return t=+t,e>>>=0,i||R(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeFloatLE=function(t,e,i){return L(this,t,e,!0,i)},l.prototype.writeFloatBE=function(t,e,i){return L(this,t,e,!1,i)},l.prototype.writeDoubleLE=function(t,e,i){return O(this,t,e,!0,i)},l.prototype.writeDoubleBE=function(t,e,i){return O(this,t,e,!1,i)},l.prototype.copy=function(t,e,i,n){if(!l.isBuffer(t))throw new TypeError("argument should be a Buffer");if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<i&&(n=i),n===i)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-i&&(n=t.length-e+i);var r=n-i;if(this===t&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,i,n);else if(this===t&&i<e&&e<n)for(var s=r-1;s>=0;--s)t[s+e]=this[s+i];else Uint8Array.prototype.set.call(t,this.subarray(i,n),e);return r},l.prototype.fill=function(t,e,i,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,i=this.length):"string"==typeof i&&(n=i,i=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!l.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var r=t.charCodeAt(0);("utf8"===n&&r<128||"latin1"===n)&&(t=r)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<i)throw new RangeError("Out of range index");if(i<=e)return this;var s;if(e>>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(s=e;s<i;++s)this[s]=t;else{var a=l.isBuffer(t)?t:l.from(t,n),o=a.length;if(0===o)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(s=0;s<i-e;++s)this[s+e]=a[s%o]}return this};var M=/[^+/0-9A-Za-z-_]/g;function U(t,e){var i;e=e||1/0;for(var n=t.length,r=null,s=[],a=0;a<n;++a){if((i=t.charCodeAt(a))>55295&&i<57344){if(!r){if(i>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&s.push(239,191,189);continue}r=i;continue}if(i<56320){(e-=3)>-1&&s.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,i<128){if((e-=1)<0)break;s.push(i)}else if(i<2048){if((e-=2)<0)break;s.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;s.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return s}function $(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(M,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,i,n){for(var r=0;r<n&&!(r+i>=e.length||r>=t.length);++r)e[r+i]=t[r];return r}function V(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function j(t){return t!=t}var z=function(){for(var t="0123456789abcdef",e=new Array(256),i=0;i<16;++i)for(var n=16*i,r=0;r<16;++r)e[n+r]=t[i]+t[r];return e}()},{"base64-js":29,ieee754:32}],31:[function(t,e,i){var n={single_source_shortest_paths:function(t,e,i){var r={},s={};s[e]=0;var a,o,l,c,h,u,d,p=n.PriorityQueue.make();for(p.push(e,0);!p.empty();)for(l in o=(a=p.pop()).value,c=a.cost,h=t[o]||{})h.hasOwnProperty(l)&&(u=c+h[l],d=s[l],(void 0===s[l]||d>u)&&(s[l]=u,p.push(l,u),r[l]=o));if(void 0!==i&&void 0===s[i]){var f=["Could not find a path from ",e," to ",i,"."].join("");throw new Error(f)}return r},extract_shortest_path_from_predecessor_list:function(t,e){for(var i=[],n=e;n;)i.push(n),t[n],n=t[n];return i.reverse(),i},find_path:function(t,e,i){var r=n.single_source_shortest_paths(t,e,i);return n.extract_shortest_path_from_predecessor_list(r,i)},PriorityQueue:{make:function(t){var e,i=n.PriorityQueue,r={};for(e in t=t||{},i)i.hasOwnProperty(e)&&(r[e]=i[e]);return r.queue=[],r.sorter=t.sorter||i.default_sorter,r},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var i={value:t,cost:e};this.queue.push(i),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};void 0!==e&&(e.exports=n)},{}],32:[function(t,e,i){i.read=function(t,e,i,n,r){var s,a,o=8*r-n-1,l=(1<<o)-1,c=l>>1,h=-7,u=i?r-1:0,d=i?-1:1,p=t[e+u];for(u+=d,s=p&(1<<-h)-1,p>>=-h,h+=o;h>0;s=256*s+t[e+u],u+=d,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=n;h>0;a=256*a+t[e+u],u+=d,h-=8);if(0===s)s=1-c;else{if(s===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,n),s-=c}return(p?-1:1)*a*Math.pow(2,s-n)},i.write=function(t,e,i,n,r,s){var a,o,l,c=8*s-r-1,h=(1<<c)-1,u=h>>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:s-1,f=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=h):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),(e+=a+u>=1?d/l:d*Math.pow(2,1-u))*l>=2&&(a++,l/=2),a+u>=h?(o=0,a=h):a+u>=1?(o=(e*l-1)*Math.pow(2,r),a+=u):(o=e*Math.pow(2,u-1)*Math.pow(2,r),a=0));r>=8;t[i+p]=255&o,p+=f,o/=256,r-=8);for(a=a<<r|o,c+=r;c>0;t[i+p]=255&a,p+=f,a/=256,c-=8);t[i+p-f]|=128*g}},{}],33:[function(t,e,i){var n={}.toString;e.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},{}]},{},[24])(24)},e.exports=n()}));return{name:"qrcode",props:{value:null,options:Object,tag:{type:String,default:"canvas"}},render:function(t){return t(this.tag,this.$slots.default)},watch:{$props:{deep:!0,immediate:!0,handler:function(){this.$el&&this.generate()}}},methods:{generate:function(){var t=this,i=this.options,n=this.tag,r=String(this.value);"canvas"===n?e.toCanvas(this.$el,r,i,(function(t){if(t)throw t})):"img"===n?e.toDataURL(r,i,(function(e,i){if(e)throw e;t.$el.src=i})):e.toString(r,i,(function(e,i){if(e)throw e;t.$el.innerHTML=i}))}},mounted:function(){this.generate()}}}()},18634:(e,i,n)=>{"use strict";n.r(i),n.d(i,{default:()=>Ri});var r=n(21777),s=n(87485),a=n(35810),o=n(32981),l=n(63814),c=n(85072),h=n.n(c),u=n(97825),d=n.n(u),p=n(77659),f=n.n(p),g=n(55056),A=n.n(g),m=n(10540),v=n.n(m),y=n(41113),C=n.n(y),w=n(97380),b={};b.styleTagTransform=C(),b.setAttributes=A(),b.insert=f().bind(null,"head"),b.domAPI=d(),b.insertStyleElement=v(),h()(w.A,b),w.A&&w.A.locals&&w.A.locals;var _=n(53334),E=n(41944),x=n(67607);const S=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},I="object"==typeof global&&global&&global.Object===Object&&global;var k="object"==typeof self&&self&&self.Object===Object&&self;const T=I||k||Function("return this")(),N=function(){return T.Date.now()};var D=/\s/;var P=/^\s+/;const R=function(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&D.test(t.charAt(e)););return e}(t)+1).replace(P,""):t},B=T.Symbol;var L=Object.prototype,O=L.hasOwnProperty,M=L.toString,U=B?B.toStringTag:void 0;var $=Object.prototype.toString;var F=B?B.toStringTag:void 0;const V=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":F&&F in Object(t)?function(t){var e=O.call(t,U),i=t[U];try{t[U]=void 0;var n=!0}catch(t){}var r=M.call(t);return n&&(e?t[U]=i:delete t[U]),r}(t):function(t){return $.call(t)}(t)};var j=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,q=/^0o[0-7]+$/i,H=parseInt;const G=function(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return null!=t&&"object"==typeof t}(t)&&"[object Symbol]"==V(t)}(t))return NaN;if(S(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=S(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=R(t);var i=z.test(t);return i||q.test(t)?H(t.slice(2),i?2:8):j.test(t)?NaN:+t};var W=Math.max,Y=Math.min;var X=n(24764),Q=n(57505),Z=n(85471),K=n(65043);const J=new class{constructor(){this.http=K.Ay}listCollection(t){return this.http.get((0,l.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}))}renameCollection(t,e){return this.http.put((0,l.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}),{collectionName:e}).then((t=>t.data.ocs.data))}getCollectionsByResource(t,e){return this.http.get((0,l.KT)("collaboration/resources/{resourceType}/{resourceId}",{resourceType:t,resourceId:e})).then((t=>t.data.ocs.data))}createCollection(t,e,i){return this.http.post((0,l.KT)("collaboration/resources/{resourceType}/{resourceId}",{resourceType:t,resourceId:e}),{name:i}).then((t=>t.data.ocs.data))}addResource(t,e,i){return i=""+i,this.http.post((0,l.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}),{resourceType:e,resourceId:i}).then((t=>t.data.ocs.data))}removeResource(t,e,i){return this.http.delete((0,l.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}),{params:{resourceType:e,resourceId:i}}).then((t=>t.data.ocs.data))}search(t){return this.http.get((0,l.KT)("collaboration/resources/collections/search/{query}",{query:t})).then((t=>t.data.ocs.data))}},tt=(0,Z.Kh)({collections:[]}),et={addCollections(t){(0,Z.hZ)(tt,"collections",t)},addCollection(t){tt.collections.push(t)},removeCollection(t){(0,Z.hZ)(tt,"collections",tt.collections.filter((e=>e.id!==t)))},updateCollection(t){const e=tt.collections.findIndex((e=>e.id===t.id));-1!==e?(0,Z.hZ)(tt.collections,e,t):tt.collections.push(t)}},it={fetchCollectionsByResource:({resourceType:t,resourceId:e})=>J.getCollectionsByResource(t,e).then((t=>(et.addCollections(t),t))),createCollection:({baseResourceType:t,baseResourceId:e,resourceType:i,resourceId:n,name:r})=>J.createCollection(t,e,r).then((t=>{et.addCollection(t),it.addResourceToCollection({collectionId:t.id,resourceType:i,resourceId:n})})),renameCollection:({collectionId:t,name:e})=>J.renameCollection(t,e).then((t=>(et.updateCollection(t),t))),addResourceToCollection:({collectionId:t,resourceType:e,resourceId:i})=>J.addResource(t,e,i).then((t=>(et.updateCollection(t),t))),removeResource:({collectionId:t,resourceType:e,resourceId:i})=>J.removeResource(t,e,i).then((t=>{t.resources.length>0?et.updateCollection(t):et.removeCollection(t)})),search:t=>J.search(t)};function nt(t,e,i,n,r,s,a,o){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=i,c._compiled=!0),n&&(c.functional=!0),s&&(c._scopeId="data-v-"+s),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=l):r&&(l=o?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var h=c.render;c.render=function(t,e){return l.call(e),h(t,e)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:c}}const rt=nt({name:"CollectionListItem",components:{NcAvatar:E.A,NcActions:X.A,NcActionButton:Q.A},props:{collection:{type:Object,default:null}},data:()=>({detailsOpen:!1,newName:null,error:{}}),computed:{getIcon:()=>t=>[t.iconClass],typeClass:()=>t=>"resource-type-"+t.type,limitedResources:()=>t=>t.resources?t.resources.slice(0,2):[],iconUrl:()=>t=>t.mimetype?OC.MimeType.getIconUrl(t.mimetype):t.iconUrl?t.iconUrl:""},methods:{t:_.t,toggleDetails(){this.detailsOpen=!this.detailsOpen},showDetails(){this.detailsOpen=!0},hideDetails(){this.detailsOpen=!1},removeResource(t,e){it.removeResource({collectionId:t.id,resourceType:e.type,resourceId:e.id})},openRename(){this.newName=this.collection.name},renameCollection(){""!==this.newName?it.renameCollection({collectionId:this.collection.id,name:this.newName}).then((t=>{this.newName=null})).catch((t=>{this.$set(this.error,"rename",(0,_.t)("core","Failed to rename the project")),console.error(t),setTimeout((()=>{(0,Z.hZ)(this.error,"rename",null)}),3e3)})):this.newName=null}}},(function(){var t=this,e=t._self._c;return e("li",{staticClass:"collection-list-item"},[e("NcAvatar",{staticClass:"collection-avatar",attrs:{"display-name":t.collection.name,"allow-placeholder":""}}),null===t.newName?e("span",{staticClass:"collection-item-name",attrs:{title:""},on:{click:t.showDetails}},[t._v(t._s(t.collection.name))]):e("form",{class:{shouldshake:t.error.rename},on:{submit:function(e){return e.preventDefault(),t.renameCollection.apply(null,arguments)}}},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.newName,expression:"newName"}],attrs:{type:"text",autocomplete:"off",autocapitalize:"off"},domProps:{value:t.newName},on:{input:function(e){e.target.composing||(t.newName=e.target.value)}}}),e("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]),t.detailsOpen||null!==t.newName?t._e():e("div",{staticClass:"linked-icons"},t._l(t.limitedResources(t.collection),(function(i){return e("a",{key:i.type+"|"+i.id,class:t.typeClass(i),attrs:{title:i.name,href:i.link}},[e("img",{attrs:{src:t.iconUrl(i)}})])})),0),null===t.newName?e("span",{staticClass:"sharingOptionsGroup"},[e("NcActions",[e("NcActionButton",{attrs:{icon:"icon-info"},on:{click:function(e){return e.preventDefault(),t.toggleDetails.apply(null,arguments)}}},[t._v(" "+t._s(t.detailsOpen?t.t("core","Hide details"):t.t("core","Show details"))+" ")]),e("NcActionButton",{attrs:{icon:"icon-rename"},on:{click:function(e){return e.preventDefault(),t.openRename.apply(null,arguments)}}},[t._v(" "+t._s(t.t("core","Rename project"))+" ")])],1)],1):t._e(),e("transition",{attrs:{name:"fade"}},[t.error.rename?e("div",{staticClass:"error"},[t._v(" "+t._s(t.error.rename)+" ")]):t._e()]),e("transition",{attrs:{name:"fade"}},[t.detailsOpen?e("ul",{staticClass:"resource-list-details"},t._l(t.collection.resources,(function(i){return e("li",{key:i.type+"|"+i.id,class:t.typeClass(i)},[e("a",{attrs:{href:i.link}},[e("img",{attrs:{src:t.iconUrl(i)}}),e("span",{staticClass:"resource-name"},[t._v(t._s(i.name||""))])]),e("span",{staticClass:"icon-close",on:{click:function(e){return t.removeResource(t.collection,i)}}})])})),0):t._e()])],1)}),[],!1,null,"42733c12",null,null).exports,st=function(t,e,i){var n,r,s,a,o,l,c=0,h=!1,u=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function p(e){var i=n,s=r;return n=r=void 0,c=e,a=t.apply(s,i)}function f(t){var i=t-l;return void 0===l||i>=e||i<0||u&&t-c>=s}function g(){var t=N();if(f(t))return A(t);o=setTimeout(g,function(t){var i=e-(t-l);return u?Y(i,s-(t-c)):i}(t))}function A(t){return o=void 0,d&&n?p(t):(n=r=void 0,a)}function m(){var t=N(),i=f(t);if(n=arguments,r=this,l=t,i){if(void 0===o)return function(t){return c=t,o=setTimeout(g,e),h?p(t):a}(l);if(u)return clearTimeout(o),o=setTimeout(g,e),p(l)}return void 0===o&&(o=setTimeout(g,e)),a}return e=G(e)||0,S(i)&&(h=!!i.leading,s=(u="maxWait"in i)?W(G(i.maxWait)||0,e):s,d="trailing"in i?!!i.trailing:d),m.cancel=function(){void 0!==o&&clearTimeout(o),c=0,n=l=r=o=void 0},m.flush=function(){return void 0===o?a:A(N())},m}((function(t,e){""!==t&&(e(!0),it.search(t).then((t=>{this.searchCollections=t})).catch((t=>{console.error("Failed to search for collections",t)})).finally((()=>{e(!1)})))}),500,{}),at={name:"CollectionList",components:{CollectionListItem:rt,NcAvatar:E.A,NcSelect:x.A},props:{type:{type:String,default:null},id:{type:String,default:null},name:{type:String,default:""},isActive:{type:Boolean,default:!0}},setup:()=>({state:tt}),data:()=>({selectIsOpen:!1,generatingCodes:!1,codes:void 0,value:null,model:{},searchCollections:[],error:null,isSelectOpen:!1}),computed:{collections(){return this.state.collections.filter((t=>void 0!==t.resources.find((t=>t&&t.id===""+this.id&&t.type===this.type))))},placeholder(){return this.isSelectOpen?(0,_.t)("core","Type to search for existing projects"):(0,_.t)("core","Add to a project")},options(){const t=[];window.OCP.Collaboration.getTypes().sort().forEach((e=>{t.push({method:0,type:e,title:window.OCP.Collaboration.getLabel(e),class:window.OCP.Collaboration.getIcon(e),action:()=>window.OCP.Collaboration.trigger(e)})}));for(const e in this.searchCollections)-1===this.collections.findIndex((t=>t.id===this.searchCollections[e].id))&&t.push({method:1,title:this.searchCollections[e].name,collectionId:this.searchCollections[e].id});return t}},watch:{type(){this.isActive&&it.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},id(){this.isActive&&it.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},isActive(t){t&&it.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})}},mounted(){it.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},methods:{t:_.t,select(t,e){0===t.method&&t.action().then((e=>{it.createCollection({baseResourceType:this.type,baseResourceId:this.id,resourceType:t.type,resourceId:e,name:this.name}).catch((t=>{this.setError((0,_.t)("core","Failed to create a project"),t)}))})).catch((t=>{console.error("No resource selected",t)})),1===t.method&&it.addResourceToCollection({collectionId:t.collectionId,resourceType:this.type,resourceId:this.id}).catch((t=>{this.setError((0,_.t)("core","Failed to add the item to the project"),t)}))},search(t,e){st.bind(this)(t,e)},showSelect(){this.selectIsOpen=!0,this.$refs.select.$el.focus()},hideSelect(){this.selectIsOpen=!1},isVueComponent:t=>t._isVue,setError(t,e){console.error(t,e),this.error=t,setTimeout((()=>{this.error=null}),5e3)}}},ot=nt(at,(function(){var t=this,e=t._self._c;return t.collections&&t.type&&t.id?e("ul",{staticClass:"collection-list",attrs:{id:"collection-list"}},[e("li",{on:{click:t.showSelect}},[t._m(0),e("div",{attrs:{id:"collection-select-container"}},[e("NcSelect",{ref:"select",attrs:{"aria-label-combobox":t.t("core","Add to a project"),options:t.options,placeholder:t.placeholder,label:"title",limit:5},on:{close:function(e){t.isSelectOpen=!1},open:function(e){t.isSelectOpen=!0},"option:selected":t.select,search:t.search},scopedSlots:t._u([{key:"selected-option",fn:function(i){return[e("span",{staticClass:"option__desc"},[e("span",{staticClass:"option__title"},[t._v(t._s(i.title))])])]}},{key:"option",fn:function(i){return[e("span",{staticClass:"option__wrapper"},[i.class?e("span",{staticClass:"avatar",class:i.class}):2!==i.method?e("NcAvatar",{attrs:{"allow-placeholder":"","display-name":i.title}}):t._e(),e("span",{staticClass:"option__title"},[t._v(t._s(i.title))])],1)]}}],null,!1,2397208459),model:{value:t.value,callback:function(e){t.value=e},expression:"value"}},[e("p",{staticClass:"hint"},[t._v(" "+t._s(t.t("core","Connect items to a project to make them easier to find"))+" ")])])],1)]),e("transition",{attrs:{name:"fade"}},[t.error?e("li",{staticClass:"error"},[t._v(" "+t._s(t.error)+" ")]):t._e()]),t._l(t.collections,(function(t){return e("CollectionListItem",{key:t.id,attrs:{collection:t}})}))],2):t._e()}),[function(){var t=this._self._c;return t("div",{staticClass:"avatar"},[t("span",{staticClass:"icon-projects"})])}],!1,null,"8ebb2593",null,null).exports;var lt=n(77905),ct=n(83241),ht=n(48718),ut=n(51651),dt=n(97012);class pt{constructor(){(function(t,e,i){(e=function(t){var e=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i})(this,"_capabilities",void 0),this._capabilities=(0,s.F)()}get defaultPermissions(){return this._capabilities.files_sharing?.default_permissions}get isPublicUploadEnabled(){return!0===this._capabilities.files_sharing?.public?.upload}get federatedShareDocLink(){return window.OC.appConfig.core.federatedCloudShareDoc}get defaultExpirationDate(){return this.isDefaultExpireDateEnabled&&null!==this.defaultExpireDate?new Date((new Date).setDate((new Date).getDate()+this.defaultExpireDate)):null}get defaultInternalExpirationDate(){return this.isDefaultInternalExpireDateEnabled&&null!==this.defaultInternalExpireDate?new Date((new Date).setDate((new Date).getDate()+this.defaultInternalExpireDate)):null}get defaultRemoteExpirationDateString(){return this.isDefaultRemoteExpireDateEnabled&&null!==this.defaultRemoteExpireDate?new Date((new Date).setDate((new Date).getDate()+this.defaultRemoteExpireDate)):null}get enforcePasswordForPublicLink(){return!0===window.OC.appConfig.core.enforcePasswordForPublicLink}get enableLinkPasswordByDefault(){return!0===window.OC.appConfig.core.enableLinkPasswordByDefault}get isDefaultExpireDateEnforced(){return!0===window.OC.appConfig.core.defaultExpireDateEnforced}get isDefaultExpireDateEnabled(){return!0===window.OC.appConfig.core.defaultExpireDateEnabled}get isDefaultInternalExpireDateEnforced(){return!0===window.OC.appConfig.core.defaultInternalExpireDateEnforced}get isDefaultInternalExpireDateEnabled(){return!0===window.OC.appConfig.core.defaultInternalExpireDateEnabled}get isDefaultRemoteExpireDateEnforced(){return!0===window.OC.appConfig.core.defaultRemoteExpireDateEnforced}get isDefaultRemoteExpireDateEnabled(){return!0===window.OC.appConfig.core.defaultRemoteExpireDateEnabled}get isRemoteShareAllowed(){return!0===window.OC.appConfig.core.remoteShareAllowed}get isPublicShareAllowed(){return!0===this._capabilities?.files_sharing?.public?.enabled}get isMailShareAllowed(){return!0===this._capabilities?.files_sharing?.sharebymail?.enabled&&!0===this.isPublicShareAllowed}get defaultExpireDate(){return window.OC.appConfig.core.defaultExpireDate}get defaultInternalExpireDate(){return window.OC.appConfig.core.defaultInternalExpireDate}get defaultRemoteExpireDate(){return window.OC.appConfig.core.defaultRemoteExpireDate}get isResharingAllowed(){return!0===window.OC.appConfig.core.resharingAllowed}get isPasswordForMailSharesRequired(){return!0===this._capabilities.files_sharing?.sharebymail?.password?.enforced}get shouldAlwaysShowUnique(){return!0===this._capabilities.files_sharing?.sharee?.always_show_unique}get allowGroupSharing(){return!0===window.OC.appConfig.core.allowGroupSharing}get maxAutocompleteResults(){return parseInt(window.OC.config["sharing.maxAutocompleteResults"],10)||25}get minSearchStringLength(){return parseInt(window.OC.config["sharing.minSearchStringLength"],10)||0}get passwordPolicy(){return this._capabilities?.password_policy||{}}get allowCustomTokens(){return this._capabilities?.files_sharing?.public?.custom_tokens}get showFederatedSharesAsInternal(){return(0,o.C)("files_sharing","showFederatedSharesAsInternal",!1)}}const ft=(0,n(35947).YK)().setApp("files_sharing").detectUser().build();class gt{constructor(t){if(function(t,e,i){(e=function(t){var e=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i}(this,"_share",void 0),t.ocs&&t.ocs.data&&t.ocs.data[0]&&(t=t.ocs.data[0]),"string"==typeof t.id&&(t.id=Number.parseInt(t.id)),t.hide_download=!!t.hide_download,t.mail_send=!!t.mail_send,t.attributes&&"string"==typeof t.attributes)try{t.attributes=JSON.parse(t.attributes)}catch(e){console.warn("Could not parse share attributes returned by server",t.attributes)}t.attributes=t.attributes??[],this._share=t}get state(){return this._share}get id(){return this._share.id}get type(){return this._share.share_type}get permissions(){return this._share.permissions}get attributes(){return this._share.attributes||[]}set permissions(t){this._share.permissions=t}get owner(){return this._share.uid_owner}get ownerDisplayName(){return this._share.displayname_owner}get shareWith(){return this._share.share_with}get shareWithDisplayName(){return this._share.share_with_displayname||this._share.share_with}get shareWithDisplayNameUnique(){return this._share.share_with_displayname_unique||this._share.share_with}get shareWithLink(){return this._share.share_with_link}get shareWithAvatar(){return this._share.share_with_avatar}get uidFileOwner(){return this._share.uid_file_owner}get displaynameFileOwner(){return this._share.displayname_file_owner||this._share.uid_file_owner}get createdTime(){return this._share.stime}get expireDate(){return this._share.expiration}set expireDate(t){this._share.expiration=t}get token(){return this._share.token}set token(t){this._share.token=t}get note(){return this._share.note}set note(t){this._share.note=t}get label(){return this._share.label??""}set label(t){this._share.label=t}get mailSend(){return!0===this._share.mail_send}get hideDownload(){return!0===this._share.hide_download||void 0!==this.attributes.find?.((t=>{let{scope:e,key:i,value:n}=t;return"permissions"===e&&"download"===i&&!n}))}set hideDownload(t){if(!t){const t=this.attributes.find((t=>{let{key:e,scope:i}=t;return"download"===e&&"permissions"===i}));t&&(t.value=!0)}this._share.hide_download=!0===t}get password(){return this._share.password}set password(t){this._share.password=t}get passwordExpirationTime(){return this._share.password_expiration_time}set passwordExpirationTime(t){this._share.password_expiration_time=t}get sendPasswordByTalk(){return this._share.send_password_by_talk}set sendPasswordByTalk(t){this._share.send_password_by_talk=t}get path(){return this._share.path}get itemType(){return this._share.item_type}get mimetype(){return this._share.mimetype}get fileSource(){return this._share.file_source}get fileTarget(){return this._share.file_target}get fileParent(){return this._share.file_parent}get hasReadPermission(){return!!(this.permissions&window.OC.PERMISSION_READ)}get hasCreatePermission(){return!!(this.permissions&window.OC.PERMISSION_CREATE)}get hasDeletePermission(){return!!(this.permissions&window.OC.PERMISSION_DELETE)}get hasUpdatePermission(){return!!(this.permissions&window.OC.PERMISSION_UPDATE)}get hasSharePermission(){return!!(this.permissions&window.OC.PERMISSION_SHARE)}get hasDownloadPermission(){return this.attributes.some((t=>"permissions"===t.scope&&"download"===t.key&&!1===t.value))}get isFileRequest(){return function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"[]";const e=t=>"fileRequest"===t.scope&&"enabled"===t.key&&!0===t.value;try{return JSON.parse(t).some(e)}catch(t){return ft.error("Error while parsing share attributes",{error:t}),!1}}(JSON.stringify(this.attributes))}set hasDownloadPermission(t){this.setAttribute("permissions","download",!!t)}setAttribute(t,e,i){const n={scope:t,key:e,value:i};for(const t in this._share.attributes){const e=this._share.attributes[t];if(e.scope===n.scope&&e.key===n.key)return void this._share.attributes.splice(t,1,n)}this._share.attributes.push(n)}get canEdit(){return!0===this._share.can_edit}get canDelete(){return!0===this._share.can_delete}get viaFileid(){return this._share.via_fileid}get viaPath(){return this._share.via_path}get parent(){return this._share.parent}get storageId(){return this._share.storage_id}get storage(){return this._share.storage}get itemSource(){return this._share.item_source}get status(){return this._share.status}}var At=n(85168),mt=n(54373),vt=n(31773);const yt={name:"SharingEntrySimple",components:{NcActions:X.A},props:{title:{type:String,default:"",required:!0},subtitle:{type:String,default:""},isUnique:{type:Boolean,default:!0},ariaExpanded:{type:Boolean,default:null}},computed:{ariaExpandedValue(){return null===this.ariaExpanded?this.ariaExpanded:this.ariaExpanded?"true":"false"}}};var Ct=n(43570),wt={};wt.styleTagTransform=C(),wt.setAttributes=A(),wt.insert=f().bind(null,"head"),wt.domAPI=d(),wt.insertStyleElement=v(),h()(Ct.A,wt),Ct.A&&Ct.A.locals&&Ct.A.locals;var bt=n(14486);const _t=(0,bt.A)(yt,(function(){var t=this,e=t._self._c;return e("li",{staticClass:"sharing-entry"},[t._t("avatar"),t._v(" "),e("div",{staticClass:"sharing-entry__desc"},[e("span",{staticClass:"sharing-entry__title"},[t._v(t._s(t.title))]),t._v(" "),t.subtitle?e("p",[t._v("\n\t\t\t"+t._s(t.subtitle)+"\n\t\t")]):t._e()]),t._v(" "),t.$slots.default?e("NcActions",{ref:"actionsComponent",staticClass:"sharing-entry__actions",attrs:{"menu-align":"right","aria-expanded":t.ariaExpandedValue}},[t._t("default")],2):t._e()],2)}),[],!1,null,"44339fa4",null).exports,Et={name:"SharingEntryInternal",components:{NcActionButton:Q.A,SharingEntrySimple:_t,CheckIcon:mt.A,ClipboardIcon:vt.A},props:{fileInfo:{type:Object,default:()=>{},required:!0}},data:()=>({copied:!1,copySuccess:!1}),computed:{internalLink(){return window.location.protocol+"//"+window.location.host+(0,l.Jv)("/f/")+this.fileInfo.id},copyLinkTooltip(){return this.copied?this.copySuccess?"":t("files_sharing","Cannot copy, please copy the link manually"):t("files_sharing","Copy internal link to clipboard")},internalLinkSubtitle(){return"dir"===this.fileInfo.type?t("files_sharing","Only works for people with access to this folder"):t("files_sharing","Only works for people with access to this file")}},methods:{async copyLink(){try{await navigator.clipboard.writeText(this.internalLink),(0,At.Te)(t("files_sharing","Link copied")),this.$refs.shareEntrySimple.$refs.actionsComponent.$el.focus(),this.copySuccess=!0,this.copied=!0}catch(t){this.copySuccess=!1,this.copied=!0,console.error(t)}finally{setTimeout((()=>{this.copySuccess=!1,this.copied=!1}),4e3)}}}};var xt=n(38779),St={};St.styleTagTransform=C(),St.setAttributes=A(),St.insert=f().bind(null,"head"),St.domAPI=d(),St.insertStyleElement=v(),h()(xt.A,St),xt.A&&xt.A.locals&&xt.A.locals;const It=(0,bt.A)(Et,(function(){var t=this,e=t._self._c;return e("ul",[e("SharingEntrySimple",{ref:"shareEntrySimple",staticClass:"sharing-entry__internal",attrs:{title:t.t("files_sharing","Internal link"),subtitle:t.internalLinkSubtitle},scopedSlots:t._u([{key:"avatar",fn:function(){return[e("div",{staticClass:"avatar-external icon-external-white"})]},proxy:!0}])},[t._v(" "),e("NcActionButton",{attrs:{title:t.copyLinkTooltip,"aria-label":t.copyLinkTooltip},on:{click:t.copyLink},scopedSlots:t._u([{key:"icon",fn:function(){return[t.copied&&t.copySuccess?e("CheckIcon",{staticClass:"icon-checkmark-color",attrs:{size:20}}):e("ClipboardIcon",{attrs:{size:20}})]},proxy:!0}])})],1)],1)}),[],!1,null,"57874406",null).exports;var kt=n(17334),Tt=n.n(kt),Nt=(n(48318),n(61338));const Dt=(0,l.KT)("apps/files_sharing/api/v1/shares"),Pt={methods:{async createShare(e){let{path:i,permissions:n,shareType:r,shareWith:s,publicUpload:a,password:o,sendPasswordByTalk:l,expireDate:c,label:h,note:u,attributes:d}=e;try{const t=await K.Ay.post(Dt,{path:i,permissions:n,shareType:r,shareWith:s,publicUpload:a,password:o,sendPasswordByTalk:l,expireDate:c,label:h,note:u,attributes:d});if(!t?.data?.ocs)throw t;const e=new gt(t.data.ocs.data);return(0,Nt.Ic)("files_sharing:share:created",{share:e}),e}catch(e){console.error("Error while creating share",e);const i=e?.response?.data?.ocs?.meta?.message;throw(0,At.Qg)(i?t("files_sharing","Error creating the share: {errorMessage}",{errorMessage:i}):t("files_sharing","Error creating the share"),{type:"error"}),e}},async deleteShare(e){try{const t=await K.Ay.delete(Dt+`/${e}`);if(!t?.data?.ocs)throw t;return(0,Nt.Ic)("files_sharing:share:deleted",{id:e}),!0}catch(e){console.error("Error while deleting share",e);const i=e?.response?.data?.ocs?.meta?.message;throw OC.Notification.showTemporary(i?t("files_sharing","Error deleting the share: {errorMessage}",{errorMessage:i}):t("files_sharing","Error deleting the share"),{type:"error"}),e}},async updateShare(e,i){try{const t=await K.Ay.put(Dt+`/${e}`,i);if((0,Nt.Ic)("files_sharing:share:updated",{id:e}),t?.data?.ocs)return t.data.ocs.data;throw t}catch(e){if(console.error("Error while updating share",e),400!==e.response.status){const i=e?.response?.data?.ocs?.meta?.message;OC.Notification.showTemporary(i?t("files_sharing","Error updating the share: {errorMessage}",{errorMessage:i}):t("files_sharing","Error updating the share"),{type:"error"})}const i=e.response.data.ocs.meta.message;throw new Error(i)}}}},Rt={NONE:0,READ:1,UPDATE:2,CREATE:4,DELETE:8,SHARE:16},Bt={READ_ONLY:Rt.READ,UPLOAD_AND_UPDATE:Rt.READ|Rt.UPDATE|Rt.CREATE|Rt.DELETE,FILE_DROP:Rt.CREATE,ALL:Rt.UPDATE|Rt.CREATE|Rt.READ|Rt.DELETE|Rt.SHARE,ALL_FILE:Rt.UPDATE|Rt.READ|Rt.SHARE};const Lt={methods:{async openSharingDetails(t){let e={};if(t.handler){const i={};this.suggestions&&(i.suggestions=this.suggestions,i.fileInfo=this.fileInfo,i.query=this.query);const n=await t.handler(i);e=this.mapShareRequestToShareObject(n)}else e=this.mapShareRequestToShareObject(t);if("dir"!==this.fileInfo.type){const t=e.permissions,i=t&~Rt.CREATE&~Rt.DELETE;t!==i&&(ft.debug("Removed create/delete permissions from file share (only valid for folders)"),e.permissions=i)}const i={fileInfo:this.fileInfo,share:e};this.$emit("open-sharing-details",i)},openShareDetailsForCustomSettings(t){t.setCustomPermissions=!0,this.openSharingDetails(t)},mapShareRequestToShareObject(t){if(t.id)return t;const e={attributes:[{value:!0,key:"download",scope:"permissions"}],hideDownload:!1,share_type:t.shareType,share_with:t.shareWith,is_no_user:t.isNoUser,user:t.shareWith,share_with_displayname:t.displayName,subtitle:t.subtitle,permissions:t.permissions??(new pt).defaultPermissions,expiration:""};return new gt(e)}}},Ot={name:"SharingInput",components:{NcSelect:x.A},mixins:[Pt,Lt],props:{shares:{type:Array,default:()=>[],required:!0},linkShares:{type:Array,default:()=>[],required:!0},fileInfo:{type:Object,default:()=>{},required:!0},reshare:{type:gt,default:null},canReshare:{type:Boolean,required:!0},isExternal:{type:Boolean,default:!1},placeholder:{type:String,default:""}},setup:()=>({shareInputId:`share-input-${Math.random().toString(36).slice(2,7)}`}),data:()=>({config:new pt,loading:!1,query:"",recommendations:[],ShareSearch:OCA.Sharing.ShareSearch.state,suggestions:[],value:null}),computed:{externalResults(){return this.ShareSearch.results},inputPlaceholder(){const e=this.config.isRemoteShareAllowed;return this.canReshare?this.placeholder?this.placeholder:e?t("files_sharing","Name, email, or Federated Cloud ID …"):t("files_sharing","Name or email …"):t("files_sharing","Resharing is not allowed")},isValidQuery(){return this.query&&""!==this.query.trim()&&this.query.length>this.config.minSearchStringLength},options(){return this.isValidQuery?this.suggestions:this.recommendations},noResultText(){return this.loading?t("files_sharing","Searching …"):t("files_sharing","No elements found.")}},mounted(){this.isExternal||this.getRecommendations()},methods:{onSelected(t){this.value=null,this.openSharingDetails(t)},async asyncFind(t){this.query=t.trim(),this.isValidQuery&&(this.loading=!0,await this.debounceGetSuggestions(t))},async getSuggestions(e){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.loading=!0,!0===(0,s.F)().files_sharing.sharee.query_lookup_default&&(i=!0);let n=[];const r=[lt.I.Remote,lt.I.RemoteGroup];this.isExternal&&!this.config.showFederatedSharesAsInternal?n.push(...r):(n=n.concat([lt.I.User,lt.I.Group,lt.I.Team,lt.I.Room,lt.I.Guest,lt.I.Deck,lt.I.ScienceMesh]),this.config.showFederatedSharesAsInternal&&n.push(...r)),!0===(0,s.F)().files_sharing.public.enabled&&this.isExternal&&n.push(lt.I.Email);let a=null;try{a=await K.Ay.get((0,l.KT)("apps/files_sharing/api/v1/sharees"),{params:{format:"json",itemType:"dir"===this.fileInfo.type?"folder":"file",search:e,lookup:i,perPage:this.config.maxAutocompleteResults,shareType:n}})}catch(t){return void console.error("Error fetching suggestions",t)}const o=a.data.ocs.data,c=a.data.ocs.data.exact;o.exact=[];const h=Object.values(c).reduce(((t,e)=>t.concat(e)),[]),u=Object.values(o).reduce(((t,e)=>t.concat(e)),[]),d=this.filterOutExistingShares(h).map((t=>this.formatForMultiselect(t))).sort(((t,e)=>t.shareType-e.shareType)),p=this.filterOutExistingShares(u).map((t=>this.formatForMultiselect(t))).sort(((t,e)=>t.shareType-e.shareType)),f=[];o.lookupEnabled&&!i&&f.push({id:"global-lookup",isNoUser:!0,displayName:t("files_sharing","Search globally"),lookup:!0});const g=this.externalResults.filter((t=>!t.condition||t.condition(this))),A=d.concat(p).concat(g).concat(f),m=A.reduce(((t,e)=>e.displayName?(t[e.displayName]||(t[e.displayName]=0),t[e.displayName]++,t):t),{});this.suggestions=A.map((t=>m[t.displayName]>1&&!t.desc?{...t,desc:t.shareWithDisplayNameUnique}:t)),this.loading=!1,console.info("suggestions",this.suggestions)},debounceGetSuggestions:Tt()((function(){this.getSuggestions(...arguments)}),300),async getRecommendations(){this.loading=!0;let t=null;try{t=await K.Ay.get((0,l.KT)("apps/files_sharing/api/v1/sharees_recommended"),{params:{format:"json",itemType:this.fileInfo.type}})}catch(t){return void console.error("Error fetching recommendations",t)}const e=this.externalResults.filter((t=>!t.condition||t.condition(this))),i=Object.values(t.data.ocs.data.exact).reduce(((t,e)=>t.concat(e)),[]);this.recommendations=this.filterOutExistingShares(i).map((t=>this.formatForMultiselect(t))).concat(e),this.loading=!1,console.info("recommendations",this.recommendations)},filterOutExistingShares(t){return t.reduce(((t,e)=>{if("object"!=typeof e)return t;try{if(e.value.shareType===lt.I.User){if(e.value.shareWith===(0,r.HW)().uid)return t;if(this.reshare&&e.value.shareWith===this.reshare.owner)return t}if(e.value.shareType===lt.I.Email){if(-1!==this.linkShares.map((t=>t.shareWith)).indexOf(e.value.shareWith.trim()))return t}else{const i=this.shares.reduce(((t,e)=>(t[e.shareWith]=e.type,t)),{}),n=e.value.shareWith.trim();if(n in i&&i[n]===e.value.shareType)return t}t.push(e)}catch{return t}return t}),[])},shareTypeToIcon(e){switch(e){case lt.I.Guest:return{icon:"icon-user",iconTitle:t("files_sharing","Guest")};case lt.I.RemoteGroup:case lt.I.Group:return{icon:"icon-group",iconTitle:t("files_sharing","Group")};case lt.I.Email:return{icon:"icon-mail",iconTitle:t("files_sharing","Email")};case lt.I.Team:return{icon:"icon-teams",iconTitle:t("files_sharing","Team")};case lt.I.Room:return{icon:"icon-room",iconTitle:t("files_sharing","Talk conversation")};case lt.I.Deck:return{icon:"icon-deck",iconTitle:t("files_sharing","Deck board")};case lt.I.Sciencemesh:return{icon:"icon-sciencemesh",iconTitle:t("files_sharing","ScienceMesh")};default:return{}}},formatForMultiselect(e){let i;return i=e.value.shareType===lt.I.User&&this.config.shouldAlwaysShowUnique?e.shareWithDisplayNameUnique??"":e.value.shareType!==lt.I.Remote&&e.value.shareType!==lt.I.RemoteGroup||!e.value.server?e.value.shareType===lt.I.Email?e.value.shareWith:e.shareWithDescription??"":t("files_sharing","on {server}",{server:e.value.server}),{shareWith:e.value.shareWith,shareType:e.value.shareType,user:e.uuid||e.value.shareWith,isNoUser:e.value.shareType!==lt.I.User,displayName:e.name||e.label,subname:i,shareWithDisplayNameUnique:e.shareWithDisplayNameUnique||"",...this.shareTypeToIcon(e.value.shareType)}}}};var Mt=n(6835),Ut={};Ut.styleTagTransform=C(),Ut.setAttributes=A(),Ut.insert=f().bind(null,"head"),Ut.domAPI=d(),Ut.insertStyleElement=v(),h()(Mt.A,Ut),Mt.A&&Mt.A.locals&&Mt.A.locals;const $t=(0,bt.A)(Ot,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"sharing-search"},[e("label",{staticClass:"hidden-visually",attrs:{for:t.shareInputId}},[t._v("\n\t\t"+t._s(t.isExternal?t.t("files_sharing","Enter external recipients"):t.t("files_sharing","Search for internal recipients"))+"\n\t")]),t._v(" "),e("NcSelect",{ref:"select",staticClass:"sharing-search__input",attrs:{"input-id":t.shareInputId,disabled:!t.canReshare,loading:t.loading,filterable:!1,placeholder:t.inputPlaceholder,"clear-search-on-blur":()=>!1,"user-select":!0,options:t.options,"label-outside":!0},on:{search:t.asyncFind,"option:selected":t.onSelected},scopedSlots:t._u([{key:"no-options",fn:function(e){let{search:i}=e;return[t._v("\n\t\t\t"+t._s(i?t.noResultText:t.placeholder)+"\n\t\t")]}}]),model:{value:t.value,callback:function(e){t.value=e},expression:"value"}})],1)}),[],!1,null,null,null).exports;var Ft=n(71225),Vt=n(72298),jt=n(30594),zt=n(49264);const qt=new pt;async function Ht(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(qt.passwordPolicy.api&&qt.passwordPolicy.api.generate)try{const e=await K.Ay.get(qt.passwordPolicy.api.generate);if(e.data.ocs.data.password)return t&&(0,At.Te)((0,_.Tl)("files_sharing","Password created successfully")),e.data.ocs.data.password}catch(e){console.info("Error generating password from password_policy",e),t&&(0,At.Qg)((0,_.Tl)("files_sharing","Error generating password from password policy"))}const e=new Uint8Array(10),i=52/255;self.crypto.getRandomValues(e);let n="";for(let t=0;t<e.length;t++)n+="abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789".charAt(e[t]*i);return n}var Gt=n(77815);const Wt=(0,Gt.KU)(),Yt={mixins:[Pt],props:{fileInfo:{type:Object,default:()=>{},required:!0},share:{type:gt,default:null},isUnique:{type:Boolean,default:!0}},data(){return{config:new pt,node:null,ShareType:lt.I,errors:{},loading:!1,saving:!1,open:!1,updateQueue:new zt.A({concurrency:1}),reactiveState:this.share?.state}},computed:{path(){return(this.fileInfo.path+"/"+this.fileInfo.name).replace("//","/")},hasNote:{get(){return""!==this.share.note},set(t){this.share.note=t?null:""}},dateTomorrow:()=>new Date((new Date).setDate((new Date).getDate()+1)),lang(){const t=window.dayNamesShort?window.dayNamesShort:["Sun.","Mon.","Tue.","Wed.","Thu.","Fri.","Sat."],e=window.monthNamesShort?window.monthNamesShort:["Jan.","Feb.","Mar.","Apr.","May.","Jun.","Jul.","Aug.","Sep.","Oct.","Nov.","Dec."];return{formatLocale:{firstDayOfWeek:window.firstDay?window.firstDay:0,monthsShort:e,weekdaysMin:t,weekdaysShort:t},monthFormat:"MMM"}},isNewShare(){return!this.share.id},isFolder(){return"dir"===this.fileInfo.type},isPublicShare(){const t=this.share.shareType??this.share.type;return[lt.I.Link,lt.I.Email].includes(t)},isRemoteShare(){return this.share.type===lt.I.RemoteGroup||this.share.type===lt.I.Remote},isShareOwner(){return this.share&&this.share.owner===(0,r.HW)().uid},isExpiryDateEnforced(){return this.isPublicShare?this.config.isDefaultExpireDateEnforced:this.isRemoteShare?this.config.isDefaultRemoteExpireDateEnforced:this.config.isDefaultInternalExpireDateEnforced},hasCustomPermissions(){return![Bt.ALL,Bt.READ_ONLY,Bt.FILE_DROP].includes(this.share.permissions)},maxExpirationDateEnforced(){return this.isExpiryDateEnforced?this.isPublicShare?this.config.defaultExpirationDate:this.isRemoteShare?this.config.defaultRemoteExpirationDateString:this.config.defaultInternalExpirationDate:null},isPasswordProtected:{get(){return this.config.enforcePasswordForPublicLink||!!this.share.password},async set(t){t?(this.share.password=await Ht(!0),this.$set(this.share,"newPassword",this.share.password)):(this.share.password="",this.$delete(this.share,"newPassword"))}}},methods:{async getNode(){const t={path:this.path};try{this.node=await(async t=>{const e=(0,Gt.aN)(),i=await Wt.stat(`${(0,Gt.ei)()}${t}`,{details:!0,data:e});return(0,Gt.pO)(i.data)})(t.path),ft.info("Fetched node:",{node:this.node})}catch(t){ft.error("Error:",t)}},checkShare:t=>(!t.password||"string"==typeof t.password&&""!==t.password.trim())&&!(t.expirationDate&&!t.expirationDate.isValid()),formatDateToString:t=>new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())).toISOString().split("T")[0],onExpirationChange(t){if(!t)return this.share.expireDate=null,void this.$set(this.share,"expireDate",null);const e=t instanceof Date?t:new Date(t);this.share.expireDate=this.formatDateToString(e)},onNoteChange(t){this.$set(this.share,"newNote",t.trim())},onNoteSubmit(){this.share.newNote&&(this.share.note=this.share.newNote,this.$delete(this.share,"newNote"),this.queueUpdate("note"))},async onDelete(){try{this.loading=!0,this.open=!1,await this.deleteShare(this.share.id),console.debug("Share deleted",this.share.id);const e="file"===this.share.itemType?t("files_sharing",'File "{path}" has been unshared',{path:this.share.path}):t("files_sharing",'Folder "{path}" has been unshared',{path:this.share.path});(0,At.Te)(e),this.$emit("remove:share",this.share),await this.getNode(),(0,Nt.Ic)("files:node:updated",this.node)}catch(t){this.open=!0}finally{this.loading=!1}},queueUpdate(){for(var e=arguments.length,i=new Array(e),n=0;n<e;n++)i[n]=arguments[n];if(0!==i.length){if(this.share.id){const e={};return i.forEach((t=>{null===this.share[t]||void 0===this.share[t]?e[t]="":"object"==typeof this.share[t]?e[t]=JSON.stringify(this.share[t]):e[t]=this.share[t].toString()})),this.updateQueue.add((async()=>{this.saving=!0,this.errors={};try{const t=await this.updateShare(this.share.id,e);i.indexOf("password")>=0&&(this.$delete(this.share,"newPassword"),this.share.passwordExpirationTime=t.password_expiration_time),this.$delete(this.errors,i[0]),(0,At.Te)(this.updateSuccessMessage(i))}catch(e){ft.error("Could not update share",{error:e,share:this.share,propertyNames:i});const{message:n}=e;n&&""!==n?(this.onSyncError(i[0],n),(0,At.Qg)(n)):(0,At.Qg)(t("files_sharing","Could not update share"))}finally{this.saving=!1}}))}console.debug("Updated local share",this.share)}},updateSuccessMessage(e){if(1!==e.length)return t("files_sharing","Share saved");switch(e[0]){case"expireDate":return t("files_sharing","Share expiry date saved");case"hideDownload":return t("files_sharing","Share hide-download state saved");case"label":return t("files_sharing","Share label saved");case"note":return t("files_sharing","Share note for recipient saved");case"password":return t("files_sharing","Share password saved");case"permissions":return t("files_sharing","Share permissions saved");default:return t("files_sharing","Share saved")}},onSyncError(t,e){switch(this.open=!0,t){case"password":case"pending":case"expireDate":case"label":case"note":{this.$set(this.errors,t,e);let i=this.$refs[t];if(i){i.$el&&(i=i.$el);const t=i.querySelector(".focusable");t&&t.focus()}break}case"sendPasswordByTalk":this.$set(this.errors,t,e),this.share.sendPasswordByTalk=!this.share.sendPasswordByTalk}},debounceQueueUpdate:Tt()((function(t){this.queueUpdate(t)}),500)}},Xt={name:"SharingEntryInherited",components:{NcActionButton:Q.A,NcActionLink:Vt.A,NcActionText:jt.A,NcAvatar:E.A,SharingEntrySimple:_t},mixins:[Yt],props:{share:{type:gt,required:!0}},computed:{viaFileTargetUrl(){return(0,l.Jv)("/f/{fileid}",{fileid:this.share.viaFileid})},viaFolderName(){return(0,Ft.P8)(this.share.viaPath)}}};var Qt=n(59879),Zt={};Zt.styleTagTransform=C(),Zt.setAttributes=A(),Zt.insert=f().bind(null,"head"),Zt.domAPI=d(),Zt.insertStyleElement=v(),h()(Qt.A,Zt),Qt.A&&Qt.A.locals&&Qt.A.locals;const Kt=(0,bt.A)(Xt,(function(){var t=this,e=t._self._c;return e("SharingEntrySimple",{key:t.share.id,staticClass:"sharing-entry__inherited",attrs:{title:t.share.shareWithDisplayName},scopedSlots:t._u([{key:"avatar",fn:function(){return[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{user:t.share.shareWith,"display-name":t.share.shareWithDisplayName}})]},proxy:!0}])},[t._v(" "),e("NcActionText",{attrs:{icon:"icon-user"}},[t._v("\n\t\t"+t._s(t.t("files_sharing","Added by {initiator}",{initiator:t.share.ownerDisplayName}))+"\n\t")]),t._v(" "),t.share.viaPath&&t.share.viaFileid?e("NcActionLink",{attrs:{icon:"icon-folder",href:t.viaFileTargetUrl}},[t._v("\n\t\t"+t._s(t.t("files_sharing","Via “{folder}”",{folder:t.viaFolderName}))+"\n\t")]):t._e(),t._v(" "),t.share.canDelete?e("NcActionButton",{attrs:{icon:"icon-close"},on:{click:function(e){return e.preventDefault(),t.onDelete.apply(null,arguments)}}},[t._v("\n\t\t"+t._s(t.t("files_sharing","Unshare"))+"\n\t")]):t._e()],1)}),[],!1,null,"fe8ed59e",null).exports,Jt={name:"SharingInherited",components:{NcActionButton:Q.A,SharingEntryInherited:Kt,SharingEntrySimple:_t},props:{fileInfo:{type:Object,default:()=>{},required:!0}},data:()=>({loaded:!1,loading:!1,showInheritedShares:!1,shares:[]}),computed:{showInheritedSharesIcon(){return this.loading?"icon-loading-small":this.showInheritedShares?"icon-triangle-n":"icon-triangle-s"},mainTitle:()=>t("files_sharing","Others with access"),subTitle(){return this.showInheritedShares&&0===this.shares.length?t("files_sharing","No other accounts with access found"):""},toggleTooltip(){return"dir"===this.fileInfo.type?t("files_sharing","Toggle list of others with access to this directory"):t("files_sharing","Toggle list of others with access to this file")},fullPath(){return`${this.fileInfo.path}/${this.fileInfo.name}`.replace("//","/")}},watch:{fileInfo(){this.resetState()}},methods:{toggleInheritedShares(){this.showInheritedShares=!this.showInheritedShares,this.showInheritedShares?this.fetchInheritedShares():this.resetState()},async fetchInheritedShares(){this.loading=!0;try{const t=(0,l.KT)("apps/files_sharing/api/v1/shares/inherited?format=json&path={path}",{path:this.fullPath}),e=await K.Ay.get(t);this.shares=e.data.ocs.data.map((t=>new gt(t))).sort(((t,e)=>e.createdTime-t.createdTime)),console.info(this.shares),this.loaded=!0}catch(e){OC.Notification.showTemporary(t("files_sharing","Unable to fetch inherited shares"),{type:"error"})}finally{this.loading=!1}},resetState(){this.loaded=!1,this.loading=!1,this.showInheritedShares=!1,this.shares=[]},removeShare(t){const e=this.shares.findIndex((e=>e===t));this.shares.splice(e,1)}}};var te=n(56467),ee={};ee.styleTagTransform=C(),ee.setAttributes=A(),ee.insert=f().bind(null,"head"),ee.domAPI=d(),ee.insertStyleElement=v(),h()(te.A,ee),te.A&&te.A.locals&&te.A.locals;const ie=(0,bt.A)(Jt,(function(){var t=this,e=t._self._c;return t.shares.length?e("ul",{attrs:{id:"sharing-inherited-shares"}},[e("SharingEntrySimple",{staticClass:"sharing-entry__inherited",attrs:{title:t.mainTitle,subtitle:t.subTitle,"aria-expanded":t.showInheritedShares},scopedSlots:t._u([{key:"avatar",fn:function(){return[e("div",{staticClass:"avatar-shared icon-more-white"})]},proxy:!0}],null,!1,1184892072)},[t._v(" "),e("NcActionButton",{attrs:{icon:t.showInheritedSharesIcon,"aria-label":t.toggleTooltip,title:t.toggleTooltip},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.toggleInheritedShares.apply(null,arguments)}}})],1),t._v(" "),t._l(t.shares,(function(i){return e("SharingEntryInherited",{key:i.id,attrs:{"file-info":t.fileInfo,share:i},on:{"remove:share":t.removeShare}})}))],2):t._e()}),[],!1,null,"a6cc72e6",null).exports;var ne=n(17816),re=n.n(ne),se=n(97691),ae=n(44131),oe=n(15502),le=n(94219);const ce={name:"TuneIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},he=(0,bt.A)(ce,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon tune-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ue={name:"CalendarBlankIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},de=(0,bt.A)(ue,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon calendar-blank-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,pe={name:"QrcodeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},fe=(0,bt.A)(pe,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon qrcode-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ge={name:"ExclamationIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ae=(0,bt.A)(ge,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon exclamation-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,me={name:"LockIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ve=(0,bt.A)(me,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon lock-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ye={name:"CheckBoldIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ce=(0,bt.A)(ye,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon check-bold-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var we=n(66001),be=n(96078);const _e={name:"TriangleSmallDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ee=(0,bt.A)(_e,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon triangle-small-down-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M8 9H16L12 16"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,xe={name:"EyeOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Se=(0,bt.A)(xe,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon eye-outline-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var Ie=n(2413);const ke={name:"FileUploadIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Te=(0,bt.A)(ke,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-upload-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Ne={name:"SharingEntryQuickShareSelect",components:{DropdownIcon:Ee,NcActions:X.A,NcActionButton:Q.A},mixins:[Yt,Lt],props:{share:{type:Object,required:!0}},emits:["open-sharing-details"],data:()=>({selectedOption:""}),computed:{ariaLabel(){return t("files_sharing",'Quick share options, the current selected is "{selectedOption}"',{selectedOption:this.selectedOption})},canViewText:()=>t("files_sharing","View only"),canEditText:()=>t("files_sharing","Can edit"),fileDropText:()=>t("files_sharing","File request"),customPermissionsText:()=>t("files_sharing","Custom permissions"),preSelectedOption(){return(this.share.permissions&~Rt.SHARE)===Bt.READ_ONLY?this.canViewText:this.share.permissions===Bt.ALL||this.share.permissions===Bt.ALL_FILE?this.canEditText:(this.share.permissions&~Rt.SHARE)===Bt.FILE_DROP?this.fileDropText:this.customPermissionsText},options(){const t=[{label:this.canViewText,icon:Se},{label:this.canEditText,icon:Ie.A}];return this.supportsFileDrop&&t.push({label:this.fileDropText,icon:Te}),t.push({label:this.customPermissionsText,icon:he}),t},supportsFileDrop(){if(this.isFolder&&this.config.isPublicUploadEnabled){const t=this.share.type??this.share.shareType;return[lt.I.Link,lt.I.Email].includes(t)}return!1},dropDownPermissionValue(){switch(this.selectedOption){case this.canEditText:return this.isFolder?Bt.ALL:Bt.ALL_FILE;case this.fileDropText:return Bt.FILE_DROP;case this.customPermissionsText:return"custom";case this.canViewText:default:return Bt.READ_ONLY}}},created(){this.selectedOption=this.preSelectedOption},mounted(){(0,Nt.B1)("update:share",(t=>{t.id===this.share.id&&(this.share.permissions=t.permissions,this.selectedOption=this.preSelectedOption)}))},unmounted(){(0,Nt.al)("update:share")},methods:{selectOption(t){this.selectedOption=t,t===this.customPermissionsText?this.$emit("open-sharing-details"):(this.share.permissions=this.dropDownPermissionValue,this.queueUpdate("permissions"),this.$refs.quickShareActions.$refs.menuButton.$el.focus())}}},De=Ne;var Pe=n(88522),Re={};Re.styleTagTransform=C(),Re.setAttributes=A(),Re.insert=f().bind(null,"head"),Re.domAPI=d(),Re.insertStyleElement=v(),h()(Pe.A,Re),Pe.A&&Pe.A.locals&&Pe.A.locals;const Be=(0,bt.A)(De,(function(){var t=this,e=t._self._c;return e("NcActions",{ref:"quickShareActions",staticClass:"share-select",attrs:{"menu-name":t.selectedOption,"aria-label":t.ariaLabel,type:"tertiary-no-background",disabled:!t.share.canEdit,"force-name":""},scopedSlots:t._u([{key:"icon",fn:function(){return[e("DropdownIcon",{attrs:{size:15}})]},proxy:!0}])},[t._v(" "),t._l(t.options,(function(i){return e("NcActionButton",{key:i.label,attrs:{type:"radio","model-value":i.label===t.selectedOption,"close-after-click":""},on:{click:function(e){return t.selectOption(i.label)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.icon,{tag:"component"})]},proxy:!0}],null,!0)},[t._v("\n\t\t"+t._s(i.label)+"\n\t")])}))],2)}),[],!1,null,"2aa230f1",null).exports;var Le=n(4604);const Oe={name:"ClockIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Me=(0,bt.A)(Oe,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon clock-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Ue={name:"ShareExpiryTime",components:{NcButton:dt.A,NcPopover:ht.N,NcDateTime:Le.A,ClockIcon:Me},props:{share:{type:Object,required:!0}},computed:{expiryTime(){return this.share?.expireDate?new Date(this.share.expireDate).getTime():null},timeFormat:()=>({dateStyle:"full",timeStyle:"short"})}};var $e=n(63316),Fe={};Fe.styleTagTransform=C(),Fe.setAttributes=A(),Fe.insert=f().bind(null,"head"),Fe.domAPI=d(),Fe.insertStyleElement=v(),h()($e.A,Fe),$e.A&&$e.A.locals&&$e.A.locals;const Ve=(0,bt.A)(Ue,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"share-expiry-time"},[e("NcPopover",{attrs:{"popup-role":"dialog"},scopedSlots:t._u([{key:"trigger",fn:function(){return[t.expiryTime?e("NcButton",{staticClass:"hint-icon",attrs:{type:"tertiary","aria-label":t.t("files_sharing","Share expiration: {date}",{date:new Date(t.expiryTime).toLocaleString()})},scopedSlots:t._u([{key:"icon",fn:function(){return[e("ClockIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,3754271979)}):t._e()]},proxy:!0}])},[t._v(" "),e("h3",{staticClass:"hint-heading"},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Share Expiration"))+"\n\t\t")]),t._v(" "),t.expiryTime?e("p",{staticClass:"hint-body"},[e("NcDateTime",{attrs:{timestamp:t.expiryTime,format:t.timeFormat,"relative-time":!1}}),t._v(" ("),e("NcDateTime",{attrs:{timestamp:t.expiryTime}}),t._v(")\n\t\t")],1):t._e()])],1)}),[],!1,null,"46cd2ca2",null).exports,je={name:"ExternalShareAction",props:{id:{type:String,required:!0},action:{type:Object,default:()=>({})},fileInfo:{type:Object,default:()=>{},required:!0},share:{type:gt,default:null}},computed:{data(){return this.action.data(this)}}},ze=(0,bt.A)(je,(function(){var t=this;return(0,t._self._c)(t.data.is,t._g(t._b({tag:"Component"},"Component",t.data,!1),t.action.handlers),[t._v("\n\t"+t._s(t.data.text)+"\n")])}),[],!1,null,null,null).exports,qe={name:"SharingEntryLink",components:{ExternalShareAction:ze,NcActions:X.A,NcActionButton:Q.A,NcActionCheckbox:se.N,NcActionInput:ae.A,NcActionLink:Vt.A,NcActionText:jt.A,NcActionSeparator:oe.A,NcAvatar:E.A,NcDialog:le.A,VueQrcode:re(),Tune:he,IconCalendarBlank:de,IconQr:fe,ErrorIcon:Ae,LockIcon:ve,CheckIcon:Ce,ClipboardIcon:vt.A,CloseIcon:we.A,PlusIcon:be.A,SharingEntryQuickShareSelect:Be,ShareExpiryTime:Ve},mixins:[Yt,Lt],props:{canReshare:{type:Boolean,default:!0},index:{type:Number,default:null}},data:()=>({shareCreationComplete:!1,copySuccess:!0,copied:!1,defaultExpirationDateEnabled:!1,pending:!1,ExternalLegacyLinkActions:OCA.Sharing.ExternalLinkActions.state,ExternalShareActions:OCA.Sharing.ExternalShareActions.state,showQRCode:!1}),computed:{title(){const t={escape:!1};if(this.share&&this.share.id){if(!this.isShareOwner&&this.share.ownerDisplayName)return this.isEmailShareType?(0,_.t)("files_sharing","{shareWith} by {initiator}",{shareWith:this.share.shareWith,initiator:this.share.ownerDisplayName},t):(0,_.t)("files_sharing","Shared via link by {initiator}",{initiator:this.share.ownerDisplayName},t);if(this.share.label&&""!==this.share.label.trim())return this.isEmailShareType?this.isFileRequest?(0,_.t)("files_sharing","File request ({label})",{label:this.share.label.trim()},t):(0,_.t)("files_sharing","Mail share ({label})",{label:this.share.label.trim()},t):(0,_.t)("files_sharing","Share link ({label})",{label:this.share.label.trim()},t);if(this.isEmailShareType)return this.share.shareWith&&""!==this.share.shareWith.trim()?this.share.shareWith:this.isFileRequest?(0,_.t)("files_sharing","File request"):(0,_.t)("files_sharing","Mail share");if(null===this.index)return(0,_.t)("files_sharing","Share link")}return this.index>=1?(0,_.t)("files_sharing","Share link ({index})",{index:this.index}):(0,_.t)("files_sharing","Create public link")},subtitle(){return this.isEmailShareType&&this.title!==this.share.shareWith?this.share.shareWith:null},passwordExpirationTime(){if(null===this.share.passwordExpirationTime)return null;const t=(0,ut.A)(this.share.passwordExpirationTime);return!(t.diff((0,ut.A)())<0)&&t.fromNow()},isTalkEnabled:()=>void 0!==OC.appswebroots.spreed,isPasswordProtectedByTalkAvailable(){return this.isPasswordProtected&&this.isTalkEnabled},isPasswordProtectedByTalk:{get(){return this.share.sendPasswordByTalk},async set(t){this.share.sendPasswordByTalk=t}},isEmailShareType(){return!!this.share&&this.share.type===lt.I.Email},canTogglePasswordProtectedByTalkAvailable(){return!(!this.isPasswordProtected||this.isEmailShareType&&!this.hasUnsavedPassword)},pendingDataIsMissing(){return this.pendingPassword||this.pendingEnforcedPassword||this.pendingDefaultExpirationDate||this.pendingEnforcedExpirationDate},pendingPassword(){return this.config.enableLinkPasswordByDefault&&this.isPendingShare},pendingEnforcedPassword(){return this.config.enforcePasswordForPublicLink&&this.isPendingShare},pendingEnforcedExpirationDate(){return this.config.isDefaultExpireDateEnforced&&this.isPendingShare},pendingDefaultExpirationDate(){return(this.config.defaultExpirationDate instanceof Date||!isNaN(new Date(this.config.defaultExpirationDate).getTime()))&&this.isPendingShare},isPendingShare(){return!(!this.share||this.share.id)},sharePolicyHasEnforcedProperties(){return this.config.enforcePasswordForPublicLink||this.config.isDefaultExpireDateEnforced},enforcedPropertiesMissing(){if(!this.sharePolicyHasEnforcedProperties)return!1;if(!this.share)return!0;if(this.share.id)return!0;const t=this.config.enforcePasswordForPublicLink&&!this.share.password,e=this.config.isDefaultExpireDateEnforced&&!this.share.expireDate;return t||e},hasUnsavedPassword(){return void 0!==this.share.newPassword},shareLink(){return(0,l.Jv)("/s/{token}",{token:this.share.token},{baseURL:(0,l.$_)()})},actionsTooltip(){return(0,_.t)("files_sharing",'Actions for "{title}"',{title:this.title})},copyLinkTooltip(){return this.copied?this.copySuccess?"":(0,_.t)("files_sharing","Cannot copy, please copy the link manually"):(0,_.t)("files_sharing",'Copy public link of "{title}" to clipboard',{title:this.title})},externalLegacyLinkActions(){return this.ExternalLegacyLinkActions.actions},externalLinkActions(){return this.ExternalShareActions.actions.filter((t=>(t.shareType.includes(lt.I.Link)||t.shareType.includes(lt.I.Email))&&!t.advanced))},isPasswordPolicyEnabled(){return"object"==typeof this.config.passwordPolicy},canChangeHideDownload(){return this.fileInfo.shareAttributes.some((t=>"permissions"===t.scope&&"download"===t.key&&!1===t.value))},isFileRequest(){return this.share.isFileRequest}},mounted(){this.defaultExpirationDateEnabled=this.config.defaultExpirationDate instanceof Date,this.share&&this.isNewShare&&(this.share.expireDate=this.defaultExpirationDateEnabled?this.formatDateToString(this.config.defaultExpirationDate):"")},methods:{shareRequiresReview(t){return!t&&(this.defaultExpirationDateEnabled||this.config.enableLinkPasswordByDefault)},async onNewLinkShare(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(ft.debug("onNewLinkShare called (with this.share)",this.share),this.loading)return;const e={share_type:lt.I.Link};if(this.config.isDefaultExpireDateEnforced&&(e.expiration=this.formatDateToString(this.config.defaultExpirationDate)),ft.debug("Missing required properties?",this.enforcedPropertiesMissing),this.sharePolicyHasEnforcedProperties&&this.enforcedPropertiesMissing||this.shareRequiresReview(!0===t)){this.pending=!0,this.shareCreationComplete=!1,ft.info("Share policy requires a review or has mandated properties (password, expirationDate)..."),(this.config.enableLinkPasswordByDefault||this.config.enforcePasswordForPublicLink)&&(e.password=await Ht(!0));const t=new gt(e),i=await new Promise((e=>{this.$emit("add:share",t,e)}));this.open=!1,this.pending=!1,i.open=!0}else{if(this.share&&!this.share.id){if(this.checkShare(this.share)){try{ft.info("Sending existing share to server",this.share),await this.pushNewLinkShare(this.share,!0),this.shareCreationComplete=!0,ft.info("Share created on server",this.share)}catch(t){return this.pending=!1,ft.error("Error creating share",t),!1}return!0}return this.open=!0,(0,At.Qg)((0,_.t)("files_sharing","Error, please enter proper password and/or expiration date")),!1}const t=new gt(e);await this.pushNewLinkShare(t),this.shareCreationComplete=!0}},async pushNewLinkShare(t,e){try{if(this.loading)return!0;this.loading=!0,this.errors={};const i={path:(this.fileInfo.path+"/"+this.fileInfo.name).replace("//","/"),shareType:lt.I.Link,password:t.password,expireDate:t.expireDate??"",attributes:JSON.stringify(this.fileInfo.shareAttributes)};console.debug("Creating link share with options",i);const n=await this.createShare(i);let r;this.open=!1,this.shareCreationComplete=!0,console.debug("Link share created",n),r=e?await new Promise((t=>{this.$emit("update:share",n,t)})):await new Promise((t=>{this.$emit("add:share",n,t)})),await this.getNode(),(0,Nt.Ic)("files:node:updated",this.node),this.config.enforcePasswordForPublicLink||r.copyLink(),(0,At.Te)((0,_.t)("files_sharing","Link share created"))}catch(t){const e=t?.response?.data?.ocs?.meta?.message;if(!e)return(0,At.Qg)((0,_.t)("files_sharing","Error while creating the share")),void console.error(t);throw e.match(/password/i)?this.onSyncError("password",e):e.match(/date/i)?this.onSyncError("expireDate",e):this.onSyncError("pending",e),t}finally{this.loading=!1,this.shareCreationComplete=!0}},async copyLink(){try{await navigator.clipboard.writeText(this.shareLink),(0,At.Te)((0,_.t)("files_sharing","Link copied")),this.$refs.copyButton.$el.focus(),this.copySuccess=!0,this.copied=!0}catch(t){this.copySuccess=!1,this.copied=!0,console.error(t)}finally{setTimeout((()=>{this.copySuccess=!1,this.copied=!1}),4e3)}},onPasswordChange(t){this.$set(this.share,"newPassword",t)},onPasswordDisable(){this.share.password="",this.$delete(this.share,"newPassword"),this.share.id&&this.queueUpdate("password")},onPasswordSubmit(){this.hasUnsavedPassword&&(this.share.password=this.share.newPassword.trim(),this.queueUpdate("password"))},onPasswordProtectedByTalkChange(){this.hasUnsavedPassword&&(this.share.password=this.share.newPassword.trim()),this.queueUpdate("sendPasswordByTalk","password")},onMenuClose(){this.onPasswordSubmit(),this.onNoteSubmit()},onExpirationDateToggleUpdate(t){this.share.expireDate=t?this.formatDateToString(this.config.defaultExpirationDate):""},expirationDateChanged(t){const e=t?.target?.value,i=!!e&&!isNaN(new Date(e).getTime());this.defaultExpirationDateEnabled=i},onCancel(){this.shareCreationComplete||this.$emit("remove:share",this.share)}}},He=qe;var Ge=n(93057),We={};We.styleTagTransform=C(),We.setAttributes=A(),We.insert=f().bind(null,"head"),We.domAPI=d(),We.insertStyleElement=v(),h()(Ge.A,We),Ge.A&&Ge.A.locals&&Ge.A.locals;const Ye={name:"SharingLinkList",components:{SharingEntryLink:(0,bt.A)(He,(function(){var t=this,e=t._self._c;return e("li",{staticClass:"sharing-entry sharing-entry__link",class:{"sharing-entry--share":t.share}},[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{"is-no-user":!0,"icon-class":t.isEmailShareType?"avatar-link-share icon-mail-white":"avatar-link-share icon-public-white"}}),t._v(" "),e("div",{staticClass:"sharing-entry__summary"},[e("div",{staticClass:"sharing-entry__desc"},[e("span",{staticClass:"sharing-entry__title",attrs:{title:t.title}},[t._v("\n\t\t\t\t"+t._s(t.title)+"\n\t\t\t")]),t._v(" "),t.subtitle?e("p",[t._v("\n\t\t\t\t"+t._s(t.subtitle)+"\n\t\t\t")]):t._e(),t._v(" "),t.share&&void 0!==t.share.permissions?e("SharingEntryQuickShareSelect",{attrs:{share:t.share,"file-info":t.fileInfo},on:{"open-sharing-details":function(e){return t.openShareDetailsForCustomSettings(t.share)}}}):t._e()],1),t._v(" "),e("div",{staticClass:"sharing-entry__actions"},[t.share&&t.share.expireDate?e("ShareExpiryTime",{attrs:{share:t.share}}):t._e(),t._v(" "),e("div",[t.share&&(!t.isEmailShareType||t.isFileRequest)&&t.share.token?e("NcActions",{ref:"copyButton",staticClass:"sharing-entry__copy"},[e("NcActionButton",{attrs:{"aria-label":t.copyLinkTooltip,title:t.copyLinkTooltip,href:t.shareLink},on:{click:function(e){return e.preventDefault(),t.copyLink.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.copied&&t.copySuccess?e("CheckIcon",{staticClass:"icon-checkmark-color",attrs:{size:20}}):e("ClipboardIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,4269614823)})],1):t._e()],1)],1)]),t._v(" "),!t.pending&&t.pendingDataIsMissing?e("NcActions",{staticClass:"sharing-entry__actions",attrs:{"aria-label":t.actionsTooltip,"menu-align":"right",open:t.open},on:{"update:open":function(e){t.open=e},close:t.onCancel}},[t.errors.pending?e("NcActionText",{staticClass:"error",scopedSlots:t._u([{key:"icon",fn:function(){return[e("ErrorIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,1966124155)},[t._v("\n\t\t\t"+t._s(t.errors.pending)+"\n\t\t")]):e("NcActionText",{attrs:{icon:"icon-info"}},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Please enter the following required information before creating the share"))+"\n\t\t")]),t._v(" "),t.pendingPassword?e("NcActionCheckbox",{staticClass:"share-link-password-checkbox",attrs:{checked:t.isPasswordProtected,disabled:t.config.enforcePasswordForPublicLink||t.saving},on:{"update:checked":function(e){t.isPasswordProtected=e},uncheck:t.onPasswordDisable}},[t._v("\n\t\t\t"+t._s(t.config.enforcePasswordForPublicLink?t.t("files_sharing","Password protection (enforced)"):t.t("files_sharing","Password protection"))+"\n\t\t")]):t._e(),t._v(" "),t.pendingEnforcedPassword||t.share.password?e("NcActionInput",{staticClass:"share-link-password",attrs:{label:t.t("files_sharing","Enter a password"),value:t.share.password,disabled:t.saving,required:t.config.enableLinkPasswordByDefault||t.config.enforcePasswordForPublicLink,minlength:t.isPasswordPolicyEnabled&&t.config.passwordPolicy.minLength,autocomplete:"new-password"},on:{"update:value":function(e){return t.$set(t.share,"password",e)},submit:function(e){return t.onNewLinkShare(!0)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("LockIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2056568168)}):t._e(),t._v(" "),t.pendingDefaultExpirationDate?e("NcActionCheckbox",{staticClass:"share-link-expiration-date-checkbox",attrs:{checked:t.defaultExpirationDateEnabled,disabled:t.pendingEnforcedExpirationDate||t.saving},on:{"update:checked":function(e){t.defaultExpirationDateEnabled=e},"update:model-value":t.onExpirationDateToggleUpdate}},[t._v("\n\t\t\t"+t._s(t.config.isDefaultExpireDateEnforced?t.t("files_sharing","Enable link expiration (enforced)"):t.t("files_sharing","Enable link expiration"))+"\n\t\t")]):t._e(),t._v(" "),(t.pendingDefaultExpirationDate||t.pendingEnforcedExpirationDate)&&t.defaultExpirationDateEnabled?e("NcActionInput",{staticClass:"share-link-expire-date",attrs:{"data-cy-files-sharing-expiration-date-input":"",label:t.pendingEnforcedExpirationDate?t.t("files_sharing","Enter expiration date (enforced)"):t.t("files_sharing","Enter expiration date"),disabled:t.saving,"is-native-picker":!0,"hide-label":!0,value:new Date(t.share.expireDate),type:"date",min:t.dateTomorrow,max:t.maxExpirationDateEnforced},on:{"update:model-value":t.onExpirationChange,change:t.expirationDateChanged},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconCalendarBlank",{attrs:{size:20}})]},proxy:!0}],null,!1,3418578971)}):t._e(),t._v(" "),e("NcActionButton",{on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onNewLinkShare(!0)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CheckIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2630571749)},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Create share"))+"\n\t\t")]),t._v(" "),e("NcActionButton",{on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onCancel.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CloseIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2428343285)},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Cancel"))+"\n\t\t")])],1):t.loading?e("div",{staticClass:"icon-loading-small sharing-entry__loading"}):e("NcActions",{staticClass:"sharing-entry__actions",attrs:{"aria-label":t.actionsTooltip,"menu-align":"right",open:t.open},on:{"update:open":function(e){t.open=e},close:t.onMenuClose}},[t.share?[t.share.canEdit&&t.canReshare?[e("NcActionButton",{attrs:{disabled:t.saving,"close-after-click":!0},on:{click:function(e){return e.preventDefault(),t.openSharingDetails.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Tune",{attrs:{size:20}})]},proxy:!0}],null,!1,1300586850)},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Customize link"))+"\n\t\t\t\t")])]:t._e(),t._v(" "),e("NcActionButton",{attrs:{"close-after-click":!0},on:{click:function(e){e.preventDefault(),t.showQRCode=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconQr",{attrs:{size:20}})]},proxy:!0}],null,!1,1082198240)},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Generate QR code"))+"\n\t\t\t")]),t._v(" "),e("NcActionSeparator"),t._v(" "),t._l(t.externalLinkActions,(function(i){return e("ExternalShareAction",{key:i.id,attrs:{id:i.id,action:i,"file-info":t.fileInfo,share:t.share}})})),t._v(" "),t._l(t.externalLegacyLinkActions,(function(i,n){let{icon:r,url:s,name:a}=i;return e("NcActionLink",{key:n,attrs:{href:s(t.shareLink),icon:r,target:"_blank"}},[t._v("\n\t\t\t\t"+t._s(a)+"\n\t\t\t")])})),t._v(" "),!t.isEmailShareType&&t.canReshare?e("NcActionButton",{staticClass:"new-share-link",on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onNewLinkShare.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("PlusIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2953566425)},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Add another link"))+"\n\t\t\t")]):t._e(),t._v(" "),t.share.canDelete?e("NcActionButton",{attrs:{disabled:t.saving},on:{click:function(e){return e.preventDefault(),t.onDelete.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CloseIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2428343285)},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Unshare"))+"\n\t\t\t")]):t._e()]:t.canReshare?e("NcActionButton",{staticClass:"new-share-link",attrs:{title:t.t("files_sharing","Create a new share link"),"aria-label":t.t("files_sharing","Create a new share link"),icon:t.loading?"icon-loading-small":"icon-add"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onNewLinkShare.apply(null,arguments)}}}):t._e()],2),t._v(" "),t.showQRCode?e("NcDialog",{attrs:{size:"normal",open:t.showQRCode,name:t.title,"close-on-click-outside":!0},on:{"update:open":function(e){t.showQRCode=e},close:function(e){t.showQRCode=!1}}},[e("div",{staticClass:"qr-code-dialog"},[e("VueQrcode",{staticClass:"qr-code-dialog__img",attrs:{tag:"img",value:t.shareLink}})],1)]):t._e()],1)}),[],!1,null,"48fba0bf",null).exports},mixins:[Lt],props:{fileInfo:{type:Object,default:()=>{},required:!0},shares:{type:Array,default:()=>[],required:!0},canReshare:{type:Boolean,required:!0}},data:()=>({canLinkShare:(0,s.F)().files_sharing.public.enabled}),computed:{hasLinkShares(){return this.shares.filter((t=>t.type===lt.I.Link)).length>0},hasShares(){return this.shares.length>0}},methods:{t:_.t,addShare(t,e){this.shares.push(t),this.awaitForShare(t,e)},awaitForShare(t,e){this.$nextTick((()=>{const i=this.$children.find((e=>e.share===t));i&&e(i)}))},removeShare(t){const e=this.shares.findIndex((e=>e===t));this.shares.splice(e,1)}}},Xe=(0,bt.A)(Ye,(function(){var t=this,e=t._self._c;return t.canLinkShare?e("ul",{staticClass:"sharing-link-list",attrs:{"aria-label":t.t("files_sharing","Link shares")}},[!t.hasLinkShares&&t.canReshare?e("SharingEntryLink",{attrs:{"can-reshare":t.canReshare,"file-info":t.fileInfo},on:{"add:share":t.addShare}}):t._e(),t._v(" "),t.hasShares?t._l(t.shares,(function(i,n){return e("SharingEntryLink",{key:i.id,attrs:{index:t.shares.length>1?n+1:null,"can-reshare":t.canReshare,share:t.shares[n],"file-info":t.fileInfo},on:{"update:share":[function(e){return t.$set(t.shares,n,e)},function(e){return t.awaitForShare(...arguments)}],"add:share":function(e){return t.addShare(...arguments)},"remove:share":t.removeShare,"open-sharing-details":function(e){return t.openSharingDetails(i)}}})})):t._e()],2):t._e()}),[],!1,null,null,null).exports;var Qe=n(26690);const Ze={name:"SharingEntry",components:{NcButton:dt.A,NcAvatar:E.A,DotsHorizontalIcon:Qe.A,NcSelect:x.A,ShareExpiryTime:Ve,SharingEntryQuickShareSelect:Be},mixins:[Yt,Lt],computed:{title(){let e=this.share.shareWithDisplayName;return this.share.type===lt.I.Group?e+=` (${t("files_sharing","group")})`:this.share.type===lt.I.Room?e+=` (${t("files_sharing","conversation")})`:this.share.type===lt.I.Remote?e+=` (${t("files_sharing","remote")})`:this.share.type===lt.I.RemoteGroup?e+=` (${t("files_sharing","remote group")})`:this.share.type===lt.I.Guest&&(e+=` (${t("files_sharing","guest")})`),!this.isShareOwner&&this.share.ownerDisplayName&&(e+=" "+t("files_sharing","by {initiator}",{initiator:this.share.ownerDisplayName})),e},tooltip(){if(this.share.owner!==this.share.uidFileOwner){const e={user:this.share.shareWithDisplayName,owner:this.share.ownerDisplayName};return this.share.type===lt.I.Group?t("files_sharing","Shared with the group {user} by {owner}",e):this.share.type===lt.I.Room?t("files_sharing","Shared with the conversation {user} by {owner}",e):t("files_sharing","Shared with {user} by {owner}",e)}return null},hasStatus(){return this.share.type===lt.I.User&&"object"==typeof this.share.status&&!Array.isArray(this.share.status)}},methods:{onMenuClose(){this.onNoteSubmit()}}};var Ke=n(70162),Je={};Je.styleTagTransform=C(),Je.setAttributes=A(),Je.insert=f().bind(null,"head"),Je.domAPI=d(),Je.insertStyleElement=v(),h()(Ke.A,Je),Ke.A&&Ke.A.locals&&Ke.A.locals;const ti={name:"SharingList",components:{SharingEntry:(0,bt.A)(Ze,(function(){var t=this,e=t._self._c;return e("li",{staticClass:"sharing-entry"},[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{"is-no-user":t.share.type!==t.ShareType.User,user:t.share.shareWith,"display-name":t.share.shareWithDisplayName,"menu-position":"left",url:t.share.shareWithAvatar}}),t._v(" "),e("div",{staticClass:"sharing-entry__summary"},[e(t.share.shareWithLink?"a":"div",{tag:"component",staticClass:"sharing-entry__summary__desc",attrs:{title:t.tooltip,"aria-label":t.tooltip,href:t.share.shareWithLink}},[e("span",[t._v(t._s(t.title)+"\n\t\t\t\t"),t.isUnique?t._e():e("span",{staticClass:"sharing-entry__summary__desc-unique"},[t._v(" ("+t._s(t.share.shareWithDisplayNameUnique)+")")]),t._v(" "),t.hasStatus&&t.share.status.message?e("small",[t._v("("+t._s(t.share.status.message)+")")]):t._e()])]),t._v(" "),e("SharingEntryQuickShareSelect",{attrs:{share:t.share,"file-info":t.fileInfo},on:{"open-sharing-details":function(e){return t.openShareDetailsForCustomSettings(t.share)}}})],1),t._v(" "),t.share&&t.share.expireDate?e("ShareExpiryTime",{attrs:{share:t.share}}):t._e(),t._v(" "),t.share.canEdit?e("NcButton",{staticClass:"sharing-entry__action",attrs:{"data-cy-files-sharing-share-actions":"","aria-label":t.t("files_sharing","Open Sharing Details"),type:"tertiary"},on:{click:function(e){return t.openSharingDetails(t.share)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("DotsHorizontalIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,1700783217)}):t._e()],1)}),[],!1,null,"2dbd45b5",null).exports},mixins:[Lt],props:{fileInfo:{type:Object,default:()=>{},required:!0},shares:{type:Array,default:()=>[],required:!0}},setup:()=>({t:_.t}),computed:{hasShares(){return 0===this.shares.length},isUnique(){return t=>[...this.shares].filter((e=>t.type===lt.I.User&&t.shareWithDisplayName===e.shareWithDisplayName)).length<=1}}},ei=(0,bt.A)(ti,(function(){var t=this,e=t._self._c;return e("ul",{staticClass:"sharing-sharee-list",attrs:{"aria-label":t.t("files_sharing","Shares")}},t._l(t.shares,(function(i){return e("SharingEntry",{key:i.id,attrs:{"file-info":t.fileInfo,share:i,"is-unique":t.isUnique(i)},on:{"open-sharing-details":function(e){return t.openSharingDetails(i)}}})})),1)}),[],!1,null,null,null).exports;var ii=n(32073),ni=n(88984),ri=n(16879),si=n(59892),ai=n(16044),oi=n(177);const li={name:"CircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ci=(0,bt.A)(li,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon circle-outline-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,hi={name:"EmailIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ui=(0,bt.A)(hi,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon email-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var di=n(36600),pi=n(43261);const fi={name:"ShareCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},gi=(0,bt.A)(fi,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon share-circle-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Ai={name:"AccountCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},mi=(0,bt.A)(Ai,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon account-circle-outline-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,vi={name:"EyeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},yi=(0,bt.A)(vi,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon eye-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var Ci=n(65422),wi=n(25384),bi=n(33388);const _i={name:"RefreshIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ei=(0,bt.A)(_i,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon refresh-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,xi={name:"SharingDetailsTab",components:{NcAvatar:E.A,NcButton:dt.A,NcCheckboxRadioSwitch:ii.A,NcDateTimePickerNative:ni.A,NcInputField:ri.A,NcLoadingIcon:si.A,NcPasswordField:ai.A,NcTextArea:oi.A,CloseIcon:we.A,CircleIcon:ci,EditIcon:Ie.A,ExternalShareAction:ze,LinkIcon:di.A,GroupIcon:pi.A,ShareIcon:gi,UserIcon:mi,UploadIcon:Ci.A,ViewIcon:yi,MenuDownIcon:wi.A,MenuUpIcon:bi.A,DotsHorizontalIcon:Qe.A,Refresh:Ei},mixins:[Pt,Yt],props:{shareRequestValue:{type:Object,required:!1},fileInfo:{type:Object,required:!0},share:{type:Object,required:!0}},data(){return{writeNoteToRecipientIsChecked:!1,sharingPermission:Bt.ALL.toString(),revertSharingPermission:Bt.ALL.toString(),setCustomPermissions:!1,passwordError:!1,advancedSectionAccordionExpanded:!1,bundledPermissions:Bt,isFirstComponentLoad:!0,test:!1,creating:!1,initialToken:this.share.token,loadingToken:!1,ExternalShareActions:OCA.Sharing.ExternalShareActions.state}},computed:{title(){switch(this.share.type){case lt.I.User:return t("files_sharing","Share with {userName}",{userName:this.share.shareWithDisplayName});case lt.I.Email:return t("files_sharing","Share with email {email}",{email:this.share.shareWith});case lt.I.Link:return t("files_sharing","Share link");case lt.I.Group:return t("files_sharing","Share with group");case lt.I.Room:return t("files_sharing","Share in conversation");case lt.I.Remote:{const[e,i]=this.share.shareWith.split("@");return t("files_sharing","Share with {user} on remote server {server}",{user:e,server:i})}case lt.I.RemoteGroup:return t("files_sharing","Share with remote group");case lt.I.Guest:return t("files_sharing","Share with guest");default:return this.share.id?t("files_sharing","Update share"):t("files_sharing","Create share")}},allPermissions(){return this.isFolder?this.bundledPermissions.ALL.toString():this.bundledPermissions.ALL_FILE.toString()},canEdit:{get(){return this.share.hasUpdatePermission},set(t){this.updateAtomicPermissions({isEditChecked:t})}},canCreate:{get(){return this.share.hasCreatePermission},set(t){this.updateAtomicPermissions({isCreateChecked:t})}},canDelete:{get(){return this.share.hasDeletePermission},set(t){this.updateAtomicPermissions({isDeleteChecked:t})}},canReshare:{get(){return this.share.hasSharePermission},set(t){this.updateAtomicPermissions({isReshareChecked:t})}},showInGridView:{get(){return this.getShareAttribute("config","grid_view",!1)},set(t){this.setShareAttribute("config","grid_view",t)}},canDownload:{get(){return this.getShareAttribute("permissions","download",!0)},set(t){this.setShareAttribute("permissions","download",t)}},hasRead:{get(){return this.share.hasReadPermission},set(t){this.updateAtomicPermissions({isReadChecked:t})}},hasExpirationDate:{get(){return this.isValidShareAttribute(this.share.expireDate)},set(t){this.share.expireDate=t?this.formatDateToString(this.defaultExpiryDate):""}},isFolder(){return"dir"===this.fileInfo.type},isSetDownloadButtonVisible(){return this.isFolder||["application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation"].includes(this.fileInfo.mimetype)},isPasswordEnforced(){return this.isPublicShare&&this.config.enforcePasswordForPublicLink},defaultExpiryDate(){return(this.isGroupShare||this.isUserShare)&&this.config.isDefaultInternalExpireDateEnabled?new Date(this.config.defaultInternalExpirationDate):this.isRemoteShare&&this.config.isDefaultRemoteExpireDateEnabled?new Date(this.config.defaultRemoteExpireDateEnabled):this.isPublicShare&&this.config.isDefaultExpireDateEnabled?new Date(this.config.defaultExpirationDate):new Date((new Date).setDate((new Date).getDate()+1))},isUserShare(){return this.share.type===lt.I.User},isGroupShare(){return this.share.type===lt.I.Group},allowsFileDrop(){return!(!this.isFolder||!this.config.isPublicUploadEnabled||this.share.type!==lt.I.Link&&this.share.type!==lt.I.Email)},hasFileDropPermissions(){return this.share.permissions===this.bundledPermissions.FILE_DROP},shareButtonText(){return this.isNewShare?t("files_sharing","Save share"):t("files_sharing","Update share")},resharingIsPossible(){return this.config.isResharingAllowed&&this.share.type!==lt.I.Link&&this.share.type!==lt.I.Email},canSetEdit(){return this.fileInfo.sharePermissions&OC.PERMISSION_UPDATE||this.canEdit},canSetCreate(){return this.fileInfo.sharePermissions&OC.PERMISSION_CREATE||this.canCreate},canSetDelete(){return this.fileInfo.sharePermissions&OC.PERMISSION_DELETE||this.canDelete},canSetReshare(){return this.fileInfo.sharePermissions&OC.PERMISSION_SHARE||this.canReshare},canSetDownload(){return this.fileInfo.canDownload()||this.canDownload},canRemoveReadPermission(){return this.allowsFileDrop&&(this.share.type===lt.I.Link||this.share.type===lt.I.Email)},hasUnsavedPassword(){return void 0!==this.share.newPassword},passwordExpirationTime(){if(!this.isValidShareAttribute(this.share.passwordExpirationTime))return null;const t=(0,ut.A)(this.share.passwordExpirationTime);return!(t.diff((0,ut.A)())<0)&&t.fromNow()},isTalkEnabled:()=>void 0!==OC.appswebroots.spreed,isPasswordProtectedByTalkAvailable(){return this.isPasswordProtected&&this.isTalkEnabled},isPasswordProtectedByTalk:{get(){return this.share.sendPasswordByTalk},async set(t){this.share.sendPasswordByTalk=t}},isEmailShareType(){return!!this.share&&this.share.type===lt.I.Email},canTogglePasswordProtectedByTalkAvailable(){return!(!this.isPublicShare||!this.isPasswordProtected||this.isEmailShareType&&!this.hasUnsavedPassword||void 0===OC.appswebroots.spreed)},canChangeHideDownload(){return this.fileInfo.shareAttributes.some((t=>"download"===t.key&&"permissions"===t.scope&&!1===t.value))},customPermissionsList(){const t={[Rt.READ]:this.t("files_sharing","Read"),[Rt.CREATE]:this.t("files_sharing","Create"),[Rt.UPDATE]:this.t("files_sharing","Edit"),[Rt.SHARE]:this.t("files_sharing","Share"),[Rt.DELETE]:this.t("files_sharing","Delete")};return[Rt.READ,...this.isFolder?[Rt.CREATE]:[],Rt.UPDATE,...this.resharingIsPossible?[Rt.SHARE]:[],...this.isFolder?[Rt.DELETE]:[]].filter((t=>{return e=this.share.permissions,i=t,e!==Rt.NONE&&(e&i)===i;var e,i})).map(((e,i)=>0===i?t[e]:t[e].toLocaleLowerCase((0,_.Z0)()))).join(", ")},advancedControlExpandedValue(){return this.advancedSectionAccordionExpanded?"true":"false"},errorPasswordLabel(){if(this.passwordError)return t("files_sharing","Password field cannot be empty")},passwordHint(){if(!this.isNewShare&&!this.hasUnsavedPassword)return t("files_sharing","Replace current password")},externalLinkActions(){return this.ExternalShareActions.actions.filter((t=>(t.shareType.includes(lt.I.Link)||t.shareType.includes(lt.I.Email))&&t.advanced))}},watch:{setCustomPermissions(t){this.sharingPermission=t?"custom":this.revertSharingPermission}},beforeMount(){this.initializePermissions(),this.initializeAttributes(),ft.debug("Share object received",{share:this.share}),ft.debug("Configuration object received",{config:this.config})},mounted(){this.$refs.quickPermissions?.querySelector("input:checked")?.focus()},methods:{setShareAttribute(t,e,i){this.share.attributes||this.$set(this.share,"attributes",[]);const n=this.share.attributes.find((i=>i.scope===t||i.key===e));n?n.value=i:this.share.attributes.push({scope:t,key:e,value:i})},getShareAttribute(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const n=this.share.attributes?.find((i=>i.scope===t&&i.key===e));return n?.value??i},async generateNewToken(){if(!this.loadingToken){this.loadingToken=!0;try{this.share.token=await(async()=>{const{data:t}=await K.Ay.get((0,l.KT)("/apps/files_sharing/api/v1/token"));return t.ocs.data.token})()}catch(e){(0,At.Qg)(t("files_sharing","Failed to generate a new token"))}this.loadingToken=!1}},cancel(){this.share.token=this.initialToken,this.$emit("close-sharing-details")},updateAtomicPermissions(){let{isReadChecked:t=this.hasRead,isEditChecked:e=this.canEdit,isCreateChecked:i=this.canCreate,isDeleteChecked:n=this.canDelete,isReshareChecked:r=this.canReshare}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.isFolder||!i&&!n||(ft.debug("Ignoring create/delete permissions for file share — only available for folders"),i=!1,n=!1);const s=(t?Rt.READ:0)|(i?Rt.CREATE:0)|(n?Rt.DELETE:0)|(e?Rt.UPDATE:0)|(r?Rt.SHARE:0);this.share.permissions=s},expandCustomPermissions(){this.advancedSectionAccordionExpanded||(this.advancedSectionAccordionExpanded=!0),this.toggleCustomPermissions()},toggleCustomPermissions(t){const e="custom"===this.sharingPermission;this.revertSharingPermission=e?"custom":t,this.setCustomPermissions=e},async initializeAttributes(){if(this.isNewShare)return(this.config.enableLinkPasswordByDefault||this.isPasswordEnforced)&&this.isPublicShare&&(this.$set(this.share,"newPassword",await Ht(!0)),this.$set(this.share,"password",this.share.newPassword),this.advancedSectionAccordionExpanded=!0),this.isPublicShare&&this.config.isDefaultExpireDateEnabled?this.share.expireDate=this.config.defaultExpirationDate.toDateString():this.isRemoteShare&&this.config.isDefaultRemoteExpireDateEnabled?this.share.expireDate=this.config.defaultRemoteExpirationDateString.toDateString():this.config.isDefaultInternalExpireDateEnabled&&(this.share.expireDate=this.config.defaultInternalExpirationDate.toDateString()),void(this.isValidShareAttribute(this.share.expireDate)&&(this.advancedSectionAccordionExpanded=!0));!this.isValidShareAttribute(this.share.expireDate)&&this.isExpiryDateEnforced&&(this.hasExpirationDate=!0),(this.isValidShareAttribute(this.share.password)||this.isValidShareAttribute(this.share.expireDate)||this.isValidShareAttribute(this.share.label))&&(this.advancedSectionAccordionExpanded=!0),this.isValidShareAttribute(this.share.note)&&(this.writeNoteToRecipientIsChecked=!0,this.advancedSectionAccordionExpanded=!0)},handleShareType(){"shareType"in this.share?this.share.type=this.share.shareType:this.share.share_type&&(this.share.type=this.share.share_type)},handleDefaultPermissions(){if(this.isNewShare){const t=this.config.defaultPermissions;t===Bt.READ_ONLY||t===Bt.ALL?this.sharingPermission=t.toString():(this.sharingPermission="custom",this.share.permissions=t,this.advancedSectionAccordionExpanded=!0,this.setCustomPermissions=!0)}this.canRemoveReadPermission||(this.hasRead=!0)},handleCustomPermissions(){this.isNewShare||!this.hasCustomPermissions&&!this.share.setCustomPermissions?this.share.permissions&&(this.sharingPermission=this.share.permissions.toString()):(this.sharingPermission="custom",this.advancedSectionAccordionExpanded=!0,this.setCustomPermissions=!0)},initializePermissions(){this.handleShareType(),this.handleDefaultPermissions(),this.handleCustomPermissions()},async saveShare(){const t=["permissions","attributes","note","expireDate"],e=["label","password","hideDownload"];this.config.allowCustomTokens&&e.push("token"),this.isPublicShare&&t.push(...e);const i=parseInt(this.sharingPermission);if(this.setCustomPermissions?this.updateAtomicPermissions():this.share.permissions=i,this.isFolder||this.share.permissions!==Bt.ALL||(this.share.permissions=Bt.ALL_FILE),this.writeNoteToRecipientIsChecked||(this.share.note=""),this.isPasswordProtected?this.hasUnsavedPassword&&this.isValidShareAttribute(this.share.newPassword)?(this.share.password=this.share.newPassword,this.$delete(this.share,"newPassword")):this.isPasswordEnforced&&this.isNewShare&&!this.isValidShareAttribute(this.share.password)&&(this.passwordError=!0):this.share.password="",this.hasExpirationDate||(this.share.expireDate=""),this.isNewShare){const e={permissions:this.share.permissions,shareType:this.share.type,shareWith:this.share.shareWith,attributes:this.share.attributes,note:this.share.note,fileInfo:this.fileInfo};let i;e.expireDate=this.hasExpirationDate?this.share.expireDate:"",this.isPasswordProtected&&(e.password=this.share.password);try{this.creating=!0,i=await this.addShare(e)}catch(t){return void(this.creating=!1)}this.share._share.id=i.id,await this.queueUpdate(...t);for(const e of t)if(e in i&&e in this.share)try{i[e]=this.share[e]}catch{i._share[e]=this.share[e]}this.share=i,this.creating=!1,this.$emit("add:share",this.share)}else this.$emit("update:share",this.share),(0,Nt.Ic)("update:share",this.share),this.queueUpdate(...t);await this.getNode(),(0,Nt.Ic)("files:node:updated",this.node),this.$refs.externalLinkActions?.length>0&&await Promise.allSettled(this.$refs.externalLinkActions.map((t=>"function"!=typeof t.$children.at(0)?.onSave?Promise.resolve():t.$children.at(0)?.onSave?.()))),this.$emit("close-sharing-details")},async addShare(t){ft.debug("Adding a new share from the input for",{share:t});const e=this.path;try{return await this.createShare({path:e,shareType:t.shareType,shareWith:t.shareWith,permissions:t.permissions,expireDate:t.expireDate,attributes:JSON.stringify(t.attributes),...t.note?{note:t.note}:{},...t.password?{password:t.password}:{}})}catch(t){ft.error("Error while adding new share",{error:t})}},async removeShare(){await this.onDelete(),await this.getNode(),(0,Nt.Ic)("files:node:updated",this.node),this.$emit("close-sharing-details")},onPasswordChange(t){if(""===t)return this.$delete(this.share,"newPassword"),void(this.passwordError=this.isNewShare&&this.isPasswordEnforced);this.passwordError=!this.isValidShareAttribute(t),this.$set(this.share,"newPassword",t)},onPasswordProtectedByTalkChange(){this.hasUnsavedPassword&&(this.share.password=this.share.newPassword.trim()),this.queueUpdate("sendPasswordByTalk","password")},isValidShareAttribute:t=>![null,void 0].includes(t)&&t.trim().length>0,getShareTypeIcon(t){switch(t){case lt.I.Link:return di.A;case lt.I.Guest:return mi;case lt.I.RemoteGroup:case lt.I.Group:return pi.A;case lt.I.Email:return ui;case lt.I.Team:return ci;case lt.I.Room:case lt.I.Deck:case lt.I.ScienceMesh:return gi;default:return null}}}};var Si=n(10288),Ii={};Ii.styleTagTransform=C(),Ii.setAttributes=A(),Ii.insert=f().bind(null,"head"),Ii.domAPI=d(),Ii.insertStyleElement=v(),h()(Si.A,Ii),Si.A&&Si.A.locals&&Si.A.locals;const ki=(0,bt.A)(xi,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"sharingTabDetailsView"},[e("div",{staticClass:"sharingTabDetailsView__header"},[e("span",[t.isUserShare?e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{"is-no-user":t.share.shareType!==t.ShareType.User,user:t.share.shareWith,"display-name":t.share.shareWithDisplayName,"menu-position":"left",url:t.share.shareWithAvatar}}):t._e(),t._v(" "),e(t.getShareTypeIcon(t.share.type),{tag:"component",attrs:{size:32}})],1),t._v(" "),e("span",[e("h1",[t._v(t._s(t.title))])])]),t._v(" "),e("div",{staticClass:"sharingTabDetailsView__wrapper"},[e("div",{ref:"quickPermissions",staticClass:"sharingTabDetailsView__quick-permissions"},[e("div",[e("NcCheckboxRadioSwitch",{attrs:{"button-variant":!0,"data-cy-files-sharing-share-permissions-bundle":"read-only",checked:t.sharingPermission,value:t.bundledPermissions.READ_ONLY.toString(),name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(e){t.sharingPermission=e},t.toggleCustomPermissions]},scopedSlots:t._u([{key:"icon",fn:function(){return[e("ViewIcon",{attrs:{size:20}})]},proxy:!0}])},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","View only"))+"\n\t\t\t\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{"button-variant":!0,"data-cy-files-sharing-share-permissions-bundle":"upload-edit",checked:t.sharingPermission,value:t.allPermissions,name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(e){t.sharingPermission=e},t.toggleCustomPermissions]},scopedSlots:t._u([{key:"icon",fn:function(){return[e("EditIcon",{attrs:{size:20}})]},proxy:!0}])},[t.allowsFileDrop?[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Allow upload and editing"))+"\n\t\t\t\t\t")]:[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Allow editing"))+"\n\t\t\t\t\t")]],2),t._v(" "),t.allowsFileDrop?e("NcCheckboxRadioSwitch",{attrs:{"data-cy-files-sharing-share-permissions-bundle":"file-drop","button-variant":!0,checked:t.sharingPermission,value:t.bundledPermissions.FILE_DROP.toString(),name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(e){t.sharingPermission=e},t.toggleCustomPermissions]},scopedSlots:t._u([{key:"icon",fn:function(){return[e("UploadIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,1083194048)},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","File request"))+"\n\t\t\t\t\t"),e("small",{staticClass:"subline"},[t._v(t._s(t.t("files_sharing","Upload only")))])]):t._e(),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{"button-variant":!0,"data-cy-files-sharing-share-permissions-bundle":"custom",checked:t.sharingPermission,value:"custom",name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(e){t.sharingPermission=e},t.expandCustomPermissions]},scopedSlots:t._u([{key:"icon",fn:function(){return[e("DotsHorizontalIcon",{attrs:{size:20}})]},proxy:!0}])},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Custom permissions"))+"\n\t\t\t\t\t"),e("small",{staticClass:"subline"},[t._v(t._s(t.customPermissionsList))])])],1)]),t._v(" "),e("div",{staticClass:"sharingTabDetailsView__advanced-control"},[e("NcButton",{attrs:{id:"advancedSectionAccordionAdvancedControl",type:"tertiary",alignment:"end-reverse","aria-controls":"advancedSectionAccordionAdvanced","aria-expanded":t.advancedControlExpandedValue},on:{click:function(e){t.advancedSectionAccordionExpanded=!t.advancedSectionAccordionExpanded}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.advancedSectionAccordionExpanded?e("MenuUpIcon"):e("MenuDownIcon")]},proxy:!0}])},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Advanced settings"))+"\n\t\t\t\t")])],1),t._v(" "),t.advancedSectionAccordionExpanded?e("div",{staticClass:"sharingTabDetailsView__advanced",attrs:{id:"advancedSectionAccordionAdvanced","aria-labelledby":"advancedSectionAccordionAdvancedControl",role:"region"}},[e("section",[t.isPublicShare?e("NcInputField",{staticClass:"sharingTabDetailsView__label",attrs:{autocomplete:"off",label:t.t("files_sharing","Share label"),value:t.share.label},on:{"update:value":function(e){return t.$set(t.share,"label",e)}}}):t._e(),t._v(" "),t.config.allowCustomTokens&&t.isPublicShare&&!t.isNewShare?e("NcInputField",{attrs:{autocomplete:"off",label:t.t("files_sharing","Share link token"),"helper-text":t.t("files_sharing","Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information."),"show-trailing-button":"","trailing-button-label":t.loadingToken?t.t("files_sharing","Generating…"):t.t("files_sharing","Generate new token"),value:t.share.token},on:{"update:value":function(e){return t.$set(t.share,"token",e)},"trailing-button-click":t.generateNewToken},scopedSlots:t._u([{key:"trailing-button-icon",fn:function(){return[t.loadingToken?e("NcLoadingIcon"):e("Refresh",{attrs:{size:20}})]},proxy:!0}],null,!1,4228062821)}):t._e(),t._v(" "),t.isPublicShare?[e("NcCheckboxRadioSwitch",{attrs:{checked:t.isPasswordProtected,disabled:t.isPasswordEnforced},on:{"update:checked":function(e){t.isPasswordProtected=e}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Set password"))+"\n\t\t\t\t\t")]),t._v(" "),t.isPasswordProtected?e("NcPasswordField",{attrs:{autocomplete:"new-password",value:t.hasUnsavedPassword?t.share.newPassword:"",error:t.passwordError,"helper-text":t.errorPasswordLabel||t.passwordHint,required:t.isPasswordEnforced&&t.isNewShare,label:t.t("files_sharing","Password")},on:{"update:value":t.onPasswordChange}}):t._e(),t._v(" "),t.isEmailShareType&&t.passwordExpirationTime?e("span",{attrs:{icon:"icon-info"}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Password expires {passwordExpirationTime}",{passwordExpirationTime:t.passwordExpirationTime}))+"\n\t\t\t\t\t")]):t.isEmailShareType&&null!==t.passwordExpirationTime?e("span",{attrs:{icon:"icon-error"}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Password expired"))+"\n\t\t\t\t\t")]):t._e()]:t._e(),t._v(" "),t.canTogglePasswordProtectedByTalkAvailable?e("NcCheckboxRadioSwitch",{attrs:{checked:t.isPasswordProtectedByTalk},on:{"update:checked":[function(e){t.isPasswordProtectedByTalk=e},t.onPasswordProtectedByTalkChange]}},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Video verification"))+"\n\t\t\t\t")]):t._e(),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{checked:t.hasExpirationDate,disabled:t.isExpiryDateEnforced},on:{"update:checked":function(e){t.hasExpirationDate=e}}},[t._v("\n\t\t\t\t\t"+t._s(t.isExpiryDateEnforced?t.t("files_sharing","Expiration date (enforced)"):t.t("files_sharing","Set expiration date"))+"\n\t\t\t\t")]),t._v(" "),t.hasExpirationDate?e("NcDateTimePickerNative",{attrs:{id:"share-date-picker",value:new Date(t.share.expireDate??t.dateTomorrow),min:t.dateTomorrow,max:t.maxExpirationDateEnforced,"hide-label":"",label:t.t("files_sharing","Expiration date"),placeholder:t.t("files_sharing","Expiration date"),type:"date"},on:{input:t.onExpirationChange}}):t._e(),t._v(" "),t.isPublicShare?e("NcCheckboxRadioSwitch",{attrs:{disabled:t.canChangeHideDownload,checked:t.share.hideDownload},on:{"update:checked":[function(e){return t.$set(t.share,"hideDownload",e)},function(e){return t.queueUpdate("hideDownload")}]}},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Hide download"))+"\n\t\t\t\t")]):e("NcCheckboxRadioSwitch",{attrs:{disabled:!t.canSetDownload,checked:t.canDownload,"data-cy-files-sharing-share-permissions-checkbox":"download"},on:{"update:checked":function(e){t.canDownload=e}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Allow download and sync"))+"\n\t\t\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{checked:t.writeNoteToRecipientIsChecked},on:{"update:checked":function(e){t.writeNoteToRecipientIsChecked=e}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Note to recipient"))+"\n\t\t\t\t")]),t._v(" "),t.writeNoteToRecipientIsChecked?[e("NcTextArea",{attrs:{label:t.t("files_sharing","Note to recipient"),placeholder:t.t("files_sharing","Enter a note for the share recipient"),value:t.share.note},on:{"update:value":function(e){return t.$set(t.share,"note",e)}}})]:t._e(),t._v(" "),t.isPublicShare&&t.isFolder?e("NcCheckboxRadioSwitch",{attrs:{checked:t.showInGridView},on:{"update:checked":function(e){t.showInGridView=e}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Show files in grid view"))+"\n\t\t\t\t")]):t._e(),t._v(" "),t._l(t.externalLinkActions,(function(i){return e("ExternalShareAction",{key:i.id,ref:"externalLinkActions",refInFor:!0,attrs:{id:i.id,action:i,"file-info":t.fileInfo,share:t.share}})})),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{checked:t.setCustomPermissions},on:{"update:checked":function(e){t.setCustomPermissions=e}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Custom permissions"))+"\n\t\t\t\t")]),t._v(" "),t.setCustomPermissions?e("section",{staticClass:"custom-permissions-group"},[e("NcCheckboxRadioSwitch",{attrs:{disabled:!t.canRemoveReadPermission,checked:t.hasRead,"data-cy-files-sharing-share-permissions-checkbox":"read"},on:{"update:checked":function(e){t.hasRead=e}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Read"))+"\n\t\t\t\t\t")]),t._v(" "),t.isFolder?e("NcCheckboxRadioSwitch",{attrs:{disabled:!t.canSetCreate,checked:t.canCreate,"data-cy-files-sharing-share-permissions-checkbox":"create"},on:{"update:checked":function(e){t.canCreate=e}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Create"))+"\n\t\t\t\t\t")]):t._e(),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{disabled:!t.canSetEdit,checked:t.canEdit,"data-cy-files-sharing-share-permissions-checkbox":"update"},on:{"update:checked":function(e){t.canEdit=e}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Edit"))+"\n\t\t\t\t\t")]),t._v(" "),t.resharingIsPossible?e("NcCheckboxRadioSwitch",{attrs:{disabled:!t.canSetReshare,checked:t.canReshare,"data-cy-files-sharing-share-permissions-checkbox":"share"},on:{"update:checked":function(e){t.canReshare=e}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Share"))+"\n\t\t\t\t\t")]):t._e(),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{disabled:!t.canSetDelete,checked:t.canDelete,"data-cy-files-sharing-share-permissions-checkbox":"delete"},on:{"update:checked":function(e){t.canDelete=e}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Delete"))+"\n\t\t\t\t\t")])],1):t._e(),t._v(" "),e("div",{staticClass:"sharingTabDetailsView__delete"},[t.isNewShare?t._e():e("NcButton",{attrs:{"aria-label":t.t("files_sharing","Delete share"),disabled:!1,readonly:!1,type:"tertiary"},on:{click:function(e){return e.preventDefault(),t.removeShare.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CloseIcon",{attrs:{size:16}})]},proxy:!0}],null,!1,2746485232)},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("files_sharing","Delete share"))+"\n\t\t\t\t\t")])],1)],2)]):t._e()]),t._v(" "),e("div",{staticClass:"sharingTabDetailsView__footer"},[e("div",{staticClass:"button-group"},[e("NcButton",{attrs:{"data-cy-files-sharing-share-editor-action":"cancel"},on:{click:t.cancel}},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Cancel"))+"\n\t\t\t")]),t._v(" "),e("NcButton",{attrs:{type:"primary","data-cy-files-sharing-share-editor-action":"save",disabled:t.creating},on:{click:t.saveShare},scopedSlots:t._u([t.creating?{key:"icon",fn:function(){return[e("NcLoadingIcon")]},proxy:!0}:null],null,!0)},[t._v("\n\t\t\t\t"+t._s(t.shareButtonText)+"\n\t\t\t\t")])],1)])])}),[],!1,null,"4826394a",null).exports,Ti={name:"SharingTab",components:{CollectionList:ot,InfoIcon:ct.A,NcAvatar:E.A,NcButton:dt.A,NcPopover:ht.N,SharingEntryInternal:It,SharingEntrySimple:_t,SharingInherited:ie,SharingInput:$t,SharingLinkList:Xe,SharingList:ei,SharingDetailsTab:ki},mixins:[Lt],data:()=>({config:new pt,deleteEvent:null,error:"",expirationInterval:null,loading:!0,fileInfo:null,reshare:null,sharedWithMe:{},shares:[],linkShares:[],externalShares:[],sections:OCA.Sharing.ShareTabSections.getSections(),projectsEnabled:(0,o.C)("core","projects_enabled",!1),showSharingDetailsView:!1,shareDetailsData:{},returnFocusElement:null,internalSharesHelpText:t("files_sharing","Use this method to share files with individuals or teams within your organization. If the recipient already has access to the share but cannot locate it, you can send them the internal share link for easy access."),externalSharesHelpText:t("files_sharing","Use this method to share files with individuals or organizations outside your organization. Files and folders can be shared via public share links and email addresses. You can also share to other Nextcloud accounts hosted on different instances using their federated cloud ID."),additionalSharesHelpText:t("files_sharing","Shares that are not part of the internal or external shares. This can be shares from apps or other sources.")}),computed:{isSharedWithMe(){return null!==this.sharedWithMe&&void 0!==this.sharedWithMe},isLinkSharingAllowed(){if(!(0,r.HW)())return!1;const t=(0,s.F)();return!0===(t.files_sharing?.public||{}).enabled},canReshare(){return!!(this.fileInfo.permissions&OC.PERMISSION_SHARE)||!!(this.reshare&&this.reshare.hasSharePermission&&this.config.isResharingAllowed)},internalShareInputPlaceholder(){return this.config.showFederatedSharesAsInternal?t("files_sharing","Share with accounts, teams, federated cloud IDs"):t("files_sharing","Share with accounts and teams")},externalShareInputPlaceholder(){return this.isLinkSharingAllowed?this.config.showFederatedSharesAsInternal?t("files_sharing","Email"):t("files_sharing","Email, federated cloud ID"):t("files_sharing","Federated cloud ID")}},methods:{async update(t){this.fileInfo=t,this.resetState(),this.getShares()},async getShares(){try{this.loading=!0;const t=(0,l.KT)("apps/files_sharing/api/v1/shares"),e="json",i=(this.fileInfo.path+"/"+this.fileInfo.name).replace("//","/"),n=K.Ay.get(t,{params:{format:e,path:i,reshares:!0}}),r=K.Ay.get(t,{params:{format:e,path:i,shared_with_me:!0}}),[s,a]=await Promise.all([n,r]);this.loading=!1,this.processSharedWithMe(a),this.processShares(s)}catch(e){this.error=e?.response?.data?.ocs?.meta?.message?e.response.data.ocs.meta.message:t("files_sharing","Unable to load the shares list"),this.loading=!1,console.error("Error loading the shares list",e)}},resetState(){clearInterval(this.expirationInterval),this.loading=!0,this.error="",this.sharedWithMe={},this.shares=[],this.linkShares=[],this.showSharingDetailsView=!1,this.shareDetailsData={}},updateExpirationSubtitle(e){const i=(0,ut.A)(e.expireDate).unix();this.$set(this.sharedWithMe,"subtitle",t("files_sharing","Expires {relativetime}",{relativetime:(0,ut.A)(1e3*i).fromNow()})),(0,ut.A)().unix()>i&&(clearInterval(this.expirationInterval),this.$set(this.sharedWithMe,"subtitle",t("files_sharing","this share just expired.")))},processShares(t){let{data:e}=t;if(e.ocs&&e.ocs.data&&e.ocs.data.length>0){const t=(0,a.My)(e.ocs.data.map((t=>new gt(t))),[t=>t.shareWithDisplayName,t=>t.label,t=>t.createdTime]);for(const e of t)[lt.I.Link,lt.I.Email].includes(e.type)?this.linkShares.push(e):[lt.I.Remote,lt.I.RemoteGroup].includes(e.type)?this.config.showFederatedSharesAsInternal?this.shares.push(e):this.externalShares.push(e):this.shares.push(e);ft.debug(`Processed ${this.linkShares.length} link share(s)`),ft.debug(`Processed ${this.shares.length} share(s)`),ft.debug(`Processed ${this.externalShares.length} external share(s)`)}},processSharedWithMe(e){let{data:i}=e;if(i.ocs&&i.ocs.data&&i.ocs.data[0]){const e=new gt(i),n=function(e){return e.type===lt.I.Group?t("files_sharing","Shared with you and the group {group} by {owner}",{group:e.shareWithDisplayName,owner:e.ownerDisplayName},void 0,{escape:!1}):e.type===lt.I.Team?t("files_sharing","Shared with you and {circle} by {owner}",{circle:e.shareWithDisplayName,owner:e.ownerDisplayName},void 0,{escape:!1}):e.type===lt.I.Room?e.shareWithDisplayName?t("files_sharing","Shared with you and the conversation {conversation} by {owner}",{conversation:e.shareWithDisplayName,owner:e.ownerDisplayName},void 0,{escape:!1}):t("files_sharing","Shared with you in a conversation by {owner}",{owner:e.ownerDisplayName},void 0,{escape:!1}):t("files_sharing","Shared with you by {owner}",{owner:e.ownerDisplayName},void 0,{escape:!1})}(e),r=e.ownerDisplayName,s=e.owner;this.sharedWithMe={displayName:r,title:n,user:s},this.reshare=e,e.expireDate&&(0,ut.A)(e.expireDate).unix()>(0,ut.A)().unix()&&(this.updateExpirationSubtitle(e),this.expirationInterval=setInterval(this.updateExpirationSubtitle,1e4,e))}else this.fileInfo&&void 0!==this.fileInfo.shareOwnerId&&this.fileInfo.shareOwnerId!==(0,r.HW)().uid&&(this.sharedWithMe={displayName:this.fileInfo.shareOwner,title:t("files_sharing","Shared with you by {owner}",{owner:this.fileInfo.shareOwner},void 0,{escape:!1}),user:this.fileInfo.shareOwnerId})},addShare(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:()=>{};t.type===lt.I.Email?this.linkShares.unshift(t):[lt.I.Remote,lt.I.RemoteGroup].includes(t.type)?this.config.showFederatedSharesAsInternal?this.shares.unshift(t):this.externalShares.unshift(t):this.shares.unshift(t),this.awaitForShare(t,e)},removeShare(t){const e=t.type===lt.I.Email||t.type===lt.I.Link?this.linkShares:this.shares,i=e.findIndex((e=>e.id===t.id));-1!==i&&e.splice(i,1)},awaitForShare(t,e){this.$nextTick((()=>{let i=this.$refs.shareList;t.type===lt.I.Email&&(i=this.$refs.linkShareList);const n=i.$children.find((e=>e.share===t));n&&e(n)}))},toggleShareDetailsView(t){if(!this.showSharingDetailsView)if(Array.from(document.activeElement.classList).some((t=>t.startsWith("action-")))){const t=document.activeElement.closest('[role="menu"]')?.id;this.returnFocusElement=document.querySelector(`[aria-controls="${t}"]`)}else this.returnFocusElement=document.activeElement;t&&(this.shareDetailsData=t),this.showSharingDetailsView=!this.showSharingDetailsView,this.showSharingDetailsView||this.$nextTick((()=>{this.returnFocusElement?.focus(),this.returnFocusElement=null}))}}},Ni=Ti;var Di=n(92158),Pi={};Pi.styleTagTransform=C(),Pi.setAttributes=A(),Pi.insert=f().bind(null,"head"),Pi.domAPI=d(),Pi.insertStyleElement=v(),h()(Di.A,Pi),Di.A&&Di.A.locals&&Di.A.locals;const Ri=(0,bt.A)(Ni,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"sharingTab",class:{"icon-loading":t.loading}},[t.error?e("div",{staticClass:"emptycontent",class:{emptyContentWithSections:t.sections.length>0}},[e("div",{staticClass:"icon icon-error"}),t._v(" "),e("h2",[t._v(t._s(t.error))])]):t._e(),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:!t.showSharingDetailsView,expression:"!showSharingDetailsView"}],staticClass:"sharingTab__content"},[t.isSharedWithMe?e("ul",[e("SharingEntrySimple",t._b({staticClass:"sharing-entry__reshare",scopedSlots:t._u([{key:"avatar",fn:function(){return[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{user:t.sharedWithMe.user,"display-name":t.sharedWithMe.displayName}})]},proxy:!0}],null,!1,3197855346)},"SharingEntrySimple",t.sharedWithMe,!1))],1):t._e(),t._v(" "),e("section",[e("div",{staticClass:"section-header"},[e("h4",[t._v(t._s(t.t("files_sharing","Internal shares")))]),t._v(" "),e("NcPopover",{attrs:{"popup-role":"dialog"},scopedSlots:t._u([{key:"trigger",fn:function(){return[e("NcButton",{staticClass:"hint-icon",attrs:{type:"tertiary-no-background","aria-label":t.t("files_sharing","Internal shares explanation")},scopedSlots:t._u([{key:"icon",fn:function(){return[e("InfoIcon",{attrs:{size:20}})]},proxy:!0}])})]},proxy:!0}])},[t._v(" "),e("p",{staticClass:"hint-body"},[t._v("\n\t\t\t\t\t\t"+t._s(t.internalSharesHelpText)+"\n\t\t\t\t\t")])])],1),t._v(" "),t.loading?t._e():e("SharingInput",{attrs:{"can-reshare":t.canReshare,"file-info":t.fileInfo,"link-shares":t.linkShares,reshare:t.reshare,shares:t.shares,placeholder:t.internalShareInputPlaceholder},on:{"open-sharing-details":t.toggleShareDetailsView}}),t._v(" "),t.loading?t._e():e("SharingList",{ref:"shareList",attrs:{shares:t.shares,"file-info":t.fileInfo},on:{"open-sharing-details":t.toggleShareDetailsView}}),t._v(" "),t.canReshare&&!t.loading?e("SharingInherited",{attrs:{"file-info":t.fileInfo}}):t._e(),t._v(" "),e("SharingEntryInternal",{attrs:{"file-info":t.fileInfo}})],1),t._v(" "),e("section",[e("div",{staticClass:"section-header"},[e("h4",[t._v(t._s(t.t("files_sharing","External shares")))]),t._v(" "),e("NcPopover",{attrs:{"popup-role":"dialog"},scopedSlots:t._u([{key:"trigger",fn:function(){return[e("NcButton",{staticClass:"hint-icon",attrs:{type:"tertiary-no-background","aria-label":t.t("files_sharing","External shares explanation")},scopedSlots:t._u([{key:"icon",fn:function(){return[e("InfoIcon",{attrs:{size:20}})]},proxy:!0}])})]},proxy:!0}])},[t._v(" "),e("p",{staticClass:"hint-body"},[t._v("\n\t\t\t\t\t\t"+t._s(t.externalSharesHelpText)+"\n\t\t\t\t\t")])])],1),t._v(" "),t.loading?t._e():e("SharingInput",{attrs:{"can-reshare":t.canReshare,"file-info":t.fileInfo,"link-shares":t.linkShares,"is-external":!0,placeholder:t.externalShareInputPlaceholder,reshare:t.reshare,shares:t.shares},on:{"open-sharing-details":t.toggleShareDetailsView}}),t._v(" "),t.loading?t._e():e("SharingList",{attrs:{shares:t.externalShares,"file-info":t.fileInfo},on:{"open-sharing-details":t.toggleShareDetailsView}}),t._v(" "),!t.loading&&t.isLinkSharingAllowed?e("SharingLinkList",{ref:"linkShareList",attrs:{"can-reshare":t.canReshare,"file-info":t.fileInfo,shares:t.linkShares},on:{"open-sharing-details":t.toggleShareDetailsView}}):t._e()],1),t._v(" "),t.sections.length>0&&!t.showSharingDetailsView?e("section",[e("div",{staticClass:"section-header"},[e("h4",[t._v(t._s(t.t("files_sharing","Additional shares")))]),t._v(" "),e("NcPopover",{attrs:{"popup-role":"dialog"},scopedSlots:t._u([{key:"trigger",fn:function(){return[e("NcButton",{staticClass:"hint-icon",attrs:{type:"tertiary-no-background","aria-label":t.t("files_sharing","Additional shares explanation")},scopedSlots:t._u([{key:"icon",fn:function(){return[e("InfoIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,915383693)})]},proxy:!0}],null,!1,1027936137)},[t._v(" "),e("p",{staticClass:"hint-body"},[t._v("\n\t\t\t\t\t\t"+t._s(t.additionalSharesHelpText)+"\n\t\t\t\t\t")])])],1),t._v(" "),t._l(t.sections,(function(i,n){return e("div",{key:n,ref:"section-"+n,refInFor:!0,staticClass:"sharingTab__additionalContent"},[e(i(t.$refs["section-"+n],t.fileInfo),{tag:"component",attrs:{"file-info":t.fileInfo}})],1)})),t._v(" "),t.projectsEnabled?e("div",{directives:[{name:"show",rawName:"v-show",value:!t.showSharingDetailsView&&t.fileInfo,expression:"!showSharingDetailsView && fileInfo"}],staticClass:"sharingTab__additionalContent"},[e("CollectionList",{attrs:{id:`${t.fileInfo.id}`,type:"file",name:t.fileInfo.name}})],1):t._e()],2):t._e()]),t._v(" "),t.showSharingDetailsView?e("SharingDetailsTab",{attrs:{"file-info":t.shareDetailsData.fileInfo,share:t.shareDetailsData.share},on:{"close-sharing-details":t.toggleShareDetailsView,"add:share":t.addShare,"remove:share":t.removeShare}}):t._e()],1)}),[],!1,null,"592538f1",null).exports},27514:t=>{"use strict";t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M18.4%207.4L17%206l-6%206%206%206%201.4-1.4-4.6-4.6%204.6-4.6m-6%200L11%206l-6%206%206%206%201.4-1.4L7.8%2012l4.6-4.6z%27/%3e%3c/svg%3e"},27518:t=>{"use strict";t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M15.4%2016.6L10.8%2012l4.6-4.6L14%206l-6%206%206%206%201.4-1.4z%27/%3e%3c/svg%3e"},35810:(t,e,i)=>{"use strict";i.d(e,{Al:()=>n.r,H4:()=>n.c,KT:()=>h,My:()=>g,Q$:()=>n.e,R3:()=>n.n,VL:()=>n.l,di:()=>c,lJ:()=>n.d,nF:()=>l,pt:()=>n.F,ur:()=>A,v7:()=>p});var n=i(68251),r=i(87485),s=(i(43627),i(53334)),a=i(380),o=i(65606),l=(t=>(t.ReservedName="reserved name",t.Character="character",t.Extension="extension",t))(l||{});class c extends Error{constructor(t){super(`Invalid ${t.reason} '${t.segment}' in filename '${t.filename}'`,{cause:t})}get filename(){return this.cause.filename}get reason(){return this.cause.reason}get segment(){return this.cause.segment}}function h(t){const e=(0,r.F)().files,i=e.forbidden_filename_characters??window._oc_config?.forbidden_filenames_characters??["/","\\"];for(const e of i)if(t.includes(e))throw new c({segment:e,reason:"character",filename:t});if(t=t.toLocaleLowerCase(),(e.forbidden_filenames??[".htaccess"]).includes(t))throw new c({filename:t,segment:t,reason:"reserved name"});const n=t.indexOf(".",1),s=t.substring(0,-1===n?void 0:n);if((e.forbidden_filename_basenames??[]).includes(s))throw new c({filename:t,segment:s,reason:"reserved name"});const a=e.forbidden_filename_extensions??[".part",".filepart"];for(const e of a)if(t.length>e.length&&t.endsWith(e))throw new c({segment:e,reason:"extension",filename:t})}const u=["B","KB","MB","GB","TB","PB"],d=["B","KiB","MiB","GiB","TiB","PiB"];function p(t,e=!1,i=!1,n=!1){i=i&&!n,"string"==typeof t&&(t=Number(t));let r=t>0?Math.floor(Math.log(t)/Math.log(n?1e3:1024)):0;r=Math.min((i?d.length:u.length)-1,r);const a=i?d[r]:u[r];let o=(t/Math.pow(n?1e3:1024,r)).toFixed(1);return!0===e&&0===r?("0.0"!==o?"< 1 ":"0 ")+(i?d[1]:u[1]):(o=r<2?parseFloat(o).toFixed(0):parseFloat(o).toLocaleString((0,s.lO)()),o+" "+a)}function f(t){return t instanceof Date?t.toISOString():String(t)}function g(t,e,i){i=i??[];const n=(e=e??[t=>t]).map(((t,e)=>"asc"===(i[e]??"asc")?1:-1)),r=Intl.Collator([(0,s.Z0)(),(0,s.lO)()],{numeric:!0,usage:"sort"});return[...t].sort(((t,i)=>{for(const[s,a]of e.entries()){const e=r.compare(f(a(t)),f(a(i)));if(0!==e)return e*n[s]}return 0}))}function A(t,e={}){const i={sortingMode:"basename",sortingOrder:"asc",...e};return g(t,[...i.sortFavoritesFirst?[t=>1!==t.attributes?.favorite]:[],...i.sortFoldersFirst?[t=>"folder"!==t.type]:[],..."basename"!==i.sortingMode?[t=>t[i.sortingMode]]:[],t=>{return(e=t.displayname||t.attributes?.displayname||t.basename).lastIndexOf(".")>0?e.slice(0,e.lastIndexOf(".")):e;var e},t=>t.basename],[...i.sortFavoritesFirst?["asc"]:[],...i.sortFoldersFirst?["asc"]:[],..."mtime"===i.sortingMode?["asc"===i.sortingOrder?"desc":"asc"]:[],..."mtime"!==i.sortingMode&&"basename"!==i.sortingMode?[i.sortingOrder]:[],i.sortingOrder,i.sortingOrder])}var m,v,y={},C={};function w(){return m||(m=1,function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",i="["+e+"]["+e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",n=new RegExp("^"+i+"$");t.isExist=function(t){return void 0!==t},t.isEmptyObject=function(t){return 0===Object.keys(t).length},t.merge=function(t,e,i){if(e){const n=Object.keys(e),r=n.length;for(let s=0;s<r;s++)t[n[s]]="strict"===i?[e[n[s]]]:e[n[s]]}},t.getValue=function(e){return t.isExist(e)?e:""},t.isName=function(t){return!(null==n.exec(t))},t.getAllMatches=function(t,e){const i=[];let n=e.exec(t);for(;n;){const r=[];r.startIndex=e.lastIndex-n[0].length;const s=n.length;for(let t=0;t<s;t++)r.push(n[t]);i.push(r),n=e.exec(t)}return i},t.nameRegexp=i}(C)),C}function b(){if(v)return y;v=1;const t=w(),e={allowBooleanAttributes:!1,unpairedTags:[]};function i(t){return" "===t||"\t"===t||"\n"===t||"\r"===t}function n(t,e){const i=e;for(;e<t.length;e++)if("?"!=t[e]&&" "!=t[e]);else{const n=t.substr(i,e-i);if(e>5&&"xml"===n)return u("InvalidXml","XML declaration allowed only at the start of the document.",p(t,e));if("?"==t[e]&&">"==t[e+1]){e++;break}}return e}function r(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e<t.length;e++)if("-"===t[e]&&"-"===t[e+1]&&">"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){let i=1;for(e+=8;e<t.length;e++)if("<"===t[e])i++;else if(">"===t[e]&&(i--,0===i))break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7])for(e+=8;e<t.length;e++)if("]"===t[e]&&"]"===t[e+1]&&">"===t[e+2]){e+=2;break}return e}y.validate=function(s,a){a=Object.assign({},e,a);const l=[];let d=!1,f=!1;"\ufeff"===s[0]&&(s=s.substr(1));for(let e=0;e<s.length;e++)if("<"===s[e]&&"?"===s[e+1]){if(e+=2,e=n(s,e),e.err)return e}else{if("<"!==s[e]){if(i(s[e]))continue;return u("InvalidChar","char '"+s[e]+"' is not expected.",p(s,e))}{let A=e;if(e++,"!"===s[e]){e=r(s,e);continue}{let m=!1;"/"===s[e]&&(m=!0,e++);let v="";for(;e<s.length&&">"!==s[e]&&" "!==s[e]&&"\t"!==s[e]&&"\n"!==s[e]&&"\r"!==s[e];e++)v+=s[e];if(v=v.trim(),"/"===v[v.length-1]&&(v=v.substring(0,v.length-1),e--),g=v,!t.isName(g)){let t;return t=0===v.trim().length?"Invalid space after '<'.":"Tag '"+v+"' is an invalid name.",u("InvalidTag",t,p(s,e))}const y=o(s,e);if(!1===y)return u("InvalidAttr","Attributes for '"+v+"' have open quote.",p(s,e));let C=y.value;if(e=y.index,"/"===C[C.length-1]){const t=e-C.length;C=C.substring(0,C.length-1);const i=c(C,a);if(!0!==i)return u(i.err.code,i.err.msg,p(s,t+i.err.line));d=!0}else if(m){if(!y.tagClosed)return u("InvalidTag","Closing tag '"+v+"' doesn't have proper closing.",p(s,e));if(C.trim().length>0)return u("InvalidTag","Closing tag '"+v+"' can't have attributes or invalid starting.",p(s,A));if(0===l.length)return u("InvalidTag","Closing tag '"+v+"' has not been opened.",p(s,A));{const t=l.pop();if(v!==t.tagName){let e=p(s,t.tagStartPos);return u("InvalidTag","Expected closing tag '"+t.tagName+"' (opened in line "+e.line+", col "+e.col+") instead of closing tag '"+v+"'.",p(s,A))}0==l.length&&(f=!0)}}else{const t=c(C,a);if(!0!==t)return u(t.err.code,t.err.msg,p(s,e-C.length+t.err.line));if(!0===f)return u("InvalidXml","Multiple possible root nodes found.",p(s,e));-1!==a.unpairedTags.indexOf(v)||l.push({tagName:v,tagStartPos:A}),d=!0}for(e++;e<s.length;e++)if("<"===s[e]){if("!"===s[e+1]){e++,e=r(s,e);continue}if("?"!==s[e+1])break;if(e=n(s,++e),e.err)return e}else if("&"===s[e]){const t=h(s,e);if(-1==t)return u("InvalidChar","char '&' is not expected.",p(s,e));e=t}else if(!0===f&&!i(s[e]))return u("InvalidXml","Extra text at the end",p(s,e));"<"===s[e]&&e--}}}var g;return d?1==l.length?u("InvalidTag","Unclosed tag '"+l[0].tagName+"'.",p(s,l[0].tagStartPos)):!(l.length>0)||u("InvalidXml","Invalid '"+JSON.stringify(l.map((t=>t.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):u("InvalidXml","Start tag expected.",1)};const s='"',a="'";function o(t,e){let i="",n="",r=!1;for(;e<t.length;e++){if(t[e]===s||t[e]===a)""===n?n=t[e]:n!==t[e]||(n="");else if(">"===t[e]&&""===n){r=!0;break}i+=t[e]}return""===n&&{value:i,index:e,tagClosed:r}}const l=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function c(e,i){const n=t.getAllMatches(e,l),r={};for(let t=0;t<n.length;t++){if(0===n[t][1].length)return u("InvalidAttr","Attribute '"+n[t][2]+"' has no space in starting.",f(n[t]));if(void 0!==n[t][3]&&void 0===n[t][4])return u("InvalidAttr","Attribute '"+n[t][2]+"' is without value.",f(n[t]));if(void 0===n[t][3]&&!i.allowBooleanAttributes)return u("InvalidAttr","boolean attribute '"+n[t][2]+"' is not allowed.",f(n[t]));const e=n[t][2];if(!d(e))return u("InvalidAttr","Attribute '"+e+"' is an invalid name.",f(n[t]));if(r.hasOwnProperty(e))return u("InvalidAttr","Attribute '"+e+"' is repeated.",f(n[t]));r[e]=1}return!0}function h(t,e){if(";"===t[++e])return-1;if("#"===t[e])return function(t,e){let i=/\d/;for("x"===t[e]&&(e++,i=/[\da-fA-F]/);e<t.length;e++){if(";"===t[e])return e;if(!t[e].match(i))break}return-1}(t,++e);let i=0;for(;e<t.length;e++,i++)if(!(t[e].match(/\w/)&&i<20)){if(";"===t[e])break;return-1}return e}function u(t,e,i){return{err:{code:t,msg:e,line:i.line||i,col:i.col}}}function d(e){return t.isName(e)}function p(t,e){const i=t.substring(0,e).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function f(t){return t.startIndex+t[1].length}return y}var _,E,x,S,I,k,T,N,D,P,R,B={};function L(){return D?N:(D=1,N=function(t){return"function"==typeof t?t:Array.isArray(t)?e=>{for(const i of t){if("string"==typeof i&&e===i)return!0;if(i instanceof RegExp&&i.test(e))return!0}}:()=>!1})}var O,M,U,$,F,V,j,z,q,H,G,W,Y,X={};function Q(){if(O)return X;function t(r,s,a){let o;const l={};for(let c=0;c<r.length;c++){const h=r[c],u=e(h);let d="";if(d=void 0===a?u:a+"."+u,u===s.textNodeName)void 0===o?o=h[u]:o+=""+h[u];else{if(void 0===u)continue;if(h[u]){let e=t(h[u],s,d);const r=n(e,s);h[":@"]?i(e,h[":@"],d,s):1!==Object.keys(e).length||void 0===e[s.textNodeName]||s.alwaysCreateTextNode?0===Object.keys(e).length&&(s.alwaysCreateTextNode?e[s.textNodeName]="":e=""):e=e[s.textNodeName],void 0!==l[u]&&l.hasOwnProperty(u)?(Array.isArray(l[u])||(l[u]=[l[u]]),l[u].push(e)):s.isArray(u,d,r)?l[u]=[e]:l[u]=e}}}return"string"==typeof o?o.length>0&&(l[s.textNodeName]=o):void 0!==o&&(l[s.textNodeName]=o),l}function e(t){const e=Object.keys(t);for(let t=0;t<e.length;t++){const i=e[t];if(":@"!==i)return i}}function i(t,e,i,n){if(e){const r=Object.keys(e),s=r.length;for(let a=0;a<s;a++){const s=r[a];n.isArray(s,i+"."+s,!0,!0)?t[s]=[e[s]]:t[s]=e[s]}}}function n(t,e){const{textNodeName:i}=e,n=Object.keys(t).length;return 0===n||!(1!==n||!t[i]&&"boolean"!=typeof t[i]&&0!==t[i])}return O=1,X.prettify=function(e,i){return t(e,i)},X}function Z(){if(U)return M;U=1;const{buildOptions:t}=function(){if(_)return B;_=1;const t={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,i){return t}};return B.buildOptions=function(e){return Object.assign({},t,e)},B.defaultOptions=t,B}(),e=function(){if(R)return P;R=1;const t=w(),e=x?E:(x=1,E=class{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,e){"__proto__"===t&&(t="#__proto__"),this.child.push({[t]:e})}addChild(t){"__proto__"===t.tagname&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child})}}),i=function(){if(I)return S;I=1;const t=w();function e(t,e){let i="";for(;e<t.length&&"'"!==t[e]&&'"'!==t[e];e++)i+=t[e];if(i=i.trim(),-1!==i.indexOf(" "))throw new Error("External entites are not supported");const n=t[e++];let r="";for(;e<t.length&&t[e]!==n;e++)r+=t[e];return[i,r,e]}function i(t,e){return"!"===t[e+1]&&"E"===t[e+2]&&"N"===t[e+3]&&"T"===t[e+4]&&"I"===t[e+5]&&"T"===t[e+6]&&"Y"===t[e+7]}function n(t,e){return"!"===t[e+1]&&"E"===t[e+2]&&"L"===t[e+3]&&"E"===t[e+4]&&"M"===t[e+5]&&"E"===t[e+6]&&"N"===t[e+7]&&"T"===t[e+8]}function r(t,e){return"!"===t[e+1]&&"A"===t[e+2]&&"T"===t[e+3]&&"T"===t[e+4]&&"L"===t[e+5]&&"I"===t[e+6]&&"S"===t[e+7]&&"T"===t[e+8]}function s(t,e){return"!"===t[e+1]&&"N"===t[e+2]&&"O"===t[e+3]&&"T"===t[e+4]&&"A"===t[e+5]&&"T"===t[e+6]&&"I"===t[e+7]&&"O"===t[e+8]&&"N"===t[e+9]}function a(e){if(t.isName(e))return e;throw new Error(`Invalid entity name ${e}`)}return S=function(t,o){const l={};if("O"!==t[o+3]||"C"!==t[o+4]||"T"!==t[o+5]||"Y"!==t[o+6]||"P"!==t[o+7]||"E"!==t[o+8])throw new Error("Invalid Tag instead of DOCTYPE");{o+=9;let c=1,h=!1,u=!1,d="";for(;o<t.length;o++)if("<"!==t[o]||u)if(">"===t[o]){if(u?"-"===t[o-1]&&"-"===t[o-2]&&(u=!1,c--):c--,0===c)break}else"["===t[o]?h=!0:d+=t[o];else{if(h&&i(t,o)){let i,n;o+=7,[i,n,o]=e(t,o+1),-1===n.indexOf("&")&&(l[a(i)]={regx:RegExp(`&${i};`,"g"),val:n})}else h&&n(t,o)||h&&r(t,o)?o+=8:h&&s(t,o)?o+=9:u=!0;c++,d=""}if(0!==c)throw new Error("Unclosed DOCTYPE")}return{entities:l,i:o}}}(),n=function(){if(T)return k;T=1;const t=/^[-+]?0x[a-fA-F0-9]+$/,e=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};return k=function(n,r={}){if(r=Object.assign({},i,r),!n||"string"!=typeof n)return n;let s=n.trim();if(void 0!==r.skipLike&&r.skipLike.test(s))return n;if(r.hex&&t.test(s))return Number.parseInt(s,16);{const t=e.exec(s);if(t){const e=t[1],i=t[2];let o=(a=t[3])&&-1!==a.indexOf(".")?("."===(a=a.replace(/0+$/,""))?a="0":"."===a[0]?a="0"+a:"."===a[a.length-1]&&(a=a.substr(0,a.length-1)),a):a;const l=t[4]||t[6];if(!r.leadingZeros&&i.length>0&&e&&"."!==s[2])return n;if(!r.leadingZeros&&i.length>0&&!e&&"."!==s[1])return n;{const t=Number(s),a=""+t;return-1!==a.search(/[eE]/)||l?r.eNotation?t:n:-1!==s.indexOf(".")?"0"===a&&""===o||a===o||e&&a==="-"+o?t:n:i?o===a||e+o===a?t:n:s===a||s===e+a?t:n}}return n}var a}}(),r=L();function s(t){const e=Object.keys(t);for(let i=0;i<e.length;i++){const n=e[i];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:t[n]}}}function a(t,e,i,n,r,s,a){if(void 0!==t&&(this.options.trimValues&&!n&&(t=t.trim()),t.length>0)){a||(t=this.replaceEntitiesValue(t));const n=this.options.tagValueProcessor(e,t,i,r,s);return null==n?t:typeof n!=typeof t||n!==t?n:this.options.trimValues||t.trim()===t?v(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function o(t){if(this.options.removeNSPrefix){const e=t.split(":"),i="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=i+e[1])}return t}const l=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function c(e,i,n){if(!0!==this.options.ignoreAttributes&&"string"==typeof e){const n=t.getAllMatches(e,l),r=n.length,s={};for(let t=0;t<r;t++){const e=this.resolveNameSpace(n[t][1]);if(this.ignoreAttributesFn(e,i))continue;let r=n[t][4],a=this.options.attributeNamePrefix+e;if(e.length)if(this.options.transformAttributeName&&(a=this.options.transformAttributeName(a)),"__proto__"===a&&(a="#__proto__"),void 0!==r){this.options.trimValues&&(r=r.trim()),r=this.replaceEntitiesValue(r);const t=this.options.attributeValueProcessor(e,r,i);s[a]=null==t?r:typeof t!=typeof r||t!==r?t:v(r,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(s[a]=!0)}if(!Object.keys(s).length)return;if(this.options.attributesGroupName){const t={};return t[this.options.attributesGroupName]=s,t}return s}}const h=function(t){t=t.replace(/\r\n?/g,"\n");const n=new e("!xml");let r=n,s="",a="";for(let o=0;o<t.length;o++)if("<"===t[o])if("/"===t[o+1]){const e=g(t,">",o,"Closing Tag is not closed.");let i=t.substring(o+2,e).trim();if(this.options.removeNSPrefix){const t=i.indexOf(":");-1!==t&&(i=i.substr(t+1))}this.options.transformTagName&&(i=this.options.transformTagName(i)),r&&(s=this.saveTextToParentTag(s,r,a));const n=a.substring(a.lastIndexOf(".")+1);if(i&&-1!==this.options.unpairedTags.indexOf(i))throw new Error(`Unpaired tag can not be used as closing tag: </${i}>`);let l=0;n&&-1!==this.options.unpairedTags.indexOf(n)?(l=a.lastIndexOf(".",a.lastIndexOf(".")-1),this.tagsNodeStack.pop()):l=a.lastIndexOf("."),a=a.substring(0,l),r=this.tagsNodeStack.pop(),s="",o=e}else if("?"===t[o+1]){let i=A(t,o,!1,"?>");if(!i)throw new Error("Pi Tag is not closed.");if(s=this.saveTextToParentTag(s,r,a),this.options.ignoreDeclaration&&"?xml"===i.tagName||this.options.ignorePiTags);else{const t=new e(i.tagName);t.add(this.options.textNodeName,""),i.tagName!==i.tagExp&&i.attrExpPresent&&(t[":@"]=this.buildAttributesMap(i.tagExp,a,i.tagName)),this.addChild(r,t,a)}o=i.closeIndex+1}else if("!--"===t.substr(o+1,3)){const e=g(t,"--\x3e",o+4,"Comment is not closed.");if(this.options.commentPropName){const i=t.substring(o+4,e-2);s=this.saveTextToParentTag(s,r,a),r.add(this.options.commentPropName,[{[this.options.textNodeName]:i}])}o=e}else if("!D"===t.substr(o+1,2)){const e=i(t,o);this.docTypeEntities=e.entities,o=e.i}else if("!["===t.substr(o+1,2)){const e=g(t,"]]>",o,"CDATA is not closed.")-2,i=t.substring(o+9,e);s=this.saveTextToParentTag(s,r,a);let n=this.parseTextData(i,r.tagname,a,!0,!1,!0,!0);null==n&&(n=""),this.options.cdataPropName?r.add(this.options.cdataPropName,[{[this.options.textNodeName]:i}]):r.add(this.options.textNodeName,n),o=e+2}else{let i=A(t,o,this.options.removeNSPrefix),l=i.tagName;const c=i.rawTagName;let h=i.tagExp,u=i.attrExpPresent,d=i.closeIndex;this.options.transformTagName&&(l=this.options.transformTagName(l)),r&&s&&"!xml"!==r.tagname&&(s=this.saveTextToParentTag(s,r,a,!1));const p=r;if(p&&-1!==this.options.unpairedTags.indexOf(p.tagname)&&(r=this.tagsNodeStack.pop(),a=a.substring(0,a.lastIndexOf("."))),l!==n.tagname&&(a+=a?"."+l:l),this.isItStopNode(this.options.stopNodes,a,l)){let n="";if(h.length>0&&h.lastIndexOf("/")===h.length-1)"/"===l[l.length-1]?(l=l.substr(0,l.length-1),a=a.substr(0,a.length-1),h=l):h=h.substr(0,h.length-1),o=i.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(l))o=i.closeIndex;else{const e=this.readStopNodeData(t,c,d+1);if(!e)throw new Error(`Unexpected end of ${c}`);o=e.i,n=e.tagContent}const s=new e(l);l!==h&&u&&(s[":@"]=this.buildAttributesMap(h,a,l)),n&&(n=this.parseTextData(n,l,a,!0,u,!0,!0)),a=a.substr(0,a.lastIndexOf(".")),s.add(this.options.textNodeName,n),this.addChild(r,s,a)}else{if(h.length>0&&h.lastIndexOf("/")===h.length-1){"/"===l[l.length-1]?(l=l.substr(0,l.length-1),a=a.substr(0,a.length-1),h=l):h=h.substr(0,h.length-1),this.options.transformTagName&&(l=this.options.transformTagName(l));const t=new e(l);l!==h&&u&&(t[":@"]=this.buildAttributesMap(h,a,l)),this.addChild(r,t,a),a=a.substr(0,a.lastIndexOf("."))}else{const t=new e(l);this.tagsNodeStack.push(r),l!==h&&u&&(t[":@"]=this.buildAttributesMap(h,a,l)),this.addChild(r,t,a),r=t}s="",o=d}}else s+=t[o];return n.child};function u(t,e,i){const n=this.options.updateTag(e.tagname,i,e[":@"]);!1===n||("string"==typeof n?(e.tagname=n,t.addChild(e)):t.addChild(e))}const d=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const i=this.docTypeEntities[e];t=t.replace(i.regx,i.val)}for(let e in this.lastEntities){const i=this.lastEntities[e];t=t.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const i=this.htmlEntities[e];t=t.replace(i.regex,i.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function p(t,e,i,n){return t&&(void 0===n&&(n=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,i,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,n))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function f(t,e,i){const n="*."+i;for(const i in t){const r=t[i];if(n===r||e===r)return!0}return!1}function g(t,e,i,n){const r=t.indexOf(e,i);if(-1===r)throw new Error(n);return r+e.length-1}function A(t,e,i,n=">"){const r=function(t,e,i=">"){let n,r="";for(let s=e;s<t.length;s++){let e=t[s];if(n)e===n&&(n="");else if('"'===e||"'"===e)n=e;else if(e===i[0]){if(!i[1])return{data:r,index:s};if(t[s+1]===i[1])return{data:r,index:s}}else"\t"===e&&(e=" ");r+=e}}(t,e+1,n);if(!r)return;let s=r.data;const a=r.index,o=s.search(/\s/);let l=s,c=!0;-1!==o&&(l=s.substring(0,o),s=s.substring(o+1).trimStart());const h=l;if(i){const t=l.indexOf(":");-1!==t&&(l=l.substr(t+1),c=l!==r.data.substr(t+1))}return{tagName:l,tagExp:s,closeIndex:a,attrExpPresent:c,rawTagName:h}}function m(t,e,i){const n=i;let r=1;for(;i<t.length;i++)if("<"===t[i])if("/"===t[i+1]){const s=g(t,">",i,`${e} is not closed`);if(t.substring(i+2,s).trim()===e&&(r--,0===r))return{tagContent:t.substring(n,i),i:s};i=s}else if("?"===t[i+1])i=g(t,"?>",i+1,"StopNode is not closed.");else if("!--"===t.substr(i+1,3))i=g(t,"--\x3e",i+3,"StopNode is not closed.");else if("!["===t.substr(i+1,2))i=g(t,"]]>",i,"StopNode is not closed.")-2;else{const n=A(t,i,">");n&&((n&&n.tagName)===e&&"/"!==n.tagExp[n.tagExp.length-1]&&r++,i=n.closeIndex)}}function v(e,i,r){if(i&&"string"==typeof e){const t=e.trim();return"true"===t||"false"!==t&&n(e,r)}return t.isExist(e)?e:""}return P=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,e)=>String.fromCharCode(Number.parseInt(e,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,e)=>String.fromCharCode(Number.parseInt(e,16))}},this.addExternalEntities=s,this.parseXml=h,this.parseTextData=a,this.resolveNameSpace=o,this.buildAttributesMap=c,this.isItStopNode=f,this.replaceEntitiesValue=d,this.readStopNodeData=m,this.saveTextToParentTag=p,this.addChild=u,this.ignoreAttributesFn=r(this.options.ignoreAttributes)}}}(),{prettify:i}=Q(),n=b();return M=class{constructor(e){this.externalEntities={},this.options=t(e)}parse(t,r){if("string"==typeof t);else{if(!t.toString)throw new Error("XML data is accepted in String or Bytes[] form.");t=t.toString()}if(r){!0===r&&(r={});const e=n.validate(t,r);if(!0!==e)throw Error(`${e.err.msg}:${e.err.line}:${e.err.col}`)}const s=new e(this.options);s.addExternalEntities(this.externalEntities);const a=s.parseXml(t);return this.options.preserveOrder||void 0===a?a:i(a,this.options)}addEntity(t,e){if(-1!==e.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==t.indexOf("&")||-1!==t.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if("&"===e)throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=e}}}function K(){if(F)return $;function t(s,a,o,l){let c="",h=!1;for(let u=0;u<s.length;u++){const d=s[u],p=e(d);if(void 0===p)continue;let f="";if(f=0===o.length?p:`${o}.${p}`,p===a.textNodeName){let t=d[p];n(f,a)||(t=a.tagValueProcessor(p,t),t=r(t,a)),h&&(c+=l),c+=t,h=!1;continue}if(p===a.cdataPropName){h&&(c+=l),c+=`<![CDATA[${d[p][0][a.textNodeName]}]]>`,h=!1;continue}if(p===a.commentPropName){c+=l+`\x3c!--${d[p][0][a.textNodeName]}--\x3e`,h=!0;continue}if("?"===p[0]){const t=i(d[":@"],a),e="?xml"===p?"":l;let n=d[p][0][a.textNodeName];n=0!==n.length?" "+n:"",c+=e+`<${p}${n}${t}?>`,h=!0;continue}let g=l;""!==g&&(g+=a.indentBy);const A=l+`<${p}${i(d[":@"],a)}`,m=t(d[p],a,f,g);-1!==a.unpairedTags.indexOf(p)?a.suppressUnpairedNode?c+=A+">":c+=A+"/>":m&&0!==m.length||!a.suppressEmptyNode?m&&m.endsWith(">")?c+=A+`>${m}${l}</${p}>`:(c+=A+">",m&&""!==l&&(m.includes("/>")||m.includes("</"))?c+=l+a.indentBy+m+l:c+=m,c+=`</${p}>`):c+=A+"/>",h=!0}return c}function e(t){const e=Object.keys(t);for(let i=0;i<e.length;i++){const n=e[i];if(t.hasOwnProperty(n)&&":@"!==n)return n}}function i(t,e){let i="";if(t&&!e.ignoreAttributes)for(let n in t){if(!t.hasOwnProperty(n))continue;let s=e.attributeValueProcessor(n,t[n]);s=r(s,e),!0===s&&e.suppressBooleanAttributes?i+=` ${n.substr(e.attributeNamePrefix.length)}`:i+=` ${n.substr(e.attributeNamePrefix.length)}="${s}"`}return i}function n(t,e){let i=(t=t.substr(0,t.length-e.textNodeName.length-1)).substr(t.lastIndexOf(".")+1);for(let n in e.stopNodes)if(e.stopNodes[n]===t||e.stopNodes[n]==="*."+i)return!0;return!1}function r(t,e){if(t&&t.length>0&&e.processEntities)for(let i=0;i<e.entities.length;i++){const n=e.entities[i];t=t.replace(n.regex,n.val)}return t}return F=1,$=function(e,i){let n="";return i.format&&i.indentBy.length>0&&(n="\n"),t(e,i,"",n)}}function J(){if(G)return H;G=1;const t="object"==typeof o&&o.env&&o.env.NODE_DEBUG&&/\bsemver\b/i.test(o.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};return H=t}function tt(){if(Y)return W;Y=1;const t=Number.MAX_SAFE_INTEGER||9007199254740991;return W={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:t,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}!function(){if(q)return z;q=1;const t=b(),e=Z(),i=function(){if(j)return V;j=1;const t=K(),e=L(),i={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function n(t){this.options=Object.assign({},i,t),!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=e(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=a),this.processTextOrObjNode=r,this.options.format?(this.indentate=s,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function r(t,e,i,n){const r=this.j2x(t,i+1,n.concat(e));return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,r.attrStr,i):this.buildObjectNode(r.val,e,r.attrStr,i)}function s(t){return this.options.indentBy.repeat(t)}function a(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}return n.prototype.build=function(e){return this.options.preserveOrder?t(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0,[]).val)},n.prototype.j2x=function(t,e,i){let n="",r="";const s=i.join(".");for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a))if(void 0===t[a])this.isAttribute(a)&&(r+="");else if(null===t[a])this.isAttribute(a)?r+="":"?"===a[0]?r+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:r+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(t[a]instanceof Date)r+=this.buildTextValNode(t[a],a,"",e);else if("object"!=typeof t[a]){const i=this.isAttribute(a);if(i&&!this.ignoreAttributesFn(i,s))n+=this.buildAttrPairStr(i,""+t[a]);else if(!i)if(a===this.options.textNodeName){let e=this.options.tagValueProcessor(a,""+t[a]);r+=this.replaceEntitiesValue(e)}else r+=this.buildTextValNode(t[a],a,"",e)}else if(Array.isArray(t[a])){const n=t[a].length;let s="",o="";for(let l=0;l<n;l++){const n=t[a][l];if(void 0===n);else if(null===n)"?"===a[0]?r+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:r+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if("object"==typeof n)if(this.options.oneListGroup){const t=this.j2x(n,e+1,i.concat(a));s+=t.val,this.options.attributesGroupName&&n.hasOwnProperty(this.options.attributesGroupName)&&(o+=t.attrStr)}else s+=this.processTextOrObjNode(n,a,e,i);else if(this.options.oneListGroup){let t=this.options.tagValueProcessor(a,n);t=this.replaceEntitiesValue(t),s+=t}else s+=this.buildTextValNode(n,a,"",e)}this.options.oneListGroup&&(s=this.buildObjectNode(s,a,o,e)),r+=s}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){const e=Object.keys(t[a]),i=e.length;for(let r=0;r<i;r++)n+=this.buildAttrPairStr(e[r],""+t[a][e[r]])}else r+=this.processTextOrObjNode(t[a],a,e,i);return{attrStr:n,val:r}},n.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&"true"===e?" "+t:" "+t+'="'+e+'"'},n.prototype.buildObjectNode=function(t,e,i,n){if(""===t)return"?"===e[0]?this.indentate(n)+"<"+e+i+"?"+this.tagEndChar:this.indentate(n)+"<"+e+i+this.closeTag(e)+this.tagEndChar;{let r="</"+e+this.tagEndChar,s="";return"?"===e[0]&&(s="?",r=""),!i&&""!==i||-1!==t.indexOf("<")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===s.length?this.indentate(n)+`\x3c!--${t}--\x3e`+this.newLine:this.indentate(n)+"<"+e+i+s+this.tagEndChar+t+this.indentate(n)+r:this.indentate(n)+"<"+e+i+s+">"+t+r}},n.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`></${t}`,e},n.prototype.buildTextValNode=function(t,e,i,n){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName)return this.indentate(n)+`<![CDATA[${t}]]>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(n)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(n)+"<"+e+i+"?"+this.tagEndChar;{let r=this.options.tagValueProcessor(e,t);return r=this.replaceEntitiesValue(r),""===r?this.indentate(n)+"<"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+i+">"+r+"</"+e+this.tagEndChar}},n.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const i=this.options.entities[e];t=t.replace(i.regex,i.val)}return t},V=n}();z={XMLParser:e,XMLValidator:t,XMLBuilder:i}}();var et,it,nt,rt,st,at,ot,lt,ct,ht,ut,dt,pt,ft={exports:{}};function gt(){if(ot)return at;ot=1;const t=J(),{MAX_LENGTH:e,MAX_SAFE_INTEGER:i}=tt(),{safeRe:n,t:r}=(et||(et=1,function(t,e){const{MAX_SAFE_COMPONENT_LENGTH:i,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:r}=tt(),s=J(),a=(e=t.exports={}).re=[],o=e.safeRe=[],l=e.src=[],c=e.t={};let h=0;const u="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",r],[u,n]],p=(t,e,i)=>{const n=(t=>{for(const[e,i]of d)t=t.split(`${e}*`).join(`${e}{0,${i}}`).split(`${e}+`).join(`${e}{1,${i}}`);return t})(e),r=h++;s(t,r,e),c[t]=r,l[r]=e,a[r]=new RegExp(e,i?"g":void 0),o[r]=new RegExp(n,i?"g":void 0)};p("NUMERICIDENTIFIER","0|[1-9]\\d*"),p("NUMERICIDENTIFIERLOOSE","\\d+"),p("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${u}*`),p("MAINVERSION",`(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})`),p("MAINVERSIONLOOSE",`(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})`),p("PRERELEASEIDENTIFIER",`(?:${l[c.NUMERICIDENTIFIER]}|${l[c.NONNUMERICIDENTIFIER]})`),p("PRERELEASEIDENTIFIERLOOSE",`(?:${l[c.NUMERICIDENTIFIERLOOSE]}|${l[c.NONNUMERICIDENTIFIER]})`),p("PRERELEASE",`(?:-(${l[c.PRERELEASEIDENTIFIER]}(?:\\.${l[c.PRERELEASEIDENTIFIER]})*))`),p("PRERELEASELOOSE",`(?:-?(${l[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[c.PRERELEASEIDENTIFIERLOOSE]})*))`),p("BUILDIDENTIFIER",`${u}+`),p("BUILD",`(?:\\+(${l[c.BUILDIDENTIFIER]}(?:\\.${l[c.BUILDIDENTIFIER]})*))`),p("FULLPLAIN",`v?${l[c.MAINVERSION]}${l[c.PRERELEASE]}?${l[c.BUILD]}?`),p("FULL",`^${l[c.FULLPLAIN]}$`),p("LOOSEPLAIN",`[v=\\s]*${l[c.MAINVERSIONLOOSE]}${l[c.PRERELEASELOOSE]}?${l[c.BUILD]}?`),p("LOOSE",`^${l[c.LOOSEPLAIN]}$`),p("GTLT","((?:<|>)?=?)"),p("XRANGEIDENTIFIERLOOSE",`${l[c.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),p("XRANGEIDENTIFIER",`${l[c.NUMERICIDENTIFIER]}|x|X|\\*`),p("XRANGEPLAIN",`[v=\\s]*(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:${l[c.PRERELEASE]})?${l[c.BUILD]}?)?)?`),p("XRANGEPLAINLOOSE",`[v=\\s]*(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:${l[c.PRERELEASELOOSE]})?${l[c.BUILD]}?)?)?`),p("XRANGE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAIN]}$`),p("XRANGELOOSE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAINLOOSE]}$`),p("COERCEPLAIN",`(^|[^\\d])(\\d{1,${i}})(?:\\.(\\d{1,${i}}))?(?:\\.(\\d{1,${i}}))?`),p("COERCE",`${l[c.COERCEPLAIN]}(?:$|[^\\d])`),p("COERCEFULL",l[c.COERCEPLAIN]+`(?:${l[c.PRERELEASE]})?(?:${l[c.BUILD]})?(?:$|[^\\d])`),p("COERCERTL",l[c.COERCE],!0),p("COERCERTLFULL",l[c.COERCEFULL],!0),p("LONETILDE","(?:~>?)"),p("TILDETRIM",`(\\s*)${l[c.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",p("TILDE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAIN]}$`),p("TILDELOOSE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAINLOOSE]}$`),p("LONECARET","(?:\\^)"),p("CARETTRIM",`(\\s*)${l[c.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",p("CARET",`^${l[c.LONECARET]}${l[c.XRANGEPLAIN]}$`),p("CARETLOOSE",`^${l[c.LONECARET]}${l[c.XRANGEPLAINLOOSE]}$`),p("COMPARATORLOOSE",`^${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]})$|^$`),p("COMPARATOR",`^${l[c.GTLT]}\\s*(${l[c.FULLPLAIN]})$|^$`),p("COMPARATORTRIM",`(\\s*)${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]}|${l[c.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",p("HYPHENRANGE",`^\\s*(${l[c.XRANGEPLAIN]})\\s+-\\s+(${l[c.XRANGEPLAIN]})\\s*$`),p("HYPHENRANGELOOSE",`^\\s*(${l[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[c.XRANGEPLAINLOOSE]})\\s*$`),p("STAR","(<|>)?=?\\s*\\*"),p("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),p("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(ft,ft.exports)),ft.exports),s=function(){if(nt)return it;nt=1;const t=Object.freeze({loose:!0}),e=Object.freeze({});return it=i=>i?"object"!=typeof i?t:i:e}(),{compareIdentifiers:a}=function(){if(st)return rt;st=1;const t=/^[0-9]+$/,e=(e,i)=>{const n=t.test(e),r=t.test(i);return n&&r&&(e=+e,i=+i),e===i?0:n&&!r?-1:r&&!n?1:e<i?-1:1};return rt={compareIdentifiers:e,rcompareIdentifiers:(t,i)=>e(i,t)}}();class o{constructor(a,l){if(l=s(l),a instanceof o){if(a.loose===!!l.loose&&a.includePrerelease===!!l.includePrerelease)return a;a=a.version}else if("string"!=typeof a)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof a}".`);if(a.length>e)throw new TypeError(`version is longer than ${e} characters`);t("SemVer",a,l),this.options=l,this.loose=!!l.loose,this.includePrerelease=!!l.includePrerelease;const c=a.trim().match(l.loose?n[r.LOOSE]:n[r.FULL]);if(!c)throw new TypeError(`Invalid Version: ${a}`);if(this.raw=a,this.major=+c[1],this.minor=+c[2],this.patch=+c[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");c[4]?this.prerelease=c[4].split(".").map((t=>{if(/^[0-9]+$/.test(t)){const e=+t;if(e>=0&&e<i)return e}return t})):this.prerelease=[],this.build=c[5]?c[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(t("SemVer.compare",this.version,this.options,e),!(e instanceof o)){if("string"==typeof e&&e===this.version)return 0;e=new o(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(t){return t instanceof o||(t=new o(t,this.options)),a(this.major,t.major)||a(this.minor,t.minor)||a(this.patch,t.patch)}comparePre(e){if(e instanceof o||(e=new o(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let i=0;do{const n=this.prerelease[i],r=e.prerelease[i];if(t("prerelease compare",i,n,r),void 0===n&&void 0===r)return 0;if(void 0===r)return 1;if(void 0===n)return-1;if(n!==r)return a(n,r)}while(++i)}compareBuild(e){e instanceof o||(e=new o(e,this.options));let i=0;do{const n=this.build[i],r=e.build[i];if(t("build compare",i,n,r),void 0===n&&void 0===r)return 0;if(void 0===r)return 1;if(void 0===n)return-1;if(n!==r)return a(n,r)}while(++i)}inc(t,e,i){switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",e,i);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",e,i);break;case"prepatch":this.prerelease.length=0,this.inc("patch",e,i),this.inc("pre",e,i);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",e,i),this.inc("pre",e,i);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const t=Number(i)?1:0;if(!e&&!1===i)throw new Error("invalid increment argument: identifier is empty");if(0===this.prerelease.length)this.prerelease=[t];else{let n=this.prerelease.length;for(;--n>=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);if(-1===n){if(e===this.prerelease.join(".")&&!1===i)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(t)}}if(e){let n=[e,t];!1===i&&(n=[e]),0===a(this.prerelease[0],e)?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return at=o}!function(){if(ut)return ht;ut=1;const t=function(){if(ct)return lt;ct=1;const t=gt();return lt=(e,i,n=!1)=>{if(e instanceof t)return e;try{return new t(e,i)}catch(t){if(!n)return null;throw t}}}();ht=(e,i)=>{const n=t(e,i);return n?n.version:null}}(),function(){if(pt)return dt;pt=1;const t=gt();dt=(e,i)=>new t(e,i).major}(),a.m},38779:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharing-entry__internal .avatar-external[data-v-57874406]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}.sharing-entry__internal .icon-checkmark-color[data-v-57874406]{opacity:1;color:var(--color-success)}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue"],names:[],mappings:"AAEC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA,CACA,0BAAA",sourcesContent:["\n.sharing-entry__internal {\n\t.avatar-external {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n"],sourceRoot:""}]);const o=a},43570:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharing-entry[data-v-44339fa4]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-44339fa4]{padding:8px;padding-inline-start:10px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc p[data-v-44339fa4]{color:var(--color-text-maxcontrast)}.sharing-entry__title[data-v-44339fa4]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__actions[data-v-44339fa4]{margin-inline-start:auto !important}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,wCACC,mCAAA,CAGF,uCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,yCACC,mCAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tline-height: 1.2em;\n\t\tposition: relative;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__title {\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tmax-width: inherit;\n\t}\n\t&__actions {\n\t\tmargin-inline-start: auto !important;\n\t}\n}\n"],sourceRoot:""}]);const o=a},48318:function(t,e,i){!function(t){"use strict";var e,i=function(){try{if(t.URLSearchParams&&"bar"===new t.URLSearchParams("foo=bar").get("foo"))return t.URLSearchParams}catch(t){}return null}(),n=i&&"a=1"===new i({a:1}).toString(),r=i&&"+"===new i("s=%2B").get("s"),s=i&&"size"in i.prototype,a="__URLSearchParams__",o=!i||((e=new i).append("s"," &"),"s=+%26"===e.toString()),l=p.prototype,c=!(!t.Symbol||!t.Symbol.iterator);if(!(i&&n&&r&&o&&s)){l.append=function(t,e){v(this[a],t,e)},l.delete=function(t){delete this[a][t]},l.get=function(t){var e=this[a];return this.has(t)?e[t][0]:null},l.getAll=function(t){var e=this[a];return this.has(t)?e[t].slice(0):[]},l.has=function(t){return C(this[a],t)},l.set=function(t,e){this[a][t]=[""+e]},l.toString=function(){var t,e,i,n,r=this[a],s=[];for(e in r)for(i=f(e),t=0,n=r[e];t<n.length;t++)s.push(i+"="+f(n[t]));return s.join("&")};var h,u=t.Proxy&&i&&(!r||!o||!n||!s);u?(h=new Proxy(i,{construct:function(t,e){return new t(new p(e[0]).toString())}})).toString=Function.prototype.toString.bind(p):h=p,Object.defineProperty(t,"URLSearchParams",{value:h});var d=t.URLSearchParams.prototype;d.polyfill=!0,!u&&t.Symbol&&(d[t.Symbol.toStringTag]="URLSearchParams"),"forEach"in d||(d.forEach=function(t,e){var i=m(this.toString());Object.getOwnPropertyNames(i).forEach((function(n){i[n].forEach((function(i){t.call(e,i,n,this)}),this)}),this)}),"sort"in d||(d.sort=function(){var t,e,i,n=m(this.toString()),r=[];for(t in n)r.push(t);for(r.sort(),e=0;e<r.length;e++)this.delete(r[e]);for(e=0;e<r.length;e++){var s=r[e],a=n[s];for(i=0;i<a.length;i++)this.append(s,a[i])}}),"keys"in d||(d.keys=function(){var t=[];return this.forEach((function(e,i){t.push(i)})),A(t)}),"values"in d||(d.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),A(t)}),"entries"in d||(d.entries=function(){var t=[];return this.forEach((function(e,i){t.push([i,e])})),A(t)}),c&&(d[t.Symbol.iterator]=d[t.Symbol.iterator]||d.entries),"size"in d||Object.defineProperty(d,"size",{get:function(){var t=m(this.toString());if(d===this)throw new TypeError("Illegal invocation at URLSearchParams.invokeGetter");return Object.keys(t).reduce((function(e,i){return e+t[i].length}),0)}})}function p(t){((t=t||"")instanceof URLSearchParams||t instanceof p)&&(t=t.toString()),this[a]=m(t)}function f(t){var e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'\(\)~]|%20|%00/g,(function(t){return e[t]}))}function g(t){return t.replace(/[ +]/g,"%20").replace(/(%[a-f0-9]{2})+/gi,(function(t){return decodeURIComponent(t)}))}function A(e){var i={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return c&&(i[t.Symbol.iterator]=function(){return i}),i}function m(t){var e={};if("object"==typeof t)if(y(t))for(var i=0;i<t.length;i++){var n=t[i];if(!y(n)||2!==n.length)throw new TypeError("Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements");v(e,n[0],n[1])}else for(var r in t)t.hasOwnProperty(r)&&v(e,r,t[r]);else{0===t.indexOf("?")&&(t=t.slice(1));for(var s=t.split("&"),a=0;a<s.length;a++){var o=s[a],l=o.indexOf("=");-1<l?v(e,g(o.slice(0,l)),g(o.slice(l+1))):o&&v(e,g(o),"")}}return e}function v(t,e,i){var n="string"==typeof i?i:null!=i&&"function"==typeof i.toString?i.toString():JSON.stringify(i);C(t,e)?t[e].push(n):t[e]=[n]}function y(t){return!!t&&"[object Array]"===Object.prototype.toString.call(t)}function C(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(void 0!==i.g?i.g:"undefined"!=typeof window?window:this)},56467:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharing-entry__inherited .avatar-shared[data-v-a6cc72e6]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingInherited.vue"],names:[],mappings:"AAEC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA",sourcesContent:["\n.sharing-entry__inherited {\n\t.avatar-shared {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n}\n"],sourceRoot:""}]);const o=a},59879:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharing-entry[data-v-fe8ed59e]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-fe8ed59e]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;padding-inline-start:10px;line-height:1.2em}.sharing-entry__desc p[data-v-fe8ed59e]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-fe8ed59e]{margin-inline-start:auto}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,wBAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-inline-start: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=a},63316:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".share-expiry-time[data-v-46cd2ca2]{display:inline-flex;align-items:center;justify-content:center}.share-expiry-time .hint-icon[data-v-46cd2ca2]{padding:0;margin:0;width:24px;height:24px}.hint-heading[data-v-46cd2ca2]{text-align:center;font-size:1rem;margin-top:8px;padding-bottom:8px;margin-bottom:0;border-bottom:1px solid var(--color-border)}.hint-body[data-v-46cd2ca2]{padding:var(--border-radius-element);max-width:300px}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/ShareExpiryTime.vue"],names:[],mappings:"AACA,oCACI,mBAAA,CACA,kBAAA,CACA,sBAAA,CAEA,+CACI,SAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA,CAIR,+BACI,iBAAA,CACA,cAAA,CACA,cAAA,CACA,kBAAA,CACA,eAAA,CACA,2CAAA,CAGJ,4BACI,oCAAA,CACA,eAAA",sourcesContent:["\n.share-expiry-time {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n .hint-icon {\n padding: 0;\n margin: 0;\n width: 24px;\n height: 24px;\n }\n}\n\n.hint-heading {\n text-align: center;\n font-size: 1rem;\n margin-top: 8px;\n padding-bottom: 8px;\n margin-bottom: 0;\n border-bottom: 1px solid var(--color-border);\n}\n\n.hint-body {\n padding: var(--border-radius-element);\n max-width: 300px;\n}\n"],sourceRoot:""}]);const o=a},70162:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharing-entry[data-v-2dbd45b5]{display:flex;align-items:center;height:44px}.sharing-entry__summary[data-v-2dbd45b5]{padding:8px;padding-inline-start:10px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0;min-width:0}.sharing-entry__summary__desc[data-v-2dbd45b5]{display:inline-block;padding-bottom:0;line-height:1.2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharing-entry__summary__desc p[data-v-2dbd45b5],.sharing-entry__summary__desc small[data-v-2dbd45b5]{color:var(--color-text-maxcontrast)}.sharing-entry__summary__desc-unique[data-v-2dbd45b5]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntry.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CAEA,+CACC,oBAAA,CACA,gBAAA,CACA,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,sGAEC,mCAAA,CAGD,sDACC,mCAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: flex-start;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\n\t\t&__desc {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding-bottom: 0;\n\t\t\tline-height: 1.2em;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\tp,\n\t\t\tsmall {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&-unique {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t}\n\n}\n"],sourceRoot:""}]);const o=a},79722:t=>{"use strict";t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M5.6%207.4L7%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6m6%200L13%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6z%27/%3e%3c/svg%3e"},86886:t=>{"use strict";t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M8.6%2016.6l4.6-4.6-4.6-4.6L10%206l6%206-6%206-1.4-1.4z%27/%3e%3c/svg%3e"},88522:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".share-select[data-v-2aa230f1]{display:block}.share-select[data-v-2aa230f1] .action-item__menutoggle{color:var(--color-primary-element) !important;font-size:12.5px !important;height:auto !important;min-height:auto !important}.share-select[data-v-2aa230f1] .action-item__menutoggle .button-vue__text{font-weight:normal !important}.share-select[data-v-2aa230f1] .action-item__menutoggle .button-vue__icon{height:24px !important;min-height:24px !important;width:24px !important;min-width:24px !important}.share-select[data-v-2aa230f1] .action-item__menutoggle .button-vue__wrapper{flex-direction:row-reverse !important}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue"],names:[],mappings:"AACA,+BACC,aAAA,CAIA,wDACC,6CAAA,CACA,2BAAA,CACA,sBAAA,CACA,0BAAA,CAEA,0EACC,6BAAA,CAGD,0EACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAGD,6EAEC,qCAAA",sourcesContent:["\n.share-select {\n\tdisplay: block;\n\n\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\n\t// Overrider NcActionms button to make it small\n\t:deep(.action-item__menutoggle) {\n\t\tcolor: var(--color-primary-element) !important;\n\t\tfont-size: 12.5px !important;\n\t\theight: auto !important;\n\t\tmin-height: auto !important;\n\n\t\t.button-vue__text {\n\t\t\tfont-weight: normal !important;\n\t\t}\n\n\t\t.button-vue__icon {\n\t\t\theight: 24px !important;\n\t\t\tmin-height: 24px !important;\n\t\t\twidth: 24px !important;\n\t\t\tmin-width: 24px !important;\n\t\t}\n\n\t\t.button-vue__wrapper {\n\t\t\t// Emulate NcButton's alignment=center-reverse\n\t\t\tflex-direction: row-reverse !important;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=a},92158:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".emptyContentWithSections[data-v-592538f1]{margin:1rem auto}.sharingTab[data-v-592538f1]{position:relative;height:100%}.sharingTab__content[data-v-592538f1]{padding:0 6px}.sharingTab__content section[data-v-592538f1]{padding-bottom:16px}.sharingTab__content section .section-header[data-v-592538f1]{margin-top:2px;margin-bottom:2px;display:flex;align-items:center;padding-bottom:4px}.sharingTab__content section .section-header h4[data-v-592538f1]{margin:0;font-size:16px}.sharingTab__content section .section-header .visually-hidden[data-v-592538f1]{display:none}.sharingTab__content section .section-header .hint-icon[data-v-592538f1]{color:var(--color-primary-element)}.sharingTab__content>section[data-v-592538f1]:not(:last-child){border-bottom:2px solid var(--color-border)}.sharingTab__additionalContent[data-v-592538f1]{margin:44px 0}.hint-body[data-v-592538f1]{max-width:300px;padding:var(--border-radius-element)}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingTab.vue"],names:[],mappings:"AACA,2CACC,gBAAA,CAGD,6BACC,iBAAA,CACA,WAAA,CAEA,sCACC,aAAA,CAEA,8CACC,mBAAA,CAEA,8DACC,cAAA,CACA,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,iEACC,QAAA,CACA,cAAA,CAGD,+EACC,YAAA,CAGD,yEACC,kCAAA,CAOH,+DACC,2CAAA,CAKF,gDACC,aAAA,CAIF,4BACC,eAAA,CACA,oCAAA",sourcesContent:["\n.emptyContentWithSections {\n\tmargin: 1rem auto;\n}\n\n.sharingTab {\n\tposition: relative;\n\theight: 100%;\n\n\t&__content {\n\t\tpadding: 0 6px;\n\n\t\tsection {\n\t\t\tpadding-bottom: 16px;\n\n\t\t\t.section-header {\n\t\t\t\tmargin-top: 2px;\n\t\t\t\tmargin-bottom: 2px;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tpadding-bottom: 4px;\n\n\t\t\t\th4 {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t}\n\n\t\t\t\t.visually-hidden {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t.hint-icon {\n\t\t\t\t\tcolor: var(--color-primary-element);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t& > section:not(:last-child) {\n\t\t\tborder-bottom: 2px solid var(--color-border);\n\t\t}\n\n\t}\n\n\t&__additionalContent {\n\t\tmargin: 44px 0;\n\t}\n}\n\n.hint-body {\n\tmax-width: 300px;\n\tpadding: var(--border-radius-element);\n}\n"],sourceRoot:""}]);const o=a},93057:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".sharing-entry[data-v-48fba0bf]{display:flex;align-items:center;min-height:44px}.sharing-entry__summary[data-v-48fba0bf]{padding:8px;padding-inline-start:10px;display:flex;justify-content:space-between;flex:1 0;min-width:0}.sharing-entry__desc[data-v-48fba0bf]{display:flex;flex-direction:column;line-height:1.2em}.sharing-entry__desc p[data-v-48fba0bf]{color:var(--color-text-maxcontrast)}.sharing-entry__desc__title[data-v-48fba0bf]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry__actions[data-v-48fba0bf]{display:flex;align-items:center;margin-inline-start:auto}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-48fba0bf]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-48fba0bf] .avatar-link-share{background-color:var(--color-primary-element)}.sharing-entry .sharing-entry__action--public-upload[data-v-48fba0bf]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-48fba0bf]{width:44px;height:44px;margin:0;padding:14px;margin-inline-start:auto}.sharing-entry .action-item~.action-item[data-v-48fba0bf],.sharing-entry .action-item~.sharing-entry__loading[data-v-48fba0bf]{margin-inline-start:0}.sharing-entry .icon-checkmark-color[data-v-48fba0bf]{opacity:1;color:var(--color-success)}.qr-code-dialog[data-v-48fba0bf]{display:flex;width:100%;justify-content:center}.qr-code-dialog__img[data-v-48fba0bf]{width:100%;height:auto}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryLink.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAEA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,6BAAA,CACA,QAAA,CACA,WAAA,CAGA,sCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,wCACC,mCAAA,CAGD,6CACC,sBAAA,CACA,eAAA,CACA,kBAAA,CAIF,yCACC,YAAA,CACA,kBAAA,CACA,wBAAA,CAID,mGACC,wCAAA,CAIF,mDACC,6CAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,wBAAA,CAOA,+HAEC,qBAAA,CAIF,sDACC,SAAA,CACA,0BAAA,CAKF,iCACC,YAAA,CACA,UAAA,CACA,sBAAA,CAEA,sCACC,UAAA,CACA,WAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\t}\n\n\t\t&__desc {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tline-height: 1.2em;\n\n\t\t\tp {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&__title {\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\t\t}\n\n\t\t&__actions {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tmargin-inline-start: auto;\n\t\t}\n\n\t&:not(.sharing-entry--share) &__actions {\n\t\t.new-share-link {\n\t\t\tborder-top: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t:deep(.avatar-link-share) {\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t.sharing-entry__action--public-upload {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&__loading {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tmargin: 0;\n\t\tpadding: 14px;\n\t\tmargin-inline-start: auto;\n\t}\n\n\t// put menus to the left\n\t// but only the first one\n\t.action-item {\n\n\t\t~.action-item,\n\t\t~.sharing-entry__loading {\n\t\t\tmargin-inline-start: 0;\n\t\t}\n\t}\n\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n\n// styling for the qr-code container\n.qr-code-dialog {\n\tdisplay: flex;\n\twidth: 100%;\n\tjustify-content: center;\n\n\t&__img {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=a},97380:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),s=i(76314),a=i.n(s)()(r());a.push([t.id,".fade-enter-active[data-v-42733c12], .fade-leave-active[data-v-42733c12] {\n transition: opacity 0.3s ease;\n}\n.fade-enter[data-v-42733c12], .fade-leave-to[data-v-42733c12] {\n opacity: 0;\n}\n.linked-icons[data-v-42733c12] {\n display: flex;\n}\n.linked-icons img[data-v-42733c12] {\n padding: 12px;\n height: 44px;\n display: block;\n background-repeat: no-repeat;\n background-position: center;\n opacity: 0.7;\n}\n.linked-icons img[data-v-42733c12]:hover {\n opacity: 1;\n}\n.popovermenu[data-v-42733c12] {\n display: none;\n}\n.popovermenu.open[data-v-42733c12] {\n display: block;\n}\nli.collection-list-item[data-v-42733c12] {\n flex-wrap: wrap;\n height: auto;\n cursor: pointer;\n margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-42733c12] {\n margin-top: 6px;\n}\nli.collection-list-item form[data-v-42733c12], li.collection-list-item .collection-item-name[data-v-42733c12] {\n flex-basis: 10%;\n flex-grow: 1;\n display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-42733c12] {\n padding: 12px 9px;\n}\nli.collection-list-item input[data-v-42733c12] {\n margin-top: 4px;\n border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-42733c12] {\n flex-grow: 1;\n}\nli.collection-list-item .error[data-v-42733c12] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details[data-v-42733c12] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-42733c12] {\n display: flex;\n margin-left: 44px;\n border-radius: 3px;\n cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-42733c12]:hover {\n background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-42733c12] {\n flex-grow: 1;\n padding: 3px;\n max-width: calc(100% - 30px);\n display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-42733c12] {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-42733c12] {\n text-overflow: ellipsis;\n overflow: hidden;\n position: relative;\n vertical-align: top;\n white-space: nowrap;\n flex-grow: 1;\n padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-42733c12] {\n width: 24px;\n height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12] {\n opacity: 0.7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:focus {\n opacity: 1;\n}\n.shouldshake[data-v-42733c12] {\n animation: shake-42733c12 0.6s 1 linear;\n}\n@keyframes shake-42733c12 {\n0% {\n transform: translate(15px);\n}\n20% {\n transform: translate(-15px);\n}\n40% {\n transform: translate(7px);\n}\n60% {\n transform: translate(-7px);\n}\n80% {\n transform: translate(3px);\n}\n100% {\n transform: translate(0px);\n}\n}.collection-list *[data-v-8ebb2593] {\n box-sizing: border-box;\n}\n.collection-list > li[data-v-8ebb2593] {\n display: flex;\n align-items: start;\n gap: 12px;\n}\n.collection-list > li > .avatar[data-v-8ebb2593] {\n margin-top: auto;\n}\n#collection-select-container[data-v-8ebb2593] {\n display: flex;\n flex-direction: column;\n}\n.v-select span.avatar[data-v-8ebb2593] {\n display: block;\n padding: 16px;\n opacity: 0.7;\n background-repeat: no-repeat;\n background-position: center;\n}\n.v-select span.avatar[data-v-8ebb2593]:hover {\n opacity: 1;\n}\np.hint[data-v-8ebb2593] {\n z-index: 1;\n margin-top: -16px;\n padding: 8px 8px;\n color: var(--color-text-maxcontrast);\n line-height: normal;\n}\ndiv.avatar[data-v-8ebb2593] {\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 8px;\n background-color: var(--color-background-dark);\n margin-top: 30px;\n}\n\n/** TODO provide white icon in core */\n.icon-projects[data-v-8ebb2593] {\n display: block;\n padding: 8px;\n background-repeat: no-repeat;\n background-position: center;\n}\n.option__wrapper[data-v-8ebb2593] {\n display: flex;\n}\n.option__wrapper .avatar[data-v-8ebb2593] {\n display: block;\n background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-8ebb2593] {\n padding: 4px;\n}\n.fade-enter-active[data-v-8ebb2593], .fade-leave-active[data-v-8ebb2593] {\n transition: opacity 0.5s;\n}\n.fade-enter[data-v-8ebb2593], .fade-leave-to[data-v-8ebb2593] {\n opacity: 0;\n}","",{version:3,sources:["webpack://./node_modules/nextcloud-vue-collections/dist/assets/index-CJAYjuyf.css"],names:[],mappings:"AAAA;EACE,6BAA6B;AAC/B;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,YAAY;EACZ,cAAc;EACd,4BAA4B;EAC5B,2BAA2B;EAC3B,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;EACf,YAAY;EACZ,eAAe;EACf,2BAA2B;AAC7B;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;EACf,YAAY;EACZ,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,6CAA6C;AAC/C;AACA;EACE,YAAY;AACd;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,aAAa;EACb,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,YAAY;EACZ,YAAY;EACZ,4BAA4B;EAC5B,aAAa;AACf;AACA;EACE,qBAAqB;EACrB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,YAAY;AACd;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,uCAAuC;AACzC;AACA;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA,CAAC;EACC,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,SAAS;AACX;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,aAAa;EACb,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,oCAAoC;EACpC,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,SAAS;EACT,YAAY;EACZ,8CAA8C;EAC9C,gBAAgB;AAClB;;AAEA,qCAAqC;AACrC;EACE,cAAc;EACd,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,2DAA2D;AAC7D;AACA;EACE,YAAY;AACd;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,UAAU;AACZ",sourcesContent:[".fade-enter-active[data-v-42733c12], .fade-leave-active[data-v-42733c12] {\n transition: opacity 0.3s ease;\n}\n.fade-enter[data-v-42733c12], .fade-leave-to[data-v-42733c12] {\n opacity: 0;\n}\n.linked-icons[data-v-42733c12] {\n display: flex;\n}\n.linked-icons img[data-v-42733c12] {\n padding: 12px;\n height: 44px;\n display: block;\n background-repeat: no-repeat;\n background-position: center;\n opacity: 0.7;\n}\n.linked-icons img[data-v-42733c12]:hover {\n opacity: 1;\n}\n.popovermenu[data-v-42733c12] {\n display: none;\n}\n.popovermenu.open[data-v-42733c12] {\n display: block;\n}\nli.collection-list-item[data-v-42733c12] {\n flex-wrap: wrap;\n height: auto;\n cursor: pointer;\n margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-42733c12] {\n margin-top: 6px;\n}\nli.collection-list-item form[data-v-42733c12], li.collection-list-item .collection-item-name[data-v-42733c12] {\n flex-basis: 10%;\n flex-grow: 1;\n display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-42733c12] {\n padding: 12px 9px;\n}\nli.collection-list-item input[data-v-42733c12] {\n margin-top: 4px;\n border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-42733c12] {\n flex-grow: 1;\n}\nli.collection-list-item .error[data-v-42733c12] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details[data-v-42733c12] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-42733c12] {\n display: flex;\n margin-left: 44px;\n border-radius: 3px;\n cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-42733c12]:hover {\n background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-42733c12] {\n flex-grow: 1;\n padding: 3px;\n max-width: calc(100% - 30px);\n display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-42733c12] {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-42733c12] {\n text-overflow: ellipsis;\n overflow: hidden;\n position: relative;\n vertical-align: top;\n white-space: nowrap;\n flex-grow: 1;\n padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-42733c12] {\n width: 24px;\n height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12] {\n opacity: 0.7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:focus {\n opacity: 1;\n}\n.shouldshake[data-v-42733c12] {\n animation: shake-42733c12 0.6s 1 linear;\n}\n@keyframes shake-42733c12 {\n0% {\n transform: translate(15px);\n}\n20% {\n transform: translate(-15px);\n}\n40% {\n transform: translate(7px);\n}\n60% {\n transform: translate(-7px);\n}\n80% {\n transform: translate(3px);\n}\n100% {\n transform: translate(0px);\n}\n}.collection-list *[data-v-8ebb2593] {\n box-sizing: border-box;\n}\n.collection-list > li[data-v-8ebb2593] {\n display: flex;\n align-items: start;\n gap: 12px;\n}\n.collection-list > li > .avatar[data-v-8ebb2593] {\n margin-top: auto;\n}\n#collection-select-container[data-v-8ebb2593] {\n display: flex;\n flex-direction: column;\n}\n.v-select span.avatar[data-v-8ebb2593] {\n display: block;\n padding: 16px;\n opacity: 0.7;\n background-repeat: no-repeat;\n background-position: center;\n}\n.v-select span.avatar[data-v-8ebb2593]:hover {\n opacity: 1;\n}\np.hint[data-v-8ebb2593] {\n z-index: 1;\n margin-top: -16px;\n padding: 8px 8px;\n color: var(--color-text-maxcontrast);\n line-height: normal;\n}\ndiv.avatar[data-v-8ebb2593] {\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 8px;\n background-color: var(--color-background-dark);\n margin-top: 30px;\n}\n\n/** TODO provide white icon in core */\n.icon-projects[data-v-8ebb2593] {\n display: block;\n padding: 8px;\n background-repeat: no-repeat;\n background-position: center;\n}\n.option__wrapper[data-v-8ebb2593] {\n display: flex;\n}\n.option__wrapper .avatar[data-v-8ebb2593] {\n display: block;\n background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-8ebb2593] {\n padding: 4px;\n}\n.fade-enter-active[data-v-8ebb2593], .fade-leave-active[data-v-8ebb2593] {\n transition: opacity 0.5s;\n}\n.fade-enter[data-v-8ebb2593], .fade-leave-to[data-v-8ebb2593] {\n opacity: 0;\n}"],sourceRoot:""}]);const o=a}}]);
-//# sourceMappingURL=8708-8708.js.map?v=5d824d632209307d82c7 \ No newline at end of file
diff --git a/dist/8708-8708.js.map b/dist/8708-8708.js.map
deleted file mode 100644
index 7d6c964d216..00000000000
--- a/dist/8708-8708.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"8708-8708.js?v=5d824d632209307d82c7","mappings":"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","sources":["webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue?vue&type=style&index=0&id=060f147f&prod&lang=scss","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue?vue&type=style&index=0&id=4826394a&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/@chenfengyuan/vue-qrcode/dist/vue-qrcode.js","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?0ae8","webpack://nextcloud/./node_modules/nextcloud-vue-collections/dist/assets/index-CJAYjuyf.css?bb25","webpack:///nextcloud/node_modules/lodash-es/isObject.js","webpack:///nextcloud/node_modules/lodash-es/_freeGlobal.js","webpack:///nextcloud/node_modules/lodash-es/_root.js","webpack:///nextcloud/node_modules/lodash-es/now.js","webpack:///nextcloud/node_modules/lodash-es/_trimmedEndIndex.js","webpack:///nextcloud/node_modules/lodash-es/_baseTrim.js","webpack:///nextcloud/node_modules/lodash-es/_Symbol.js","webpack:///nextcloud/node_modules/lodash-es/_getRawTag.js","webpack:///nextcloud/node_modules/lodash-es/_objectToString.js","webpack:///nextcloud/node_modules/lodash-es/_baseGetTag.js","webpack:///nextcloud/node_modules/lodash-es/toNumber.js","webpack:///nextcloud/node_modules/lodash-es/isSymbol.js","webpack:///nextcloud/node_modules/lodash-es/isObjectLike.js","webpack:///nextcloud/node_modules/lodash-es/debounce.js","webpack:///nextcloud/node_modules/nextcloud-vue-collections/dist/index.mjs","webpack:///nextcloud/apps/files_sharing/src/services/ConfigService.ts","webpack:///nextcloud/apps/files_sharing/src/services/logger.ts","webpack:///nextcloud/apps/files_sharing/src/models/Share.ts","webpack:///nextcloud/apps/files_sharing/src/services/SharingService.ts","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?6c02","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?f180","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?cb12","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?0c02","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?8c53","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?4c20","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?65df","webpack:///nextcloud/apps/files_sharing/src/mixins/ShareRequests.js","webpack:///nextcloud/apps/files_sharing/src/lib/SharePermissionsToolBox.js","webpack:///nextcloud/apps/files_sharing/src/mixins/ShareDetails.js","webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?0b73","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?3d7c","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?45a6","webpack:///nextcloud/apps/files_sharing/src/utils/GeneratePassword.ts","webpack:///nextcloud/apps/files/src/services/WebdavClient.ts","webpack:///nextcloud/apps/files_sharing/src/mixins/SharesMixin.js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?a297","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?0e5a","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?77d5","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?0657","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?1677","webpack://nextcloud/./apps/files_sharing/src/views/SharingLinkList.vue?de0b","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Tune.vue?7202","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue?vue&type=template&id=18d04e6a","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarBlank.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarBlank.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/CalendarBlank.vue?3d12","webpack:///nextcloud/node_modules/vue-material-design-icons/CalendarBlank.vue?vue&type=template&id=41fe7db9","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Qrcode.vue?b80a","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue?vue&type=template&id=aba87788","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Exclamation.vue?46e6","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue?vue&type=template&id=03239926","webpack:///nextcloud/node_modules/vue-material-design-icons/Lock.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Lock.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Lock.vue?93ae","webpack:///nextcloud/node_modules/vue-material-design-icons/Lock.vue?vue&type=template&id=6d856da2","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/CheckBold.vue?7500","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue?vue&type=template&id=5603f41f","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/TriangleSmallDown.vue?8651","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue?vue&type=template&id=1eed3dd9","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/EyeOutline.vue?9ce8","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue?vue&type=template&id=e26de6f6","webpack:///nextcloud/node_modules/vue-material-design-icons/FileUpload.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FileUpload.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/FileUpload.vue?c468","webpack:///nextcloud/node_modules/vue-material-design-icons/FileUpload.vue?vue&type=template&id=caa55e94","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?eb90","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?4441","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?0b36","webpack://nextcloud/./apps/files_sharing/src/components/ShareExpiryTime.vue?4496","webpack:///nextcloud/node_modules/vue-material-design-icons/Clock.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Clock.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Clock.vue?f027","webpack:///nextcloud/node_modules/vue-material-design-icons/Clock.vue?vue&type=template&id=539578bc","webpack:///nextcloud/apps/files_sharing/src/components/ShareExpiryTime.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/ShareExpiryTime.vue","webpack://nextcloud/./apps/files_sharing/src/components/ShareExpiryTime.vue?ac36","webpack://nextcloud/./apps/files_sharing/src/components/ShareExpiryTime.vue?bc23","webpack:///nextcloud/apps/files_sharing/src/components/ExternalShareAction.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/ExternalShareAction.vue","webpack://nextcloud/./apps/files_sharing/src/components/ExternalShareAction.vue?9bf3","webpack://nextcloud/./apps/files_sharing/src/components/ExternalShareAction.vue?82b4","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?9934","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?af90","webpack:///nextcloud/apps/files_sharing/src/views/SharingLinkList.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingLinkList.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?64e9","webpack://nextcloud/./apps/files_sharing/src/views/SharingLinkList.vue?a70b","webpack://nextcloud/./apps/files_sharing/src/views/SharingList.vue?e340","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?06a5","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?10a7","webpack:///nextcloud/apps/files_sharing/src/views/SharingList.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingList.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?f8d7","webpack://nextcloud/./apps/files_sharing/src/views/SharingList.vue?9f9c","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?7f2e","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/CircleOutline.vue?68bc","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue?vue&type=template&id=c013567c","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Email.vue?3953","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue?vue&type=template&id=7dd7f6aa","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ShareCircle.vue?a1b2","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue?vue&type=template&id=0e958886","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/AccountCircleOutline.vue?a068","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue?vue&type=template&id=5b2fe1de","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Eye.vue?157b","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue?vue&type=template&id=4ae2345c","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Refresh.vue?0940","webpack:///nextcloud/node_modules/vue-material-design-icons/Refresh.vue?vue&type=template&id=2864f909","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue","webpack:///nextcloud/apps/files_sharing/src/services/TokenService.ts","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?b625","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?10fc","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue","webpack:///nextcloud/apps/files_sharing/src/utils/SharedWithMe.js","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?f56b","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?6997","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue?vue&type=style&index=0&id=57874406&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue?vue&type=style&index=0&id=44339fa4&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/url-search-params-polyfill/index.js","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue?vue&type=style&index=0&id=a6cc72e6&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue?vue&type=style&index=0&id=fe8ed59e&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/ShareExpiryTime.vue?vue&type=style&index=0&id=46cd2ca2&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue?vue&type=style&index=0&id=2dbd45b5&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=2aa230f1&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue?vue&type=style&index=0&id=592538f1&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue?vue&type=style&index=0&id=48fba0bf&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/nextcloud-vue-collections/dist/assets/index-CJAYjuyf.css"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-search{display:flex;flex-direction:column;margin-bottom:4px}.sharing-search label[for=sharing-search-input]{margin-bottom:2px}.sharing-search__input{width:100%;margin:10px 0}.vs__dropdown-menu span[lookup] .avatardiv{background-image:var(--icon-search-white);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.vs__dropdown-menu span[lookup] .avatardiv .avatardiv__initials-wrapper{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingInput.vue\"],\"names\":[],\"mappings\":\"AACA,gBACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,gDACC,iBAAA,CAGD,uBACC,UAAA,CACA,aAAA,CAOA,2CACC,yCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,wEACC,YAAA\",\"sourcesContent\":[\"\\n.sharing-search {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmargin-bottom: 4px;\\n\\n\\tlabel[for=\\\"sharing-search-input\\\"] {\\n\\t\\tmargin-bottom: 2px;\\n\\t}\\n\\n\\t&__input {\\n\\t\\twidth: 100%;\\n\\t\\tmargin: 10px 0;\\n\\t}\\n}\\n\\n.vs__dropdown-menu {\\n\\t// properly style the lookup entry\\n\\tspan[lookup] {\\n\\t\\t.avatardiv {\\n\\t\\t\\tbackground-image: var(--icon-search-white);\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-color: var(--color-text-maxcontrast) !important;\\n\\t\\t\\t.avatardiv__initials-wrapper {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharingTabDetailsView[data-v-4826394a]{display:flex;flex-direction:column;width:100%;margin:0 auto;position:relative;height:100%;overflow:hidden}.sharingTabDetailsView__header[data-v-4826394a]{display:flex;align-items:center;box-sizing:border-box;margin:.2em}.sharingTabDetailsView__header span[data-v-4826394a]{display:flex;align-items:center}.sharingTabDetailsView__header span h1[data-v-4826394a]{font-size:15px;padding-inline-start:.3em}.sharingTabDetailsView__wrapper[data-v-4826394a]{position:relative;overflow:scroll;flex-shrink:1;padding:4px;padding-inline-end:12px}.sharingTabDetailsView__quick-permissions[data-v-4826394a]{display:flex;justify-content:center;width:100%;margin:0 auto;border-radius:0}.sharingTabDetailsView__quick-permissions div[data-v-4826394a]{width:100%}.sharingTabDetailsView__quick-permissions div span[data-v-4826394a]{width:100%}.sharingTabDetailsView__quick-permissions div span span[data-v-4826394a]:nth-child(1){align-items:center;justify-content:center;padding:.1em}.sharingTabDetailsView__quick-permissions div span[data-v-4826394a] label span{display:flex;flex-direction:column}.sharingTabDetailsView__quick-permissions div span[data-v-4826394a] span.checkbox-content__text.checkbox-radio-switch__text{flex-wrap:wrap}.sharingTabDetailsView__quick-permissions div span[data-v-4826394a] span.checkbox-content__text.checkbox-radio-switch__text .subline{display:block;flex-basis:100%}.sharingTabDetailsView__advanced-control[data-v-4826394a]{width:100%}.sharingTabDetailsView__advanced-control button[data-v-4826394a]{margin-top:.5em}.sharingTabDetailsView__advanced[data-v-4826394a]{width:100%;margin-bottom:.5em;text-align:start;padding-inline-start:0}.sharingTabDetailsView__advanced section textarea[data-v-4826394a],.sharingTabDetailsView__advanced section div.mx-datepicker[data-v-4826394a]{width:100%}.sharingTabDetailsView__advanced section textarea[data-v-4826394a]{height:80px;margin:0}.sharingTabDetailsView__advanced section span[data-v-4826394a] label{padding-inline-start:0 !important;background-color:initial !important;border:none !important}.sharingTabDetailsView__advanced section section.custom-permissions-group[data-v-4826394a]{padding-inline-start:1.5em}.sharingTabDetailsView__label[data-v-4826394a]{padding-block-end:6px}.sharingTabDetailsView__delete>button[data-v-4826394a]:first-child{color:#df0707}.sharingTabDetailsView__footer[data-v-4826394a]{width:100%;display:flex;position:sticky;bottom:0;flex-direction:column;justify-content:space-between;align-items:flex-start;background:linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background))}.sharingTabDetailsView__footer .button-group[data-v-4826394a]{display:flex;justify-content:space-between;width:100%;margin-top:16px}.sharingTabDetailsView__footer .button-group button[data-v-4826394a]{margin-inline-start:16px}.sharingTabDetailsView__footer .button-group button[data-v-4826394a]:first-child{margin-inline-start:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingDetailsTab.vue\"],\"names\":[],\"mappings\":\"AACA,wCACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CAEA,gDACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,WAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,wDACC,cAAA,CACA,yBAAA,CAMH,iDACC,iBAAA,CACA,eAAA,CACA,aAAA,CACA,WAAA,CACA,uBAAA,CAGD,2DACC,YAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CAEA,+DACC,UAAA,CAEA,oEACC,UAAA,CAEA,sFACC,kBAAA,CACA,sBAAA,CACA,YAAA,CAGD,+EACC,YAAA,CACA,qBAAA,CAID,4HACC,cAAA,CAEA,qIACC,aAAA,CACA,eAAA,CAQL,0DACC,UAAA,CAEA,iEACC,eAAA,CAKF,kDACC,UAAA,CACA,kBAAA,CACA,gBAAA,CACA,sBAAA,CAIC,+IAEC,UAAA,CAGD,mEACC,WAAA,CACA,QAAA,CAYD,qEACC,iCAAA,CACA,mCAAA,CACA,sBAAA,CAGD,2FACC,0BAAA,CAKH,+CACC,qBAAA,CAIA,mEACC,aAAA,CAIF,gDACC,UAAA,CACA,YAAA,CACA,eAAA,CACA,QAAA,CACA,qBAAA,CACA,6BAAA,CACA,sBAAA,CACA,2FAAA,CAEA,8DACC,YAAA,CACA,6BAAA,CACA,UAAA,CACA,eAAA,CAEA,qEACC,wBAAA,CAEA,iFACC,qBAAA\",\"sourcesContent\":[\"\\n.sharingTabDetailsView {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\twidth: 100%;\\n\\tmargin: 0 auto;\\n\\tposition: relative;\\n\\theight: 100%;\\n\\toverflow: hidden;\\n\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0.2em;\\n\\n\\t\\tspan {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\th1 {\\n\\t\\t\\t\\tfont-size: 15px;\\n\\t\\t\\t\\tpadding-inline-start: 0.3em;\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tposition: relative;\\n\\t\\toverflow: scroll;\\n\\t\\tflex-shrink: 1;\\n\\t\\tpadding: 4px;\\n\\t\\tpadding-inline-end: 12px;\\n\\t}\\n\\n\\t&__quick-permissions {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t\\tmargin: 0 auto;\\n\\t\\tborder-radius: 0;\\n\\n\\t\\tdiv {\\n\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\tspan {\\n\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\tspan:nth-child(1) {\\n\\t\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\t\\tpadding: 0.1em;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t:deep(label span) {\\n\\t\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\t\\tflex-direction: column;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\\n\\t\\t\\t\\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\\n\\t\\t\\t\\t\\tflex-wrap: wrap;\\n\\n\\t\\t\\t\\t\\t.subline {\\n\\t\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\t\\tflex-basis: 100%;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\t}\\n\\n\\t&__advanced-control {\\n\\t\\twidth: 100%;\\n\\n\\t\\tbutton {\\n\\t\\t\\tmargin-top: 0.5em;\\n\\t\\t}\\n\\n\\t}\\n\\n\\t&__advanced {\\n\\t\\twidth: 100%;\\n\\t\\tmargin-bottom: 0.5em;\\n\\t\\ttext-align: start;\\n\\t\\tpadding-inline-start: 0;\\n\\n\\t\\tsection {\\n\\n\\t\\t\\ttextarea,\\n\\t\\t\\tdiv.mx-datepicker {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\n\\t\\t\\ttextarea {\\n\\t\\t\\t\\theight: 80px;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t/*\\n\\t\\t\\t The following style is applied out of the component's scope\\n\\t\\t\\t to remove padding from the label.checkbox-radio-switch__label,\\n\\t\\t\\t which is used to group radio checkbox items. The use of ::v-deep\\n\\t\\t\\t ensures that the padding is modified without being affected by\\n\\t\\t\\t the component's scoping.\\n\\t\\t\\t Without this achieving left alignment for the checkboxes would not\\n\\t\\t\\t be possible.\\n\\t\\t\\t*/\\n\\t\\t\\tspan :deep(label) {\\n\\t\\t\\t\\tpadding-inline-start: 0 !important;\\n\\t\\t\\t\\tbackground-color: initial !important;\\n\\t\\t\\t\\tborder: none !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\tsection.custom-permissions-group {\\n\\t\\t\\t\\tpadding-inline-start: 1.5em;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tpadding-block-end: 6px;\\n\\t}\\n\\n\\t&__delete {\\n\\t\\t> button:first-child {\\n\\t\\t\\tcolor: rgb(223, 7, 7);\\n\\t\\t}\\n\\t}\\n\\n\\t&__footer {\\n\\t\\twidth: 100%;\\n\\t\\tdisplay: flex;\\n\\t\\tposition: sticky;\\n\\t\\tbottom: 0;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\talign-items: flex-start;\\n\\t\\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\\n\\n\\t\\t.button-group {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmargin-top: 16px;\\n\\n\\t\\t\\tbutton {\\n\\t\\t\\t\\tmargin-inline-start: 16px;\\n\\n\\t\\t\\t\\t&:first-child {\\n\\t\\t\\t\\t\\tmargin-inline-start: 0;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/*!\n * vue-qrcode v1.0.2\n * https://fengyuanchen.github.io/vue-qrcode\n *\n * Copyright 2018-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2020-01-18T06:04:33.222Z\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global = global || self, global.VueQrcode = factory());\n}(this, (function () { 'use strict';\n\n\tfunction commonjsRequire () {\n\t\tthrow new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs');\n\t}\n\n\tfunction createCommonjsModule(fn, module) {\n\t\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n\t}\n\n\tvar qrcode = createCommonjsModule(function (module, exports) {\n\t(function(f){{module.exports=f();}})(function(){return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof commonjsRequire&&commonjsRequire;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t);}return n[i].exports}for(var u=\"function\"==typeof commonjsRequire&&commonjsRequire,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){\n\t// can-promise has a crash in some versions of react native that dont have\n\t// standard global objects\n\t// https://github.com/soldair/node-qrcode/issues/157\n\n\tmodule.exports = function () {\n\t return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n\t};\n\n\t},{}],2:[function(require,module,exports){\n\t/**\n\t * Alignment pattern are fixed reference pattern in defined positions\n\t * in a matrix symbology, which enables the decode software to re-synchronise\n\t * the coordinate mapping of the image modules in the event of moderate amounts\n\t * of distortion of the image.\n\t *\n\t * Alignment patterns are present only in QR Code symbols of version 2 or larger\n\t * and their number depends on the symbol version.\n\t */\n\n\tvar getSymbolSize = require('./utils').getSymbolSize;\n\n\t/**\n\t * Calculate the row/column coordinates of the center module of each alignment pattern\n\t * for the specified QR Code version.\n\t *\n\t * The alignment patterns are positioned symmetrically on either side of the diagonal\n\t * running from the top left corner of the symbol to the bottom right corner.\n\t *\n\t * Since positions are simmetrical only half of the coordinates are returned.\n\t * Each item of the array will represent in turn the x and y coordinate.\n\t * @see {@link getPositions}\n\t *\n\t * @param {Number} version QR Code version\n\t * @return {Array} Array of coordinate\n\t */\n\texports.getRowColCoords = function getRowColCoords (version) {\n\t if (version === 1) return []\n\n\t var posCount = Math.floor(version / 7) + 2;\n\t var size = getSymbolSize(version);\n\t var intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2;\n\t var positions = [size - 7]; // Last coord is always (size - 7)\n\n\t for (var i = 1; i < posCount - 1; i++) {\n\t positions[i] = positions[i - 1] - intervals;\n\t }\n\n\t positions.push(6); // First coord is always 6\n\n\t return positions.reverse()\n\t};\n\n\t/**\n\t * Returns an array containing the positions of each alignment pattern.\n\t * Each array's element represent the center point of the pattern as (x, y) coordinates\n\t *\n\t * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n\t * and filtering out the items that overlaps with finder pattern\n\t *\n\t * @example\n\t * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n\t * The alignment patterns, therefore, are to be centered on (row, column)\n\t * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n\t * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n\t * and are not therefore used for alignment patterns.\n\t *\n\t * var pos = getPositions(7)\n\t * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n\t *\n\t * @param {Number} version QR Code version\n\t * @return {Array} Array of coordinates\n\t */\n\texports.getPositions = function getPositions (version) {\n\t var coords = [];\n\t var pos = exports.getRowColCoords(version);\n\t var posLength = pos.length;\n\n\t for (var i = 0; i < posLength; i++) {\n\t for (var j = 0; j < posLength; j++) {\n\t // Skip if position is occupied by finder patterns\n\t if ((i === 0 && j === 0) || // top-left\n\t (i === 0 && j === posLength - 1) || // bottom-left\n\t (i === posLength - 1 && j === 0)) { // top-right\n\t continue\n\t }\n\n\t coords.push([pos[i], pos[j]]);\n\t }\n\t }\n\n\t return coords\n\t};\n\n\t},{\"./utils\":21}],3:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\n\t/**\n\t * Array of characters available in alphanumeric mode\n\t *\n\t * As per QR Code specification, to each character\n\t * is assigned a value from 0 to 44 which in this case coincides\n\t * with the array index\n\t *\n\t * @type {Array}\n\t */\n\tvar ALPHA_NUM_CHARS = [\n\t '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n\t 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n\t 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n\t ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n\t];\n\n\tfunction AlphanumericData (data) {\n\t this.mode = Mode.ALPHANUMERIC;\n\t this.data = data;\n\t}\n\n\tAlphanumericData.getBitsLength = function getBitsLength (length) {\n\t return 11 * Math.floor(length / 2) + 6 * (length % 2)\n\t};\n\n\tAlphanumericData.prototype.getLength = function getLength () {\n\t return this.data.length\n\t};\n\n\tAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n\t return AlphanumericData.getBitsLength(this.data.length)\n\t};\n\n\tAlphanumericData.prototype.write = function write (bitBuffer) {\n\t var i;\n\n\t // Input data characters are divided into groups of two characters\n\t // and encoded as 11-bit binary codes.\n\t for (i = 0; i + 2 <= this.data.length; i += 2) {\n\t // The character value of the first character is multiplied by 45\n\t var value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45;\n\n\t // The character value of the second digit is added to the product\n\t value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1]);\n\n\t // The sum is then stored as 11-bit binary number\n\t bitBuffer.put(value, 11);\n\t }\n\n\t // If the number of input data characters is not a multiple of two,\n\t // the character value of the final character is encoded as a 6-bit binary number.\n\t if (this.data.length % 2) {\n\t bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6);\n\t }\n\t};\n\n\tmodule.exports = AlphanumericData;\n\n\t},{\"./mode\":14}],4:[function(require,module,exports){\n\tfunction BitBuffer () {\n\t this.buffer = [];\n\t this.length = 0;\n\t}\n\n\tBitBuffer.prototype = {\n\n\t get: function (index) {\n\t var bufIndex = Math.floor(index / 8);\n\t return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n\t },\n\n\t put: function (num, length) {\n\t for (var i = 0; i < length; i++) {\n\t this.putBit(((num >>> (length - i - 1)) & 1) === 1);\n\t }\n\t },\n\n\t getLengthInBits: function () {\n\t return this.length\n\t },\n\n\t putBit: function (bit) {\n\t var bufIndex = Math.floor(this.length / 8);\n\t if (this.buffer.length <= bufIndex) {\n\t this.buffer.push(0);\n\t }\n\n\t if (bit) {\n\t this.buffer[bufIndex] |= (0x80 >>> (this.length % 8));\n\t }\n\n\t this.length++;\n\t }\n\t};\n\n\tmodule.exports = BitBuffer;\n\n\t},{}],5:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\n\t/**\n\t * Helper class to handle QR Code symbol modules\n\t *\n\t * @param {Number} size Symbol size\n\t */\n\tfunction BitMatrix (size) {\n\t if (!size || size < 1) {\n\t throw new Error('BitMatrix size must be defined and greater than 0')\n\t }\n\n\t this.size = size;\n\t this.data = BufferUtil.alloc(size * size);\n\t this.reservedBit = BufferUtil.alloc(size * size);\n\t}\n\n\t/**\n\t * Set bit value at specified location\n\t * If reserved flag is set, this bit will be ignored during masking process\n\t *\n\t * @param {Number} row\n\t * @param {Number} col\n\t * @param {Boolean} value\n\t * @param {Boolean} reserved\n\t */\n\tBitMatrix.prototype.set = function (row, col, value, reserved) {\n\t var index = row * this.size + col;\n\t this.data[index] = value;\n\t if (reserved) this.reservedBit[index] = true;\n\t};\n\n\t/**\n\t * Returns bit value at specified location\n\t *\n\t * @param {Number} row\n\t * @param {Number} col\n\t * @return {Boolean}\n\t */\n\tBitMatrix.prototype.get = function (row, col) {\n\t return this.data[row * this.size + col]\n\t};\n\n\t/**\n\t * Applies xor operator at specified location\n\t * (used during masking process)\n\t *\n\t * @param {Number} row\n\t * @param {Number} col\n\t * @param {Boolean} value\n\t */\n\tBitMatrix.prototype.xor = function (row, col, value) {\n\t this.data[row * this.size + col] ^= value;\n\t};\n\n\t/**\n\t * Check if bit at specified location is reserved\n\t *\n\t * @param {Number} row\n\t * @param {Number} col\n\t * @return {Boolean}\n\t */\n\tBitMatrix.prototype.isReserved = function (row, col) {\n\t return this.reservedBit[row * this.size + col]\n\t};\n\n\tmodule.exports = BitMatrix;\n\n\t},{\"../utils/buffer\":28}],6:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar Mode = require('./mode');\n\n\tfunction ByteData (data) {\n\t this.mode = Mode.BYTE;\n\t this.data = BufferUtil.from(data);\n\t}\n\n\tByteData.getBitsLength = function getBitsLength (length) {\n\t return length * 8\n\t};\n\n\tByteData.prototype.getLength = function getLength () {\n\t return this.data.length\n\t};\n\n\tByteData.prototype.getBitsLength = function getBitsLength () {\n\t return ByteData.getBitsLength(this.data.length)\n\t};\n\n\tByteData.prototype.write = function (bitBuffer) {\n\t for (var i = 0, l = this.data.length; i < l; i++) {\n\t bitBuffer.put(this.data[i], 8);\n\t }\n\t};\n\n\tmodule.exports = ByteData;\n\n\t},{\"../utils/buffer\":28,\"./mode\":14}],7:[function(require,module,exports){\n\tvar ECLevel = require('./error-correction-level');\r\n\r\n\tvar EC_BLOCKS_TABLE = [\r\n\t// L M Q H\r\n\t 1, 1, 1, 1,\r\n\t 1, 1, 1, 1,\r\n\t 1, 1, 2, 2,\r\n\t 1, 2, 2, 4,\r\n\t 1, 2, 4, 4,\r\n\t 2, 4, 4, 4,\r\n\t 2, 4, 6, 5,\r\n\t 2, 4, 6, 6,\r\n\t 2, 5, 8, 8,\r\n\t 4, 5, 8, 8,\r\n\t 4, 5, 8, 11,\r\n\t 4, 8, 10, 11,\r\n\t 4, 9, 12, 16,\r\n\t 4, 9, 16, 16,\r\n\t 6, 10, 12, 18,\r\n\t 6, 10, 17, 16,\r\n\t 6, 11, 16, 19,\r\n\t 6, 13, 18, 21,\r\n\t 7, 14, 21, 25,\r\n\t 8, 16, 20, 25,\r\n\t 8, 17, 23, 25,\r\n\t 9, 17, 23, 34,\r\n\t 9, 18, 25, 30,\r\n\t 10, 20, 27, 32,\r\n\t 12, 21, 29, 35,\r\n\t 12, 23, 34, 37,\r\n\t 12, 25, 34, 40,\r\n\t 13, 26, 35, 42,\r\n\t 14, 28, 38, 45,\r\n\t 15, 29, 40, 48,\r\n\t 16, 31, 43, 51,\r\n\t 17, 33, 45, 54,\r\n\t 18, 35, 48, 57,\r\n\t 19, 37, 51, 60,\r\n\t 19, 38, 53, 63,\r\n\t 20, 40, 56, 66,\r\n\t 21, 43, 59, 70,\r\n\t 22, 45, 62, 74,\r\n\t 24, 47, 65, 77,\r\n\t 25, 49, 68, 81\r\n\t];\r\n\r\n\tvar EC_CODEWORDS_TABLE = [\r\n\t// L M Q H\r\n\t 7, 10, 13, 17,\r\n\t 10, 16, 22, 28,\r\n\t 15, 26, 36, 44,\r\n\t 20, 36, 52, 64,\r\n\t 26, 48, 72, 88,\r\n\t 36, 64, 96, 112,\r\n\t 40, 72, 108, 130,\r\n\t 48, 88, 132, 156,\r\n\t 60, 110, 160, 192,\r\n\t 72, 130, 192, 224,\r\n\t 80, 150, 224, 264,\r\n\t 96, 176, 260, 308,\r\n\t 104, 198, 288, 352,\r\n\t 120, 216, 320, 384,\r\n\t 132, 240, 360, 432,\r\n\t 144, 280, 408, 480,\r\n\t 168, 308, 448, 532,\r\n\t 180, 338, 504, 588,\r\n\t 196, 364, 546, 650,\r\n\t 224, 416, 600, 700,\r\n\t 224, 442, 644, 750,\r\n\t 252, 476, 690, 816,\r\n\t 270, 504, 750, 900,\r\n\t 300, 560, 810, 960,\r\n\t 312, 588, 870, 1050,\r\n\t 336, 644, 952, 1110,\r\n\t 360, 700, 1020, 1200,\r\n\t 390, 728, 1050, 1260,\r\n\t 420, 784, 1140, 1350,\r\n\t 450, 812, 1200, 1440,\r\n\t 480, 868, 1290, 1530,\r\n\t 510, 924, 1350, 1620,\r\n\t 540, 980, 1440, 1710,\r\n\t 570, 1036, 1530, 1800,\r\n\t 570, 1064, 1590, 1890,\r\n\t 600, 1120, 1680, 1980,\r\n\t 630, 1204, 1770, 2100,\r\n\t 660, 1260, 1860, 2220,\r\n\t 720, 1316, 1950, 2310,\r\n\t 750, 1372, 2040, 2430\r\n\t];\r\n\r\n\t/**\r\n\t * Returns the number of error correction block that the QR Code should contain\r\n\t * for the specified version and error correction level.\r\n\t *\r\n\t * @param {Number} version QR Code version\r\n\t * @param {Number} errorCorrectionLevel Error correction level\r\n\t * @return {Number} Number of error correction blocks\r\n\t */\r\n\texports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n\t switch (errorCorrectionLevel) {\r\n\t case ECLevel.L:\r\n\t return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n\t case ECLevel.M:\r\n\t return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n\t case ECLevel.Q:\r\n\t return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n\t case ECLevel.H:\r\n\t return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n\t default:\r\n\t return undefined\r\n\t }\r\n\t};\r\n\r\n\t/**\r\n\t * Returns the number of error correction codewords to use for the specified\r\n\t * version and error correction level.\r\n\t *\r\n\t * @param {Number} version QR Code version\r\n\t * @param {Number} errorCorrectionLevel Error correction level\r\n\t * @return {Number} Number of error correction codewords\r\n\t */\r\n\texports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n\t switch (errorCorrectionLevel) {\r\n\t case ECLevel.L:\r\n\t return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n\t case ECLevel.M:\r\n\t return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n\t case ECLevel.Q:\r\n\t return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n\t case ECLevel.H:\r\n\t return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n\t default:\r\n\t return undefined\r\n\t }\r\n\t};\r\n\n\t},{\"./error-correction-level\":8}],8:[function(require,module,exports){\n\texports.L = { bit: 1 };\n\texports.M = { bit: 0 };\n\texports.Q = { bit: 3 };\n\texports.H = { bit: 2 };\n\n\tfunction fromString (string) {\n\t if (typeof string !== 'string') {\n\t throw new Error('Param is not a string')\n\t }\n\n\t var lcStr = string.toLowerCase();\n\n\t switch (lcStr) {\n\t case 'l':\n\t case 'low':\n\t return exports.L\n\n\t case 'm':\n\t case 'medium':\n\t return exports.M\n\n\t case 'q':\n\t case 'quartile':\n\t return exports.Q\n\n\t case 'h':\n\t case 'high':\n\t return exports.H\n\n\t default:\n\t throw new Error('Unknown EC Level: ' + string)\n\t }\n\t}\n\n\texports.isValid = function isValid (level) {\n\t return level && typeof level.bit !== 'undefined' &&\n\t level.bit >= 0 && level.bit < 4\n\t};\n\n\texports.from = function from (value, defaultValue) {\n\t if (exports.isValid(value)) {\n\t return value\n\t }\n\n\t try {\n\t return fromString(value)\n\t } catch (e) {\n\t return defaultValue\n\t }\n\t};\n\n\t},{}],9:[function(require,module,exports){\n\tvar getSymbolSize = require('./utils').getSymbolSize;\n\tvar FINDER_PATTERN_SIZE = 7;\n\n\t/**\n\t * Returns an array containing the positions of each finder pattern.\n\t * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n\t *\n\t * @param {Number} version QR Code version\n\t * @return {Array} Array of coordinates\n\t */\n\texports.getPositions = function getPositions (version) {\n\t var size = getSymbolSize(version);\n\n\t return [\n\t // top-left\n\t [0, 0],\n\t // top-right\n\t [size - FINDER_PATTERN_SIZE, 0],\n\t // bottom-left\n\t [0, size - FINDER_PATTERN_SIZE]\n\t ]\n\t};\n\n\t},{\"./utils\":21}],10:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\n\tvar G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0);\n\tvar G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1);\n\tvar G15_BCH = Utils.getBCHDigit(G15);\n\n\t/**\n\t * Returns format information with relative error correction bits\n\t *\n\t * The format information is a 15-bit sequence containing 5 data bits,\n\t * with 10 error correction bits calculated using the (15, 5) BCH code.\n\t *\n\t * @param {Number} errorCorrectionLevel Error correction level\n\t * @param {Number} mask Mask pattern\n\t * @return {Number} Encoded format information bits\n\t */\n\texports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n\t var data = ((errorCorrectionLevel.bit << 3) | mask);\n\t var d = data << 10;\n\n\t while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n\t d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH));\n\t }\n\n\t // xor final data with mask pattern in order to ensure that\n\t // no combination of Error Correction Level and data mask pattern\n\t // will result in an all-zero data string\n\t return ((data << 10) | d) ^ G15_MASK\n\t};\n\n\t},{\"./utils\":21}],11:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\n\tvar EXP_TABLE = BufferUtil.alloc(512);\n\tvar LOG_TABLE = BufferUtil.alloc(256)\n\t/**\n\t * Precompute the log and anti-log tables for faster computation later\n\t *\n\t * For each possible value in the galois field 2^8, we will pre-compute\n\t * the logarithm and anti-logarithm (exponential) of this value\n\t *\n\t * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n\t */\n\t;(function initTables () {\n\t var x = 1;\n\t for (var i = 0; i < 255; i++) {\n\t EXP_TABLE[i] = x;\n\t LOG_TABLE[x] = i;\n\n\t x <<= 1; // multiply by 2\n\n\t // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n\t // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n\t if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n\t x ^= 0x11D;\n\t }\n\t }\n\n\t // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n\t // stay inside the bounds (because we will mainly use this table for the multiplication of\n\t // two GF numbers, no more).\n\t // @see {@link mul}\n\t for (i = 255; i < 512; i++) {\n\t EXP_TABLE[i] = EXP_TABLE[i - 255];\n\t }\n\t}());\n\n\t/**\n\t * Returns log value of n inside Galois Field\n\t *\n\t * @param {Number} n\n\t * @return {Number}\n\t */\n\texports.log = function log (n) {\n\t if (n < 1) throw new Error('log(' + n + ')')\n\t return LOG_TABLE[n]\n\t};\n\n\t/**\n\t * Returns anti-log value of n inside Galois Field\n\t *\n\t * @param {Number} n\n\t * @return {Number}\n\t */\n\texports.exp = function exp (n) {\n\t return EXP_TABLE[n]\n\t};\n\n\t/**\n\t * Multiplies two number inside Galois Field\n\t *\n\t * @param {Number} x\n\t * @param {Number} y\n\t * @return {Number}\n\t */\n\texports.mul = function mul (x, y) {\n\t if (x === 0 || y === 0) return 0\n\n\t // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n\t // @see {@link initTables}\n\t return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n\t};\n\n\t},{\"../utils/buffer\":28}],12:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\tvar Utils = require('./utils');\n\n\tfunction KanjiData (data) {\n\t this.mode = Mode.KANJI;\n\t this.data = data;\n\t}\n\n\tKanjiData.getBitsLength = function getBitsLength (length) {\n\t return length * 13\n\t};\n\n\tKanjiData.prototype.getLength = function getLength () {\n\t return this.data.length\n\t};\n\n\tKanjiData.prototype.getBitsLength = function getBitsLength () {\n\t return KanjiData.getBitsLength(this.data.length)\n\t};\n\n\tKanjiData.prototype.write = function (bitBuffer) {\n\t var i;\n\n\t // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n\t // These byte values are shifted from the JIS X 0208 values.\n\t // JIS X 0208 gives details of the shift coded representation.\n\t for (i = 0; i < this.data.length; i++) {\n\t var value = Utils.toSJIS(this.data[i]);\n\n\t // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n\t if (value >= 0x8140 && value <= 0x9FFC) {\n\t // Subtract 0x8140 from Shift JIS value\n\t value -= 0x8140;\n\n\t // For characters with Shift JIS values from 0xE040 to 0xEBBF\n\t } else if (value >= 0xE040 && value <= 0xEBBF) {\n\t // Subtract 0xC140 from Shift JIS value\n\t value -= 0xC140;\n\t } else {\n\t throw new Error(\n\t 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n\t 'Make sure your charset is UTF-8')\n\t }\n\n\t // Multiply most significant byte of result by 0xC0\n\t // and add least significant byte to product\n\t value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff);\n\n\t // Convert result to a 13-bit binary string\n\t bitBuffer.put(value, 13);\n\t }\n\t};\n\n\tmodule.exports = KanjiData;\n\n\t},{\"./mode\":14,\"./utils\":21}],13:[function(require,module,exports){\n\t/**\n\t * Data mask pattern reference\n\t * @type {Object}\n\t */\n\texports.Patterns = {\n\t PATTERN000: 0,\n\t PATTERN001: 1,\n\t PATTERN010: 2,\n\t PATTERN011: 3,\n\t PATTERN100: 4,\n\t PATTERN101: 5,\n\t PATTERN110: 6,\n\t PATTERN111: 7\n\t};\n\n\t/**\n\t * Weighted penalty scores for the undesirable features\n\t * @type {Object}\n\t */\n\tvar PenaltyScores = {\n\t N1: 3,\n\t N2: 3,\n\t N3: 40,\n\t N4: 10\n\t};\n\n\t/**\n\t * Check if mask pattern value is valid\n\t *\n\t * @param {Number} mask Mask pattern\n\t * @return {Boolean} true if valid, false otherwise\n\t */\n\texports.isValid = function isValid (mask) {\n\t return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n\t};\n\n\t/**\n\t * Returns mask pattern from a value.\n\t * If value is not valid, returns undefined\n\t *\n\t * @param {Number|String} value Mask pattern value\n\t * @return {Number} Valid mask pattern or undefined\n\t */\n\texports.from = function from (value) {\n\t return exports.isValid(value) ? parseInt(value, 10) : undefined\n\t};\n\n\t/**\n\t* Find adjacent modules in row/column with the same color\n\t* and assign a penalty value.\n\t*\n\t* Points: N1 + i\n\t* i is the amount by which the number of adjacent modules of the same color exceeds 5\n\t*/\n\texports.getPenaltyN1 = function getPenaltyN1 (data) {\n\t var size = data.size;\n\t var points = 0;\n\t var sameCountCol = 0;\n\t var sameCountRow = 0;\n\t var lastCol = null;\n\t var lastRow = null;\n\n\t for (var row = 0; row < size; row++) {\n\t sameCountCol = sameCountRow = 0;\n\t lastCol = lastRow = null;\n\n\t for (var col = 0; col < size; col++) {\n\t var module = data.get(row, col);\n\t if (module === lastCol) {\n\t sameCountCol++;\n\t } else {\n\t if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n\t lastCol = module;\n\t sameCountCol = 1;\n\t }\n\n\t module = data.get(col, row);\n\t if (module === lastRow) {\n\t sameCountRow++;\n\t } else {\n\t if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n\t lastRow = module;\n\t sameCountRow = 1;\n\t }\n\t }\n\n\t if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n\t if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n\t }\n\n\t return points\n\t};\n\n\t/**\n\t * Find 2x2 blocks with the same color and assign a penalty value\n\t *\n\t * Points: N2 * (m - 1) * (n - 1)\n\t */\n\texports.getPenaltyN2 = function getPenaltyN2 (data) {\n\t var size = data.size;\n\t var points = 0;\n\n\t for (var row = 0; row < size - 1; row++) {\n\t for (var col = 0; col < size - 1; col++) {\n\t var last = data.get(row, col) +\n\t data.get(row, col + 1) +\n\t data.get(row + 1, col) +\n\t data.get(row + 1, col + 1);\n\n\t if (last === 4 || last === 0) points++;\n\t }\n\t }\n\n\t return points * PenaltyScores.N2\n\t};\n\n\t/**\n\t * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n\t * preceded or followed by light area 4 modules wide\n\t *\n\t * Points: N3 * number of pattern found\n\t */\n\texports.getPenaltyN3 = function getPenaltyN3 (data) {\n\t var size = data.size;\n\t var points = 0;\n\t var bitsCol = 0;\n\t var bitsRow = 0;\n\n\t for (var row = 0; row < size; row++) {\n\t bitsCol = bitsRow = 0;\n\t for (var col = 0; col < size; col++) {\n\t bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col);\n\t if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++;\n\n\t bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row);\n\t if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++;\n\t }\n\t }\n\n\t return points * PenaltyScores.N3\n\t};\n\n\t/**\n\t * Calculate proportion of dark modules in entire symbol\n\t *\n\t * Points: N4 * k\n\t *\n\t * k is the rating of the deviation of the proportion of dark modules\n\t * in the symbol from 50% in steps of 5%\n\t */\n\texports.getPenaltyN4 = function getPenaltyN4 (data) {\n\t var darkCount = 0;\n\t var modulesCount = data.data.length;\n\n\t for (var i = 0; i < modulesCount; i++) darkCount += data.data[i];\n\n\t var k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10);\n\n\t return k * PenaltyScores.N4\n\t};\n\n\t/**\n\t * Return mask value at given position\n\t *\n\t * @param {Number} maskPattern Pattern reference value\n\t * @param {Number} i Row\n\t * @param {Number} j Column\n\t * @return {Boolean} Mask value\n\t */\n\tfunction getMaskAt (maskPattern, i, j) {\n\t switch (maskPattern) {\n\t case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n\t case exports.Patterns.PATTERN001: return i % 2 === 0\n\t case exports.Patterns.PATTERN010: return j % 3 === 0\n\t case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n\t case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n\t case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n\t case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n\t case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n\t default: throw new Error('bad maskPattern:' + maskPattern)\n\t }\n\t}\n\n\t/**\n\t * Apply a mask pattern to a BitMatrix\n\t *\n\t * @param {Number} pattern Pattern reference number\n\t * @param {BitMatrix} data BitMatrix data\n\t */\n\texports.applyMask = function applyMask (pattern, data) {\n\t var size = data.size;\n\n\t for (var col = 0; col < size; col++) {\n\t for (var row = 0; row < size; row++) {\n\t if (data.isReserved(row, col)) continue\n\t data.xor(row, col, getMaskAt(pattern, row, col));\n\t }\n\t }\n\t};\n\n\t/**\n\t * Returns the best mask pattern for data\n\t *\n\t * @param {BitMatrix} data\n\t * @return {Number} Mask pattern reference number\n\t */\n\texports.getBestMask = function getBestMask (data, setupFormatFunc) {\n\t var numPatterns = Object.keys(exports.Patterns).length;\n\t var bestPattern = 0;\n\t var lowerPenalty = Infinity;\n\n\t for (var p = 0; p < numPatterns; p++) {\n\t setupFormatFunc(p);\n\t exports.applyMask(p, data);\n\n\t // Calculate penalty\n\t var penalty =\n\t exports.getPenaltyN1(data) +\n\t exports.getPenaltyN2(data) +\n\t exports.getPenaltyN3(data) +\n\t exports.getPenaltyN4(data);\n\n\t // Undo previously applied mask\n\t exports.applyMask(p, data);\n\n\t if (penalty < lowerPenalty) {\n\t lowerPenalty = penalty;\n\t bestPattern = p;\n\t }\n\t }\n\n\t return bestPattern\n\t};\n\n\t},{}],14:[function(require,module,exports){\n\tvar VersionCheck = require('./version-check');\n\tvar Regex = require('./regex');\n\n\t/**\n\t * Numeric mode encodes data from the decimal digit set (0 - 9)\n\t * (byte values 30HEX to 39HEX).\n\t * Normally, 3 data characters are represented by 10 bits.\n\t *\n\t * @type {Object}\n\t */\n\texports.NUMERIC = {\n\t id: 'Numeric',\n\t bit: 1 << 0,\n\t ccBits: [10, 12, 14]\n\t};\n\n\t/**\n\t * Alphanumeric mode encodes data from a set of 45 characters,\n\t * i.e. 10 numeric digits (0 - 9),\n\t * 26 alphabetic characters (A - Z),\n\t * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n\t * Normally, two input characters are represented by 11 bits.\n\t *\n\t * @type {Object}\n\t */\n\texports.ALPHANUMERIC = {\n\t id: 'Alphanumeric',\n\t bit: 1 << 1,\n\t ccBits: [9, 11, 13]\n\t};\n\n\t/**\n\t * In byte mode, data is encoded at 8 bits per character.\n\t *\n\t * @type {Object}\n\t */\n\texports.BYTE = {\n\t id: 'Byte',\n\t bit: 1 << 2,\n\t ccBits: [8, 16, 16]\n\t};\n\n\t/**\n\t * The Kanji mode efficiently encodes Kanji characters in accordance with\n\t * the Shift JIS system based on JIS X 0208.\n\t * The Shift JIS values are shifted from the JIS X 0208 values.\n\t * JIS X 0208 gives details of the shift coded representation.\n\t * Each two-byte character value is compacted to a 13-bit binary codeword.\n\t *\n\t * @type {Object}\n\t */\n\texports.KANJI = {\n\t id: 'Kanji',\n\t bit: 1 << 3,\n\t ccBits: [8, 10, 12]\n\t};\n\n\t/**\n\t * Mixed mode will contain a sequences of data in a combination of any of\n\t * the modes described above\n\t *\n\t * @type {Object}\n\t */\n\texports.MIXED = {\n\t bit: -1\n\t};\n\n\t/**\n\t * Returns the number of bits needed to store the data length\n\t * according to QR Code specifications.\n\t *\n\t * @param {Mode} mode Data mode\n\t * @param {Number} version QR Code version\n\t * @return {Number} Number of bits\n\t */\n\texports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n\t if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n\t if (!VersionCheck.isValid(version)) {\n\t throw new Error('Invalid version: ' + version)\n\t }\n\n\t if (version >= 1 && version < 10) return mode.ccBits[0]\n\t else if (version < 27) return mode.ccBits[1]\n\t return mode.ccBits[2]\n\t};\n\n\t/**\n\t * Returns the most efficient mode to store the specified data\n\t *\n\t * @param {String} dataStr Input data string\n\t * @return {Mode} Best mode\n\t */\n\texports.getBestModeForData = function getBestModeForData (dataStr) {\n\t if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n\t else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n\t else if (Regex.testKanji(dataStr)) return exports.KANJI\n\t else return exports.BYTE\n\t};\n\n\t/**\n\t * Return mode name as string\n\t *\n\t * @param {Mode} mode Mode object\n\t * @returns {String} Mode name\n\t */\n\texports.toString = function toString (mode) {\n\t if (mode && mode.id) return mode.id\n\t throw new Error('Invalid mode')\n\t};\n\n\t/**\n\t * Check if input param is a valid mode object\n\t *\n\t * @param {Mode} mode Mode object\n\t * @returns {Boolean} True if valid mode, false otherwise\n\t */\n\texports.isValid = function isValid (mode) {\n\t return mode && mode.bit && mode.ccBits\n\t};\n\n\t/**\n\t * Get mode object from its name\n\t *\n\t * @param {String} string Mode name\n\t * @returns {Mode} Mode object\n\t */\n\tfunction fromString (string) {\n\t if (typeof string !== 'string') {\n\t throw new Error('Param is not a string')\n\t }\n\n\t var lcStr = string.toLowerCase();\n\n\t switch (lcStr) {\n\t case 'numeric':\n\t return exports.NUMERIC\n\t case 'alphanumeric':\n\t return exports.ALPHANUMERIC\n\t case 'kanji':\n\t return exports.KANJI\n\t case 'byte':\n\t return exports.BYTE\n\t default:\n\t throw new Error('Unknown mode: ' + string)\n\t }\n\t}\n\n\t/**\n\t * Returns mode from a value.\n\t * If value is not a valid mode, returns defaultValue\n\t *\n\t * @param {Mode|String} value Encoding mode\n\t * @param {Mode} defaultValue Fallback value\n\t * @return {Mode} Encoding mode\n\t */\n\texports.from = function from (value, defaultValue) {\n\t if (exports.isValid(value)) {\n\t return value\n\t }\n\n\t try {\n\t return fromString(value)\n\t } catch (e) {\n\t return defaultValue\n\t }\n\t};\n\n\t},{\"./regex\":19,\"./version-check\":22}],15:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\n\tfunction NumericData (data) {\n\t this.mode = Mode.NUMERIC;\n\t this.data = data.toString();\n\t}\n\n\tNumericData.getBitsLength = function getBitsLength (length) {\n\t return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n\t};\n\n\tNumericData.prototype.getLength = function getLength () {\n\t return this.data.length\n\t};\n\n\tNumericData.prototype.getBitsLength = function getBitsLength () {\n\t return NumericData.getBitsLength(this.data.length)\n\t};\n\n\tNumericData.prototype.write = function write (bitBuffer) {\n\t var i, group, value;\n\n\t // The input data string is divided into groups of three digits,\n\t // and each group is converted to its 10-bit binary equivalent.\n\t for (i = 0; i + 3 <= this.data.length; i += 3) {\n\t group = this.data.substr(i, 3);\n\t value = parseInt(group, 10);\n\n\t bitBuffer.put(value, 10);\n\t }\n\n\t // If the number of input digits is not an exact multiple of three,\n\t // the final one or two digits are converted to 4 or 7 bits respectively.\n\t var remainingNum = this.data.length - i;\n\t if (remainingNum > 0) {\n\t group = this.data.substr(i);\n\t value = parseInt(group, 10);\n\n\t bitBuffer.put(value, remainingNum * 3 + 1);\n\t }\n\t};\n\n\tmodule.exports = NumericData;\n\n\t},{\"./mode\":14}],16:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar GF = require('./galois-field');\n\n\t/**\n\t * Multiplies two polynomials inside Galois Field\n\t *\n\t * @param {Buffer} p1 Polynomial\n\t * @param {Buffer} p2 Polynomial\n\t * @return {Buffer} Product of p1 and p2\n\t */\n\texports.mul = function mul (p1, p2) {\n\t var coeff = BufferUtil.alloc(p1.length + p2.length - 1);\n\n\t for (var i = 0; i < p1.length; i++) {\n\t for (var j = 0; j < p2.length; j++) {\n\t coeff[i + j] ^= GF.mul(p1[i], p2[j]);\n\t }\n\t }\n\n\t return coeff\n\t};\n\n\t/**\n\t * Calculate the remainder of polynomials division\n\t *\n\t * @param {Buffer} divident Polynomial\n\t * @param {Buffer} divisor Polynomial\n\t * @return {Buffer} Remainder\n\t */\n\texports.mod = function mod (divident, divisor) {\n\t var result = BufferUtil.from(divident);\n\n\t while ((result.length - divisor.length) >= 0) {\n\t var coeff = result[0];\n\n\t for (var i = 0; i < divisor.length; i++) {\n\t result[i] ^= GF.mul(divisor[i], coeff);\n\t }\n\n\t // remove all zeros from buffer head\n\t var offset = 0;\n\t while (offset < result.length && result[offset] === 0) offset++;\n\t result = result.slice(offset);\n\t }\n\n\t return result\n\t};\n\n\t/**\n\t * Generate an irreducible generator polynomial of specified degree\n\t * (used by Reed-Solomon encoder)\n\t *\n\t * @param {Number} degree Degree of the generator polynomial\n\t * @return {Buffer} Buffer containing polynomial coefficients\n\t */\n\texports.generateECPolynomial = function generateECPolynomial (degree) {\n\t var poly = BufferUtil.from([1]);\n\t for (var i = 0; i < degree; i++) {\n\t poly = exports.mul(poly, [1, GF.exp(i)]);\n\t }\n\n\t return poly\n\t};\n\n\t},{\"../utils/buffer\":28,\"./galois-field\":11}],17:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar Utils = require('./utils');\n\tvar ECLevel = require('./error-correction-level');\n\tvar BitBuffer = require('./bit-buffer');\n\tvar BitMatrix = require('./bit-matrix');\n\tvar AlignmentPattern = require('./alignment-pattern');\n\tvar FinderPattern = require('./finder-pattern');\n\tvar MaskPattern = require('./mask-pattern');\n\tvar ECCode = require('./error-correction-code');\n\tvar ReedSolomonEncoder = require('./reed-solomon-encoder');\n\tvar Version = require('./version');\n\tvar FormatInfo = require('./format-info');\n\tvar Mode = require('./mode');\n\tvar Segments = require('./segments');\n\tvar isArray = require('isarray');\n\n\t/**\n\t * QRCode for JavaScript\n\t *\n\t * modified by Ryan Day for nodejs support\n\t * Copyright (c) 2011 Ryan Day\n\t *\n\t * Licensed under the MIT license:\n\t * http://www.opensource.org/licenses/mit-license.php\n\t *\n\t//---------------------------------------------------------------------\n\t// QRCode for JavaScript\n\t//\n\t// Copyright (c) 2009 Kazuhiko Arase\n\t//\n\t// URL: http://www.d-project.com/\n\t//\n\t// Licensed under the MIT license:\n\t// http://www.opensource.org/licenses/mit-license.php\n\t//\n\t// The word \"QR Code\" is registered trademark of\n\t// DENSO WAVE INCORPORATED\n\t// http://www.denso-wave.com/qrcode/faqpatent-e.html\n\t//\n\t//---------------------------------------------------------------------\n\t*/\n\n\t/**\n\t * Add finder patterns bits to matrix\n\t *\n\t * @param {BitMatrix} matrix Modules matrix\n\t * @param {Number} version QR Code version\n\t */\n\tfunction setupFinderPattern (matrix, version) {\n\t var size = matrix.size;\n\t var pos = FinderPattern.getPositions(version);\n\n\t for (var i = 0; i < pos.length; i++) {\n\t var row = pos[i][0];\n\t var col = pos[i][1];\n\n\t for (var r = -1; r <= 7; r++) {\n\t if (row + r <= -1 || size <= row + r) continue\n\n\t for (var c = -1; c <= 7; c++) {\n\t if (col + c <= -1 || size <= col + c) continue\n\n\t if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n\t (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n\t (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n\t matrix.set(row + r, col + c, true, true);\n\t } else {\n\t matrix.set(row + r, col + c, false, true);\n\t }\n\t }\n\t }\n\t }\n\t}\n\n\t/**\n\t * Add timing pattern bits to matrix\n\t *\n\t * Note: this function must be called before {@link setupAlignmentPattern}\n\t *\n\t * @param {BitMatrix} matrix Modules matrix\n\t */\n\tfunction setupTimingPattern (matrix) {\n\t var size = matrix.size;\n\n\t for (var r = 8; r < size - 8; r++) {\n\t var value = r % 2 === 0;\n\t matrix.set(r, 6, value, true);\n\t matrix.set(6, r, value, true);\n\t }\n\t}\n\n\t/**\n\t * Add alignment patterns bits to matrix\n\t *\n\t * Note: this function must be called after {@link setupTimingPattern}\n\t *\n\t * @param {BitMatrix} matrix Modules matrix\n\t * @param {Number} version QR Code version\n\t */\n\tfunction setupAlignmentPattern (matrix, version) {\n\t var pos = AlignmentPattern.getPositions(version);\n\n\t for (var i = 0; i < pos.length; i++) {\n\t var row = pos[i][0];\n\t var col = pos[i][1];\n\n\t for (var r = -2; r <= 2; r++) {\n\t for (var c = -2; c <= 2; c++) {\n\t if (r === -2 || r === 2 || c === -2 || c === 2 ||\n\t (r === 0 && c === 0)) {\n\t matrix.set(row + r, col + c, true, true);\n\t } else {\n\t matrix.set(row + r, col + c, false, true);\n\t }\n\t }\n\t }\n\t }\n\t}\n\n\t/**\n\t * Add version info bits to matrix\n\t *\n\t * @param {BitMatrix} matrix Modules matrix\n\t * @param {Number} version QR Code version\n\t */\n\tfunction setupVersionInfo (matrix, version) {\n\t var size = matrix.size;\n\t var bits = Version.getEncodedBits(version);\n\t var row, col, mod;\n\n\t for (var i = 0; i < 18; i++) {\n\t row = Math.floor(i / 3);\n\t col = i % 3 + size - 8 - 3;\n\t mod = ((bits >> i) & 1) === 1;\n\n\t matrix.set(row, col, mod, true);\n\t matrix.set(col, row, mod, true);\n\t }\n\t}\n\n\t/**\n\t * Add format info bits to matrix\n\t *\n\t * @param {BitMatrix} matrix Modules matrix\n\t * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n\t * @param {Number} maskPattern Mask pattern reference value\n\t */\n\tfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n\t var size = matrix.size;\n\t var bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern);\n\t var i, mod;\n\n\t for (i = 0; i < 15; i++) {\n\t mod = ((bits >> i) & 1) === 1;\n\n\t // vertical\n\t if (i < 6) {\n\t matrix.set(i, 8, mod, true);\n\t } else if (i < 8) {\n\t matrix.set(i + 1, 8, mod, true);\n\t } else {\n\t matrix.set(size - 15 + i, 8, mod, true);\n\t }\n\n\t // horizontal\n\t if (i < 8) {\n\t matrix.set(8, size - i - 1, mod, true);\n\t } else if (i < 9) {\n\t matrix.set(8, 15 - i - 1 + 1, mod, true);\n\t } else {\n\t matrix.set(8, 15 - i - 1, mod, true);\n\t }\n\t }\n\n\t // fixed module\n\t matrix.set(size - 8, 8, 1, true);\n\t}\n\n\t/**\n\t * Add encoded data bits to matrix\n\t *\n\t * @param {BitMatrix} matrix Modules matrix\n\t * @param {Buffer} data Data codewords\n\t */\n\tfunction setupData (matrix, data) {\n\t var size = matrix.size;\n\t var inc = -1;\n\t var row = size - 1;\n\t var bitIndex = 7;\n\t var byteIndex = 0;\n\n\t for (var col = size - 1; col > 0; col -= 2) {\n\t if (col === 6) col--;\n\n\t while (true) {\n\t for (var c = 0; c < 2; c++) {\n\t if (!matrix.isReserved(row, col - c)) {\n\t var dark = false;\n\n\t if (byteIndex < data.length) {\n\t dark = (((data[byteIndex] >>> bitIndex) & 1) === 1);\n\t }\n\n\t matrix.set(row, col - c, dark);\n\t bitIndex--;\n\n\t if (bitIndex === -1) {\n\t byteIndex++;\n\t bitIndex = 7;\n\t }\n\t }\n\t }\n\n\t row += inc;\n\n\t if (row < 0 || size <= row) {\n\t row -= inc;\n\t inc = -inc;\n\t break\n\t }\n\t }\n\t }\n\t}\n\n\t/**\n\t * Create encoded codewords from data input\n\t *\n\t * @param {Number} version QR Code version\n\t * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n\t * @param {ByteData} data Data input\n\t * @return {Buffer} Buffer containing encoded codewords\n\t */\n\tfunction createData (version, errorCorrectionLevel, segments) {\n\t // Prepare data buffer\n\t var buffer = new BitBuffer();\n\n\t segments.forEach(function (data) {\n\t // prefix data with mode indicator (4 bits)\n\t buffer.put(data.mode.bit, 4);\n\n\t // Prefix data with character count indicator.\n\t // The character count indicator is a string of bits that represents the\n\t // number of characters that are being encoded.\n\t // The character count indicator must be placed after the mode indicator\n\t // and must be a certain number of bits long, depending on the QR version\n\t // and data mode\n\t // @see {@link Mode.getCharCountIndicator}.\n\t buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version));\n\n\t // add binary data sequence to buffer\n\t data.write(buffer);\n\t });\n\n\t // Calculate required number of bits\n\t var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\t var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\t var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n\t // Add a terminator.\n\t // If the bit string is shorter than the total number of required bits,\n\t // a terminator of up to four 0s must be added to the right side of the string.\n\t // If the bit string is more than four bits shorter than the required number of bits,\n\t // add four 0s to the end.\n\t if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n\t buffer.put(0, 4);\n\t }\n\n\t // If the bit string is fewer than four bits shorter, add only the number of 0s that\n\t // are needed to reach the required number of bits.\n\n\t // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n\t // pad the string on the right with 0s to make the string's length a multiple of 8.\n\t while (buffer.getLengthInBits() % 8 !== 0) {\n\t buffer.putBit(0);\n\t }\n\n\t // Add pad bytes if the string is still shorter than the total number of required bits.\n\t // Extend the buffer to fill the data capacity of the symbol corresponding to\n\t // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n\t // and 00010001 (0x11) alternately.\n\t var remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8;\n\t for (var i = 0; i < remainingByte; i++) {\n\t buffer.put(i % 2 ? 0x11 : 0xEC, 8);\n\t }\n\n\t return createCodewords(buffer, version, errorCorrectionLevel)\n\t}\n\n\t/**\n\t * Encode input data with Reed-Solomon and return codewords with\n\t * relative error correction bits\n\t *\n\t * @param {BitBuffer} bitBuffer Data to encode\n\t * @param {Number} version QR Code version\n\t * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n\t * @return {Buffer} Buffer containing encoded codewords\n\t */\n\tfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n\t // Total codewords for this QR code version (Data + Error correction)\n\t var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n\t // Total number of error correction codewords\n\t var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n\t // Total number of data codewords\n\t var dataTotalCodewords = totalCodewords - ecTotalCodewords;\n\n\t // Total number of blocks\n\t var ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel);\n\n\t // Calculate how many blocks each group should contain\n\t var blocksInGroup2 = totalCodewords % ecTotalBlocks;\n\t var blocksInGroup1 = ecTotalBlocks - blocksInGroup2;\n\n\t var totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks);\n\n\t var dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks);\n\t var dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1;\n\n\t // Number of EC codewords is the same for both groups\n\t var ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1;\n\n\t // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n\t var rs = new ReedSolomonEncoder(ecCount);\n\n\t var offset = 0;\n\t var dcData = new Array(ecTotalBlocks);\n\t var ecData = new Array(ecTotalBlocks);\n\t var maxDataSize = 0;\n\t var buffer = BufferUtil.from(bitBuffer.buffer);\n\n\t // Divide the buffer into the required number of blocks\n\t for (var b = 0; b < ecTotalBlocks; b++) {\n\t var dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2;\n\n\t // extract a block of data from buffer\n\t dcData[b] = buffer.slice(offset, offset + dataSize);\n\n\t // Calculate EC codewords for this data block\n\t ecData[b] = rs.encode(dcData[b]);\n\n\t offset += dataSize;\n\t maxDataSize = Math.max(maxDataSize, dataSize);\n\t }\n\n\t // Create final data\n\t // Interleave the data and error correction codewords from each block\n\t var data = BufferUtil.alloc(totalCodewords);\n\t var index = 0;\n\t var i, r;\n\n\t // Add data codewords\n\t for (i = 0; i < maxDataSize; i++) {\n\t for (r = 0; r < ecTotalBlocks; r++) {\n\t if (i < dcData[r].length) {\n\t data[index++] = dcData[r][i];\n\t }\n\t }\n\t }\n\n\t // Apped EC codewords\n\t for (i = 0; i < ecCount; i++) {\n\t for (r = 0; r < ecTotalBlocks; r++) {\n\t data[index++] = ecData[r][i];\n\t }\n\t }\n\n\t return data\n\t}\n\n\t/**\n\t * Build QR Code symbol\n\t *\n\t * @param {String} data Input string\n\t * @param {Number} version QR Code version\n\t * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n\t * @param {MaskPattern} maskPattern Mask pattern\n\t * @return {Object} Object containing symbol data\n\t */\n\tfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n\t var segments;\n\n\t if (isArray(data)) {\n\t segments = Segments.fromArray(data);\n\t } else if (typeof data === 'string') {\n\t var estimatedVersion = version;\n\n\t if (!estimatedVersion) {\n\t var rawSegments = Segments.rawSplit(data);\n\n\t // Estimate best version that can contain raw splitted segments\n\t estimatedVersion = Version.getBestVersionForData(rawSegments,\n\t errorCorrectionLevel);\n\t }\n\n\t // Build optimized segments\n\t // If estimated version is undefined, try with the highest version\n\t segments = Segments.fromString(data, estimatedVersion || 40);\n\t } else {\n\t throw new Error('Invalid data')\n\t }\n\n\t // Get the min version that can contain data\n\t var bestVersion = Version.getBestVersionForData(segments,\n\t errorCorrectionLevel);\n\n\t // If no version is found, data cannot be stored\n\t if (!bestVersion) {\n\t throw new Error('The amount of data is too big to be stored in a QR Code')\n\t }\n\n\t // If not specified, use min version as default\n\t if (!version) {\n\t version = bestVersion;\n\n\t // Check if the specified version can contain the data\n\t } else if (version < bestVersion) {\n\t throw new Error('\\n' +\n\t 'The chosen QR Code version cannot contain this amount of data.\\n' +\n\t 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n\t )\n\t }\n\n\t var dataBits = createData(version, errorCorrectionLevel, segments);\n\n\t // Allocate matrix buffer\n\t var moduleCount = Utils.getSymbolSize(version);\n\t var modules = new BitMatrix(moduleCount);\n\n\t // Add function modules\n\t setupFinderPattern(modules, version);\n\t setupTimingPattern(modules);\n\t setupAlignmentPattern(modules, version);\n\n\t // Add temporary dummy bits for format info just to set them as reserved.\n\t // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n\t // since the masking operation must be performed only on the encoding region.\n\t // These blocks will be replaced with correct values later in code.\n\t setupFormatInfo(modules, errorCorrectionLevel, 0);\n\n\t if (version >= 7) {\n\t setupVersionInfo(modules, version);\n\t }\n\n\t // Add data codewords\n\t setupData(modules, dataBits);\n\n\t if (isNaN(maskPattern)) {\n\t // Find best mask pattern\n\t maskPattern = MaskPattern.getBestMask(modules,\n\t setupFormatInfo.bind(null, modules, errorCorrectionLevel));\n\t }\n\n\t // Apply mask pattern\n\t MaskPattern.applyMask(maskPattern, modules);\n\n\t // Replace format info bits with correct values\n\t setupFormatInfo(modules, errorCorrectionLevel, maskPattern);\n\n\t return {\n\t modules: modules,\n\t version: version,\n\t errorCorrectionLevel: errorCorrectionLevel,\n\t maskPattern: maskPattern,\n\t segments: segments\n\t }\n\t}\n\n\t/**\n\t * QR Code\n\t *\n\t * @param {String | Array} data Input data\n\t * @param {Object} options Optional configurations\n\t * @param {Number} options.version QR Code version\n\t * @param {String} options.errorCorrectionLevel Error correction level\n\t * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n\t */\n\texports.create = function create (data, options) {\n\t if (typeof data === 'undefined' || data === '') {\n\t throw new Error('No input text')\n\t }\n\n\t var errorCorrectionLevel = ECLevel.M;\n\t var version;\n\t var mask;\n\n\t if (typeof options !== 'undefined') {\n\t // Use higher error correction level as default\n\t errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M);\n\t version = Version.from(options.version);\n\t mask = MaskPattern.from(options.maskPattern);\n\n\t if (options.toSJISFunc) {\n\t Utils.setToSJISFunction(options.toSJISFunc);\n\t }\n\t }\n\n\t return createSymbol(data, version, errorCorrectionLevel, mask)\n\t};\n\n\t},{\"../utils/buffer\":28,\"./alignment-pattern\":2,\"./bit-buffer\":4,\"./bit-matrix\":5,\"./error-correction-code\":7,\"./error-correction-level\":8,\"./finder-pattern\":9,\"./format-info\":10,\"./mask-pattern\":13,\"./mode\":14,\"./reed-solomon-encoder\":18,\"./segments\":20,\"./utils\":21,\"./version\":23,\"isarray\":33}],18:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar Polynomial = require('./polynomial');\n\tvar Buffer = require('buffer').Buffer;\n\n\tfunction ReedSolomonEncoder (degree) {\n\t this.genPoly = undefined;\n\t this.degree = degree;\n\n\t if (this.degree) this.initialize(this.degree);\n\t}\n\n\t/**\n\t * Initialize the encoder.\n\t * The input param should correspond to the number of error correction codewords.\n\t *\n\t * @param {Number} degree\n\t */\n\tReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n\t // create an irreducible generator polynomial\n\t this.degree = degree;\n\t this.genPoly = Polynomial.generateECPolynomial(this.degree);\n\t};\n\n\t/**\n\t * Encodes a chunk of data\n\t *\n\t * @param {Buffer} data Buffer containing input data\n\t * @return {Buffer} Buffer containing encoded data\n\t */\n\tReedSolomonEncoder.prototype.encode = function encode (data) {\n\t if (!this.genPoly) {\n\t throw new Error('Encoder not initialized')\n\t }\n\n\t // Calculate EC for this data block\n\t // extends data size to data+genPoly size\n\t var pad = BufferUtil.alloc(this.degree);\n\t var paddedData = Buffer.concat([data, pad], data.length + this.degree);\n\n\t // The error correction codewords are the remainder after dividing the data codewords\n\t // by a generator polynomial\n\t var remainder = Polynomial.mod(paddedData, this.genPoly);\n\n\t // return EC data blocks (last n byte, where n is the degree of genPoly)\n\t // If coefficients number in remainder are less than genPoly degree,\n\t // pad with 0s to the left to reach the needed number of coefficients\n\t var start = this.degree - remainder.length;\n\t if (start > 0) {\n\t var buff = BufferUtil.alloc(this.degree);\n\t remainder.copy(buff, start);\n\n\t return buff\n\t }\n\n\t return remainder\n\t};\n\n\tmodule.exports = ReedSolomonEncoder;\n\n\t},{\"../utils/buffer\":28,\"./polynomial\":16,\"buffer\":30}],19:[function(require,module,exports){\n\tvar numeric = '[0-9]+';\n\tvar alphanumeric = '[A-Z $%*+\\\\-./:]+';\n\tvar kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n\t '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n\t '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n\t '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+';\n\tkanji = kanji.replace(/u/g, '\\\\u');\n\n\tvar byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+';\n\n\texports.KANJI = new RegExp(kanji, 'g');\n\texports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g');\n\texports.BYTE = new RegExp(byte, 'g');\n\texports.NUMERIC = new RegExp(numeric, 'g');\n\texports.ALPHANUMERIC = new RegExp(alphanumeric, 'g');\n\n\tvar TEST_KANJI = new RegExp('^' + kanji + '$');\n\tvar TEST_NUMERIC = new RegExp('^' + numeric + '$');\n\tvar TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$');\n\n\texports.testKanji = function testKanji (str) {\n\t return TEST_KANJI.test(str)\n\t};\n\n\texports.testNumeric = function testNumeric (str) {\n\t return TEST_NUMERIC.test(str)\n\t};\n\n\texports.testAlphanumeric = function testAlphanumeric (str) {\n\t return TEST_ALPHANUMERIC.test(str)\n\t};\n\n\t},{}],20:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\tvar NumericData = require('./numeric-data');\n\tvar AlphanumericData = require('./alphanumeric-data');\n\tvar ByteData = require('./byte-data');\n\tvar KanjiData = require('./kanji-data');\n\tvar Regex = require('./regex');\n\tvar Utils = require('./utils');\n\tvar dijkstra = require('dijkstrajs');\n\n\t/**\n\t * Returns UTF8 byte length\n\t *\n\t * @param {String} str Input string\n\t * @return {Number} Number of byte\n\t */\n\tfunction getStringByteLength (str) {\n\t return unescape(encodeURIComponent(str)).length\n\t}\n\n\t/**\n\t * Get a list of segments of the specified mode\n\t * from a string\n\t *\n\t * @param {Mode} mode Segment mode\n\t * @param {String} str String to process\n\t * @return {Array} Array of object with segments data\n\t */\n\tfunction getSegments (regex, mode, str) {\n\t var segments = [];\n\t var result;\n\n\t while ((result = regex.exec(str)) !== null) {\n\t segments.push({\n\t data: result[0],\n\t index: result.index,\n\t mode: mode,\n\t length: result[0].length\n\t });\n\t }\n\n\t return segments\n\t}\n\n\t/**\n\t * Extracts a series of segments with the appropriate\n\t * modes from a string\n\t *\n\t * @param {String} dataStr Input string\n\t * @return {Array} Array of object with segments data\n\t */\n\tfunction getSegmentsFromString (dataStr) {\n\t var numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr);\n\t var alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr);\n\t var byteSegs;\n\t var kanjiSegs;\n\n\t if (Utils.isKanjiModeEnabled()) {\n\t byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr);\n\t kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr);\n\t } else {\n\t byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr);\n\t kanjiSegs = [];\n\t }\n\n\t var segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs);\n\n\t return segs\n\t .sort(function (s1, s2) {\n\t return s1.index - s2.index\n\t })\n\t .map(function (obj) {\n\t return {\n\t data: obj.data,\n\t mode: obj.mode,\n\t length: obj.length\n\t }\n\t })\n\t}\n\n\t/**\n\t * Returns how many bits are needed to encode a string of\n\t * specified length with the specified mode\n\t *\n\t * @param {Number} length String length\n\t * @param {Mode} mode Segment mode\n\t * @return {Number} Bit length\n\t */\n\tfunction getSegmentBitsLength (length, mode) {\n\t switch (mode) {\n\t case Mode.NUMERIC:\n\t return NumericData.getBitsLength(length)\n\t case Mode.ALPHANUMERIC:\n\t return AlphanumericData.getBitsLength(length)\n\t case Mode.KANJI:\n\t return KanjiData.getBitsLength(length)\n\t case Mode.BYTE:\n\t return ByteData.getBitsLength(length)\n\t }\n\t}\n\n\t/**\n\t * Merges adjacent segments which have the same mode\n\t *\n\t * @param {Array} segs Array of object with segments data\n\t * @return {Array} Array of object with segments data\n\t */\n\tfunction mergeSegments (segs) {\n\t return segs.reduce(function (acc, curr) {\n\t var prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null;\n\t if (prevSeg && prevSeg.mode === curr.mode) {\n\t acc[acc.length - 1].data += curr.data;\n\t return acc\n\t }\n\n\t acc.push(curr);\n\t return acc\n\t }, [])\n\t}\n\n\t/**\n\t * Generates a list of all possible nodes combination which\n\t * will be used to build a segments graph.\n\t *\n\t * Nodes are divided by groups. Each group will contain a list of all the modes\n\t * in which is possible to encode the given text.\n\t *\n\t * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n\t * The group for '12345' will contain then 3 objects, one for each\n\t * possible encoding mode.\n\t *\n\t * Each node represents a possible segment.\n\t *\n\t * @param {Array} segs Array of object with segments data\n\t * @return {Array} Array of object with segments data\n\t */\n\tfunction buildNodes (segs) {\n\t var nodes = [];\n\t for (var i = 0; i < segs.length; i++) {\n\t var seg = segs[i];\n\n\t switch (seg.mode) {\n\t case Mode.NUMERIC:\n\t nodes.push([seg,\n\t { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n\t { data: seg.data, mode: Mode.BYTE, length: seg.length }\n\t ]);\n\t break\n\t case Mode.ALPHANUMERIC:\n\t nodes.push([seg,\n\t { data: seg.data, mode: Mode.BYTE, length: seg.length }\n\t ]);\n\t break\n\t case Mode.KANJI:\n\t nodes.push([seg,\n\t { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n\t ]);\n\t break\n\t case Mode.BYTE:\n\t nodes.push([\n\t { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n\t ]);\n\t }\n\t }\n\n\t return nodes\n\t}\n\n\t/**\n\t * Builds a graph from a list of nodes.\n\t * All segments in each node group will be connected with all the segments of\n\t * the next group and so on.\n\t *\n\t * At each connection will be assigned a weight depending on the\n\t * segment's byte length.\n\t *\n\t * @param {Array} nodes Array of object with segments data\n\t * @param {Number} version QR Code version\n\t * @return {Object} Graph of all possible segments\n\t */\n\tfunction buildGraph (nodes, version) {\n\t var table = {};\n\t var graph = {'start': {}};\n\t var prevNodeIds = ['start'];\n\n\t for (var i = 0; i < nodes.length; i++) {\n\t var nodeGroup = nodes[i];\n\t var currentNodeIds = [];\n\n\t for (var j = 0; j < nodeGroup.length; j++) {\n\t var node = nodeGroup[j];\n\t var key = '' + i + j;\n\n\t currentNodeIds.push(key);\n\t table[key] = { node: node, lastCount: 0 };\n\t graph[key] = {};\n\n\t for (var n = 0; n < prevNodeIds.length; n++) {\n\t var prevNodeId = prevNodeIds[n];\n\n\t if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n\t graph[prevNodeId][key] =\n\t getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n\t getSegmentBitsLength(table[prevNodeId].lastCount, node.mode);\n\n\t table[prevNodeId].lastCount += node.length;\n\t } else {\n\t if (table[prevNodeId]) table[prevNodeId].lastCount = node.length;\n\n\t graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n\t 4 + Mode.getCharCountIndicator(node.mode, version); // switch cost\n\t }\n\t }\n\t }\n\n\t prevNodeIds = currentNodeIds;\n\t }\n\n\t for (n = 0; n < prevNodeIds.length; n++) {\n\t graph[prevNodeIds[n]]['end'] = 0;\n\t }\n\n\t return { map: graph, table: table }\n\t}\n\n\t/**\n\t * Builds a segment from a specified data and mode.\n\t * If a mode is not specified, the more suitable will be used.\n\t *\n\t * @param {String} data Input data\n\t * @param {Mode | String} modesHint Data mode\n\t * @return {Segment} Segment\n\t */\n\tfunction buildSingleSegment (data, modesHint) {\n\t var mode;\n\t var bestMode = Mode.getBestModeForData(data);\n\n\t mode = Mode.from(modesHint, bestMode);\n\n\t // Make sure data can be encoded\n\t if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n\t throw new Error('\"' + data + '\"' +\n\t ' cannot be encoded with mode ' + Mode.toString(mode) +\n\t '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n\t }\n\n\t // Use Mode.BYTE if Kanji support is disabled\n\t if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n\t mode = Mode.BYTE;\n\t }\n\n\t switch (mode) {\n\t case Mode.NUMERIC:\n\t return new NumericData(data)\n\n\t case Mode.ALPHANUMERIC:\n\t return new AlphanumericData(data)\n\n\t case Mode.KANJI:\n\t return new KanjiData(data)\n\n\t case Mode.BYTE:\n\t return new ByteData(data)\n\t }\n\t}\n\n\t/**\n\t * Builds a list of segments from an array.\n\t * Array can contain Strings or Objects with segment's info.\n\t *\n\t * For each item which is a string, will be generated a segment with the given\n\t * string and the more appropriate encoding mode.\n\t *\n\t * For each item which is an object, will be generated a segment with the given\n\t * data and mode.\n\t * Objects must contain at least the property \"data\".\n\t * If property \"mode\" is not present, the more suitable mode will be used.\n\t *\n\t * @param {Array} array Array of objects with segments data\n\t * @return {Array} Array of Segments\n\t */\n\texports.fromArray = function fromArray (array) {\n\t return array.reduce(function (acc, seg) {\n\t if (typeof seg === 'string') {\n\t acc.push(buildSingleSegment(seg, null));\n\t } else if (seg.data) {\n\t acc.push(buildSingleSegment(seg.data, seg.mode));\n\t }\n\n\t return acc\n\t }, [])\n\t};\n\n\t/**\n\t * Builds an optimized sequence of segments from a string,\n\t * which will produce the shortest possible bitstream.\n\t *\n\t * @param {String} data Input string\n\t * @param {Number} version QR Code version\n\t * @return {Array} Array of segments\n\t */\n\texports.fromString = function fromString (data, version) {\n\t var segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled());\n\n\t var nodes = buildNodes(segs);\n\t var graph = buildGraph(nodes, version);\n\t var path = dijkstra.find_path(graph.map, 'start', 'end');\n\n\t var optimizedSegs = [];\n\t for (var i = 1; i < path.length - 1; i++) {\n\t optimizedSegs.push(graph.table[path[i]].node);\n\t }\n\n\t return exports.fromArray(mergeSegments(optimizedSegs))\n\t};\n\n\t/**\n\t * Splits a string in various segments with the modes which\n\t * best represent their content.\n\t * The produced segments are far from being optimized.\n\t * The output of this function is only used to estimate a QR Code version\n\t * which may contain the data.\n\t *\n\t * @param {string} data Input string\n\t * @return {Array} Array of segments\n\t */\n\texports.rawSplit = function rawSplit (data) {\n\t return exports.fromArray(\n\t getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\t )\n\t};\n\n\t},{\"./alphanumeric-data\":3,\"./byte-data\":6,\"./kanji-data\":12,\"./mode\":14,\"./numeric-data\":15,\"./regex\":19,\"./utils\":21,\"dijkstrajs\":31}],21:[function(require,module,exports){\n\tvar toSJISFunction;\n\tvar CODEWORDS_COUNT = [\n\t 0, // Not used\n\t 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n\t 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n\t 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n\t 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n\t];\n\n\t/**\n\t * Returns the QR Code size for the specified version\n\t *\n\t * @param {Number} version QR Code version\n\t * @return {Number} size of QR code\n\t */\n\texports.getSymbolSize = function getSymbolSize (version) {\n\t if (!version) throw new Error('\"version\" cannot be null or undefined')\n\t if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n\t return version * 4 + 17\n\t};\n\n\t/**\n\t * Returns the total number of codewords used to store data and EC information.\n\t *\n\t * @param {Number} version QR Code version\n\t * @return {Number} Data length in bits\n\t */\n\texports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n\t return CODEWORDS_COUNT[version]\n\t};\n\n\t/**\n\t * Encode data with Bose-Chaudhuri-Hocquenghem\n\t *\n\t * @param {Number} data Value to encode\n\t * @return {Number} Encoded value\n\t */\n\texports.getBCHDigit = function (data) {\n\t var digit = 0;\n\n\t while (data !== 0) {\n\t digit++;\n\t data >>>= 1;\n\t }\n\n\t return digit\n\t};\n\n\texports.setToSJISFunction = function setToSJISFunction (f) {\n\t if (typeof f !== 'function') {\n\t throw new Error('\"toSJISFunc\" is not a valid function.')\n\t }\n\n\t toSJISFunction = f;\n\t};\n\n\texports.isKanjiModeEnabled = function () {\n\t return typeof toSJISFunction !== 'undefined'\n\t};\n\n\texports.toSJIS = function toSJIS (kanji) {\n\t return toSJISFunction(kanji)\n\t};\n\n\t},{}],22:[function(require,module,exports){\n\t/**\n\t * Check if QR Code version is valid\n\t *\n\t * @param {Number} version QR Code version\n\t * @return {Boolean} true if valid version, false otherwise\n\t */\n\texports.isValid = function isValid (version) {\n\t return !isNaN(version) && version >= 1 && version <= 40\n\t};\n\n\t},{}],23:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\tvar ECCode = require('./error-correction-code');\n\tvar ECLevel = require('./error-correction-level');\n\tvar Mode = require('./mode');\n\tvar VersionCheck = require('./version-check');\n\tvar isArray = require('isarray');\n\n\t// Generator polynomial used to encode version information\n\tvar G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0);\n\tvar G18_BCH = Utils.getBCHDigit(G18);\n\n\tfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n\t for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n\t if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n\t return currentVersion\n\t }\n\t }\n\n\t return undefined\n\t}\n\n\tfunction getReservedBitsCount (mode, version) {\n\t // Character count indicator + mode indicator bits\n\t return Mode.getCharCountIndicator(mode, version) + 4\n\t}\n\n\tfunction getTotalBitsFromDataArray (segments, version) {\n\t var totalBits = 0;\n\n\t segments.forEach(function (data) {\n\t var reservedBits = getReservedBitsCount(data.mode, version);\n\t totalBits += reservedBits + data.getBitsLength();\n\t });\n\n\t return totalBits\n\t}\n\n\tfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n\t for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n\t var length = getTotalBitsFromDataArray(segments, currentVersion);\n\t if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n\t return currentVersion\n\t }\n\t }\n\n\t return undefined\n\t}\n\n\t/**\n\t * Returns version number from a value.\n\t * If value is not a valid version, returns defaultValue\n\t *\n\t * @param {Number|String} value QR Code version\n\t * @param {Number} defaultValue Fallback value\n\t * @return {Number} QR Code version number\n\t */\n\texports.from = function from (value, defaultValue) {\n\t if (VersionCheck.isValid(value)) {\n\t return parseInt(value, 10)\n\t }\n\n\t return defaultValue\n\t};\n\n\t/**\n\t * Returns how much data can be stored with the specified QR code version\n\t * and error correction level\n\t *\n\t * @param {Number} version QR Code version (1-40)\n\t * @param {Number} errorCorrectionLevel Error correction level\n\t * @param {Mode} mode Data mode\n\t * @return {Number} Quantity of storable data\n\t */\n\texports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n\t if (!VersionCheck.isValid(version)) {\n\t throw new Error('Invalid QR Code version')\n\t }\n\n\t // Use Byte mode as default\n\t if (typeof mode === 'undefined') mode = Mode.BYTE;\n\n\t // Total codewords for this QR code version (Data + Error correction)\n\t var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n\t // Total number of error correction codewords\n\t var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n\t // Total number of data codewords\n\t var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n\t if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n\t var usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version);\n\n\t // Return max number of storable codewords\n\t switch (mode) {\n\t case Mode.NUMERIC:\n\t return Math.floor((usableBits / 10) * 3)\n\n\t case Mode.ALPHANUMERIC:\n\t return Math.floor((usableBits / 11) * 2)\n\n\t case Mode.KANJI:\n\t return Math.floor(usableBits / 13)\n\n\t case Mode.BYTE:\n\t default:\n\t return Math.floor(usableBits / 8)\n\t }\n\t};\n\n\t/**\n\t * Returns the minimum version needed to contain the amount of data\n\t *\n\t * @param {Segment} data Segment of data\n\t * @param {Number} [errorCorrectionLevel=H] Error correction level\n\t * @param {Mode} mode Data mode\n\t * @return {Number} QR Code version\n\t */\n\texports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n\t var seg;\n\n\t var ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M);\n\n\t if (isArray(data)) {\n\t if (data.length > 1) {\n\t return getBestVersionForMixedData(data, ecl)\n\t }\n\n\t if (data.length === 0) {\n\t return 1\n\t }\n\n\t seg = data[0];\n\t } else {\n\t seg = data;\n\t }\n\n\t return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n\t};\n\n\t/**\n\t * Returns version information with relative error correction bits\n\t *\n\t * The version information is included in QR Code symbols of version 7 or larger.\n\t * It consists of an 18-bit sequence containing 6 data bits,\n\t * with 12 error correction bits calculated using the (18, 6) Golay code.\n\t *\n\t * @param {Number} version QR Code version\n\t * @return {Number} Encoded version info bits\n\t */\n\texports.getEncodedBits = function getEncodedBits (version) {\n\t if (!VersionCheck.isValid(version) || version < 7) {\n\t throw new Error('Invalid QR Code version')\n\t }\n\n\t var d = version << 12;\n\n\t while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n\t d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH));\n\t }\n\n\t return (version << 12) | d\n\t};\n\n\t},{\"./error-correction-code\":7,\"./error-correction-level\":8,\"./mode\":14,\"./utils\":21,\"./version-check\":22,\"isarray\":33}],24:[function(require,module,exports){\n\n\tvar canPromise = require('./can-promise');\n\n\tvar QRCode = require('./core/qrcode');\n\tvar CanvasRenderer = require('./renderer/canvas');\n\tvar SvgRenderer = require('./renderer/svg-tag.js');\n\n\tfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n\t var args = [].slice.call(arguments, 1);\n\t var argsNum = args.length;\n\t var isLastArgCb = typeof args[argsNum - 1] === 'function';\n\n\t if (!isLastArgCb && !canPromise()) {\n\t throw new Error('Callback required as last argument')\n\t }\n\n\t if (isLastArgCb) {\n\t if (argsNum < 2) {\n\t throw new Error('Too few arguments provided')\n\t }\n\n\t if (argsNum === 2) {\n\t cb = text;\n\t text = canvas;\n\t canvas = opts = undefined;\n\t } else if (argsNum === 3) {\n\t if (canvas.getContext && typeof cb === 'undefined') {\n\t cb = opts;\n\t opts = undefined;\n\t } else {\n\t cb = opts;\n\t opts = text;\n\t text = canvas;\n\t canvas = undefined;\n\t }\n\t }\n\t } else {\n\t if (argsNum < 1) {\n\t throw new Error('Too few arguments provided')\n\t }\n\n\t if (argsNum === 1) {\n\t text = canvas;\n\t canvas = opts = undefined;\n\t } else if (argsNum === 2 && !canvas.getContext) {\n\t opts = text;\n\t text = canvas;\n\t canvas = undefined;\n\t }\n\n\t return new Promise(function (resolve, reject) {\n\t try {\n\t var data = QRCode.create(text, opts);\n\t resolve(renderFunc(data, canvas, opts));\n\t } catch (e) {\n\t reject(e);\n\t }\n\t })\n\t }\n\n\t try {\n\t var data = QRCode.create(text, opts);\n\t cb(null, renderFunc(data, canvas, opts));\n\t } catch (e) {\n\t cb(e);\n\t }\n\t}\n\n\texports.create = QRCode.create;\n\texports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render);\n\texports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL);\n\n\t// only svg for now.\n\texports.toString = renderCanvas.bind(null, function (data, _, opts) {\n\t return SvgRenderer.render(data, opts)\n\t});\n\n\t},{\"./can-promise\":1,\"./core/qrcode\":17,\"./renderer/canvas\":25,\"./renderer/svg-tag.js\":26}],25:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\n\tfunction clearCanvas (ctx, canvas, size) {\n\t ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n\t if (!canvas.style) canvas.style = {};\n\t canvas.height = size;\n\t canvas.width = size;\n\t canvas.style.height = size + 'px';\n\t canvas.style.width = size + 'px';\n\t}\n\n\tfunction getCanvasElement () {\n\t try {\n\t return document.createElement('canvas')\n\t } catch (e) {\n\t throw new Error('You need to specify a canvas element')\n\t }\n\t}\n\n\texports.render = function render (qrData, canvas, options) {\n\t var opts = options;\n\t var canvasEl = canvas;\n\n\t if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n\t opts = canvas;\n\t canvas = undefined;\n\t }\n\n\t if (!canvas) {\n\t canvasEl = getCanvasElement();\n\t }\n\n\t opts = Utils.getOptions(opts);\n\t var size = Utils.getImageWidth(qrData.modules.size, opts);\n\n\t var ctx = canvasEl.getContext('2d');\n\t var image = ctx.createImageData(size, size);\n\t Utils.qrToImageData(image.data, qrData, opts);\n\n\t clearCanvas(ctx, canvasEl, size);\n\t ctx.putImageData(image, 0, 0);\n\n\t return canvasEl\n\t};\n\n\texports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n\t var opts = options;\n\n\t if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n\t opts = canvas;\n\t canvas = undefined;\n\t }\n\n\t if (!opts) opts = {};\n\n\t var canvasEl = exports.render(qrData, canvas, opts);\n\n\t var type = opts.type || 'image/png';\n\t var rendererOpts = opts.rendererOpts || {};\n\n\t return canvasEl.toDataURL(type, rendererOpts.quality)\n\t};\n\n\t},{\"./utils\":27}],26:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\n\tfunction getColorAttrib (color, attrib) {\n\t var alpha = color.a / 255;\n\t var str = attrib + '=\"' + color.hex + '\"';\n\n\t return alpha < 1\n\t ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n\t : str\n\t}\n\n\tfunction svgCmd (cmd, x, y) {\n\t var str = cmd + x;\n\t if (typeof y !== 'undefined') str += ' ' + y;\n\n\t return str\n\t}\n\n\tfunction qrToPath (data, size, margin) {\n\t var path = '';\n\t var moveBy = 0;\n\t var newRow = false;\n\t var lineLength = 0;\n\n\t for (var i = 0; i < data.length; i++) {\n\t var col = Math.floor(i % size);\n\t var row = Math.floor(i / size);\n\n\t if (!col && !newRow) newRow = true;\n\n\t if (data[i]) {\n\t lineLength++;\n\n\t if (!(i > 0 && col > 0 && data[i - 1])) {\n\t path += newRow\n\t ? svgCmd('M', col + margin, 0.5 + row + margin)\n\t : svgCmd('m', moveBy, 0);\n\n\t moveBy = 0;\n\t newRow = false;\n\t }\n\n\t if (!(col + 1 < size && data[i + 1])) {\n\t path += svgCmd('h', lineLength);\n\t lineLength = 0;\n\t }\n\t } else {\n\t moveBy++;\n\t }\n\t }\n\n\t return path\n\t}\n\n\texports.render = function render (qrData, options, cb) {\n\t var opts = Utils.getOptions(options);\n\t var size = qrData.modules.size;\n\t var data = qrData.modules.data;\n\t var qrcodesize = size + opts.margin * 2;\n\n\t var bg = !opts.color.light.a\n\t ? ''\n\t : '<path ' + getColorAttrib(opts.color.light, 'fill') +\n\t ' d=\"M0 0h' + qrcodesize + 'v' + qrcodesize + 'H0z\"/>';\n\n\t var path =\n\t '<path ' + getColorAttrib(opts.color.dark, 'stroke') +\n\t ' d=\"' + qrToPath(data, size, opts.margin) + '\"/>';\n\n\t var viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"';\n\n\t var width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" ';\n\n\t var svgTag = '<svg xmlns=\"http://www.w3.org/2000/svg\" ' + width + viewBox + ' shape-rendering=\"crispEdges\">' + bg + path + '</svg>\\n';\n\n\t if (typeof cb === 'function') {\n\t cb(null, svgTag);\n\t }\n\n\t return svgTag\n\t};\n\n\t},{\"./utils\":27}],27:[function(require,module,exports){\n\tfunction hex2rgba (hex) {\n\t if (typeof hex === 'number') {\n\t hex = hex.toString();\n\t }\n\n\t if (typeof hex !== 'string') {\n\t throw new Error('Color should be defined as hex string')\n\t }\n\n\t var hexCode = hex.slice().replace('#', '').split('');\n\t if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n\t throw new Error('Invalid hex color: ' + hex)\n\t }\n\n\t // Convert from short to long form (fff -> ffffff)\n\t if (hexCode.length === 3 || hexCode.length === 4) {\n\t hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n\t return [c, c]\n\t }));\n\t }\n\n\t // Add default alpha value\n\t if (hexCode.length === 6) hexCode.push('F', 'F');\n\n\t var hexValue = parseInt(hexCode.join(''), 16);\n\n\t return {\n\t r: (hexValue >> 24) & 255,\n\t g: (hexValue >> 16) & 255,\n\t b: (hexValue >> 8) & 255,\n\t a: hexValue & 255,\n\t hex: '#' + hexCode.slice(0, 6).join('')\n\t }\n\t}\n\n\texports.getOptions = function getOptions (options) {\n\t if (!options) options = {};\n\t if (!options.color) options.color = {};\n\n\t var margin = typeof options.margin === 'undefined' ||\n\t options.margin === null ||\n\t options.margin < 0 ? 4 : options.margin;\n\n\t var width = options.width && options.width >= 21 ? options.width : undefined;\n\t var scale = options.scale || 4;\n\n\t return {\n\t width: width,\n\t scale: width ? 4 : scale,\n\t margin: margin,\n\t color: {\n\t dark: hex2rgba(options.color.dark || '#000000ff'),\n\t light: hex2rgba(options.color.light || '#ffffffff')\n\t },\n\t type: options.type,\n\t rendererOpts: options.rendererOpts || {}\n\t }\n\t};\n\n\texports.getScale = function getScale (qrSize, opts) {\n\t return opts.width && opts.width >= qrSize + opts.margin * 2\n\t ? opts.width / (qrSize + opts.margin * 2)\n\t : opts.scale\n\t};\n\n\texports.getImageWidth = function getImageWidth (qrSize, opts) {\n\t var scale = exports.getScale(qrSize, opts);\n\t return Math.floor((qrSize + opts.margin * 2) * scale)\n\t};\n\n\texports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n\t var size = qr.modules.size;\n\t var data = qr.modules.data;\n\t var scale = exports.getScale(size, opts);\n\t var symbolSize = Math.floor((size + opts.margin * 2) * scale);\n\t var scaledMargin = opts.margin * scale;\n\t var palette = [opts.color.light, opts.color.dark];\n\n\t for (var i = 0; i < symbolSize; i++) {\n\t for (var j = 0; j < symbolSize; j++) {\n\t var posDst = (i * symbolSize + j) * 4;\n\t var pxColor = opts.color.light;\n\n\t if (i >= scaledMargin && j >= scaledMargin &&\n\t i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n\t var iSrc = Math.floor((i - scaledMargin) / scale);\n\t var jSrc = Math.floor((j - scaledMargin) / scale);\n\t pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0];\n\t }\n\n\t imgData[posDst++] = pxColor.r;\n\t imgData[posDst++] = pxColor.g;\n\t imgData[posDst++] = pxColor.b;\n\t imgData[posDst] = pxColor.a;\n\t }\n\t }\n\t};\n\n\t},{}],28:[function(require,module,exports){\n\n\tvar isArray = require('isarray');\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances be augmented?\n\t try {\n\t var arr = new Uint8Array(1);\n\t arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }};\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tvar K_MAX_LENGTH = Buffer.TYPED_ARRAY_SUPPORT\n\t ? 0x7fffffff\n\t : 0x3fffffff;\n\n\tfunction Buffer (arg, offset, length) {\n\t if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n\t return new Buffer(arg, offset, length)\n\t }\n\n\t if (typeof arg === 'number') {\n\t return allocUnsafe(this, arg)\n\t }\n\n\t return from(this, arg, offset, length)\n\t}\n\n\tif (Buffer.TYPED_ARRAY_SUPPORT) {\n\t Buffer.prototype.__proto__ = Uint8Array.prototype;\n\t Buffer.__proto__ = Uint8Array;\n\n\t // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n\t if (typeof Symbol !== 'undefined' && Symbol.species &&\n\t Buffer[Symbol.species] === Buffer) {\n\t Object.defineProperty(Buffer, Symbol.species, {\n\t value: null,\n\t configurable: true,\n\t enumerable: false,\n\t writable: false\n\t });\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction isnan (val) {\n\t return val !== val // eslint-disable-line no-self-compare\n\t}\n\n\tfunction createBuffer (that, length) {\n\t var buf;\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t buf = new Uint8Array(length);\n\t buf.__proto__ = Buffer.prototype;\n\t } else {\n\t // Fallback: Return an object instance of the Buffer class\n\t buf = that;\n\t if (buf === null) {\n\t buf = new Buffer(length);\n\t }\n\t buf.length = length;\n\t }\n\n\t return buf\n\t}\n\n\tfunction allocUnsafe (that, size) {\n\t var buf = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n\n\t if (!Buffer.TYPED_ARRAY_SUPPORT) {\n\t for (var i = 0; i < size; ++i) {\n\t buf[i] = 0;\n\t }\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromString (that, string) {\n\t var length = byteLength(string) | 0;\n\t var buf = createBuffer(that, length);\n\n\t var actual = buf.write(string);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (that, array) {\n\t var length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t var buf = createBuffer(that, length);\n\t for (var i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayBuffer (that, array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\\'offset\\' is out of bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\\'length\\' is out of bounds')\n\t }\n\n\t var buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new Uint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new Uint8Array(array, byteOffset);\n\t } else {\n\t buf = new Uint8Array(array, byteOffset, length);\n\t }\n\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t // Return an augmented `Uint8Array` instance, for best performance\n\t buf.__proto__ = Buffer.prototype;\n\t } else {\n\t // Fallback: Return an object instance of the Buffer class\n\t buf = fromArrayLike(that, buf);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromObject (that, obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t var len = checked(obj.length) | 0;\n\t var buf = createBuffer(that, len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj) {\n\t if ((typeof ArrayBuffer !== 'undefined' &&\n\t obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n\t if (typeof obj.length !== 'number' || isnan(obj.length)) {\n\t return createBuffer(that, 0)\n\t }\n\t return fromArrayLike(that, obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(that, obj.data)\n\t }\n\t }\n\n\t throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t var codePoint;\n\t var length = string.length;\n\t var leadSurrogate = null;\n\t var bytes = [];\n\n\t for (var i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction byteLength (string) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n\t (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t string = '' + string;\n\t }\n\n\t var len = string.length;\n\t if (len === 0) return 0\n\n\t return utf8ToBytes(string).length\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t for (var i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction from (that, value, offset, length) {\n\t if (typeof value === 'number') {\n\t throw new TypeError('\"value\" argument must not be a number')\n\t }\n\n\t if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n\t return fromArrayBuffer(that, value, offset, length)\n\t }\n\n\t if (typeof value === 'string') {\n\t return fromString(that, value)\n\t }\n\n\t return fromObject(that, value)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length])\n\t } else if (isFinite(offset)) {\n\t offset = offset | 0;\n\t if (isFinite(length)) {\n\t length = length | 0;\n\t } else {\n\t length = undefined;\n\t }\n\t }\n\n\t var remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t return utf8Write(this, string, offset, length)\n\t};\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t var len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t var newBuf;\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t newBuf.__proto__ = Buffer.prototype;\n\t } else {\n\t var sliceLen = end - start;\n\t newBuf = new Buffer(sliceLen, undefined);\n\t for (var i = 0; i < sliceLen; ++i) {\n\t newBuf[i] = this[i + start];\n\t }\n\t }\n\n\t return newBuf\n\t};\n\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t var len = end - start;\n\t var i;\n\n\t if (this === target && start < targetStart && targetStart < end) {\n\t // descending copy from end\n\t for (i = len - 1; i >= 0; --i) {\n\t target[i + targetStart] = this[i + start];\n\t }\n\t } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n\t // ascending copy from start\n\t for (i = 0; i < len; ++i) {\n\t target[i + targetStart] = this[i + start];\n\t }\n\t } else {\n\t Uint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, start + len),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\tBuffer.prototype.fill = function fill (val, start, end) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t end = this.length;\n\t }\n\t if (val.length === 1) {\n\t var code = val.charCodeAt(0);\n\t if (code < 256) {\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t var i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t var bytes = Buffer.isBuffer(val)\n\t ? val\n\t : new Buffer(val);\n\t var len = bytes.length;\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return createBuffer(null, 0)\n\t }\n\n\t var i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t var buffer = allocUnsafe(null, length);\n\t var pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t var buf = list[i];\n\t if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\t buf.copy(buffer, pos);\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tBuffer.byteLength = byteLength;\n\n\tBuffer.prototype._isBuffer = true;\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return !!(b != null && b._isBuffer)\n\t};\n\n\tmodule.exports.alloc = function (size) {\n\t var buffer = new Buffer(size);\n\t buffer.fill(0);\n\t return buffer\n\t};\n\n\tmodule.exports.from = function (data) {\n\t return new Buffer(data)\n\t};\n\n\t},{\"isarray\":33}],29:[function(require,module,exports){\n\n\texports.byteLength = byteLength;\n\texports.toByteArray = toByteArray;\n\texports.fromByteArray = fromByteArray;\n\n\tvar lookup = [];\n\tvar revLookup = [];\n\tvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\n\tvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\tfor (var i = 0, len = code.length; i < len; ++i) {\n\t lookup[i] = code[i];\n\t revLookup[code.charCodeAt(i)] = i;\n\t}\n\n\t// Support decoding URL-safe base64 strings, as Node.js does.\n\t// See: https://en.wikipedia.org/wiki/Base64#URL_applications\n\trevLookup['-'.charCodeAt(0)] = 62;\n\trevLookup['_'.charCodeAt(0)] = 63;\n\n\tfunction getLens (b64) {\n\t var len = b64.length;\n\n\t if (len % 4 > 0) {\n\t throw new Error('Invalid string. Length must be a multiple of 4')\n\t }\n\n\t // Trim off extra bytes after placeholder bytes are found\n\t // See: https://github.com/beatgammit/base64-js/issues/42\n\t var validLen = b64.indexOf('=');\n\t if (validLen === -1) validLen = len;\n\n\t var placeHoldersLen = validLen === len\n\t ? 0\n\t : 4 - (validLen % 4);\n\n\t return [validLen, placeHoldersLen]\n\t}\n\n\t// base64 is 4/3 + up to two characters of the original data\n\tfunction byteLength (b64) {\n\t var lens = getLens(b64);\n\t var validLen = lens[0];\n\t var placeHoldersLen = lens[1];\n\t return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n\t}\n\n\tfunction _byteLength (b64, validLen, placeHoldersLen) {\n\t return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n\t}\n\n\tfunction toByteArray (b64) {\n\t var tmp;\n\t var lens = getLens(b64);\n\t var validLen = lens[0];\n\t var placeHoldersLen = lens[1];\n\n\t var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n\t var curByte = 0;\n\n\t // if there are placeholders, only get up to the last complete 4 chars\n\t var len = placeHoldersLen > 0\n\t ? validLen - 4\n\t : validLen;\n\n\t var i;\n\t for (i = 0; i < len; i += 4) {\n\t tmp =\n\t (revLookup[b64.charCodeAt(i)] << 18) |\n\t (revLookup[b64.charCodeAt(i + 1)] << 12) |\n\t (revLookup[b64.charCodeAt(i + 2)] << 6) |\n\t revLookup[b64.charCodeAt(i + 3)];\n\t arr[curByte++] = (tmp >> 16) & 0xFF;\n\t arr[curByte++] = (tmp >> 8) & 0xFF;\n\t arr[curByte++] = tmp & 0xFF;\n\t }\n\n\t if (placeHoldersLen === 2) {\n\t tmp =\n\t (revLookup[b64.charCodeAt(i)] << 2) |\n\t (revLookup[b64.charCodeAt(i + 1)] >> 4);\n\t arr[curByte++] = tmp & 0xFF;\n\t }\n\n\t if (placeHoldersLen === 1) {\n\t tmp =\n\t (revLookup[b64.charCodeAt(i)] << 10) |\n\t (revLookup[b64.charCodeAt(i + 1)] << 4) |\n\t (revLookup[b64.charCodeAt(i + 2)] >> 2);\n\t arr[curByte++] = (tmp >> 8) & 0xFF;\n\t arr[curByte++] = tmp & 0xFF;\n\t }\n\n\t return arr\n\t}\n\n\tfunction tripletToBase64 (num) {\n\t return lookup[num >> 18 & 0x3F] +\n\t lookup[num >> 12 & 0x3F] +\n\t lookup[num >> 6 & 0x3F] +\n\t lookup[num & 0x3F]\n\t}\n\n\tfunction encodeChunk (uint8, start, end) {\n\t var tmp;\n\t var output = [];\n\t for (var i = start; i < end; i += 3) {\n\t tmp =\n\t ((uint8[i] << 16) & 0xFF0000) +\n\t ((uint8[i + 1] << 8) & 0xFF00) +\n\t (uint8[i + 2] & 0xFF);\n\t output.push(tripletToBase64(tmp));\n\t }\n\t return output.join('')\n\t}\n\n\tfunction fromByteArray (uint8) {\n\t var tmp;\n\t var len = uint8.length;\n\t var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n\t var parts = [];\n\t var maxChunkLength = 16383; // must be multiple of 3\n\n\t // go through the array every three bytes, we'll deal with trailing stuff later\n\t for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n\t parts.push(encodeChunk(\n\t uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n\t ));\n\t }\n\n\t // pad the end with zeros, but make sure to not forget the extra bytes\n\t if (extraBytes === 1) {\n\t tmp = uint8[len - 1];\n\t parts.push(\n\t lookup[tmp >> 2] +\n\t lookup[(tmp << 4) & 0x3F] +\n\t '=='\n\t );\n\t } else if (extraBytes === 2) {\n\t tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n\t parts.push(\n\t lookup[tmp >> 10] +\n\t lookup[(tmp >> 4) & 0x3F] +\n\t lookup[(tmp << 2) & 0x3F] +\n\t '='\n\t );\n\t }\n\n\t return parts.join('')\n\t}\n\n\t},{}],30:[function(require,module,exports){\n\n\tvar base64 = require('base64-js');\n\tvar ieee754 = require('ieee754');\n\tvar customInspectSymbol =\n\t (typeof Symbol === 'function' && typeof Symbol.for === 'function')\n\t ? Symbol.for('nodejs.util.inspect.custom')\n\t : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tvar K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Print warning and recommend using `buffer` v4.x which has an Object\n\t * implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t typeof console.error === 'function') {\n\t console.error(\n\t 'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t );\n\t}\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances can be augmented?\n\t try {\n\t var arr = new Uint8Array(1);\n\t var proto = { foo: function () { return 42 } };\n\t Object.setPrototypeOf(proto, Uint8Array.prototype);\n\t Object.setPrototypeOf(arr, proto);\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.buffer\n\t }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.byteOffset\n\t }\n\t});\n\n\tfunction createBuffer (length) {\n\t if (length > K_MAX_LENGTH) {\n\t throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t }\n\t // Return an augmented `Uint8Array` instance\n\t var buf = new Uint8Array(length);\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\t return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be of type string. Received type number'\n\t )\n\t }\n\t return allocUnsafe(arg)\n\t }\n\t return from(arg, encodingOrOffset, length)\n\t}\n\n\t// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n\tif (typeof Symbol !== 'undefined' && Symbol.species != null &&\n\t Buffer[Symbol.species] === Buffer) {\n\t Object.defineProperty(Buffer, Symbol.species, {\n\t value: null,\n\t configurable: true,\n\t enumerable: false,\n\t writable: false\n\t });\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t if (typeof value === 'string') {\n\t return fromString(value, encodingOrOffset)\n\t }\n\n\t if (ArrayBuffer.isView(value)) {\n\t return fromArrayLike(value)\n\t }\n\n\t if (value == null) {\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t }\n\n\t if (isInstance(value, ArrayBuffer) ||\n\t (value && isInstance(value.buffer, ArrayBuffer))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof value === 'number') {\n\t throw new TypeError(\n\t 'The \"value\" argument must not be of type number. Received type number'\n\t )\n\t }\n\n\t var valueOf = value.valueOf && value.valueOf();\n\t if (valueOf != null && valueOf !== value) {\n\t return Buffer.from(valueOf, encodingOrOffset, length)\n\t }\n\n\t var b = fromObject(value);\n\t if (b) return b\n\n\t if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t typeof value[Symbol.toPrimitive] === 'function') {\n\t return Buffer.from(\n\t value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n\t )\n\t }\n\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, Uint8Array);\n\n\tfunction assertSize (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be of type number')\n\t } else if (size < 0) {\n\t throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(size)\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpretted as a start offset.\n\t return typeof encoding === 'string'\n\t ? createBuffer(size).fill(fill, encoding)\n\t : createBuffer(size).fill(fill)\n\t }\n\t return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t assertSize(size);\n\t return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\n\t var length = byteLength(string, encoding) | 0;\n\t var buf = createBuffer(length);\n\n\t var actual = buf.write(string, encoding);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t var length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t var buf = createBuffer(length);\n\t for (var i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\"offset\" is outside of buffer bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\"length\" is outside of buffer bounds')\n\t }\n\n\t var buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new Uint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new Uint8Array(array, byteOffset);\n\t } else {\n\t buf = new Uint8Array(array, byteOffset, length);\n\t }\n\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t var len = checked(obj.length) | 0;\n\t var buf = createBuffer(len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj.length !== undefined) {\n\t if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t return createBuffer(0)\n\t }\n\t return fromArrayLike(obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(obj.data)\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t if (+length != length) { // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return b != null && b._isBuffer === true &&\n\t b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError(\n\t 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t )\n\t }\n\n\t if (a === b) return 0\n\n\t var x = a.length;\n\t var y = b.length;\n\n\t for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true\n\t default:\n\t return false\n\t }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!Array.isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return Buffer.alloc(0)\n\t }\n\n\t var i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t var buffer = Buffer.allocUnsafe(length);\n\t var pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t var buf = list[i];\n\t if (isInstance(buf, Uint8Array)) {\n\t buf = Buffer.from(buf);\n\t }\n\t if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\t buf.copy(buffer, pos);\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t 'Received type ' + typeof string\n\t )\n\t }\n\n\t var len = string.length;\n\t var mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t if (!mustMatch && len === 0) return 0\n\n\t // Use a for loop to avoid recursion\n\t var loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8ToBytes(string).length\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2\n\t case 'hex':\n\t return len >>> 1\n\t case 'base64':\n\t return base64ToBytes(string).length\n\t default:\n\t if (loweredCase) {\n\t return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t }\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t var loweredCase = false;\n\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return ''\n\t }\n\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\n\t if (end <= 0) {\n\t return ''\n\t }\n\n\t // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\n\t if (end <= start) {\n\t return ''\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end)\n\n\t case 'ascii':\n\t return asciiSlice(this, start, end)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end)\n\n\t case 'base64':\n\t return base64Slice(this, start, end)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t var i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t var len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t }\n\t for (var i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t var len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t }\n\t for (var i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t var len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t }\n\t for (var i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t var length = this.length;\n\t if (length === 0) return ''\n\t if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t if (this === b) return true\n\t return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t var str = '';\n\t var max = exports.INSPECT_MAX_BYTES;\n\t str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t if (this.length > max) str += ' ... ';\n\t return '<Buffer ' + str + '>'\n\t};\n\tif (customInspectSymbol) {\n\t Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t if (isInstance(target, Uint8Array)) {\n\t target = Buffer.from(target, target.offset, target.byteLength);\n\t }\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError(\n\t 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t 'Received type ' + (typeof target)\n\t )\n\t }\n\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index')\n\t }\n\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1\n\t }\n\t if (start >= end) {\n\t return 1\n\t }\n\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\n\t if (this === target) return 0\n\n\t var x = thisEnd - thisStart;\n\t var y = end - start;\n\t var len = Math.min(x, y);\n\n\t var thisCopy = this.slice(thisStart, thisEnd);\n\t var targetCopy = target.slice(start, end);\n\n\t for (var i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1\n\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (numberIsNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : (buffer.length - 1);\n\t }\n\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1\n\t else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;\n\t else return -1\n\t }\n\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (typeof Uint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t } else {\n\t return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t }\n\n\t throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t var indexSize = 1;\n\t var arrLength = arr.length;\n\t var valLength = val.length;\n\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\n\t function read (buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i]\n\t } else {\n\t return buf.readUInt16BE(i * indexSize)\n\t }\n\t }\n\n\t var i;\n\t if (dir) {\n\t var foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t var found = true;\n\t for (var j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break\n\t }\n\t }\n\t if (found) return i\n\t }\n\t }\n\n\t return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t var remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\n\t var strLen = string.length;\n\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t for (var i = 0; i < length; ++i) {\n\t var parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (numberIsNaN(parsed)) return i\n\t buf[offset + i] = parsed;\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction latin1Write (buf, string, offset, length) {\n\t return asciiWrite(buf, string, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset >>> 0;\n\t if (isFinite(length)) {\n\t length = length >>> 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t } else {\n\t throw new Error(\n\t 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t )\n\t }\n\n\t var remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t var loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length)\n\n\t case 'ascii':\n\t return asciiWrite(this, string, offset, length)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Write(this, string, offset, length)\n\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf)\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end))\n\t }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t var res = [];\n\n\t var i = start;\n\t while (i < end) {\n\t var firstByte = buf[i];\n\t var codePoint = null;\n\t var bytesPerSequence = (firstByte > 0xEF) ? 4\n\t : (firstByte > 0xDF) ? 3\n\t : (firstByte > 0xBF) ? 2\n\t : 1;\n\n\t if (i + bytesPerSequence <= end) {\n\t var secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\n\t return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tvar MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t var len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t }\n\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t var res = '';\n\t var i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(\n\t String,\n\t codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t );\n\t }\n\t return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t var ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (var i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t var ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (var i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t var len = buf.length;\n\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\n\t var out = '';\n\t for (var i = start; i < end; ++i) {\n\t out += hexSliceLookupTable[buf[i]];\n\t }\n\t return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t var bytes = buf.slice(start, end);\n\t var res = '';\n\t for (var i = 0; i < bytes.length; i += 2) {\n\t res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t }\n\t return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t var len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t var newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t var val = this[offset];\n\t var mul = 1;\n\t var i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\n\t var val = this[offset + --byteLength];\n\t var mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset]\n\t};\n\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return ((this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16)) +\n\t (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] * 0x1000000) +\n\t ((this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t this[offset + 3])\n\t};\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t var val = this[offset];\n\t var mul = 1;\n\t var i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t var i = byteLength;\n\t var mul = 1;\n\t var val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return (this[offset])\n\t return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t var val = this[offset] | (this[offset + 1] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t var val = this[offset + 1] | (this[offset] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16) |\n\t (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] << 24) |\n\t (this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t var mul = 1;\n\t var i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t var i = byteLength - 1;\n\t var mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset + 3] = (value >>> 24);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t var limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t var i = 0;\n\t var mul = 1;\n\t var sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t var limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t var i = byteLength - 1;\n\t var mul = 1;\n\t var sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 3] = (value >>> 24);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4);\n\t }\n\t ieee754.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8);\n\t }\n\t ieee754.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t var len = end - start;\n\n\t if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n\t // Use built-in when available, missing from IE11\n\t this.copyWithin(targetStart, start, end);\n\t } else if (this === target && start < targetStart && targetStart < end) {\n\t // descending copy from end\n\t for (var i = len - 1; i >= 0; --i) {\n\t target[i + targetStart] = this[i + start];\n\t }\n\t } else {\n\t Uint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, end),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string')\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\t if (val.length === 1) {\n\t var code = val.charCodeAt(0);\n\t if ((encoding === 'utf8' && code < 128) ||\n\t encoding === 'latin1') {\n\t // Fast path: If `val` fits into a single byte, use that numeric value.\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t } else if (typeof val === 'boolean') {\n\t val = Number(val);\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t var i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t var bytes = Buffer.isBuffer(val)\n\t ? val\n\t : Buffer.from(val, encoding);\n\t var len = bytes.length;\n\t if (len === 0) {\n\t throw new TypeError('The value \"' + val +\n\t '\" is invalid for argument \"value\"')\n\t }\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t // Node takes equal signs as end of the Base64 encoding\n\t str = str.split('=')[0];\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = str.trim().replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return ''\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t var codePoint;\n\t var length = string.length;\n\t var leadSurrogate = null;\n\t var bytes = [];\n\n\t for (var i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t var byteArray = [];\n\t for (var i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t var c, hi, lo;\n\t var byteArray = [];\n\t for (var i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break\n\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\n\t return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t for (var i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t return obj instanceof type ||\n\t (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t // For IE11 support\n\t return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tvar hexSliceLookupTable = (function () {\n\t var alphabet = '0123456789abcdef';\n\t var table = new Array(256);\n\t for (var i = 0; i < 16; ++i) {\n\t var i16 = i * 16;\n\t for (var j = 0; j < 16; ++j) {\n\t table[i16 + j] = alphabet[i] + alphabet[j];\n\t }\n\t }\n\t return table\n\t})();\n\n\t},{\"base64-js\":29,\"ieee754\":32}],31:[function(require,module,exports){\n\n\t/******************************************************************************\n\t * Created 2008-08-19.\n\t *\n\t * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n\t *\n\t * Copyright (C) 2008\n\t * Wyatt Baldwin <self@wyattbaldwin.com>\n\t * All rights reserved\n\t *\n\t * Licensed under the MIT license.\n\t *\n\t * http://www.opensource.org/licenses/mit-license.php\n\t *\n\t * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n\t * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n\t * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n\t * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n\t * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n\t * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n\t * THE SOFTWARE.\n\t *****************************************************************************/\n\tvar dijkstra = {\n\t single_source_shortest_paths: function(graph, s, d) {\n\t // Predecessor map for each node that has been encountered.\n\t // node ID => predecessor node ID\n\t var predecessors = {};\n\n\t // Costs of shortest paths from s to all nodes encountered.\n\t // node ID => cost\n\t var costs = {};\n\t costs[s] = 0;\n\n\t // Costs of shortest paths from s to all nodes encountered; differs from\n\t // `costs` in that it provides easy access to the node that currently has\n\t // the known shortest path from s.\n\t // XXX: Do we actually need both `costs` and `open`?\n\t var open = dijkstra.PriorityQueue.make();\n\t open.push(s, 0);\n\n\t var closest,\n\t u, v,\n\t cost_of_s_to_u,\n\t adjacent_nodes,\n\t cost_of_e,\n\t cost_of_s_to_u_plus_cost_of_e,\n\t cost_of_s_to_v,\n\t first_visit;\n\t while (!open.empty()) {\n\t // In the nodes remaining in graph that have a known cost from s,\n\t // find the node, u, that currently has the shortest path from s.\n\t closest = open.pop();\n\t u = closest.value;\n\t cost_of_s_to_u = closest.cost;\n\n\t // Get nodes adjacent to u...\n\t adjacent_nodes = graph[u] || {};\n\n\t // ...and explore the edges that connect u to those nodes, updating\n\t // the cost of the shortest paths to any or all of those nodes as\n\t // necessary. v is the node across the current edge from u.\n\t for (v in adjacent_nodes) {\n\t if (adjacent_nodes.hasOwnProperty(v)) {\n\t // Get the cost of the edge running from u to v.\n\t cost_of_e = adjacent_nodes[v];\n\n\t // Cost of s to u plus the cost of u to v across e--this is *a*\n\t // cost from s to v that may or may not be less than the current\n\t // known cost to v.\n\t cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n\t // If we haven't visited v yet OR if the current known cost from s to\n\t // v is greater than the new cost we just found (cost of s to u plus\n\t // cost of u to v across e), update v's cost in the cost list and\n\t // update v's predecessor in the predecessor list (it's now u).\n\t cost_of_s_to_v = costs[v];\n\t first_visit = (typeof costs[v] === 'undefined');\n\t if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n\t costs[v] = cost_of_s_to_u_plus_cost_of_e;\n\t open.push(v, cost_of_s_to_u_plus_cost_of_e);\n\t predecessors[v] = u;\n\t }\n\t }\n\t }\n\t }\n\n\t if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n\t var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n\t throw new Error(msg);\n\t }\n\n\t return predecessors;\n\t },\n\n\t extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n\t var nodes = [];\n\t var u = d;\n\t var predecessor;\n\t while (u) {\n\t nodes.push(u);\n\t predecessor = predecessors[u];\n\t u = predecessors[u];\n\t }\n\t nodes.reverse();\n\t return nodes;\n\t },\n\n\t find_path: function(graph, s, d) {\n\t var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n\t return dijkstra.extract_shortest_path_from_predecessor_list(\n\t predecessors, d);\n\t },\n\n\t /**\n\t * A very naive priority queue implementation.\n\t */\n\t PriorityQueue: {\n\t make: function (opts) {\n\t var T = dijkstra.PriorityQueue,\n\t t = {},\n\t key;\n\t opts = opts || {};\n\t for (key in T) {\n\t if (T.hasOwnProperty(key)) {\n\t t[key] = T[key];\n\t }\n\t }\n\t t.queue = [];\n\t t.sorter = opts.sorter || T.default_sorter;\n\t return t;\n\t },\n\n\t default_sorter: function (a, b) {\n\t return a.cost - b.cost;\n\t },\n\n\t /**\n\t * Add a new item to the queue and ensure the highest priority element\n\t * is at the front of the queue.\n\t */\n\t push: function (value, cost) {\n\t var item = {value: value, cost: cost};\n\t this.queue.push(item);\n\t this.queue.sort(this.sorter);\n\t },\n\n\t /**\n\t * Return the highest priority element in the queue.\n\t */\n\t pop: function () {\n\t return this.queue.shift();\n\t },\n\n\t empty: function () {\n\t return this.queue.length === 0;\n\t }\n\t }\n\t};\n\n\n\t// node.js module exports\n\tif (typeof module !== 'undefined') {\n\t module.exports = dijkstra;\n\t}\n\n\t},{}],32:[function(require,module,exports){\n\texports.read = function (buffer, offset, isLE, mLen, nBytes) {\n\t var e, m;\n\t var eLen = (nBytes * 8) - mLen - 1;\n\t var eMax = (1 << eLen) - 1;\n\t var eBias = eMax >> 1;\n\t var nBits = -7;\n\t var i = isLE ? (nBytes - 1) : 0;\n\t var d = isLE ? -1 : 1;\n\t var s = buffer[offset + i];\n\n\t i += d;\n\n\t e = s & ((1 << (-nBits)) - 1);\n\t s >>= (-nBits);\n\t nBits += eLen;\n\t for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n\t m = e & ((1 << (-nBits)) - 1);\n\t e >>= (-nBits);\n\t nBits += mLen;\n\t for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n\t if (e === 0) {\n\t e = 1 - eBias;\n\t } else if (e === eMax) {\n\t return m ? NaN : ((s ? -1 : 1) * Infinity)\n\t } else {\n\t m = m + Math.pow(2, mLen);\n\t e = e - eBias;\n\t }\n\t return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n\t};\n\n\texports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n\t var e, m, c;\n\t var eLen = (nBytes * 8) - mLen - 1;\n\t var eMax = (1 << eLen) - 1;\n\t var eBias = eMax >> 1;\n\t var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n\t var i = isLE ? 0 : (nBytes - 1);\n\t var d = isLE ? 1 : -1;\n\t var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n\t value = Math.abs(value);\n\n\t if (isNaN(value) || value === Infinity) {\n\t m = isNaN(value) ? 1 : 0;\n\t e = eMax;\n\t } else {\n\t e = Math.floor(Math.log(value) / Math.LN2);\n\t if (value * (c = Math.pow(2, -e)) < 1) {\n\t e--;\n\t c *= 2;\n\t }\n\t if (e + eBias >= 1) {\n\t value += rt / c;\n\t } else {\n\t value += rt * Math.pow(2, 1 - eBias);\n\t }\n\t if (value * c >= 2) {\n\t e++;\n\t c /= 2;\n\t }\n\n\t if (e + eBias >= eMax) {\n\t m = 0;\n\t e = eMax;\n\t } else if (e + eBias >= 1) {\n\t m = ((value * c) - 1) * Math.pow(2, mLen);\n\t e = e + eBias;\n\t } else {\n\t m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n\t e = 0;\n\t }\n\t }\n\n\t for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n\t e = (e << mLen) | m;\n\t eLen += mLen;\n\t for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n\t buffer[offset + i - d] |= s * 128;\n\t};\n\n\t},{}],33:[function(require,module,exports){\n\tvar toString = {}.toString;\n\n\tmodule.exports = Array.isArray || function (arr) {\n\t return toString.call(arr) == '[object Array]';\n\t};\n\n\t},{}]},{},[24])(24)\n\t});\n\n\n\t});\n\n\tvar index = {\n\t name: 'qrcode',\n\t props: {\n\t /**\n\t * The value of the QR code.\n\t */\n\t value: null,\n\n\t /**\n\t * The options for the QR code generator.\n\t * {@link https://github.com/soldair/node-qrcode#qr-code-options}\n\t */\n\t options: Object,\n\n\t /**\n\t * The tag name of the component's root element.\n\t */\n\t tag: {\n\t type: String,\n\t default: 'canvas'\n\t }\n\t },\n\t render: function render(createElement) {\n\t return createElement(this.tag, this.$slots.default);\n\t },\n\t watch: {\n\t $props: {\n\t deep: true,\n\t immediate: true,\n\n\t /**\n\t * Update the QR code when props changed.\n\t */\n\t handler: function handler() {\n\t if (this.$el) {\n\t this.generate();\n\t }\n\t }\n\t }\n\t },\n\t methods: {\n\t /**\n\t * Generate QR code.\n\t */\n\t generate: function generate() {\n\t var _this = this;\n\n\t var options = this.options,\n\t tag = this.tag;\n\t var value = String(this.value);\n\n\t if (tag === 'canvas') {\n\t qrcode.toCanvas(this.$el, value, options, function (error) {\n\t /* istanbul ignore if */\n\t if (error) {\n\t throw error;\n\t }\n\t });\n\t } else if (tag === 'img') {\n\t qrcode.toDataURL(value, options, function (error, url) {\n\t /* istanbul ignore if */\n\t if (error) {\n\t throw error;\n\t }\n\n\t _this.$el.src = url;\n\t });\n\t } else {\n\t qrcode.toString(value, options, function (error, string) {\n\t /* istanbul ignore if */\n\t if (error) {\n\t throw error;\n\t }\n\n\t _this.$el.innerHTML = string;\n\t });\n\t }\n\t }\n\t },\n\t mounted: function mounted() {\n\t this.generate();\n\t }\n\t};\n\n\treturn index;\n\n})));\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTab\",class:{ 'icon-loading': _vm.loading }},[(_vm.error)?_c('div',{staticClass:\"emptycontent\",class:{ emptyContentWithSections: _vm.sections.length > 0 }},[_c('div',{staticClass:\"icon icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.error))])]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView),expression:\"!showSharingDetailsView\"}],staticClass:\"sharingTab__content\"},[(_vm.isSharedWithMe)?_c('ul',[_c('SharingEntrySimple',_vm._b({staticClass:\"sharing-entry__reshare\",scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.sharedWithMe.user,\"display-name\":_vm.sharedWithMe.displayName}})]},proxy:true}],null,false,3197855346)},'SharingEntrySimple',_vm.sharedWithMe,false))],1):_vm._e(),_vm._v(\" \"),_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'Internal shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"type\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'Internal shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}])})]},proxy:true}])},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.internalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"reshare\":_vm.reshare,\"shares\":_vm.shares,\"placeholder\":_vm.internalShareInputPlaceholder},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{ref:\"shareList\",attrs:{\"shares\":_vm.shares,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(_vm.canReshare && !_vm.loading)?_c('SharingInherited',{attrs:{\"file-info\":_vm.fileInfo}}):_vm._e(),_vm._v(\" \"),_c('SharingEntryInternal',{attrs:{\"file-info\":_vm.fileInfo}})],1),_vm._v(\" \"),_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'External shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"type\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'External shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}])})]},proxy:true}])},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.externalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"is-external\":true,\"placeholder\":_vm.externalShareInputPlaceholder,\"reshare\":_vm.reshare,\"shares\":_vm.shares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{attrs:{\"shares\":_vm.externalShares,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading && _vm.isLinkSharingAllowed)?_c('SharingLinkList',{ref:\"linkShareList\",attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"shares\":_vm.linkShares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e()],1),_vm._v(\" \"),(_vm.sections.length > 0 && !_vm.showSharingDetailsView)?_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'Additional shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"type\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'Additional shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,915383693)})]},proxy:true}],null,false,1027936137)},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.additionalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),_vm._l((_vm.sections),function(section,index){return _c('div',{key:index,ref:'section-' + index,refInFor:true,staticClass:\"sharingTab__additionalContent\"},[_c(section(_vm.$refs['section-'+index], _vm.fileInfo),{tag:\"component\",attrs:{\"file-info\":_vm.fileInfo}})],1)}),_vm._v(\" \"),(_vm.projectsEnabled)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView && _vm.fileInfo),expression:\"!showSharingDetailsView && fileInfo\"}],staticClass:\"sharingTab__additionalContent\"},[_c('CollectionList',{attrs:{\"id\":`${_vm.fileInfo.id}`,\"type\":\"file\",\"name\":_vm.fileInfo.name}})],1):_vm._e()],2):_vm._e()]),_vm._v(\" \"),(_vm.showSharingDetailsView)?_c('SharingDetailsTab',{attrs:{\"file-info\":_vm.shareDetailsData.fileInfo,\"share\":_vm.shareDetailsData.share},on:{\"close-sharing-details\":_vm.toggleShareDetailsView,\"add:share\":_vm.addShare,\"remove:share\":_vm.removeShare}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../css-loader/dist/cjs.js!./index-CJAYjuyf.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../css-loader/dist/cjs.js!./index-CJAYjuyf.css\";\n export default content && content.locals ? content.locals : undefined;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n","import './assets/index-CJAYjuyf.css';\nimport { t } from \"@nextcloud/l10n\";\nimport NcAvatar from \"@nextcloud/vue/dist/Components/NcAvatar.js\";\nimport NcSelect from \"@nextcloud/vue/dist/Components/NcSelect.js\";\nimport debounce from \"lodash-es/debounce.js\";\nimport NcActions from \"@nextcloud/vue/dist/Components/NcActions.js\";\nimport NcActionButton from \"@nextcloud/vue/dist/Components/NcActionButton.js\";\nimport { reactive, set } from \"vue\";\nimport axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nclass CollectionService {\n constructor() {\n this.http = axios;\n }\n listCollection(collectionId) {\n return this.http.get(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }));\n }\n renameCollection(collectionId, collectionName) {\n return this.http.put(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), {\n collectionName\n }).then((result) => {\n return result.data.ocs.data;\n });\n }\n getCollectionsByResource(resourceType, resourceId) {\n return this.http.get(generateOcsUrl(\"collaboration/resources/{resourceType}/{resourceId}\", { resourceType, resourceId })).then((result) => {\n return result.data.ocs.data;\n });\n }\n createCollection(resourceType, resourceId, name) {\n return this.http.post(generateOcsUrl(\"collaboration/resources/{resourceType}/{resourceId}\", { resourceType, resourceId }), {\n name\n }).then((response) => {\n return response.data.ocs.data;\n });\n }\n addResource(collectionId, resourceType, resourceId) {\n resourceId = \"\" + resourceId;\n return this.http.post(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), {\n resourceType,\n resourceId\n }).then((response) => {\n return response.data.ocs.data;\n });\n }\n removeResource(collectionId, resourceType, resourceId) {\n return this.http.delete(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), { params: { resourceType, resourceId } }).then((response) => {\n return response.data.ocs.data;\n });\n }\n search(query) {\n return this.http.get(generateOcsUrl(\"collaboration/resources/collections/search/{query}\", { query })).then((response) => {\n return response.data.ocs.data;\n });\n }\n}\nconst service = new CollectionService();\nconst state = reactive({\n collections: []\n});\nconst mutations = {\n addCollections(collections) {\n set(state, \"collections\", collections);\n },\n addCollection(collection) {\n state.collections.push(collection);\n },\n removeCollection(collectionId) {\n set(state, \"collections\", state.collections.filter((item) => item.id !== collectionId));\n },\n updateCollection(collection) {\n const index = state.collections.findIndex((_item) => _item.id === collection.id);\n if (index !== -1) {\n set(state.collections, index, collection);\n } else {\n state.collections.push(collection);\n }\n }\n};\nconst actions = {\n fetchCollectionsByResource({ resourceType, resourceId }) {\n return service.getCollectionsByResource(resourceType, resourceId).then((collections) => {\n mutations.addCollections(collections);\n return collections;\n });\n },\n createCollection({ baseResourceType, baseResourceId, resourceType, resourceId, name }) {\n return service.createCollection(baseResourceType, baseResourceId, name).then((collection) => {\n mutations.addCollection(collection);\n actions.addResourceToCollection({\n collectionId: collection.id,\n resourceType,\n resourceId\n });\n });\n },\n renameCollection({ collectionId, name }) {\n return service.renameCollection(collectionId, name).then((collection) => {\n mutations.updateCollection(collection);\n return collection;\n });\n },\n addResourceToCollection({ collectionId, resourceType, resourceId }) {\n return service.addResource(collectionId, resourceType, resourceId).then((collection) => {\n mutations.updateCollection(collection);\n return collection;\n });\n },\n removeResource({ collectionId, resourceType, resourceId }) {\n return service.removeResource(collectionId, resourceType, resourceId).then((collection) => {\n if (collection.resources.length > 0) {\n mutations.updateCollection(collection);\n } else {\n mutations.removeCollection(collection);\n }\n });\n },\n search(query) {\n return service.search(query);\n }\n};\nfunction normalizeComponent(scriptExports, render3, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render3) {\n options.render = render3;\n options.staticRenderFns = staticRenderFns;\n options._compiled = true;\n }\n if (functionalTemplate) {\n options.functional = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n );\n } : injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nconst _sfc_main$1 = {\n name: \"CollectionListItem\",\n components: {\n NcAvatar,\n NcActions,\n NcActionButton\n },\n props: {\n collection: {\n type: Object,\n default: null\n }\n },\n data() {\n return {\n detailsOpen: false,\n newName: null,\n error: {}\n };\n },\n computed: {\n getIcon() {\n return (resource) => [resource.iconClass];\n },\n typeClass() {\n return (resource) => \"resource-type-\" + resource.type;\n },\n limitedResources() {\n return (collection) => collection.resources ? collection.resources.slice(0, 2) : [];\n },\n iconUrl() {\n return (resource) => {\n if (resource.mimetype) {\n return OC.MimeType.getIconUrl(resource.mimetype);\n }\n if (resource.iconUrl) {\n return resource.iconUrl;\n }\n return \"\";\n };\n }\n },\n methods: {\n t,\n toggleDetails() {\n this.detailsOpen = !this.detailsOpen;\n },\n showDetails() {\n this.detailsOpen = true;\n },\n hideDetails() {\n this.detailsOpen = false;\n },\n removeResource(collection, resource) {\n actions.removeResource({\n collectionId: collection.id,\n resourceType: resource.type,\n resourceId: resource.id\n });\n },\n openRename() {\n this.newName = this.collection.name;\n },\n renameCollection() {\n if (this.newName === \"\") {\n this.newName = null;\n return;\n }\n actions.renameCollection({\n collectionId: this.collection.id,\n name: this.newName\n }).then((collection) => {\n this.newName = null;\n }).catch((e) => {\n this.$set(this.error, \"rename\", t(\"core\", \"Failed to rename the project\"));\n console.error(e);\n setTimeout(() => {\n set(this.error, \"rename\", null);\n }, 3e3);\n });\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"collection-list-item\" }, [_c(\"NcAvatar\", { staticClass: \"collection-avatar\", attrs: { \"display-name\": _vm.collection.name, \"allow-placeholder\": \"\" } }), _vm.newName === null ? _c(\"span\", { staticClass: \"collection-item-name\", attrs: { \"title\": \"\" }, on: { \"click\": _vm.showDetails } }, [_vm._v(_vm._s(_vm.collection.name))]) : _c(\"form\", { class: { \"shouldshake\": _vm.error.rename }, on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.renameCollection.apply(null, arguments);\n } } }, [_c(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.newName, expression: \"newName\" }], attrs: { \"type\": \"text\", \"autocomplete\": \"off\", \"autocapitalize\": \"off\" }, domProps: { \"value\": _vm.newName }, on: { \"input\": function($event) {\n if ($event.target.composing) return;\n _vm.newName = $event.target.value;\n } } }), _c(\"input\", { staticClass: \"icon-confirm\", attrs: { \"type\": \"submit\", \"value\": \"\" } })]), !_vm.detailsOpen && _vm.newName === null ? _c(\"div\", { staticClass: \"linked-icons\" }, _vm._l(_vm.limitedResources(_vm.collection), function(resource) {\n return _c(\"a\", { key: resource.type + \"|\" + resource.id, class: _vm.typeClass(resource), attrs: { \"title\": resource.name, \"href\": resource.link } }, [_c(\"img\", { attrs: { \"src\": _vm.iconUrl(resource) } })]);\n }), 0) : _vm._e(), _vm.newName === null ? _c(\"span\", { staticClass: \"sharingOptionsGroup\" }, [_c(\"NcActions\", [_c(\"NcActionButton\", { attrs: { \"icon\": \"icon-info\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.toggleDetails.apply(null, arguments);\n } } }, [_vm._v(\" \" + _vm._s(_vm.detailsOpen ? _vm.t(\"core\", \"Hide details\") : _vm.t(\"core\", \"Show details\")) + \" \")]), _c(\"NcActionButton\", { attrs: { \"icon\": \"icon-rename\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.openRename.apply(null, arguments);\n } } }, [_vm._v(\" \" + _vm._s(_vm.t(\"core\", \"Rename project\")) + \" \")])], 1)], 1) : _vm._e(), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.error.rename ? _c(\"div\", { staticClass: \"error\" }, [_vm._v(\" \" + _vm._s(_vm.error.rename) + \" \")]) : _vm._e()]), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.detailsOpen ? _c(\"ul\", { staticClass: \"resource-list-details\" }, _vm._l(_vm.collection.resources, function(resource) {\n return _c(\"li\", { key: resource.type + \"|\" + resource.id, class: _vm.typeClass(resource) }, [_c(\"a\", { attrs: { \"href\": resource.link } }, [_c(\"img\", { attrs: { \"src\": _vm.iconUrl(resource) } }), _c(\"span\", { staticClass: \"resource-name\" }, [_vm._v(_vm._s(resource.name || \"\"))])]), _c(\"span\", { staticClass: \"icon-close\", on: { \"click\": function($event) {\n return _vm.removeResource(_vm.collection, resource);\n } } })]);\n }), 0) : _vm._e()])], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"42733c12\",\n null,\n null\n);\nconst CollectionListItem = __component__$1.exports;\nconst METHOD_CREATE_COLLECTION = 0;\nconst METHOD_ADD_TO_COLLECTION = 1;\nconst _debouncedSearch = debounce(\n function(query, loading) {\n if (query !== \"\") {\n loading(true);\n actions.search(query).then((collections) => {\n this.searchCollections = collections;\n }).catch((e) => {\n console.error(\"Failed to search for collections\", e);\n }).finally(() => {\n loading(false);\n });\n }\n },\n 500,\n {}\n);\nconst _sfc_main = {\n name: \"CollectionList\",\n components: {\n CollectionListItem,\n NcAvatar,\n NcSelect\n },\n props: {\n /**\n * Resource type identifier\n */\n type: {\n type: String,\n default: null\n },\n /**\n * Unique id of the resource\n */\n id: {\n type: String,\n default: null\n },\n /**\n * Name of the resource\n */\n name: {\n type: String,\n default: \"\"\n },\n isActive: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n return {\n state\n };\n },\n data() {\n return {\n selectIsOpen: false,\n generatingCodes: false,\n codes: void 0,\n value: null,\n model: {},\n searchCollections: [],\n error: null,\n isSelectOpen: false\n };\n },\n computed: {\n collections() {\n return this.state.collections.filter((collection) => {\n return typeof collection.resources.find((resource) => resource && resource.id === \"\" + this.id && resource.type === this.type) !== \"undefined\";\n });\n },\n placeholder() {\n return this.isSelectOpen ? t(\"core\", \"Type to search for existing projects\") : t(\"core\", \"Add to a project\");\n },\n options() {\n const options = [];\n window.OCP.Collaboration.getTypes().sort().forEach((type) => {\n options.push({\n method: METHOD_CREATE_COLLECTION,\n type,\n title: window.OCP.Collaboration.getLabel(type),\n class: window.OCP.Collaboration.getIcon(type),\n action: () => window.OCP.Collaboration.trigger(type)\n });\n });\n for (const index in this.searchCollections) {\n if (this.collections.findIndex((collection) => collection.id === this.searchCollections[index].id) === -1) {\n options.push({\n method: METHOD_ADD_TO_COLLECTION,\n title: this.searchCollections[index].name,\n collectionId: this.searchCollections[index].id\n });\n }\n }\n return options;\n }\n },\n watch: {\n type() {\n if (this.isActive) {\n actions.fetchCollectionsByResource({\n resourceType: this.type,\n resourceId: this.id\n });\n }\n },\n id() {\n if (this.isActive) {\n actions.fetchCollectionsByResource({\n resourceType: this.type,\n resourceId: this.id\n });\n }\n },\n isActive(isActive) {\n if (isActive) {\n actions.fetchCollectionsByResource({\n resourceType: this.type,\n resourceId: this.id\n });\n }\n }\n },\n mounted() {\n actions.fetchCollectionsByResource({\n resourceType: this.type,\n resourceId: this.id\n });\n },\n methods: {\n t,\n select(selectedOption, id) {\n if (selectedOption.method === METHOD_CREATE_COLLECTION) {\n selectedOption.action().then((id2) => {\n actions.createCollection({\n baseResourceType: this.type,\n baseResourceId: this.id,\n resourceType: selectedOption.type,\n resourceId: id2,\n name: this.name\n }).catch((e) => {\n this.setError(t(\"core\", \"Failed to create a project\"), e);\n });\n }).catch((e) => {\n console.error(\"No resource selected\", e);\n });\n }\n if (selectedOption.method === METHOD_ADD_TO_COLLECTION) {\n actions.addResourceToCollection({\n collectionId: selectedOption.collectionId,\n resourceType: this.type,\n resourceId: this.id\n }).catch((e) => {\n this.setError(t(\"core\", \"Failed to add the item to the project\"), e);\n });\n }\n },\n search(query, loading) {\n _debouncedSearch.bind(this)(query, loading);\n },\n showSelect() {\n this.selectIsOpen = true;\n this.$refs.select.$el.focus();\n },\n hideSelect() {\n this.selectIsOpen = false;\n },\n isVueComponent(object) {\n return object._isVue;\n },\n setError(error, e) {\n console.error(error, e);\n this.error = error;\n setTimeout(() => {\n this.error = null;\n }, 5e3);\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _vm.collections && _vm.type && _vm.id ? _c(\"ul\", { staticClass: \"collection-list\", attrs: { \"id\": \"collection-list\" } }, [_c(\"li\", { on: { \"click\": _vm.showSelect } }, [_vm._m(0), _c(\"div\", { attrs: { \"id\": \"collection-select-container\" } }, [_c(\"NcSelect\", { ref: \"select\", attrs: { \"aria-label-combobox\": _vm.t(\"core\", \"Add to a project\"), \"options\": _vm.options, \"placeholder\": _vm.placeholder, \"label\": \"title\", \"limit\": 5 }, on: { \"close\": function($event) {\n _vm.isSelectOpen = false;\n }, \"open\": function($event) {\n _vm.isSelectOpen = true;\n }, \"option:selected\": _vm.select, \"search\": _vm.search }, scopedSlots: _vm._u([{ key: \"selected-option\", fn: function(option) {\n return [_c(\"span\", { staticClass: \"option__desc\" }, [_c(\"span\", { staticClass: \"option__title\" }, [_vm._v(_vm._s(option.title))])])];\n } }, { key: \"option\", fn: function(option) {\n return [_c(\"span\", { staticClass: \"option__wrapper\" }, [option.class ? _c(\"span\", { staticClass: \"avatar\", class: option.class }) : option.method !== 2 ? _c(\"NcAvatar\", { attrs: { \"allow-placeholder\": \"\", \"display-name\": option.title } }) : _vm._e(), _c(\"span\", { staticClass: \"option__title\" }, [_vm._v(_vm._s(option.title))])], 1)];\n } }], null, false, 2397208459), model: { value: _vm.value, callback: function($$v) {\n _vm.value = $$v;\n }, expression: \"value\" } }, [_c(\"p\", { staticClass: \"hint\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"core\", \"Connect items to a project to make them easier to find\")) + \" \")])])], 1)]), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.error ? _c(\"li\", { staticClass: \"error\" }, [_vm._v(\" \" + _vm._s(_vm.error) + \" \")]) : _vm._e()]), _vm._l(_vm.collections, function(collection) {\n return _c(\"CollectionListItem\", { key: collection.id, attrs: { \"collection\": collection } });\n })], 2) : _vm._e();\n};\nvar _sfc_staticRenderFns = [function() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"avatar\" }, [_c(\"span\", { staticClass: \"icon-projects\" })]);\n}];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"8ebb2593\",\n null,\n null\n);\nconst CollectionList = __component__.exports;\nexport {\n CollectionList,\n CollectionListItem\n};\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCapabilities } from '@nextcloud/capabilities';\nimport { loadState } from '@nextcloud/initial-state';\nexport default class Config {\n _capabilities;\n constructor() {\n this._capabilities = getCapabilities();\n }\n /**\n * Get default share permissions, if any\n */\n get defaultPermissions() {\n return this._capabilities.files_sharing?.default_permissions;\n }\n /**\n * Is public upload allowed on link shares ?\n * This covers File request and Full upload/edit option.\n */\n get isPublicUploadEnabled() {\n return this._capabilities.files_sharing?.public?.upload === true;\n }\n /**\n * Get the federated sharing documentation link\n */\n get federatedShareDocLink() {\n return window.OC.appConfig.core.federatedCloudShareDoc;\n }\n /**\n * Get the default link share expiration date\n */\n get defaultExpirationDate() {\n if (this.isDefaultExpireDateEnabled && this.defaultExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultExpireDate));\n }\n return null;\n }\n /**\n * Get the default internal expiration date\n */\n get defaultInternalExpirationDate() {\n if (this.isDefaultInternalExpireDateEnabled && this.defaultInternalExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultInternalExpireDate));\n }\n return null;\n }\n /**\n * Get the default remote expiration date\n */\n get defaultRemoteExpirationDateString() {\n if (this.isDefaultRemoteExpireDateEnabled && this.defaultRemoteExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultRemoteExpireDate));\n }\n return null;\n }\n /**\n * Are link shares password-enforced ?\n */\n get enforcePasswordForPublicLink() {\n return window.OC.appConfig.core.enforcePasswordForPublicLink === true;\n }\n /**\n * Is password asked by default on link shares ?\n */\n get enableLinkPasswordByDefault() {\n return window.OC.appConfig.core.enableLinkPasswordByDefault === true;\n }\n /**\n * Is link shares expiration enforced ?\n */\n get isDefaultExpireDateEnforced() {\n return window.OC.appConfig.core.defaultExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new link shares ?\n */\n get isDefaultExpireDateEnabled() {\n return window.OC.appConfig.core.defaultExpireDateEnabled === true;\n }\n /**\n * Is internal shares expiration enforced ?\n */\n get isDefaultInternalExpireDateEnforced() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new internal shares ?\n */\n get isDefaultInternalExpireDateEnabled() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnabled === true;\n }\n /**\n * Is remote shares expiration enforced ?\n */\n get isDefaultRemoteExpireDateEnforced() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new remote shares ?\n */\n get isDefaultRemoteExpireDateEnabled() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnabled === true;\n }\n /**\n * Are users on this server allowed to send shares to other servers ?\n */\n get isRemoteShareAllowed() {\n return window.OC.appConfig.core.remoteShareAllowed === true;\n }\n /**\n * Is public sharing enabled ?\n */\n get isPublicShareAllowed() {\n return this._capabilities?.files_sharing?.public?.enabled === true;\n }\n /**\n * Is sharing my mail (link share) enabled ?\n */\n get isMailShareAllowed() {\n // eslint-disable-next-line camelcase\n return this._capabilities?.files_sharing?.sharebymail?.enabled === true\n // eslint-disable-next-line camelcase\n && this.isPublicShareAllowed === true;\n }\n /**\n * Get the default days to link shares expiration\n */\n get defaultExpireDate() {\n return window.OC.appConfig.core.defaultExpireDate;\n }\n /**\n * Get the default days to internal shares expiration\n */\n get defaultInternalExpireDate() {\n return window.OC.appConfig.core.defaultInternalExpireDate;\n }\n /**\n * Get the default days to remote shares expiration\n */\n get defaultRemoteExpireDate() {\n return window.OC.appConfig.core.defaultRemoteExpireDate;\n }\n /**\n * Is resharing allowed ?\n */\n get isResharingAllowed() {\n return window.OC.appConfig.core.resharingAllowed === true;\n }\n /**\n * Is password enforced for mail shares ?\n */\n get isPasswordForMailSharesRequired() {\n return this._capabilities.files_sharing?.sharebymail?.password?.enforced === true;\n }\n /**\n * Always show the email or userid unique sharee label if enabled by the admin\n */\n get shouldAlwaysShowUnique() {\n return this._capabilities.files_sharing?.sharee?.always_show_unique === true;\n }\n /**\n * Is sharing with groups allowed ?\n */\n get allowGroupSharing() {\n return window.OC.appConfig.core.allowGroupSharing === true;\n }\n /**\n * Get the maximum results of a share search\n */\n get maxAutocompleteResults() {\n return parseInt(window.OC.config['sharing.maxAutocompleteResults'], 10) || 25;\n }\n /**\n * Get the minimal string length\n * to initiate a share search\n */\n get minSearchStringLength() {\n return parseInt(window.OC.config['sharing.minSearchStringLength'], 10) || 0;\n }\n /**\n * Get the password policy configuration\n */\n get passwordPolicy() {\n return this._capabilities?.password_policy || {};\n }\n /**\n * Returns true if custom tokens are allowed\n */\n get allowCustomTokens() {\n return this._capabilities?.files_sharing?.public?.custom_tokens;\n }\n /**\n * Show federated shares as internal shares\n * @return {boolean}\n */\n get showFederatedSharesAsInternal() {\n return loadState('files_sharing', 'showFederatedSharesAsInternal', false);\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('files_sharing')\n .detectUser()\n .build();\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { isFileRequest } from '../services/SharingService';\nexport default class Share {\n _share;\n /**\n * Create the share object\n *\n * @param {object} ocsData ocs request response\n */\n constructor(ocsData) {\n if (ocsData.ocs && ocsData.ocs.data && ocsData.ocs.data[0]) {\n ocsData = ocsData.ocs.data[0];\n }\n // string to int\n if (typeof ocsData.id === 'string') {\n ocsData.id = Number.parseInt(ocsData.id);\n }\n // convert int into boolean\n ocsData.hide_download = !!ocsData.hide_download;\n ocsData.mail_send = !!ocsData.mail_send;\n if (ocsData.attributes && typeof ocsData.attributes === 'string') {\n try {\n ocsData.attributes = JSON.parse(ocsData.attributes);\n }\n catch (e) {\n console.warn('Could not parse share attributes returned by server', ocsData.attributes);\n }\n }\n ocsData.attributes = ocsData.attributes ?? [];\n // store state\n this._share = ocsData;\n }\n /**\n * Get the share state\n * ! used for reactivity purpose\n * Do not remove. It allow vuejs to\n * inject its watchers into the #share\n * state and make the whole class reactive\n *\n * @return {object} the share raw state\n */\n get state() {\n return this._share;\n }\n /**\n * get the share id\n */\n get id() {\n return this._share.id;\n }\n /**\n * Get the share type\n */\n get type() {\n return this._share.share_type;\n }\n /**\n * Get the share permissions\n * See window.OC.PERMISSION_* variables\n */\n get permissions() {\n return this._share.permissions;\n }\n /**\n * Get the share attributes\n */\n get attributes() {\n return this._share.attributes || [];\n }\n /**\n * Set the share permissions\n * See window.OC.PERMISSION_* variables\n */\n set permissions(permissions) {\n this._share.permissions = permissions;\n }\n // SHARE OWNER --------------------------------------------------\n /**\n * Get the share owner uid\n */\n get owner() {\n return this._share.uid_owner;\n }\n /**\n * Get the share owner's display name\n */\n get ownerDisplayName() {\n return this._share.displayname_owner;\n }\n // SHARED WITH --------------------------------------------------\n /**\n * Get the share with entity uid\n */\n get shareWith() {\n return this._share.share_with;\n }\n /**\n * Get the share with entity display name\n * fallback to its uid if none\n */\n get shareWithDisplayName() {\n return this._share.share_with_displayname\n || this._share.share_with;\n }\n /**\n * Unique display name in case of multiple\n * duplicates results with the same name.\n */\n get shareWithDisplayNameUnique() {\n return this._share.share_with_displayname_unique\n || this._share.share_with;\n }\n /**\n * Get the share with entity link\n */\n get shareWithLink() {\n return this._share.share_with_link;\n }\n /**\n * Get the share with avatar if any\n */\n get shareWithAvatar() {\n return this._share.share_with_avatar;\n }\n // SHARED FILE OR FOLDER OWNER ----------------------------------\n /**\n * Get the shared item owner uid\n */\n get uidFileOwner() {\n return this._share.uid_file_owner;\n }\n /**\n * Get the shared item display name\n * fallback to its uid if none\n */\n get displaynameFileOwner() {\n return this._share.displayname_file_owner\n || this._share.uid_file_owner;\n }\n // TIME DATA ----------------------------------------------------\n /**\n * Get the share creation timestamp\n */\n get createdTime() {\n return this._share.stime;\n }\n /**\n * Get the expiration date\n * @return {string} date with YYYY-MM-DD format\n */\n get expireDate() {\n return this._share.expiration;\n }\n /**\n * Set the expiration date\n * @param {string} date the share expiration date with YYYY-MM-DD format\n */\n set expireDate(date) {\n this._share.expiration = date;\n }\n // EXTRA DATA ---------------------------------------------------\n /**\n * Get the public share token\n */\n get token() {\n return this._share.token;\n }\n /**\n * Set the public share token\n */\n set token(token) {\n this._share.token = token;\n }\n /**\n * Get the share note if any\n */\n get note() {\n return this._share.note;\n }\n /**\n * Set the share note if any\n */\n set note(note) {\n this._share.note = note;\n }\n /**\n * Get the share label if any\n * Should only exist on link shares\n */\n get label() {\n return this._share.label ?? '';\n }\n /**\n * Set the share label if any\n * Should only be set on link shares\n */\n set label(label) {\n this._share.label = label;\n }\n /**\n * Have a mail been sent\n */\n get mailSend() {\n return this._share.mail_send === true;\n }\n /**\n * Hide the download button on public page\n */\n get hideDownload() {\n return this._share.hide_download === true\n || this.attributes.find?.(({ scope, key, value }) => scope === 'permissions' && key === 'download' && !value) !== undefined;\n }\n /**\n * Hide the download button on public page\n */\n set hideDownload(state) {\n // disabling hide-download also enables the download permission\n // needed for regression in Nextcloud 31.0.0 until (incl.) 31.0.3\n if (!state) {\n const attribute = this.attributes.find(({ key, scope }) => key === 'download' && scope === 'permissions');\n if (attribute) {\n attribute.value = true;\n }\n }\n this._share.hide_download = state === true;\n }\n /**\n * Password protection of the share\n */\n get password() {\n return this._share.password;\n }\n /**\n * Password protection of the share\n */\n set password(password) {\n this._share.password = password;\n }\n /**\n * Password expiration time\n * @return {string} date with YYYY-MM-DD format\n */\n get passwordExpirationTime() {\n return this._share.password_expiration_time;\n }\n /**\n * Password expiration time\n * @param {string} passwordExpirationTime date with YYYY-MM-DD format\n */\n set passwordExpirationTime(passwordExpirationTime) {\n this._share.password_expiration_time = passwordExpirationTime;\n }\n /**\n * Password protection by Talk of the share\n */\n get sendPasswordByTalk() {\n return this._share.send_password_by_talk;\n }\n /**\n * Password protection by Talk of the share\n *\n * @param {boolean} sendPasswordByTalk whether to send the password by Talk or not\n */\n set sendPasswordByTalk(sendPasswordByTalk) {\n this._share.send_password_by_talk = sendPasswordByTalk;\n }\n // SHARED ITEM DATA ---------------------------------------------\n /**\n * Get the shared item absolute full path\n */\n get path() {\n return this._share.path;\n }\n /**\n * Return the item type: file or folder\n * @return {string} 'folder' | 'file'\n */\n get itemType() {\n return this._share.item_type;\n }\n /**\n * Get the shared item mimetype\n */\n get mimetype() {\n return this._share.mimetype;\n }\n /**\n * Get the shared item id\n */\n get fileSource() {\n return this._share.file_source;\n }\n /**\n * Get the target path on the receiving end\n * e.g the file /xxx/aaa will be shared in\n * the receiving root as /aaa, the fileTarget is /aaa\n */\n get fileTarget() {\n return this._share.file_target;\n }\n /**\n * Get the parent folder id if any\n */\n get fileParent() {\n return this._share.file_parent;\n }\n // PERMISSIONS Shortcuts\n /**\n * Does this share have READ permissions\n */\n get hasReadPermission() {\n return !!((this.permissions & window.OC.PERMISSION_READ));\n }\n /**\n * Does this share have CREATE permissions\n */\n get hasCreatePermission() {\n return !!((this.permissions & window.OC.PERMISSION_CREATE));\n }\n /**\n * Does this share have DELETE permissions\n */\n get hasDeletePermission() {\n return !!((this.permissions & window.OC.PERMISSION_DELETE));\n }\n /**\n * Does this share have UPDATE permissions\n */\n get hasUpdatePermission() {\n return !!((this.permissions & window.OC.PERMISSION_UPDATE));\n }\n /**\n * Does this share have SHARE permissions\n */\n get hasSharePermission() {\n return !!((this.permissions & window.OC.PERMISSION_SHARE));\n }\n /**\n * Does this share have download permissions\n */\n get hasDownloadPermission() {\n const hasDisabledDownload = (attribute) => {\n return attribute.scope === 'permissions' && attribute.key === 'download' && attribute.value === false;\n };\n return this.attributes.some(hasDisabledDownload);\n }\n /**\n * Is this mail share a file request ?\n */\n get isFileRequest() {\n return isFileRequest(JSON.stringify(this.attributes));\n }\n set hasDownloadPermission(enabled) {\n this.setAttribute('permissions', 'download', !!enabled);\n }\n setAttribute(scope, key, value) {\n const attrUpdate = {\n scope,\n key,\n value,\n };\n // try and replace existing\n for (const i in this._share.attributes) {\n const attr = this._share.attributes[i];\n if (attr.scope === attrUpdate.scope && attr.key === attrUpdate.key) {\n this._share.attributes.splice(i, 1, attrUpdate);\n return;\n }\n }\n this._share.attributes.push(attrUpdate);\n }\n // PERMISSIONS Shortcuts for the CURRENT USER\n // ! the permissions above are the share settings,\n // ! meaning the permissions for the recipient\n /**\n * Can the current user EDIT this share ?\n */\n get canEdit() {\n return this._share.can_edit === true;\n }\n /**\n * Can the current user DELETE this share ?\n */\n get canDelete() {\n return this._share.can_delete === true;\n }\n /**\n * Top level accessible shared folder fileid for the current user\n */\n get viaFileid() {\n return this._share.via_fileid;\n }\n /**\n * Top level accessible shared folder path for the current user\n */\n get viaPath() {\n return this._share.via_path;\n }\n // TODO: SORT THOSE PROPERTIES\n get parent() {\n return this._share.parent;\n }\n get storageId() {\n return this._share.storage_id;\n }\n get storage() {\n return this._share.storage;\n }\n get itemSource() {\n return this._share.item_source;\n }\n get status() {\n return this._share.status;\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n// TODO: Fix this instead of disabling ESLint!!!\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { Folder, File, Permission, davRemoteURL, davRootPath } from '@nextcloud/files';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport axios from '@nextcloud/axios';\nimport logger from './logger';\nconst headers = {\n 'Content-Type': 'application/json',\n};\nconst ocsEntryToNode = async function (ocsEntry) {\n try {\n // Federated share handling\n if (ocsEntry?.remote_id !== undefined) {\n if (!ocsEntry.mimetype) {\n const mime = (await import('mime')).default;\n // This won't catch files without an extension, but this is the best we can do\n ocsEntry.mimetype = mime.getType(ocsEntry.name);\n }\n ocsEntry.item_type = ocsEntry.type || (ocsEntry.mimetype ? 'file' : 'folder');\n // different naming for remote shares\n ocsEntry.item_mtime = ocsEntry.mtime;\n ocsEntry.file_target = ocsEntry.file_target || ocsEntry.mountpoint;\n if (ocsEntry.file_target.includes('TemporaryMountPointName')) {\n ocsEntry.file_target = ocsEntry.name;\n }\n // If the share is not accepted yet we don't know which permissions it will have\n if (!ocsEntry.accepted) {\n // Need to set permissions to NONE for federated shares\n ocsEntry.item_permissions = Permission.NONE;\n ocsEntry.permissions = Permission.NONE;\n }\n ocsEntry.uid_owner = ocsEntry.owner;\n // TODO: have the real display name stored somewhere\n ocsEntry.displayname_owner = ocsEntry.owner;\n }\n const isFolder = ocsEntry?.item_type === 'folder';\n const hasPreview = ocsEntry?.has_preview === true;\n const Node = isFolder ? Folder : File;\n // If this is an external share that is not yet accepted,\n // we don't have an id. We can fallback to the row id temporarily\n // local shares (this server) use `file_source`, but remote shares (federated) use `file_id`\n const fileid = ocsEntry.file_source || ocsEntry.file_id || ocsEntry.id;\n // Generate path and strip double slashes\n const path = ocsEntry.path || ocsEntry.file_target || ocsEntry.name;\n const source = `${davRemoteURL}${davRootPath}/${path.replace(/^\\/+/, '')}`;\n let mtime = ocsEntry.item_mtime ? new Date((ocsEntry.item_mtime) * 1000) : undefined;\n // Prefer share time if more recent than item mtime\n if (ocsEntry?.stime > (ocsEntry?.item_mtime || 0)) {\n mtime = new Date((ocsEntry.stime) * 1000);\n }\n let sharees;\n if ('share_with' in ocsEntry) {\n sharees = {\n sharee: {\n id: ocsEntry.share_with,\n 'display-name': ocsEntry.share_with_displayname || ocsEntry.share_with,\n type: ocsEntry.share_type,\n },\n };\n }\n return new Node({\n id: fileid,\n source,\n owner: ocsEntry?.uid_owner,\n mime: ocsEntry?.mimetype || 'application/octet-stream',\n mtime,\n size: ocsEntry?.item_size,\n permissions: ocsEntry?.item_permissions || ocsEntry?.permissions,\n root: davRootPath,\n attributes: {\n ...ocsEntry,\n 'has-preview': hasPreview,\n 'hide-download': ocsEntry?.hide_download === 1,\n // Also check the sharingStatusAction.ts code\n 'owner-id': ocsEntry?.uid_owner,\n 'owner-display-name': ocsEntry?.displayname_owner,\n 'share-types': ocsEntry?.share_type,\n 'share-attributes': ocsEntry?.attributes || '[]',\n sharees,\n favorite: ocsEntry?.tags?.includes(window.OC.TAG_FAVORITE) ? 1 : 0,\n },\n });\n }\n catch (error) {\n logger.error('Error while parsing OCS entry', { error });\n return null;\n }\n};\nconst getShares = function (shareWithMe = false) {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares');\n return axios.get(url, {\n headers,\n params: {\n shared_with_me: shareWithMe,\n include_tags: true,\n },\n });\n};\nconst getSharedWithYou = function () {\n return getShares(true);\n};\nconst getSharedWithOthers = function () {\n return getShares();\n};\nconst getRemoteShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\nconst getPendingShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\nconst getRemotePendingShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\nconst getDeletedShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\n/**\n * Check if a file request is enabled\n * @param attributes the share attributes json-encoded array\n */\nexport const isFileRequest = (attributes = '[]') => {\n const isFileRequest = (attribute) => {\n return attribute.scope === 'fileRequest' && attribute.key === 'enabled' && attribute.value === true;\n };\n try {\n const attributesArray = JSON.parse(attributes);\n return attributesArray.some(isFileRequest);\n }\n catch (error) {\n logger.error('Error while parsing share attributes', { error });\n return false;\n }\n};\n/**\n * Group an array of objects (here Nodes) by a key\n * and return an array of arrays of them.\n * @param nodes Nodes to group\n * @param key The attribute to group by\n */\nconst groupBy = function (nodes, key) {\n return Object.values(nodes.reduce(function (acc, curr) {\n (acc[curr[key]] = acc[curr[key]] || []).push(curr);\n return acc;\n }, {}));\n};\nexport const getContents = async (sharedWithYou = true, sharedWithOthers = true, pendingShares = false, deletedshares = false, filterTypes = []) => {\n const promises = [];\n if (sharedWithYou) {\n promises.push(getSharedWithYou(), getRemoteShares());\n }\n if (sharedWithOthers) {\n promises.push(getSharedWithOthers());\n }\n if (pendingShares) {\n promises.push(getPendingShares(), getRemotePendingShares());\n }\n if (deletedshares) {\n promises.push(getDeletedShares());\n }\n const responses = await Promise.all(promises);\n const data = responses.map((response) => response.data.ocs.data).flat();\n let contents = (await Promise.all(data.map(ocsEntryToNode)))\n .filter((node) => node !== null);\n if (filterTypes.length > 0) {\n contents = contents.filter((node) => filterTypes.includes(node.attributes?.share_type));\n }\n // Merge duplicate shares and group their attributes\n // Also check the sharingStatusAction.ts code\n contents = groupBy(contents, 'source').map((nodes) => {\n const node = nodes[0];\n node.attributes['share-types'] = nodes.map(node => node.attributes['share-types']);\n return node;\n });\n return {\n folder: new Folder({\n id: 0,\n source: `${davRemoteURL}${davRootPath}`,\n owner: getCurrentUser()?.uid || null,\n }),\n contents,\n };\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('SharingEntrySimple',{ref:\"shareEntrySimple\",staticClass:\"sharing-entry__internal\",attrs:{\"title\":_vm.t('files_sharing', 'Internal link'),\"subtitle\":_vm.internalLinkSubtitle},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-external icon-external-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"title\":_vm.copyLinkTooltip,\"aria-label\":_vm.copyLinkTooltip},on:{\"click\":_vm.copyLink},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.copied && _vm.copySuccess)?_c('CheckIcon',{staticClass:\"icon-checkmark-color\",attrs:{\"size\":20}}):_c('ClipboardIcon',{attrs:{\"size\":20}})]},proxy:true}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<li class=\"sharing-entry\">\n\t\t<slot name=\"avatar\" />\n\t\t<div class=\"sharing-entry__desc\">\n\t\t\t<span class=\"sharing-entry__title\">{{ title }}</span>\n\t\t\t<p v-if=\"subtitle\">\n\t\t\t\t{{ subtitle }}\n\t\t\t</p>\n\t\t</div>\n\t\t<NcActions v-if=\"$slots['default']\"\n\t\t\tref=\"actionsComponent\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:aria-expanded=\"ariaExpandedValue\">\n\t\t\t<slot />\n\t\t</NcActions>\n\t</li>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/components/NcActions'\n\nexport default {\n\tname: 'SharingEntrySimple',\n\n\tcomponents: {\n\t\tNcActions,\n\t},\n\n\tprops: {\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t},\n\t\tsubtitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tariaExpanded: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tariaExpandedValue() {\n\t\t\tif (this.ariaExpanded === null) {\n\t\t\t\treturn this.ariaExpanded\n\t\t\t}\n\t\t\treturn this.ariaExpanded ? 'true' : 'false'\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tline-height: 1.2em;\n\t\tposition: relative;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__title {\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tmax-width: inherit;\n\t}\n\t&__actions {\n\t\tmargin-inline-start: auto !important;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=style&index=0&id=44339fa4&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=style&index=0&id=44339fa4&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntrySimple.vue?vue&type=template&id=44339fa4&scoped=true\"\nimport script from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntrySimple.vue?vue&type=style&index=0&id=44339fa4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44339fa4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_vm._t(\"avatar\"),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.$slots['default'])?_c('NcActions',{ref:\"actionsComponent\",staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"aria-expanded\":_vm.ariaExpandedValue}},[_vm._t(\"default\")],2):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<ul>\n\t\t<SharingEntrySimple ref=\"shareEntrySimple\"\n\t\t\tclass=\"sharing-entry__internal\"\n\t\t\t:title=\"t('files_sharing', 'Internal link')\"\n\t\t\t:subtitle=\"internalLinkSubtitle\">\n\t\t\t<template #avatar>\n\t\t\t\t<div class=\"avatar-external icon-external-white\" />\n\t\t\t</template>\n\n\t\t\t<NcActionButton :title=\"copyLinkTooltip\"\n\t\t\t\t:aria-label=\"copyLinkTooltip\"\n\t\t\t\t@click=\"copyLink\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CheckIcon v-if=\"copied && copySuccess\"\n\t\t\t\t\t\t:size=\"20\"\n\t\t\t\t\t\tclass=\"icon-checkmark-color\" />\n\t\t\t\t\t<ClipboardIcon v-else :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionButton>\n\t\t</SharingEntrySimple>\n\t</ul>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { showSuccess } from '@nextcloud/dialogs'\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\n\nimport CheckIcon from 'vue-material-design-icons/Check.vue'\nimport ClipboardIcon from 'vue-material-design-icons/ContentCopy.vue'\n\nimport SharingEntrySimple from './SharingEntrySimple.vue'\n\nexport default {\n\tname: 'SharingEntryInternal',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tSharingEntrySimple,\n\t\tCheckIcon,\n\t\tClipboardIcon,\n\t},\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcopied: false,\n\t\t\tcopySuccess: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Get the internal link to this file id\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tinternalLink() {\n\t\t\treturn window.location.protocol + '//' + window.location.host + generateUrl('/f/') + this.fileInfo.id\n\t\t},\n\n\t\t/**\n\t\t * Tooltip message\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tcopyLinkTooltip() {\n\t\t\tif (this.copied) {\n\t\t\t\tif (this.copySuccess) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\treturn t('files_sharing', 'Cannot copy, please copy the link manually')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Copy internal link to clipboard')\n\t\t},\n\n\t\tinternalLinkSubtitle() {\n\t\t\tif (this.fileInfo.type === 'dir') {\n\t\t\t\treturn t('files_sharing', 'Only works for people with access to this folder')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Only works for people with access to this file')\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync copyLink() {\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(this.internalLink)\n\t\t\t\tshowSuccess(t('files_sharing', 'Link copied'))\n\t\t\t\tthis.$refs.shareEntrySimple.$refs.actionsComponent.$el.focus()\n\t\t\t\tthis.copySuccess = true\n\t\t\t\tthis.copied = true\n\t\t\t} catch (error) {\n\t\t\t\tthis.copySuccess = false\n\t\t\t\tthis.copied = true\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.copySuccess = false\n\t\t\t\t\tthis.copied = false\n\t\t\t\t}, 4000)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry__internal {\n\t.avatar-external {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=style&index=0&id=57874406&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=style&index=0&id=57874406&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInternal.vue?vue&type=template&id=57874406&scoped=true\"\nimport script from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInternal.vue?vue&type=style&index=0&id=57874406&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"57874406\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharing-search\"},[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":_vm.shareInputId}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.isExternal ? _vm.t('files_sharing', 'Enter external recipients')\n\t\t\t: _vm.t('files_sharing', 'Search for internal recipients'))+\"\\n\\t\")]),_vm._v(\" \"),_c('NcSelect',{ref:\"select\",staticClass:\"sharing-search__input\",attrs:{\"input-id\":_vm.shareInputId,\"disabled\":!_vm.canReshare,\"loading\":_vm.loading,\"filterable\":false,\"placeholder\":_vm.inputPlaceholder,\"clear-search-on-blur\":() => false,\"user-select\":true,\"options\":_vm.options,\"label-outside\":true},on:{\"search\":_vm.asyncFind,\"option:selected\":_vm.onSelected},scopedSlots:_vm._u([{key:\"no-options\",fn:function({ search }){return [_vm._v(\"\\n\\t\\t\\t\"+_vm._s(search ? _vm.noResultText : _vm.placeholder)+\"\\n\\t\\t\")]}}]),model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n// TODO: remove when ie not supported\nimport 'url-search-params-polyfill'\n\nimport { emit } from '@nextcloud/event-bus'\nimport { showError } from '@nextcloud/dialogs'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\n\nimport Share from '../models/Share.ts'\n\nconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\nexport default {\n\tmethods: {\n\t\t/**\n\t\t * Create a new share\n\t\t *\n\t\t * @param {object} data destructuring object\n\t\t * @param {string} data.path path to the file/folder which should be shared\n\t\t * @param {number} data.shareType 0 = user; 1 = group; 3 = public link; 6 = federated cloud share\n\t\t * @param {string} data.shareWith user/group id with which the file should be shared (optional for shareType > 1)\n\t\t * @param {boolean} [data.publicUpload] allow public upload to a public shared folder\n\t\t * @param {string} [data.password] password to protect public link Share with\n\t\t * @param {number} [data.permissions] 1 = read; 2 = update; 4 = create; 8 = delete; 16 = share; 31 = all (default: 31, for public shares: 1)\n\t\t * @param {boolean} [data.sendPasswordByTalk] send the password via a talk conversation\n\t\t * @param {string} [data.expireDate] expire the share automatically after\n\t\t * @param {string} [data.label] custom label\n\t\t * @param {string} [data.attributes] Share attributes encoded as json\n\t\t * @param {string} data.note custom note to recipient\n\t\t * @return {Share} the new share\n\t\t * @throws {Error}\n\t\t */\n\t\tasync createShare({ path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes }) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\tconst share = new Share(request.data.ocs.data)\n\t\t\t\temit('files_sharing:share:created', { share })\n\t\t\t\treturn share\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while creating share', error)\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tshowError(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error creating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error creating the share'),\n\t\t\t\t\t{ type: 'error' },\n\t\t\t\t)\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @throws {Error}\n\t\t */\n\t\tasync deleteShare(id) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.delete(shareUrl + `/${id}`)\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\temit('files_sharing:share:deleted', { id })\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while deleting share', error)\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error deleting the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error deleting the share'),\n\t\t\t\t\t{ type: 'error' },\n\t\t\t\t)\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @param {object} properties key-value object of the properties to update\n\t\t */\n\t\tasync updateShare(id, properties) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.put(shareUrl + `/${id}`, properties)\n\t\t\t\temit('files_sharing:share:updated', { id })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t} else {\n\t\t\t\t\treturn request.data.ocs.data\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while updating share', error)\n\t\t\t\tif (error.response.status !== 400) {\n\t\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\t\terrorMessage ? t('files_sharing', 'Error updating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error updating the share'),\n\t\t\t\t\t\t{ type: 'error' },\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tconst message = error.response.data.ocs.meta.message\n\t\t\t\tthrow new Error(message)\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport const ATOMIC_PERMISSIONS = {\n\tNONE: 0,\n\tREAD: 1,\n\tUPDATE: 2,\n\tCREATE: 4,\n\tDELETE: 8,\n\tSHARE: 16,\n}\n\nexport const BUNDLED_PERMISSIONS = {\n\tREAD_ONLY: ATOMIC_PERMISSIONS.READ,\n\tUPLOAD_AND_UPDATE: ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE,\n\tFILE_DROP: ATOMIC_PERMISSIONS.CREATE,\n\tALL: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.DELETE | ATOMIC_PERMISSIONS.SHARE,\n\tALL_FILE: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.SHARE,\n}\n\n/**\n * Return whether a given permissions set contains some permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToCheck - the permissions to check.\n * @return {boolean}\n */\nexport function hasPermissions(initialPermissionSet, permissionsToCheck) {\n\treturn initialPermissionSet !== ATOMIC_PERMISSIONS.NONE && (initialPermissionSet & permissionsToCheck) === permissionsToCheck\n}\n\n/**\n * Return whether a given permissions set is valid.\n *\n * @param {number} permissionsSet - the permissions set.\n *\n * @return {boolean}\n */\nexport function permissionsSetIsValid(permissionsSet) {\n\t// Must have at least READ or CREATE permission.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && !hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.CREATE)) {\n\t\treturn false\n\t}\n\n\t// Must have READ permission if have UPDATE or DELETE.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && (\n\t\thasPermissions(permissionsSet, ATOMIC_PERMISSIONS.UPDATE) || hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.DELETE)\n\t)) {\n\t\treturn false\n\t}\n\n\treturn true\n}\n\n/**\n * Add some permissions to an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToAdd - the permissions to add.\n *\n * @return {number}\n */\nexport function addPermissions(initialPermissionSet, permissionsToAdd) {\n\treturn initialPermissionSet | permissionsToAdd\n}\n\n/**\n * Remove some permissions from an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToSubtract - the permissions to remove.\n *\n * @return {number}\n */\nexport function subtractPermissions(initialPermissionSet, permissionsToSubtract) {\n\treturn initialPermissionSet & ~permissionsToSubtract\n}\n\n/**\n * Toggle some permissions from an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {number}\n */\nexport function togglePermissions(initialPermissionSet, permissionsToToggle) {\n\tif (hasPermissions(initialPermissionSet, permissionsToToggle)) {\n\t\treturn subtractPermissions(initialPermissionSet, permissionsToToggle)\n\t} else {\n\t\treturn addPermissions(initialPermissionSet, permissionsToToggle)\n\t}\n}\n\n/**\n * Return whether some given permissions can be toggled from a permission set.\n *\n * @param {number} permissionSet - the initial permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {boolean}\n */\nexport function canTogglePermissions(permissionSet, permissionsToToggle) {\n\treturn permissionsSetIsValid(togglePermissions(permissionSet, permissionsToToggle))\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Share from '../models/Share.ts'\nimport Config from '../services/ConfigService.ts'\nimport { ATOMIC_PERMISSIONS } from '../lib/SharePermissionsToolBox.js'\nimport logger from '../services/logger.ts'\n\nexport default {\n\tmethods: {\n\t\tasync openSharingDetails(shareRequestObject) {\n\t\t\tlet share = {}\n\t\t\t// handle externalResults from OCA.Sharing.ShareSearch\n\t\t\t// TODO : Better name/interface for handler required\n\t\t\t// For example `externalAppCreateShareHook` with proper documentation\n\t\t\tif (shareRequestObject.handler) {\n\t\t\t\tconst handlerInput = {}\n\t\t\t\tif (this.suggestions) {\n\t\t\t\t\thandlerInput.suggestions = this.suggestions\n\t\t\t\t\thandlerInput.fileInfo = this.fileInfo\n\t\t\t\t\thandlerInput.query = this.query\n\t\t\t\t}\n\t\t\t\tconst externalShareRequestObject = await shareRequestObject.handler(handlerInput)\n\t\t\t\tshare = this.mapShareRequestToShareObject(externalShareRequestObject)\n\t\t\t} else {\n\t\t\t\tshare = this.mapShareRequestToShareObject(shareRequestObject)\n\t\t\t}\n\n\t\t\tif (this.fileInfo.type !== 'dir') {\n\t\t\t\tconst originalPermissions = share.permissions\n\t\t\t\tconst strippedPermissions = originalPermissions\n\t\t\t\t\t& ~ATOMIC_PERMISSIONS.CREATE\n\t\t\t\t\t& ~ATOMIC_PERMISSIONS.DELETE\n\n\t\t\t\tif (originalPermissions !== strippedPermissions) {\n\t\t\t\t\tlogger.debug('Removed create/delete permissions from file share (only valid for folders)')\n\t\t\t\t\tshare.permissions = strippedPermissions\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst shareDetails = {\n\t\t\t\tfileInfo: this.fileInfo,\n\t\t\t\tshare,\n\t\t\t}\n\n\t\t\tthis.$emit('open-sharing-details', shareDetails)\n\t\t},\n\t\topenShareDetailsForCustomSettings(share) {\n\t\t\tshare.setCustomPermissions = true\n\t\t\tthis.openSharingDetails(share)\n\t\t},\n\t\tmapShareRequestToShareObject(shareRequestObject) {\n\n\t\t\tif (shareRequestObject.id) {\n\t\t\t\treturn shareRequestObject\n\t\t\t}\n\n\t\t\tconst share = {\n\t\t\t\tattributes: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\tkey: 'download',\n\t\t\t\t\t\tscope: 'permissions',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\thideDownload: false,\n\t\t\t\tshare_type: shareRequestObject.shareType,\n\t\t\t\tshare_with: shareRequestObject.shareWith,\n\t\t\t\tis_no_user: shareRequestObject.isNoUser,\n\t\t\t\tuser: shareRequestObject.shareWith,\n\t\t\t\tshare_with_displayname: shareRequestObject.displayName,\n\t\t\t\tsubtitle: shareRequestObject.subtitle,\n\t\t\t\tpermissions: shareRequestObject.permissions ?? new Config().defaultPermissions,\n\t\t\t\texpiration: '',\n\t\t\t}\n\n\t\t\treturn new Share(share)\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"sharing-search\">\n\t\t<label class=\"hidden-visually\" :for=\"shareInputId\">\n\t\t\t{{ isExternal ? t('files_sharing', 'Enter external recipients')\n\t\t\t\t: t('files_sharing', 'Search for internal recipients') }}\n\t\t</label>\n\t\t<NcSelect ref=\"select\"\n\t\t\tv-model=\"value\"\n\t\t\t:input-id=\"shareInputId\"\n\t\t\tclass=\"sharing-search__input\"\n\t\t\t:disabled=\"!canReshare\"\n\t\t\t:loading=\"loading\"\n\t\t\t:filterable=\"false\"\n\t\t\t:placeholder=\"inputPlaceholder\"\n\t\t\t:clear-search-on-blur=\"() => false\"\n\t\t\t:user-select=\"true\"\n\t\t\t:options=\"options\"\n\t\t\t:label-outside=\"true\"\n\t\t\t@search=\"asyncFind\"\n\t\t\t@option:selected=\"onSelected\">\n\t\t\t<template #no-options=\"{ search }\">\n\t\t\t\t{{ search ? noResultText : placeholder }}\n\t\t\t</template>\n\t\t</NcSelect>\n\t</div>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport axios from '@nextcloud/axios'\nimport debounce from 'debounce'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\n\nimport Config from '../services/ConfigService.ts'\nimport Share from '../models/Share.ts'\nimport ShareRequests from '../mixins/ShareRequests.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\nimport { ShareType } from '@nextcloud/sharing'\n\nexport default {\n\tname: 'SharingInput',\n\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\n\tmixins: [ShareRequests, ShareDetails],\n\n\tprops: {\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tlinkShares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\treshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tisExternal: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\tsetup() {\n\t\treturn {\n\t\t\tshareInputId: `share-input-${Math.random().toString(36).slice(2, 7)}`,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tloading: false,\n\t\t\tquery: '',\n\t\t\trecommendations: [],\n\t\t\tShareSearch: OCA.Sharing.ShareSearch.state,\n\t\t\tsuggestions: [],\n\t\t\tvalue: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Implement ShareSearch\n\t\t * allows external appas to inject new\n\t\t * results into the autocomplete dropdown\n\t\t * Used for the guests app\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\texternalResults() {\n\t\t\treturn this.ShareSearch.results\n\t\t},\n\t\tinputPlaceholder() {\n\t\t\tconst allowRemoteSharing = this.config.isRemoteShareAllowed\n\n\t\t\tif (!this.canReshare) {\n\t\t\t\treturn t('files_sharing', 'Resharing is not allowed')\n\t\t\t}\n\t\t\tif (this.placeholder) {\n\t\t\t\treturn this.placeholder\n\t\t\t}\n\n\t\t\t// We can always search with email addresses for users too\n\t\t\tif (!allowRemoteSharing) {\n\t\t\t\treturn t('files_sharing', 'Name or email …')\n\t\t\t}\n\n\t\t\treturn t('files_sharing', 'Name, email, or Federated Cloud ID …')\n\t\t},\n\n\t\tisValidQuery() {\n\t\t\treturn this.query && this.query.trim() !== '' && this.query.length > this.config.minSearchStringLength\n\t\t},\n\n\t\toptions() {\n\t\t\tif (this.isValidQuery) {\n\t\t\t\treturn this.suggestions\n\t\t\t}\n\t\t\treturn this.recommendations\n\t\t},\n\n\t\tnoResultText() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn t('files_sharing', 'Searching …')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'No elements found.')\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (!this.isExternal) {\n\t\t\t// We can only recommend users, groups etc for internal shares\n\t\t\tthis.getRecommendations()\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonSelected(option) {\n\t\t\tthis.value = null // Reset selected option\n\t\t\tthis.openSharingDetails(option)\n\t\t},\n\n\t\tasync asyncFind(query) {\n\t\t\t// save current query to check if we display\n\t\t\t// recommendations or search results\n\t\t\tthis.query = query.trim()\n\t\t\tif (this.isValidQuery) {\n\t\t\t\t// start loading now to have proper ux feedback\n\t\t\t\t// during the debounce\n\t\t\t\tthis.loading = true\n\t\t\t\tawait this.debounceGetSuggestions(query)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Get suggestions\n\t\t *\n\t\t * @param {string} search the search query\n\t\t * @param {boolean} [lookup] search on lookup server\n\t\t */\n\t\tasync getSuggestions(search, lookup = false) {\n\t\t\tthis.loading = true\n\n\t\t\tif (getCapabilities().files_sharing.sharee.query_lookup_default === true) {\n\t\t\t\tlookup = true\n\t\t\t}\n\n\t\t\tlet shareType = []\n\n\t\t\tconst remoteTypes = [ShareType.Remote, ShareType.RemoteGroup]\n\n\t\t\tif (this.isExternal && !this.config.showFederatedSharesAsInternal) {\n\t\t\t\tshareType.push(...remoteTypes)\n\t\t\t} else {\n\t\t\t\tshareType = shareType.concat([\n\t\t\t\t\tShareType.User,\n\t\t\t\t\tShareType.Group,\n\t\t\t\t\tShareType.Team,\n\t\t\t\t\tShareType.Room,\n\t\t\t\t\tShareType.Guest,\n\t\t\t\t\tShareType.Deck,\n\t\t\t\t\tShareType.ScienceMesh,\n\t\t\t\t])\n\n\t\t\t\tif (this.config.showFederatedSharesAsInternal) {\n\t\t\t\t\tshareType.push(...remoteTypes)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (getCapabilities().files_sharing.public.enabled === true && this.isExternal) {\n\t\t\t\tshareType.push(ShareType.Email)\n\t\t\t}\n\n\t\t\tlet request = null\n\t\t\ttry {\n\t\t\t\trequest = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: this.fileInfo.type === 'dir' ? 'folder' : 'file',\n\t\t\t\t\t\tsearch,\n\t\t\t\t\t\tlookup,\n\t\t\t\t\t\tperPage: this.config.maxAutocompleteResults,\n\t\t\t\t\t\tshareType,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error fetching suggestions', error)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst data = request.data.ocs.data\n\t\t\tconst exact = request.data.ocs.data.exact\n\t\t\tdata.exact = [] // removing exact from general results\n\n\t\t\t// flatten array of arrays\n\t\t\tconst rawExactSuggestions = Object.values(exact).reduce((arr, elem) => arr.concat(elem), [])\n\t\t\tconst rawSuggestions = Object.values(data).reduce((arr, elem) => arr.concat(elem), [])\n\n\t\t\t// remove invalid data and format to user-select layout\n\t\t\tconst exactSuggestions = this.filterOutExistingShares(rawExactSuggestions)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t// sort by type so we can get user&groups first...\n\t\t\t\t.sort((a, b) => a.shareType - b.shareType)\n\t\t\tconst suggestions = this.filterOutExistingShares(rawSuggestions)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t// sort by type so we can get user&groups first...\n\t\t\t\t.sort((a, b) => a.shareType - b.shareType)\n\n\t\t\t// lookup clickable entry\n\t\t\t// show if enabled and not already requested\n\t\t\tconst lookupEntry = []\n\t\t\tif (data.lookupEnabled && !lookup) {\n\t\t\t\tlookupEntry.push({\n\t\t\t\t\tid: 'global-lookup',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tdisplayName: t('files_sharing', 'Search globally'),\n\t\t\t\t\tlookup: true,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// if there is a condition specified, filter it\n\t\t\tconst externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))\n\n\t\t\tconst allSuggestions = exactSuggestions.concat(suggestions).concat(externalResults).concat(lookupEntry)\n\n\t\t\t// Count occurrences of display names in order to provide a distinguishable description if needed\n\t\t\tconst nameCounts = allSuggestions.reduce((nameCounts, result) => {\n\t\t\t\tif (!result.displayName) {\n\t\t\t\t\treturn nameCounts\n\t\t\t\t}\n\t\t\t\tif (!nameCounts[result.displayName]) {\n\t\t\t\t\tnameCounts[result.displayName] = 0\n\t\t\t\t}\n\t\t\t\tnameCounts[result.displayName]++\n\t\t\t\treturn nameCounts\n\t\t\t}, {})\n\n\t\t\tthis.suggestions = allSuggestions.map(item => {\n\t\t\t\t// Make sure that items with duplicate displayName get the shareWith applied as a description\n\t\t\t\tif (nameCounts[item.displayName] > 1 && !item.desc) {\n\t\t\t\t\treturn { ...item, desc: item.shareWithDisplayNameUnique }\n\t\t\t\t}\n\t\t\t\treturn item\n\t\t\t})\n\n\t\t\tthis.loading = false\n\t\t\tconsole.info('suggestions', this.suggestions)\n\t\t},\n\n\t\t/**\n\t\t * Debounce getSuggestions\n\t\t *\n\t\t * @param {...*} args the arguments\n\t\t */\n\t\tdebounceGetSuggestions: debounce(function(...args) {\n\t\t\tthis.getSuggestions(...args)\n\t\t}, 300),\n\n\t\t/**\n\t\t * Get the sharing recommendations\n\t\t */\n\t\tasync getRecommendations() {\n\t\t\tthis.loading = true\n\n\t\t\tlet request = null\n\t\t\ttry {\n\t\t\t\trequest = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees_recommended'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: this.fileInfo.type,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error fetching recommendations', error)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Add external results from the OCA.Sharing.ShareSearch api\n\t\t\tconst externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))\n\n\t\t\t// flatten array of arrays\n\t\t\tconst rawRecommendations = Object.values(request.data.ocs.data.exact)\n\t\t\t\t.reduce((arr, elem) => arr.concat(elem), [])\n\n\t\t\t// remove invalid data and format to user-select layout\n\t\t\tthis.recommendations = this.filterOutExistingShares(rawRecommendations)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t.concat(externalResults)\n\n\t\t\tthis.loading = false\n\t\t\tconsole.info('recommendations', this.recommendations)\n\t\t},\n\n\t\t/**\n\t\t * Filter out existing shares from\n\t\t * the provided shares search results\n\t\t *\n\t\t * @param {object[]} shares the array of shares object\n\t\t * @return {object[]}\n\t\t */\n\t\tfilterOutExistingShares(shares) {\n\t\t\treturn shares.reduce((arr, share) => {\n\t\t\t\t// only check proper objects\n\t\t\t\tif (typeof share !== 'object') {\n\t\t\t\t\treturn arr\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tif (share.value.shareType === ShareType.User) {\n\t\t\t\t\t\t// filter out current user\n\t\t\t\t\t\tif (share.value.shareWith === getCurrentUser().uid) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// filter out the owner of the share\n\t\t\t\t\t\tif (this.reshare && share.value.shareWith === this.reshare.owner) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// filter out existing mail shares\n\t\t\t\t\tif (share.value.shareType === ShareType.Email) {\n\t\t\t\t\t\tconst emails = this.linkShares.map(elem => elem.shareWith)\n\t\t\t\t\t\tif (emails.indexOf(share.value.shareWith.trim()) !== -1) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t} else { // filter out existing shares\n\t\t\t\t\t\t// creating an object of uid => type\n\t\t\t\t\t\tconst sharesObj = this.shares.reduce((obj, elem) => {\n\t\t\t\t\t\t\tobj[elem.shareWith] = elem.type\n\t\t\t\t\t\t\treturn obj\n\t\t\t\t\t\t}, {})\n\n\t\t\t\t\t\t// if shareWith is the same and the share type too, ignore it\n\t\t\t\t\t\tconst key = share.value.shareWith.trim()\n\t\t\t\t\t\tif (key in sharesObj\n\t\t\t\t\t\t\t&& sharesObj[key] === share.value.shareType) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// ALL GOOD\n\t\t\t\t\t// let's add the suggestion\n\t\t\t\t\tarr.push(share)\n\t\t\t\t} catch {\n\t\t\t\t\treturn arr\n\t\t\t\t}\n\t\t\t\treturn arr\n\t\t\t}, [])\n\t\t},\n\n\t\t/**\n\t\t * Get the icon based on the share type\n\t\t *\n\t\t * @param {number} type the share type\n\t\t * @return {string} the icon class\n\t\t */\n\t\tshareTypeToIcon(type) {\n\t\t\tswitch (type) {\n\t\t\tcase ShareType.Guest:\n\t\t\t\t// default is a user, other icons are here to differentiate\n\t\t\t\t// themselves from it, so let's not display the user icon\n\t\t\t\t// case ShareType.Remote:\n\t\t\t\t// case ShareType.User:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Guest'),\n\t\t\t\t}\n\t\t\tcase ShareType.RemoteGroup:\n\t\t\tcase ShareType.Group:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-group',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Group'),\n\t\t\t\t}\n\t\t\tcase ShareType.Email:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-mail',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Email'),\n\t\t\t\t}\n\t\t\tcase ShareType.Team:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-teams',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Team'),\n\t\t\t\t}\n\t\t\tcase ShareType.Room:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-room',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Talk conversation'),\n\t\t\t\t}\n\t\t\tcase ShareType.Deck:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-deck',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Deck board'),\n\t\t\t\t}\n\t\t\tcase ShareType.Sciencemesh:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-sciencemesh',\n\t\t\t\t\ticonTitle: t('files_sharing', 'ScienceMesh'),\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\treturn {}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Format shares for the multiselect options\n\t\t *\n\t\t * @param {object} result select entry item\n\t\t * @return {object}\n\t\t */\n\t\tformatForMultiselect(result) {\n\t\t\tlet subname\n\t\t\tif (result.value.shareType === ShareType.User && this.config.shouldAlwaysShowUnique) {\n\t\t\t\tsubname = result.shareWithDisplayNameUnique ?? ''\n\t\t\t} else if ((result.value.shareType === ShareType.Remote\n\t\t\t\t\t|| result.value.shareType === ShareType.RemoteGroup\n\t\t\t) && result.value.server) {\n\t\t\t\tsubname = t('files_sharing', 'on {server}', { server: result.value.server })\n\t\t\t} else if (result.value.shareType === ShareType.Email) {\n\t\t\t\tsubname = result.value.shareWith\n\t\t\t} else {\n\t\t\t\tsubname = result.shareWithDescription ?? ''\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tshareWith: result.value.shareWith,\n\t\t\t\tshareType: result.value.shareType,\n\t\t\t\tuser: result.uuid || result.value.shareWith,\n\t\t\t\tisNoUser: result.value.shareType !== ShareType.User,\n\t\t\t\tdisplayName: result.name || result.label,\n\t\t\t\tsubname,\n\t\t\t\tshareWithDisplayNameUnique: result.shareWithDisplayNameUnique || '',\n\t\t\t\t...this.shareTypeToIcon(result.value.shareType),\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n.sharing-search {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 4px;\n\n\tlabel[for=\"sharing-search-input\"] {\n\t\tmargin-bottom: 2px;\n\t}\n\n\t&__input {\n\t\twidth: 100%;\n\t\tmargin: 10px 0;\n\t}\n}\n\n.vs__dropdown-menu {\n\t// properly style the lookup entry\n\tspan[lookup] {\n\t\t.avatardiv {\n\t\t\tbackground-image: var(--icon-search-white);\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tbackground-color: var(--color-text-maxcontrast) !important;\n\t\t\t.avatardiv__initials-wrapper {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=style&index=0&id=060f147f&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=style&index=0&id=060f147f&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInput.vue?vue&type=template&id=060f147f\"\nimport script from \"./SharingInput.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInput.vue?vue&type=style&index=0&id=060f147f&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.shares.length)?_c('ul',{attrs:{\"id\":\"sharing-inherited-shares\"}},[_c('SharingEntrySimple',{staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.mainTitle,\"subtitle\":_vm.subTitle,\"aria-expanded\":_vm.showInheritedShares},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-shared icon-more-white\"})]},proxy:true}],null,false,1184892072)},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"icon\":_vm.showInheritedSharesIcon,\"aria-label\":_vm.toggleTooltip,\"title\":_vm.toggleTooltip},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleInheritedShares.apply(null, arguments)}}})],1),_vm._v(\" \"),_vm._l((_vm.shares),function(share){return _c('SharingEntryInherited',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share},on:{\"remove:share\":_vm.removeShare}})})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport Config from '../services/ConfigService.ts';\nimport { showError, showSuccess } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nconst config = new Config();\n// note: some chars removed on purpose to make them human friendly when read out\nconst passwordSet = 'abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789';\n/**\n * Generate a valid policy password or request a valid password if password_policy is enabled\n *\n * @param {boolean} verbose If enabled the the status is shown to the user via toast\n */\nexport default async function (verbose = false) {\n // password policy is enabled, let's request a pass\n if (config.passwordPolicy.api && config.passwordPolicy.api.generate) {\n try {\n const request = await axios.get(config.passwordPolicy.api.generate);\n if (request.data.ocs.data.password) {\n if (verbose) {\n showSuccess(t('files_sharing', 'Password created successfully'));\n }\n return request.data.ocs.data.password;\n }\n }\n catch (error) {\n console.info('Error generating password from password_policy', error);\n if (verbose) {\n showError(t('files_sharing', 'Error generating password from password policy'));\n }\n }\n }\n const array = new Uint8Array(10);\n const ratio = passwordSet.length / 255;\n self.crypto.getRandomValues(array);\n let password = '';\n for (let i = 0; i < array.length; i++) {\n password += passwordSet.charAt(array[i] * ratio);\n }\n return password;\n}\n","import { getClient, getDefaultPropfind, getRootPath, resultToNode } from '@nextcloud/files/dav';\nexport const client = getClient();\nexport const fetchNode = async (path) => {\n const propfindPayload = getDefaultPropfind();\n const result = await client.stat(`${getRootPath()}${path}`, {\n details: true,\n data: propfindPayload,\n });\n return resultToNode(result.data);\n};\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { ShareType } from '@nextcloud/sharing'\nimport { emit } from '@nextcloud/event-bus'\n\nimport PQueue from 'p-queue'\nimport debounce from 'debounce'\n\nimport GeneratePassword from '../utils/GeneratePassword.ts'\nimport Share from '../models/Share.ts'\nimport SharesRequests from './ShareRequests.js'\nimport Config from '../services/ConfigService.ts'\nimport logger from '../services/logger.ts'\n\nimport {\n\tBUNDLED_PERMISSIONS,\n} from '../lib/SharePermissionsToolBox.js'\nimport { fetchNode } from '../../../files/src/services/WebdavClient.ts'\n\nexport default {\n\tmixins: [SharesRequests],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { },\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tnode: null,\n\t\t\tShareType,\n\n\t\t\t// errors helpers\n\t\t\terrors: {},\n\n\t\t\t// component status toggles\n\t\t\tloading: false,\n\t\t\tsaving: false,\n\t\t\topen: false,\n\n\t\t\t// concurrency management queue\n\t\t\t// we want one queue per share\n\t\t\tupdateQueue: new PQueue({ concurrency: 1 }),\n\n\t\t\t/**\n\t\t\t * ! This allow vue to make the Share class state reactive\n\t\t\t * ! do not remove it ot you'll lose all reactivity here\n\t\t\t */\n\t\t\treactiveState: this.share?.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tpath() {\n\t\t\treturn (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t},\n\t\t/**\n\t\t * Does the current share have a note\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasNote: {\n\t\t\tget() {\n\t\t\t\treturn this.share.note !== ''\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.note = enabled\n\t\t\t\t\t? null // enabled but user did not changed the content yet\n\t\t\t\t\t: '' // empty = no note = disabled\n\t\t\t},\n\t\t},\n\n\t\tdateTomorrow() {\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + 1))\n\t\t},\n\n\t\t// Datepicker language\n\t\tlang() {\n\t\t\tconst weekdaysShort = window.dayNamesShort\n\t\t\t\t? window.dayNamesShort // provided by Nextcloud\n\t\t\t\t: ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.']\n\t\t\tconst monthsShort = window.monthNamesShort\n\t\t\t\t? window.monthNamesShort // provided by Nextcloud\n\t\t\t\t: ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.']\n\t\t\tconst firstDayOfWeek = window.firstDay ? window.firstDay : 0\n\n\t\t\treturn {\n\t\t\t\tformatLocale: {\n\t\t\t\t\tfirstDayOfWeek,\n\t\t\t\t\tmonthsShort,\n\t\t\t\t\tweekdaysMin: weekdaysShort,\n\t\t\t\t\tweekdaysShort,\n\t\t\t\t},\n\t\t\t\tmonthFormat: 'MMM',\n\t\t\t}\n\t\t},\n\t\tisNewShare() {\n\t\t\treturn !this.share.id\n\t\t},\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\t\tisPublicShare() {\n\t\t\tconst shareType = this.share.shareType ?? this.share.type\n\t\t\treturn [ShareType.Link, ShareType.Email].includes(shareType)\n\t\t},\n\t\tisRemoteShare() {\n\t\t\treturn this.share.type === ShareType.RemoteGroup || this.share.type === ShareType.Remote\n\t\t},\n\t\tisShareOwner() {\n\t\t\treturn this.share && this.share.owner === getCurrentUser().uid\n\t\t},\n\t\tisExpiryDateEnforced() {\n\t\t\tif (this.isPublicShare) {\n\t\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t}\n\t\t\tif (this.isRemoteShare) {\n\t\t\t\treturn this.config.isDefaultRemoteExpireDateEnforced\n\t\t\t}\n\t\t\treturn this.config.isDefaultInternalExpireDateEnforced\n\t\t},\n\t\thasCustomPermissions() {\n\t\t\tconst bundledPermissions = [\n\t\t\t\tBUNDLED_PERMISSIONS.ALL,\n\t\t\t\tBUNDLED_PERMISSIONS.READ_ONLY,\n\t\t\t\tBUNDLED_PERMISSIONS.FILE_DROP,\n\t\t\t]\n\t\t\treturn !bundledPermissions.includes(this.share.permissions)\n\t\t},\n\t\tmaxExpirationDateEnforced() {\n\t\t\tif (this.isExpiryDateEnforced) {\n\t\t\t\tif (this.isPublicShare) {\n\t\t\t\t\treturn this.config.defaultExpirationDate\n\t\t\t\t}\n\t\t\t\tif (this.isRemoteShare) {\n\t\t\t\t\treturn this.config.defaultRemoteExpirationDateString\n\t\t\t\t}\n\t\t\t\t// If it get's here then it must be an internal share\n\t\t\t\treturn this.config.defaultInternalExpirationDate\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t\t/**\n\t\t * Is the current share password protected ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtected: {\n\t\t\tget() {\n\t\t\t\treturn this.config.enforcePasswordForPublicLink\n\t\t\t\t\t\t\t|| !!this.share.password\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tif (enabled) {\n\t\t\t\t\tthis.share.password = await GeneratePassword(true)\n\t\t\t\t\tthis.$set(this.share, 'newPassword', this.share.password)\n\t\t\t\t} else {\n\t\t\t\t\tthis.share.password = ''\n\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Fetch WebDAV node\n\t\t *\n\t\t * @return {Node}\n\t\t */\n\t\tasync getNode() {\n\t\t\tconst node = { path: this.path }\n\t\t\ttry {\n\t\t\t\tthis.node = await fetchNode(node.path)\n\t\t\t\tlogger.info('Fetched node:', { node: this.node })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Error:', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Check if a share is valid before\n\t\t * firing the request\n\t\t *\n\t\t * @param {Share} share the share to check\n\t\t * @return {boolean}\n\t\t */\n\t\tcheckShare(share) {\n\t\t\tif (share.password) {\n\t\t\t\tif (typeof share.password !== 'string' || share.password.trim() === '') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.expirationDate) {\n\t\t\t\tconst date = share.expirationDate\n\t\t\t\tif (!date.isValid()) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * @param {Date} date the date to format\n\t\t * @return {string} date a date with YYYY-MM-DD format\n\t\t */\n\t\tformatDateToString(date) {\n\t\t\t// Force utc time. Drop time information to be timezone-less\n\t\t\tconst utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n\t\t\t// Format to YYYY-MM-DD\n\t\t\treturn utcDate.toISOString().split('T')[0]\n\t\t},\n\n\t\t/**\n\t\t * Save given value to expireDate and trigger queueUpdate\n\t\t *\n\t\t * @param {Date} date\n\t\t */\n\t\tonExpirationChange(date) {\n\t\t\tif (!date) {\n\t\t\t\tthis.share.expireDate = null\n\t\t\t\tthis.$set(this.share, 'expireDate', null)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst parsedDate = (date instanceof Date) ? date : new Date(date)\n\t\t\tthis.share.expireDate = this.formatDateToString(parsedDate)\n\t\t},\n\n\t\t/**\n\t\t * Note changed, let's save it to a different key\n\t\t *\n\t\t * @param {string} note the share note\n\t\t */\n\t\tonNoteChange(note) {\n\t\t\tthis.$set(this.share, 'newNote', note.trim())\n\t\t},\n\n\t\t/**\n\t\t * When the note change, we trim, save and dispatch\n\t\t *\n\t\t */\n\t\tonNoteSubmit() {\n\t\t\tif (this.share.newNote) {\n\t\t\t\tthis.share.note = this.share.newNote\n\t\t\t\tthis.$delete(this.share, 'newNote')\n\t\t\t\tthis.queueUpdate('note')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete share button handler\n\t\t */\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.open = false\n\t\t\t\tawait this.deleteShare(this.share.id)\n\t\t\t\tconsole.debug('Share deleted', this.share.id)\n\t\t\t\tconst message = this.share.itemType === 'file'\n\t\t\t\t\t? t('files_sharing', 'File \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\t\t: t('files_sharing', 'Folder \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\tshowSuccess(message)\n\t\t\t\tthis.$emit('remove:share', this.share)\n\t\t\t\tawait this.getNode()\n\t\t\t\temit('files:node:updated', this.node)\n\t\t\t} catch (error) {\n\t\t\t\t// re-open menu if error\n\t\t\t\tthis.open = true\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Send an update of the share to the queue\n\t\t *\n\t\t * @param {Array<string>} propertyNames the properties to sync\n\t\t */\n\t\tqueueUpdate(...propertyNames) {\n\t\t\tif (propertyNames.length === 0) {\n\t\t\t\t// Nothing to update\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.share.id) {\n\t\t\t\tconst properties = {}\n\t\t\t\t// force value to string because that is what our\n\t\t\t\t// share api controller accepts\n\t\t\t\tpropertyNames.forEach(name => {\n\t\t\t\t\tif (this.share[name] === null || this.share[name] === undefined) {\n\t\t\t\t\t\tproperties[name] = ''\n\t\t\t\t\t} else if ((typeof this.share[name]) === 'object') {\n\t\t\t\t\t\tproperties[name] = JSON.stringify(this.share[name])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tproperties[name] = this.share[name].toString()\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\treturn this.updateQueue.add(async () => {\n\t\t\t\t\tthis.saving = true\n\t\t\t\t\tthis.errors = {}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst updatedShare = await this.updateShare(this.share.id, properties)\n\n\t\t\t\t\t\tif (propertyNames.indexOf('password') >= 0) {\n\t\t\t\t\t\t\t// reset password state after sync\n\t\t\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t\t\t\t\t// updates password expiration time after sync\n\t\t\t\t\t\t\tthis.share.passwordExpirationTime = updatedShare.password_expiration_time\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// clear any previous errors\n\t\t\t\t\t\tthis.$delete(this.errors, propertyNames[0])\n\t\t\t\t\t\tshowSuccess(this.updateSuccessMessage(propertyNames))\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tlogger.error('Could not update share', { error, share: this.share, propertyNames })\n\n\t\t\t\t\t\tconst { message } = error\n\t\t\t\t\t\tif (message && message !== '') {\n\t\t\t\t\t\t\tthis.onSyncError(propertyNames[0], message)\n\t\t\t\t\t\t\tshowError(message)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// We do not have information what happened, but we should still inform the user\n\t\t\t\t\t\t\tshowError(t('files_sharing', 'Could not update share'))\n\t\t\t\t\t\t}\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis.saving = false\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// This share does not exists on the server yet\n\t\t\tconsole.debug('Updated local share', this.share)\n\t\t},\n\n\t\t/**\n\t\t * @param {string[]} names Properties changed\n\t\t */\n\t\tupdateSuccessMessage(names) {\n\t\t\tif (names.length !== 1) {\n\t\t\t\treturn t('files_sharing', 'Share saved')\n\t\t\t}\n\n\t\t\tswitch (names[0]) {\n\t\t\tcase 'expireDate':\n\t\t\t\treturn t('files_sharing', 'Share expiry date saved')\n\t\t\tcase 'hideDownload':\n\t\t\t\treturn t('files_sharing', 'Share hide-download state saved')\n\t\t\tcase 'label':\n\t\t\t\treturn t('files_sharing', 'Share label saved')\n\t\t\tcase 'note':\n\t\t\t\treturn t('files_sharing', 'Share note for recipient saved')\n\t\t\tcase 'password':\n\t\t\t\treturn t('files_sharing', 'Share password saved')\n\t\t\tcase 'permissions':\n\t\t\t\treturn t('files_sharing', 'Share permissions saved')\n\t\t\tdefault:\n\t\t\t\treturn t('files_sharing', 'Share saved')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Manage sync errors\n\t\t *\n\t\t * @param {string} property the errored property, e.g. 'password'\n\t\t * @param {string} message the error message\n\t\t */\n\t\tonSyncError(property, message) {\n\t\t\t// re-open menu if closed\n\t\t\tthis.open = true\n\t\t\tswitch (property) {\n\t\t\tcase 'password':\n\t\t\tcase 'pending':\n\t\t\tcase 'expireDate':\n\t\t\tcase 'label':\n\t\t\tcase 'note': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\tlet propertyEl = this.$refs[property]\n\t\t\t\tif (propertyEl) {\n\t\t\t\t\tif (propertyEl.$el) {\n\t\t\t\t\t\tpropertyEl = propertyEl.$el\n\t\t\t\t\t}\n\t\t\t\t\t// focus if there is a focusable action element\n\t\t\t\t\tconst focusable = propertyEl.querySelector('.focusable')\n\t\t\t\t\tif (focusable) {\n\t\t\t\t\t\tfocusable.focus()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'sendPasswordByTalk': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t// Restore previous state\n\t\t\t\tthis.share.sendPasswordByTalk = !this.share.sendPasswordByTalk\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Debounce queueUpdate to avoid requests spamming\n\t\t * more importantly for text data\n\t\t *\n\t\t * @param {string} property the property to sync\n\t\t */\n\t\tdebounceQueueUpdate: debounce(function(property) {\n\t\t\tthis.queueUpdate(property)\n\t\t}, 500),\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<SharingEntrySimple :key=\"share.id\"\n\t\tclass=\"sharing-entry__inherited\"\n\t\t:title=\"share.shareWithDisplayName\">\n\t\t<template #avatar>\n\t\t\t<NcAvatar :user=\"share.shareWith\"\n\t\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t\tclass=\"sharing-entry__avatar\" />\n\t\t</template>\n\t\t<NcActionText icon=\"icon-user\">\n\t\t\t{{ t('files_sharing', 'Added by {initiator}', { initiator: share.ownerDisplayName }) }}\n\t\t</NcActionText>\n\t\t<NcActionLink v-if=\"share.viaPath && share.viaFileid\"\n\t\t\ticon=\"icon-folder\"\n\t\t\t:href=\"viaFileTargetUrl\">\n\t\t\t{{ t('files_sharing', 'Via “{folder}”', {folder: viaFolderName} ) }}\n\t\t</NcActionLink>\n\t\t<NcActionButton v-if=\"share.canDelete\"\n\t\t\ticon=\"icon-close\"\n\t\t\t@click.prevent=\"onDelete\">\n\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t</NcActionButton>\n\t</SharingEntrySimple>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { basename } from '@nextcloud/paths'\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\nimport NcActionLink from '@nextcloud/vue/components/NcActionLink'\nimport NcActionText from '@nextcloud/vue/components/NcActionText'\n\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share.js'\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport SharingEntrySimple from '../components/SharingEntrySimple.vue'\n\nexport default {\n\tname: 'SharingEntryInherited',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tNcActionLink,\n\t\tNcActionText,\n\t\tNcAvatar,\n\t\tSharingEntrySimple,\n\t},\n\n\tmixins: [SharesMixin],\n\n\tprops: {\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tviaFileTargetUrl() {\n\t\t\treturn generateUrl('/f/{fileid}', {\n\t\t\t\tfileid: this.share.viaFileid,\n\t\t\t})\n\t\t},\n\n\t\tviaFolderName() {\n\t\t\treturn basename(this.share.viaPath)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-inline-start: auto;\n\t}\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=style&index=0&id=fe8ed59e&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=style&index=0&id=fe8ed59e&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInherited.vue?vue&type=template&id=fe8ed59e&scoped=true\"\nimport script from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInherited.vue?vue&type=style&index=0&id=fe8ed59e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fe8ed59e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('SharingEntrySimple',{key:_vm.share.id,staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.share.shareWithDisplayName},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName}})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionText',{attrs:{\"icon\":\"icon-user\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Added by {initiator}', { initiator: _vm.share.ownerDisplayName }))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.share.viaPath && _vm.share.viaFileid)?_c('NcActionLink',{attrs:{\"icon\":\"icon-folder\",\"href\":_vm.viaFileTargetUrl}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Via “{folder}”', {folder: _vm.viaFolderName} ))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<ul v-if=\"shares.length\" id=\"sharing-inherited-shares\">\n\t\t<!-- Main collapsible entry -->\n\t\t<SharingEntrySimple class=\"sharing-entry__inherited\"\n\t\t\t:title=\"mainTitle\"\n\t\t\t:subtitle=\"subTitle\"\n\t\t\t:aria-expanded=\"showInheritedShares\">\n\t\t\t<template #avatar>\n\t\t\t\t<div class=\"avatar-shared icon-more-white\" />\n\t\t\t</template>\n\t\t\t<NcActionButton :icon=\"showInheritedSharesIcon\"\n\t\t\t\t:aria-label=\"toggleTooltip\"\n\t\t\t\t:title=\"toggleTooltip\"\n\t\t\t\t@click.prevent.stop=\"toggleInheritedShares\" />\n\t\t</SharingEntrySimple>\n\n\t\t<!-- Inherited shares list -->\n\t\t<SharingEntryInherited v-for=\"share in shares\"\n\t\t\t:key=\"share.id\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:share=\"share\"\n\t\t\t@remove:share=\"removeShare\" />\n\t</ul>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\nimport axios from '@nextcloud/axios'\n\nimport Share from '../models/Share.ts'\nimport SharingEntryInherited from '../components/SharingEntryInherited.vue'\nimport SharingEntrySimple from '../components/SharingEntrySimple.vue'\n\nexport default {\n\tname: 'SharingInherited',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tSharingEntryInherited,\n\t\tSharingEntrySimple,\n\t},\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloaded: false,\n\t\t\tloading: false,\n\t\t\tshowInheritedShares: false,\n\t\t\tshares: [],\n\t\t}\n\t},\n\tcomputed: {\n\t\tshowInheritedSharesIcon() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn 'icon-loading-small'\n\t\t\t}\n\t\t\tif (this.showInheritedShares) {\n\t\t\t\treturn 'icon-triangle-n'\n\t\t\t}\n\t\t\treturn 'icon-triangle-s'\n\t\t},\n\t\tmainTitle() {\n\t\t\treturn t('files_sharing', 'Others with access')\n\t\t},\n\t\tsubTitle() {\n\t\t\treturn (this.showInheritedShares && this.shares.length === 0)\n\t\t\t\t? t('files_sharing', 'No other accounts with access found')\n\t\t\t\t: ''\n\t\t},\n\t\ttoggleTooltip() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t\t\t? t('files_sharing', 'Toggle list of others with access to this directory')\n\t\t\t\t: t('files_sharing', 'Toggle list of others with access to this file')\n\t\t},\n\t\tfullPath() {\n\t\t\tconst path = `${this.fileInfo.path}/${this.fileInfo.name}`\n\t\t\treturn path.replace('//', '/')\n\t\t},\n\t},\n\twatch: {\n\t\tfileInfo() {\n\t\t\tthis.resetState()\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Toggle the list view and fetch/reset the state\n\t\t */\n\t\ttoggleInheritedShares() {\n\t\t\tthis.showInheritedShares = !this.showInheritedShares\n\t\t\tif (this.showInheritedShares) {\n\t\t\t\tthis.fetchInheritedShares()\n\t\t\t} else {\n\t\t\t\tthis.resetState()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Fetch the Inherited Shares array\n\t\t */\n\t\tasync fetchInheritedShares() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst url = generateOcsUrl('apps/files_sharing/api/v1/shares/inherited?format=json&path={path}', { path: this.fullPath })\n\t\t\t\tconst shares = await axios.get(url)\n\t\t\t\tthis.shares = shares.data.ocs.data\n\t\t\t\t\t.map(share => new Share(share))\n\t\t\t\t\t.sort((a, b) => b.createdTime - a.createdTime)\n\t\t\t\tconsole.info(this.shares)\n\t\t\t\tthis.loaded = true\n\t\t\t} catch (error) {\n\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Unable to fetch inherited shares'), { type: 'error' })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Reset current component state\n\t\t */\n\t\tresetState() {\n\t\t\tthis.loaded = false\n\t\t\tthis.loading = false\n\t\t\tthis.showInheritedShares = false\n\t\t\tthis.shares = []\n\t\t},\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\tconst index = this.shares.findIndex(item => item === share)\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.splice(index, 1)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry__inherited {\n\t.avatar-shared {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=style&index=0&id=a6cc72e6&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=style&index=0&id=a6cc72e6&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInherited.vue?vue&type=template&id=a6cc72e6&scoped=true\"\nimport script from \"./SharingInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInherited.vue?vue&type=style&index=0&id=a6cc72e6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a6cc72e6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.canLinkShare)?_c('ul',{staticClass:\"sharing-link-list\",attrs:{\"aria-label\":_vm.t('files_sharing', 'Link shares')}},[(!_vm.hasLinkShares && _vm.canReshare)?_c('SharingEntryLink',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo},on:{\"add:share\":_vm.addShare}}):_vm._e(),_vm._v(\" \"),(_vm.hasShares)?_vm._l((_vm.shares),function(share,index){return _c('SharingEntryLink',{key:share.id,attrs:{\"index\":_vm.shares.length > 1 ? index + 1 : null,\"can-reshare\":_vm.canReshare,\"share\":_vm.shares[index],\"file-info\":_vm.fileInfo},on:{\"update:share\":[function($event){return _vm.$set(_vm.shares, index, $event)},function($event){return _vm.awaitForShare(...arguments)}],\"add:share\":function($event){return _vm.addShare(...arguments)},\"remove:share\":_vm.removeShare,\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}):_vm._e()],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon tune-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"TuneIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Tune.vue?vue&type=template&id=18d04e6a\"\nimport script from \"./Tune.vue?vue&type=script&lang=js\"\nexport * from \"./Tune.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tune-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarBlank.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarBlank.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon calendar-blank-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CalendarBlankIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./CalendarBlank.vue?vue&type=template&id=41fe7db9\"\nimport script from \"./CalendarBlank.vue?vue&type=script&lang=js\"\nexport * from \"./CalendarBlank.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon calendar-blank-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon qrcode-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"QrcodeIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Qrcode.vue?vue&type=template&id=aba87788\"\nimport script from \"./Qrcode.vue?vue&type=script&lang=js\"\nexport * from \"./Qrcode.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon qrcode-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon exclamation-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ExclamationIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Exclamation.vue?vue&type=template&id=03239926\"\nimport script from \"./Exclamation.vue?vue&type=script&lang=js\"\nexport * from \"./Exclamation.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon exclamation-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Lock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Lock.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon lock-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"LockIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Lock.vue?vue&type=template&id=6d856da2\"\nimport script from \"./Lock.vue?vue&type=script&lang=js\"\nexport * from \"./Lock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon lock-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon check-bold-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CheckBoldIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./CheckBold.vue?vue&type=template&id=5603f41f\"\nimport script from \"./CheckBold.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBold.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon check-bold-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon triangle-small-down-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M8 9H16L12 16\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"TriangleSmallDownIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TriangleSmallDown.vue?vue&type=template&id=1eed3dd9\"\nimport script from \"./TriangleSmallDown.vue?vue&type=script&lang=js\"\nexport * from \"./TriangleSmallDown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon triangle-small-down-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8 9H16L12 16\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon eye-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"EyeOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./EyeOutline.vue?vue&type=template&id=e26de6f6\"\nimport script from \"./EyeOutline.vue?vue&type=script&lang=js\"\nexport * from \"./EyeOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon eye-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon file-upload-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"FileUploadIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileUpload.vue?vue&type=template&id=caa55e94\"\nimport script from \"./FileUpload.vue?vue&type=script&lang=js\"\nexport * from \"./FileUpload.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-upload-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcActions ref=\"quickShareActions\"\n\t\tclass=\"share-select\"\n\t\t:menu-name=\"selectedOption\"\n\t\t:aria-label=\"ariaLabel\"\n\t\ttype=\"tertiary-no-background\"\n\t\t:disabled=\"!share.canEdit\"\n\t\tforce-name>\n\t\t<template #icon>\n\t\t\t<DropdownIcon :size=\"15\" />\n\t\t</template>\n\t\t<NcActionButton v-for=\"option in options\"\n\t\t\t:key=\"option.label\"\n\t\t\ttype=\"radio\"\n\t\t\t:model-value=\"option.label === selectedOption\"\n\t\t\tclose-after-click\n\t\t\t@click=\"selectOption(option.label)\">\n\t\t\t<template #icon>\n\t\t\t\t<component :is=\"option.icon\" />\n\t\t\t</template>\n\t\t\t{{ option.label }}\n\t\t</NcActionButton>\n\t</NcActions>\n</template>\n\n<script>\nimport { ShareType } from '@nextcloud/sharing'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport DropdownIcon from 'vue-material-design-icons/TriangleSmallDown.vue'\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\nimport NcActions from '@nextcloud/vue/components/NcActions'\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\nimport IconEyeOutline from 'vue-material-design-icons/EyeOutline.vue'\nimport IconPencil from 'vue-material-design-icons/Pencil.vue'\nimport IconFileUpload from 'vue-material-design-icons/FileUpload.vue'\nimport IconTune from 'vue-material-design-icons/Tune.vue'\n\nimport {\n\tBUNDLED_PERMISSIONS,\n\tATOMIC_PERMISSIONS,\n} from '../lib/SharePermissionsToolBox.js'\n\nexport default {\n\tname: 'SharingEntryQuickShareSelect',\n\n\tcomponents: {\n\t\tDropdownIcon,\n\t\tNcActions,\n\t\tNcActionButton,\n\t},\n\n\tmixins: [SharesMixin, ShareDetails],\n\n\tprops: {\n\t\tshare: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\temits: ['open-sharing-details'],\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedOption: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tariaLabel() {\n\t\t\treturn t('files_sharing', 'Quick share options, the current selected is \"{selectedOption}\"', { selectedOption: this.selectedOption })\n\t\t},\n\t\tcanViewText() {\n\t\t\treturn t('files_sharing', 'View only')\n\t\t},\n\t\tcanEditText() {\n\t\t\treturn t('files_sharing', 'Can edit')\n\t\t},\n\t\tfileDropText() {\n\t\t\treturn t('files_sharing', 'File request')\n\t\t},\n\t\tcustomPermissionsText() {\n\t\t\treturn t('files_sharing', 'Custom permissions')\n\t\t},\n\t\tpreSelectedOption() {\n\t\t\t// We remove the share permission for the comparison as it is not relevant for bundled permissions.\n\t\t\tif ((this.share.permissions & ~ATOMIC_PERMISSIONS.SHARE) === BUNDLED_PERMISSIONS.READ_ONLY) {\n\t\t\t\treturn this.canViewText\n\t\t\t} else if (this.share.permissions === BUNDLED_PERMISSIONS.ALL || this.share.permissions === BUNDLED_PERMISSIONS.ALL_FILE) {\n\t\t\t\treturn this.canEditText\n\t\t\t} else if ((this.share.permissions & ~ATOMIC_PERMISSIONS.SHARE) === BUNDLED_PERMISSIONS.FILE_DROP) {\n\t\t\t\treturn this.fileDropText\n\t\t\t}\n\n\t\t\treturn this.customPermissionsText\n\n\t\t},\n\t\toptions() {\n\t\t\tconst options = [{\n\t\t\t\tlabel: this.canViewText,\n\t\t\t\ticon: IconEyeOutline,\n\t\t\t}, {\n\t\t\t\tlabel: this.canEditText,\n\t\t\t\ticon: IconPencil,\n\t\t\t}]\n\t\t\tif (this.supportsFileDrop) {\n\t\t\t\toptions.push({\n\t\t\t\t\tlabel: this.fileDropText,\n\t\t\t\t\ticon: IconFileUpload,\n\t\t\t\t})\n\t\t\t}\n\t\t\toptions.push({\n\t\t\t\tlabel: this.customPermissionsText,\n\t\t\t\ticon: IconTune,\n\t\t\t})\n\n\t\t\treturn options\n\t\t},\n\t\tsupportsFileDrop() {\n\t\t\tif (this.isFolder && this.config.isPublicUploadEnabled) {\n\t\t\t\tconst shareType = this.share.type ?? this.share.shareType\n\t\t\t\treturn [ShareType.Link, ShareType.Email].includes(shareType)\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tdropDownPermissionValue() {\n\t\t\tswitch (this.selectedOption) {\n\t\t\tcase this.canEditText:\n\t\t\t\treturn this.isFolder ? BUNDLED_PERMISSIONS.ALL : BUNDLED_PERMISSIONS.ALL_FILE\n\t\t\tcase this.fileDropText:\n\t\t\t\treturn BUNDLED_PERMISSIONS.FILE_DROP\n\t\t\tcase this.customPermissionsText:\n\t\t\t\treturn 'custom'\n\t\t\tcase this.canViewText:\n\t\t\tdefault:\n\t\t\t\treturn BUNDLED_PERMISSIONS.READ_ONLY\n\t\t\t}\n\t\t},\n\t},\n\n\tcreated() {\n\t\tthis.selectedOption = this.preSelectedOption\n\t},\n\tmounted() {\n\t\tsubscribe('update:share', (share) => {\n\t\t\tif (share.id === this.share.id) {\n\t\t\t\tthis.share.permissions = share.permissions\n\t\t\t\tthis.selectedOption = this.preSelectedOption\n\t\t\t}\n\t\t})\n\t},\n\tunmounted() {\n\t\tunsubscribe('update:share')\n\t},\n\tmethods: {\n\t\tselectOption(optionLabel) {\n\t\t\tthis.selectedOption = optionLabel\n\t\t\tif (optionLabel === this.customPermissionsText) {\n\t\t\t\tthis.$emit('open-sharing-details')\n\t\t\t} else {\n\t\t\t\tthis.share.permissions = this.dropDownPermissionValue\n\t\t\t\tthis.queueUpdate('permissions')\n\t\t\t\t// TODO: Add a focus method to NcActions or configurable returnFocus enabling to NcActionButton with closeAfterClick\n\t\t\t\tthis.$refs.quickShareActions.$refs.menuButton.$el.focus()\n\t\t\t}\n\t\t},\n\t},\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.share-select {\n\tdisplay: block;\n\n\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\n\t// Overrider NcActionms button to make it small\n\t:deep(.action-item__menutoggle) {\n\t\tcolor: var(--color-primary-element) !important;\n\t\tfont-size: 12.5px !important;\n\t\theight: auto !important;\n\t\tmin-height: auto !important;\n\n\t\t.button-vue__text {\n\t\t\tfont-weight: normal !important;\n\t\t}\n\n\t\t.button-vue__icon {\n\t\t\theight: 24px !important;\n\t\t\tmin-height: 24px !important;\n\t\t\twidth: 24px !important;\n\t\t\tmin-width: 24px !important;\n\t\t}\n\n\t\t.button-vue__wrapper {\n\t\t\t// Emulate NcButton's alignment=center-reverse\n\t\t\tflex-direction: row-reverse !important;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=2aa230f1&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=2aa230f1&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryQuickShareSelect.vue?vue&type=template&id=2aa230f1&scoped=true\"\nimport script from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=2aa230f1&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2aa230f1\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcActions',{ref:\"quickShareActions\",staticClass:\"share-select\",attrs:{\"menu-name\":_vm.selectedOption,\"aria-label\":_vm.ariaLabel,\"type\":\"tertiary-no-background\",\"disabled\":!_vm.share.canEdit,\"force-name\":\"\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DropdownIcon',{attrs:{\"size\":15}})]},proxy:true}])},[_vm._v(\" \"),_vm._l((_vm.options),function(option){return _c('NcActionButton',{key:option.label,attrs:{\"type\":\"radio\",\"model-value\":option.label === _vm.selectedOption,\"close-after-click\":\"\"},on:{\"click\":function($event){return _vm.selectOption(option.label)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(option.icon,{tag:\"component\"})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(option.label)+\"\\n\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"share-expiry-time\"},[_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [(_vm.expiryTime)?_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('files_sharing', 'Share expiration: {date}', { date: new Date(_vm.expiryTime).toLocaleString() })},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ClockIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,3754271979)}):_vm._e()]},proxy:true}])},[_vm._v(\" \"),_c('h3',{staticClass:\"hint-heading\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share Expiration'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.expiryTime)?_c('p',{staticClass:\"hint-body\"},[_c('NcDateTime',{attrs:{\"timestamp\":_vm.expiryTime,\"format\":_vm.timeFormat,\"relative-time\":false}}),_vm._v(\" (\"),_c('NcDateTime',{attrs:{\"timestamp\":_vm.expiryTime}}),_vm._v(\")\\n\\t\\t\")],1):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon clock-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ClockIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Clock.vue?vue&type=template&id=539578bc\"\nimport script from \"./Clock.vue?vue&type=script&lang=js\"\nexport * from \"./Clock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon clock-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<div class=\"share-expiry-time\">\n\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t<template #trigger>\n\t\t\t\t<NcButton v-if=\"expiryTime\"\n\t\t\t\t\tclass=\"hint-icon\"\n\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t:aria-label=\"t('files_sharing', 'Share expiration: {date}', { date: new Date(expiryTime).toLocaleString() })\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<ClockIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</template>\n\t\t\t<h3 class=\"hint-heading\">\n\t\t\t\t{{ t('files_sharing', 'Share Expiration') }}\n\t\t\t</h3>\n\t\t\t<p v-if=\"expiryTime\" class=\"hint-body\">\n\t\t\t\t<NcDateTime :timestamp=\"expiryTime\"\n\t\t\t\t\t:format=\"timeFormat\"\n\t\t\t\t\t:relative-time=\"false\" /> (<NcDateTime :timestamp=\"expiryTime\" />)\n\t\t\t</p>\n\t\t</NcPopover>\n\t</div>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcPopover from '@nextcloud/vue/components/NcPopover'\nimport NcDateTime from '@nextcloud/vue/components/NcDateTime'\nimport ClockIcon from 'vue-material-design-icons/Clock.vue'\n\nexport default {\n\tname: 'ShareExpiryTime',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcPopover,\n\t\tNcDateTime,\n\t\tClockIcon,\n\t},\n\n\tprops: {\n\t\tshare: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\texpiryTime() {\n\t\t\treturn this.share?.expireDate ? new Date(this.share.expireDate).getTime() : null\n\t\t},\n\t\ttimeFormat() {\n\t\t\treturn { dateStyle: 'full', timeStyle: 'short' }\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.share-expiry-time {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n .hint-icon {\n padding: 0;\n margin: 0;\n width: 24px;\n height: 24px;\n }\n}\n\n.hint-heading {\n text-align: center;\n font-size: 1rem;\n margin-top: 8px;\n padding-bottom: 8px;\n margin-bottom: 0;\n border-bottom: 1px solid var(--color-border);\n}\n\n.hint-body {\n padding: var(--border-radius-element);\n max-width: 300px;\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=style&index=0&id=46cd2ca2&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShareExpiryTime.vue?vue&type=style&index=0&id=46cd2ca2&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ShareExpiryTime.vue?vue&type=template&id=46cd2ca2&scoped=true\"\nimport script from \"./ShareExpiryTime.vue?vue&type=script&lang=js\"\nexport * from \"./ShareExpiryTime.vue?vue&type=script&lang=js\"\nimport style0 from \"./ShareExpiryTime.vue?vue&type=style&index=0&id=46cd2ca2&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"46cd2ca2\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExternalShareAction.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExternalShareAction.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<Component :is=\"data.is\"\n\t\tv-bind=\"data\"\n\t\tv-on=\"action.handlers\">\n\t\t{{ data.text }}\n\t</Component>\n</template>\n\n<script>\nimport Share from '../models/Share.ts'\n\nexport default {\n\tname: 'ExternalShareAction',\n\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\taction: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tdata() {\n\t\t\treturn this.action.data(this)\n\t\t},\n\t},\n}\n</script>\n","import { render, staticRenderFns } from \"./ExternalShareAction.vue?vue&type=template&id=2812a40a\"\nimport script from \"./ExternalShareAction.vue?vue&type=script&lang=js\"\nexport * from \"./ExternalShareAction.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.data.is,_vm._g(_vm._b({tag:\"Component\"},'Component',_vm.data,false),_vm.action.handlers),[_vm._v(\"\\n\\t\"+_vm._s(_vm.data.text)+\"\\n\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<li :class=\"{ 'sharing-entry--share': share }\"\n\t\tclass=\"sharing-entry sharing-entry__link\">\n\t\t<NcAvatar :is-no-user=\"true\"\n\t\t\t:icon-class=\"isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'\"\n\t\t\tclass=\"sharing-entry__avatar\" />\n\n\t\t<div class=\"sharing-entry__summary\">\n\t\t\t<div class=\"sharing-entry__desc\">\n\t\t\t\t<span class=\"sharing-entry__title\" :title=\"title\">\n\t\t\t\t\t{{ title }}\n\t\t\t\t</span>\n\t\t\t\t<p v-if=\"subtitle\">\n\t\t\t\t\t{{ subtitle }}\n\t\t\t\t</p>\n\t\t\t\t<SharingEntryQuickShareSelect v-if=\"share && share.permissions !== undefined\"\n\t\t\t\t\t:share=\"share\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t@open-sharing-details=\"openShareDetailsForCustomSettings(share)\" />\n\t\t\t</div>\n\n\t\t\t<div class=\"sharing-entry__actions\">\n\t\t\t\t<ShareExpiryTime v-if=\"share && share.expireDate\" :share=\"share\" />\n\n\t\t\t\t<!-- clipboard -->\n\t\t\t\t<div>\n\t\t\t\t\t<NcActions v-if=\"share && (!isEmailShareType || isFileRequest) && share.token\" ref=\"copyButton\" class=\"sharing-entry__copy\">\n\t\t\t\t\t\t<NcActionButton :aria-label=\"copyLinkTooltip\"\n\t\t\t\t\t\t\t:title=\"copyLinkTooltip\"\n\t\t\t\t\t\t\t:href=\"shareLink\"\n\t\t\t\t\t\t\t@click.prevent=\"copyLink\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<CheckIcon v-if=\"copied && copySuccess\"\n\t\t\t\t\t\t\t\t\t:size=\"20\"\n\t\t\t\t\t\t\t\t\tclass=\"icon-checkmark-color\" />\n\t\t\t\t\t\t\t\t<ClipboardIcon v-else :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t</NcActions>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<!-- pending actions -->\n\t\t<NcActions v-if=\"!pending && pendingDataIsMissing\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\t:aria-label=\"actionsTooltip\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:open.sync=\"open\"\n\t\t\t@close=\"onCancel\">\n\t\t\t<!-- pending data menu -->\n\t\t\t<NcActionText v-if=\"errors.pending\"\n\t\t\t\tclass=\"error\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<ErrorIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ errors.pending }}\n\t\t\t</NcActionText>\n\t\t\t<NcActionText v-else icon=\"icon-info\">\n\t\t\t\t{{ t('files_sharing', 'Please enter the following required information before creating the share') }}\n\t\t\t</NcActionText>\n\n\t\t\t<!-- password -->\n\t\t\t<NcActionCheckbox v-if=\"pendingPassword\"\n\t\t\t\t:checked.sync=\"isPasswordProtected\"\n\t\t\t\t:disabled=\"config.enforcePasswordForPublicLink || saving\"\n\t\t\t\tclass=\"share-link-password-checkbox\"\n\t\t\t\t@uncheck=\"onPasswordDisable\">\n\t\t\t\t{{ config.enforcePasswordForPublicLink ? t('files_sharing', 'Password protection (enforced)') : t('files_sharing', 'Password protection') }}\n\t\t\t</NcActionCheckbox>\n\n\t\t\t<NcActionInput v-if=\"pendingEnforcedPassword || share.password\"\n\t\t\t\tclass=\"share-link-password\"\n\t\t\t\t:label=\"t('files_sharing', 'Enter a password')\"\n\t\t\t\t:value.sync=\"share.password\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t:required=\"config.enableLinkPasswordByDefault || config.enforcePasswordForPublicLink\"\n\t\t\t\t:minlength=\"isPasswordPolicyEnabled && config.passwordPolicy.minLength\"\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t@submit=\"onNewLinkShare(true)\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<LockIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\n\t\t\t<NcActionCheckbox v-if=\"pendingDefaultExpirationDate\"\n\t\t\t\t:checked.sync=\"defaultExpirationDateEnabled\"\n\t\t\t\t:disabled=\"pendingEnforcedExpirationDate || saving\"\n\t\t\t\tclass=\"share-link-expiration-date-checkbox\"\n\t\t\t\t@update:model-value=\"onExpirationDateToggleUpdate\">\n\t\t\t\t{{ config.isDefaultExpireDateEnforced ? t('files_sharing', 'Enable link expiration (enforced)') : t('files_sharing', 'Enable link expiration') }}\n\t\t\t</NcActionCheckbox>\n\n\t\t\t<!-- expiration date -->\n\t\t\t<NcActionInput v-if=\"(pendingDefaultExpirationDate || pendingEnforcedExpirationDate) && defaultExpirationDateEnabled\"\n\t\t\t\tdata-cy-files-sharing-expiration-date-input\n\t\t\t\tclass=\"share-link-expire-date\"\n\t\t\t\t:label=\"pendingEnforcedExpirationDate ? t('files_sharing', 'Enter expiration date (enforced)') : t('files_sharing', 'Enter expiration date')\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t:is-native-picker=\"true\"\n\t\t\t\t:hide-label=\"true\"\n\t\t\t\t:value=\"new Date(share.expireDate)\"\n\t\t\t\ttype=\"date\"\n\t\t\t\t:min=\"dateTomorrow\"\n\t\t\t\t:max=\"maxExpirationDateEnforced\"\n\t\t\t\t@update:model-value=\"onExpirationChange\"\n\t\t\t\t@change=\"expirationDateChanged\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconCalendarBlank :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\n\t\t\t<NcActionButton @click.prevent.stop=\"onNewLinkShare(true)\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CheckIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('files_sharing', 'Create share') }}\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton @click.prevent.stop=\"onCancel\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CloseIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('files_sharing', 'Cancel') }}\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\n\t\t<!-- actions -->\n\t\t<NcActions v-else-if=\"!loading\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\t:aria-label=\"actionsTooltip\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:open.sync=\"open\"\n\t\t\t@close=\"onMenuClose\">\n\t\t\t<template v-if=\"share\">\n\t\t\t\t<template v-if=\"share.canEdit && canReshare\">\n\t\t\t\t\t<NcActionButton :disabled=\"saving\"\n\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t@click.prevent=\"openSharingDetails\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Tune :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t{{ t('files_sharing', 'Customize link') }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</template>\n\n\t\t\t\t<NcActionButton :close-after-click=\"true\"\n\t\t\t\t\t@click.prevent=\"showQRCode = true\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconQr :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_sharing', 'Generate QR code') }}\n\t\t\t\t</NcActionButton>\n\n\t\t\t\t<NcActionSeparator />\n\n\t\t\t\t<!-- external actions -->\n\t\t\t\t<ExternalShareAction v-for=\"action in externalLinkActions\"\n\t\t\t\t\t:id=\"action.id\"\n\t\t\t\t\t:key=\"action.id\"\n\t\t\t\t\t:action=\"action\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t:share=\"share\" />\n\n\t\t\t\t<!-- external legacy sharing via url (social...) -->\n\t\t\t\t<NcActionLink v-for=\"({ icon, url, name }, actionIndex) in externalLegacyLinkActions\"\n\t\t\t\t\t:key=\"actionIndex\"\n\t\t\t\t\t:href=\"url(shareLink)\"\n\t\t\t\t\t:icon=\"icon\"\n\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t{{ name }}\n\t\t\t\t</NcActionLink>\n\n\t\t\t\t<NcActionButton v-if=\"!isEmailShareType && canReshare\"\n\t\t\t\t\tclass=\"new-share-link\"\n\t\t\t\t\t@click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<PlusIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_sharing', 'Add another link') }}\n\t\t\t\t</NcActionButton>\n\n\t\t\t\t<NcActionButton v-if=\"share.canDelete\"\n\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t@click.prevent=\"onDelete\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<CloseIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\n\t\t\t<!-- Create new share -->\n\t\t\t<NcActionButton v-else-if=\"canReshare\"\n\t\t\t\tclass=\"new-share-link\"\n\t\t\t\t:title=\"t('files_sharing', 'Create a new share link')\"\n\t\t\t\t:aria-label=\"t('files_sharing', 'Create a new share link')\"\n\t\t\t\t:icon=\"loading ? 'icon-loading-small' : 'icon-add'\"\n\t\t\t\t@click.prevent.stop=\"onNewLinkShare\" />\n\t\t</NcActions>\n\n\t\t<!-- loading indicator to replace the menu -->\n\t\t<div v-else class=\"icon-loading-small sharing-entry__loading\" />\n\n\t\t<!-- Modal to open whenever we have a QR code -->\n\t\t<NcDialog v-if=\"showQRCode\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showQRCode\"\n\t\t\t:name=\"title\"\n\t\t\t:close-on-click-outside=\"true\"\n\t\t\t@close=\"showQRCode = false\">\n\t\t\t<div class=\"qr-code-dialog\">\n\t\t\t\t<VueQrcode tag=\"img\"\n\t\t\t\t\t:value=\"shareLink\"\n\t\t\t\t\tclass=\"qr-code-dialog__img\" />\n\t\t\t</div>\n\t\t</NcDialog>\n\t</li>\n</template>\n\n<script>\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { emit } from '@nextcloud/event-bus'\nimport { t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { generateUrl, getBaseUrl } from '@nextcloud/router'\nimport { ShareType } from '@nextcloud/sharing'\n\nimport VueQrcode from '@chenfengyuan/vue-qrcode'\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\nimport NcActionCheckbox from '@nextcloud/vue/components/NcActionCheckbox'\nimport NcActionInput from '@nextcloud/vue/components/NcActionInput'\nimport NcActionLink from '@nextcloud/vue/components/NcActionLink'\nimport NcActionText from '@nextcloud/vue/components/NcActionText'\nimport NcActionSeparator from '@nextcloud/vue/components/NcActionSeparator'\nimport NcActions from '@nextcloud/vue/components/NcActions'\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\nimport NcDialog from '@nextcloud/vue/components/NcDialog'\n\nimport Tune from 'vue-material-design-icons/Tune.vue'\nimport IconCalendarBlank from 'vue-material-design-icons/CalendarBlank.vue'\nimport IconQr from 'vue-material-design-icons/Qrcode.vue'\nimport ErrorIcon from 'vue-material-design-icons/Exclamation.vue'\nimport LockIcon from 'vue-material-design-icons/Lock.vue'\nimport CheckIcon from 'vue-material-design-icons/CheckBold.vue'\nimport ClipboardIcon from 'vue-material-design-icons/ContentCopy.vue'\nimport CloseIcon from 'vue-material-design-icons/Close.vue'\nimport PlusIcon from 'vue-material-design-icons/Plus.vue'\n\nimport SharingEntryQuickShareSelect from './SharingEntryQuickShareSelect.vue'\nimport ShareExpiryTime from './ShareExpiryTime.vue'\n\nimport ExternalShareAction from './ExternalShareAction.vue'\nimport GeneratePassword from '../utils/GeneratePassword.ts'\nimport Share from '../models/Share.ts'\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\nimport logger from '../services/logger.ts'\n\nexport default {\n\tname: 'SharingEntryLink',\n\n\tcomponents: {\n\t\tExternalShareAction,\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tNcActionCheckbox,\n\t\tNcActionInput,\n\t\tNcActionLink,\n\t\tNcActionText,\n\t\tNcActionSeparator,\n\t\tNcAvatar,\n\t\tNcDialog,\n\t\tVueQrcode,\n\t\tTune,\n\t\tIconCalendarBlank,\n\t\tIconQr,\n\t\tErrorIcon,\n\t\tLockIcon,\n\t\tCheckIcon,\n\t\tClipboardIcon,\n\t\tCloseIcon,\n\t\tPlusIcon,\n\t\tSharingEntryQuickShareSelect,\n\t\tShareExpiryTime,\n\t},\n\n\tmixins: [SharesMixin, ShareDetails],\n\n\tprops: {\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tindex: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshareCreationComplete: false,\n\t\t\tcopySuccess: true,\n\t\t\tcopied: false,\n\t\t\tdefaultExpirationDateEnabled: false,\n\n\t\t\t// Are we waiting for password/expiration date\n\t\t\tpending: false,\n\n\t\t\tExternalLegacyLinkActions: OCA.Sharing.ExternalLinkActions.state,\n\t\t\tExternalShareActions: OCA.Sharing.ExternalShareActions.state,\n\n\t\t\t// tracks whether modal should be opened or not\n\t\t\tshowQRCode: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Link share label\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\ttitle() {\n\t\t\tconst l10nOptions = { escape: false /* no escape as this string is already escaped by Vue */ }\n\n\t\t\t// if we have a valid existing share (not pending)\n\t\t\tif (this.share && this.share.id) {\n\t\t\t\tif (!this.isShareOwner && this.share.ownerDisplayName) {\n\t\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\t\treturn t('files_sharing', '{shareWith} by {initiator}', {\n\t\t\t\t\t\t\tshareWith: this.share.shareWith,\n\t\t\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t\t\t}, l10nOptions)\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Shared via link by {initiator}', {\n\t\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t\t}, l10nOptions)\n\t\t\t\t}\n\t\t\t\tif (this.share.label && this.share.label.trim() !== '') {\n\t\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\t\tif (this.isFileRequest) {\n\t\t\t\t\t\t\treturn t('files_sharing', 'File request ({label})', {\n\t\t\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t\t\t}, l10nOptions)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn t('files_sharing', 'Mail share ({label})', {\n\t\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t\t}, l10nOptions)\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Share link ({label})', {\n\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t}, l10nOptions)\n\t\t\t\t}\n\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\tif (!this.share.shareWith || this.share.shareWith.trim() === '') {\n\t\t\t\t\t\treturn this.isFileRequest\n\t\t\t\t\t\t\t? t('files_sharing', 'File request')\n\t\t\t\t\t\t\t: t('files_sharing', 'Mail share')\n\t\t\t\t\t}\n\t\t\t\t\treturn this.share.shareWith\n\t\t\t\t}\n\n\t\t\t\tif (this.index === null) {\n\t\t\t\t\treturn t('files_sharing', 'Share link')\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.index >= 1) {\n\t\t\t\treturn t('files_sharing', 'Share link ({index})', { index: this.index })\n\t\t\t}\n\n\t\t\treturn t('files_sharing', 'Create public link')\n\t\t},\n\n\t\t/**\n\t\t * Show the email on a second line if a label is set for mail shares\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tsubtitle() {\n\t\t\tif (this.isEmailShareType\n\t\t\t\t&& this.title !== this.share.shareWith) {\n\t\t\t\treturn this.share.shareWith\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\tpasswordExpirationTime() {\n\t\t\tif (this.share.passwordExpirationTime === null) {\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t\tconst expirationTime = moment(this.share.passwordExpirationTime)\n\n\t\t\tif (expirationTime.diff(moment()) < 0) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn expirationTime.fromNow()\n\t\t},\n\n\t\t/**\n\t\t * Is Talk enabled?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisTalkEnabled() {\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is it possible to protect the password by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalkAvailable() {\n\t\t\treturn this.isPasswordProtected && this.isTalkEnabled\n\t\t},\n\n\t\t/**\n\t\t * Is the current share password protected by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalk: {\n\t\t\tget() {\n\t\t\t\treturn this.share.sendPasswordByTalk\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tthis.share.sendPasswordByTalk = enabled\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is the current share an email share ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisEmailShareType() {\n\t\t\treturn this.share\n\t\t\t\t? this.share.type === ShareType.Email\n\t\t\t\t: false\n\t\t},\n\n\t\tcanTogglePasswordProtectedByTalkAvailable() {\n\t\t\tif (!this.isPasswordProtected) {\n\t\t\t\t// Makes no sense\n\t\t\t\treturn false\n\t\t\t} else if (this.isEmailShareType && !this.hasUnsavedPassword) {\n\t\t\t\t// For email shares we need a new password in order to enable or\n\t\t\t\t// disable\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Anything else should be fine\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * Pending data.\n\t\t * If the share still doesn't have an id, it is not synced\n\t\t * Therefore this is still not valid and requires user input\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tpendingDataIsMissing() {\n\t\t\treturn this.pendingPassword || this.pendingEnforcedPassword || this.pendingDefaultExpirationDate || this.pendingEnforcedExpirationDate\n\t\t},\n\t\tpendingPassword() {\n\t\t\treturn this.config.enableLinkPasswordByDefault && this.isPendingShare\n\t\t},\n\t\tpendingEnforcedPassword() {\n\t\t\treturn this.config.enforcePasswordForPublicLink && this.isPendingShare\n\t\t},\n\t\tpendingEnforcedExpirationDate() {\n\t\t\treturn this.config.isDefaultExpireDateEnforced && this.isPendingShare\n\t\t},\n\t\tpendingDefaultExpirationDate() {\n\t\t\treturn (this.config.defaultExpirationDate instanceof Date || !isNaN(new Date(this.config.defaultExpirationDate).getTime())) && this.isPendingShare\n\t\t},\n\t\tisPendingShare() {\n\t\t\treturn !!(this.share && !this.share.id)\n\t\t},\n\t\tsharePolicyHasEnforcedProperties() {\n\t\t\treturn this.config.enforcePasswordForPublicLink || this.config.isDefaultExpireDateEnforced\n\t\t},\n\n\t\tenforcedPropertiesMissing() {\n\t\t\t// Ensure share exist and the share policy has required properties\n\t\t\tif (!this.sharePolicyHasEnforcedProperties) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tif (!this.share) {\n\t\t\t\t// if no share, we can't tell if properties are missing or not so we assume properties are missing\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\t// If share has ID, then this is an incoming link share created from the existing link share\n\t\t\t// Hence assume required properties\n\t\t\tif (this.share.id) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t// Check if either password or expiration date is missing and enforced\n\t\t\tconst isPasswordMissing = this.config.enforcePasswordForPublicLink && !this.share.password\n\t\t\tconst isExpireDateMissing = this.config.isDefaultExpireDateEnforced && !this.share.expireDate\n\n\t\t\treturn isPasswordMissing || isExpireDateMissing\n\t\t},\n\t\t// if newPassword exists, but is empty, it means\n\t\t// the user deleted the original password\n\t\thasUnsavedPassword() {\n\t\t\treturn this.share.newPassword !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Return the public share link\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tshareLink() {\n\t\t\treturn generateUrl('/s/{token}', { token: this.share.token }, { baseURL: getBaseUrl() })\n\t\t},\n\n\t\t/**\n\t\t * Tooltip message for actions button\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tactionsTooltip() {\n\t\t\treturn t('files_sharing', 'Actions for \"{title}\"', { title: this.title })\n\t\t},\n\n\t\t/**\n\t\t * Tooltip message for copy button\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tcopyLinkTooltip() {\n\t\t\tif (this.copied) {\n\t\t\t\tif (this.copySuccess) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\treturn t('files_sharing', 'Cannot copy, please copy the link manually')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Copy public link of \"{title}\" to clipboard', { title: this.title })\n\t\t},\n\n\t\t/**\n\t\t * External additionnai actions for the menu\n\t\t *\n\t\t * @deprecated use OCA.Sharing.ExternalShareActions\n\t\t * @return {Array}\n\t\t */\n\t\texternalLegacyLinkActions() {\n\t\t\treturn this.ExternalLegacyLinkActions.actions\n\t\t},\n\n\t\t/**\n\t\t * Additional actions for the menu\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\texternalLinkActions() {\n\t\t\tconst filterValidAction = (action) => (action.shareType.includes(ShareType.Link) || action.shareType.includes(ShareType.Email)) && !action.advanced\n\t\t\t// filter only the registered actions for said link\n\t\t\treturn this.ExternalShareActions.actions\n\t\t\t\t.filter(filterValidAction)\n\t\t},\n\n\t\tisPasswordPolicyEnabled() {\n\t\t\treturn typeof this.config.passwordPolicy === 'object'\n\t\t},\n\n\t\tcanChangeHideDownload() {\n\t\t\tconst hasDisabledDownload = (shareAttribute) => shareAttribute.scope === 'permissions' && shareAttribute.key === 'download' && shareAttribute.value === false\n\t\t\treturn this.fileInfo.shareAttributes.some(hasDisabledDownload)\n\t\t},\n\n\t\tisFileRequest() {\n\t\t\treturn this.share.isFileRequest\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.defaultExpirationDateEnabled = this.config.defaultExpirationDate instanceof Date\n\t\tif (this.share && this.isNewShare) {\n\t\t\tthis.share.expireDate = this.defaultExpirationDateEnabled ? this.formatDateToString(this.config.defaultExpirationDate) : ''\n\t\t}\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Check if the share requires review\n\t\t *\n\t\t * @param {boolean} shareReviewComplete if the share was reviewed\n\t\t * @return {boolean}\n\t\t */\n\t\tshareRequiresReview(shareReviewComplete) {\n\t\t\t// If a user clicks 'Create share' it means they have reviewed the share\n\t\t\tif (shareReviewComplete) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn this.defaultExpirationDateEnabled || this.config.enableLinkPasswordByDefault\n\t\t},\n\t\t/**\n\t\t * Create a new share link and append it to the list\n\t\t * @param {boolean} shareReviewComplete if the share was reviewed\n\t\t */\n\t\tasync onNewLinkShare(shareReviewComplete = false) {\n\t\t\tlogger.debug('onNewLinkShare called (with this.share)', this.share)\n\t\t\t// do not run again if already loading\n\t\t\tif (this.loading) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst shareDefaults = {\n\t\t\t\tshare_type: ShareType.Link,\n\t\t\t}\n\t\t\tif (this.config.isDefaultExpireDateEnforced) {\n\t\t\t\t// default is empty string if not set\n\t\t\t\t// expiration is the share object key, not expireDate\n\t\t\t\tshareDefaults.expiration = this.formatDateToString(this.config.defaultExpirationDate)\n\t\t\t}\n\n\t\t\tlogger.debug('Missing required properties?', this.enforcedPropertiesMissing)\n\t\t\t// Do not push yet if we need a password or an expiration date: show pending menu\n\t\t\t// A share would require a review for example is default expiration date is set but not enforced, this allows\n\t\t\t// the user to review the share and remove the expiration date if they don't want it\n\t\t\tif ((this.sharePolicyHasEnforcedProperties && this.enforcedPropertiesMissing) || this.shareRequiresReview(shareReviewComplete === true)) {\n\t\t\t\tthis.pending = true\n\t\t\t\tthis.shareCreationComplete = false\n\n\t\t\t\tlogger.info('Share policy requires a review or has mandated properties (password, expirationDate)...')\n\n\t\t\t\t// ELSE, show the pending popovermenu\n\t\t\t\t// if password default or enforced, pre-fill with random one\n\t\t\t\tif (this.config.enableLinkPasswordByDefault || this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\tshareDefaults.password = await GeneratePassword(true)\n\t\t\t\t}\n\n\t\t\t\t// create share & close menu\n\t\t\t\tconst share = new Share(shareDefaults)\n\t\t\t\tconst component = await new Promise(resolve => {\n\t\t\t\t\tthis.$emit('add:share', share, resolve)\n\t\t\t\t})\n\n\t\t\t\t// open the menu on the\n\t\t\t\t// freshly created share component\n\t\t\t\tthis.open = false\n\t\t\t\tthis.pending = false\n\t\t\t\tcomponent.open = true\n\n\t\t\t\t// Nothing is enforced, creating share directly\n\t\t\t} else {\n\n\t\t\t\t// if a share already exists, pushing it\n\t\t\t\tif (this.share && !this.share.id) {\n\t\t\t\t\t// if the share is valid, create it on the server\n\t\t\t\t\tif (this.checkShare(this.share)) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tlogger.info('Sending existing share to server', this.share)\n\t\t\t\t\t\t\tawait this.pushNewLinkShare(this.share, true)\n\t\t\t\t\t\t\tthis.shareCreationComplete = true\n\t\t\t\t\t\t\tlogger.info('Share created on server', this.share)\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tthis.pending = false\n\t\t\t\t\t\t\tlogger.error('Error creating share', e)\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.open = true\n\t\t\t\t\t\tshowError(t('files_sharing', 'Error, please enter proper password and/or expiration date'))\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst share = new Share(shareDefaults)\n\t\t\t\tawait this.pushNewLinkShare(share)\n\t\t\t\tthis.shareCreationComplete = true\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Push a new link share to the server\n\t\t * And update or append to the list\n\t\t * accordingly\n\t\t *\n\t\t * @param {Share} share the new share\n\t\t * @param {boolean} [update] do we update the current share ?\n\t\t */\n\t\tasync pushNewLinkShare(share, update) {\n\t\t\ttry {\n\t\t\t\t// do nothing if we're already pending creation\n\t\t\t\tif (this.loading) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.errors = {}\n\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t\t\tconst options = {\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: ShareType.Link,\n\t\t\t\t\tpassword: share.password,\n\t\t\t\t\texpireDate: share.expireDate ?? '',\n\t\t\t\t\tattributes: JSON.stringify(this.fileInfo.shareAttributes),\n\t\t\t\t\t// we do not allow setting the publicUpload\n\t\t\t\t\t// before the share creation.\n\t\t\t\t\t// Todo: We also need to fix the createShare method in\n\t\t\t\t\t// lib/Controller/ShareAPIController.php to allow file requests\n\t\t\t\t\t// (currently not supported on create, only update)\n\t\t\t\t}\n\n\t\t\t\tconsole.debug('Creating link share with options', options)\n\t\t\t\tconst newShare = await this.createShare(options)\n\n\t\t\t\tthis.open = false\n\t\t\t\tthis.shareCreationComplete = true\n\t\t\t\tconsole.debug('Link share created', newShare)\n\t\t\t\t// if share already exists, copy link directly on next tick\n\t\t\t\tlet component\n\t\t\t\tif (update) {\n\t\t\t\t\tcomponent = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('update:share', newShare, resolve)\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\t// adding new share to the array and copying link to clipboard\n\t\t\t\t\t// using promise so that we can copy link in the same click function\n\t\t\t\t\t// and avoid firefox copy permissions issue\n\t\t\t\t\tcomponent = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('add:share', newShare, resolve)\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tawait this.getNode()\n\t\t\t\temit('files:node:updated', this.node)\n\n\t\t\t\t// Execute the copy link method\n\t\t\t\t// freshly created share component\n\t\t\t\t// ! somehow does not works on firefox !\n\t\t\t\tif (!this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\t// Only copy the link when the password was not forced,\n\t\t\t\t\t// otherwise the user needs to copy/paste the password before finishing the share.\n\t\t\t\t\tcomponent.copyLink()\n\t\t\t\t}\n\t\t\t\tshowSuccess(t('files_sharing', 'Link share created'))\n\n\t\t\t} catch (data) {\n\t\t\t\tconst message = data?.response?.data?.ocs?.meta?.message\n\t\t\t\tif (!message) {\n\t\t\t\t\tshowError(t('files_sharing', 'Error while creating the share'))\n\t\t\t\t\tconsole.error(data)\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif (message.match(/password/i)) {\n\t\t\t\t\tthis.onSyncError('password', message)\n\t\t\t\t} else if (message.match(/date/i)) {\n\t\t\t\t\tthis.onSyncError('expireDate', message)\n\t\t\t\t} else {\n\t\t\t\t\tthis.onSyncError('pending', message)\n\t\t\t\t}\n\t\t\t\tthrow data\n\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t\tthis.shareCreationComplete = true\n\t\t\t}\n\t\t},\n\t\tasync copyLink() {\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(this.shareLink)\n\t\t\t\tshowSuccess(t('files_sharing', 'Link copied'))\n\t\t\t\t// focus and show the tooltip\n\t\t\t\tthis.$refs.copyButton.$el.focus()\n\t\t\t\tthis.copySuccess = true\n\t\t\t\tthis.copied = true\n\t\t\t} catch (error) {\n\t\t\t\tthis.copySuccess = false\n\t\t\t\tthis.copied = true\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.copySuccess = false\n\t\t\t\t\tthis.copied = false\n\t\t\t\t}, 4000)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update newPassword values\n\t\t * of share. If password is set but not newPassword\n\t\t * then the user did not changed the password\n\t\t * If both co-exists, the password have changed and\n\t\t * we show it in plain text.\n\t\t * Then on submit (or menu close), we sync it.\n\t\t *\n\t\t * @param {string} password the changed password\n\t\t */\n\t\tonPasswordChange(password) {\n\t\t\tthis.$set(this.share, 'newPassword', password)\n\t\t},\n\n\t\t/**\n\t\t * Uncheck password protection\n\t\t * We need this method because @update:checked\n\t\t * is ran simultaneously as @uncheck, so we\n\t\t * cannot ensure data is up-to-date\n\t\t */\n\t\tonPasswordDisable() {\n\t\t\tthis.share.password = ''\n\n\t\t\t// reset password state after sync\n\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t// only update if valid share.\n\t\t\tif (this.share.id) {\n\t\t\t\tthis.queueUpdate('password')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Menu have been closed or password has been submitted.\n\t\t * The only property that does not get\n\t\t * synced automatically is the password\n\t\t * So let's check if we have an unsaved\n\t\t * password.\n\t\t * expireDate is saved on datepicker pick\n\t\t * or close.\n\t\t */\n\t\tonPasswordSubmit() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t\tthis.queueUpdate('password')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update the password along with \"sendPasswordByTalk\".\n\t\t *\n\t\t * If the password was modified the new password is sent; otherwise\n\t\t * updating a mail share would fail, as in that case it is required that\n\t\t * a new password is set when enabling or disabling\n\t\t * \"sendPasswordByTalk\".\n\t\t */\n\t\tonPasswordProtectedByTalkChange() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t}\n\n\t\t\tthis.queueUpdate('sendPasswordByTalk', 'password')\n\t\t},\n\n\t\t/**\n\t\t * Save potential changed data on menu close\n\t\t */\n\t\tonMenuClose() {\n\t\t\tthis.onPasswordSubmit()\n\t\t\tthis.onNoteSubmit()\n\t\t},\n\n\t\t/**\n\t\t * @param enabled True if expiration is enabled\n\t\t */\n\t\tonExpirationDateToggleUpdate(enabled) {\n\t\t\tthis.share.expireDate = enabled ? this.formatDateToString(this.config.defaultExpirationDate) : ''\n\t\t},\n\n\t\texpirationDateChanged(event) {\n\t\t\tconst value = event?.target?.value\n\t\t\tconst isValid = !!value && !isNaN(new Date(value).getTime())\n\t\t\tthis.defaultExpirationDateEnabled = isValid\n\t\t},\n\n\t\t/**\n\t\t * Cancel the share creation\n\t\t * Used in the pending popover\n\t\t */\n\t\tonCancel() {\n\t\t\t// this.share already exists at this point,\n\t\t\t// but is incomplete as not pushed to server\n\t\t\t// YET. We can safely delete the share :)\n\t\t\tif (!this.shareCreationComplete) {\n\t\t\t\tthis.$emit('remove:share', this.share)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\t}\n\n\t\t&__desc {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tline-height: 1.2em;\n\n\t\t\tp {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&__title {\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\t\t}\n\n\t\t&__actions {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tmargin-inline-start: auto;\n\t\t}\n\n\t&:not(.sharing-entry--share) &__actions {\n\t\t.new-share-link {\n\t\t\tborder-top: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t:deep(.avatar-link-share) {\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t.sharing-entry__action--public-upload {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&__loading {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tmargin: 0;\n\t\tpadding: 14px;\n\t\tmargin-inline-start: auto;\n\t}\n\n\t// put menus to the left\n\t// but only the first one\n\t.action-item {\n\n\t\t~.action-item,\n\t\t~.sharing-entry__loading {\n\t\t\tmargin-inline-start: 0;\n\t\t}\n\t}\n\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n\n// styling for the qr-code container\n.qr-code-dialog {\n\tdisplay: flex;\n\twidth: 100%;\n\tjustify-content: center;\n\n\t&__img {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=style&index=0&id=48fba0bf&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=style&index=0&id=48fba0bf&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryLink.vue?vue&type=template&id=48fba0bf&scoped=true\"\nimport script from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryLink.vue?vue&type=style&index=0&id=48fba0bf&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"48fba0bf\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<ul v-if=\"canLinkShare\"\n\t\t:aria-label=\"t('files_sharing', 'Link shares')\"\n\t\tclass=\"sharing-link-list\">\n\t\t<!-- If no link shares, show the add link default entry -->\n\t\t<SharingEntryLink v-if=\"!hasLinkShares && canReshare\"\n\t\t\t:can-reshare=\"canReshare\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t@add:share=\"addShare\" />\n\n\t\t<!-- Else we display the list -->\n\t\t<template v-if=\"hasShares\">\n\t\t\t<!-- using shares[index] to work with .sync -->\n\t\t\t<SharingEntryLink v-for=\"(share, index) in shares\"\n\t\t\t\t:key=\"share.id\"\n\t\t\t\t:index=\"shares.length > 1 ? index + 1 : null\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:share.sync=\"shares[index]\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t@add:share=\"addShare(...arguments)\"\n\t\t\t\t@update:share=\"awaitForShare(...arguments)\"\n\t\t\t\t@remove:share=\"removeShare\"\n\t\t\t\t@open-sharing-details=\"openSharingDetails(share)\" />\n\t\t</template>\n\t</ul>\n</template>\n\n<script>\nimport { getCapabilities } from '@nextcloud/capabilities'\n\nimport { t } from '@nextcloud/l10n'\n\nimport Share from '../models/Share.js'\nimport SharingEntryLink from '../components/SharingEntryLink.vue'\nimport ShareDetails from '../mixins/ShareDetails.js'\nimport { ShareType } from '@nextcloud/sharing'\n\nexport default {\n\tname: 'SharingLinkList',\n\n\tcomponents: {\n\t\tSharingEntryLink,\n\t},\n\n\tmixins: [ShareDetails],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcanLinkShare: getCapabilities().files_sharing.public.enabled,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Do we have link shares?\n\t\t * Using this to still show the `new link share`\n\t\t * button regardless of mail shares\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\thasLinkShares() {\n\t\t\treturn this.shares.filter(share => share.type === ShareType.Link).length > 0\n\t\t},\n\n\t\t/**\n\t\t * Do we have any link or email shares?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasShares() {\n\t\t\treturn this.shares.length > 0\n\t\t},\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\t/**\n\t\t * Add a new share into the link shares list\n\t\t * and return the newly created share component\n\t\t *\n\t\t * @param {Share} share the share to add to the array\n\t\t * @param {Function} resolve a function to run after the share is added and its component initialized\n\t\t */\n\t\taddShare(share, resolve) {\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.push(share)\n\t\t\tthis.awaitForShare(share, resolve)\n\t\t},\n\n\t\t/**\n\t\t * Await for next tick and render after the list updated\n\t\t * Then resolve with the matched vue component of the\n\t\t * provided share object\n\t\t *\n\t\t * @param {Share} share newly created share\n\t\t * @param {Function} resolve a function to execute after\n\t\t */\n\t\tawaitForShare(share, resolve) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tconst newShare = this.$children.find(component => component.share === share)\n\t\t\t\tif (newShare) {\n\t\t\t\t\tresolve(newShare)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\tconst index = this.shares.findIndex(item => item === share)\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.splice(index, 1)\n\t\t},\n\t},\n}\n</script>\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry sharing-entry__link\",class:{ 'sharing-entry--share': _vm.share }},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":true,\"icon-class\":_vm.isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\",attrs:{\"title\":_vm.title}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.title)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share && _vm.share.permissions !== undefined)?_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__actions\"},[(_vm.share && _vm.share.expireDate)?_c('ShareExpiryTime',{attrs:{\"share\":_vm.share}}):_vm._e(),_vm._v(\" \"),_c('div',[(_vm.share && (!_vm.isEmailShareType || _vm.isFileRequest) && _vm.share.token)?_c('NcActions',{ref:\"copyButton\",staticClass:\"sharing-entry__copy\"},[_c('NcActionButton',{attrs:{\"aria-label\":_vm.copyLinkTooltip,\"title\":_vm.copyLinkTooltip,\"href\":_vm.shareLink},on:{\"click\":function($event){$event.preventDefault();return _vm.copyLink.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.copied && _vm.copySuccess)?_c('CheckIcon',{staticClass:\"icon-checkmark-color\",attrs:{\"size\":20}}):_c('ClipboardIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,4269614823)})],1):_vm._e()],1)],1)]),_vm._v(\" \"),(!_vm.pending && _vm.pendingDataIsMissing)?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onCancel}},[(_vm.errors.pending)?_c('NcActionText',{staticClass:\"error\",scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ErrorIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1966124155)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.errors.pending)+\"\\n\\t\\t\")]):_c('NcActionText',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Please enter the following required information before creating the share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.pendingPassword)?_c('NcActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event},\"uncheck\":_vm.onPasswordDisable}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.config.enforcePasswordForPublicLink ? _vm.t('files_sharing', 'Password protection (enforced)') : _vm.t('files_sharing', 'Password protection'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingEnforcedPassword || _vm.share.password)?_c('NcActionInput',{staticClass:\"share-link-password\",attrs:{\"label\":_vm.t('files_sharing', 'Enter a password'),\"value\":_vm.share.password,\"disabled\":_vm.saving,\"required\":_vm.config.enableLinkPasswordByDefault || _vm.config.enforcePasswordForPublicLink,\"minlength\":_vm.isPasswordPolicyEnabled && _vm.config.passwordPolicy.minLength,\"autocomplete\":\"new-password\"},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"password\", $event)},\"submit\":function($event){return _vm.onNewLinkShare(true)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('LockIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2056568168)}):_vm._e(),_vm._v(\" \"),(_vm.pendingDefaultExpirationDate)?_c('NcActionCheckbox',{staticClass:\"share-link-expiration-date-checkbox\",attrs:{\"checked\":_vm.defaultExpirationDateEnabled,\"disabled\":_vm.pendingEnforcedExpirationDate || _vm.saving},on:{\"update:checked\":function($event){_vm.defaultExpirationDateEnabled=$event},\"update:model-value\":_vm.onExpirationDateToggleUpdate}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.config.isDefaultExpireDateEnforced ? _vm.t('files_sharing', 'Enable link expiration (enforced)') : _vm.t('files_sharing', 'Enable link expiration'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),((_vm.pendingDefaultExpirationDate || _vm.pendingEnforcedExpirationDate) && _vm.defaultExpirationDateEnabled)?_c('NcActionInput',{staticClass:\"share-link-expire-date\",attrs:{\"data-cy-files-sharing-expiration-date-input\":\"\",\"label\":_vm.pendingEnforcedExpirationDate ? _vm.t('files_sharing', 'Enter expiration date (enforced)') : _vm.t('files_sharing', 'Enter expiration date'),\"disabled\":_vm.saving,\"is-native-picker\":true,\"hide-label\":true,\"value\":new Date(_vm.share.expireDate),\"type\":\"date\",\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced},on:{\"update:model-value\":_vm.onExpirationChange,\"change\":_vm.expirationDateChanged},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconCalendarBlank',{attrs:{\"size\":20}})]},proxy:true}],null,false,3418578971)}):_vm._e(),_vm._v(\" \"),_c('NcActionButton',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare(true)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CheckIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2630571749)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onCancel.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\")])],1):(!_vm.loading)?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onMenuClose}},[(_vm.share)?[(_vm.share.canEdit && _vm.canReshare)?[_c('NcActionButton',{attrs:{\"disabled\":_vm.saving,\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();return _vm.openSharingDetails.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Tune',{attrs:{\"size\":20}})]},proxy:true}],null,false,1300586850)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Customize link'))+\"\\n\\t\\t\\t\\t\")])]:_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();_vm.showQRCode = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconQr',{attrs:{\"size\":20}})]},proxy:true}],null,false,1082198240)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Generate QR code'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_vm._l((_vm.externalLinkActions),function(action){return _c('ExternalShareAction',{key:action.id,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),_vm._l((_vm.externalLegacyLinkActions),function({ icon, url, name },actionIndex){return _c('NcActionLink',{key:actionIndex,attrs:{\"href\":url(_vm.shareLink),\"icon\":icon,\"target\":\"_blank\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(name)+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),(!_vm.isEmailShareType && _vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('PlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2953566425)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Add another link'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",attrs:{\"title\":_vm.t('files_sharing', 'Create a new share link'),\"aria-label\":_vm.t('files_sharing', 'Create a new share link'),\"icon\":_vm.loading ? 'icon-loading-small' : 'icon-add'},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}}):_vm._e()],2):_c('div',{staticClass:\"icon-loading-small sharing-entry__loading\"}),_vm._v(\" \"),(_vm.showQRCode)?_c('NcDialog',{attrs:{\"size\":\"normal\",\"open\":_vm.showQRCode,\"name\":_vm.title,\"close-on-click-outside\":true},on:{\"update:open\":function($event){_vm.showQRCode=$event},\"close\":function($event){_vm.showQRCode = false}}},[_c('div',{staticClass:\"qr-code-dialog\"},[_c('VueQrcode',{staticClass:\"qr-code-dialog__img\",attrs:{\"tag\":\"img\",\"value\":_vm.shareLink}})],1)]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingLinkList.vue?vue&type=template&id=5f722665\"\nimport script from \"./SharingLinkList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingLinkList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{staticClass:\"sharing-sharee-list\",attrs:{\"aria-label\":_vm.t('files_sharing', 'Shares')}},_vm._l((_vm.shares),function(share){return _c('SharingEntry',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share,\"is-unique\":_vm.isUnique(share)},on:{\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<li class=\"sharing-entry\">\n\t\t<NcAvatar class=\"sharing-entry__avatar\"\n\t\t\t:is-no-user=\"share.type !== ShareType.User\"\n\t\t\t:user=\"share.shareWith\"\n\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t:menu-position=\"'left'\"\n\t\t\t:url=\"share.shareWithAvatar\" />\n\n\t\t<div class=\"sharing-entry__summary\">\n\t\t\t<component :is=\"share.shareWithLink ? 'a' : 'div'\"\n\t\t\t\t:title=\"tooltip\"\n\t\t\t\t:aria-label=\"tooltip\"\n\t\t\t\t:href=\"share.shareWithLink\"\n\t\t\t\tclass=\"sharing-entry__summary__desc\">\n\t\t\t\t<span>{{ title }}\n\t\t\t\t\t<span v-if=\"!isUnique\" class=\"sharing-entry__summary__desc-unique\"> ({{\n\t\t\t\t\t\tshare.shareWithDisplayNameUnique }})</span>\n\t\t\t\t\t<small v-if=\"hasStatus && share.status.message\">({{ share.status.message }})</small>\n\t\t\t\t</span>\n\t\t\t</component>\n\t\t\t<SharingEntryQuickShareSelect :share=\"share\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t@open-sharing-details=\"openShareDetailsForCustomSettings(share)\" />\n\t\t</div>\n\t\t<ShareExpiryTime v-if=\"share && share.expireDate\" :share=\"share\" />\n\t\t<NcButton v-if=\"share.canEdit\"\n\t\t\tclass=\"sharing-entry__action\"\n\t\t\tdata-cy-files-sharing-share-actions\n\t\t\t:aria-label=\"t('files_sharing', 'Open Sharing Details')\"\n\t\t\ttype=\"tertiary\"\n\t\t\t@click=\"openSharingDetails(share)\">\n\t\t\t<template #icon>\n\t\t\t\t<DotsHorizontalIcon :size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t</li>\n</template>\n\n<script>\nimport { ShareType } from '@nextcloud/sharing'\n\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\nimport DotsHorizontalIcon from 'vue-material-design-icons/DotsHorizontal.vue'\n\nimport ShareExpiryTime from './ShareExpiryTime.vue'\nimport SharingEntryQuickShareSelect from './SharingEntryQuickShareSelect.vue'\n\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\n\nexport default {\n\tname: 'SharingEntry',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcAvatar,\n\t\tDotsHorizontalIcon,\n\t\tNcSelect,\n\t\tShareExpiryTime,\n\t\tSharingEntryQuickShareSelect,\n\t},\n\n\tmixins: [SharesMixin, ShareDetails],\n\n\tcomputed: {\n\t\ttitle() {\n\t\t\tlet title = this.share.shareWithDisplayName\n\t\t\tif (this.share.type === ShareType.Group) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'group')})`\n\t\t\t} else if (this.share.type === ShareType.Room) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'conversation')})`\n\t\t\t} else if (this.share.type === ShareType.Remote) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'remote')})`\n\t\t\t} else if (this.share.type === ShareType.RemoteGroup) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'remote group')})`\n\t\t\t} else if (this.share.type === ShareType.Guest) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'guest')})`\n\t\t\t}\n\t\t\tif (!this.isShareOwner && this.share.ownerDisplayName) {\n\t\t\t\ttitle += ' ' + t('files_sharing', 'by {initiator}', {\n\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn title\n\t\t},\n\t\ttooltip() {\n\t\t\tif (this.share.owner !== this.share.uidFileOwner) {\n\t\t\t\tconst data = {\n\t\t\t\t\t// todo: strong or italic?\n\t\t\t\t\t// but the t function escape any html from the data :/\n\t\t\t\t\tuser: this.share.shareWithDisplayName,\n\t\t\t\t\towner: this.share.ownerDisplayName,\n\t\t\t\t}\n\t\t\t\tif (this.share.type === ShareType.Group) {\n\t\t\t\t\treturn t('files_sharing', 'Shared with the group {user} by {owner}', data)\n\t\t\t\t} else if (this.share.type === ShareType.Room) {\n\t\t\t\t\treturn t('files_sharing', 'Shared with the conversation {user} by {owner}', data)\n\t\t\t\t}\n\n\t\t\t\treturn t('files_sharing', 'Shared with {user} by {owner}', data)\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\t/**\n\t\t * @return {boolean}\n\t\t */\n\t\thasStatus() {\n\t\t\tif (this.share.type !== ShareType.User) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn (typeof this.share.status === 'object' && !Array.isArray(this.share.status))\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Save potential changed data on menu close\n\t\t */\n\t\tonMenuClose() {\n\t\t\tthis.onNoteSubmit()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: flex-start;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\n\t\t&__desc {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding-bottom: 0;\n\t\t\tline-height: 1.2em;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\tp,\n\t\t\tsmall {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&-unique {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t}\n\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=style&index=0&id=2dbd45b5&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=style&index=0&id=2dbd45b5&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntry.vue?vue&type=template&id=2dbd45b5&scoped=true\"\nimport script from \"./SharingEntry.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntry.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntry.vue?vue&type=style&index=0&id=2dbd45b5&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2dbd45b5\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<ul class=\"sharing-sharee-list\" :aria-label=\"t('files_sharing', 'Shares')\">\n\t\t<SharingEntry v-for=\"share in shares\"\n\t\t\t:key=\"share.id\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:share=\"share\"\n\t\t\t:is-unique=\"isUnique(share)\"\n\t\t\t@open-sharing-details=\"openSharingDetails(share)\" />\n\t</ul>\n</template>\n\n<script>\nimport { t } from '@nextcloud/l10n'\nimport SharingEntry from '../components/SharingEntry.vue'\nimport ShareDetails from '../mixins/ShareDetails.js'\nimport { ShareType } from '@nextcloud/sharing'\n\nexport default {\n\tname: 'SharingList',\n\n\tcomponents: {\n\t\tSharingEntry,\n\t},\n\n\tmixins: [ShareDetails],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { },\n\t\t\trequired: true,\n\t\t},\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tsetup() {\n\t\treturn {\n\t\t\tt,\n\t\t}\n\t},\n\tcomputed: {\n\t\thasShares() {\n\t\t\treturn this.shares.length === 0\n\t\t},\n\t\tisUnique() {\n\t\t\treturn (share) => {\n\t\t\t\treturn [...this.shares].filter((item) => {\n\t\t\t\t\treturn share.type === ShareType.User && share.shareWithDisplayName === item.shareWithDisplayName\n\t\t\t\t}).length <= 1\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.type !== _vm.ShareType.User,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":'left',\"url\":_vm.share.shareWithAvatar}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c(_vm.share.shareWithLink ? 'a' : 'div',{tag:\"component\",staticClass:\"sharing-entry__summary__desc\",attrs:{\"title\":_vm.tooltip,\"aria-label\":_vm.tooltip,\"href\":_vm.share.shareWithLink}},[_c('span',[_vm._v(_vm._s(_vm.title)+\"\\n\\t\\t\\t\\t\"),(!_vm.isUnique)?_c('span',{staticClass:\"sharing-entry__summary__desc-unique\"},[_vm._v(\" (\"+_vm._s(_vm.share.shareWithDisplayNameUnique)+\")\")]):_vm._e(),_vm._v(\" \"),(_vm.hasStatus && _vm.share.status.message)?_c('small',[_vm._v(\"(\"+_vm._s(_vm.share.status.message)+\")\")]):_vm._e()])]),_vm._v(\" \"),_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}})],1),_vm._v(\" \"),(_vm.share && _vm.share.expireDate)?_c('ShareExpiryTime',{attrs:{\"share\":_vm.share}}):_vm._e(),_vm._v(\" \"),(_vm.share.canEdit)?_c('NcButton',{staticClass:\"sharing-entry__action\",attrs:{\"data-cy-files-sharing-share-actions\":\"\",\"aria-label\":_vm.t('files_sharing', 'Open Sharing Details'),\"type\":\"tertiary\"},on:{\"click\":function($event){return _vm.openSharingDetails(_vm.share)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1700783217)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingList.vue?vue&type=template&id=5b9a3a03\"\nimport script from \"./SharingList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTabDetailsView\"},[_c('div',{staticClass:\"sharingTabDetailsView__header\"},[_c('span',[(_vm.isUserShare)?_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.shareType !== _vm.ShareType.User,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":'left',\"url\":_vm.share.shareWithAvatar}}):_vm._e(),_vm._v(\" \"),_c(_vm.getShareTypeIcon(_vm.share.type),{tag:\"component\",attrs:{\"size\":32}})],1),_vm._v(\" \"),_c('span',[_c('h1',[_vm._v(_vm._s(_vm.title))])])]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__wrapper\"},[_c('div',{ref:\"quickPermissions\",staticClass:\"sharingTabDetailsView__quick-permissions\"},[_c('div',[_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"read-only\",\"checked\":_vm.sharingPermission,\"value\":_vm.bundledPermissions.READ_ONLY.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.toggleCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ViewIcon',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'View only'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"upload-edit\",\"checked\":_vm.sharingPermission,\"value\":_vm.allPermissions,\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.toggleCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('EditIcon',{attrs:{\"size\":20}})]},proxy:true}])},[(_vm.allowsFileDrop)?[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow upload and editing'))+\"\\n\\t\\t\\t\\t\\t\")]:[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\\t\\t\")]],2),_vm._v(\" \"),(_vm.allowsFileDrop)?_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-sharing-share-permissions-bundle\":\"file-drop\",\"button-variant\":true,\"checked\":_vm.sharingPermission,\"value\":_vm.bundledPermissions.FILE_DROP.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.toggleCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('UploadIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1083194048)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'File request'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.t('files_sharing', 'Upload only')))])]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"custom\",\"checked\":_vm.sharingPermission,\"value\":'custom',\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.expandCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.customPermissionsList))])])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__advanced-control\"},[_c('NcButton',{attrs:{\"id\":\"advancedSectionAccordionAdvancedControl\",\"type\":\"tertiary\",\"alignment\":\"end-reverse\",\"aria-controls\":\"advancedSectionAccordionAdvanced\",\"aria-expanded\":_vm.advancedControlExpandedValue},on:{\"click\":function($event){_vm.advancedSectionAccordionExpanded = !_vm.advancedSectionAccordionExpanded}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(!_vm.advancedSectionAccordionExpanded)?_c('MenuDownIcon'):_c('MenuUpIcon')]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Advanced settings'))+\"\\n\\t\\t\\t\\t\")])],1),_vm._v(\" \"),(_vm.advancedSectionAccordionExpanded)?_c('div',{staticClass:\"sharingTabDetailsView__advanced\",attrs:{\"id\":\"advancedSectionAccordionAdvanced\",\"aria-labelledby\":\"advancedSectionAccordionAdvancedControl\",\"role\":\"region\"}},[_c('section',[(_vm.isPublicShare)?_c('NcInputField',{staticClass:\"sharingTabDetailsView__label\",attrs:{\"autocomplete\":\"off\",\"label\":_vm.t('files_sharing', 'Share label'),\"value\":_vm.share.label},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"label\", $event)}}}):_vm._e(),_vm._v(\" \"),(_vm.config.allowCustomTokens && _vm.isPublicShare && !_vm.isNewShare)?_c('NcInputField',{attrs:{\"autocomplete\":\"off\",\"label\":_vm.t('files_sharing', 'Share link token'),\"helper-text\":_vm.t('files_sharing', 'Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information.'),\"show-trailing-button\":\"\",\"trailing-button-label\":_vm.loadingToken ? _vm.t('files_sharing', 'Generating…') : _vm.t('files_sharing', 'Generate new token'),\"value\":_vm.share.token},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"token\", $event)},\"trailing-button-click\":_vm.generateNewToken},scopedSlots:_vm._u([{key:\"trailing-button-icon\",fn:function(){return [(_vm.loadingToken)?_c('NcLoadingIcon'):_c('Refresh',{attrs:{\"size\":20}})]},proxy:true}],null,false,4228062821)}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?[_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.isPasswordEnforced},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Set password'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isPasswordProtected)?_c('NcPasswordField',{attrs:{\"autocomplete\":\"new-password\",\"value\":_vm.hasUnsavedPassword ? _vm.share.newPassword : '',\"error\":_vm.passwordError,\"helper-text\":_vm.errorPasswordLabel || _vm.passwordHint,\"required\":_vm.isPasswordEnforced && _vm.isNewShare,\"label\":_vm.t('files_sharing', 'Password')},on:{\"update:value\":_vm.onPasswordChange}}):_vm._e(),_vm._v(\" \"),(_vm.isEmailShareType && _vm.passwordExpirationTime)?_c('span',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expires {passwordExpirationTime}', { passwordExpirationTime: _vm.passwordExpirationTime }))+\"\\n\\t\\t\\t\\t\\t\")]):(_vm.isEmailShareType && _vm.passwordExpirationTime !== null)?_c('span',{attrs:{\"icon\":\"icon-error\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expired'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.canTogglePasswordProtectedByTalkAvailable)?_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.isPasswordProtectedByTalk},on:{\"update:checked\":[function($event){_vm.isPasswordProtectedByTalk=$event},_vm.onPasswordProtectedByTalkChange]}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Video verification'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.hasExpirationDate,\"disabled\":_vm.isExpiryDateEnforced},on:{\"update:checked\":function($event){_vm.hasExpirationDate=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.isExpiryDateEnforced\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('NcDateTimePickerNative',{attrs:{\"id\":\"share-date-picker\",\"value\":new Date(_vm.share.expireDate ?? _vm.dateTomorrow),\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced,\"hide-label\":\"\",\"label\":_vm.t('files_sharing', 'Expiration date'),\"placeholder\":_vm.t('files_sharing', 'Expiration date'),\"type\":\"date\"},on:{\"input\":_vm.onExpirationChange}}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.canChangeHideDownload,\"checked\":_vm.share.hideDownload},on:{\"update:checked\":[function($event){return _vm.$set(_vm.share, \"hideDownload\", $event)},function($event){return _vm.queueUpdate('hideDownload')}]}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Hide download'))+\"\\n\\t\\t\\t\\t\")]):_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDownload,\"checked\":_vm.canDownload,\"data-cy-files-sharing-share-permissions-checkbox\":\"download\"},on:{\"update:checked\":function($event){_vm.canDownload=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow download and sync'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.writeNoteToRecipientIsChecked},on:{\"update:checked\":function($event){_vm.writeNoteToRecipientIsChecked=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Note to recipient'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.writeNoteToRecipientIsChecked)?[_c('NcTextArea',{attrs:{\"label\":_vm.t('files_sharing', 'Note to recipient'),\"placeholder\":_vm.t('files_sharing', 'Enter a note for the share recipient'),\"value\":_vm.share.note},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"note\", $event)}}})]:_vm._e(),_vm._v(\" \"),(_vm.isPublicShare && _vm.isFolder)?_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.showInGridView},on:{\"update:checked\":function($event){_vm.showInGridView=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Show files in grid view'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.externalLinkActions),function(action){return _c('ExternalShareAction',{key:action.id,ref:\"externalLinkActions\",refInFor:true,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.setCustomPermissions},on:{\"update:checked\":function($event){_vm.setCustomPermissions=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.setCustomPermissions)?_c('section',{staticClass:\"custom-permissions-group\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canRemoveReadPermission,\"checked\":_vm.hasRead,\"data-cy-files-sharing-share-permissions-checkbox\":\"read\"},on:{\"update:checked\":function($event){_vm.hasRead=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Read'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isFolder)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetCreate,\"checked\":_vm.canCreate,\"data-cy-files-sharing-share-permissions-checkbox\":\"create\"},on:{\"update:checked\":function($event){_vm.canCreate=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetEdit,\"checked\":_vm.canEdit,\"data-cy-files-sharing-share-permissions-checkbox\":\"update\"},on:{\"update:checked\":function($event){_vm.canEdit=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Edit'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.resharingIsPossible)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetReshare,\"checked\":_vm.canReshare,\"data-cy-files-sharing-share-permissions-checkbox\":\"share\"},on:{\"update:checked\":function($event){_vm.canReshare=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDelete,\"checked\":_vm.canDelete,\"data-cy-files-sharing-share-permissions-checkbox\":\"delete\"},on:{\"update:checked\":function($event){_vm.canDelete=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete'))+\"\\n\\t\\t\\t\\t\\t\")])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__delete\"},[(!_vm.isNewShare)?_c('NcButton',{attrs:{\"aria-label\":_vm.t('files_sharing', 'Delete share'),\"disabled\":false,\"readonly\":false,\"type\":\"tertiary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.removeShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":16}})]},proxy:true}],null,false,2746485232)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete share'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e()],1)],2)]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__footer\"},[_c('div',{staticClass:\"button-group\"},[_c('NcButton',{attrs:{\"data-cy-files-sharing-share-editor-action\":\"cancel\"},on:{\"click\":_vm.cancel}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\",\"data-cy-files-sharing-share-editor-action\":\"save\",\"disabled\":_vm.creating},on:{\"click\":_vm.saveShare},scopedSlots:_vm._u([(_vm.creating)?{key:\"icon\",fn:function(){return [_c('NcLoadingIcon')]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.shareButtonText)+\"\\n\\t\\t\\t\\t\")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon circle-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CircleOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CircleOutline.vue?vue&type=template&id=c013567c\"\nimport script from \"./CircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./CircleOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon circle-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon email-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"EmailIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Email.vue?vue&type=template&id=7dd7f6aa\"\nimport script from \"./Email.vue?vue&type=script&lang=js\"\nexport * from \"./Email.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon email-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon share-circle-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ShareCircleIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShareCircle.vue?vue&type=template&id=0e958886\"\nimport script from \"./ShareCircle.vue?vue&type=script&lang=js\"\nexport * from \"./ShareCircle.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon share-circle-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon account-circle-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"AccountCircleOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./AccountCircleOutline.vue?vue&type=template&id=5b2fe1de\"\nimport script from \"./AccountCircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./AccountCircleOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-circle-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon eye-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"EyeIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Eye.vue?vue&type=template&id=4ae2345c\"\nimport script from \"./Eye.vue?vue&type=script&lang=js\"\nexport * from \"./Eye.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon eye-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon refresh-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"RefreshIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Refresh.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Refresh.vue?vue&type=template&id=2864f909\"\nimport script from \"./Refresh.vue?vue&type=script&lang=js\"\nexport * from \"./Refresh.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon refresh-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<div class=\"sharingTabDetailsView\">\n\t\t<div class=\"sharingTabDetailsView__header\">\n\t\t\t<span>\n\t\t\t\t<NcAvatar v-if=\"isUserShare\"\n\t\t\t\t\tclass=\"sharing-entry__avatar\"\n\t\t\t\t\t:is-no-user=\"share.shareType !== ShareType.User\"\n\t\t\t\t\t:user=\"share.shareWith\"\n\t\t\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t\t\t:menu-position=\"'left'\"\n\t\t\t\t\t:url=\"share.shareWithAvatar\" />\n\t\t\t\t<component :is=\"getShareTypeIcon(share.type)\" :size=\"32\" />\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t<h1>{{ title }}</h1>\n\t\t\t</span>\n\t\t</div>\n\t\t<div class=\"sharingTabDetailsView__wrapper\">\n\t\t\t<div ref=\"quickPermissions\" class=\"sharingTabDetailsView__quick-permissions\">\n\t\t\t\t<div>\n\t\t\t\t\t<NcCheckboxRadioSwitch :button-variant=\"true\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"read-only\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"bundledPermissions.READ_ONLY.toString()\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"toggleCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'View only') }}\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<ViewIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :button-variant=\"true\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"upload-edit\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"allPermissions\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"toggleCustomPermissions\">\n\t\t\t\t\t\t<template v-if=\"allowsFileDrop\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Allow upload and editing') }}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Allow editing') }}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<EditIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"allowsFileDrop\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"file-drop\"\n\t\t\t\t\t\t:button-variant=\"true\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"bundledPermissions.FILE_DROP.toString()\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"toggleCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'File request') }}\n\t\t\t\t\t\t<small class=\"subline\">{{ t('files_sharing', 'Upload only') }}</small>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<UploadIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :button-variant=\"true\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"custom\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"'custom'\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"expandCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Custom permissions') }}\n\t\t\t\t\t\t<small class=\"subline\">{{ customPermissionsList }}</small>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<DotsHorizontalIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"sharingTabDetailsView__advanced-control\">\n\t\t\t\t<NcButton id=\"advancedSectionAccordionAdvancedControl\"\n\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\talignment=\"end-reverse\"\n\t\t\t\t\taria-controls=\"advancedSectionAccordionAdvanced\"\n\t\t\t\t\t:aria-expanded=\"advancedControlExpandedValue\"\n\t\t\t\t\t@click=\"advancedSectionAccordionExpanded = !advancedSectionAccordionExpanded\">\n\t\t\t\t\t{{ t('files_sharing', 'Advanced settings') }}\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<MenuDownIcon v-if=\"!advancedSectionAccordionExpanded\" />\n\t\t\t\t\t\t<MenuUpIcon v-else />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t\t<div v-if=\"advancedSectionAccordionExpanded\"\n\t\t\t\tid=\"advancedSectionAccordionAdvanced\"\n\t\t\t\tclass=\"sharingTabDetailsView__advanced\"\n\t\t\t\taria-labelledby=\"advancedSectionAccordionAdvancedControl\"\n\t\t\t\trole=\"region\">\n\t\t\t\t<section>\n\t\t\t\t\t<NcInputField v-if=\"isPublicShare\"\n\t\t\t\t\t\tclass=\"sharingTabDetailsView__label\"\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t:label=\"t('files_sharing', 'Share label')\"\n\t\t\t\t\t\t:value.sync=\"share.label\" />\n\t\t\t\t\t<NcInputField v-if=\"config.allowCustomTokens && isPublicShare && !isNewShare\"\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t:label=\"t('files_sharing', 'Share link token')\"\n\t\t\t\t\t\t:helper-text=\"t('files_sharing', 'Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information.')\"\n\t\t\t\t\t\tshow-trailing-button\n\t\t\t\t\t\t:trailing-button-label=\"loadingToken ? t('files_sharing', 'Generating…') : t('files_sharing', 'Generate new token')\"\n\t\t\t\t\t\t:value.sync=\"share.token\"\n\t\t\t\t\t\t@trailing-button-click=\"generateNewToken\">\n\t\t\t\t\t\t<template #trailing-button-icon>\n\t\t\t\t\t\t\t<NcLoadingIcon v-if=\"loadingToken\" />\n\t\t\t\t\t\t\t<Refresh v-else :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcInputField>\n\t\t\t\t\t<template v-if=\"isPublicShare\">\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"isPasswordProtected\" :disabled=\"isPasswordEnforced\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Set password') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcPasswordField v-if=\"isPasswordProtected\"\n\t\t\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\t\t\t:value=\"hasUnsavedPassword ? share.newPassword : ''\"\n\t\t\t\t\t\t\t:error=\"passwordError\"\n\t\t\t\t\t\t\t:helper-text=\"errorPasswordLabel || passwordHint\"\n\t\t\t\t\t\t\t:required=\"isPasswordEnforced && isNewShare\"\n\t\t\t\t\t\t\t:label=\"t('files_sharing', 'Password')\"\n\t\t\t\t\t\t\t@update:value=\"onPasswordChange\" />\n\n\t\t\t\t\t\t<!-- Migrate icons and remote -> icon=\"icon-info\"-->\n\t\t\t\t\t\t<span v-if=\"isEmailShareType && passwordExpirationTime\" icon=\"icon-info\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Password expires {passwordExpirationTime}', { passwordExpirationTime }) }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span v-else-if=\"isEmailShareType && passwordExpirationTime !== null\" icon=\"icon-error\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Password expired') }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</template>\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"canTogglePasswordProtectedByTalkAvailable\"\n\t\t\t\t\t\t:checked.sync=\"isPasswordProtectedByTalk\"\n\t\t\t\t\t\t@update:checked=\"onPasswordProtectedByTalkChange\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Video verification') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"hasExpirationDate\" :disabled=\"isExpiryDateEnforced\">\n\t\t\t\t\t\t{{ isExpiryDateEnforced\n\t\t\t\t\t\t\t? t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t\t: t('files_sharing', 'Set expiration date') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcDateTimePickerNative v-if=\"hasExpirationDate\"\n\t\t\t\t\t\tid=\"share-date-picker\"\n\t\t\t\t\t\t:value=\"new Date(share.expireDate ?? dateTomorrow)\"\n\t\t\t\t\t\t:min=\"dateTomorrow\"\n\t\t\t\t\t\t:max=\"maxExpirationDateEnforced\"\n\t\t\t\t\t\thide-label\n\t\t\t\t\t\t:label=\"t('files_sharing', 'Expiration date')\"\n\t\t\t\t\t\t:placeholder=\"t('files_sharing', 'Expiration date')\"\n\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t@input=\"onExpirationChange\" />\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"isPublicShare\"\n\t\t\t\t\t\t:disabled=\"canChangeHideDownload\"\n\t\t\t\t\t\t:checked.sync=\"share.hideDownload\"\n\t\t\t\t\t\t@update:checked=\"queueUpdate('hideDownload')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Hide download') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch v-else\n\t\t\t\t\t\t:disabled=\"!canSetDownload\"\n\t\t\t\t\t\t:checked.sync=\"canDownload\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"download\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Allow download and sync') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"writeNoteToRecipientIsChecked\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Note to recipient') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<template v-if=\"writeNoteToRecipientIsChecked\">\n\t\t\t\t\t\t<NcTextArea :label=\"t('files_sharing', 'Note to recipient')\"\n\t\t\t\t\t\t\t:placeholder=\"t('files_sharing', 'Enter a note for the share recipient')\"\n\t\t\t\t\t\t\t:value.sync=\"share.note\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"isPublicShare && isFolder\"\n\t\t\t\t\t\t:checked.sync=\"showInGridView\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Show files in grid view') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<ExternalShareAction v-for=\"action in externalLinkActions\"\n\t\t\t\t\t\t:id=\"action.id\"\n\t\t\t\t\t\tref=\"externalLinkActions\"\n\t\t\t\t\t\t:key=\"action.id\"\n\t\t\t\t\t\t:action=\"action\"\n\t\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t\t:share=\"share\" />\n\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"setCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Custom permissions') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<section v-if=\"setCustomPermissions\" class=\"custom-permissions-group\">\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :disabled=\"!canRemoveReadPermission\"\n\t\t\t\t\t\t\t:checked.sync=\"hasRead\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"read\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Read') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"isFolder\"\n\t\t\t\t\t\t\t:disabled=\"!canSetCreate\"\n\t\t\t\t\t\t\t:checked.sync=\"canCreate\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"create\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Create') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :disabled=\"!canSetEdit\"\n\t\t\t\t\t\t\t:checked.sync=\"canEdit\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"update\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Edit') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"resharingIsPossible\"\n\t\t\t\t\t\t\t:disabled=\"!canSetReshare\"\n\t\t\t\t\t\t\t:checked.sync=\"canReshare\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"share\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Share') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :disabled=\"!canSetDelete\"\n\t\t\t\t\t\t\t:checked.sync=\"canDelete\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"delete\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Delete') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t</section>\n\t\t\t\t\t<div class=\"sharingTabDetailsView__delete\">\n\t\t\t\t\t\t<NcButton v-if=\"!isNewShare\"\n\t\t\t\t\t\t\t:aria-label=\"t('files_sharing', 'Delete share')\"\n\t\t\t\t\t\t\t:disabled=\"false\"\n\t\t\t\t\t\t\t:readonly=\"false\"\n\t\t\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t\t\t@click.prevent=\"removeShare\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<CloseIcon :size=\"16\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Delete share') }}\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</div>\n\t\t\t\t</section>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"sharingTabDetailsView__footer\">\n\t\t\t<div class=\"button-group\">\n\t\t\t\t<NcButton data-cy-files-sharing-share-editor-action=\"cancel\"\n\t\t\t\t\t@click=\"cancel\">\n\t\t\t\t\t{{ t('files_sharing', 'Cancel') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton type=\"primary\"\n\t\t\t\t\tdata-cy-files-sharing-share-editor-action=\"save\"\n\t\t\t\t\t:disabled=\"creating\"\n\t\t\t\t\t@click=\"saveShare\">\n\t\t\t\t\t{{ shareButtonText }}\n\t\t\t\t\t<template v-if=\"creating\" #icon>\n\t\t\t\t\t\t<NcLoadingIcon />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { emit } from '@nextcloud/event-bus'\nimport { getLanguage } from '@nextcloud/l10n'\nimport { ShareType } from '@nextcloud/sharing'\nimport { showError } from '@nextcloud/dialogs'\nimport moment from '@nextcloud/moment'\n\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/components/NcCheckboxRadioSwitch'\nimport NcDateTimePickerNative from '@nextcloud/vue/components/NcDateTimePickerNative'\nimport NcInputField from '@nextcloud/vue/components/NcInputField'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\nimport NcPasswordField from '@nextcloud/vue/components/NcPasswordField'\nimport NcTextArea from '@nextcloud/vue/components/NcTextArea'\n\nimport CircleIcon from 'vue-material-design-icons/CircleOutline.vue'\nimport CloseIcon from 'vue-material-design-icons/Close.vue'\nimport EditIcon from 'vue-material-design-icons/Pencil.vue'\nimport EmailIcon from 'vue-material-design-icons/Email.vue'\nimport LinkIcon from 'vue-material-design-icons/Link.vue'\nimport GroupIcon from 'vue-material-design-icons/AccountGroup.vue'\nimport ShareIcon from 'vue-material-design-icons/ShareCircle.vue'\nimport UserIcon from 'vue-material-design-icons/AccountCircleOutline.vue'\nimport ViewIcon from 'vue-material-design-icons/Eye.vue'\nimport UploadIcon from 'vue-material-design-icons/Upload.vue'\nimport MenuDownIcon from 'vue-material-design-icons/MenuDown.vue'\nimport MenuUpIcon from 'vue-material-design-icons/MenuUp.vue'\nimport DotsHorizontalIcon from 'vue-material-design-icons/DotsHorizontal.vue'\nimport Refresh from 'vue-material-design-icons/Refresh.vue'\n\nimport ExternalShareAction from '../components/ExternalShareAction.vue'\n\nimport GeneratePassword from '../utils/GeneratePassword.ts'\nimport Share from '../models/Share.ts'\nimport ShareRequests from '../mixins/ShareRequests.js'\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport { generateToken } from '../services/TokenService.ts'\nimport logger from '../services/logger.ts'\n\nimport {\n\tATOMIC_PERMISSIONS,\n\tBUNDLED_PERMISSIONS,\n\thasPermissions,\n} from '../lib/SharePermissionsToolBox.js'\n\nexport default {\n\tname: 'SharingDetailsTab',\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcButton,\n\t\tNcCheckboxRadioSwitch,\n\t\tNcDateTimePickerNative,\n\t\tNcInputField,\n\t\tNcLoadingIcon,\n\t\tNcPasswordField,\n\t\tNcTextArea,\n\t\tCloseIcon,\n\t\tCircleIcon,\n\t\tEditIcon,\n\t\tExternalShareAction,\n\t\tLinkIcon,\n\t\tGroupIcon,\n\t\tShareIcon,\n\t\tUserIcon,\n\t\tUploadIcon,\n\t\tViewIcon,\n\t\tMenuDownIcon,\n\t\tMenuUpIcon,\n\t\tDotsHorizontalIcon,\n\t\tRefresh,\n\t},\n\tmixins: [ShareRequests, SharesMixin],\n\tprops: {\n\t\tshareRequestValue: {\n\t\t\ttype: Object,\n\t\t\trequired: false,\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\twriteNoteToRecipientIsChecked: false,\n\t\t\tsharingPermission: BUNDLED_PERMISSIONS.ALL.toString(),\n\t\t\trevertSharingPermission: BUNDLED_PERMISSIONS.ALL.toString(),\n\t\t\tsetCustomPermissions: false,\n\t\t\tpasswordError: false,\n\t\t\tadvancedSectionAccordionExpanded: false,\n\t\t\tbundledPermissions: BUNDLED_PERMISSIONS,\n\t\t\tisFirstComponentLoad: true,\n\t\t\ttest: false,\n\t\t\tcreating: false,\n\t\t\tinitialToken: this.share.token,\n\t\t\tloadingToken: false,\n\n\t\t\tExternalShareActions: OCA.Sharing.ExternalShareActions.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\ttitle() {\n\t\t\tswitch (this.share.type) {\n\t\t\tcase ShareType.User:\n\t\t\t\treturn t('files_sharing', 'Share with {userName}', { userName: this.share.shareWithDisplayName })\n\t\t\tcase ShareType.Email:\n\t\t\t return t('files_sharing', 'Share with email {email}', { email: this.share.shareWith })\n\t\t\tcase ShareType.Link:\n\t\t\t\treturn t('files_sharing', 'Share link')\n\t\t\tcase ShareType.Group:\n\t\t\t\treturn t('files_sharing', 'Share with group')\n\t\t\tcase ShareType.Room:\n\t\t\t\treturn t('files_sharing', 'Share in conversation')\n\t\t\tcase ShareType.Remote: {\n\t\t\t\tconst [user, server] = this.share.shareWith.split('@')\n\t\t\t\treturn t('files_sharing', 'Share with {user} on remote server {server}', { user, server })\n\t\t\t}\n\t\t\tcase ShareType.RemoteGroup:\n\t\t\t\treturn t('files_sharing', 'Share with remote group')\n\t\t\tcase ShareType.Guest:\n\t\t\t\treturn t('files_sharing', 'Share with guest')\n\t\t\tdefault: {\n\t\t\t\tif (this.share.id) {\n\t\t\t\t\t// Share already exists\n\t\t\t\t\treturn t('files_sharing', 'Update share')\n\t\t\t\t} else {\n\t\t\t\t\treturn t('files_sharing', 'Create share')\n\t\t\t\t}\n\t\t\t}\n\t\t\t}\n\t\t},\n\t\tallPermissions() {\n\t\t\treturn this.isFolder ? this.bundledPermissions.ALL.toString() : this.bundledPermissions.ALL_FILE.toString()\n\t\t},\n\t\t/**\n\t\t * Can the sharee edit the shared file ?\n\t\t */\n\t\tcanEdit: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasUpdatePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isEditChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Can the sharee create the shared file ?\n\t\t */\n\t\tcanCreate: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasCreatePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isCreateChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Can the sharee delete the shared file ?\n\t\t */\n\t\tcanDelete: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasDeletePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isDeleteChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Can the sharee reshare the file ?\n\t\t */\n\t\tcanReshare: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasSharePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isReshareChecked: checked })\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Change the default view for public shares from \"list\" to \"grid\"\n\t\t */\n\t\tshowInGridView: {\n\t\t\tget() {\n\t\t\t\treturn this.getShareAttribute('config', 'grid_view', false)\n\t\t\t},\n\t\t\t/** @param {boolean} value If the default view should be changed to \"grid\" */\n\t\t\tset(value) {\n\t\t\t\tthis.setShareAttribute('config', 'grid_view', value)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Can the sharee download files or only view them ?\n\t\t */\n\t\tcanDownload: {\n\t\t\tget() {\n\t\t\t\treturn this.getShareAttribute('permissions', 'download', true)\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.setShareAttribute('permissions', 'download', checked)\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Is this share readable\n\t\t * Needed for some federated shares that might have been added from file requests links\n\t\t */\n\t\thasRead: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasReadPermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isReadChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Does the current share have an expiration date\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasExpirationDate: {\n\t\t\tget() {\n\t\t\t\treturn this.isValidShareAttribute(this.share.expireDate)\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.expireDate = enabled\n\t\t\t\t\t? this.formatDateToString(this.defaultExpiryDate)\n\t\t\t\t\t: ''\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Is the current share a folder ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\t\t/**\n\t\t * @return {boolean}\n\t\t */\n\t\tisSetDownloadButtonVisible() {\n\t\t\tconst allowedMimetypes = [\n\t\t\t\t// Office documents\n\t\t\t\t'application/msword',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n\t\t\t\t'application/vnd.ms-powerpoint',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n\t\t\t\t'application/vnd.ms-excel',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n\t\t\t\t'application/vnd.oasis.opendocument.text',\n\t\t\t\t'application/vnd.oasis.opendocument.spreadsheet',\n\t\t\t\t'application/vnd.oasis.opendocument.presentation',\n\t\t\t]\n\n\t\t\treturn this.isFolder || allowedMimetypes.includes(this.fileInfo.mimetype)\n\t\t},\n\t\tisPasswordEnforced() {\n\t\t\treturn this.isPublicShare && this.config.enforcePasswordForPublicLink\n\t\t},\n\t\tdefaultExpiryDate() {\n\t\t\tif ((this.isGroupShare || this.isUserShare) && this.config.isDefaultInternalExpireDateEnabled) {\n\t\t\t\treturn new Date(this.config.defaultInternalExpirationDate)\n\t\t\t} else if (this.isRemoteShare && this.config.isDefaultRemoteExpireDateEnabled) {\n\t\t\t\treturn new Date(this.config.defaultRemoteExpireDateEnabled)\n\t\t\t} else if (this.isPublicShare && this.config.isDefaultExpireDateEnabled) {\n\t\t\t\treturn new Date(this.config.defaultExpirationDate)\n\t\t\t}\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + 1))\n\t\t},\n\t\tisUserShare() {\n\t\t\treturn this.share.type === ShareType.User\n\t\t},\n\t\tisGroupShare() {\n\t\t\treturn this.share.type === ShareType.Group\n\t\t},\n\t\tallowsFileDrop() {\n\t\t\tif (this.isFolder && this.config.isPublicUploadEnabled) {\n\t\t\t\tif (this.share.type === ShareType.Link || this.share.type === ShareType.Email) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\thasFileDropPermissions() {\n\t\t\treturn this.share.permissions === this.bundledPermissions.FILE_DROP\n\t\t},\n\t\tshareButtonText() {\n\t\t\tif (this.isNewShare) {\n\t\t\t\treturn t('files_sharing', 'Save share')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Update share')\n\n\t\t},\n\t\tresharingIsPossible() {\n\t\t\treturn this.config.isResharingAllowed && this.share.type !== ShareType.Link && this.share.type !== ShareType.Email\n\t\t},\n\t\t/**\n\t\t * Can the sharer set whether the sharee can edit the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetEdit() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_UPDATE) || this.canEdit\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can create the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetCreate() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_CREATE) || this.canCreate\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can delete the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetDelete() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_DELETE) || this.canDelete\n\t\t},\n\t\t/**\n\t\t * Can the sharer set whether the sharee can reshare the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetReshare() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_SHARE) || this.canReshare\n\t\t},\n\t\t/**\n\t\t * Can the sharer set whether the sharee can download the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetDownload() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.canDownload() || this.canDownload)\n\t\t},\n\t\tcanRemoveReadPermission() {\n\t\t\treturn this.allowsFileDrop && (\n\t\t\t\tthis.share.type === ShareType.Link\n\t\t\t\t\t|| this.share.type === ShareType.Email\n\t\t\t)\n\t\t},\n\t\t// if newPassword exists, but is empty, it means\n\t\t// the user deleted the original password\n\t\thasUnsavedPassword() {\n\t\t\treturn this.share.newPassword !== undefined\n\t\t},\n\t\tpasswordExpirationTime() {\n\t\t\tif (!this.isValidShareAttribute(this.share.passwordExpirationTime)) {\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t\tconst expirationTime = moment(this.share.passwordExpirationTime)\n\n\t\t\tif (expirationTime.diff(moment()) < 0) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn expirationTime.fromNow()\n\t\t},\n\n\t\t/**\n\t\t * Is Talk enabled?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisTalkEnabled() {\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is it possible to protect the password by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalkAvailable() {\n\t\t\treturn this.isPasswordProtected && this.isTalkEnabled\n\t\t},\n\t\t/**\n\t\t * Is the current share password protected by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalk: {\n\t\t\tget() {\n\t\t\t\treturn this.share.sendPasswordByTalk\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tthis.share.sendPasswordByTalk = enabled\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Is the current share an email share ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisEmailShareType() {\n\t\t\treturn this.share\n\t\t\t\t? this.share.type === ShareType.Email\n\t\t\t\t: false\n\t\t},\n\t\tcanTogglePasswordProtectedByTalkAvailable() {\n\t\t\tif (!this.isPublicShare || !this.isPasswordProtected) {\n\t\t\t\t// Makes no sense\n\t\t\t\treturn false\n\t\t\t} else if (this.isEmailShareType && !this.hasUnsavedPassword) {\n\t\t\t\t// For email shares we need a new password in order to enable or\n\t\t\t\t// disable\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Is Talk enabled?\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\t\tcanChangeHideDownload() {\n\t\t\tconst hasDisabledDownload = (shareAttribute) => shareAttribute.key === 'download' && shareAttribute.scope === 'permissions' && shareAttribute.value === false\n\t\t\treturn this.fileInfo.shareAttributes.some(hasDisabledDownload)\n\t\t},\n\t\tcustomPermissionsList() {\n\t\t\t// Key order will be different, because ATOMIC_PERMISSIONS are numbers\n\t\t\tconst translatedPermissions = {\n\t\t\t\t[ATOMIC_PERMISSIONS.READ]: this.t('files_sharing', 'Read'),\n\t\t\t\t[ATOMIC_PERMISSIONS.CREATE]: this.t('files_sharing', 'Create'),\n\t\t\t\t[ATOMIC_PERMISSIONS.UPDATE]: this.t('files_sharing', 'Edit'),\n\t\t\t\t[ATOMIC_PERMISSIONS.SHARE]: this.t('files_sharing', 'Share'),\n\t\t\t\t[ATOMIC_PERMISSIONS.DELETE]: this.t('files_sharing', 'Delete'),\n\t\t\t}\n\n\t\t\tconst permissionsList = [\n\t\t\t\tATOMIC_PERMISSIONS.READ,\n\t\t\t\t...(this.isFolder ? [ATOMIC_PERMISSIONS.CREATE] : []),\n\t\t\t\tATOMIC_PERMISSIONS.UPDATE,\n\t\t\t\t...(this.resharingIsPossible ? [ATOMIC_PERMISSIONS.SHARE] : []),\n\t\t\t\t...(this.isFolder ? [ATOMIC_PERMISSIONS.DELETE] : []),\n\t\t\t]\n\n\t\t\treturn permissionsList.filter((permission) => hasPermissions(this.share.permissions, permission))\n\t\t\t\t.map((permission, index) => index === 0\n\t\t\t\t\t? translatedPermissions[permission]\n\t\t\t\t\t: translatedPermissions[permission].toLocaleLowerCase(getLanguage()))\n\t\t\t\t.join(', ')\n\t\t},\n\t\tadvancedControlExpandedValue() {\n\t\t\treturn this.advancedSectionAccordionExpanded ? 'true' : 'false'\n\t\t},\n\t\terrorPasswordLabel() {\n\t\t\tif (this.passwordError) {\n\t\t\t\treturn t('files_sharing', 'Password field cannot be empty')\n\t\t\t}\n\t\t\treturn undefined\n\t\t},\n\n\t\tpasswordHint() {\n\t\t\tif (this.isNewShare || this.hasUnsavedPassword) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Replace current password')\n\t\t},\n\n\t\t/**\n\t\t * Additional actions for the menu\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\texternalLinkActions() {\n\t\t\tconst filterValidAction = (action) => (action.shareType.includes(ShareType.Link) || action.shareType.includes(ShareType.Email)) && action.advanced\n\t\t\t// filter only the advanced registered actions for said link\n\t\t\treturn this.ExternalShareActions.actions\n\t\t\t\t.filter(filterValidAction)\n\t\t},\n\t},\n\twatch: {\n\t\tsetCustomPermissions(isChecked) {\n\t\t\tif (isChecked) {\n\t\t\t\tthis.sharingPermission = 'custom'\n\t\t\t} else {\n\t\t\t\tthis.sharingPermission = this.revertSharingPermission\n\t\t\t}\n\t\t},\n\t},\n\tbeforeMount() {\n\t\tthis.initializePermissions()\n\t\tthis.initializeAttributes()\n\t\tlogger.debug('Share object received', { share: this.share })\n\t\tlogger.debug('Configuration object received', { config: this.config })\n\t},\n\n\tmounted() {\n\t\tthis.$refs.quickPermissions?.querySelector('input:checked')?.focus()\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Set a share attribute on the current share\n\t\t * @param {string} scope The attribute scope\n\t\t * @param {string} key The attribute key\n\t\t * @param {boolean} value The value\n\t\t */\n\t\tsetShareAttribute(scope, key, value) {\n\t\t\tif (!this.share.attributes) {\n\t\t\t\tthis.$set(this.share, 'attributes', [])\n\t\t\t}\n\n\t\t\tconst attribute = this.share.attributes\n\t\t\t\t.find((attr) => attr.scope === scope || attr.key === key)\n\n\t\t\tif (attribute) {\n\t\t\t\tattribute.value = value\n\t\t\t} else {\n\t\t\t\tthis.share.attributes.push({\n\t\t\t\t\tscope,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Get the value of a share attribute\n\t\t * @param {string} scope The attribute scope\n\t\t * @param {string} key The attribute key\n\t\t * @param {undefined|boolean} fallback The fallback to return if not found\n\t\t */\n\t\tgetShareAttribute(scope, key, fallback = undefined) {\n\t\t\tconst attribute = this.share.attributes?.find((attr) => attr.scope === scope && attr.key === key)\n\t\t\treturn attribute?.value ?? fallback\n\t\t},\n\n\t\tasync generateNewToken() {\n\t\t\tif (this.loadingToken) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.loadingToken = true\n\t\t\ttry {\n\t\t\t\tthis.share.token = await generateToken()\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('files_sharing', 'Failed to generate a new token'))\n\t\t\t}\n\t\t\tthis.loadingToken = false\n\t\t},\n\n\t\tcancel() {\n\t\t\tthis.share.token = this.initialToken\n\t\t\tthis.$emit('close-sharing-details')\n\t\t},\n\n\t\tupdateAtomicPermissions({\n\t\t\tisReadChecked = this.hasRead,\n\t\t\tisEditChecked = this.canEdit,\n\t\t\tisCreateChecked = this.canCreate,\n\t\t\tisDeleteChecked = this.canDelete,\n\t\t\tisReshareChecked = this.canReshare,\n\t\t} = {}) {\n\t\t\t// calc permissions if checked\n\n\t\t\tif (!this.isFolder && (isCreateChecked || isDeleteChecked)) {\n\t\t\t\tlogger.debug('Ignoring create/delete permissions for file share — only available for folders')\n\t\t\t\tisCreateChecked = false\n\t\t\t\tisDeleteChecked = false\n\t\t\t}\n\n\t\t\tconst permissions = 0\n\t\t\t\t| (isReadChecked ? ATOMIC_PERMISSIONS.READ : 0)\n\t\t\t\t| (isCreateChecked ? ATOMIC_PERMISSIONS.CREATE : 0)\n\t\t\t\t| (isDeleteChecked ? ATOMIC_PERMISSIONS.DELETE : 0)\n\t\t\t\t| (isEditChecked ? ATOMIC_PERMISSIONS.UPDATE : 0)\n\t\t\t\t| (isReshareChecked ? ATOMIC_PERMISSIONS.SHARE : 0)\n\t\t\tthis.share.permissions = permissions\n\t\t},\n\t\texpandCustomPermissions() {\n\t\t\tif (!this.advancedSectionAccordionExpanded) {\n\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t}\n\t\t\tthis.toggleCustomPermissions()\n\t\t},\n\t\ttoggleCustomPermissions(selectedPermission) {\n\t\t\tconst isCustomPermissions = this.sharingPermission === 'custom'\n\t\t\tthis.revertSharingPermission = !isCustomPermissions ? selectedPermission : 'custom'\n\t\t\tthis.setCustomPermissions = isCustomPermissions\n\t\t},\n\t\tasync initializeAttributes() {\n\n\t\t\tif (this.isNewShare) {\n\t\t\t\tif ((this.config.enableLinkPasswordByDefault || this.isPasswordEnforced) && this.isPublicShare) {\n\t\t\t\t\tthis.$set(this.share, 'newPassword', await GeneratePassword(true))\n\t\t\t\t\tthis.$set(this.share, 'password', this.share.newPassword)\n\t\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\t}\n\t\t\t\t/* Set default expiration dates if configured */\n\t\t\t\tif (this.isPublicShare && this.config.isDefaultExpireDateEnabled) {\n\t\t\t\t\tthis.share.expireDate = this.config.defaultExpirationDate.toDateString()\n\t\t\t\t} else if (this.isRemoteShare && this.config.isDefaultRemoteExpireDateEnabled) {\n\t\t\t\t\tthis.share.expireDate = this.config.defaultRemoteExpirationDateString.toDateString()\n\t\t\t\t} else if (this.config.isDefaultInternalExpireDateEnabled) {\n\t\t\t\t\tthis.share.expireDate = this.config.defaultInternalExpirationDate.toDateString()\n\t\t\t\t}\n\n\t\t\t\tif (this.isValidShareAttribute(this.share.expireDate)) {\n\t\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\t}\n\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If there is an enforced expiry date, then existing shares created before enforcement\n\t\t\t// have no expiry date, hence we set it here.\n\t\t\tif (!this.isValidShareAttribute(this.share.expireDate) && this.isExpiryDateEnforced) {\n\t\t\t\tthis.hasExpirationDate = true\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tthis.isValidShareAttribute(this.share.password)\n\t\t\t\t|| this.isValidShareAttribute(this.share.expireDate)\n\t\t\t\t|| this.isValidShareAttribute(this.share.label)\n\t\t\t) {\n\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t}\n\n\t\t\tif (this.isValidShareAttribute(this.share.note)) {\n\t\t\t\tthis.writeNoteToRecipientIsChecked = true\n\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t}\n\n\t\t},\n\t\thandleShareType() {\n\t\t\tif ('shareType' in this.share) {\n\t\t\t\tthis.share.type = this.share.shareType\n\t\t\t} else if (this.share.share_type) {\n\t\t\t\tthis.share.type = this.share.share_type\n\t\t\t}\n\t\t},\n\t\thandleDefaultPermissions() {\n\t\t\tif (this.isNewShare) {\n\t\t\t\tconst defaultPermissions = this.config.defaultPermissions\n\t\t\t\tif (defaultPermissions === BUNDLED_PERMISSIONS.READ_ONLY || defaultPermissions === BUNDLED_PERMISSIONS.ALL) {\n\t\t\t\t\tthis.sharingPermission = defaultPermissions.toString()\n\t\t\t\t} else {\n\t\t\t\t\tthis.sharingPermission = 'custom'\n\t\t\t\t\tthis.share.permissions = defaultPermissions\n\t\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\t\tthis.setCustomPermissions = true\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Read permission required for share creation\n\t\t\tif (!this.canRemoveReadPermission) {\n\t\t\t\tthis.hasRead = true\n\t\t\t}\n\t\t},\n\t\thandleCustomPermissions() {\n\t\t\tif (!this.isNewShare && (this.hasCustomPermissions || this.share.setCustomPermissions)) {\n\t\t\t\tthis.sharingPermission = 'custom'\n\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\tthis.setCustomPermissions = true\n\t\t\t} else if (this.share.permissions) {\n\t\t\t\tthis.sharingPermission = this.share.permissions.toString()\n\t\t\t}\n\t\t},\n\t\tinitializePermissions() {\n\t\t\tthis.handleShareType()\n\t\t\tthis.handleDefaultPermissions()\n\t\t\tthis.handleCustomPermissions()\n\t\t},\n\t\tasync saveShare() {\n\t\t\tconst permissionsAndAttributes = ['permissions', 'attributes', 'note', 'expireDate']\n\t\t\tconst publicShareAttributes = ['label', 'password', 'hideDownload']\n\t\t\tif (this.config.allowCustomTokens) {\n\t\t\t\tpublicShareAttributes.push('token')\n\t\t\t}\n\t\t\tif (this.isPublicShare) {\n\t\t\t\tpermissionsAndAttributes.push(...publicShareAttributes)\n\t\t\t}\n\t\t\tconst sharePermissionsSet = parseInt(this.sharingPermission)\n\t\t\tif (this.setCustomPermissions) {\n\t\t\t\tthis.updateAtomicPermissions()\n\t\t\t} else {\n\t\t\t\tthis.share.permissions = sharePermissionsSet\n\t\t\t}\n\n\t\t\tif (!this.isFolder && this.share.permissions === BUNDLED_PERMISSIONS.ALL) {\n\t\t\t\t// It's not possible to create an existing file.\n\t\t\t\tthis.share.permissions = BUNDLED_PERMISSIONS.ALL_FILE\n\t\t\t}\n\t\t\tif (!this.writeNoteToRecipientIsChecked) {\n\t\t\t\tthis.share.note = ''\n\t\t\t}\n\t\t\tif (this.isPasswordProtected) {\n\t\t\t\tif (this.hasUnsavedPassword && this.isValidShareAttribute(this.share.newPassword)) {\n\t\t\t\t\tthis.share.password = this.share.newPassword\n\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t\t} else if (this.isPasswordEnforced && this.isNewShare && !this.isValidShareAttribute(this.share.password)) {\n\t\t\t\t\tthis.passwordError = true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.share.password = ''\n\t\t\t}\n\n\t\t\tif (!this.hasExpirationDate) {\n\t\t\t\tthis.share.expireDate = ''\n\t\t\t}\n\n\t\t\tif (this.isNewShare) {\n\t\t\t\tconst incomingShare = {\n\t\t\t\t\tpermissions: this.share.permissions,\n\t\t\t\t\tshareType: this.share.type,\n\t\t\t\t\tshareWith: this.share.shareWith,\n\t\t\t\t\tattributes: this.share.attributes,\n\t\t\t\t\tnote: this.share.note,\n\t\t\t\t\tfileInfo: this.fileInfo,\n\t\t\t\t}\n\n\t\t\t\tincomingShare.expireDate = this.hasExpirationDate ? this.share.expireDate : ''\n\n\t\t\t\tif (this.isPasswordProtected) {\n\t\t\t\t\tincomingShare.password = this.share.password\n\t\t\t\t}\n\n\t\t\t\tlet share\n\t\t\t\ttry {\n\t\t\t\t\tthis.creating = true\n\t\t\t\t\tshare = await this.addShare(incomingShare)\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.creating = false\n\t\t\t\t\t// Error is already handled by ShareRequests mixin\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\t// ugly hack to make code work - we need the id to be set but at the same time we need to keep values we want to update\n\t\t\t\tthis.share._share.id = share.id\n\t\t\t\tawait this.queueUpdate(...permissionsAndAttributes)\n\t\t\t\t// Also a ugly hack to update the updated permissions\n\t\t\t\tfor (const prop of permissionsAndAttributes) {\n\t\t\t\t\tif (prop in share && prop in this.share) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tshare[prop] = this.share[prop]\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\tshare._share[prop] = this.share[prop]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.share = share\n\t\t\t\tthis.creating = false\n\t\t\t\tthis.$emit('add:share', this.share)\n\t\t\t} else {\n\t\t\t\t// Let's update after creation as some attrs are only available after creation\n\t\t\t\tthis.$emit('update:share', this.share)\n\t\t\t\temit('update:share', this.share)\n\t\t\t\tthis.queueUpdate(...permissionsAndAttributes)\n\t\t\t}\n\n\t\t\tawait this.getNode()\n\t\t\temit('files:node:updated', this.node)\n\n\t\t\tif (this.$refs.externalLinkActions?.length > 0) {\n\t\t\t\tawait Promise.allSettled(this.$refs.externalLinkActions.map((action) => {\n\t\t\t\t\tif (typeof action.$children.at(0)?.onSave !== 'function') {\n\t\t\t\t\t\treturn Promise.resolve()\n\t\t\t\t\t}\n\t\t\t\t\treturn action.$children.at(0)?.onSave?.()\n\t\t\t\t}))\n\t\t\t}\n\n\t\t\tthis.$emit('close-sharing-details')\n\t\t},\n\t\t/**\n\t\t * Process the new share request\n\t\t *\n\t\t * @param {Share} share incoming share object\n\t\t */\n\t\tasync addShare(share) {\n\t\t\tlogger.debug('Adding a new share from the input for', { share })\n\t\t\tconst path = this.path\n\t\t\ttry {\n\t\t\t\tconst resultingShare = await this.createShare({\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: share.shareType,\n\t\t\t\t\tshareWith: share.shareWith,\n\t\t\t\t\tpermissions: share.permissions,\n\t\t\t\t\texpireDate: share.expireDate,\n\t\t\t\t\tattributes: JSON.stringify(share.attributes),\n\t\t\t\t\t...(share.note ? { note: share.note } : {}),\n\t\t\t\t\t...(share.password ? { password: share.password } : {}),\n\t\t\t\t})\n\t\t\t\treturn resultingShare\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Error while adding new share', { error })\n\t\t\t} finally {\n\t\t\t\t// this.loading = false // No loader here yet\n\t\t\t}\n\t\t},\n\t\tasync removeShare() {\n\t\t\tawait this.onDelete()\n\t\t\tawait this.getNode()\n\t\t\temit('files:node:updated', this.node)\n\t\t\tthis.$emit('close-sharing-details')\n\t\t},\n\t\t/**\n\t\t * Update newPassword values\n\t\t * of share. If password is set but not newPassword\n\t\t * then the user did not changed the password\n\t\t * If both co-exists, the password have changed and\n\t\t * we show it in plain text.\n\t\t * Then on submit (or menu close), we sync it.\n\t\t *\n\t\t * @param {string} password the changed password\n\t\t */\n\t\tonPasswordChange(password) {\n\t\t\tif (password === '') {\n\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t\tthis.passwordError = this.isNewShare && this.isPasswordEnforced\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.passwordError = !this.isValidShareAttribute(password)\n\t\t\tthis.$set(this.share, 'newPassword', password)\n\t\t},\n\t\t/**\n\t\t * Update the password along with \"sendPasswordByTalk\".\n\t\t *\n\t\t * If the password was modified the new password is sent; otherwise\n\t\t * updating a mail share would fail, as in that case it is required that\n\t\t * a new password is set when enabling or disabling\n\t\t * \"sendPasswordByTalk\".\n\t\t */\n\t\tonPasswordProtectedByTalkChange() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t}\n\n\t\t\tthis.queueUpdate('sendPasswordByTalk', 'password')\n\t\t},\n\t\tisValidShareAttribute(value) {\n\t\t\tif ([null, undefined].includes(value)) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tif (!(value.trim().length > 0)) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn true\n\t\t},\n\t\tgetShareTypeIcon(type) {\n\t\t\tswitch (type) {\n\t\t\tcase ShareType.Link:\n\t\t\t\treturn LinkIcon\n\t\t\tcase ShareType.Guest:\n\t\t\t\treturn UserIcon\n\t\t\tcase ShareType.RemoteGroup:\n\t\t\tcase ShareType.Group:\n\t\t\t\treturn GroupIcon\n\t\t\tcase ShareType.Email:\n\t\t\t\treturn EmailIcon\n\t\t\tcase ShareType.Team:\n\t\t\t\treturn CircleIcon\n\t\t\tcase ShareType.Room:\n\t\t\t\treturn ShareIcon\n\t\t\tcase ShareType.Deck:\n\t\t\t\treturn ShareIcon\n\t\t\tcase ShareType.ScienceMesh:\n\t\t\t\treturn ShareIcon\n\t\t\tdefault:\n\t\t\t\treturn null // Or a default icon component if needed\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharingTabDetailsView {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tposition: relative;\n\theight: 100%;\n\toverflow: hidden;\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0.2em;\n\n\t\tspan {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\th1 {\n\t\t\t\tfont-size: 15px;\n\t\t\t\tpadding-inline-start: 0.3em;\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tposition: relative;\n\t\toverflow: scroll;\n\t\tflex-shrink: 1;\n\t\tpadding: 4px;\n\t\tpadding-inline-end: 12px;\n\t}\n\n\t&__quick-permissions {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\tmargin: 0 auto;\n\t\tborder-radius: 0;\n\n\t\tdiv {\n\t\t\twidth: 100%;\n\n\t\t\tspan {\n\t\t\t\twidth: 100%;\n\n\t\t\t\tspan:nth-child(1) {\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tpadding: 0.1em;\n\t\t\t\t}\n\n\t\t\t\t:deep(label span) {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t}\n\n\t\t\t\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\n\t\t\t\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\n\t\t\t\t\tflex-wrap: wrap;\n\n\t\t\t\t\t.subline {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tflex-basis: 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__advanced-control {\n\t\twidth: 100%;\n\n\t\tbutton {\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\n\t}\n\n\t&__advanced {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0.5em;\n\t\ttext-align: start;\n\t\tpadding-inline-start: 0;\n\n\t\tsection {\n\n\t\t\ttextarea,\n\t\t\tdiv.mx-datepicker {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\ttextarea {\n\t\t\t\theight: 80px;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t/*\n\t\t\t The following style is applied out of the component's scope\n\t\t\t to remove padding from the label.checkbox-radio-switch__label,\n\t\t\t which is used to group radio checkbox items. The use of ::v-deep\n\t\t\t ensures that the padding is modified without being affected by\n\t\t\t the component's scoping.\n\t\t\t Without this achieving left alignment for the checkboxes would not\n\t\t\t be possible.\n\t\t\t*/\n\t\t\tspan :deep(label) {\n\t\t\t\tpadding-inline-start: 0 !important;\n\t\t\t\tbackground-color: initial !important;\n\t\t\t\tborder: none !important;\n\t\t\t}\n\n\t\t\tsection.custom-permissions-group {\n\t\t\t\tpadding-inline-start: 1.5em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__label {\n\t\tpadding-block-end: 6px;\n\t}\n\n\t&__delete {\n\t\t> button:first-child {\n\t\t\tcolor: rgb(223, 7, 7);\n\t\t}\n\t}\n\n\t&__footer {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-start;\n\t\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\n\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\twidth: 100%;\n\t\t\tmargin-top: 16px;\n\n\t\t\tbutton {\n\t\t\t\tmargin-inline-start: 16px;\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-inline-start: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { generateOcsUrl } from '@nextcloud/router';\nexport const generateToken = async () => {\n const { data } = await axios.get(generateOcsUrl('/apps/files_sharing/api/v1/token'));\n return data.ocs.data.token;\n};\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=style&index=0&id=4826394a&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=style&index=0&id=4826394a&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingDetailsTab.vue?vue&type=template&id=4826394a&scoped=true\"\nimport script from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingDetailsTab.vue?vue&type=style&index=0&id=4826394a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4826394a\",\n null\n \n)\n\nexport default component.exports","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"sharingTab\" :class=\"{ 'icon-loading': loading }\">\n\t\t<!-- error message -->\n\t\t<div v-if=\"error\" class=\"emptycontent\" :class=\"{ emptyContentWithSections: sections.length > 0 }\">\n\t\t\t<div class=\"icon icon-error\" />\n\t\t\t<h2>{{ error }}</h2>\n\t\t</div>\n\n\t\t<!-- shares content -->\n\t\t<div v-show=\"!showSharingDetailsView\"\n\t\t\tclass=\"sharingTab__content\">\n\t\t\t<!-- shared with me information -->\n\t\t\t<ul v-if=\"isSharedWithMe\">\n\t\t\t\t<SharingEntrySimple v-bind=\"sharedWithMe\" class=\"sharing-entry__reshare\">\n\t\t\t\t\t<template #avatar>\n\t\t\t\t\t\t<NcAvatar :user=\"sharedWithMe.user\"\n\t\t\t\t\t\t\t:display-name=\"sharedWithMe.displayName\"\n\t\t\t\t\t\t\tclass=\"sharing-entry__avatar\" />\n\t\t\t\t\t</template>\n\t\t\t\t</SharingEntrySimple>\n\t\t\t</ul>\n\n\t\t\t<section>\n\t\t\t\t<div class=\"section-header\">\n\t\t\t\t\t<h4>{{ t('files_sharing', 'Internal shares') }}</h4>\n\t\t\t\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t\t<NcButton class=\"hint-icon\"\n\t\t\t\t\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\t\t\t\t\t:aria-label=\"t('files_sharing', 'Internal shares explanation')\">\n\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t<InfoIcon :size=\"20\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<p class=\"hint-body\">\n\t\t\t\t\t\t\t{{ internalSharesHelpText }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</NcPopover>\n\t\t\t\t</div>\n\t\t\t\t<!-- add new share input -->\n\t\t\t\t<SharingInput v-if=\"!loading\"\n\t\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t:link-shares=\"linkShares\"\n\t\t\t\t\t:reshare=\"reshare\"\n\t\t\t\t\t:shares=\"shares\"\n\t\t\t\t\t:placeholder=\"internalShareInputPlaceholder\"\n\t\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\n\t\t\t\t<!-- other shares list -->\n\t\t\t\t<SharingList v-if=\"!loading\"\n\t\t\t\t\tref=\"shareList\"\n\t\t\t\t\t:shares=\"shares\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\n\t\t\t\t<!-- inherited shares -->\n\t\t\t\t<SharingInherited v-if=\"canReshare && !loading\" :file-info=\"fileInfo\" />\n\n\t\t\t\t<!-- internal link copy -->\n\t\t\t\t<SharingEntryInternal :file-info=\"fileInfo\" />\n\t\t\t</section>\n\n\t\t\t<section>\n\t\t\t\t<div class=\"section-header\">\n\t\t\t\t\t<h4>{{ t('files_sharing', 'External shares') }}</h4>\n\t\t\t\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t\t<NcButton class=\"hint-icon\"\n\t\t\t\t\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\t\t\t\t\t:aria-label=\"t('files_sharing', 'External shares explanation')\">\n\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t<InfoIcon :size=\"20\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<p class=\"hint-body\">\n\t\t\t\t\t\t\t{{ externalSharesHelpText }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</NcPopover>\n\t\t\t\t</div>\n\t\t\t\t<SharingInput v-if=\"!loading\"\n\t\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t:link-shares=\"linkShares\"\n\t\t\t\t\t:is-external=\"true\"\n\t\t\t\t\t:placeholder=\"externalShareInputPlaceholder\"\n\t\t\t\t\t:reshare=\"reshare\"\n\t\t\t\t\t:shares=\"shares\"\n\t\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\t\t\t\t<!-- Non link external shares list -->\n\t\t\t\t<SharingList v-if=\"!loading\"\n\t\t\t\t\t:shares=\"externalShares\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\t\t\t\t<!-- link shares list -->\n\t\t\t\t<SharingLinkList v-if=\"!loading && isLinkSharingAllowed\"\n\t\t\t\t\tref=\"linkShareList\"\n\t\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t:shares=\"linkShares\"\n\t\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\t\t\t</section>\n\n\t\t\t<section v-if=\"sections.length > 0 && !showSharingDetailsView\">\n\t\t\t\t<div class=\"section-header\">\n\t\t\t\t\t<h4>{{ t('files_sharing', 'Additional shares') }}</h4>\n\t\t\t\t\t<NcPopover popup-role=\"dialog\">\n\t\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t\t<NcButton class=\"hint-icon\"\n\t\t\t\t\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\t\t\t\t\t:aria-label=\"t('files_sharing', 'Additional shares explanation')\">\n\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t<InfoIcon :size=\"20\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<p class=\"hint-body\">\n\t\t\t\t\t\t\t{{ additionalSharesHelpText }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</NcPopover>\n\t\t\t\t</div>\n\t\t\t\t<!-- additional entries, use it with cautious -->\n\t\t\t\t<div v-for=\"(section, index) in sections\"\n\t\t\t\t\t:ref=\"'section-' + index\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\tclass=\"sharingTab__additionalContent\">\n\t\t\t\t\t<component :is=\"section($refs['section-'+index], fileInfo)\" :file-info=\"fileInfo\" />\n\t\t\t\t</div>\n\n\t\t\t\t<!-- projects (deprecated as of NC25 (replaced by related_resources) - see instance config \"projects.enabled\" ; ignore this / remove it / move into own section) -->\n\t\t\t\t<div v-if=\"projectsEnabled\"\n\t\t\t\t\tv-show=\"!showSharingDetailsView && fileInfo\"\n\t\t\t\t\tclass=\"sharingTab__additionalContent\">\n\t\t\t\t\t<CollectionList :id=\"`${fileInfo.id}`\"\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\t:name=\"fileInfo.name\" />\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t</div>\n\n\t\t<!-- share details -->\n\t\t<SharingDetailsTab v-if=\"showSharingDetailsView\"\n\t\t\t:file-info=\"shareDetailsData.fileInfo\"\n\t\t\t:share=\"shareDetailsData.share\"\n\t\t\t@close-sharing-details=\"toggleShareDetailsView\"\n\t\t\t@add:share=\"addShare\"\n\t\t\t@remove:share=\"removeShare\" />\n\t</div>\n</template>\n\n<script>\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { orderBy } from '@nextcloud/files'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { CollectionList } from 'nextcloud-vue-collections'\nimport { ShareType } from '@nextcloud/sharing'\n\nimport InfoIcon from 'vue-material-design-icons/Information.vue'\nimport NcPopover from '@nextcloud/vue/components/NcPopover'\n\nimport axios from '@nextcloud/axios'\nimport moment from '@nextcloud/moment'\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\nimport NcButton from '@nextcloud/vue/components/NcButton'\n\nimport { shareWithTitle } from '../utils/SharedWithMe.js'\n\nimport Config from '../services/ConfigService.ts'\nimport Share from '../models/Share.ts'\nimport SharingEntryInternal from '../components/SharingEntryInternal.vue'\nimport SharingEntrySimple from '../components/SharingEntrySimple.vue'\nimport SharingInput from '../components/SharingInput.vue'\n\nimport SharingInherited from './SharingInherited.vue'\nimport SharingLinkList from './SharingLinkList.vue'\nimport SharingList from './SharingList.vue'\nimport SharingDetailsTab from './SharingDetailsTab.vue'\n\nimport ShareDetails from '../mixins/ShareDetails.js'\nimport logger from '../services/logger.ts'\n\nexport default {\n\tname: 'SharingTab',\n\n\tcomponents: {\n\t\tCollectionList,\n\t\tInfoIcon,\n\t\tNcAvatar,\n\t\tNcButton,\n\t\tNcPopover,\n\t\tSharingEntryInternal,\n\t\tSharingEntrySimple,\n\t\tSharingInherited,\n\t\tSharingInput,\n\t\tSharingLinkList,\n\t\tSharingList,\n\t\tSharingDetailsTab,\n\t},\n\tmixins: [ShareDetails],\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tdeleteEvent: null,\n\t\t\terror: '',\n\t\t\texpirationInterval: null,\n\t\t\tloading: true,\n\n\t\t\tfileInfo: null,\n\n\t\t\t// reshare Share object\n\t\t\treshare: null,\n\t\t\tsharedWithMe: {},\n\t\t\tshares: [],\n\t\t\tlinkShares: [],\n\t\t\texternalShares: [],\n\n\t\t\tsections: OCA.Sharing.ShareTabSections.getSections(),\n\t\t\tprojectsEnabled: loadState('core', 'projects_enabled', false),\n\t\t\tshowSharingDetailsView: false,\n\t\t\tshareDetailsData: {},\n\t\t\treturnFocusElement: null,\n\n\t\t\tinternalSharesHelpText: t('files_sharing', 'Use this method to share files with individuals or teams within your organization. If the recipient already has access to the share but cannot locate it, you can send them the internal share link for easy access.'),\n\t\t\texternalSharesHelpText: t('files_sharing', 'Use this method to share files with individuals or organizations outside your organization. Files and folders can be shared via public share links and email addresses. You can also share to other Nextcloud accounts hosted on different instances using their federated cloud ID.'),\n\t\t\tadditionalSharesHelpText: t('files_sharing', 'Shares that are not part of the internal or external shares. This can be shares from apps or other sources.'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Is this share shared with me?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisSharedWithMe() {\n\t\t\treturn this.sharedWithMe !== null\n\t\t\t\t&& this.sharedWithMe !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is link sharing allowed for the current user?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisLinkSharingAllowed() {\n\t\t\tconst currentUser = getCurrentUser()\n\t\t\tif (!currentUser) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tconst capabilities = getCapabilities()\n\t\t\tconst publicSharing = capabilities.files_sharing?.public || {}\n\t\t\treturn publicSharing.enabled === true\n\t\t},\n\n\t\tcanReshare() {\n\t\t\treturn !!(this.fileInfo.permissions & OC.PERMISSION_SHARE)\n\t\t\t\t|| !!(this.reshare && this.reshare.hasSharePermission && this.config.isResharingAllowed)\n\t\t},\n\n\t\tinternalShareInputPlaceholder() {\n\t\t\treturn this.config.showFederatedSharesAsInternal\n\t\t\t\t? t('files_sharing', 'Share with accounts, teams, federated cloud IDs')\n\t\t\t\t: t('files_sharing', 'Share with accounts and teams')\n\t\t},\n\n\t\texternalShareInputPlaceholder() {\n\t\t\tif (!this.isLinkSharingAllowed) {\n\t\t\t\treturn t('files_sharing', 'Federated cloud ID')\n\t\t\t}\n\t\t\treturn this.config.showFederatedSharesAsInternal\n\t\t\t\t? t('files_sharing', 'Email')\n\t\t\t\t: t('files_sharing', 'Email, federated cloud ID')\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Update current fileInfo and fetch new data\n\t\t *\n\t\t * @param {object} fileInfo the current file FileInfo\n\t\t */\n\t\tasync update(fileInfo) {\n\t\t\tthis.fileInfo = fileInfo\n\t\t\tthis.resetState()\n\t\t\tthis.getShares()\n\t\t},\n\n\t\t/**\n\t\t * Get the existing shares infos\n\t\t */\n\t\tasync getShares() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\n\t\t\t\t// init params\n\t\t\t\tconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\t\t\t\tconst format = 'json'\n\t\t\t\t// TODO: replace with proper getFUllpath implementation of our own FileInfo model\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\n\t\t\t\t// fetch shares\n\t\t\t\tconst fetchShares = axios.get(shareUrl, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\treshares: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tconst fetchSharedWithMe = axios.get(shareUrl, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tshared_with_me: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\t// wait for data\n\t\t\t\tconst [shares, sharedWithMe] = await Promise.all([fetchShares, fetchSharedWithMe])\n\t\t\t\tthis.loading = false\n\n\t\t\t\t// process results\n\t\t\t\tthis.processSharedWithMe(sharedWithMe)\n\t\t\t\tthis.processShares(shares)\n\t\t\t} catch (error) {\n\t\t\t\tif (error?.response?.data?.ocs?.meta?.message) {\n\t\t\t\t\tthis.error = error.response.data.ocs.meta.message\n\t\t\t\t} else {\n\t\t\t\t\tthis.error = t('files_sharing', 'Unable to load the shares list')\n\t\t\t\t}\n\t\t\t\tthis.loading = false\n\t\t\t\tconsole.error('Error loading the shares list', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Reset the current view to its default state\n\t\t */\n\t\tresetState() {\n\t\t\tclearInterval(this.expirationInterval)\n\t\t\tthis.loading = true\n\t\t\tthis.error = ''\n\t\t\tthis.sharedWithMe = {}\n\t\t\tthis.shares = []\n\t\t\tthis.linkShares = []\n\t\t\tthis.showSharingDetailsView = false\n\t\t\tthis.shareDetailsData = {}\n\t\t},\n\n\t\t/**\n\t\t * Update sharedWithMe.subtitle with the appropriate\n\t\t * expiration time left\n\t\t *\n\t\t * @param {Share} share the sharedWith Share object\n\t\t */\n\t\tupdateExpirationSubtitle(share) {\n\t\t\tconst expiration = moment(share.expireDate).unix()\n\t\t\tthis.$set(this.sharedWithMe, 'subtitle', t('files_sharing', 'Expires {relativetime}', {\n\t\t\t\trelativetime: moment(expiration * 1000).fromNow(),\n\t\t\t}))\n\n\t\t\t// share have expired\n\t\t\tif (moment().unix() > expiration) {\n\t\t\t\tclearInterval(this.expirationInterval)\n\t\t\t\t// TODO: clear ui if share is expired\n\t\t\t\tthis.$set(this.sharedWithMe, 'subtitle', t('files_sharing', 'this share just expired.'))\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the current shares data\n\t\t * and init shares[]\n\t\t *\n\t\t * @param {object} share the share ocs api request data\n\t\t * @param {object} share.data the request data\n\t\t */\n\t\tprocessShares({ data }) {\n\t\t\tif (data.ocs && data.ocs.data && data.ocs.data.length > 0) {\n\t\t\t\tconst shares = orderBy(\n\t\t\t\t\tdata.ocs.data.map(share => new Share(share)),\n\t\t\t\t\t[\n\t\t\t\t\t\t// First order by the \"share with\" label\n\t\t\t\t\t\t(share) => share.shareWithDisplayName,\n\t\t\t\t\t\t// Then by the label\n\t\t\t\t\t\t(share) => share.label,\n\t\t\t\t\t\t// And last resort order by createdTime\n\t\t\t\t\t\t(share) => share.createdTime,\n\t\t\t\t\t],\n\t\t\t\t)\n\n\t\t\t\tfor (const share of shares) {\n\t\t\t\t\tif ([ShareType.Link, ShareType.Email].includes(share.type)) {\n\t\t\t\t\t\tthis.linkShares.push(share)\n\t\t\t\t\t} else if ([ShareType.Remote, ShareType.RemoteGroup].includes(share.type)) {\n\t\t\t\t\t\tif (this.config.showFederatedSharesAsInternal) {\n\t\t\t\t\t\t\tthis.shares.push(share)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.externalShares.push(share)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.shares.push(share)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlogger.debug(`Processed ${this.linkShares.length} link share(s)`)\n\t\t\t\tlogger.debug(`Processed ${this.shares.length} share(s)`)\n\t\t\t\tlogger.debug(`Processed ${this.externalShares.length} external share(s)`)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the sharedWithMe share data\n\t\t * and init sharedWithMe\n\t\t *\n\t\t * @param {object} share the share ocs api request data\n\t\t * @param {object} share.data the request data\n\t\t */\n\t\tprocessSharedWithMe({ data }) {\n\t\t\tif (data.ocs && data.ocs.data && data.ocs.data[0]) {\n\t\t\t\tconst share = new Share(data)\n\t\t\t\tconst title = shareWithTitle(share)\n\t\t\t\tconst displayName = share.ownerDisplayName\n\t\t\t\tconst user = share.owner\n\n\t\t\t\tthis.sharedWithMe = {\n\t\t\t\t\tdisplayName,\n\t\t\t\t\ttitle,\n\t\t\t\t\tuser,\n\t\t\t\t}\n\t\t\t\tthis.reshare = share\n\n\t\t\t\t// If we have an expiration date, use it as subtitle\n\t\t\t\t// Refresh the status every 10s and clear if expired\n\t\t\t\tif (share.expireDate && moment(share.expireDate).unix() > moment().unix()) {\n\t\t\t\t\t// first update\n\t\t\t\t\tthis.updateExpirationSubtitle(share)\n\t\t\t\t\t// interval update\n\t\t\t\t\tthis.expirationInterval = setInterval(this.updateExpirationSubtitle, 10000, share)\n\t\t\t\t}\n\t\t\t} else if (this.fileInfo && this.fileInfo.shareOwnerId !== undefined ? this.fileInfo.shareOwnerId !== getCurrentUser().uid : false) {\n\t\t\t\t// Fallback to compare owner and current user.\n\t\t\t\tthis.sharedWithMe = {\n\t\t\t\t\tdisplayName: this.fileInfo.shareOwner,\n\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t'files_sharing',\n\t\t\t\t\t\t'Shared with you by {owner}',\n\t\t\t\t\t\t{ owner: this.fileInfo.shareOwner },\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t{ escape: false },\n\t\t\t\t\t),\n\t\t\t\t\tuser: this.fileInfo.shareOwnerId,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add a new share into the shares list\n\t\t * and return the newly created share component\n\t\t *\n\t\t * @param {Share} share the share to add to the array\n\t\t * @param {Function} [resolve] a function to run after the share is added and its component initialized\n\t\t */\n\t\taddShare(share, resolve = () => { }) {\n\t\t\t// only catching share type MAIL as link shares are added differently\n\t\t\t// meaning: not from the ShareInput\n\t\t\tif (share.type === ShareType.Email) {\n\t\t\t\tthis.linkShares.unshift(share)\n\t\t\t} else if ([ShareType.Remote, ShareType.RemoteGroup].includes(share.type)) {\n\t\t\t\tif (this.config.showFederatedSharesAsInternal) {\n\t\t\t\t\tthis.shares.unshift(share)\n\t\t\t\t} else {\n\t\t\t\t\tthis.externalShares.unshift(share)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.shares.unshift(share)\n\t\t\t}\n\t\t\tthis.awaitForShare(share, resolve)\n\t\t},\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\t// Get reference for this.linkShares or this.shares\n\t\t\tconst shareList\n\t\t\t\t= share.type === ShareType.Email\n\t\t\t\t\t|| share.type === ShareType.Link\n\t\t\t\t\t? this.linkShares\n\t\t\t\t\t: this.shares\n\t\t\tconst index = shareList.findIndex(item => item.id === share.id)\n\t\t\tif (index !== -1) {\n\t\t\t\tshareList.splice(index, 1)\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Await for next tick and render after the list updated\n\t\t * Then resolve with the matched vue component of the\n\t\t * provided share object\n\t\t *\n\t\t * @param {Share} share newly created share\n\t\t * @param {Function} resolve a function to execute after\n\t\t */\n\t\tawaitForShare(share, resolve) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tlet listComponent = this.$refs.shareList\n\t\t\t\t// Only mail shares comes from the input, link shares\n\t\t\t\t// are managed internally in the SharingLinkList component\n\t\t\t\tif (share.type === ShareType.Email) {\n\t\t\t\t\tlistComponent = this.$refs.linkShareList\n\t\t\t\t}\n\t\t\t\tconst newShare = listComponent.$children.find(component => component.share === share)\n\t\t\t\tif (newShare) {\n\t\t\t\t\tresolve(newShare)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\ttoggleShareDetailsView(eventData) {\n\t\t\tif (!this.showSharingDetailsView) {\n\t\t\t\tconst isAction = Array.from(document.activeElement.classList)\n\t\t\t\t\t.some(className => className.startsWith('action-'))\n\t\t\t\tif (isAction) {\n\t\t\t\t\tconst menuId = document.activeElement.closest('[role=\"menu\"]')?.id\n\t\t\t\t\tthis.returnFocusElement = document.querySelector(`[aria-controls=\"${menuId}\"]`)\n\t\t\t\t} else {\n\t\t\t\t\tthis.returnFocusElement = document.activeElement\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (eventData) {\n\t\t\t\tthis.shareDetailsData = eventData\n\t\t\t}\n\n\t\t\tthis.showSharingDetailsView = !this.showSharingDetailsView\n\n\t\t\tif (!this.showSharingDetailsView) {\n\t\t\t\tthis.$nextTick(() => { // Wait for next tick as the element must be visible to be focused\n\t\t\t\t\tthis.returnFocusElement?.focus()\n\t\t\t\t\tthis.returnFocusElement = null\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.emptyContentWithSections {\n\tmargin: 1rem auto;\n}\n\n.sharingTab {\n\tposition: relative;\n\theight: 100%;\n\n\t&__content {\n\t\tpadding: 0 6px;\n\n\t\tsection {\n\t\t\tpadding-bottom: 16px;\n\n\t\t\t.section-header {\n\t\t\t\tmargin-top: 2px;\n\t\t\t\tmargin-bottom: 2px;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tpadding-bottom: 4px;\n\n\t\t\t\th4 {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t}\n\n\t\t\t\t.visually-hidden {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t.hint-icon {\n\t\t\t\t\tcolor: var(--color-primary-element);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t& > section:not(:last-child) {\n\t\t\tborder-bottom: 2px solid var(--color-border);\n\t\t}\n\n\t}\n\n\t&__additionalContent {\n\t\tmargin: 44px 0;\n\t}\n}\n\n.hint-body {\n\tmax-width: 300px;\n\tpadding: var(--border-radius-element);\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { ShareType } from '@nextcloud/sharing'\n\nconst shareWithTitle = function(share) {\n\tif (share.type === ShareType.Group) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and the group {group} by {owner}',\n\t\t\t{\n\t\t\t\tgroup: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareType.Team) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and {circle} by {owner}',\n\t\t\t{\n\t\t\t\tcircle: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareType.Room) {\n\t\tif (share.shareWithDisplayName) {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you and the conversation {conversation} by {owner}',\n\t\t\t\t{\n\t\t\t\t\tconversation: share.shareWithDisplayName,\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t} else {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you in a conversation by {owner}',\n\t\t\t\t{\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t}\n\t} else {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you by {owner}',\n\t\t\t{ owner: share.ownerDisplayName },\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t}\n}\n\nexport { shareWithTitle }\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=style&index=0&id=592538f1&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=style&index=0&id=592538f1&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingTab.vue?vue&type=template&id=592538f1&scoped=true\"\nimport script from \"./SharingTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingTab.vue?vue&type=style&index=0&id=592538f1&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"592538f1\",\n null\n \n)\n\nexport default component.exports","import { o as logger } from \"./chunks/dav-Co9y-hkg.mjs\";\nimport { q, F, s, N, t, P, c, l, m, n, a, g, p, b, r, d, h, f, k, j, e, i } from \"./chunks/dav-Co9y-hkg.mjs\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { extname, basename } from \"path\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\nimport { TypedEventTarget } from \"typescript-event-target\";\nvar NewMenuEntryCategory = /* @__PURE__ */ ((NewMenuEntryCategory2) => {\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"UploadFromDevice\"] = 0] = \"UploadFromDevice\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"CreateNew\"] = 1] = \"CreateNew\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"Other\"] = 2] = \"Other\";\n return NewMenuEntryCategory2;\n})(NewMenuEntryCategory || {});\nclass NewFileMenu {\n _entries = [];\n registerEntry(entry) {\n this.validateEntry(entry);\n entry.category = entry.category ?? 1;\n this._entries.push(entry);\n }\n unregisterEntry(entry) {\n const entryIndex = typeof entry === \"string\" ? this.getEntryIndex(entry) : this.getEntryIndex(entry.id);\n if (entryIndex === -1) {\n logger.warn(\"Entry not found, nothing removed\", { entry, entries: this.getEntries() });\n return;\n }\n this._entries.splice(entryIndex, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(context) {\n if (context) {\n return this._entries.filter((entry) => typeof entry.enabled === \"function\" ? entry.enabled(context) : true);\n }\n return this._entries;\n }\n getEntryIndex(id) {\n return this._entries.findIndex((entry) => entry.id === id);\n }\n validateEntry(entry) {\n if (!entry.id || !entry.displayName || !(entry.iconSvgInline || entry.iconClass) || !entry.handler) {\n throw new Error(\"Invalid entry\");\n }\n if (typeof entry.id !== \"string\" || typeof entry.displayName !== \"string\") {\n throw new Error(\"Invalid id or displayName property\");\n }\n if (entry.iconClass && typeof entry.iconClass !== \"string\" || entry.iconSvgInline && typeof entry.iconSvgInline !== \"string\") {\n throw new Error(\"Invalid icon provided\");\n }\n if (entry.enabled !== void 0 && typeof entry.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (typeof entry.handler !== \"function\") {\n throw new Error(\"Invalid handler property\");\n }\n if (\"order\" in entry && typeof entry.order !== \"number\") {\n throw new Error(\"Invalid order property\");\n }\n if (this.getEntryIndex(entry.id) !== -1) {\n throw new Error(\"Duplicate entry\");\n }\n }\n}\nconst getNewFileMenu = function() {\n if (typeof window._nc_newfilemenu === \"undefined\") {\n window._nc_newfilemenu = new NewFileMenu();\n logger.debug(\"NewFileMenu initialized\");\n }\n return window._nc_newfilemenu;\n};\nvar DefaultType = /* @__PURE__ */ ((DefaultType2) => {\n DefaultType2[\"DEFAULT\"] = \"default\";\n DefaultType2[\"HIDDEN\"] = \"hidden\";\n return DefaultType2;\n})(DefaultType || {});\nclass FileAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get destructive() {\n return this._action.destructive;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"title\" in action && typeof action.title !== \"function\") {\n throw new Error(\"Invalid title function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n throw new Error(\"Invalid execBatch function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (action.destructive !== void 0 && typeof action.destructive !== \"boolean\") {\n throw new Error(\"Invalid destructive flag\");\n }\n if (\"parent\" in action && typeof action.parent !== \"string\") {\n throw new Error(\"Invalid parent\");\n }\n if (action.default && !Object.values(DefaultType).includes(action.default)) {\n throw new Error(\"Invalid default\");\n }\n if (\"inline\" in action && typeof action.inline !== \"function\") {\n throw new Error(\"Invalid inline function\");\n }\n if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n throw new Error(\"Invalid renderInline function\");\n }\n }\n}\nconst registerFileAction = function(action) {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n if (window._nc_fileactions.find((search) => search.id === action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n window._nc_fileactions.push(action);\n};\nconst getFileActions = function() {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n return window._nc_fileactions;\n};\nclass FileListAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get order() {\n return this._action.order;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"iconSvgInline\" in action && typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n }\n}\nconst registerFileListAction = (action) => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n if (window._nc_filelistactions.find((listAction) => listAction.id === action.id)) {\n logger.error(`FileListAction with id \"${action.id}\" is already registered`, { action });\n return;\n }\n window._nc_filelistactions.push(action);\n};\nconst getFileListActions = () => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n return window._nc_filelistactions;\n};\nclass Header {\n _header;\n constructor(header) {\n this.validateHeader(header);\n this._header = header;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(header) {\n if (!header.id || !header.render || !header.updated) {\n throw new Error(\"Invalid header: id, render and updated are required\");\n }\n if (typeof header.id !== \"string\") {\n throw new Error(\"Invalid id property\");\n }\n if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (header.render && typeof header.render !== \"function\") {\n throw new Error(\"Invalid render property\");\n }\n if (header.updated && typeof header.updated !== \"function\") {\n throw new Error(\"Invalid updated property\");\n }\n }\n}\nconst registerFileListHeaders = function(header) {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n if (window._nc_filelistheader.find((search) => search.id === header.id)) {\n logger.error(`Header ${header.id} already registered`, { header });\n return;\n }\n window._nc_filelistheader.push(header);\n};\nconst getFileListHeaders = function() {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n return window._nc_filelistheader;\n};\nvar InvalidFilenameErrorReason = /* @__PURE__ */ ((InvalidFilenameErrorReason2) => {\n InvalidFilenameErrorReason2[\"ReservedName\"] = \"reserved name\";\n InvalidFilenameErrorReason2[\"Character\"] = \"character\";\n InvalidFilenameErrorReason2[\"Extension\"] = \"extension\";\n return InvalidFilenameErrorReason2;\n})(InvalidFilenameErrorReason || {});\nclass InvalidFilenameError extends Error {\n constructor(options) {\n super(`Invalid ${options.reason} '${options.segment}' in filename '${options.filename}'`, { cause: options });\n }\n /**\n * The filename that was validated\n */\n get filename() {\n return this.cause.filename;\n }\n /**\n * Reason why the validation failed\n */\n get reason() {\n return this.cause.reason;\n }\n /**\n * Part of the filename that caused this error\n */\n get segment() {\n return this.cause.segment;\n }\n}\nfunction validateFilename(filename) {\n const capabilities = getCapabilities().files;\n const forbiddenCharacters = capabilities.forbidden_filename_characters ?? window._oc_config?.forbidden_filenames_characters ?? [\"/\", \"\\\\\"];\n for (const character of forbiddenCharacters) {\n if (filename.includes(character)) {\n throw new InvalidFilenameError({ segment: character, reason: \"character\", filename });\n }\n }\n filename = filename.toLocaleLowerCase();\n const forbiddenFilenames = capabilities.forbidden_filenames ?? [\".htaccess\"];\n if (forbiddenFilenames.includes(filename)) {\n throw new InvalidFilenameError({\n filename,\n segment: filename,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const endOfBasename = filename.indexOf(\".\", 1);\n const basename2 = filename.substring(0, endOfBasename === -1 ? void 0 : endOfBasename);\n const forbiddenFilenameBasenames = capabilities.forbidden_filename_basenames ?? [];\n if (forbiddenFilenameBasenames.includes(basename2)) {\n throw new InvalidFilenameError({\n filename,\n segment: basename2,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const forbiddenFilenameExtensions = capabilities.forbidden_filename_extensions ?? [\".part\", \".filepart\"];\n for (const extension of forbiddenFilenameExtensions) {\n if (filename.length > extension.length && filename.endsWith(extension)) {\n throw new InvalidFilenameError({ segment: extension, reason: \"extension\", filename });\n }\n }\n}\nfunction isFilenameValid(filename) {\n try {\n validateFilename(filename);\n return true;\n } catch (error) {\n if (error instanceof InvalidFilenameError) {\n return false;\n }\n throw error;\n }\n}\nfunction getUniqueName(name, otherNames, options) {\n const opts = {\n suffix: (n2) => `(${n2})`,\n ignoreFileExtension: false,\n ...options\n };\n let newName = name;\n let i2 = 1;\n while (otherNames.includes(newName)) {\n const ext = opts.ignoreFileExtension ? \"\" : extname(name);\n const base = basename(name, ext);\n newName = `${base} ${opts.suffix(i2++)}${ext}`;\n }\n return newName;\n}\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n binaryPrefixes = binaryPrefixes && !base1000;\n if (typeof size === \"string\") {\n size = Number(size);\n }\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n } else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n try {\n value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch (e2) {\n return null;\n }\n const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (match === null || match[1] === \".\" || match[1] === \"\") {\n return null;\n }\n const bytesArray = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n };\n const decimalString = `${match[1]}`;\n const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nfunction stringify(value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\nfunction orderBy(collection, identifiers2, orders) {\n identifiers2 = identifiers2 ?? [(value) => value];\n orders = orders ?? [];\n const sorting = identifiers2.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n const collator = Intl.Collator(\n [getLanguage(), getCanonicalLocale()],\n {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: \"sort\"\n }\n );\n return [...collection].sort((a2, b2) => {\n for (const [index, identifier] of identifiers2.entries()) {\n const value = collator.compare(stringify(identifier(a2)), stringify(identifier(b2)));\n if (value !== 0) {\n return value * sorting[index];\n }\n }\n return 0;\n });\n}\nvar FilesSortingMode = /* @__PURE__ */ ((FilesSortingMode2) => {\n FilesSortingMode2[\"Name\"] = \"basename\";\n FilesSortingMode2[\"Modified\"] = \"mtime\";\n FilesSortingMode2[\"Size\"] = \"size\";\n return FilesSortingMode2;\n})(FilesSortingMode || {});\nfunction sortNodes(nodes, options = {}) {\n const sortingOptions = {\n // Default to sort by name\n sortingMode: \"basename\",\n // Default to sort ascending\n sortingOrder: \"asc\",\n ...options\n };\n const basename2 = (name) => name.lastIndexOf(\".\") > 0 ? name.slice(0, name.lastIndexOf(\".\")) : name;\n const identifiers2 = [\n // 1: Sort favorites first if enabled\n ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n // 2: Sort folders first if sorting by name\n ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n // 3: Use sorting mode if NOT basename (to be able to use display name too)\n ...sortingOptions.sortingMode !== \"basename\" ? [(v) => v[sortingOptions.sortingMode]] : [],\n // 4: Use display name if available, fallback to name\n (v) => basename2(v.displayname || v.attributes?.displayname || v.basename),\n // 5: Finally, use basename if all previous sorting methods failed\n (v) => v.basename\n ];\n const orders = [\n // (for 1): always sort favorites before normal files\n ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n // (for 2): always sort folders before files\n ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n ...sortingOptions.sortingMode === \"mtime\" ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n // (also for 3 so make sure not to conflict with 2 and 3)\n ...sortingOptions.sortingMode !== \"mtime\" && sortingOptions.sortingMode !== \"basename\" ? [sortingOptions.sortingOrder] : [],\n // for 4: use configured sorting direction\n sortingOptions.sortingOrder,\n // for 5: use configured sorting direction\n sortingOptions.sortingOrder\n ];\n return orderBy(nodes, identifiers2, orders);\n}\nclass Navigation extends TypedEventTarget {\n _views = [];\n _currentView = null;\n /**\n * Register a new view on the navigation\n * @param view The view to register\n * @throws `Error` is thrown if a view with the same id is already registered\n */\n register(view) {\n if (this._views.find((search) => search.id === view.id)) {\n throw new Error(`View id ${view.id} is already registered`);\n }\n this._views.push(view);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n /**\n * Remove a registered view\n * @param id The id of the view to remove\n */\n remove(id) {\n const index = this._views.findIndex((view) => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n }\n /**\n * Set the currently active view\n * @fires UpdateActiveViewEvent\n * @param view New active view\n */\n setActive(view) {\n this._currentView = view;\n const event = new CustomEvent(\"updateActive\", { detail: view });\n this.dispatchTypedEvent(\"updateActive\", event);\n }\n /**\n * The currently active files view\n */\n get active() {\n return this._currentView;\n }\n /**\n * All registered views\n */\n get views() {\n return this._views;\n }\n}\nconst getNavigation = function() {\n if (typeof window._nc_navigation === \"undefined\") {\n window._nc_navigation = new Navigation();\n logger.debug(\"Navigation service initialized\");\n }\n return window._nc_navigation;\n};\nclass Column {\n _column;\n constructor(column) {\n isValidColumn(column);\n this._column = column;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst isValidColumn = function(column) {\n if (!column.id || typeof column.id !== \"string\") {\n throw new Error(\"A column id is required\");\n }\n if (!column.title || typeof column.title !== \"string\") {\n throw new Error(\"A column title is required\");\n }\n if (!column.render || typeof column.render !== \"function\") {\n throw new Error(\"A render function is required\");\n }\n if (column.sort && typeof column.sort !== \"function\") {\n throw new Error(\"Column sortFunction must be a function\");\n }\n if (column.summary && typeof column.summary !== \"function\") {\n throw new Error(\"Column summary must be a function\");\n }\n return true;\n};\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar validator = {};\nvar util = {};\nvar hasRequiredUtil;\nfunction requireUtil() {\n if (hasRequiredUtil) return util;\n hasRequiredUtil = 1;\n (function(exports) {\n const nameStartChar = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n const nameChar = nameStartChar + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\n const nameRegexp = \"[\" + nameStartChar + \"][\" + nameChar + \"]*\";\n const regexName = new RegExp(\"^\" + nameRegexp + \"$\");\n const getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n };\n const isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === \"undefined\");\n };\n exports.isExist = function(v) {\n return typeof v !== \"undefined\";\n };\n exports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n };\n exports.merge = function(target, a2, arrayMode) {\n if (a2) {\n const keys = Object.keys(a2);\n const len = keys.length;\n for (let i2 = 0; i2 < len; i2++) {\n if (arrayMode === \"strict\") {\n target[keys[i2]] = [a2[keys[i2]]];\n } else {\n target[keys[i2]] = a2[keys[i2]];\n }\n }\n }\n };\n exports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return \"\";\n }\n };\n exports.isName = isName;\n exports.getAllMatches = getAllMatches;\n exports.nameRegexp = nameRegexp;\n })(util);\n return util;\n}\nvar hasRequiredValidator;\nfunction requireValidator() {\n if (hasRequiredValidator) return validator;\n hasRequiredValidator = 1;\n const util2 = requireUtil();\n const defaultOptions = {\n allowBooleanAttributes: false,\n //A tag can have attributes without any value\n unpairedTags: []\n };\n validator.validate = function(xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n const tags = [];\n let tagFound = false;\n let reachedRoot = false;\n if (xmlData[0] === \"\\uFEFF\") {\n xmlData = xmlData.substr(1);\n }\n for (let i2 = 0; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\" && xmlData[i2 + 1] === \"?\") {\n i2 += 2;\n i2 = readPI(xmlData, i2);\n if (i2.err) return i2;\n } else if (xmlData[i2] === \"<\") {\n let tagStartPos = i2;\n i2++;\n if (xmlData[i2] === \"!\") {\n i2 = readCommentAndCDATA(xmlData, i2);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i2] === \"/\") {\n closingTag = true;\n i2++;\n }\n let tagName = \"\";\n for (; i2 < xmlData.length && xmlData[i2] !== \">\" && xmlData[i2] !== \" \" && xmlData[i2] !== \"\t\" && xmlData[i2] !== \"\\n\" && xmlData[i2] !== \"\\r\"; i2++) {\n tagName += xmlData[i2];\n }\n tagName = tagName.trim();\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substring(0, tagName.length - 1);\n i2--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\" + tagName + \"' is an invalid name.\";\n }\n return getErrorObject(\"InvalidTag\", msg, getLineNumberForPosition(xmlData, i2));\n }\n const result = readAttributeStr(xmlData, i2);\n if (result === false) {\n return getErrorObject(\"InvalidAttr\", \"Attributes for '\" + tagName + \"' have open quote.\", getLineNumberForPosition(xmlData, i2));\n }\n let attrStr = result.value;\n i2 = result.index;\n if (attrStr[attrStr.length - 1] === \"/\") {\n const attrStrStart = i2 - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n } else {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i2));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject(\n \"InvalidTag\",\n \"Expected closing tag '\" + otg.tagName + \"' (opened in line \" + openPos.line + \", col \" + openPos.col + \") instead of closing tag '\" + tagName + \"'.\",\n getLineNumberForPosition(xmlData, tagStartPos)\n );\n }\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i2 - attrStr.length + isValid.err.line));\n }\n if (reachedRoot === true) {\n return getErrorObject(\"InvalidXml\", \"Multiple possible root nodes found.\", getLineNumberForPosition(xmlData, i2));\n } else if (options.unpairedTags.indexOf(tagName) !== -1) ;\n else {\n tags.push({ tagName, tagStartPos });\n }\n tagFound = true;\n }\n for (i2++; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n if (xmlData[i2 + 1] === \"!\") {\n i2++;\n i2 = readCommentAndCDATA(xmlData, i2);\n continue;\n } else if (xmlData[i2 + 1] === \"?\") {\n i2 = readPI(xmlData, ++i2);\n if (i2.err) return i2;\n } else {\n break;\n }\n } else if (xmlData[i2] === \"&\") {\n const afterAmp = validateAmpersand(xmlData, i2);\n if (afterAmp == -1)\n return getErrorObject(\"InvalidChar\", \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i2));\n i2 = afterAmp;\n } else {\n if (reachedRoot === true && !isWhiteSpace(xmlData[i2])) {\n return getErrorObject(\"InvalidXml\", \"Extra text at the end\", getLineNumberForPosition(xmlData, i2));\n }\n }\n }\n if (xmlData[i2] === \"<\") {\n i2--;\n }\n }\n } else {\n if (isWhiteSpace(xmlData[i2])) {\n continue;\n }\n return getErrorObject(\"InvalidChar\", \"char '\" + xmlData[i2] + \"' is not expected.\", getLineNumberForPosition(xmlData, i2));\n }\n }\n if (!tagFound) {\n return getErrorObject(\"InvalidXml\", \"Start tag expected.\", 1);\n } else if (tags.length == 1) {\n return getErrorObject(\"InvalidTag\", \"Unclosed tag '\" + tags[0].tagName + \"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n } else if (tags.length > 0) {\n return getErrorObject(\"InvalidXml\", \"Invalid '\" + JSON.stringify(tags.map((t2) => t2.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n }\n return true;\n };\n function isWhiteSpace(char) {\n return char === \" \" || char === \"\t\" || char === \"\\n\" || char === \"\\r\";\n }\n function readPI(xmlData, i2) {\n const start = i2;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] == \"?\" || xmlData[i2] == \" \") {\n const tagname = xmlData.substr(start, i2 - start);\n if (i2 > 5 && tagname === \"xml\") {\n return getErrorObject(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", getLineNumberForPosition(xmlData, i2));\n } else if (xmlData[i2] == \"?\" && xmlData[i2 + 1] == \">\") {\n i2++;\n break;\n } else {\n continue;\n }\n }\n }\n return i2;\n }\n function readCommentAndCDATA(xmlData, i2) {\n if (xmlData.length > i2 + 5 && xmlData[i2 + 1] === \"-\" && xmlData[i2 + 2] === \"-\") {\n for (i2 += 3; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"-\" && xmlData[i2 + 1] === \"-\" && xmlData[i2 + 2] === \">\") {\n i2 += 2;\n break;\n }\n }\n } else if (xmlData.length > i2 + 8 && xmlData[i2 + 1] === \"D\" && xmlData[i2 + 2] === \"O\" && xmlData[i2 + 3] === \"C\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"Y\" && xmlData[i2 + 6] === \"P\" && xmlData[i2 + 7] === \"E\") {\n let angleBracketsCount = 1;\n for (i2 += 8; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n angleBracketsCount++;\n } else if (xmlData[i2] === \">\") {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (xmlData.length > i2 + 9 && xmlData[i2 + 1] === \"[\" && xmlData[i2 + 2] === \"C\" && xmlData[i2 + 3] === \"D\" && xmlData[i2 + 4] === \"A\" && xmlData[i2 + 5] === \"T\" && xmlData[i2 + 6] === \"A\" && xmlData[i2 + 7] === \"[\") {\n for (i2 += 8; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"]\" && xmlData[i2 + 1] === \"]\" && xmlData[i2 + 2] === \">\") {\n i2 += 2;\n break;\n }\n }\n }\n return i2;\n }\n const doubleQuote = '\"';\n const singleQuote = \"'\";\n function readAttributeStr(xmlData, i2) {\n let attrStr = \"\";\n let startChar = \"\";\n let tagClosed = false;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === doubleQuote || xmlData[i2] === singleQuote) {\n if (startChar === \"\") {\n startChar = xmlData[i2];\n } else if (startChar !== xmlData[i2]) ;\n else {\n startChar = \"\";\n }\n } else if (xmlData[i2] === \">\") {\n if (startChar === \"\") {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i2];\n }\n if (startChar !== \"\") {\n return false;\n }\n return {\n value: attrStr,\n index: i2,\n tagClosed\n };\n }\n const validAttrStrRegxp = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\n function validateAttributeString(attrStr, options) {\n const matches = util2.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n for (let i2 = 0; i2 < matches.length; i2++) {\n if (matches[i2][1].length === 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i2][2] + \"' has no space in starting.\", getPositionFromMatch(matches[i2]));\n } else if (matches[i2][3] !== void 0 && matches[i2][4] === void 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i2][2] + \"' is without value.\", getPositionFromMatch(matches[i2]));\n } else if (matches[i2][3] === void 0 && !options.allowBooleanAttributes) {\n return getErrorObject(\"InvalidAttr\", \"boolean attribute '\" + matches[i2][2] + \"' is not allowed.\", getPositionFromMatch(matches[i2]));\n }\n const attrName = matches[i2][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is an invalid name.\", getPositionFromMatch(matches[i2]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n attrNames[attrName] = 1;\n } else {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is repeated.\", getPositionFromMatch(matches[i2]));\n }\n }\n return true;\n }\n function validateNumberAmpersand(xmlData, i2) {\n let re2 = /\\d/;\n if (xmlData[i2] === \"x\") {\n i2++;\n re2 = /[\\da-fA-F]/;\n }\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \";\")\n return i2;\n if (!xmlData[i2].match(re2))\n break;\n }\n return -1;\n }\n function validateAmpersand(xmlData, i2) {\n i2++;\n if (xmlData[i2] === \";\")\n return -1;\n if (xmlData[i2] === \"#\") {\n i2++;\n return validateNumberAmpersand(xmlData, i2);\n }\n let count = 0;\n for (; i2 < xmlData.length; i2++, count++) {\n if (xmlData[i2].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i2] === \";\")\n break;\n return -1;\n }\n return i2;\n }\n function getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col\n }\n };\n }\n function validateAttrName(attrName) {\n return util2.isName(attrName);\n }\n function validateTagName(tagname) {\n return util2.isName(tagname);\n }\n function getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n }\n function getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n }\n return validator;\n}\nvar OptionsBuilder = {};\nvar hasRequiredOptionsBuilder;\nfunction requireOptionsBuilder() {\n if (hasRequiredOptionsBuilder) return OptionsBuilder;\n hasRequiredOptionsBuilder = 1;\n const defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n removeNSPrefix: false,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true,\n //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs) {\n return tagName;\n }\n // skipEmptyListItem: false\n };\n const buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n };\n OptionsBuilder.buildOptions = buildOptions;\n OptionsBuilder.defaultOptions = defaultOptions;\n return OptionsBuilder;\n}\nvar xmlNode;\nvar hasRequiredXmlNode;\nfunction requireXmlNode() {\n if (hasRequiredXmlNode) return xmlNode;\n hasRequiredXmlNode = 1;\n class XmlNode {\n constructor(tagname) {\n this.tagname = tagname;\n this.child = [];\n this[\":@\"] = {};\n }\n add(key, val) {\n if (key === \"__proto__\") key = \"#__proto__\";\n this.child.push({ [key]: val });\n }\n addChild(node) {\n if (node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if (node[\":@\"] && Object.keys(node[\":@\"]).length > 0) {\n this.child.push({ [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n } else {\n this.child.push({ [node.tagname]: node.child });\n }\n }\n }\n xmlNode = XmlNode;\n return xmlNode;\n}\nvar DocTypeReader;\nvar hasRequiredDocTypeReader;\nfunction requireDocTypeReader() {\n if (hasRequiredDocTypeReader) return DocTypeReader;\n hasRequiredDocTypeReader = 1;\n const util2 = requireUtil();\n function readDocType(xmlData, i2) {\n const entities = {};\n if (xmlData[i2 + 3] === \"O\" && xmlData[i2 + 4] === \"C\" && xmlData[i2 + 5] === \"T\" && xmlData[i2 + 6] === \"Y\" && xmlData[i2 + 7] === \"P\" && xmlData[i2 + 8] === \"E\") {\n i2 = i2 + 9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\" && !comment) {\n if (hasBody && isEntity(xmlData, i2)) {\n i2 += 7;\n let entityName, val;\n [entityName, val, i2] = readEntityExp(xmlData, i2 + 1);\n if (val.indexOf(\"&\") === -1)\n entities[validateEntityName(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n };\n } else if (hasBody && isElement(xmlData, i2)) i2 += 8;\n else if (hasBody && isAttlist(xmlData, i2)) i2 += 8;\n else if (hasBody && isNotation(xmlData, i2)) i2 += 9;\n else comment = true;\n angleBracketsCount++;\n exp = \"\";\n } else if (xmlData[i2] === \">\") {\n if (comment) {\n if (xmlData[i2 - 1] === \"-\" && xmlData[i2 - 2] === \"-\") {\n comment = false;\n angleBracketsCount--;\n }\n } else {\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n } else if (xmlData[i2] === \"[\") {\n hasBody = true;\n } else {\n exp += xmlData[i2];\n }\n }\n if (angleBracketsCount !== 0) {\n throw new Error(`Unclosed DOCTYPE`);\n }\n } else {\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return { entities, i: i2 };\n }\n function readEntityExp(xmlData, i2) {\n let entityName = \"\";\n for (; i2 < xmlData.length && (xmlData[i2] !== \"'\" && xmlData[i2] !== '\"'); i2++) {\n entityName += xmlData[i2];\n }\n entityName = entityName.trim();\n if (entityName.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n const startChar = xmlData[i2++];\n let val = \"\";\n for (; i2 < xmlData.length && xmlData[i2] !== startChar; i2++) {\n val += xmlData[i2];\n }\n return [entityName, val, i2];\n }\n function isEntity(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"E\" && xmlData[i2 + 3] === \"N\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"I\" && xmlData[i2 + 6] === \"T\" && xmlData[i2 + 7] === \"Y\") return true;\n return false;\n }\n function isElement(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"E\" && xmlData[i2 + 3] === \"L\" && xmlData[i2 + 4] === \"E\" && xmlData[i2 + 5] === \"M\" && xmlData[i2 + 6] === \"E\" && xmlData[i2 + 7] === \"N\" && xmlData[i2 + 8] === \"T\") return true;\n return false;\n }\n function isAttlist(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"A\" && xmlData[i2 + 3] === \"T\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"L\" && xmlData[i2 + 6] === \"I\" && xmlData[i2 + 7] === \"S\" && xmlData[i2 + 8] === \"T\") return true;\n return false;\n }\n function isNotation(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"N\" && xmlData[i2 + 3] === \"O\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"A\" && xmlData[i2 + 6] === \"T\" && xmlData[i2 + 7] === \"I\" && xmlData[i2 + 8] === \"O\" && xmlData[i2 + 9] === \"N\") return true;\n return false;\n }\n function validateEntityName(name) {\n if (util2.isName(name))\n return name;\n else\n throw new Error(`Invalid entity name ${name}`);\n }\n DocTypeReader = readDocType;\n return DocTypeReader;\n}\nvar strnum;\nvar hasRequiredStrnum;\nfunction requireStrnum() {\n if (hasRequiredStrnum) return strnum;\n hasRequiredStrnum = 1;\n const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\n const numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n if (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n }\n if (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n }\n const consider = {\n hex: true,\n leadingZeros: true,\n decimalPoint: \".\",\n eNotation: true\n //skipLike: /regex/\n };\n function toNumber(str, options = {}) {\n options = Object.assign({}, consider, options);\n if (!str || typeof str !== \"string\") return str;\n let trimmedStr = str.trim();\n if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n } else {\n const match = numRegex.exec(trimmedStr);\n if (match) {\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]);\n const eNotation = match[4] || match[6];\n if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str;\n else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str;\n else {\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if (numStr.search(/[eE]/) !== -1) {\n if (options.eNotation) return num;\n else return str;\n } else if (eNotation) {\n if (options.eNotation) return num;\n else return str;\n } else if (trimmedStr.indexOf(\".\") !== -1) {\n if (numStr === \"0\" && numTrimmedByZeros === \"\") return num;\n else if (numStr === numTrimmedByZeros) return num;\n else if (sign && numStr === \"-\" + numTrimmedByZeros) return num;\n else return str;\n }\n if (leadingZeros) {\n if (numTrimmedByZeros === numStr) return num;\n else if (sign + numTrimmedByZeros === numStr) return num;\n else return str;\n }\n if (trimmedStr === numStr) return num;\n else if (trimmedStr === sign + numStr) return num;\n return str;\n }\n } else {\n return str;\n }\n }\n }\n function trimZeros(numStr) {\n if (numStr && numStr.indexOf(\".\") !== -1) {\n numStr = numStr.replace(/0+$/, \"\");\n if (numStr === \".\") numStr = \"0\";\n else if (numStr[0] === \".\") numStr = \"0\" + numStr;\n else if (numStr[numStr.length - 1] === \".\") numStr = numStr.substr(0, numStr.length - 1);\n return numStr;\n }\n return numStr;\n }\n strnum = toNumber;\n return strnum;\n}\nvar ignoreAttributes;\nvar hasRequiredIgnoreAttributes;\nfunction requireIgnoreAttributes() {\n if (hasRequiredIgnoreAttributes) return ignoreAttributes;\n hasRequiredIgnoreAttributes = 1;\n function getIgnoreAttributesFn(ignoreAttributes2) {\n if (typeof ignoreAttributes2 === \"function\") {\n return ignoreAttributes2;\n }\n if (Array.isArray(ignoreAttributes2)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes2) {\n if (typeof pattern === \"string\" && attrName === pattern) {\n return true;\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true;\n }\n }\n };\n }\n return () => false;\n }\n ignoreAttributes = getIgnoreAttributesFn;\n return ignoreAttributes;\n}\nvar OrderedObjParser_1;\nvar hasRequiredOrderedObjParser;\nfunction requireOrderedObjParser() {\n if (hasRequiredOrderedObjParser) return OrderedObjParser_1;\n hasRequiredOrderedObjParser = 1;\n const util2 = requireUtil();\n const xmlNode2 = requireXmlNode();\n const readDocType = requireDocTypeReader();\n const toNumber = requireStrnum();\n const getIgnoreAttributesFn = requireIgnoreAttributes();\n class OrderedObjParser {\n constructor(options) {\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\": { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n \"gt\": { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n \"lt\": { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n \"quot\": { regex: /&(quot|#34|#x22);/g, val: '\"' }\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" };\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\": { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\": { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\": { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\": { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\": { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\": { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\": { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 16)) }\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);\n }\n }\n function addExternalEntities(externalEntities) {\n const entKeys = Object.keys(externalEntities);\n for (let i2 = 0; i2 < entKeys.length; i2++) {\n const ent = entKeys[i2];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\" + ent + \";\", \"g\"),\n val: externalEntities[ent]\n };\n }\n }\n function parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== void 0) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if (val.length > 0) {\n if (!escapeEntities) val = this.replaceEntitiesValue(val);\n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if (newval === null || newval === void 0) {\n return val;\n } else if (typeof newval !== typeof val || newval !== val) {\n return newval;\n } else if (this.options.trimValues) {\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n const trimmedVal = val.trim();\n if (trimmedVal === val) {\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n return val;\n }\n }\n }\n }\n }\n function resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(\":\");\n const prefix = tagname.charAt(0) === \"/\" ? \"/\" : \"\";\n if (tags[0] === \"xmlns\") {\n return \"\";\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n }\n const attrsRegx = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\n function buildAttributesMap(attrStr, jPath, tagName) {\n if (this.options.ignoreAttributes !== true && typeof attrStr === \"string\") {\n const matches = util2.getAllMatches(attrStr, attrsRegx);\n const len = matches.length;\n const attrs = {};\n for (let i2 = 0; i2 < len; i2++) {\n const attrName = this.resolveNameSpace(matches[i2][1]);\n if (this.ignoreAttributesFn(attrName, jPath)) {\n continue;\n }\n let oldVal = matches[i2][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if (aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== void 0) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if (newVal === null || newVal === void 0) {\n attrs[aName] = oldVal;\n } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) {\n attrs[aName] = newVal;\n } else {\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n }\n const parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n const xmlObj = new xmlNode2(\"!xml\");\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for (let i2 = 0; i2 < xmlData.length; i2++) {\n const ch = xmlData[i2];\n if (ch === \"<\") {\n if (xmlData[i2 + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i2, \"Closing Tag is not closed.\");\n let tagName = xmlData.substring(i2 + 2, closeIndex).trim();\n if (this.options.removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n }\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode) {\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\") + 1);\n if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) {\n throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);\n }\n let propIndex = 0;\n if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) {\n propIndex = jPath.lastIndexOf(\".\", jPath.lastIndexOf(\".\") - 1);\n this.tagsNodeStack.pop();\n } else {\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n currentNode = this.tagsNodeStack.pop();\n textData = \"\";\n i2 = closeIndex;\n } else if (xmlData[i2 + 1] === \"?\") {\n let tagData = readTagExp(xmlData, i2, false, \"?>\");\n if (!tagData) throw new Error(\"Pi Tag is not closed.\");\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if (this.options.ignoreDeclaration && tagData.tagName === \"?xml\" || this.options.ignorePiTags) ;\n else {\n const childNode = new xmlNode2(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n }\n i2 = tagData.closeIndex + 1;\n } else if (xmlData.substr(i2 + 1, 3) === \"!--\") {\n const endIndex = findClosingIndex(xmlData, \"-->\", i2 + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const comment = xmlData.substring(i2 + 4, endIndex - 2);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]);\n }\n i2 = endIndex;\n } else if (xmlData.substr(i2 + 1, 2) === \"!D\") {\n const result = readDocType(xmlData, i2);\n this.docTypeEntities = result.entities;\n i2 = result.i;\n } else if (xmlData.substr(i2 + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i2, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i2 + 9, closeIndex);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if (val == void 0) val = \"\";\n if (this.options.cdataPropName) {\n currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]);\n } else {\n currentNode.add(this.options.textNodeName, val);\n }\n i2 = closeIndex + 2;\n } else {\n let result = readTagExp(xmlData, i2, this.options.removeNSPrefix);\n let tagName = result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode && textData) {\n if (currentNode.tagname !== \"!xml\") {\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n const lastTag = currentNode;\n if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) {\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if (tagName !== xmlObj.tagname) {\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i2 = result.closeIndex;\n } else if (this.options.unpairedTags.indexOf(tagName) !== -1) {\n i2 = result.closeIndex;\n } else {\n const result2 = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if (!result2) throw new Error(`Unexpected end of ${rawTagName}`);\n i2 = result2.i;\n tagContent = result2.tagContent;\n }\n const childNode = new xmlNode2(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if (tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n this.addChild(currentNode, childNode, jPath);\n } else {\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n const childNode = new xmlNode2(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n } else {\n const childNode = new xmlNode2(tagName);\n this.tagsNodeStack.push(currentNode);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n currentNode = childNode;\n }\n textData = \"\";\n i2 = closeIndex;\n }\n }\n } else {\n textData += xmlData[i2];\n }\n }\n return xmlObj.child;\n };\n function addChild(currentNode, childNode, jPath) {\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"]);\n if (result === false) ;\n else if (typeof result === \"string\") {\n childNode.tagname = result;\n currentNode.addChild(childNode);\n } else {\n currentNode.addChild(childNode);\n }\n }\n const replaceEntitiesValue = function(val) {\n if (this.options.processEntities) {\n for (let entityName in this.docTypeEntities) {\n const entity = this.docTypeEntities[entityName];\n val = val.replace(entity.regx, entity.val);\n }\n for (let entityName in this.lastEntities) {\n const entity = this.lastEntities[entityName];\n val = val.replace(entity.regex, entity.val);\n }\n if (this.options.htmlEntities) {\n for (let entityName in this.htmlEntities) {\n const entity = this.htmlEntities[entityName];\n val = val.replace(entity.regex, entity.val);\n }\n }\n val = val.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n };\n function saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) {\n if (isLeafNode === void 0) isLeafNode = Object.keys(currentNode.child).length === 0;\n textData = this.parseTextData(\n textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode\n );\n if (textData !== void 0 && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n }\n function isItStopNode(stopNodes, jPath, currentTagName) {\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if (allNodesExp === stopNodeExp || jPath === stopNodeExp) return true;\n }\n return false;\n }\n function tagExpWithClosingIndex(xmlData, i2, closingChar = \">\") {\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i2; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if (closingChar[1]) {\n if (xmlData[index + 1] === closingChar[1]) {\n return {\n data: tagExp,\n index\n };\n }\n } else {\n return {\n data: tagExp,\n index\n };\n }\n } else if (ch === \"\t\") {\n ch = \" \";\n }\n tagExp += ch;\n }\n }\n function findClosingIndex(xmlData, str, i2, errMsg) {\n const closingIndex = xmlData.indexOf(str, i2);\n if (closingIndex === -1) {\n throw new Error(errMsg);\n } else {\n return closingIndex + str.length - 1;\n }\n }\n function readTagExp(xmlData, i2, removeNSPrefix, closingChar = \">\") {\n const result = tagExpWithClosingIndex(xmlData, i2 + 1, closingChar);\n if (!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if (separatorIndex !== -1) {\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n const rawTagName = tagName;\n if (removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n return {\n tagName,\n tagExp,\n closeIndex,\n attrExpPresent,\n rawTagName\n };\n }\n function readStopNodeData(xmlData, tagName, i2) {\n const startIndex = i2;\n let openTagCount = 1;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n if (xmlData[i2 + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i2, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i2 + 2, closeIndex).trim();\n if (closeTagName === tagName) {\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i2),\n i: closeIndex\n };\n }\n }\n i2 = closeIndex;\n } else if (xmlData[i2 + 1] === \"?\") {\n const closeIndex = findClosingIndex(xmlData, \"?>\", i2 + 1, \"StopNode is not closed.\");\n i2 = closeIndex;\n } else if (xmlData.substr(i2 + 1, 3) === \"!--\") {\n const closeIndex = findClosingIndex(xmlData, \"-->\", i2 + 3, \"StopNode is not closed.\");\n i2 = closeIndex;\n } else if (xmlData.substr(i2 + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i2, \"StopNode is not closed.\") - 2;\n i2 = closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i2, \">\");\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== \"/\") {\n openTagCount++;\n }\n i2 = tagData.closeIndex;\n }\n }\n }\n }\n }\n function parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === \"string\") {\n const newval = val.trim();\n if (newval === \"true\") return true;\n else if (newval === \"false\") return false;\n else return toNumber(val, options);\n } else {\n if (util2.isExist(val)) {\n return val;\n } else {\n return \"\";\n }\n }\n }\n OrderedObjParser_1 = OrderedObjParser;\n return OrderedObjParser_1;\n}\nvar node2json = {};\nvar hasRequiredNode2json;\nfunction requireNode2json() {\n if (hasRequiredNode2json) return node2json;\n hasRequiredNode2json = 1;\n function prettify(node, options) {\n return compress(node, options);\n }\n function compress(arr, options, jPath) {\n let text;\n const compressedObj = {};\n for (let i2 = 0; i2 < arr.length; i2++) {\n const tagObj = arr[i2];\n const property = propName(tagObj);\n let newJpath = \"\";\n if (jPath === void 0) newJpath = property;\n else newJpath = jPath + \".\" + property;\n if (property === options.textNodeName) {\n if (text === void 0) text = tagObj[property];\n else text += \"\" + tagObj[property];\n } else if (property === void 0) {\n continue;\n } else if (tagObj[property]) {\n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n if (tagObj[\":@\"]) {\n assignAttributes(val, tagObj[\":@\"], newJpath, options);\n } else if (Object.keys(val).length === 1 && val[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) {\n val = val[options.textNodeName];\n } else if (Object.keys(val).length === 0) {\n if (options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) {\n if (!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [compressedObj[property]];\n }\n compressedObj[property].push(val);\n } else {\n if (options.isArray(property, newJpath, isLeaf)) {\n compressedObj[property] = [val];\n } else {\n compressedObj[property] = val;\n }\n }\n }\n }\n if (typeof text === \"string\") {\n if (text.length > 0) compressedObj[options.textNodeName] = text;\n } else if (text !== void 0) compressedObj[options.textNodeName] = text;\n return compressedObj;\n }\n function propName(obj) {\n const keys = Object.keys(obj);\n for (let i2 = 0; i2 < keys.length; i2++) {\n const key = keys[i2];\n if (key !== \":@\") return key;\n }\n }\n function assignAttributes(obj, attrMap, jpath, options) {\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length;\n for (let i2 = 0; i2 < len; i2++) {\n const atrrName = keys[i2];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [attrMap[atrrName]];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n }\n function isLeafTag(obj, options) {\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n if (propCount === 0) {\n return true;\n }\n if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)) {\n return true;\n }\n return false;\n }\n node2json.prettify = prettify;\n return node2json;\n}\nvar XMLParser_1;\nvar hasRequiredXMLParser;\nfunction requireXMLParser() {\n if (hasRequiredXMLParser) return XMLParser_1;\n hasRequiredXMLParser = 1;\n const { buildOptions } = requireOptionsBuilder();\n const OrderedObjParser = requireOrderedObjParser();\n const { prettify } = requireNode2json();\n const validator2 = requireValidator();\n class XMLParser {\n constructor(options) {\n this.externalEntities = {};\n this.options = buildOptions(options);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData, validationOption) {\n if (typeof xmlData === \"string\") ;\n else if (xmlData.toString) {\n xmlData = xmlData.toString();\n } else {\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n }\n if (validationOption) {\n if (validationOption === true) validationOption = {};\n const result = validator2.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`);\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if (this.options.preserveOrder || orderedResult === void 0) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value) {\n if (value.indexOf(\"&\") !== -1) {\n throw new Error(\"Entity value can't have '&'\");\n } else if (key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1) {\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\");\n } else if (value === \"&\") {\n throw new Error(\"An entity with value '&' is not permitted\");\n } else {\n this.externalEntities[key] = value;\n }\n }\n }\n XMLParser_1 = XMLParser;\n return XMLParser_1;\n}\nvar orderedJs2Xml;\nvar hasRequiredOrderedJs2Xml;\nfunction requireOrderedJs2Xml() {\n if (hasRequiredOrderedJs2Xml) return orderedJs2Xml;\n hasRequiredOrderedJs2Xml = 1;\n const EOL = \"\\n\";\n function toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n }\n function arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n for (let i2 = 0; i2 < arr.length; i2++) {\n const tagObj = arr[i2];\n const tagName = propName(tagObj);\n if (tagName === void 0) continue;\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName;\n else newJPath = `${jPath}.${tagName}`;\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr2 = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\";\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}</${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"</\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `</${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n return xmlStr;\n }\n function propName(obj) {\n const keys = Object.keys(obj);\n for (let i2 = 0; i2 < keys.length; i2++) {\n const key = keys[i2];\n if (!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n }\n function attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if (!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n }\n function isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n }\n function replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i2 = 0; i2 < options.entities.length; i2++) {\n const entity = options.entities[i2];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n }\n orderedJs2Xml = toXml;\n return orderedJs2Xml;\n}\nvar json2xml;\nvar hasRequiredJson2xml;\nfunction requireJson2xml() {\n if (hasRequiredJson2xml) return json2xml;\n hasRequiredJson2xml = 1;\n const buildFromOrderedJs = requireOrderedJs2Xml();\n const getIgnoreAttributesFn = requireIgnoreAttributes();\n const defaultOptions = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: \" \",\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a2) {\n return a2;\n },\n attributeValueProcessor: function(attrName, a2) {\n return a2;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&amp;\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \"&gt;\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"&lt;\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"&apos;\" },\n { regex: new RegExp('\"', \"g\"), val: \"&quot;\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n };\n function Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {\n this.isAttribute = function() {\n return false;\n };\n } else {\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n this.processTextOrObjNode = processTextOrObjNode;\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = \">\\n\";\n this.newLine = \"\\n\";\n } else {\n this.indentate = function() {\n return \"\";\n };\n this.tagEndChar = \">\";\n this.newLine = \"\";\n }\n }\n Builder.prototype.build = function(jObj) {\n if (this.options.preserveOrder) {\n return buildFromOrderedJs(jObj, this.options);\n } else {\n if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) {\n jObj = {\n [this.options.arrayNodeName]: jObj\n };\n }\n return this.j2x(jObj, 0, []).val;\n }\n };\n Builder.prototype.j2x = function(jObj, level, ajPath) {\n let attrStr = \"\";\n let val = \"\";\n const jPath = ajPath.join(\".\");\n for (let key in jObj) {\n if (!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === \"undefined\") {\n if (this.isAttribute(key)) {\n val += \"\";\n }\n } else if (jObj[key] === null) {\n if (this.isAttribute(key)) {\n val += \"\";\n } else if (key[0] === \"?\") {\n val += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n } else {\n val += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n }\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, \"\", level);\n } else if (typeof jObj[key] !== \"object\") {\n const attr = this.isAttribute(key);\n if (attr && !this.ignoreAttributesFn(attr, jPath)) {\n attrStr += this.buildAttrPairStr(attr, \"\" + jObj[key]);\n } else if (!attr) {\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, \"\" + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, \"\", level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j2 = 0; j2 < arrLen; j2++) {\n const item = jObj[key][j2];\n if (typeof item === \"undefined\") ;\n else if (item === null) {\n if (key[0] === \"?\") val += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n else val += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n } else if (typeof item === \"object\") {\n if (this.options.oneListGroup) {\n const result = this.j2x(item, level + 1, ajPath.concat(key));\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr;\n }\n } else {\n listTagVal += this.processTextOrObjNode(item, key, level, ajPath);\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, \"\", level);\n }\n }\n }\n if (this.options.oneListGroup) {\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val += listTagVal;\n } else {\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j2 = 0; j2 < L; j2++) {\n attrStr += this.buildAttrPairStr(Ks[j2], \"\" + jObj[key][Ks[j2]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level, ajPath);\n }\n }\n }\n return { attrStr, val };\n };\n Builder.prototype.buildAttrPairStr = function(attrName, val) {\n val = this.options.attributeValueProcessor(attrName, \"\" + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return \" \" + attrName;\n } else return \" \" + attrName + '=\"' + val + '\"';\n };\n function processTextOrObjNode(object, key, level, ajPath) {\n const result = this.j2x(object, level + 1, ajPath.concat(key));\n if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n }\n Builder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if (val === \"\") {\n if (key[0] === \"?\") return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n else {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n } else {\n let tagEndExp = \"</\" + key + this.tagEndChar;\n let piClosingChar = \"\";\n if (key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n if ((attrStr || attrStr === \"\") && val.indexOf(\"<\") === -1) {\n return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + \">\" + val + tagEndExp;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + this.tagEndChar + val + this.indentate(level) + tagEndExp;\n }\n }\n };\n Builder.prototype.closeTag = function(key) {\n let closeTag = \"\";\n if (this.options.unpairedTags.indexOf(key) !== -1) {\n if (!this.options.suppressUnpairedNode) closeTag = \"/\";\n } else if (this.options.suppressEmptyNode) {\n closeTag = \"/\";\n } else {\n closeTag = `></${key}`;\n }\n return closeTag;\n };\n Builder.prototype.buildTextValNode = function(val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n } else if (key[0] === \"?\") {\n return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n } else {\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n if (textValue === \"\") {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + \">\" + textValue + \"</\" + key + this.tagEndChar;\n }\n }\n };\n Builder.prototype.replaceEntitiesValue = function(textValue) {\n if (textValue && textValue.length > 0 && this.options.processEntities) {\n for (let i2 = 0; i2 < this.options.entities.length; i2++) {\n const entity = this.options.entities[i2];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n };\n function indentate(level) {\n return this.options.indentBy.repeat(level);\n }\n function isAttribute(name) {\n if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n }\n json2xml = Builder;\n return json2xml;\n}\nvar fxp;\nvar hasRequiredFxp;\nfunction requireFxp() {\n if (hasRequiredFxp) return fxp;\n hasRequiredFxp = 1;\n const validator2 = requireValidator();\n const XMLParser = requireXMLParser();\n const XMLBuilder = requireJson2xml();\n fxp = {\n XMLParser,\n XMLValidator: validator2,\n XMLBuilder\n };\n return fxp;\n}\nvar fxpExports = requireFxp();\nfunction isSvg(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n }\n string = string.trim();\n if (string.length === 0) {\n return false;\n }\n if (fxpExports.XMLValidator.validate(string) !== true) {\n return false;\n }\n let jsonObject;\n const parser = new fxpExports.XMLParser();\n try {\n jsonObject = parser.parse(string);\n } catch {\n return false;\n }\n if (!jsonObject) {\n return false;\n }\n if (!Object.keys(jsonObject).some((x) => x.toLowerCase() === \"svg\")) {\n return false;\n }\n return true;\n}\nclass View {\n _view;\n constructor(view) {\n isValidView(view);\n this._view = view;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(icon) {\n this._view.icon = icon;\n }\n get order() {\n return this._view.order;\n }\n set order(order) {\n this._view.order = order;\n }\n get params() {\n return this._view.params;\n }\n set params(params) {\n this._view.params = params;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(expanded) {\n this._view.expanded = expanded;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n get loadChildViews() {\n return this._view.loadChildViews;\n }\n}\nconst isValidView = function(view) {\n if (!view.id || typeof view.id !== \"string\") {\n throw new Error(\"View id is required and must be a string\");\n }\n if (!view.name || typeof view.name !== \"string\") {\n throw new Error(\"View name is required and must be a string\");\n }\n if (\"caption\" in view && typeof view.caption !== \"string\") {\n throw new Error(\"View caption must be a string\");\n }\n if (!view.getContents || typeof view.getContents !== \"function\") {\n throw new Error(\"View getContents is required and must be a function\");\n }\n if (!view.icon || typeof view.icon !== \"string\" || !isSvg(view.icon)) {\n throw new Error(\"View icon is required and must be a valid svg string\");\n }\n if (\"order\" in view && typeof view.order !== \"number\") {\n throw new Error(\"View order must be a number\");\n }\n if (view.columns) {\n view.columns.forEach((column) => {\n if (!(column instanceof Column)) {\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }\n });\n }\n if (view.emptyView && typeof view.emptyView !== \"function\") {\n throw new Error(\"View emptyView must be a function\");\n }\n if (view.parent && typeof view.parent !== \"string\") {\n throw new Error(\"View parent must be a string\");\n }\n if (\"sticky\" in view && typeof view.sticky !== \"boolean\") {\n throw new Error(\"View sticky must be a boolean\");\n }\n if (\"expanded\" in view && typeof view.expanded !== \"boolean\") {\n throw new Error(\"View expanded must be a boolean\");\n }\n if (view.defaultSortKey && typeof view.defaultSortKey !== \"string\") {\n throw new Error(\"View defaultSortKey must be a string\");\n }\n if (view.loadChildViews && typeof view.loadChildViews !== \"function\") {\n throw new Error(\"View loadChildViews must be a function\");\n }\n return true;\n};\nvar debug_1;\nvar hasRequiredDebug;\nfunction requireDebug() {\n if (hasRequiredDebug) return debug_1;\n hasRequiredDebug = 1;\n const debug = typeof process === \"object\" && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error(\"SEMVER\", ...args) : () => {\n };\n debug_1 = debug;\n return debug_1;\n}\nvar constants;\nvar hasRequiredConstants;\nfunction requireConstants() {\n if (hasRequiredConstants) return constants;\n hasRequiredConstants = 1;\n const SEMVER_SPEC_VERSION = \"2.0.0\";\n const MAX_LENGTH = 256;\n const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */\n 9007199254740991;\n const MAX_SAFE_COMPONENT_LENGTH = 16;\n const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;\n const RELEASE_TYPES = [\n \"major\",\n \"premajor\",\n \"minor\",\n \"preminor\",\n \"patch\",\n \"prepatch\",\n \"prerelease\"\n ];\n constants = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n };\n return constants;\n}\nvar re = { exports: {} };\nvar hasRequiredRe;\nfunction requireRe() {\n if (hasRequiredRe) return re.exports;\n hasRequiredRe = 1;\n (function(module, exports) {\n const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH\n } = requireConstants();\n const debug = requireDebug();\n exports = module.exports = {};\n const re2 = exports.re = [];\n const safeRe = exports.safeRe = [];\n const src = exports.src = [];\n const t2 = exports.t = {};\n let R = 0;\n const LETTERDASHNUMBER = \"[a-zA-Z0-9-]\";\n const safeRegexReplacements = [\n [\"\\\\s\", 1],\n [\"\\\\d\", MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]\n ];\n const makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);\n }\n return value;\n };\n const createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value);\n const index = R++;\n debug(name, index, value);\n t2[name] = index;\n src[index] = value;\n re2[index] = new RegExp(value, isGlobal ? \"g\" : void 0);\n safeRe[index] = new RegExp(safe, isGlobal ? \"g\" : void 0);\n };\n createToken(\"NUMERICIDENTIFIER\", \"0|[1-9]\\\\d*\");\n createToken(\"NUMERICIDENTIFIERLOOSE\", \"\\\\d+\");\n createToken(\"NONNUMERICIDENTIFIER\", `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);\n createToken(\"MAINVERSION\", `(${src[t2.NUMERICIDENTIFIER]})\\\\.(${src[t2.NUMERICIDENTIFIER]})\\\\.(${src[t2.NUMERICIDENTIFIER]})`);\n createToken(\"MAINVERSIONLOOSE\", `(${src[t2.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})`);\n createToken(\"PRERELEASEIDENTIFIER\", `(?:${src[t2.NUMERICIDENTIFIER]}|${src[t2.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASEIDENTIFIERLOOSE\", `(?:${src[t2.NUMERICIDENTIFIERLOOSE]}|${src[t2.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASE\", `(?:-(${src[t2.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t2.PRERELEASEIDENTIFIER]})*))`);\n createToken(\"PRERELEASELOOSE\", `(?:-?(${src[t2.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${src[t2.PRERELEASEIDENTIFIERLOOSE]})*))`);\n createToken(\"BUILDIDENTIFIER\", `${LETTERDASHNUMBER}+`);\n createToken(\"BUILD\", `(?:\\\\+(${src[t2.BUILDIDENTIFIER]}(?:\\\\.${src[t2.BUILDIDENTIFIER]})*))`);\n createToken(\"FULLPLAIN\", `v?${src[t2.MAINVERSION]}${src[t2.PRERELEASE]}?${src[t2.BUILD]}?`);\n createToken(\"FULL\", `^${src[t2.FULLPLAIN]}$`);\n createToken(\"LOOSEPLAIN\", `[v=\\\\s]*${src[t2.MAINVERSIONLOOSE]}${src[t2.PRERELEASELOOSE]}?${src[t2.BUILD]}?`);\n createToken(\"LOOSE\", `^${src[t2.LOOSEPLAIN]}$`);\n createToken(\"GTLT\", \"((?:<|>)?=?)\");\n createToken(\"XRANGEIDENTIFIERLOOSE\", `${src[t2.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\n createToken(\"XRANGEIDENTIFIER\", `${src[t2.NUMERICIDENTIFIER]}|x|X|\\\\*`);\n createToken(\"XRANGEPLAIN\", `[v=\\\\s]*(${src[t2.XRANGEIDENTIFIER]})(?:\\\\.(${src[t2.XRANGEIDENTIFIER]})(?:\\\\.(${src[t2.XRANGEIDENTIFIER]})(?:${src[t2.PRERELEASE]})?${src[t2.BUILD]}?)?)?`);\n createToken(\"XRANGEPLAINLOOSE\", `[v=\\\\s]*(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:${src[t2.PRERELEASELOOSE]})?${src[t2.BUILD]}?)?)?`);\n createToken(\"XRANGE\", `^${src[t2.GTLT]}\\\\s*${src[t2.XRANGEPLAIN]}$`);\n createToken(\"XRANGELOOSE\", `^${src[t2.GTLT]}\\\\s*${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"COERCEPLAIN\", `${\"(^|[^\\\\d])(\\\\d{1,\"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);\n createToken(\"COERCE\", `${src[t2.COERCEPLAIN]}(?:$|[^\\\\d])`);\n createToken(\"COERCEFULL\", src[t2.COERCEPLAIN] + `(?:${src[t2.PRERELEASE]})?(?:${src[t2.BUILD]})?(?:$|[^\\\\d])`);\n createToken(\"COERCERTL\", src[t2.COERCE], true);\n createToken(\"COERCERTLFULL\", src[t2.COERCEFULL], true);\n createToken(\"LONETILDE\", \"(?:~>?)\");\n createToken(\"TILDETRIM\", `(\\\\s*)${src[t2.LONETILDE]}\\\\s+`, true);\n exports.tildeTrimReplace = \"$1~\";\n createToken(\"TILDE\", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAIN]}$`);\n createToken(\"TILDELOOSE\", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"LONECARET\", \"(?:\\\\^)\");\n createToken(\"CARETTRIM\", `(\\\\s*)${src[t2.LONECARET]}\\\\s+`, true);\n exports.caretTrimReplace = \"$1^\";\n createToken(\"CARET\", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAIN]}$`);\n createToken(\"CARETLOOSE\", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"COMPARATORLOOSE\", `^${src[t2.GTLT]}\\\\s*(${src[t2.LOOSEPLAIN]})$|^$`);\n createToken(\"COMPARATOR\", `^${src[t2.GTLT]}\\\\s*(${src[t2.FULLPLAIN]})$|^$`);\n createToken(\"COMPARATORTRIM\", `(\\\\s*)${src[t2.GTLT]}\\\\s*(${src[t2.LOOSEPLAIN]}|${src[t2.XRANGEPLAIN]})`, true);\n exports.comparatorTrimReplace = \"$1$2$3\";\n createToken(\"HYPHENRANGE\", `^\\\\s*(${src[t2.XRANGEPLAIN]})\\\\s+-\\\\s+(${src[t2.XRANGEPLAIN]})\\\\s*$`);\n createToken(\"HYPHENRANGELOOSE\", `^\\\\s*(${src[t2.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${src[t2.XRANGEPLAINLOOSE]})\\\\s*$`);\n createToken(\"STAR\", \"(<|>)?=?\\\\s*\\\\*\");\n createToken(\"GTE0\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\");\n createToken(\"GTE0PRE\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\");\n })(re, re.exports);\n return re.exports;\n}\nvar parseOptions_1;\nvar hasRequiredParseOptions;\nfunction requireParseOptions() {\n if (hasRequiredParseOptions) return parseOptions_1;\n hasRequiredParseOptions = 1;\n const looseOption = Object.freeze({ loose: true });\n const emptyOpts = Object.freeze({});\n const parseOptions = (options) => {\n if (!options) {\n return emptyOpts;\n }\n if (typeof options !== \"object\") {\n return looseOption;\n }\n return options;\n };\n parseOptions_1 = parseOptions;\n return parseOptions_1;\n}\nvar identifiers;\nvar hasRequiredIdentifiers;\nfunction requireIdentifiers() {\n if (hasRequiredIdentifiers) return identifiers;\n hasRequiredIdentifiers = 1;\n const numeric = /^[0-9]+$/;\n const compareIdentifiers = (a2, b2) => {\n const anum = numeric.test(a2);\n const bnum = numeric.test(b2);\n if (anum && bnum) {\n a2 = +a2;\n b2 = +b2;\n }\n return a2 === b2 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a2 < b2 ? -1 : 1;\n };\n const rcompareIdentifiers = (a2, b2) => compareIdentifiers(b2, a2);\n identifiers = {\n compareIdentifiers,\n rcompareIdentifiers\n };\n return identifiers;\n}\nvar semver;\nvar hasRequiredSemver;\nfunction requireSemver() {\n if (hasRequiredSemver) return semver;\n hasRequiredSemver = 1;\n const debug = requireDebug();\n const { MAX_LENGTH, MAX_SAFE_INTEGER } = requireConstants();\n const { safeRe: re2, t: t2 } = requireRe();\n const parseOptions = requireParseOptions();\n const { compareIdentifiers } = requireIdentifiers();\n class SemVer {\n constructor(version, options) {\n options = parseOptions(options);\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {\n return version;\n } else {\n version = version.version;\n }\n } else if (typeof version !== \"string\") {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`);\n }\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n );\n }\n debug(\"SemVer\", version, options);\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n const m2 = version.trim().match(options.loose ? re2[t2.LOOSE] : re2[t2.FULL]);\n if (!m2) {\n throw new TypeError(`Invalid Version: ${version}`);\n }\n this.raw = version;\n this.major = +m2[1];\n this.minor = +m2[2];\n this.patch = +m2[3];\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError(\"Invalid major version\");\n }\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError(\"Invalid minor version\");\n }\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError(\"Invalid patch version\");\n }\n if (!m2[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m2[4].split(\".\").map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num;\n }\n }\n return id;\n });\n }\n this.build = m2[5] ? m2[5].split(\".\") : [];\n this.format();\n }\n format() {\n this.version = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join(\".\")}`;\n }\n return this.version;\n }\n toString() {\n return this.version;\n }\n compare(other) {\n debug(\"SemVer.compare\", this.version, this.options, other);\n if (!(other instanceof SemVer)) {\n if (typeof other === \"string\" && other === this.version) {\n return 0;\n }\n other = new SemVer(other, this.options);\n }\n if (other.version === this.version) {\n return 0;\n }\n return this.compareMain(other) || this.comparePre(other);\n }\n compareMain(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n }\n comparePre(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n if (this.prerelease.length && !other.prerelease.length) {\n return -1;\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1;\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0;\n }\n let i2 = 0;\n do {\n const a2 = this.prerelease[i2];\n const b2 = other.prerelease[i2];\n debug(\"prerelease compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n compareBuild(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n let i2 = 0;\n do {\n const a2 = this.build[i2];\n const b2 = other.build[i2];\n debug(\"build compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc(release, identifier, identifierBase) {\n switch (release) {\n case \"premajor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"preminor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prepatch\":\n this.prerelease.length = 0;\n this.inc(\"patch\", identifier, identifierBase);\n this.inc(\"pre\", identifier, identifierBase);\n break;\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case \"prerelease\":\n if (this.prerelease.length === 0) {\n this.inc(\"patch\", identifier, identifierBase);\n }\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"major\":\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {\n this.major++;\n }\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"minor\":\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++;\n }\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"patch\":\n if (this.prerelease.length === 0) {\n this.patch++;\n }\n this.prerelease = [];\n break;\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case \"pre\": {\n const base = Number(identifierBase) ? 1 : 0;\n if (!identifier && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier is empty\");\n }\n if (this.prerelease.length === 0) {\n this.prerelease = [base];\n } else {\n let i2 = this.prerelease.length;\n while (--i2 >= 0) {\n if (typeof this.prerelease[i2] === \"number\") {\n this.prerelease[i2]++;\n i2 = -2;\n }\n }\n if (i2 === -1) {\n if (identifier === this.prerelease.join(\".\") && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier already exists\");\n }\n this.prerelease.push(base);\n }\n }\n if (identifier) {\n let prerelease = [identifier, base];\n if (identifierBase === false) {\n prerelease = [identifier];\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease;\n }\n } else {\n this.prerelease = prerelease;\n }\n }\n break;\n }\n default:\n throw new Error(`invalid increment argument: ${release}`);\n }\n this.raw = this.format();\n if (this.build.length) {\n this.raw += `+${this.build.join(\".\")}`;\n }\n return this;\n }\n }\n semver = SemVer;\n return semver;\n}\nvar parse_1;\nvar hasRequiredParse;\nfunction requireParse() {\n if (hasRequiredParse) return parse_1;\n hasRequiredParse = 1;\n const SemVer = requireSemver();\n const parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version;\n }\n try {\n return new SemVer(version, options);\n } catch (er) {\n if (!throwErrors) {\n return null;\n }\n throw er;\n }\n };\n parse_1 = parse;\n return parse_1;\n}\nvar valid_1;\nvar hasRequiredValid;\nfunction requireValid() {\n if (hasRequiredValid) return valid_1;\n hasRequiredValid = 1;\n const parse = requireParse();\n const valid2 = (version, options) => {\n const v = parse(version, options);\n return v ? v.version : null;\n };\n valid_1 = valid2;\n return valid_1;\n}\nvar validExports = requireValid();\nconst valid = /* @__PURE__ */ getDefaultExportFromCjs(validExports);\nvar major_1;\nvar hasRequiredMajor;\nfunction requireMajor() {\n if (hasRequiredMajor) return major_1;\n hasRequiredMajor = 1;\n const SemVer = requireSemver();\n const major2 = (a2, loose) => new SemVer(a2, loose).major;\n major_1 = major2;\n return major_1;\n}\nvar majorExports = requireMajor();\nconst major = /* @__PURE__ */ getDefaultExportFromCjs(majorExports);\nclass ProxyBus {\n bus;\n constructor(bus2) {\n if (typeof bus2.getVersion !== \"function\" || !valid(bus2.getVersion())) {\n console.warn(\"Proxying an event bus with an unknown or invalid version\");\n } else if (major(bus2.getVersion()) !== major(this.getVersion())) {\n console.warn(\n \"Proxying an event bus of version \" + bus2.getVersion() + \" with \" + this.getVersion()\n );\n }\n this.bus = bus2;\n }\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, event) {\n this.bus.emit(name, event);\n }\n}\nclass SimpleBus {\n handlers = /* @__PURE__ */ new Map();\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).concat(\n handler\n )\n );\n }\n unsubscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).filter((h2) => h2 !== handler)\n );\n }\n emit(name, event) {\n (this.handlers.get(name) || []).forEach((h2) => {\n try {\n h2(event);\n } catch (e2) {\n console.error(\"could not invoke event listener\", e2);\n }\n });\n }\n}\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === \"undefined\") {\n return new Proxy({}, {\n get: () => {\n return () => console.error(\n \"Window not available, EventBus can not be established!\"\n );\n }\n });\n }\n if (window.OC?._eventBus && typeof window._nc_event_bus === \"undefined\") {\n console.warn(\n \"found old event bus instance at OC._eventBus. Update your version!\"\n );\n window._nc_event_bus = window.OC._eventBus;\n }\n if (typeof window?._nc_event_bus !== \"undefined\") {\n bus = new ProxyBus(window._nc_event_bus);\n } else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\nfunction emit(name, event) {\n getBus().emit(name, event);\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nclass FileListFilter extends TypedEventTarget {\n id;\n order;\n constructor(id, order = 100) {\n super();\n this.id = id;\n this.order = order;\n }\n filter(nodes) {\n throw new Error(\"Not implemented\");\n }\n updateChips(chips) {\n this.dispatchTypedEvent(\"update:chips\", new CustomEvent(\"update:chips\", { detail: chips }));\n }\n filterUpdated() {\n this.dispatchTypedEvent(\"update:filter\", new CustomEvent(\"update:filter\"));\n }\n}\nfunction registerFileListFilter(filter) {\n if (!window._nc_filelist_filters) {\n window._nc_filelist_filters = /* @__PURE__ */ new Map();\n }\n if (window._nc_filelist_filters.has(filter.id)) {\n throw new Error(`File list filter \"${filter.id}\" already registered`);\n }\n window._nc_filelist_filters.set(filter.id, filter);\n emit(\"files:filter:added\", filter);\n}\nfunction unregisterFileListFilter(filterId) {\n if (window._nc_filelist_filters && window._nc_filelist_filters.has(filterId)) {\n window._nc_filelist_filters.delete(filterId);\n emit(\"files:filter:removed\", filterId);\n }\n}\nfunction getFileListFilters() {\n if (!window._nc_filelist_filters) {\n return [];\n }\n return [...window._nc_filelist_filters.values()];\n}\nconst addNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.registerEntry(entry);\n};\nconst removeNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.unregisterEntry(entry);\n};\nconst getNewFileMenuEntries = function(context) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.getEntries(context).sort((a2, b2) => {\n if (a2.order !== void 0 && b2.order !== void 0 && a2.order !== b2.order) {\n return a2.order - b2.order;\n }\n return a2.displayName.localeCompare(b2.displayName, void 0, { numeric: true, sensitivity: \"base\" });\n });\n};\nexport {\n Column,\n DefaultType,\n q as File,\n FileAction,\n FileListAction,\n FileListFilter,\n F as FileType,\n FilesSortingMode,\n s as Folder,\n Header,\n InvalidFilenameError,\n InvalidFilenameErrorReason,\n Navigation,\n NewMenuEntryCategory,\n N as Node,\n t as NodeStatus,\n P as Permission,\n View,\n addNewFileMenuEntry,\n c as davGetClient,\n l as davGetDefaultPropfind,\n m as davGetFavoritesReport,\n n as davGetRecentSearch,\n a as davGetRemoteURL,\n g as davGetRootPath,\n p as davParsePermissions,\n b as davRemoteURL,\n r as davResultToNode,\n d as davRootPath,\n h as defaultDavNamespaces,\n f as defaultDavProperties,\n formatFileSize,\n k as getDavNameSpaces,\n j as getDavProperties,\n e as getFavoriteNodes,\n getFileActions,\n getFileListActions,\n getFileListFilters,\n getFileListHeaders,\n getNavigation,\n getNewFileMenuEntries,\n getUniqueName,\n isFilenameValid,\n orderBy,\n parseFileSize,\n i as registerDavProperty,\n registerFileAction,\n registerFileListAction,\n registerFileListFilter,\n registerFileListHeaders,\n removeNewFileMenuEntry,\n sortNodes,\n unregisterFileListFilter,\n validateFilename\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry__internal .avatar-external[data-v-57874406]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}.sharing-entry__internal .icon-checkmark-color[data-v-57874406]{opacity:1;color:var(--color-success)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue\"],\"names\":[],\"mappings\":\"AAEC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA,CACA,0BAAA\",\"sourcesContent\":[\"\\n.sharing-entry__internal {\\n\\t.avatar-external {\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tline-height: 32px;\\n\\t\\tfont-size: 18px;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t\\tborder-radius: 50%;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n\\t.icon-checkmark-color {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-success);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-44339fa4]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-44339fa4]{padding:8px;padding-inline-start:10px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc p[data-v-44339fa4]{color:var(--color-text-maxcontrast)}.sharing-entry__title[data-v-44339fa4]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__actions[data-v-44339fa4]{margin-inline-start:auto !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,wCACC,mCAAA,CAGF,uCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,yCACC,mCAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\t&__desc {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tposition: relative;\\n\\t\\tflex: 1 1;\\n\\t\\tmin-width: 0;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__title {\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t\\tmax-width: inherit;\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-inline-start: auto !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**!\n * url-search-params-polyfill\n *\n * @author Jerry Bendy (https://github.com/jerrybendy)\n * @licence MIT\n */\n(function(self) {\n 'use strict';\n\n var nativeURLSearchParams = (function() {\n // #41 Fix issue in RN\n try {\n if (self.URLSearchParams && (new self.URLSearchParams('foo=bar')).get('foo') === 'bar') {\n return self.URLSearchParams;\n }\n } catch (e) {}\n return null;\n })(),\n isSupportObjectConstructor = nativeURLSearchParams && (new nativeURLSearchParams({a: 1})).toString() === 'a=1',\n // There is a bug in safari 10.1 (and earlier) that incorrectly decodes `%2B` as an empty space and not a plus.\n decodesPlusesCorrectly = nativeURLSearchParams && (new nativeURLSearchParams('s=%2B').get('s') === '+'),\n isSupportSize = nativeURLSearchParams && 'size' in nativeURLSearchParams.prototype,\n __URLSearchParams__ = \"__URLSearchParams__\",\n // Fix bug in Edge which cannot encode ' &' correctly\n encodesAmpersandsCorrectly = nativeURLSearchParams ? (function() {\n var ampersandTest = new nativeURLSearchParams();\n ampersandTest.append('s', ' &');\n return ampersandTest.toString() === 's=+%26';\n })() : true,\n prototype = URLSearchParamsPolyfill.prototype,\n iterable = !!(self.Symbol && self.Symbol.iterator);\n\n if (nativeURLSearchParams && isSupportObjectConstructor && decodesPlusesCorrectly && encodesAmpersandsCorrectly && isSupportSize) {\n return;\n }\n\n\n /**\n * Make a URLSearchParams instance\n *\n * @param {object|string|URLSearchParams} search\n * @constructor\n */\n function URLSearchParamsPolyfill(search) {\n search = search || \"\";\n\n // support construct object with another URLSearchParams instance\n if (search instanceof URLSearchParams || search instanceof URLSearchParamsPolyfill) {\n search = search.toString();\n }\n this [__URLSearchParams__] = parseToDict(search);\n }\n\n\n /**\n * Appends a specified key/value pair as a new search parameter.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.append = function(name, value) {\n appendTo(this [__URLSearchParams__], name, value);\n };\n\n /**\n * Deletes the given search parameter, and its associated value,\n * from the list of all search parameters.\n *\n * @param {string} name\n */\n prototype['delete'] = function(name) {\n delete this [__URLSearchParams__] [name];\n };\n\n /**\n * Returns the first value associated to the given search parameter.\n *\n * @param {string} name\n * @returns {string|null}\n */\n prototype.get = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict[name][0] : null;\n };\n\n /**\n * Returns all the values association with a given search parameter.\n *\n * @param {string} name\n * @returns {Array}\n */\n prototype.getAll = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict [name].slice(0) : [];\n };\n\n /**\n * Returns a Boolean indicating if such a search parameter exists.\n *\n * @param {string} name\n * @returns {boolean}\n */\n prototype.has = function(name) {\n return hasOwnProperty(this [__URLSearchParams__], name);\n };\n\n /**\n * Sets the value associated to a given search parameter to\n * the given value. If there were several values, delete the\n * others.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.set = function set(name, value) {\n this [__URLSearchParams__][name] = ['' + value];\n };\n\n /**\n * Returns a string containg a query string suitable for use in a URL.\n *\n * @returns {string}\n */\n prototype.toString = function() {\n var dict = this[__URLSearchParams__], query = [], i, key, name, value;\n for (key in dict) {\n name = encode(key);\n for (i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n };\n\n // There is a bug in Safari 10.1 and `Proxy`ing it is not enough.\n var useProxy = self.Proxy && nativeURLSearchParams && (!decodesPlusesCorrectly || !encodesAmpersandsCorrectly || !isSupportObjectConstructor || !isSupportSize);\n var propValue;\n if (useProxy) {\n // Safari 10.0 doesn't support Proxy, so it won't extend URLSearchParams on safari 10.0\n propValue = new Proxy(nativeURLSearchParams, {\n construct: function (target, args) {\n return new target((new URLSearchParamsPolyfill(args[0]).toString()));\n }\n })\n // Chrome <=60 .toString() on a function proxy got error \"Function.prototype.toString is not generic\"\n propValue.toString = Function.prototype.toString.bind(URLSearchParamsPolyfill);\n } else {\n propValue = URLSearchParamsPolyfill;\n }\n\n /*\n * Apply polyfill to global object and append other prototype into it\n */\n Object.defineProperty(self, 'URLSearchParams', {\n value: propValue\n });\n\n var USPProto = self.URLSearchParams.prototype;\n\n USPProto.polyfill = true;\n\n // Fix #54, `toString.call(new URLSearchParams)` will return correct value when Proxy not used\n if (!useProxy && self.Symbol) {\n USPProto[self.Symbol.toStringTag] = 'URLSearchParams';\n }\n\n /**\n *\n * @param {function} callback\n * @param {object} thisArg\n */\n if (!('forEach' in USPProto)) {\n USPProto.forEach = function(callback, thisArg) {\n var dict = parseToDict(this.toString());\n Object.getOwnPropertyNames(dict).forEach(function(name) {\n dict[name].forEach(function(value) {\n callback.call(thisArg, value, name, this);\n }, this);\n }, this);\n };\n }\n\n /**\n * Sort all name-value pairs\n */\n if (!('sort' in USPProto)) {\n USPProto.sort = function() {\n var dict = parseToDict(this.toString()), keys = [], k, i, j;\n for (k in dict) {\n keys.push(k);\n }\n keys.sort();\n\n for (i = 0; i < keys.length; i++) {\n this['delete'](keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n var key = keys[i], values = dict[key];\n for (j = 0; j < values.length; j++) {\n this.append(key, values[j]);\n }\n }\n };\n }\n\n /**\n * Returns an iterator allowing to go through all keys of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('keys' in USPProto)) {\n USPProto.keys = function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push(name);\n });\n return makeIterator(items);\n };\n }\n\n /**\n * Returns an iterator allowing to go through all values of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('values' in USPProto)) {\n USPProto.values = function() {\n var items = [];\n this.forEach(function(item) {\n items.push(item);\n });\n return makeIterator(items);\n };\n }\n\n /**\n * Returns an iterator allowing to go through all key/value\n * pairs contained in this object.\n *\n * @returns {function}\n */\n if (!('entries' in USPProto)) {\n USPProto.entries = function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push([name, item]);\n });\n return makeIterator(items);\n };\n }\n\n if (iterable) {\n USPProto[self.Symbol.iterator] = USPProto[self.Symbol.iterator] || USPProto.entries;\n }\n\n if (!('size' in USPProto)) {\n Object.defineProperty(USPProto, 'size', {\n get: function () {\n var dict = parseToDict(this.toString())\n if (USPProto === this) {\n throw new TypeError('Illegal invocation at URLSearchParams.invokeGetter')\n }\n return Object.keys(dict).reduce(function (prev, cur) {\n return prev + dict[cur].length;\n }, 0);\n }\n });\n }\n\n function encode(str) {\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function(match) {\n return replace[match];\n });\n }\n\n function decode(str) {\n return str\n .replace(/[ +]/g, '%20')\n .replace(/(%[a-f0-9]{2})+/ig, function(match) {\n return decodeURIComponent(match);\n });\n }\n\n function makeIterator(arr) {\n var iterator = {\n next: function() {\n var value = arr.shift();\n return {done: value === undefined, value: value};\n }\n };\n\n if (iterable) {\n iterator[self.Symbol.iterator] = function() {\n return iterator;\n };\n }\n\n return iterator;\n }\n\n function parseToDict(search) {\n var dict = {};\n\n if (typeof search === \"object\") {\n // if `search` is an array, treat it as a sequence\n if (isArray(search)) {\n for (var i = 0; i < search.length; i++) {\n var item = search[i];\n if (isArray(item) && item.length === 2) {\n appendTo(dict, item[0], item[1]);\n } else {\n throw new TypeError(\"Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements\");\n }\n }\n\n } else {\n for (var key in search) {\n if (search.hasOwnProperty(key)) {\n appendTo(dict, key, search[key]);\n }\n }\n }\n\n } else {\n // remove first '?'\n if (search.indexOf(\"?\") === 0) {\n search = search.slice(1);\n }\n\n var pairs = search.split(\"&\");\n for (var j = 0; j < pairs.length; j++) {\n var value = pairs [j],\n index = value.indexOf('=');\n\n if (-1 < index) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));\n\n } else {\n if (value) {\n appendTo(dict, decode(value), '');\n }\n }\n }\n }\n\n return dict;\n }\n\n function appendTo(dict, name, value) {\n var val = typeof value === 'string' ? value : (\n value !== null && value !== undefined && typeof value.toString === 'function' ? value.toString() : JSON.stringify(value)\n );\n\n // #47 Prevent using `hasOwnProperty` as a property name\n if (hasOwnProperty(dict, name)) {\n dict[name].push(val);\n } else {\n dict[name] = [val];\n }\n }\n\n function isArray(val) {\n return !!val && '[object Array]' === Object.prototype.toString.call(val);\n }\n\n function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n})(typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : this));\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry__inherited .avatar-shared[data-v-a6cc72e6]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingInherited.vue\"],\"names\":[],\"mappings\":\"AAEC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA\",\"sourcesContent\":[\"\\n.sharing-entry__inherited {\\n\\t.avatar-shared {\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tline-height: 32px;\\n\\t\\tfont-size: 18px;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t\\tborder-radius: 50%;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-fe8ed59e]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-fe8ed59e]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;padding-inline-start:10px;line-height:1.2em}.sharing-entry__desc p[data-v-fe8ed59e]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-fe8ed59e]{margin-inline-start:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,wBAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\t&__desc {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-inline-start: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.share-expiry-time[data-v-46cd2ca2]{display:inline-flex;align-items:center;justify-content:center}.share-expiry-time .hint-icon[data-v-46cd2ca2]{padding:0;margin:0;width:24px;height:24px}.hint-heading[data-v-46cd2ca2]{text-align:center;font-size:1rem;margin-top:8px;padding-bottom:8px;margin-bottom:0;border-bottom:1px solid var(--color-border)}.hint-body[data-v-46cd2ca2]{padding:var(--border-radius-element);max-width:300px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/ShareExpiryTime.vue\"],\"names\":[],\"mappings\":\"AACA,oCACI,mBAAA,CACA,kBAAA,CACA,sBAAA,CAEA,+CACI,SAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA,CAIR,+BACI,iBAAA,CACA,cAAA,CACA,cAAA,CACA,kBAAA,CACA,eAAA,CACA,2CAAA,CAGJ,4BACI,oCAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.share-expiry-time {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n\\n .hint-icon {\\n padding: 0;\\n margin: 0;\\n width: 24px;\\n height: 24px;\\n }\\n}\\n\\n.hint-heading {\\n text-align: center;\\n font-size: 1rem;\\n margin-top: 8px;\\n padding-bottom: 8px;\\n margin-bottom: 0;\\n border-bottom: 1px solid var(--color-border);\\n}\\n\\n.hint-body {\\n padding: var(--border-radius-element);\\n max-width: 300px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-2dbd45b5]{display:flex;align-items:center;height:44px}.sharing-entry__summary[data-v-2dbd45b5]{padding:8px;padding-inline-start:10px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0;min-width:0}.sharing-entry__summary__desc[data-v-2dbd45b5]{display:inline-block;padding-bottom:0;line-height:1.2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharing-entry__summary__desc p[data-v-2dbd45b5],.sharing-entry__summary__desc small[data-v-2dbd45b5]{color:var(--color-text-maxcontrast)}.sharing-entry__summary__desc-unique[data-v-2dbd45b5]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntry.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CAEA,+CACC,oBAAA,CACA,gBAAA,CACA,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,sGAEC,mCAAA,CAGD,sDACC,mCAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\t&__summary {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: flex-start;\\n\\t\\tflex: 1 0;\\n\\t\\tmin-width: 0;\\n\\n\\t\\t&__desc {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\tpadding-bottom: 0;\\n\\t\\t\\tline-height: 1.2em;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\n\\t\\t\\tp,\\n\\t\\t\\tsmall {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-unique {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.share-select[data-v-2aa230f1]{display:block}.share-select[data-v-2aa230f1] .action-item__menutoggle{color:var(--color-primary-element) !important;font-size:12.5px !important;height:auto !important;min-height:auto !important}.share-select[data-v-2aa230f1] .action-item__menutoggle .button-vue__text{font-weight:normal !important}.share-select[data-v-2aa230f1] .action-item__menutoggle .button-vue__icon{height:24px !important;min-height:24px !important;width:24px !important;min-width:24px !important}.share-select[data-v-2aa230f1] .action-item__menutoggle .button-vue__wrapper{flex-direction:row-reverse !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue\"],\"names\":[],\"mappings\":\"AACA,+BACC,aAAA,CAIA,wDACC,6CAAA,CACA,2BAAA,CACA,sBAAA,CACA,0BAAA,CAEA,0EACC,6BAAA,CAGD,0EACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAGD,6EAEC,qCAAA\",\"sourcesContent\":[\"\\n.share-select {\\n\\tdisplay: block;\\n\\n\\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\\n\\t// Overrider NcActionms button to make it small\\n\\t:deep(.action-item__menutoggle) {\\n\\t\\tcolor: var(--color-primary-element) !important;\\n\\t\\tfont-size: 12.5px !important;\\n\\t\\theight: auto !important;\\n\\t\\tmin-height: auto !important;\\n\\n\\t\\t.button-vue__text {\\n\\t\\t\\tfont-weight: normal !important;\\n\\t\\t}\\n\\n\\t\\t.button-vue__icon {\\n\\t\\t\\theight: 24px !important;\\n\\t\\t\\tmin-height: 24px !important;\\n\\t\\t\\twidth: 24px !important;\\n\\t\\t\\tmin-width: 24px !important;\\n\\t\\t}\\n\\n\\t\\t.button-vue__wrapper {\\n\\t\\t\\t// Emulate NcButton's alignment=center-reverse\\n\\t\\t\\tflex-direction: row-reverse !important;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.emptyContentWithSections[data-v-592538f1]{margin:1rem auto}.sharingTab[data-v-592538f1]{position:relative;height:100%}.sharingTab__content[data-v-592538f1]{padding:0 6px}.sharingTab__content section[data-v-592538f1]{padding-bottom:16px}.sharingTab__content section .section-header[data-v-592538f1]{margin-top:2px;margin-bottom:2px;display:flex;align-items:center;padding-bottom:4px}.sharingTab__content section .section-header h4[data-v-592538f1]{margin:0;font-size:16px}.sharingTab__content section .section-header .visually-hidden[data-v-592538f1]{display:none}.sharingTab__content section .section-header .hint-icon[data-v-592538f1]{color:var(--color-primary-element)}.sharingTab__content>section[data-v-592538f1]:not(:last-child){border-bottom:2px solid var(--color-border)}.sharingTab__additionalContent[data-v-592538f1]{margin:44px 0}.hint-body[data-v-592538f1]{max-width:300px;padding:var(--border-radius-element)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingTab.vue\"],\"names\":[],\"mappings\":\"AACA,2CACC,gBAAA,CAGD,6BACC,iBAAA,CACA,WAAA,CAEA,sCACC,aAAA,CAEA,8CACC,mBAAA,CAEA,8DACC,cAAA,CACA,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,iEACC,QAAA,CACA,cAAA,CAGD,+EACC,YAAA,CAGD,yEACC,kCAAA,CAOH,+DACC,2CAAA,CAKF,gDACC,aAAA,CAIF,4BACC,eAAA,CACA,oCAAA\",\"sourcesContent\":[\"\\n.emptyContentWithSections {\\n\\tmargin: 1rem auto;\\n}\\n\\n.sharingTab {\\n\\tposition: relative;\\n\\theight: 100%;\\n\\n\\t&__content {\\n\\t\\tpadding: 0 6px;\\n\\n\\t\\tsection {\\n\\t\\t\\tpadding-bottom: 16px;\\n\\n\\t\\t\\t.section-header {\\n\\t\\t\\t\\tmargin-top: 2px;\\n\\t\\t\\t\\tmargin-bottom: 2px;\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tpadding-bottom: 4px;\\n\\n\\t\\t\\t\\th4 {\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\tfont-size: 16px;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.visually-hidden {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.hint-icon {\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\\t& > section:not(:last-child) {\\n\\t\\t\\tborder-bottom: 2px solid var(--color-border);\\n\\t\\t}\\n\\n\\t}\\n\\n\\t&__additionalContent {\\n\\t\\tmargin: 44px 0;\\n\\t}\\n}\\n\\n.hint-body {\\n\\tmax-width: 300px;\\n\\tpadding: var(--border-radius-element);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-48fba0bf]{display:flex;align-items:center;min-height:44px}.sharing-entry__summary[data-v-48fba0bf]{padding:8px;padding-inline-start:10px;display:flex;justify-content:space-between;flex:1 0;min-width:0}.sharing-entry__desc[data-v-48fba0bf]{display:flex;flex-direction:column;line-height:1.2em}.sharing-entry__desc p[data-v-48fba0bf]{color:var(--color-text-maxcontrast)}.sharing-entry__desc__title[data-v-48fba0bf]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry__actions[data-v-48fba0bf]{display:flex;align-items:center;margin-inline-start:auto}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-48fba0bf]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-48fba0bf] .avatar-link-share{background-color:var(--color-primary-element)}.sharing-entry .sharing-entry__action--public-upload[data-v-48fba0bf]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-48fba0bf]{width:44px;height:44px;margin:0;padding:14px;margin-inline-start:auto}.sharing-entry .action-item~.action-item[data-v-48fba0bf],.sharing-entry .action-item~.sharing-entry__loading[data-v-48fba0bf]{margin-inline-start:0}.sharing-entry .icon-checkmark-color[data-v-48fba0bf]{opacity:1;color:var(--color-success)}.qr-code-dialog[data-v-48fba0bf]{display:flex;width:100%;justify-content:center}.qr-code-dialog__img[data-v-48fba0bf]{width:100%;height:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryLink.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAEA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,6BAAA,CACA,QAAA,CACA,WAAA,CAGA,sCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,wCACC,mCAAA,CAGD,6CACC,sBAAA,CACA,eAAA,CACA,kBAAA,CAIF,yCACC,YAAA,CACA,kBAAA,CACA,wBAAA,CAID,mGACC,wCAAA,CAIF,mDACC,6CAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,wBAAA,CAOA,+HAEC,qBAAA,CAIF,sDACC,SAAA,CACA,0BAAA,CAKF,iCACC,YAAA,CACA,UAAA,CACA,sBAAA,CAEA,sCACC,UAAA,CACA,WAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\n\\t&__summary {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: space-between;\\n\\t\\tflex: 1 0;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t\\t&__desc {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\tline-height: 1.2em;\\n\\n\\t\\t\\tp {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&__title {\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&__actions {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmargin-inline-start: auto;\\n\\t\\t}\\n\\n\\t&:not(.sharing-entry--share) &__actions {\\n\\t\\t.new-share-link {\\n\\t\\t\\tborder-top: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t:deep(.avatar-link-share) {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t.sharing-entry__action--public-upload {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t&__loading {\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 14px;\\n\\t\\tmargin-inline-start: auto;\\n\\t}\\n\\n\\t// put menus to the left\\n\\t// but only the first one\\n\\t.action-item {\\n\\n\\t\\t~.action-item,\\n\\t\\t~.sharing-entry__loading {\\n\\t\\t\\tmargin-inline-start: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t.icon-checkmark-color {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-success);\\n\\t}\\n}\\n\\n// styling for the qr-code container\\n.qr-code-dialog {\\n\\tdisplay: flex;\\n\\twidth: 100%;\\n\\tjustify-content: center;\\n\\n\\t&__img {\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.fade-enter-active[data-v-42733c12], .fade-leave-active[data-v-42733c12] {\n transition: opacity 0.3s ease;\n}\n.fade-enter[data-v-42733c12], .fade-leave-to[data-v-42733c12] {\n opacity: 0;\n}\n.linked-icons[data-v-42733c12] {\n display: flex;\n}\n.linked-icons img[data-v-42733c12] {\n padding: 12px;\n height: 44px;\n display: block;\n background-repeat: no-repeat;\n background-position: center;\n opacity: 0.7;\n}\n.linked-icons img[data-v-42733c12]:hover {\n opacity: 1;\n}\n.popovermenu[data-v-42733c12] {\n display: none;\n}\n.popovermenu.open[data-v-42733c12] {\n display: block;\n}\nli.collection-list-item[data-v-42733c12] {\n flex-wrap: wrap;\n height: auto;\n cursor: pointer;\n margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-42733c12] {\n margin-top: 6px;\n}\nli.collection-list-item form[data-v-42733c12], li.collection-list-item .collection-item-name[data-v-42733c12] {\n flex-basis: 10%;\n flex-grow: 1;\n display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-42733c12] {\n padding: 12px 9px;\n}\nli.collection-list-item input[data-v-42733c12] {\n margin-top: 4px;\n border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-42733c12] {\n flex-grow: 1;\n}\nli.collection-list-item .error[data-v-42733c12] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details[data-v-42733c12] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-42733c12] {\n display: flex;\n margin-left: 44px;\n border-radius: 3px;\n cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-42733c12]:hover {\n background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-42733c12] {\n flex-grow: 1;\n padding: 3px;\n max-width: calc(100% - 30px);\n display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-42733c12] {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-42733c12] {\n text-overflow: ellipsis;\n overflow: hidden;\n position: relative;\n vertical-align: top;\n white-space: nowrap;\n flex-grow: 1;\n padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-42733c12] {\n width: 24px;\n height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12] {\n opacity: 0.7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:focus {\n opacity: 1;\n}\n.shouldshake[data-v-42733c12] {\n animation: shake-42733c12 0.6s 1 linear;\n}\n@keyframes shake-42733c12 {\n0% {\n transform: translate(15px);\n}\n20% {\n transform: translate(-15px);\n}\n40% {\n transform: translate(7px);\n}\n60% {\n transform: translate(-7px);\n}\n80% {\n transform: translate(3px);\n}\n100% {\n transform: translate(0px);\n}\n}.collection-list *[data-v-8ebb2593] {\n box-sizing: border-box;\n}\n.collection-list > li[data-v-8ebb2593] {\n display: flex;\n align-items: start;\n gap: 12px;\n}\n.collection-list > li > .avatar[data-v-8ebb2593] {\n margin-top: auto;\n}\n#collection-select-container[data-v-8ebb2593] {\n display: flex;\n flex-direction: column;\n}\n.v-select span.avatar[data-v-8ebb2593] {\n display: block;\n padding: 16px;\n opacity: 0.7;\n background-repeat: no-repeat;\n background-position: center;\n}\n.v-select span.avatar[data-v-8ebb2593]:hover {\n opacity: 1;\n}\np.hint[data-v-8ebb2593] {\n z-index: 1;\n margin-top: -16px;\n padding: 8px 8px;\n color: var(--color-text-maxcontrast);\n line-height: normal;\n}\ndiv.avatar[data-v-8ebb2593] {\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 8px;\n background-color: var(--color-background-dark);\n margin-top: 30px;\n}\n\n/** TODO provide white icon in core */\n.icon-projects[data-v-8ebb2593] {\n display: block;\n padding: 8px;\n background-repeat: no-repeat;\n background-position: center;\n}\n.option__wrapper[data-v-8ebb2593] {\n display: flex;\n}\n.option__wrapper .avatar[data-v-8ebb2593] {\n display: block;\n background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-8ebb2593] {\n padding: 4px;\n}\n.fade-enter-active[data-v-8ebb2593], .fade-leave-active[data-v-8ebb2593] {\n transition: opacity 0.5s;\n}\n.fade-enter[data-v-8ebb2593], .fade-leave-to[data-v-8ebb2593] {\n opacity: 0;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/nextcloud-vue-collections/dist/assets/index-CJAYjuyf.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,6BAA6B;AAC/B;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,YAAY;EACZ,cAAc;EACd,4BAA4B;EAC5B,2BAA2B;EAC3B,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;EACf,YAAY;EACZ,eAAe;EACf,2BAA2B;AAC7B;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;EACf,YAAY;EACZ,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,6CAA6C;AAC/C;AACA;EACE,YAAY;AACd;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,aAAa;EACb,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,YAAY;EACZ,YAAY;EACZ,4BAA4B;EAC5B,aAAa;AACf;AACA;EACE,qBAAqB;EACrB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,YAAY;AACd;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,uCAAuC;AACzC;AACA;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA,CAAC;EACC,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,SAAS;AACX;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,aAAa;EACb,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,oCAAoC;EACpC,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,SAAS;EACT,YAAY;EACZ,8CAA8C;EAC9C,gBAAgB;AAClB;;AAEA,qCAAqC;AACrC;EACE,cAAc;EACd,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,2DAA2D;AAC7D;AACA;EACE,YAAY;AACd;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,UAAU;AACZ\",\"sourcesContent\":[\".fade-enter-active[data-v-42733c12], .fade-leave-active[data-v-42733c12] {\\n transition: opacity 0.3s ease;\\n}\\n.fade-enter[data-v-42733c12], .fade-leave-to[data-v-42733c12] {\\n opacity: 0;\\n}\\n.linked-icons[data-v-42733c12] {\\n display: flex;\\n}\\n.linked-icons img[data-v-42733c12] {\\n padding: 12px;\\n height: 44px;\\n display: block;\\n background-repeat: no-repeat;\\n background-position: center;\\n opacity: 0.7;\\n}\\n.linked-icons img[data-v-42733c12]:hover {\\n opacity: 1;\\n}\\n.popovermenu[data-v-42733c12] {\\n display: none;\\n}\\n.popovermenu.open[data-v-42733c12] {\\n display: block;\\n}\\nli.collection-list-item[data-v-42733c12] {\\n flex-wrap: wrap;\\n height: auto;\\n cursor: pointer;\\n margin-bottom: 0 !important;\\n}\\nli.collection-list-item .collection-avatar[data-v-42733c12] {\\n margin-top: 6px;\\n}\\nli.collection-list-item form[data-v-42733c12], li.collection-list-item .collection-item-name[data-v-42733c12] {\\n flex-basis: 10%;\\n flex-grow: 1;\\n display: flex;\\n}\\nli.collection-list-item .collection-item-name[data-v-42733c12] {\\n padding: 12px 9px;\\n}\\nli.collection-list-item input[data-v-42733c12] {\\n margin-top: 4px;\\n border-color: var(--color-border-maxcontrast);\\n}\\nli.collection-list-item input[type=text][data-v-42733c12] {\\n flex-grow: 1;\\n}\\nli.collection-list-item .error[data-v-42733c12] {\\n flex-basis: 100%;\\n width: 100%;\\n}\\nli.collection-list-item .resource-list-details[data-v-42733c12] {\\n flex-basis: 100%;\\n width: 100%;\\n}\\nli.collection-list-item .resource-list-details li[data-v-42733c12] {\\n display: flex;\\n margin-left: 44px;\\n border-radius: 3px;\\n cursor: pointer;\\n}\\nli.collection-list-item .resource-list-details li[data-v-42733c12]:hover {\\n background-color: var(--color-background-dark);\\n}\\nli.collection-list-item .resource-list-details li a[data-v-42733c12] {\\n flex-grow: 1;\\n padding: 3px;\\n max-width: calc(100% - 30px);\\n display: flex;\\n}\\nli.collection-list-item .resource-list-details span[data-v-42733c12] {\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 10px;\\n}\\nli.collection-list-item .resource-list-details span.resource-name[data-v-42733c12] {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n position: relative;\\n vertical-align: top;\\n white-space: nowrap;\\n flex-grow: 1;\\n padding: 4px;\\n}\\nli.collection-list-item .resource-list-details img[data-v-42733c12] {\\n width: 24px;\\n height: 24px;\\n}\\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12] {\\n opacity: 0.7;\\n}\\nli.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-42733c12]:focus {\\n opacity: 1;\\n}\\n.shouldshake[data-v-42733c12] {\\n animation: shake-42733c12 0.6s 1 linear;\\n}\\n@keyframes shake-42733c12 {\\n0% {\\n transform: translate(15px);\\n}\\n20% {\\n transform: translate(-15px);\\n}\\n40% {\\n transform: translate(7px);\\n}\\n60% {\\n transform: translate(-7px);\\n}\\n80% {\\n transform: translate(3px);\\n}\\n100% {\\n transform: translate(0px);\\n}\\n}.collection-list *[data-v-8ebb2593] {\\n box-sizing: border-box;\\n}\\n.collection-list > li[data-v-8ebb2593] {\\n display: flex;\\n align-items: start;\\n gap: 12px;\\n}\\n.collection-list > li > .avatar[data-v-8ebb2593] {\\n margin-top: auto;\\n}\\n#collection-select-container[data-v-8ebb2593] {\\n display: flex;\\n flex-direction: column;\\n}\\n.v-select span.avatar[data-v-8ebb2593] {\\n display: block;\\n padding: 16px;\\n opacity: 0.7;\\n background-repeat: no-repeat;\\n background-position: center;\\n}\\n.v-select span.avatar[data-v-8ebb2593]:hover {\\n opacity: 1;\\n}\\np.hint[data-v-8ebb2593] {\\n z-index: 1;\\n margin-top: -16px;\\n padding: 8px 8px;\\n color: var(--color-text-maxcontrast);\\n line-height: normal;\\n}\\ndiv.avatar[data-v-8ebb2593] {\\n width: 32px;\\n height: 32px;\\n margin: 0;\\n padding: 8px;\\n background-color: var(--color-background-dark);\\n margin-top: 30px;\\n}\\n\\n/** TODO provide white icon in core */\\n.icon-projects[data-v-8ebb2593] {\\n display: block;\\n padding: 8px;\\n background-repeat: no-repeat;\\n background-position: center;\\n}\\n.option__wrapper[data-v-8ebb2593] {\\n display: flex;\\n}\\n.option__wrapper .avatar[data-v-8ebb2593] {\\n display: block;\\n background-color: var(--color-background-darker) !important;\\n}\\n.option__wrapper .option__title[data-v-8ebb2593] {\\n padding: 4px;\\n}\\n.fade-enter-active[data-v-8ebb2593], .fade-leave-active[data-v-8ebb2593] {\\n transition: opacity 0.5s;\\n}\\n.fade-enter[data-v-8ebb2593], .fade-leave-to[data-v-8ebb2593] {\\n opacity: 0;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","commonjsRequire","Error","qrcode","fn","createCommonjsModule","f","r","e","n","t","o","i","u","a","code","p","call","length","require","Promise","prototype","then","getSymbolSize","getRowColCoords","version","posCount","Math","floor","size","intervals","ceil","positions","reverse","getPositions","coords","pos","posLength","j","Mode","ALPHA_NUM_CHARS","AlphanumericData","data","this","mode","ALPHANUMERIC","getBitsLength","getLength","write","bitBuffer","value","indexOf","put","BitBuffer","buffer","get","index","bufIndex","num","putBit","getLengthInBits","bit","BufferUtil","BitMatrix","alloc","reservedBit","set","row","col","reserved","xor","isReserved","ByteData","BYTE","from","l","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","getBlocksCount","errorCorrectionLevel","L","M","Q","H","getTotalCodewordsCount","isValid","level","defaultValue","string","toLowerCase","fromString","Utils","G15_BCH","getBCHDigit","getEncodedBits","mask","d","EXP_TABLE","LOG_TABLE","x","log","exp","mul","y","KanjiData","KANJI","toSJIS","Patterns","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PenaltyScores","getMaskAt","maskPattern","isNaN","parseInt","undefined","getPenaltyN1","points","sameCountCol","sameCountRow","lastCol","lastRow","getPenaltyN2","last","getPenaltyN3","bitsCol","bitsRow","getPenaltyN4","darkCount","modulesCount","abs","applyMask","pattern","getBestMask","setupFormatFunc","numPatterns","Object","keys","bestPattern","lowerPenalty","Infinity","penalty","VersionCheck","Regex","NUMERIC","ccBits","MIXED","getCharCountIndicator","getBestModeForData","dataStr","testNumeric","testAlphanumeric","testKanji","toString","NumericData","group","substr","remainingNum","GF","p1","p2","coeff","mod","divident","divisor","result","offset","slice","generateECPolynomial","degree","poly","AlignmentPattern","FinderPattern","MaskPattern","ECCode","ReedSolomonEncoder","Version","FormatInfo","Segments","isArray","setupFormatInfo","matrix","bits","createData","segments","forEach","dataTotalCodewordsBits","getSymbolTotalCodewords","remainingByte","totalCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","Array","ecData","maxDataSize","b","dataSize","encode","max","createCodewords","createSymbol","fromArray","estimatedVersion","rawSegments","rawSplit","getBestVersionForData","bestVersion","dataBits","moduleCount","modules","c","setupFinderPattern","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","inc","bitIndex","byteIndex","dark","setupData","bind","create","options","toSJISFunc","setToSJISFunction","Polynomial","Buffer","genPoly","initialize","pad","paddedData","concat","remainder","start","buff","copy","numeric","kanji","byte","replace","RegExp","BYTE_KANJI","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","str","test","dijkstra","getStringByteLength","unescape","encodeURIComponent","getSegments","regex","exec","getSegmentsFromString","byteSegs","kanjiSegs","numSegs","alphaNumSegs","isKanjiModeEnabled","sort","s1","s2","map","obj","getSegmentBitsLength","buildSingleSegment","modesHint","bestMode","array","reduce","acc","seg","graph","nodes","table","prevNodeIds","nodeGroup","currentNodeIds","node","key","lastCount","prevNodeId","buildGraph","segs","buildNodes","path","find_path","optimizedSegs","curr","prevSeg","toSJISFunction","CODEWORDS_COUNT","digit","G18_BCH","getReservedBitsCount","getTotalBitsFromDataArray","totalBits","reservedBits","getCapacity","usableBits","ecl","currentVersion","getBestVersionForMixedData","getBestVersionForDataLength","canPromise","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","canvas","text","opts","cb","args","arguments","argsNum","isLastArgCb","getContext","resolve","reject","toCanvas","render","toDataURL","renderToDataURL","_","qrData","canvasEl","document","createElement","getCanvasElement","getOptions","getImageWidth","ctx","image","createImageData","qrToImageData","clearRect","width","height","style","clearCanvas","putImageData","type","rendererOpts","quality","getColorAttrib","color","attrib","alpha","hex","toFixed","svgCmd","cmd","qrcodesize","margin","bg","light","moveBy","newRow","lineLength","qrToPath","viewBox","svgTag","hex2rgba","hexCode","split","apply","hexValue","join","g","scale","getScale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","TYPED_ARRAY_SUPPORT","arr","Uint8Array","__proto__","foo","typedArraySupport","K_MAX_LENGTH","arg","allocUnsafe","that","TypeError","ArrayBuffer","byteOffset","byteLength","RangeError","buf","fromArrayLike","fromArrayBuffer","createBuffer","actual","isBuffer","len","checked","val","fromObject","utf8ToBytes","units","codePoint","leadSurrogate","bytes","charCodeAt","isView","Symbol","species","defineProperty","configurable","enumerable","writable","isFinite","remaining","src","dst","blitBuffer","utf8Write","end","newBuf","subarray","sliceLen","target","targetStart","fill","list","_isBuffer","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","parts","maxChunkLength","len2","encodeChunk","lookup","output","base64","ieee754","customInspectSymbol","for","SlowBuffer","INSPECT_MAX_BYTES","setPrototypeOf","encodingOrOffset","encoding","isEncoding","isInstance","valueOf","numberIsNaN","toPrimitive","assertSize","mustMatch","loweredCase","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","m","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","hexWrite","Number","strLen","parsed","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","hi","lo","utf16leToBytes","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","kMaxLength","proto","console","error","poolSize","allocUnsafeSlow","compare","swap16","swap32","swap64","toLocaleString","equals","inspect","trim","thisStart","thisEnd","thisCopy","targetCopy","includes","toJSON","_arr","ret","out","hexSliceLookupTable","checkOffset","ext","checkInt","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","copyWithin","INVALID_BASE64_RE","base64clean","constructor","name","alphabet","i16","single_source_shortest_paths","s","predecessors","costs","closest","v","cost_of_s_to_u","adjacent_nodes","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","open","PriorityQueue","make","empty","pop","cost","hasOwnProperty","msg","extract_shortest_path_from_predecessor_list","T","queue","sorter","default_sorter","item","shift","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","LN2","props","tag","default","$slots","watch","$props","deep","immediate","handler","$el","generate","methods","_this","url","innerHTML","mounted","factory","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","global","freeSelf","self","Function","Date","now","reWhitespace","reTrimStart","charAt","objectProto","nativeObjectToString","symToStringTag","toStringTag","isOwn","unmasked","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","other","isBinary","nativeMax","nativeMin","service","http","listCollection","collectionId","renameCollection","collectionName","ocs","getCollectionsByResource","resourceType","resourceId","createCollection","post","response","addResource","removeResource","delete","params","search","query","state","collections","mutations","addCollections","addCollection","collection","removeCollection","filter","updateCollection","findIndex","_item","actions","fetchCollectionsByResource","baseResourceType","baseResourceId","addResourceToCollection","resources","normalizeComponent","scriptExports","render3","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","CollectionListItem","components","NcAvatar","NcActions","NcActionButton","detailsOpen","newName","computed","getIcon","resource","iconClass","typeClass","limitedResources","iconUrl","mimetype","OC","MimeType","getIconUrl","toggleDetails","showDetails","hideDetails","openRename","catch","$set","setTimeout","_vm","_c","_self","staticClass","attrs","on","_v","_s","class","rename","$event","preventDefault","directives","rawName","expression","domProps","composing","_e","_l","link","_debouncedSearch","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","thisArg","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","clearTimeout","cancel","flush","loading","searchCollections","finally","_sfc_main","NcSelect","isActive","Boolean","setup","selectIsOpen","generatingCodes","codes","model","isSelectOpen","find","placeholder","window","OCP","Collaboration","getTypes","method","title","getLabel","action","trigger","select","selectedOption","id2","setError","showSelect","$refs","focus","hideSelect","isVueComponent","object","_isVue","CollectionList","_m","ref","scopedSlots","_u","option","callback","$$v","Config","_defineProperty","_capabilities","getCapabilities","defaultPermissions","files_sharing","default_permissions","isPublicUploadEnabled","public","upload","federatedShareDocLink","appConfig","core","federatedCloudShareDoc","defaultExpirationDate","isDefaultExpireDateEnabled","defaultExpireDate","setDate","getDate","defaultInternalExpirationDate","isDefaultInternalExpireDateEnabled","defaultInternalExpireDate","defaultRemoteExpirationDateString","isDefaultRemoteExpireDateEnabled","defaultRemoteExpireDate","enforcePasswordForPublicLink","enableLinkPasswordByDefault","isDefaultExpireDateEnforced","defaultExpireDateEnforced","defaultExpireDateEnabled","isDefaultInternalExpireDateEnforced","defaultInternalExpireDateEnforced","defaultInternalExpireDateEnabled","isDefaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnabled","isRemoteShareAllowed","remoteShareAllowed","isPublicShareAllowed","enabled","isMailShareAllowed","sharebymail","isResharingAllowed","resharingAllowed","isPasswordForMailSharesRequired","password","enforced","shouldAlwaysShowUnique","sharee","always_show_unique","allowGroupSharing","maxAutocompleteResults","config","minSearchStringLength","passwordPolicy","password_policy","allowCustomTokens","custom_tokens","showFederatedSharesAsInternal","loadState","getLoggerBuilder","setApp","detectUser","build","Share","ocsData","hide_download","mail_send","attributes","JSON","parse","warn","_share","share_type","permissions","owner","uid_owner","ownerDisplayName","displayname_owner","shareWith","share_with","shareWithDisplayName","share_with_displayname","shareWithDisplayNameUnique","share_with_displayname_unique","shareWithLink","share_with_link","shareWithAvatar","share_with_avatar","uidFileOwner","uid_file_owner","displaynameFileOwner","displayname_file_owner","createdTime","stime","expireDate","expiration","date","token","note","label","mailSend","hideDownload","_ref","scope","attribute","_ref2","passwordExpirationTime","password_expiration_time","sendPasswordByTalk","send_password_by_talk","itemType","item_type","fileSource","file_source","fileTarget","file_target","fileParent","file_parent","hasReadPermission","PERMISSION_READ","hasCreatePermission","PERMISSION_CREATE","hasDeletePermission","PERMISSION_DELETE","hasUpdatePermission","PERMISSION_UPDATE","hasSharePermission","PERMISSION_SHARE","hasDownloadPermission","some","isFileRequest","logger","stringify","setAttribute","attrUpdate","attr","splice","canEdit","can_edit","canDelete","can_delete","viaFileid","via_fileid","viaPath","via_path","storageId","storage_id","storage","itemSource","item_source","status","required","subtitle","isUnique","ariaExpanded","ariaExpandedValue","_t","SharingEntrySimple","CheckIcon","ClipboardIcon","fileInfo","copied","copySuccess","internalLink","location","protocol","host","generateUrl","copyLinkTooltip","internalLinkSubtitle","copyLink","navigator","clipboard","writeText","showSuccess","shareEntrySimple","actionsComponent","proxy","shareUrl","generateOcsUrl","createShare","shareType","publicUpload","request","axios","share","emit","errorMessage","meta","message","showError","deleteShare","Notification","showTemporary","updateShare","properties","ATOMIC_PERMISSIONS","NONE","READ","UPDATE","CREATE","DELETE","SHARE","BUNDLED_PERMISSIONS","READ_ONLY","UPLOAD_AND_UPDATE","FILE_DROP","ALL","ALL_FILE","openSharingDetails","shareRequestObject","handlerInput","suggestions","externalShareRequestObject","mapShareRequestToShareObject","originalPermissions","strippedPermissions","debug","shareDetails","$emit","openShareDetailsForCustomSettings","setCustomPermissions","is_no_user","isNoUser","user","displayName","mixins","ShareRequests","ShareDetails","shares","linkShares","reshare","canReshare","isExternal","shareInputId","random","recommendations","ShareSearch","OCA","Sharing","externalResults","results","inputPlaceholder","allowRemoteSharing","isValidQuery","noResultText","getRecommendations","onSelected","asyncFind","debounceGetSuggestions","getSuggestions","query_lookup_default","remoteTypes","ShareType","Remote","RemoteGroup","User","Group","Team","Room","Guest","Deck","ScienceMesh","Email","format","perPage","exact","rawExactSuggestions","values","elem","rawSuggestions","exactSuggestions","filterOutExistingShares","formatForMultiselect","lookupEntry","lookupEnabled","condition","allSuggestions","nameCounts","desc","info","debounce","rawRecommendations","getCurrentUser","uid","sharesObj","shareTypeToIcon","icon","iconTitle","Sciencemesh","subname","server","shareWithDescription","uuid","clear-search-on-blur","async","verbose","api","ratio","passwordSet","crypto","getRandomValues","client","getClient","SharesRequests","errors","saving","updateQueue","PQueue","concurrency","reactiveState","hasNote","dateTomorrow","lang","weekdaysShort","dayNamesShort","monthsShort","monthNamesShort","formatLocale","firstDayOfWeek","firstDay","weekdaysMin","monthFormat","isNewShare","isFolder","isPublicShare","Link","isRemoteShare","isShareOwner","isExpiryDateEnforced","hasCustomPermissions","maxExpirationDateEnforced","isPasswordProtected","GeneratePassword","$delete","getNode","propfindPayload","getDefaultPropfind","stat","getRootPath","details","resultToNode","fetchNode","checkShare","expirationDate","formatDateToString","UTC","getFullYear","getMonth","toISOString","onExpirationChange","parsedDate","onNoteChange","onNoteSubmit","newNote","queueUpdate","onDelete","_len","propertyNames","_key","updatedShare","updateSuccessMessage","onSyncError","names","property","propertyEl","focusable","querySelector","debounceQueueUpdate","NcActionLink","NcActionText","SharesMixin","viaFileTargetUrl","fileid","viaFolderName","basename","initiator","folder","SharingEntryInherited","loaded","showInheritedShares","showInheritedSharesIcon","mainTitle","subTitle","toggleTooltip","fullPath","resetState","toggleInheritedShares","fetchInheritedShares","removeShare","stopPropagation","emits","fillColor","_b","$attrs","DropdownIcon","ariaLabel","canViewText","canEditText","fileDropText","customPermissionsText","preSelectedOption","IconEyeOutline","IconPencil","supportsFileDrop","IconFileUpload","IconTune","dropDownPermissionValue","created","subscribe","unmounted","unsubscribe","selectOption","optionLabel","quickShareActions","menuButton","NcButton","NcPopover","NcDateTime","ClockIcon","expiryTime","getTime","timeFormat","dateStyle","timeStyle","is","_g","handlers","ExternalShareAction","NcActionCheckbox","NcActionInput","NcActionSeparator","NcDialog","VueQrcode","Tune","IconCalendarBlank","IconQr","ErrorIcon","LockIcon","CloseIcon","PlusIcon","SharingEntryQuickShareSelect","ShareExpiryTime","shareCreationComplete","defaultExpirationDateEnabled","pending","ExternalLegacyLinkActions","ExternalLinkActions","ExternalShareActions","showQRCode","l10nOptions","escape","isEmailShareType","expirationTime","moment","diff","fromNow","isTalkEnabled","appswebroots","spreed","isPasswordProtectedByTalkAvailable","isPasswordProtectedByTalk","canTogglePasswordProtectedByTalkAvailable","hasUnsavedPassword","pendingDataIsMissing","pendingPassword","pendingEnforcedPassword","pendingDefaultExpirationDate","pendingEnforcedExpirationDate","isPendingShare","sharePolicyHasEnforcedProperties","enforcedPropertiesMissing","isPasswordMissing","isExpireDateMissing","newPassword","shareLink","baseURL","getBaseUrl","actionsTooltip","externalLegacyLinkActions","externalLinkActions","advanced","isPasswordPolicyEnabled","canChangeHideDownload","shareAttributes","shareAttribute","shareRequiresReview","shareReviewComplete","onNewLinkShare","shareDefaults","component","pushNewLinkShare","update","newShare","match","copyButton","onPasswordChange","onPasswordDisable","onPasswordSubmit","onPasswordProtectedByTalkChange","onMenuClose","onExpirationDateToggleUpdate","expirationDateChanged","event","onCancel","SharingEntryLink","minLength","actionIndex","canLinkShare","hasLinkShares","hasShares","addShare","awaitForShare","$nextTick","$children","DotsHorizontalIcon","tooltip","hasStatus","SharingEntry","NcCheckboxRadioSwitch","NcDateTimePickerNative","NcInputField","NcLoadingIcon","NcPasswordField","NcTextArea","CircleIcon","EditIcon","LinkIcon","GroupIcon","ShareIcon","UserIcon","UploadIcon","ViewIcon","MenuDownIcon","MenuUpIcon","Refresh","shareRequestValue","writeNoteToRecipientIsChecked","sharingPermission","revertSharingPermission","passwordError","advancedSectionAccordionExpanded","bundledPermissions","isFirstComponentLoad","creating","initialToken","loadingToken","userName","email","allPermissions","updateAtomicPermissions","isEditChecked","canCreate","isCreateChecked","isDeleteChecked","isReshareChecked","showInGridView","getShareAttribute","setShareAttribute","canDownload","hasRead","isReadChecked","hasExpirationDate","isValidShareAttribute","defaultExpiryDate","isSetDownloadButtonVisible","isPasswordEnforced","isGroupShare","isUserShare","allowsFileDrop","hasFileDropPermissions","shareButtonText","resharingIsPossible","canSetEdit","sharePermissions","canSetCreate","canSetDelete","canSetReshare","canSetDownload","canRemoveReadPermission","customPermissionsList","translatedPermissions","permission","hasPermissions","initialPermissionSet","permissionsToCheck","toLocaleLowerCase","getLanguage","advancedControlExpandedValue","errorPasswordLabel","passwordHint","isChecked","beforeMount","initializePermissions","initializeAttributes","quickPermissions","fallback","generateNewToken","generateToken","expandCustomPermissions","toggleCustomPermissions","selectedPermission","isCustomPermissions","toDateString","handleShareType","handleDefaultPermissions","handleCustomPermissions","saveShare","permissionsAndAttributes","publicShareAttributes","sharePermissionsSet","incomingShare","prop","allSettled","at","onSave","getShareTypeIcon","EmailIcon","refInFor","InfoIcon","SharingEntryInternal","SharingInherited","SharingInput","SharingLinkList","SharingList","SharingDetailsTab","deleteEvent","expirationInterval","sharedWithMe","externalShares","sections","ShareTabSections","getSections","projectsEnabled","showSharingDetailsView","shareDetailsData","returnFocusElement","internalSharesHelpText","externalSharesHelpText","additionalSharesHelpText","isSharedWithMe","isLinkSharingAllowed","capabilities","internalShareInputPlaceholder","externalShareInputPlaceholder","getShares","fetchShares","reshares","fetchSharedWithMe","shared_with_me","all","processSharedWithMe","processShares","clearInterval","updateExpirationSubtitle","unix","relativetime","orderBy","circle","conversation","shareWithTitle","setInterval","shareOwnerId","shareOwner","unshift","shareList","listComponent","linkShareList","toggleShareDetailsView","eventData","activeElement","classList","className","startsWith","menuId","emptyContentWithSections","section","InvalidFilenameErrorReason","InvalidFilenameErrorReason2","InvalidFilenameError","super","reason","segment","filename","cause","validateFilename","files","forbiddenCharacters","forbidden_filename_characters","_oc_config","forbidden_filenames_characters","character","forbidden_filenames","endOfBasename","basename2","substring","forbidden_filename_basenames","forbiddenFilenameExtensions","forbidden_filename_extensions","extension","endsWith","humanList","humanListBinary","formatFileSize","skipSmallSizes","binaryPrefixes","base1000","order","readableFormat","relativeSize","parseFloat","identifiers2","orders","sorting","collator","Intl","Collator","usage","a2","b2","identifier","entries","sortNodes","sortingOptions","sortingMode","sortingOrder","sortFavoritesFirst","favorite","sortFoldersFirst","displayname","hasRequiredUtil","hasRequiredValidator","validator","util","requireUtil","nameStartChar","nameRegexp","regexName","isExist","isEmptyObject","merge","arrayMode","i2","getValue","isName","getAllMatches","matches","allmatches","startIndex","lastIndex","requireValidator","util2","defaultOptions","allowBooleanAttributes","unpairedTags","isWhiteSpace","char","readPI","xmlData","tagname","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","validate","assign","tags","tagFound","reachedRoot","err","tagStartPos","closingTag","tagName","readAttributeStr","attrStr","attrStrStart","validateAttributeString","line","tagClosed","otg","openPos","afterAmp","validateAmpersand","t2","doubleQuote","singleQuote","startChar","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","re2","validateNumberAmpersand","count","lineNumber","lines","hasRequiredOptionsBuilder","xmlNode","hasRequiredXmlNode","DocTypeReader","hasRequiredDocTypeReader","strnum","hasRequiredStrnum","ignoreAttributes","hasRequiredIgnoreAttributes","OrderedObjParser_1","hasRequiredOrderedObjParser","OptionsBuilder","requireIgnoreAttributes","ignoreAttributes2","hasRequiredNode2json","XMLParser_1","hasRequiredXMLParser","orderedJs2Xml","hasRequiredOrderedJs2Xml","json2xml","hasRequiredJson2xml","fxp","hasRequiredFxp","debug_1","hasRequiredDebug","constants","hasRequiredConstants","node2json","requireNode2json","compress","jPath","compressedObj","tagObj","propName","newJpath","textNodeName","isLeaf","isLeafTag","assignAttributes","alwaysCreateTextNode","attrMap","jpath","atrrName","propCount","prettify","requireXMLParser","buildOptions","preserveOrder","attributeNamePrefix","attributesGroupName","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","leadingZeros","eNotation","tagValueProcessor","attributeValueProcessor","stopNodes","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","requireOptionsBuilder","OrderedObjParser","xmlNode2","child","addChild","readDocType","readEntityExp","entityName","isEntity","isElement","isAttlist","isNotation","validateEntityName","entities","hasBody","comment","regx","requireDocTypeReader","toNumber","hexRegex","numRegex","consider","decimalPoint","trimmedStr","skipLike","sign","numTrimmedByZeros","numStr","requireStrnum","getIgnoreAttributesFn","addExternalEntities","externalEntities","entKeys","ent","lastEntities","parseTextData","dontTrim","hasAttributes","isLeafNode","escapeEntities","replaceEntitiesValue","newval","parseValue","resolveNameSpace","prefix","attrsRegx","buildAttributesMap","ignoreAttributesFn","oldVal","aName","newVal","attrCollection","parseXml","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","saveTextToParentTag","lastTagName","propIndex","tagsNodeStack","tagData","readTagExp","childNode","tagExp","attrExpPresent","endIndex","docTypeEntities","rawTagName","lastTag","isItStopNode","tagContent","result2","readStopNodeData","entity","ampEntity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","errMsg","closingIndex","closingChar","attrBoundary","ch","tagExpWithClosingIndex","separatorIndex","trimStart","openTagCount","shouldParse","requireOrderedObjParser","validator2","validationOption","orderedObjParser","orderedResult","addEntity","requireOrderedJs2Xml","arrToStr","indentation","xmlStr","isPreviousElementTag","newJPath","tagText","isStopNode","attStr2","attr_to_str","tempInd","piTextNodeName","newIdentation","indentBy","tagStart","tagValue","suppressUnpairedNode","suppressEmptyNode","attrVal","suppressBooleanAttributes","textValue","jArray","requireDebug","process","env","NODE_DEBUG","requireConstants","MAX_SAFE_INTEGER","MAX_LENGTH","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","RELEASE_TYPES","SEMVER_SPEC_VERSION","FLAG_INCLUDE_PRERELEASE","FLAG_LOOSE","XMLParser","XMLBuilder","buildFromOrderedJs","oneListGroup","Builder","isAttribute","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","ajPath","j2x","buildTextValNode","buildObjectNode","repeat","jObj","arrayNodeName","buildAttrPairStr","arrLen","listTagVal","listTagAttr","j2","Ks","closeTag","tagEndExp","piClosingChar","requireJson2xml","XMLValidator","requireFxp","hasRequiredRe","parseOptions_1","hasRequiredParseOptions","identifiers","hasRequiredIdentifiers","semver","hasRequiredSemver","parse_1","hasRequiredParse","valid_1","hasRequiredValid","major_1","hasRequiredMajor","re","requireSemver","safeRe","R","LETTERDASHNUMBER","safeRegexReplacements","createToken","isGlobal","safe","makeSafeRegex","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCEPLAIN","COERCE","COERCEFULL","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","parseOptions","looseOption","freeze","loose","emptyOpts","requireParseOptions","compareIdentifiers","anum","bnum","rcompareIdentifiers","requireIdentifiers","SemVer","includePrerelease","m2","LOOSE","FULL","raw","major","minor","patch","prerelease","compareMain","comparePre","compareBuild","release","identifierBase","base","throwErrors","er","requireParse","requireValid","requireMajor","ampersandTest","nativeURLSearchParams","URLSearchParams","isSupportObjectConstructor","decodesPlusesCorrectly","isSupportSize","__URLSearchParams__","encodesAmpersandsCorrectly","append","URLSearchParamsPolyfill","iterable","iterator","appendTo","dict","has","getAll","propValue","useProxy","Proxy","construct","USPProto","polyfill","parseToDict","getOwnPropertyNames","k","items","makeIterator","prev","cur","decode","decodeURIComponent","next","done","pairs"],"sourceRoot":""} \ No newline at end of file
diff --git a/dist/8708-8708.js.map.license b/dist/8708-8708.js.map.license
deleted file mode 120000
index 51f9cb0115e..00000000000
--- a/dist/8708-8708.js.map.license
+++ /dev/null
@@ -1 +0,0 @@
-8708-8708.js.license \ No newline at end of file
diff --git a/dist/files_sharing-files_sharing_tab.js b/dist/files_sharing-files_sharing_tab.js
index ed96f744082..ef941605540 100644
--- a/dist/files_sharing-files_sharing_tab.js
+++ b/dist/files_sharing-files_sharing_tab.js
@@ -1,2 +1,2 @@
-(()=>{"use strict";var e,t,r,i={69196:(e,t,r)=>{var i=r(85471),n=r(21777),o=r(53334);r.nc=(0,n.aV)(),window.OCA.Sharing||(window.OCA.Sharing={}),Object.assign(window.OCA.Sharing,{ShareSearch:new class{constructor(){var e,t,r;e=this,r=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_state"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.results=[],console.debug("OCA.Sharing.ShareSearch initialized")}get state(){return this._state}addNewResult(e){return""!==e.displayName.trim()&&"function"==typeof e.handler?(this._state.results.push(e),!0):(console.error("Invalid search result provided",e),!1)}}}),Object.assign(window.OCA.Sharing,{ExternalLinkActions:new class{constructor(){var e,t,r;e=this,r=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_state"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.actions=[],console.debug("OCA.Sharing.ExternalLinkActions initialized")}get state(){return this._state}registerAction(e){return OC.debug&&console.warn("OCA.Sharing.ExternalLinkActions is deprecated, use OCA.Sharing.ExternalShareAction instead"),"object"==typeof e&&e.icon&&e.name&&e.url?(this._state.actions.push(e),!0):(console.error("Invalid action provided",e),!1)}}}),Object.assign(window.OCA.Sharing,{ExternalShareActions:new class{constructor(){var e,t,r;e=this,r=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_state"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.actions=[],console.debug("OCA.Sharing.ExternalShareActions initialized")}get state(){return this._state}registerAction(e){return"object"==typeof e&&"string"==typeof e.id&&"function"==typeof e.data&&Array.isArray(e.shareType)&&"object"==typeof e.handlers&&Object.values(e.handlers).every((e=>"function"==typeof e))?this._state.actions.findIndex((t=>t.id===e.id))>-1?(console.error(`An action with the same id ${e.id} already exists`,e),!1):(this._state.actions.push(e),!0):(console.error("Invalid action provided",e),!1)}}}),Object.assign(window.OCA.Sharing,{ShareTabSections:new class{constructor(){var e,t,r;e=this,r=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_sections"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._sections=[]}registerSection(e){this._sections.push(e)}getSections(){return this._sections}}}),i.Ay.prototype.t=o.t,i.Ay.prototype.n=o.n;let a=null;window.addEventListener("DOMContentLoaded",(function(){OCA.Files&&OCA.Files.Sidebar&&OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({id:"sharing",name:(0,o.t)("files_sharing","Sharing"),iconSvg:'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-share-variant" viewBox="0 0 24 24"><path d="M18,16.08C17.24,16.08 16.56,16.38 16.04,16.85L8.91,12.7C8.96,12.47 9,12.24 9,12C9,11.76 8.96,11.53 8.91,11.3L15.96,7.19C16.5,7.69 17.21,8 18,8A3,3 0 0,0 21,5A3,3 0 0,0 18,2A3,3 0 0,0 15,5C15,5.24 15.04,5.47 15.09,5.7L8.04,9.81C7.5,9.31 6.79,9 6,9A3,3 0 0,0 3,12A3,3 0 0,0 6,15C6.79,15 7.5,14.69 8.04,14.19L15.16,18.34C15.11,18.55 15.08,18.77 15.08,19C15.08,20.61 16.39,21.91 18,21.91C19.61,21.91 20.92,20.61 20.92,19A2.92,2.92 0 0,0 18,16.08Z" /></svg>',async mount(e,t,n){const o=(await Promise.all([r.e(4208),r.e(8708)]).then(r.bind(r,18634))).default,s=i.Ay.extend(o);a&&a.$destroy(),a=new s({parent:n}),await a.update(t),a.$mount(e)},update(e){a.update(e)},destroy(){a&&(a.$destroy(),a=null)}}))}))}},n={};function o(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={id:e,loaded:!1,exports:{}};return i[e].call(r.exports,r,r.exports,o),r.loaded=!0,r.exports}o.m=i,e=[],o.O=(t,r,i,n)=>{if(!r){var a=1/0;for(u=0;u<e.length;u++){r=e[u][0],i=e[u][1],n=e[u][2];for(var s=!0,c=0;c<r.length;c++)(!1&n||a>=n)&&Object.keys(o.O).every((e=>o.O[e](r[c])))?r.splice(c--,1):(s=!1,n<a&&(a=n));if(s){e.splice(u--,1);var l=i();void 0!==l&&(t=l)}}return t}n=n||0;for(var u=e.length;u>0&&e[u-1][2]>n;u--)e[u]=e[u-1];e[u]=[r,i,n]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((t,r)=>(o.f[r](e,t),t)),[])),o.u=e=>e+"-"+e+".js?v="+{640:"b2fa23a809053c6305c5",857:"e91c54a0a2f8bb5ed755",5771:"a4e2a98efcfb7393c5bd",5810:"8dfb2392d7107957a510",7432:"126e4e5eedf7af9a92fc",8708:"5d824d632209307d82c7"}[e],o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},r="nextcloud:",o.l=(e,i,n,a)=>{if(t[e])t[e].push(i);else{var s,c;if(void 0!==n)for(var l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var d=l[u];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==r+n){s=d;break}}s||(c=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,o.nc&&s.setAttribute("nonce",o.nc),s.setAttribute("data-webpack",r+n),s.src=e),t[e]=[i];var f=(r,i)=>{s.onerror=s.onload=null,clearTimeout(p);var n=t[e];if(delete t[e],s.parentNode&&s.parentNode.removeChild(s),n&&n.forEach((e=>e(i))),r)return r(i)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=f.bind(null,s.onerror),s.onload=f.bind(null,s.onload),c&&document.head.appendChild(s)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o.j=4958,(()=>{var e;o.g.importScripts&&(e=o.g.location+"");var t=o.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var i=r.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=r[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e})(),(()=>{o.b=document.baseURI||self.location.href;var e={4958:0};o.f.j=(t,r)=>{var i=o.o(e,t)?e[t]:void 0;if(0!==i)if(i)r.push(i[2]);else{var n=new Promise(((r,n)=>i=e[t]=[r,n]));r.push(i[2]=n);var a=o.p+o.u(t),s=new Error;o.l(a,(r=>{if(o.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+n+": "+a+")",s.name="ChunkLoadError",s.type=n,s.request=a,i[1](s)}}),"chunk-"+t,t)}},o.O.j=t=>0===e[t];var t=(t,r)=>{var i,n,a=r[0],s=r[1],c=r[2],l=0;if(a.some((t=>0!==e[t]))){for(i in s)o.o(s,i)&&(o.m[i]=s[i]);if(c)var u=c(o)}for(t&&t(r);l<a.length;l++)n=a[l],o.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return o.O(u)},r=self.webpackChunknextcloud=self.webpackChunknextcloud||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),o.nc=void 0;var a=o.O(void 0,[4208],(()=>o(69196)));a=o.O(a)})();
-//# sourceMappingURL=files_sharing-files_sharing_tab.js.map?v=7590745d696b7ed383b9 \ No newline at end of file
+(()=>{"use strict";var e,t,r,i={69196:(e,t,r)=>{var i=r(85471),n=r(21777),o=r(53334);r.nc=(0,n.aV)(),window.OCA.Sharing||(window.OCA.Sharing={}),Object.assign(window.OCA.Sharing,{ShareSearch:new class{constructor(){var e,t,r;e=this,r=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_state"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.results=[],console.debug("OCA.Sharing.ShareSearch initialized")}get state(){return this._state}addNewResult(e){return""!==e.displayName.trim()&&"function"==typeof e.handler?(this._state.results.push(e),!0):(console.error("Invalid search result provided",e),!1)}}}),Object.assign(window.OCA.Sharing,{ExternalLinkActions:new class{constructor(){var e,t,r;e=this,r=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_state"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.actions=[],console.debug("OCA.Sharing.ExternalLinkActions initialized")}get state(){return this._state}registerAction(e){return OC.debug&&console.warn("OCA.Sharing.ExternalLinkActions is deprecated, use OCA.Sharing.ExternalShareAction instead"),"object"==typeof e&&e.icon&&e.name&&e.url?(this._state.actions.push(e),!0):(console.error("Invalid action provided",e),!1)}}}),Object.assign(window.OCA.Sharing,{ExternalShareActions:new class{constructor(){var e,t,r;e=this,r=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_state"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.actions=[],console.debug("OCA.Sharing.ExternalShareActions initialized")}get state(){return this._state}registerAction(e){return"object"==typeof e&&"string"==typeof e.id&&"function"==typeof e.data&&Array.isArray(e.shareType)&&"object"==typeof e.handlers&&Object.values(e.handlers).every((e=>"function"==typeof e))?this._state.actions.findIndex((t=>t.id===e.id))>-1?(console.error(`An action with the same id ${e.id} already exists`,e),!1):(this._state.actions.push(e),!0):(console.error("Invalid action provided",e),!1)}}}),Object.assign(window.OCA.Sharing,{ShareTabSections:new class{constructor(){var e,t,r;e=this,r=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_sections"))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._sections=[]}registerSection(e){this._sections.push(e)}getSections(){return this._sections}}}),i.Ay.prototype.t=o.t,i.Ay.prototype.n=o.n;let a=null;window.addEventListener("DOMContentLoaded",(function(){OCA.Files&&OCA.Files.Sidebar&&OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({id:"sharing",name:(0,o.t)("files_sharing","Sharing"),iconSvg:'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-share-variant" viewBox="0 0 24 24"><path d="M18,16.08C17.24,16.08 16.56,16.38 16.04,16.85L8.91,12.7C8.96,12.47 9,12.24 9,12C9,11.76 8.96,11.53 8.91,11.3L15.96,7.19C16.5,7.69 17.21,8 18,8A3,3 0 0,0 21,5A3,3 0 0,0 18,2A3,3 0 0,0 15,5C15,5.24 15.04,5.47 15.09,5.7L8.04,9.81C7.5,9.31 6.79,9 6,9A3,3 0 0,0 3,12A3,3 0 0,0 6,15C6.79,15 7.5,14.69 8.04,14.19L15.16,18.34C15.11,18.55 15.08,18.77 15.08,19C15.08,20.61 16.39,21.91 18,21.91C19.61,21.91 20.92,20.61 20.92,19A2.92,2.92 0 0,0 18,16.08Z" /></svg>',async mount(e,t,n){const o=(await Promise.all([r.e(4208),r.e(4833)]).then(r.bind(r,18919))).default,s=i.Ay.extend(o);a&&a.$destroy(),a=new s({parent:n}),await a.update(t),a.$mount(e)},update(e){a.update(e)},destroy(){a&&(a.$destroy(),a=null)}}))}))}},n={};function o(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={id:e,loaded:!1,exports:{}};return i[e].call(r.exports,r,r.exports,o),r.loaded=!0,r.exports}o.m=i,e=[],o.O=(t,r,i,n)=>{if(!r){var a=1/0;for(u=0;u<e.length;u++){r=e[u][0],i=e[u][1],n=e[u][2];for(var s=!0,c=0;c<r.length;c++)(!1&n||a>=n)&&Object.keys(o.O).every((e=>o.O[e](r[c])))?r.splice(c--,1):(s=!1,n<a&&(a=n));if(s){e.splice(u--,1);var l=i();void 0!==l&&(t=l)}}return t}n=n||0;for(var u=e.length;u>0&&e[u-1][2]>n;u--)e[u]=e[u-1];e[u]=[r,i,n]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((t,r)=>(o.f[r](e,t),t)),[])),o.u=e=>e+"-"+e+".js?v="+{640:"b2fa23a809053c6305c5",857:"e91c54a0a2f8bb5ed755",4833:"a8c2fa777429cbda11c4",5771:"a4e2a98efcfb7393c5bd",5810:"8dfb2392d7107957a510",7432:"126e4e5eedf7af9a92fc"}[e],o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},r="nextcloud:",o.l=(e,i,n,a)=>{if(t[e])t[e].push(i);else{var s,c;if(void 0!==n)for(var l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var d=l[u];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==r+n){s=d;break}}s||(c=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,o.nc&&s.setAttribute("nonce",o.nc),s.setAttribute("data-webpack",r+n),s.src=e),t[e]=[i];var f=(r,i)=>{s.onerror=s.onload=null,clearTimeout(p);var n=t[e];if(delete t[e],s.parentNode&&s.parentNode.removeChild(s),n&&n.forEach((e=>e(i))),r)return r(i)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=f.bind(null,s.onerror),s.onload=f.bind(null,s.onload),c&&document.head.appendChild(s)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o.j=4958,(()=>{var e;o.g.importScripts&&(e=o.g.location+"");var t=o.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var i=r.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=r[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e})(),(()=>{o.b=document.baseURI||self.location.href;var e={4958:0};o.f.j=(t,r)=>{var i=o.o(e,t)?e[t]:void 0;if(0!==i)if(i)r.push(i[2]);else{var n=new Promise(((r,n)=>i=e[t]=[r,n]));r.push(i[2]=n);var a=o.p+o.u(t),s=new Error;o.l(a,(r=>{if(o.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+n+": "+a+")",s.name="ChunkLoadError",s.type=n,s.request=a,i[1](s)}}),"chunk-"+t,t)}},o.O.j=t=>0===e[t];var t=(t,r)=>{var i,n,a=r[0],s=r[1],c=r[2],l=0;if(a.some((t=>0!==e[t]))){for(i in s)o.o(s,i)&&(o.m[i]=s[i]);if(c)var u=c(o)}for(t&&t(r);l<a.length;l++)n=a[l],o.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return o.O(u)},r=self.webpackChunknextcloud=self.webpackChunknextcloud||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),o.nc=void 0;var a=o.O(void 0,[4208],(()=>o(69196)));a=o.O(a)})();
+//# sourceMappingURL=files_sharing-files_sharing_tab.js.map?v=ac6606d62ea5d9f101d3 \ No newline at end of file
diff --git a/dist/files_sharing-files_sharing_tab.js.map b/dist/files_sharing-files_sharing_tab.js.map
index 9d4e512379d..0ca28aaaf85 100644
--- a/dist/files_sharing-files_sharing_tab.js.map
+++ b/dist/files_sharing-files_sharing_tab.js.map
@@ -1 +1 @@
-{"version":3,"file":"files_sharing-files_sharing_tab.js?v=7590745d696b7ed383b9","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/files_sharing/src/files_sharing_tab.js","webpack:///nextcloud/apps/files_sharing/src/services/ShareSearch.js","webpack:///nextcloud/apps/files_sharing/src/services/ExternalLinkActions.js","webpack:///nextcloud/apps/files_sharing/src/services/ExternalShareActions.js","webpack:///nextcloud/apps/files_sharing/src/services/TabSections.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport { getCSPNonce } from '@nextcloud/auth'\nimport { t, n } from '@nextcloud/l10n'\n\nimport ShareSearch from './services/ShareSearch.js'\nimport ExternalLinkActions from './services/ExternalLinkActions.js'\nimport ExternalShareActions from './services/ExternalShareActions.js'\nimport TabSections from './services/TabSections.js'\n\n// eslint-disable-next-line n/no-missing-import, import/no-unresolved\nimport ShareVariant from '@mdi/svg/svg/share-variant.svg?raw'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = getCSPNonce()\n\n// Init Sharing Tab Service\nif (!window.OCA.Sharing) {\n\twindow.OCA.Sharing = {}\n}\nObject.assign(window.OCA.Sharing, { ShareSearch: new ShareSearch() })\nObject.assign(window.OCA.Sharing, { ExternalLinkActions: new ExternalLinkActions() })\nObject.assign(window.OCA.Sharing, { ExternalShareActions: new ExternalShareActions() })\nObject.assign(window.OCA.Sharing, { ShareTabSections: new TabSections() })\n\nVue.prototype.t = t\nVue.prototype.n = n\n\n// Init Sharing tab component\nlet TabInstance = null\n\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (OCA.Files && OCA.Files.Sidebar) {\n\t\tOCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({\n\t\t\tid: 'sharing',\n\t\t\tname: t('files_sharing', 'Sharing'),\n\t\t\ticonSvg: ShareVariant,\n\n\t\t\tasync mount(el, fileInfo, context) {\n\t\t\t\tconst SharingTab = (await import('./views/SharingTab.vue')).default\n\t\t\t\tconst View = Vue.extend(SharingTab)\n\n\t\t\t\tif (TabInstance) {\n\t\t\t\t\tTabInstance.$destroy()\n\t\t\t\t}\n\t\t\t\tTabInstance = new View({\n\t\t\t\t\t// Better integration with vue parent component\n\t\t\t\t\tparent: context,\n\t\t\t\t})\n\t\t\t\t// Only mount after we have all the info we need\n\t\t\t\tawait TabInstance.update(fileInfo)\n\t\t\t\tTabInstance.$mount(el)\n\t\t\t},\n\n\t\t\tupdate(fileInfo) {\n\t\t\t\tTabInstance.update(fileInfo)\n\t\t\t},\n\n\t\t\tdestroy() {\n\t\t\t\tif (TabInstance) {\n\t\t\t\t\tTabInstance.$destroy()\n\t\t\t\t\tTabInstance = null\n\t\t\t\t}\n\t\t\t},\n\t\t}))\n\t}\n})\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class ShareSearch {\n\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.results = []\n\t\tconsole.debug('OCA.Sharing.ShareSearch initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ShareSearch\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new result\n\t * Mostly used by the guests app.\n\t * We should consider deprecation and add results via php ?\n\t *\n\t * @param {object} result entry to append\n\t * @param {string} [result.user] entry user\n\t * @param {string} result.displayName entry first line\n\t * @param {string} [result.desc] entry second line\n\t * @param {string} [result.icon] entry icon\n\t * @param {Function} result.handler function to run on entry selection\n\t * @param {Function} [result.condition] condition to add entry or not\n\t * @return {boolean}\n\t */\n\taddNewResult(result) {\n\t\tif (result.displayName.trim() !== ''\n\t\t\t&& typeof result.handler === 'function') {\n\t\t\tthis._state.results.push(result)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('Invalid search result provided', result)\n\t\treturn false\n\t}\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class ExternalLinkActions {\n\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.actions = []\n\t\tconsole.debug('OCA.Sharing.ExternalLinkActions initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ExternalLinkActions\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new action for the link share\n\t * Mostly used by the social sharing app.\n\t *\n\t * @param {object} action new action component to register\n\t * @return {boolean}\n\t */\n\tregisterAction(action) {\n\t\tOC.debug && console.warn('OCA.Sharing.ExternalLinkActions is deprecated, use OCA.Sharing.ExternalShareAction instead')\n\n\t\tif (typeof action === 'object' && action.icon && action.name && action.url) {\n\t\t\tthis._state.actions.push(action)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('Invalid action provided', action)\n\t\treturn false\n\t}\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class ExternalShareActions {\n\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.actions = []\n\t\tconsole.debug('OCA.Sharing.ExternalShareActions initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ExternalLinkActions\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * @typedef ExternalShareActionData\n\t * @property {import('vue').Component} is Vue component to render, for advanced actions the `async onSave` method of the component will be called when saved\n\t */\n\n\t/**\n\t * Register a new option/entry for the a given share type\n\t *\n\t * @param {object} action new action component to register\n\t * @param {string} action.id unique action id\n\t * @param {(data: any) => ExternalShareActionData & Record<string, unknown>} action.data data to bind the component to\n\t * @param {Array} action.shareType list of \\@nextcloud/sharing.Types.SHARE_XXX to be mounted on\n\t * @param {boolean} action.advanced `true` if the action entry should be rendered within advanced settings\n\t * @param {object} action.handlers list of listeners\n\t * @return {boolean}\n\t */\n\tregisterAction(action) {\n\t\t// Validate action\n\t\tif (typeof action !== 'object'\n\t\t\t|| typeof action.id !== 'string'\n\t\t\t|| typeof action.data !== 'function' // () => {disabled: true}\n\t\t\t|| !Array.isArray(action.shareType) // [\\@nextcloud/sharing.Types.Link, ...]\n\t\t\t|| typeof action.handlers !== 'object' // {click: () => {}, ...}\n\t\t\t|| !Object.values(action.handlers).every(handler => typeof handler === 'function')) {\n\t\t\tconsole.error('Invalid action provided', action)\n\t\t\treturn false\n\t\t}\n\n\t\t// Check duplicates\n\t\tconst hasDuplicate = this._state.actions.findIndex(check => check.id === action.id) > -1\n\t\tif (hasDuplicate) {\n\t\t\tconsole.error(`An action with the same id ${action.id} already exists`, action)\n\t\t\treturn false\n\t\t}\n\n\t\tthis._state.actions.push(action)\n\t\treturn true\n\t}\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class TabSections {\n\n\t_sections\n\n\tconstructor() {\n\t\tthis._sections = []\n\t}\n\n\t/**\n\t * @param {registerSectionCallback} section To be called to mount the section to the sharing sidebar\n\t */\n\tregisterSection(section) {\n\t\tthis._sections.push(section)\n\t}\n\n\tgetSections() {\n\t\treturn this._sections\n\t}\n\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"640\":\"b2fa23a809053c6305c5\",\"857\":\"e91c54a0a2f8bb5ed755\",\"5771\":\"a4e2a98efcfb7393c5bd\",\"5810\":\"8dfb2392d7107957a510\",\"7432\":\"126e4e5eedf7af9a92fc\",\"8708\":\"5d824d632209307d82c7\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 4958;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t4958: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(69196)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","__webpack_nonce__","getCSPNonce","window","OCA","Sharing","Object","assign","ShareSearch","constructor","this","_state","results","console","debug","state","addNewResult","result","displayName","trim","handler","push","error","ExternalLinkActions","actions","registerAction","action","OC","warn","icon","name","url","ExternalShareActions","id","data","Array","isArray","shareType","handlers","values","every","findIndex","check","ShareTabSections","_sections","registerSection","section","getSections","Vue","prototype","t","n","TabInstance","addEventListener","Files","Sidebar","registerTab","Tab","iconSvg","mount","el","fileInfo","context","SharingTab","default","View","extend","$destroy","parent","update","$mount","destroy","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","loaded","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","keys","key","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"file":"files_sharing-files_sharing_tab.js?v=ac6606d62ea5d9f101d3","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/files_sharing/src/files_sharing_tab.js","webpack:///nextcloud/apps/files_sharing/src/services/ShareSearch.js","webpack:///nextcloud/apps/files_sharing/src/services/ExternalLinkActions.js","webpack:///nextcloud/apps/files_sharing/src/services/ExternalShareActions.js","webpack:///nextcloud/apps/files_sharing/src/services/TabSections.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport { getCSPNonce } from '@nextcloud/auth'\nimport { t, n } from '@nextcloud/l10n'\n\nimport ShareSearch from './services/ShareSearch.js'\nimport ExternalLinkActions from './services/ExternalLinkActions.js'\nimport ExternalShareActions from './services/ExternalShareActions.js'\nimport TabSections from './services/TabSections.js'\n\n// eslint-disable-next-line n/no-missing-import, import/no-unresolved\nimport ShareVariant from '@mdi/svg/svg/share-variant.svg?raw'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = getCSPNonce()\n\n// Init Sharing Tab Service\nif (!window.OCA.Sharing) {\n\twindow.OCA.Sharing = {}\n}\nObject.assign(window.OCA.Sharing, { ShareSearch: new ShareSearch() })\nObject.assign(window.OCA.Sharing, { ExternalLinkActions: new ExternalLinkActions() })\nObject.assign(window.OCA.Sharing, { ExternalShareActions: new ExternalShareActions() })\nObject.assign(window.OCA.Sharing, { ShareTabSections: new TabSections() })\n\nVue.prototype.t = t\nVue.prototype.n = n\n\n// Init Sharing tab component\nlet TabInstance = null\n\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (OCA.Files && OCA.Files.Sidebar) {\n\t\tOCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({\n\t\t\tid: 'sharing',\n\t\t\tname: t('files_sharing', 'Sharing'),\n\t\t\ticonSvg: ShareVariant,\n\n\t\t\tasync mount(el, fileInfo, context) {\n\t\t\t\tconst SharingTab = (await import('./views/SharingTab.vue')).default\n\t\t\t\tconst View = Vue.extend(SharingTab)\n\n\t\t\t\tif (TabInstance) {\n\t\t\t\t\tTabInstance.$destroy()\n\t\t\t\t}\n\t\t\t\tTabInstance = new View({\n\t\t\t\t\t// Better integration with vue parent component\n\t\t\t\t\tparent: context,\n\t\t\t\t})\n\t\t\t\t// Only mount after we have all the info we need\n\t\t\t\tawait TabInstance.update(fileInfo)\n\t\t\t\tTabInstance.$mount(el)\n\t\t\t},\n\n\t\t\tupdate(fileInfo) {\n\t\t\t\tTabInstance.update(fileInfo)\n\t\t\t},\n\n\t\t\tdestroy() {\n\t\t\t\tif (TabInstance) {\n\t\t\t\t\tTabInstance.$destroy()\n\t\t\t\t\tTabInstance = null\n\t\t\t\t}\n\t\t\t},\n\t\t}))\n\t}\n})\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class ShareSearch {\n\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.results = []\n\t\tconsole.debug('OCA.Sharing.ShareSearch initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ShareSearch\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new result\n\t * Mostly used by the guests app.\n\t * We should consider deprecation and add results via php ?\n\t *\n\t * @param {object} result entry to append\n\t * @param {string} [result.user] entry user\n\t * @param {string} result.displayName entry first line\n\t * @param {string} [result.desc] entry second line\n\t * @param {string} [result.icon] entry icon\n\t * @param {Function} result.handler function to run on entry selection\n\t * @param {Function} [result.condition] condition to add entry or not\n\t * @return {boolean}\n\t */\n\taddNewResult(result) {\n\t\tif (result.displayName.trim() !== ''\n\t\t\t&& typeof result.handler === 'function') {\n\t\t\tthis._state.results.push(result)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('Invalid search result provided', result)\n\t\treturn false\n\t}\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class ExternalLinkActions {\n\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.actions = []\n\t\tconsole.debug('OCA.Sharing.ExternalLinkActions initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ExternalLinkActions\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new action for the link share\n\t * Mostly used by the social sharing app.\n\t *\n\t * @param {object} action new action component to register\n\t * @return {boolean}\n\t */\n\tregisterAction(action) {\n\t\tOC.debug && console.warn('OCA.Sharing.ExternalLinkActions is deprecated, use OCA.Sharing.ExternalShareAction instead')\n\n\t\tif (typeof action === 'object' && action.icon && action.name && action.url) {\n\t\t\tthis._state.actions.push(action)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('Invalid action provided', action)\n\t\treturn false\n\t}\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class ExternalShareActions {\n\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.actions = []\n\t\tconsole.debug('OCA.Sharing.ExternalShareActions initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ExternalLinkActions\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * @typedef ExternalShareActionData\n\t * @property {import('vue').Component} is Vue component to render, for advanced actions the `async onSave` method of the component will be called when saved\n\t */\n\n\t/**\n\t * Register a new option/entry for the a given share type\n\t *\n\t * @param {object} action new action component to register\n\t * @param {string} action.id unique action id\n\t * @param {(data: any) => ExternalShareActionData & Record<string, unknown>} action.data data to bind the component to\n\t * @param {Array} action.shareType list of \\@nextcloud/sharing.Types.SHARE_XXX to be mounted on\n\t * @param {boolean} action.advanced `true` if the action entry should be rendered within advanced settings\n\t * @param {object} action.handlers list of listeners\n\t * @return {boolean}\n\t */\n\tregisterAction(action) {\n\t\t// Validate action\n\t\tif (typeof action !== 'object'\n\t\t\t|| typeof action.id !== 'string'\n\t\t\t|| typeof action.data !== 'function' // () => {disabled: true}\n\t\t\t|| !Array.isArray(action.shareType) // [\\@nextcloud/sharing.Types.Link, ...]\n\t\t\t|| typeof action.handlers !== 'object' // {click: () => {}, ...}\n\t\t\t|| !Object.values(action.handlers).every(handler => typeof handler === 'function')) {\n\t\t\tconsole.error('Invalid action provided', action)\n\t\t\treturn false\n\t\t}\n\n\t\t// Check duplicates\n\t\tconst hasDuplicate = this._state.actions.findIndex(check => check.id === action.id) > -1\n\t\tif (hasDuplicate) {\n\t\t\tconsole.error(`An action with the same id ${action.id} already exists`, action)\n\t\t\treturn false\n\t\t}\n\n\t\tthis._state.actions.push(action)\n\t\treturn true\n\t}\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class TabSections {\n\n\t_sections\n\n\tconstructor() {\n\t\tthis._sections = []\n\t}\n\n\t/**\n\t * @param {registerSectionCallback} section To be called to mount the section to the sharing sidebar\n\t */\n\tregisterSection(section) {\n\t\tthis._sections.push(section)\n\t}\n\n\tgetSections() {\n\t\treturn this._sections\n\t}\n\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"640\":\"b2fa23a809053c6305c5\",\"857\":\"e91c54a0a2f8bb5ed755\",\"4833\":\"a8c2fa777429cbda11c4\",\"5771\":\"a4e2a98efcfb7393c5bd\",\"5810\":\"8dfb2392d7107957a510\",\"7432\":\"126e4e5eedf7af9a92fc\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 4958;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t4958: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(69196)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","__webpack_nonce__","getCSPNonce","window","OCA","Sharing","Object","assign","ShareSearch","constructor","this","_state","results","console","debug","state","addNewResult","result","displayName","trim","handler","push","error","ExternalLinkActions","actions","registerAction","action","OC","warn","icon","name","url","ExternalShareActions","id","data","Array","isArray","shareType","handlers","values","every","findIndex","check","ShareTabSections","_sections","registerSection","section","getSections","Vue","prototype","t","n","TabInstance","addEventListener","Files","Sidebar","registerTab","Tab","iconSvg","mount","el","fileInfo","context","SharingTab","default","View","extend","$destroy","parent","update","$mount","destroy","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","loaded","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","keys","key","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file
diff --git a/lib/l10n/hu.js b/lib/l10n/hu.js
index a4d342fb56f..21d0f6b986f 100644
--- a/lib/l10n/hu.js
+++ b/lib/l10n/hu.js
@@ -77,6 +77,8 @@ OC.L10N.register(
"Empty file" : "Üres fájl",
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "A(z) %s azonosítójú modul nem létezik. Engedélyezze az alkalmazásbeállításokban, vagy lépjen kapcsolatba a rendszergazdával.",
"Dot files are not allowed" : "A ponttal kezdődő fájlok nem engedélyezettek",
+ "%1$s (renamed)" : "%1$s (átnevezve)",
+ "renamed file" : "átnevezett fájl",
"Filenames must not end with \"%1$s\"." : "Fájlnév nem végződhet így: „%1$s”.",
"File already exists" : "A fájl már létezik",
"Invalid path" : "Érvénytelen útvonal",
diff --git a/lib/l10n/hu.json b/lib/l10n/hu.json
index 54c0297d8e9..e40d8174716 100644
--- a/lib/l10n/hu.json
+++ b/lib/l10n/hu.json
@@ -75,6 +75,8 @@
"Empty file" : "Üres fájl",
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "A(z) %s azonosítójú modul nem létezik. Engedélyezze az alkalmazásbeállításokban, vagy lépjen kapcsolatba a rendszergazdával.",
"Dot files are not allowed" : "A ponttal kezdődő fájlok nem engedélyezettek",
+ "%1$s (renamed)" : "%1$s (átnevezve)",
+ "renamed file" : "átnevezett fájl",
"Filenames must not end with \"%1$s\"." : "Fájlnév nem végződhet így: „%1$s”.",
"File already exists" : "A fájl már létezik",
"Invalid path" : "Érvénytelen útvonal",
diff --git a/lib/l10n/pl.js b/lib/l10n/pl.js
index 4b551782476..884ae246664 100644
--- a/lib/l10n/pl.js
+++ b/lib/l10n/pl.js
@@ -38,6 +38,7 @@ OC.L10N.register(
"Server version %s or higher is required." : "Wymagana jest wersja serwera %s lub wyższa.",
"Server version %s or lower is required." : "Wymagana jest wersja serwera %s lub niższa.",
"Logged in account must be an admin, a sub admin or gotten special right to access this setting" : "Zalogowane konto musi być administratorem, subadministratorem lub posiadać specjalne uprawnienia, aby uzyskać dostęp do tego ustawienia",
+ "Your current IP address doesn't allow you to perform admin actions" : "Twój obecny adres IP nie pozwala na wykonywanie działań administracyjnych",
"Logged in account must be an admin or sub admin" : "Zalogowane konto musi być administratorem lub subadministratorem",
"Logged in account must be an admin" : "Zalogowane konto musi być administratorem",
"Wiping of device %s has started" : "Rozpoczęto czyszczenie urządzenia %s",
@@ -58,7 +59,11 @@ OC.L10N.register(
"Avatar image is not square" : "Obraz awatara nie jest kwadratowy",
"Files" : "Pliki",
"View profile" : "Zobacz profil",
+ "same time" : "jednocześnie",
"_%nh_::_%nh_" : ["%nh","%nh","%nh","%ngodz."],
+ "_%nm_::_%nm_" : ["%nmin","%nmin","%nmin","%nmin"],
+ "%s ahead" : "o %s wcześniej",
+ "%s behind" : "o %s później",
"Local time: %s" : "Czas lokalny: %s",
"today" : "dzisiaj",
"tomorrow" : "jutro",
@@ -81,14 +86,32 @@ OC.L10N.register(
"seconds ago" : "przed chwilą",
"Empty file" : "Pusty plik",
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Moduł o ID: %s nie istnieje. Włącz go w ustawieniach aplikacji lub skontaktuj się z administratorem.",
+ "No file conversion providers available" : "Brak dostępnych usług konwersji plików.",
+ "File is too large to convert" : "Plik jest zbyt duży, aby go przekonwertować.",
+ "Destination does not match conversion extension" : "Docelowy format nie odpowiada rozszerzeniu konwersji",
+ "Could not convert file" : "Nie można przekonwertować pliku",
+ "Destination does not exist" : "Folder docelowy nie istnieje",
+ "Destination is not creatable" : "Nie można utworzyć folderu docelowego",
"Dot files are not allowed" : "Pliki z kropką są niedozwolone",
"%1$s (renamed)" : "%1$s (zmieniona nazwa)",
"renamed file" : "zmieniona nazwa pliku",
+ "\"%1$s\" is a forbidden file or folder name." : "\"%1$s\" jest zabronioną nazwą pliku lub folderu.",
+ "\"%1$s\" is a forbidden prefix for file or folder names." : "\"%1$s\" jest zabronionym przedrostkiem dla nazw plików lub folderów.",
+ "\"%1$s\" is not allowed inside a file or folder name." : "\"%1$s\" nie jest dozwolone w nazwie pliku ani folderu.",
+ "\"%1$s\" is a forbidden file type." : "\"%1$s\" jest zabronionym typem pliku.",
+ "Filenames must not end with \"%1$s\"." : "Nazwa pliku nie może być zakończona znakiem \"%1$s\"",
"Invalid parent path" : "Nieprawidłowa ścieżka nadrzędna",
"File already exists" : "Plik już istnieje",
"Invalid path" : "Niewłaściwa ścieżka",
"Failed to create file from template" : "Nie udało się utworzyć pliku z szablonu",
"Templates" : "Szablony",
+ "Storage %s cannot be moved" : "Magazynu %s nie można przenieść",
+ "Moving a share (%s) into a shared folder is not allowed" : "Przenoszenie udziału (%s) do folderu współdzielonego jest niedozwolone",
+ "Moving a storage (%s) into a shared folder is not allowed" : "Przenoszenie magazynu (%s) do folderu współdzielonego jest niedozwolone",
+ "Moving a share (%s) into another share (%s) is not allowed" : "Przenoszenie udziału (%s) do innego udziału (%s) jest niedozwolone",
+ "Moving a share (%s) into another storage (%s) is not allowed" : "Przenoszenie udziału (%s) do innego magazynu (%s) jest niedozwolone",
+ "Moving a storage (%s) into a share (%s) is not allowed" : "Przenoszenie magazynu (%s) do udziału (%s) jest niedozwolone",
+ "Moving a storage (%s) into another storage (%s) is not allowed" : "Przenoszenie magazynu (%s) do innego magazynu (%s) jest niedozwolone",
"Path contains invalid segments" : "Ścieżka zawiera nieprawidłowe segmenty",
"Filename is a reserved word" : "Nazwa pliku jest słowem zastrzeżonym",
"Filename contains at least one invalid character" : "Nazwa pliku zawiera co najmniej jeden nieprawidłowy znak",
@@ -130,8 +153,12 @@ OC.L10N.register(
"Enter the database Login for %s" : "Wpisz logowanie do bazy danych dla %s",
"Enter the database name for %s" : "Podaj nazwę bazy danych dla %s",
"You cannot use dots in the database name %s" : "Nie można używać kropek w nazwie bazy danych %s",
+ "MySQL Login and/or password not valid" : "Nieprawidłowy login i/lub hasło do MySQL",
"You need to enter details of an existing account." : "Musisz wprowadzić szczegółowe dane dla istniejącego konta.",
"Oracle connection could not be established" : "Nie można nawiązać połączenia z bazą danych Oracle",
+ "Oracle Login and/or password not valid" : "Nieprawidłowy login i/lub hasło do Oracle",
+ "PostgreSQL Login and/or password not valid" : "Nieprawidłowy login i/lub hasło do PostgreSQL",
+ "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk!" : "Mac OS X nie jest obsługiwany i %s może nie działać poprawnie na tej platformie. Używasz na własne ryzyko!",
"For the best results, please consider using a GNU/Linux server instead." : "Aby uzyskać najlepszy efekt, rozważ użycie serwera GNU/Linux.",
"It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Wydaje się, że ta instancja %s używa PHP dla 32-bitowego środowiska, ponieważ open_basedir został tak skonfigurowany w php.ini. Doprowadzi to do problemów z plikami powyżej 4 GB i jest bardzo niezalecane.",
"Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Usuń ustawienie open_basedir w php.ini lub przełącz na PHP 64-bitowe.",
@@ -154,12 +181,14 @@ OC.L10N.register(
"Share recipient should not be empty" : "Odbiorca udostępnienia nie powinien być pusty",
"Share recipient is not a valid circle" : "Odbiorca udostępnienia nie jest prawidłowym kręgiem",
"Unknown share type" : "Nieznany typ udostępnienia",
+ "Share initiator must be set" : "Należy ustawić inicjatora współdzielenia",
"Cannot share with yourself" : "Nie można dzielić się ze sobą",
"Shared path must be set" : "Należy ustawić ścieżkę współdzieloną",
"Shared path must be either a file or a folder" : "Udostępniona ścieżka musi być plikiem lub katalogiem",
"You cannot share your root folder" : "Nie możesz udostępnić swojego katalogu głównego root",
"You are not allowed to share %s" : "Nie możesz udostępnić %s",
"Valid permissions are required for sharing" : "Do udostępniania wymagane są ważne uprawnienia",
+ "File shares cannot have create or delete permissions" : "Udostępnione pliki nie mogą mieć uprawnień do tworzenia ani usuwania",
"Cannot increase permissions of %s" : "Nie można zwiększyć uprawnień %s",
"Shares need at least read permissions" : "Udostępnianie wymaga co najmniej uprawnień do odczytu",
"Files cannot be shared with delete permissions" : "Pliki nie mogą zostać udostępnione z prawem do usuwania",
@@ -168,18 +197,26 @@ OC.L10N.register(
"Expiration date is enforced" : "Obowiązuje data ważności",
"_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["Nie można utworzyć daty wygaśnięcia na %n dzień do przodu","Nie można utworzyć daty wygaśnięcia na %n dni do przodu","Nie można utworzyć daty wygaśnięcia na %n dni do przodu","Nie można utworzyć daty wygaśnięcia na %n dni do przodu"],
"Sharing is only allowed with group members" : "Udostępnianie jest dozwolone tylko członkom grupy",
+ "Sharing %s failed, because this item is already shared with the account %s" : "Udostępnianie %s nie powiodło się, ponieważ ten element jest już współdzielony z kontem %s",
"Group sharing is now allowed" : "Udostępnianie grupowe jest teraz dozwolone",
"Sharing is only allowed within your own groups" : "Udostępnianie jest dozwolone wyłącznie w obrębie własnych grup",
"Path is already shared with this group" : "Ścieżka jest już udostępniona tej grupie",
"Link sharing is not allowed" : "Udostępnianie odnośników jest niedozwolone",
"Public upload is not allowed" : "Przesyłanie publiczne nie jest dozwolone",
+ "You cannot share a folder that contains other shares" : "Nie można udostępnić folderu zawierającego inne udostępnienia",
"Sharing is disabled" : "Udostępnianie jest wyłączone",
"Sharing is disabled for you" : "Udostępnianie jest dla Ciebie wyłączone",
"Cannot share with the share owner" : "Nie można udostępnić właścicielowi udziału",
"Share does not have a full ID" : "Udział nie ma pełnego identyfikatora",
"Cannot change share type" : "Nie można zmienić typu udziału",
"Can only update recipient on user shares" : "Może aktualizować odbiorców tylko w przypadku udziałów użytkownika",
+ "Cannot enable sending the password by Talk with an empty password" : "Nie można włączyć wysyłania hasła przez Talk przy pustym haśle",
+ "Cannot enable sending the password by Talk without setting a new password" : "Nie można włączyć wysyłania hasła przez Talk bez ustawienia nowego hasła",
+ "Cannot disable sending the password by Talk without setting a new password" : "Nie można wyłączyć wysyłania hasła przez Talk bez ustawienia nowego hasła",
+ "Share provider does not support accepting" : "Dostawca współdzielenia nie obsługuje przyjmowania",
+ "Cannot change target of link share" : "Nie można zmienić celu współdzielonego linku",
"Invalid share recipient" : "Nieprawidłowy odbiorca udostępnienia",
+ "Group \"%s\" does not exist" : "Grupa \"%s\" nie istnieje",
"The requested share does not exist anymore" : "Żądane udostępnienie już nie istnieje",
"The requested share comes from a disabled user" : "Żądane udostępnienie pochodzi od wyłączonego użytkownika",
"The user was not created because the user limit has been reached. Check your notifications to learn more." : "Użytkownik nie został utworzony, ponieważ osiągnięto limit użytkowników. Sprawdź swoje powiadomienia, aby dowiedzieć się więcej.",
@@ -238,6 +275,7 @@ OC.L10N.register(
"A valid Login must be provided" : "Należy podać poprawny login",
"Login contains whitespace at the beginning or at the end" : "Login zawiera spacje na początku lub na końcu",
"Login must not consist of dots only" : "Login nie może składać się wyłącznie z kropek",
+ "Username is too long" : "Nazwa użytkownika jest zbyt długa",
"Login is invalid because files already exist for this user" : "Login jest nieprawidłowy, ponieważ dla tego użytkownika istnieją już pliki",
"Account disabled" : "Konto wyłączone",
"Login canceled by app" : "Logowanie anulowane przez aplikację",
@@ -275,6 +313,7 @@ OC.L10N.register(
"Your data directory must be an absolute path." : "Katalog danych musi mieć ścieżkę absolutną.",
"Check the value of \"datadirectory\" in your configuration." : "Sprawdź wartość \"datadirectory\" w swojej konfiguracji.",
"Your data directory is invalid." : "Katalog danych jest nieprawidłowy.",
+ "Ensure there is a file called \"%1$s\" in the root of the data directory. It should have the content: \"%2$s\"" : "Upewnij się, że w katalogu głównym danych znajduje się plik o nazwie \"%1$s\". Powinien on zawierać: \"%2$s\"",
"Action \"%s\" not supported or implemented." : "Akcja \"%s\" jest niewspierana lub niezaimplementowana.",
"Authentication failed, wrong token or provider ID given" : "Uwierzytelnienie nie powiodło się, podano nieprawidłowy token lub ID dostawcy",
"Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Brak parametrów w celu uzupełnienia żądania. Brakujące parametry: \"%s\"",
@@ -286,34 +325,114 @@ OC.L10N.register(
"Storage connection error. %s" : "Błąd połączenia z magazynem. %s",
"Storage is temporarily not available" : "Magazyn jest tymczasowo niedostępny",
"Storage connection timeout. %s" : "Limit czasu połączenia do magazynu. %s",
+ "To allow this check to run you have to make sure that your Web server can connect to itself. Therefore it must be able to resolve and connect to at least one of its `trusted_domains` or the `overwrite.cli.url`. This failure may be the result of a server-side DNS mismatch or outbound firewall rule." : "Aby umożliwić wykonanie tego sprawdzenia, upewnij się, że serwer WWW może połączyć się sam ze sobą. Musi on być w stanie rozpoznać i połączyć się przynajmniej z jedną z wartości 'trusted_domains' lub 'overwrite.cli.url'. Błąd ten może być wynikiem niezgodności DNS po stronie serwera lub reguły zapory sieciowej wychodzącej.",
"Transcribe audio" : "Transkrypcja dźwięku",
"Transcribe the things said in an audio" : "Transkrypcja wypowiedzi w formie audio",
"Audio input" : "Wejście dźwięku",
"The audio to transcribe" : "Dźwięk do transkrypcji",
"Transcription" : "Transkrypcja",
"The transcribed text" : "Tekst transkrypcji",
+ "Chat with an agent" : "Czat z agentem",
+ "Chat message" : "Wiadomość czatu",
+ "A chat message to send to the agent." : "Wiadomość czatu do wysłania do agenta.",
"Confirmation" : "Potwierdzenie",
+ "Whether to confirm previously requested actions: 0 for denial and 1 for confirmation." : "Czy potwierdzić wcześniej żądane działania: 0 — odmowa, 1 — potwierdzenie.",
+ "Conversation token" : "Token konwersacji",
+ "A token representing the conversation." : "Token reprezentujący konwersację.",
"Generated response" : "Wygenerowana odpowiedź",
+ "The response from the chat model." : "Odpowiedź z modelu czatu.",
+ "The new conversation token" : "Nowy token konwersacji",
+ "Send this along with the next interaction." : "Wyślij to razem z następną interakcją.",
+ "Requested actions by the agent" : "Żądane działania agenta",
+ "Actions that the agent would like to carry out in JSON format." : "Działania, które agent chciałby wykonać w formacie JSON.",
+ "Context write" : "Zapis kontekstu",
+ "Writes text in a given style based on the provided source material." : "Tworzy tekst w określonym stylu na podstawie dostarczonego materiału źródłowego.",
"Writing style" : "Styl pisania",
+ "Demonstrate a writing style that you would like to immitate" : "Zaprezentuj styl pisania, który chciałbyś naśladować",
"Source material" : "Materiał źródłowy",
+ "The content that would like to be rewritten in the new writing style" : "Treść, która ma zostać przepisana w nowym stylu pisania",
+ "Generated text" : "Wygenerowany tekst",
+ "The generated text with content from the source material in the given style" : "Wygenerowany tekst z treścią z materiału źródłowego w określonym stylu",
+ "Emoji generator" : "Generator emoji",
+ "Takes text and generates a representative emoji for it." : "Przyjmuje tekst i generuje pasującą emoji.",
+ "The text to generate an emoji for" : "Tekst, dla którego ma zostać wygenerowana emoji",
+ "Generated emoji" : "Wygenerowane emoji",
+ "The generated emoji based on the input text" : "Wygenerowana emoji na podstawie wprowadzonego tekstu",
+ "Generate image" : "Generuj obraz",
+ "Generate an image from a text prompt" : "Wygeneruj obraz z opisu tekstowego",
+ "Prompt" : "Polecenie",
"Describe the image you want to generate" : "Opisz obraz, który chcesz wygenerować",
"Number of images" : "Liczba obrazów",
"How many images to generate" : "Ile obrazów wygenerować",
"Output images" : "Obrazy wyjściowe",
"The generated images" : "Wygenerowane obrazy",
+ "Generate speech" : "Generuj mowę",
+ "Generate speech from a transcript" : "Wygeneruj mowę z transkryptu",
+ "Write transcript that you want the assistant to generate speech from" : "Napisz transkrypt, na podstawie którego asystent ma wygenerować mowę",
+ "Output speech" : "Wygenerowana mowa",
+ "The generated speech" : "Wygenerowana mowa",
+ "Free text to text prompt" : "Dowolny tekst jako polecenie wejściowe",
+ "Runs an arbitrary prompt through a language model that returns a reply" : "Przetwarza dowolne polecenie za pomocą modelu językowego, który zwraca odpowiedź",
+ "Describe a task that you want the assistant to do or ask a question" : "Opisz zadanie, które ma wykonać asystent, lub zadaj pytanie",
+ "Generated reply" : "Wygenerowana odpowiedź",
+ "The generated text from the assistant" : "Wygenerowany tekst od asystenta",
"Change Tone" : "Zmień ton wypowiedzi",
+ "Change the tone of a piece of text." : "Zmień ton fragmentu tekstu",
"Write a text that you want the assistant to rewrite in another tone." : "Napisz tekst, który chcesz, aby asystent napisał inaczej.",
"Desired tone" : "Pożądany ton wypowiedzi",
"In which tone should your text be rewritten?" : "W jakim tonie powinien zostać napisany Twój tekst?",
"The rewritten text in the desired tone, written by the assistant:" : "Przepisany tekst w pożądanym tonie, napisany przez asystenta:",
"Chat" : "Rozmowa",
+ "Chat with the assistant" : "Czat z asystentem",
+ "System prompt" : "Polecenie systemowe",
+ "Define rules and assumptions that the assistant should follow during the conversation." : "Określ zasady i założenia, których asystent powinien przestrzegać podczas rozmowy",
"Chat history" : "Historia rozmów",
+ "The history of chat messages before the current message, starting with a message by the user" : "Historia wiadomości czatu przed bieżącą wiadomością, zaczynając od wiadomości użytkownika",
+ "Response message" : "Wiadomość odpowiedzi",
+ "The generated response as part of the conversation" : "Wygenerowana odpowiedź jako część rozmowy",
+ "Chat with tools" : "Czat z użyciem narzędzi",
+ "Chat with the language model with tool calling support." : "Czat z modelem językowym z obsługą wywoływania narzędzi",
+ "Tool message" : "Wiadomość narzędzia",
+ "The result of tool calls in the last interaction" : "Wynik wywołań narzędzi w ostatniej interakcji",
+ "Available tools" : "Dostępne narzędzia",
+ "The available tools in JSON format" : "Dostępne narzędzia w formacie JSON",
+ "The response from the chat model" : "Odpowiedź z modelu czatu",
+ "Tool calls" : "Wywołania narzędzi",
+ "Tools call instructions from the model in JSON format" : "Instrukcje wywołań narzędzi z modelu w formacie JSON",
+ "Formalize text" : "Sformalizuj tekst",
+ "Takes a text and makes it sound more formal" : "Pobiera tekst i sprawia, że brzmi bardziej formalnie",
+ "Write a text that you want the assistant to formalize" : "Napisz tekst, który chcesz, aby asystent sformalizował",
+ "Formalized text" : "Sformalizowany tekst",
+ "The formalized text" : "Sformalizowany tekst",
+ "Generate a headline" : "Wygeneruj nagłówek",
"Generates a possible headline for a text." : "Generuje możliwy nagłówek tekstu.",
"Original text" : "Tekst oryginalny",
+ "The original text to generate a headline for" : "Oryginalny tekst, do którego ma zostać wygenerowany nagłówek",
+ "The generated headline" : "Wygenerowany nagłówek",
+ "Proofread" : "Korekta",
+ "Proofreads a text and lists corrections" : "Sprawdza tekst i podaje poprawki",
"Text" : "Tekst",
+ "The text to proofread" : "Tekst do korekty",
+ "Corrections" : "Poprawki",
+ "The corrections that should be made in your text" : "Poprawki, które należy wprowadzić w Twoim tekście",
+ "Reformulate text" : "Przekształć tekst",
+ "Takes a text and reformulates it" : "Pobiera tekst i przekształca go",
+ "Write a text that you want the assistant to reformulate" : "Napisz tekst, który chcesz, aby asystent przekształcił",
+ "Reformulated text" : "Przekształcony tekst",
+ "The reformulated text, written by the assistant" : "Przekształcony tekst napisany przez asystenta",
+ "Simplify text" : "Uprość tekst",
+ "Takes a text and simplifies it" : "Pobiera tekst i upraszcza go",
+ "Write a text that you want the assistant to simplify" : "Napisz tekst, który chcesz, aby asystent uprościł",
+ "Simplified text" : "Uproszczony tekst",
+ "The simplified text" : "Uproszczony tekst",
"Summarize" : "Podsumuj",
+ "Summarizes a text" : "Tworzy podsumowanie tekstu",
+ "The original text to summarize" : "Oryginalny tekst do podsumowania",
"Summary" : "Podsumowanie",
+ "The generated summary" : "Wygenerowane podsumowanie",
"Extract topics" : "Wyodrębnij tematy",
+ "Extracts topics from a text and outputs them separated by commas" : "Wydobywa tematy z tekstu i zwraca je oddzielone przecinkami",
+ "The original text to extract topics from" : "Oryginalny tekst, z którego mają zostać wydobyte tematy",
"Topics" : "Tematy",
"The list of extracted topics" : "Lista wyodrębnionych tematów",
"Translate" : "Tłumaczenie",
@@ -332,6 +451,7 @@ OC.L10N.register(
"Summarizes text by reducing its length without losing key information." : "Podsumowuje tekst, zmniejszając jego długość bez utraty kluczowych informacji.",
"Extracts topics from a text and outputs them separated by commas." : "Wyodrębnia tematy z tekstu i wyświetla je oddzielone przecinkami.",
"File is currently busy, please try again later" : "Plik jest obecnie niedostępny, spróbuj później",
- "Cannot download file" : "Nie można pobrać pliku"
+ "Cannot download file" : "Nie można pobrać pliku",
+ "Login is too long" : "Login jest zbyt długi"
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/lib/l10n/pl.json b/lib/l10n/pl.json
index ee8cd672e0e..cfdcc25a3a3 100644
--- a/lib/l10n/pl.json
+++ b/lib/l10n/pl.json
@@ -36,6 +36,7 @@
"Server version %s or higher is required." : "Wymagana jest wersja serwera %s lub wyższa.",
"Server version %s or lower is required." : "Wymagana jest wersja serwera %s lub niższa.",
"Logged in account must be an admin, a sub admin or gotten special right to access this setting" : "Zalogowane konto musi być administratorem, subadministratorem lub posiadać specjalne uprawnienia, aby uzyskać dostęp do tego ustawienia",
+ "Your current IP address doesn't allow you to perform admin actions" : "Twój obecny adres IP nie pozwala na wykonywanie działań administracyjnych",
"Logged in account must be an admin or sub admin" : "Zalogowane konto musi być administratorem lub subadministratorem",
"Logged in account must be an admin" : "Zalogowane konto musi być administratorem",
"Wiping of device %s has started" : "Rozpoczęto czyszczenie urządzenia %s",
@@ -56,7 +57,11 @@
"Avatar image is not square" : "Obraz awatara nie jest kwadratowy",
"Files" : "Pliki",
"View profile" : "Zobacz profil",
+ "same time" : "jednocześnie",
"_%nh_::_%nh_" : ["%nh","%nh","%nh","%ngodz."],
+ "_%nm_::_%nm_" : ["%nmin","%nmin","%nmin","%nmin"],
+ "%s ahead" : "o %s wcześniej",
+ "%s behind" : "o %s później",
"Local time: %s" : "Czas lokalny: %s",
"today" : "dzisiaj",
"tomorrow" : "jutro",
@@ -79,14 +84,32 @@
"seconds ago" : "przed chwilą",
"Empty file" : "Pusty plik",
"Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Moduł o ID: %s nie istnieje. Włącz go w ustawieniach aplikacji lub skontaktuj się z administratorem.",
+ "No file conversion providers available" : "Brak dostępnych usług konwersji plików.",
+ "File is too large to convert" : "Plik jest zbyt duży, aby go przekonwertować.",
+ "Destination does not match conversion extension" : "Docelowy format nie odpowiada rozszerzeniu konwersji",
+ "Could not convert file" : "Nie można przekonwertować pliku",
+ "Destination does not exist" : "Folder docelowy nie istnieje",
+ "Destination is not creatable" : "Nie można utworzyć folderu docelowego",
"Dot files are not allowed" : "Pliki z kropką są niedozwolone",
"%1$s (renamed)" : "%1$s (zmieniona nazwa)",
"renamed file" : "zmieniona nazwa pliku",
+ "\"%1$s\" is a forbidden file or folder name." : "\"%1$s\" jest zabronioną nazwą pliku lub folderu.",
+ "\"%1$s\" is a forbidden prefix for file or folder names." : "\"%1$s\" jest zabronionym przedrostkiem dla nazw plików lub folderów.",
+ "\"%1$s\" is not allowed inside a file or folder name." : "\"%1$s\" nie jest dozwolone w nazwie pliku ani folderu.",
+ "\"%1$s\" is a forbidden file type." : "\"%1$s\" jest zabronionym typem pliku.",
+ "Filenames must not end with \"%1$s\"." : "Nazwa pliku nie może być zakończona znakiem \"%1$s\"",
"Invalid parent path" : "Nieprawidłowa ścieżka nadrzędna",
"File already exists" : "Plik już istnieje",
"Invalid path" : "Niewłaściwa ścieżka",
"Failed to create file from template" : "Nie udało się utworzyć pliku z szablonu",
"Templates" : "Szablony",
+ "Storage %s cannot be moved" : "Magazynu %s nie można przenieść",
+ "Moving a share (%s) into a shared folder is not allowed" : "Przenoszenie udziału (%s) do folderu współdzielonego jest niedozwolone",
+ "Moving a storage (%s) into a shared folder is not allowed" : "Przenoszenie magazynu (%s) do folderu współdzielonego jest niedozwolone",
+ "Moving a share (%s) into another share (%s) is not allowed" : "Przenoszenie udziału (%s) do innego udziału (%s) jest niedozwolone",
+ "Moving a share (%s) into another storage (%s) is not allowed" : "Przenoszenie udziału (%s) do innego magazynu (%s) jest niedozwolone",
+ "Moving a storage (%s) into a share (%s) is not allowed" : "Przenoszenie magazynu (%s) do udziału (%s) jest niedozwolone",
+ "Moving a storage (%s) into another storage (%s) is not allowed" : "Przenoszenie magazynu (%s) do innego magazynu (%s) jest niedozwolone",
"Path contains invalid segments" : "Ścieżka zawiera nieprawidłowe segmenty",
"Filename is a reserved word" : "Nazwa pliku jest słowem zastrzeżonym",
"Filename contains at least one invalid character" : "Nazwa pliku zawiera co najmniej jeden nieprawidłowy znak",
@@ -128,8 +151,12 @@
"Enter the database Login for %s" : "Wpisz logowanie do bazy danych dla %s",
"Enter the database name for %s" : "Podaj nazwę bazy danych dla %s",
"You cannot use dots in the database name %s" : "Nie można używać kropek w nazwie bazy danych %s",
+ "MySQL Login and/or password not valid" : "Nieprawidłowy login i/lub hasło do MySQL",
"You need to enter details of an existing account." : "Musisz wprowadzić szczegółowe dane dla istniejącego konta.",
"Oracle connection could not be established" : "Nie można nawiązać połączenia z bazą danych Oracle",
+ "Oracle Login and/or password not valid" : "Nieprawidłowy login i/lub hasło do Oracle",
+ "PostgreSQL Login and/or password not valid" : "Nieprawidłowy login i/lub hasło do PostgreSQL",
+ "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk!" : "Mac OS X nie jest obsługiwany i %s może nie działać poprawnie na tej platformie. Używasz na własne ryzyko!",
"For the best results, please consider using a GNU/Linux server instead." : "Aby uzyskać najlepszy efekt, rozważ użycie serwera GNU/Linux.",
"It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Wydaje się, że ta instancja %s używa PHP dla 32-bitowego środowiska, ponieważ open_basedir został tak skonfigurowany w php.ini. Doprowadzi to do problemów z plikami powyżej 4 GB i jest bardzo niezalecane.",
"Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Usuń ustawienie open_basedir w php.ini lub przełącz na PHP 64-bitowe.",
@@ -152,12 +179,14 @@
"Share recipient should not be empty" : "Odbiorca udostępnienia nie powinien być pusty",
"Share recipient is not a valid circle" : "Odbiorca udostępnienia nie jest prawidłowym kręgiem",
"Unknown share type" : "Nieznany typ udostępnienia",
+ "Share initiator must be set" : "Należy ustawić inicjatora współdzielenia",
"Cannot share with yourself" : "Nie można dzielić się ze sobą",
"Shared path must be set" : "Należy ustawić ścieżkę współdzieloną",
"Shared path must be either a file or a folder" : "Udostępniona ścieżka musi być plikiem lub katalogiem",
"You cannot share your root folder" : "Nie możesz udostępnić swojego katalogu głównego root",
"You are not allowed to share %s" : "Nie możesz udostępnić %s",
"Valid permissions are required for sharing" : "Do udostępniania wymagane są ważne uprawnienia",
+ "File shares cannot have create or delete permissions" : "Udostępnione pliki nie mogą mieć uprawnień do tworzenia ani usuwania",
"Cannot increase permissions of %s" : "Nie można zwiększyć uprawnień %s",
"Shares need at least read permissions" : "Udostępnianie wymaga co najmniej uprawnień do odczytu",
"Files cannot be shared with delete permissions" : "Pliki nie mogą zostać udostępnione z prawem do usuwania",
@@ -166,18 +195,26 @@
"Expiration date is enforced" : "Obowiązuje data ważności",
"_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["Nie można utworzyć daty wygaśnięcia na %n dzień do przodu","Nie można utworzyć daty wygaśnięcia na %n dni do przodu","Nie można utworzyć daty wygaśnięcia na %n dni do przodu","Nie można utworzyć daty wygaśnięcia na %n dni do przodu"],
"Sharing is only allowed with group members" : "Udostępnianie jest dozwolone tylko członkom grupy",
+ "Sharing %s failed, because this item is already shared with the account %s" : "Udostępnianie %s nie powiodło się, ponieważ ten element jest już współdzielony z kontem %s",
"Group sharing is now allowed" : "Udostępnianie grupowe jest teraz dozwolone",
"Sharing is only allowed within your own groups" : "Udostępnianie jest dozwolone wyłącznie w obrębie własnych grup",
"Path is already shared with this group" : "Ścieżka jest już udostępniona tej grupie",
"Link sharing is not allowed" : "Udostępnianie odnośników jest niedozwolone",
"Public upload is not allowed" : "Przesyłanie publiczne nie jest dozwolone",
+ "You cannot share a folder that contains other shares" : "Nie można udostępnić folderu zawierającego inne udostępnienia",
"Sharing is disabled" : "Udostępnianie jest wyłączone",
"Sharing is disabled for you" : "Udostępnianie jest dla Ciebie wyłączone",
"Cannot share with the share owner" : "Nie można udostępnić właścicielowi udziału",
"Share does not have a full ID" : "Udział nie ma pełnego identyfikatora",
"Cannot change share type" : "Nie można zmienić typu udziału",
"Can only update recipient on user shares" : "Może aktualizować odbiorców tylko w przypadku udziałów użytkownika",
+ "Cannot enable sending the password by Talk with an empty password" : "Nie można włączyć wysyłania hasła przez Talk przy pustym haśle",
+ "Cannot enable sending the password by Talk without setting a new password" : "Nie można włączyć wysyłania hasła przez Talk bez ustawienia nowego hasła",
+ "Cannot disable sending the password by Talk without setting a new password" : "Nie można wyłączyć wysyłania hasła przez Talk bez ustawienia nowego hasła",
+ "Share provider does not support accepting" : "Dostawca współdzielenia nie obsługuje przyjmowania",
+ "Cannot change target of link share" : "Nie można zmienić celu współdzielonego linku",
"Invalid share recipient" : "Nieprawidłowy odbiorca udostępnienia",
+ "Group \"%s\" does not exist" : "Grupa \"%s\" nie istnieje",
"The requested share does not exist anymore" : "Żądane udostępnienie już nie istnieje",
"The requested share comes from a disabled user" : "Żądane udostępnienie pochodzi od wyłączonego użytkownika",
"The user was not created because the user limit has been reached. Check your notifications to learn more." : "Użytkownik nie został utworzony, ponieważ osiągnięto limit użytkowników. Sprawdź swoje powiadomienia, aby dowiedzieć się więcej.",
@@ -236,6 +273,7 @@
"A valid Login must be provided" : "Należy podać poprawny login",
"Login contains whitespace at the beginning or at the end" : "Login zawiera spacje na początku lub na końcu",
"Login must not consist of dots only" : "Login nie może składać się wyłącznie z kropek",
+ "Username is too long" : "Nazwa użytkownika jest zbyt długa",
"Login is invalid because files already exist for this user" : "Login jest nieprawidłowy, ponieważ dla tego użytkownika istnieją już pliki",
"Account disabled" : "Konto wyłączone",
"Login canceled by app" : "Logowanie anulowane przez aplikację",
@@ -273,6 +311,7 @@
"Your data directory must be an absolute path." : "Katalog danych musi mieć ścieżkę absolutną.",
"Check the value of \"datadirectory\" in your configuration." : "Sprawdź wartość \"datadirectory\" w swojej konfiguracji.",
"Your data directory is invalid." : "Katalog danych jest nieprawidłowy.",
+ "Ensure there is a file called \"%1$s\" in the root of the data directory. It should have the content: \"%2$s\"" : "Upewnij się, że w katalogu głównym danych znajduje się plik o nazwie \"%1$s\". Powinien on zawierać: \"%2$s\"",
"Action \"%s\" not supported or implemented." : "Akcja \"%s\" jest niewspierana lub niezaimplementowana.",
"Authentication failed, wrong token or provider ID given" : "Uwierzytelnienie nie powiodło się, podano nieprawidłowy token lub ID dostawcy",
"Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Brak parametrów w celu uzupełnienia żądania. Brakujące parametry: \"%s\"",
@@ -284,34 +323,114 @@
"Storage connection error. %s" : "Błąd połączenia z magazynem. %s",
"Storage is temporarily not available" : "Magazyn jest tymczasowo niedostępny",
"Storage connection timeout. %s" : "Limit czasu połączenia do magazynu. %s",
+ "To allow this check to run you have to make sure that your Web server can connect to itself. Therefore it must be able to resolve and connect to at least one of its `trusted_domains` or the `overwrite.cli.url`. This failure may be the result of a server-side DNS mismatch or outbound firewall rule." : "Aby umożliwić wykonanie tego sprawdzenia, upewnij się, że serwer WWW może połączyć się sam ze sobą. Musi on być w stanie rozpoznać i połączyć się przynajmniej z jedną z wartości 'trusted_domains' lub 'overwrite.cli.url'. Błąd ten może być wynikiem niezgodności DNS po stronie serwera lub reguły zapory sieciowej wychodzącej.",
"Transcribe audio" : "Transkrypcja dźwięku",
"Transcribe the things said in an audio" : "Transkrypcja wypowiedzi w formie audio",
"Audio input" : "Wejście dźwięku",
"The audio to transcribe" : "Dźwięk do transkrypcji",
"Transcription" : "Transkrypcja",
"The transcribed text" : "Tekst transkrypcji",
+ "Chat with an agent" : "Czat z agentem",
+ "Chat message" : "Wiadomość czatu",
+ "A chat message to send to the agent." : "Wiadomość czatu do wysłania do agenta.",
"Confirmation" : "Potwierdzenie",
+ "Whether to confirm previously requested actions: 0 for denial and 1 for confirmation." : "Czy potwierdzić wcześniej żądane działania: 0 — odmowa, 1 — potwierdzenie.",
+ "Conversation token" : "Token konwersacji",
+ "A token representing the conversation." : "Token reprezentujący konwersację.",
"Generated response" : "Wygenerowana odpowiedź",
+ "The response from the chat model." : "Odpowiedź z modelu czatu.",
+ "The new conversation token" : "Nowy token konwersacji",
+ "Send this along with the next interaction." : "Wyślij to razem z następną interakcją.",
+ "Requested actions by the agent" : "Żądane działania agenta",
+ "Actions that the agent would like to carry out in JSON format." : "Działania, które agent chciałby wykonać w formacie JSON.",
+ "Context write" : "Zapis kontekstu",
+ "Writes text in a given style based on the provided source material." : "Tworzy tekst w określonym stylu na podstawie dostarczonego materiału źródłowego.",
"Writing style" : "Styl pisania",
+ "Demonstrate a writing style that you would like to immitate" : "Zaprezentuj styl pisania, który chciałbyś naśladować",
"Source material" : "Materiał źródłowy",
+ "The content that would like to be rewritten in the new writing style" : "Treść, która ma zostać przepisana w nowym stylu pisania",
+ "Generated text" : "Wygenerowany tekst",
+ "The generated text with content from the source material in the given style" : "Wygenerowany tekst z treścią z materiału źródłowego w określonym stylu",
+ "Emoji generator" : "Generator emoji",
+ "Takes text and generates a representative emoji for it." : "Przyjmuje tekst i generuje pasującą emoji.",
+ "The text to generate an emoji for" : "Tekst, dla którego ma zostać wygenerowana emoji",
+ "Generated emoji" : "Wygenerowane emoji",
+ "The generated emoji based on the input text" : "Wygenerowana emoji na podstawie wprowadzonego tekstu",
+ "Generate image" : "Generuj obraz",
+ "Generate an image from a text prompt" : "Wygeneruj obraz z opisu tekstowego",
+ "Prompt" : "Polecenie",
"Describe the image you want to generate" : "Opisz obraz, który chcesz wygenerować",
"Number of images" : "Liczba obrazów",
"How many images to generate" : "Ile obrazów wygenerować",
"Output images" : "Obrazy wyjściowe",
"The generated images" : "Wygenerowane obrazy",
+ "Generate speech" : "Generuj mowę",
+ "Generate speech from a transcript" : "Wygeneruj mowę z transkryptu",
+ "Write transcript that you want the assistant to generate speech from" : "Napisz transkrypt, na podstawie którego asystent ma wygenerować mowę",
+ "Output speech" : "Wygenerowana mowa",
+ "The generated speech" : "Wygenerowana mowa",
+ "Free text to text prompt" : "Dowolny tekst jako polecenie wejściowe",
+ "Runs an arbitrary prompt through a language model that returns a reply" : "Przetwarza dowolne polecenie za pomocą modelu językowego, który zwraca odpowiedź",
+ "Describe a task that you want the assistant to do or ask a question" : "Opisz zadanie, które ma wykonać asystent, lub zadaj pytanie",
+ "Generated reply" : "Wygenerowana odpowiedź",
+ "The generated text from the assistant" : "Wygenerowany tekst od asystenta",
"Change Tone" : "Zmień ton wypowiedzi",
+ "Change the tone of a piece of text." : "Zmień ton fragmentu tekstu",
"Write a text that you want the assistant to rewrite in another tone." : "Napisz tekst, który chcesz, aby asystent napisał inaczej.",
"Desired tone" : "Pożądany ton wypowiedzi",
"In which tone should your text be rewritten?" : "W jakim tonie powinien zostać napisany Twój tekst?",
"The rewritten text in the desired tone, written by the assistant:" : "Przepisany tekst w pożądanym tonie, napisany przez asystenta:",
"Chat" : "Rozmowa",
+ "Chat with the assistant" : "Czat z asystentem",
+ "System prompt" : "Polecenie systemowe",
+ "Define rules and assumptions that the assistant should follow during the conversation." : "Określ zasady i założenia, których asystent powinien przestrzegać podczas rozmowy",
"Chat history" : "Historia rozmów",
+ "The history of chat messages before the current message, starting with a message by the user" : "Historia wiadomości czatu przed bieżącą wiadomością, zaczynając od wiadomości użytkownika",
+ "Response message" : "Wiadomość odpowiedzi",
+ "The generated response as part of the conversation" : "Wygenerowana odpowiedź jako część rozmowy",
+ "Chat with tools" : "Czat z użyciem narzędzi",
+ "Chat with the language model with tool calling support." : "Czat z modelem językowym z obsługą wywoływania narzędzi",
+ "Tool message" : "Wiadomość narzędzia",
+ "The result of tool calls in the last interaction" : "Wynik wywołań narzędzi w ostatniej interakcji",
+ "Available tools" : "Dostępne narzędzia",
+ "The available tools in JSON format" : "Dostępne narzędzia w formacie JSON",
+ "The response from the chat model" : "Odpowiedź z modelu czatu",
+ "Tool calls" : "Wywołania narzędzi",
+ "Tools call instructions from the model in JSON format" : "Instrukcje wywołań narzędzi z modelu w formacie JSON",
+ "Formalize text" : "Sformalizuj tekst",
+ "Takes a text and makes it sound more formal" : "Pobiera tekst i sprawia, że brzmi bardziej formalnie",
+ "Write a text that you want the assistant to formalize" : "Napisz tekst, który chcesz, aby asystent sformalizował",
+ "Formalized text" : "Sformalizowany tekst",
+ "The formalized text" : "Sformalizowany tekst",
+ "Generate a headline" : "Wygeneruj nagłówek",
"Generates a possible headline for a text." : "Generuje możliwy nagłówek tekstu.",
"Original text" : "Tekst oryginalny",
+ "The original text to generate a headline for" : "Oryginalny tekst, do którego ma zostać wygenerowany nagłówek",
+ "The generated headline" : "Wygenerowany nagłówek",
+ "Proofread" : "Korekta",
+ "Proofreads a text and lists corrections" : "Sprawdza tekst i podaje poprawki",
"Text" : "Tekst",
+ "The text to proofread" : "Tekst do korekty",
+ "Corrections" : "Poprawki",
+ "The corrections that should be made in your text" : "Poprawki, które należy wprowadzić w Twoim tekście",
+ "Reformulate text" : "Przekształć tekst",
+ "Takes a text and reformulates it" : "Pobiera tekst i przekształca go",
+ "Write a text that you want the assistant to reformulate" : "Napisz tekst, który chcesz, aby asystent przekształcił",
+ "Reformulated text" : "Przekształcony tekst",
+ "The reformulated text, written by the assistant" : "Przekształcony tekst napisany przez asystenta",
+ "Simplify text" : "Uprość tekst",
+ "Takes a text and simplifies it" : "Pobiera tekst i upraszcza go",
+ "Write a text that you want the assistant to simplify" : "Napisz tekst, który chcesz, aby asystent uprościł",
+ "Simplified text" : "Uproszczony tekst",
+ "The simplified text" : "Uproszczony tekst",
"Summarize" : "Podsumuj",
+ "Summarizes a text" : "Tworzy podsumowanie tekstu",
+ "The original text to summarize" : "Oryginalny tekst do podsumowania",
"Summary" : "Podsumowanie",
+ "The generated summary" : "Wygenerowane podsumowanie",
"Extract topics" : "Wyodrębnij tematy",
+ "Extracts topics from a text and outputs them separated by commas" : "Wydobywa tematy z tekstu i zwraca je oddzielone przecinkami",
+ "The original text to extract topics from" : "Oryginalny tekst, z którego mają zostać wydobyte tematy",
"Topics" : "Tematy",
"The list of extracted topics" : "Lista wyodrębnionych tematów",
"Translate" : "Tłumaczenie",
@@ -330,6 +449,7 @@
"Summarizes text by reducing its length without losing key information." : "Podsumowuje tekst, zmniejszając jego długość bez utraty kluczowych informacji.",
"Extracts topics from a text and outputs them separated by commas." : "Wyodrębnia tematy z tekstu i wyświetla je oddzielone przecinkami.",
"File is currently busy, please try again later" : "Plik jest obecnie niedostępny, spróbuj później",
- "Cannot download file" : "Nie można pobrać pliku"
+ "Cannot download file" : "Nie można pobrać pliku",
+ "Login is too long" : "Login jest zbyt długi"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
} \ No newline at end of file
diff --git a/lib/l10n/sw.js b/lib/l10n/sw.js
index ed407a1c902..1e14a7e863a 100644
--- a/lib/l10n/sw.js
+++ b/lib/l10n/sw.js
@@ -6,6 +6,7 @@ OC.L10N.register(
"Invalid image" : "Taswira si halisi",
"Files" : "Mafaili",
"View profile" : "Angalia wasifu",
+ "Local time: %s" : "Muda wa kawaida: %s",
"_%n year ago_::_%n years ago_" : ["%n year ago","%n years ago"],
"seconds ago" : "sukunde zilizopita",
"%1$s (renamed)" : "%1$s (iliyopew jina jipya)",
@@ -18,6 +19,10 @@ OC.L10N.register(
"Log out" : "Ondoka",
"Accounts" : "Akaunti",
"Email" : "Barua pepe",
+ "Phone" : "Simu",
+ "Twitter" : "Twitter",
+ "Website" : "Wavuti",
+ "Address" : "Anwani",
"About" : "Kuhusu",
"Additional settings" : "Mipangilio ya nyongeza",
"Sunday" : "Jumapili",
diff --git a/lib/l10n/sw.json b/lib/l10n/sw.json
index a94d2dc64e4..a4d0bdc97d8 100644
--- a/lib/l10n/sw.json
+++ b/lib/l10n/sw.json
@@ -4,6 +4,7 @@
"Invalid image" : "Taswira si halisi",
"Files" : "Mafaili",
"View profile" : "Angalia wasifu",
+ "Local time: %s" : "Muda wa kawaida: %s",
"_%n year ago_::_%n years ago_" : ["%n year ago","%n years ago"],
"seconds ago" : "sukunde zilizopita",
"%1$s (renamed)" : "%1$s (iliyopew jina jipya)",
@@ -16,6 +17,10 @@
"Log out" : "Ondoka",
"Accounts" : "Akaunti",
"Email" : "Barua pepe",
+ "Phone" : "Simu",
+ "Twitter" : "Twitter",
+ "Website" : "Wavuti",
+ "Address" : "Anwani",
"About" : "Kuhusu",
"Additional settings" : "Mipangilio ya nyongeza",
"Sunday" : "Jumapili",
diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js
index 17fb3a949f2..5f28ef658ab 100644
--- a/lib/l10n/tr.js
+++ b/lib/l10n/tr.js
@@ -83,9 +83,9 @@ OC.L10N.register(
"_in %n minute_::_in %n minutes_" : ["%n dakika içinde","%n dakika içinde"],
"_%n minute ago_::_%n minutes ago_" : ["%n dakika önce","%n dakika önce"],
"in a few seconds" : "bir kaç saniye içinde",
- "seconds ago" : "saniyeler önce",
+ "seconds ago" : "saniye önce",
"Empty file" : "Dosya boş",
- "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "%s kimlikli modül bulunamadı. Lütfen uygulamalarınız içinden modülü etkinleştirin ya da BT yöneticiniz ile görüşün.",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "%s kimlikli modül bulunamadı. Lütfen uygulamalarınız içinden modülü kullanıma alın ya da BT yöneticiniz ile görüşün.",
"No file conversion providers available" : "Kullanılabilecek bir dosya dönüştürücü hizmeti sağlayıcı yok",
"File is too large to convert" : "Dosya dönüştürülmek için çok büyük",
"Destination does not match conversion extension" : "Hedef dönüştürme eklentisiyle eşleşmiyor",
@@ -93,6 +93,8 @@ OC.L10N.register(
"Destination does not exist" : "Hedef bulunamadı",
"Destination is not creatable" : "Hedef oluşturulamadı",
"Dot files are not allowed" : "Nokta dosyalarına izin verilmiyor",
+ "%1$s (renamed)" : "%1$s (yeniden adlandırıldı)",
+ "renamed file" : "dosyayı yeniden adlandırdı",
"\"%1$s\" is a forbidden file or folder name." : "\"%1$s\" dosya ya da klasör adı olarak kullanılamaz.",
"\"%1$s\" is a forbidden prefix for file or folder names." : "\"%1$s\" dosya ya da klasör adı ön eki olarak kullanılamaz.",
"\"%1$s\" is not allowed inside a file or folder name." : "\"%1$s\" bir dosya ya da klasör adında kullanılamaz.",
@@ -147,10 +149,10 @@ OC.L10N.register(
"Pronouns" : "Hitaplar",
"Unknown account" : "Hesap bilinmiyor",
"Additional settings" : "Ek ayarlar",
- "Enter the database Login and name for %s" : "%s için veritabanı adını ve kullanıcı adını yazın",
- "Enter the database Login for %s" : "%s için veritabanı kullanıcı adını yazın",
- "Enter the database name for %s" : "%s için veritabanı adını yazın",
- "You cannot use dots in the database name %s" : "%s veritabanı adında nokta kullanamazsınız",
+ "Enter the database Login and name for %s" : "%s için veri tabanı adını ve kullanıcı adını yazın",
+ "Enter the database Login for %s" : "%s için veri tabanı kullanıcı adını yazın",
+ "Enter the database name for %s" : "%s için veri tabanı adını yazın",
+ "You cannot use dots in the database name %s" : "%s veri tabanı adında nokta kullanamazsınız",
"MySQL Login and/or password not valid" : "MySQL kullanıcı adı ve/veya parolası geçersiz",
"You need to enter details of an existing account." : "Var olan bir hesabın bilgilerini yazmalısınız.",
"Oracle connection could not be established" : "Oracle ile bağlantı kurulamadı",
@@ -163,16 +165,16 @@ OC.L10N.register(
"Set an admin Login." : "Bir yönetici kullanıcı adı yazın.",
"Set an admin password." : "Bir yönetici parolası yazın.",
"Cannot create or write into the data directory %s" : "%s veri klasörü oluşturulamadı ya da içine yazılamadı",
- "Sharing backend %s must implement the interface OCP\\Share_Backend" : "Paylaşım arka ucu %s OCP\\Share_Backend arayüzünü desteklemeli",
- "Sharing backend %s not found" : "%s paylaşım arka ucu bulunamadı",
- "Sharing backend for %s not found" : "%s için paylaşım arka ucu bulunamadı",
+ "Sharing backend %s must implement the interface OCP\\Share_Backend" : "Paylaşım arka yüzü %s OCP\\Share_Backend arayüzünü desteklemeli",
+ "Sharing backend %s not found" : "%s paylaşım arka yüzü bulunamadı",
+ "Sharing backend for %s not found" : "%s için paylaşım arka yüzü bulunamadı",
"%1$s shared %2$s with you" : "%1$s, sizinle %2$s ögesini paylaştı",
"Open %s" : "%s ögesini aç",
"%1$s via %2$s" : "%1$s, %2$s aracılığıyla",
"%1$s shared %2$s with you and wants to add:" : "%1$s sizinle %2$s ögesini paylaştı ve eklemenizi istiyor:",
"%1$s shared %2$s with you and wants to add" : "%1$s sizinle %2$s ögesini paylaştı ve eklemenizi istiyor",
"%s added a note to a file shared with you" : "%s sizinle paylaştığı bir dosyaya bir not ekledi",
- "Passwords are enforced for link and mail shares" : "Bağlantı ve e-posta paylaşımları için parolalar zorunludur",
+ "Passwords are enforced for link and mail shares" : "Bağlantı ve e-posta paylaşımları için parola kullanılması zorunlu kılınmış",
"Share recipient is not a valid user" : "Paylaşım alıcısı geçerli bir kullanıcı değil",
"Share recipient is not a valid group" : "Paylaşım alıcısı geçerli bir grup değil",
"Share recipient should be empty" : "Paylaşım alıcısı boş olmalı",
@@ -192,7 +194,7 @@ OC.L10N.register(
"Files cannot be shared with delete permissions" : "Silme izni ile dosya paylaşılamaz",
"Files cannot be shared with create permissions" : "Ekleme izni ile dosya paylaşılamaz",
"Expiration date is in the past" : "Geçerlilik sonu tarihi geçmişte",
- "Expiration date is enforced" : "Geçerlilik sonu tarihi dayatılıyor",
+ "Expiration date is enforced" : "Geçerlilik sonu tarihi zorunlu kılınmış",
"_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["Paylaşımların geçerlilik süreleri, gelecekte %n günden fazla olamaz","Paylaşımların geçerlilik süreleri, gelecekte %n günden fazla olamaz"],
"Sharing is only allowed with group members" : "Paylaşım yalnızca grup üyeleri ile yapılabilir",
"Sharing %s failed, because this item is already shared with the account %s" : "%s paylaşılamadı. Bu öge zaten %s hesabı ile paylaşılmış",
@@ -202,21 +204,21 @@ OC.L10N.register(
"Link sharing is not allowed" : "Bağlantı paylaşımına izin verilmiyor",
"Public upload is not allowed" : "Herkese açık yüklemeye izin verilmiyor",
"You cannot share a folder that contains other shares" : "Başka paylaşımların bulunduğu bir klasörü paylaşamazsınız",
- "Sharing is disabled" : "Paylaşım devre dışı bırakılmış",
- "Sharing is disabled for you" : "Paylaşım sizin için devre dışı bırakılmış",
+ "Sharing is disabled" : "Paylaşım kullanımdan kaldırılmış",
+ "Sharing is disabled for you" : "Paylaşım sizin için kullanımdan kaldırılmış",
"Cannot share with the share owner" : "Paylaşımı sahibi ile paylaşamazsınız",
"Share does not have a full ID" : "Paylaşımın tam kimliği yok",
"Cannot change share type" : "Paylaşım türü değiştirilemez",
"Can only update recipient on user shares" : "Yalnızca kullanıcı paylaşımlarındaki alıcıyı güncelleyebilir",
- "Cannot enable sending the password by Talk with an empty password" : "Boş bir parola ile Talk uygulaması ile parola gönderme özelliği etkinleştirilemez",
- "Cannot enable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Talk uygulaması ile parola gönderme özelliği etkinleştirilemez",
- "Cannot disable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Sohbet uygulaması ile parola gönderme devre dışı bırakılamaz",
+ "Cannot enable sending the password by Talk with an empty password" : "Boş bir parola kullanarak Konuş uygulaması ile parola gönderme özelliği açılamaz",
+ "Cannot enable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Konuş uygulaması ile parola gönderme özelliği açılamaz",
+ "Cannot disable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Konuş uygulaması ile parola gönderme özelliği kapatılamaz",
"Share provider does not support accepting" : "Paylaşım hizmeti sağlayıcısı kabul etmeyi desteklemiyor",
"Cannot change target of link share" : "Bağlantı paylaşımının hedefi değiştirilemedi",
"Invalid share recipient" : "Paylaşım alıcısı geçersiz",
"Group \"%s\" does not exist" : "\"%s\" grubu bulunamadı",
"The requested share does not exist anymore" : "Erişilmek istenilen paylaşım artık yok",
- "The requested share comes from a disabled user" : "Erişilmek istenilen paylaşım devre dışı bırakılmış bir kullanıcıdan geliyor",
+ "The requested share comes from a disabled user" : "Erişilmek istenilen paylaşım kullanımdan kaldırılmış bir kullanıcıdan geliyor",
"The user was not created because the user limit has been reached. Check your notifications to learn more." : "Kullanıcı sayısı sınırına ulaşıldığından kullanıcı eklenemedi. Ayrıntılı bilgi almak için bildirimlerinize bakın.",
"Could not find category \"%s\"" : "\"%s\" kategorisi bulunamadı",
"Input text" : "Giriş metni",
@@ -273,20 +275,21 @@ OC.L10N.register(
"A valid Login must be provided" : "Geçerli bir kullanıcı adı yazmalısınız",
"Login contains whitespace at the beginning or at the end" : "Kullanıcı adının başında ya da sonunda boşluk var",
"Login must not consist of dots only" : "Kullanıcı adı yalnızca noktalardan oluşamaz",
+ "Username is too long" : "Kullanıcı adı çok uzun",
"Login is invalid because files already exist for this user" : "Kullanıcı adı geçersiz, bu kullanıcı için zaten bazı dosyalar var",
- "Account disabled" : "Hesap devre dışı bırakılmış",
+ "Account disabled" : "Hesap kullanımdan kaldırılmış",
"Login canceled by app" : "Oturum açma uygulama tarafından iptal edildi",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "\"%1$s\" uygulaması, şu gereklilikler sağlanmadığı için kurulamıyor: %2$s",
"a safe home for all your data" : "verileriniz için güvenli bir barınak",
- "Application is not enabled" : "Uygulama etkin değil",
+ "Application is not enabled" : "Uygulama kullanıma alınmamış",
"Authentication error" : "Kimlik doğrulama sorunu",
"Token expired. Please reload page." : "Kodun geçerlilik süresi dolmuş. Lütfen sayfayı yenileyin.",
- "No database drivers (sqlite, mysql, or postgresql) installed." : "Herhangi bir veritabanı sürücüsü (sqlite, mysql ya da postgresql) kurulmamış.",
+ "No database drivers (sqlite, mysql, or postgresql) installed." : "Herhangi bir veri tabanı sürücüsü (sqlite, mysql ya da postgresql) kurulmamış.",
"Cannot write into \"config\" directory." : "\"config\" klasörüne yazılamadı.",
"This can usually be fixed by giving the web server write access to the config directory. See %s" : "Bu sorun genellikle, site sunucusuna config klasörüne yazma izni verilerek çözülebilir. %s bölümüne bakın",
"Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Ya da config.php dosyasının salt okunur olarak kalmasını istiyorsanız içindeki \"config_is_read_only\" seçeneğini true olarak ayarlayın. %s bölümüne bakabilirsiniz",
"Cannot write into \"apps\" directory." : "\"apps\" klasörüne yazılamadı.",
- "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Bu sorun genellikle, site sunucusuna apps klasörüne yazma izni verilerek ya da yapılandırma dosyasından uygulama mağazası devre dışı bırakılarak çözülebilir.",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Bu sorun genellikle, site sunucusuna apps klasörüne yazma izni verilerek ya da yapılandırma dosyasından uygulama mağazası kullanımdan kaldırılarak çözülebilir.",
"Cannot create \"data\" directory." : "\"data\" klasörü oluşturulamadı",
"This can usually be fixed by giving the web server write access to the root directory. See %s" : "Bu sorun genellikle, site sunucusuna kök klasöre yazma izni verilerek çözülebilir. %s bölümüne bakın",
"Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "İzinler genellikle, site sunucusuna kök klasöre yazma izni verilerek düzeltilebilir. %s bölümüne bakın.",
@@ -363,6 +366,11 @@ OC.L10N.register(
"How many images to generate" : "Oluşturulacak görsel sayısı",
"Output images" : "Çıktı görselleri",
"The generated images" : "Oluşturulan görseller",
+ "Generate speech" : "Konuşma oluştur",
+ "Generate speech from a transcript" : "Bir yazıya dönüştürmeden konuşma oluştur",
+ "Write transcript that you want the assistant to generate speech from" : "Yardımcının konuşma oluşturmasını istediğiniz yazı dönüştürmesini yazın",
+ "Output speech" : "Konuşma çıktısı",
+ "The generated speech" : "Oluşturulan konuşma",
"Free text to text prompt" : "Ücretsiz yazıdan yazıya istemi",
"Runs an arbitrary prompt through a language model that returns a reply" : "Dil modeli ile bir yanıt döndüren isteğe bağlı bir bilgi istemi çalıştırır",
"Describe a task that you want the assistant to do or ask a question" : "Yardımcının yapmasını istediğiniz bir görevi tanımlayın ya da bir soru sorun",
diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json
index a548f3300cb..2e46571c57f 100644
--- a/lib/l10n/tr.json
+++ b/lib/l10n/tr.json
@@ -81,9 +81,9 @@
"_in %n minute_::_in %n minutes_" : ["%n dakika içinde","%n dakika içinde"],
"_%n minute ago_::_%n minutes ago_" : ["%n dakika önce","%n dakika önce"],
"in a few seconds" : "bir kaç saniye içinde",
- "seconds ago" : "saniyeler önce",
+ "seconds ago" : "saniye önce",
"Empty file" : "Dosya boş",
- "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "%s kimlikli modül bulunamadı. Lütfen uygulamalarınız içinden modülü etkinleştirin ya da BT yöneticiniz ile görüşün.",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "%s kimlikli modül bulunamadı. Lütfen uygulamalarınız içinden modülü kullanıma alın ya da BT yöneticiniz ile görüşün.",
"No file conversion providers available" : "Kullanılabilecek bir dosya dönüştürücü hizmeti sağlayıcı yok",
"File is too large to convert" : "Dosya dönüştürülmek için çok büyük",
"Destination does not match conversion extension" : "Hedef dönüştürme eklentisiyle eşleşmiyor",
@@ -91,6 +91,8 @@
"Destination does not exist" : "Hedef bulunamadı",
"Destination is not creatable" : "Hedef oluşturulamadı",
"Dot files are not allowed" : "Nokta dosyalarına izin verilmiyor",
+ "%1$s (renamed)" : "%1$s (yeniden adlandırıldı)",
+ "renamed file" : "dosyayı yeniden adlandırdı",
"\"%1$s\" is a forbidden file or folder name." : "\"%1$s\" dosya ya da klasör adı olarak kullanılamaz.",
"\"%1$s\" is a forbidden prefix for file or folder names." : "\"%1$s\" dosya ya da klasör adı ön eki olarak kullanılamaz.",
"\"%1$s\" is not allowed inside a file or folder name." : "\"%1$s\" bir dosya ya da klasör adında kullanılamaz.",
@@ -145,10 +147,10 @@
"Pronouns" : "Hitaplar",
"Unknown account" : "Hesap bilinmiyor",
"Additional settings" : "Ek ayarlar",
- "Enter the database Login and name for %s" : "%s için veritabanı adını ve kullanıcı adını yazın",
- "Enter the database Login for %s" : "%s için veritabanı kullanıcı adını yazın",
- "Enter the database name for %s" : "%s için veritabanı adını yazın",
- "You cannot use dots in the database name %s" : "%s veritabanı adında nokta kullanamazsınız",
+ "Enter the database Login and name for %s" : "%s için veri tabanı adını ve kullanıcı adını yazın",
+ "Enter the database Login for %s" : "%s için veri tabanı kullanıcı adını yazın",
+ "Enter the database name for %s" : "%s için veri tabanı adını yazın",
+ "You cannot use dots in the database name %s" : "%s veri tabanı adında nokta kullanamazsınız",
"MySQL Login and/or password not valid" : "MySQL kullanıcı adı ve/veya parolası geçersiz",
"You need to enter details of an existing account." : "Var olan bir hesabın bilgilerini yazmalısınız.",
"Oracle connection could not be established" : "Oracle ile bağlantı kurulamadı",
@@ -161,16 +163,16 @@
"Set an admin Login." : "Bir yönetici kullanıcı adı yazın.",
"Set an admin password." : "Bir yönetici parolası yazın.",
"Cannot create or write into the data directory %s" : "%s veri klasörü oluşturulamadı ya da içine yazılamadı",
- "Sharing backend %s must implement the interface OCP\\Share_Backend" : "Paylaşım arka ucu %s OCP\\Share_Backend arayüzünü desteklemeli",
- "Sharing backend %s not found" : "%s paylaşım arka ucu bulunamadı",
- "Sharing backend for %s not found" : "%s için paylaşım arka ucu bulunamadı",
+ "Sharing backend %s must implement the interface OCP\\Share_Backend" : "Paylaşım arka yüzü %s OCP\\Share_Backend arayüzünü desteklemeli",
+ "Sharing backend %s not found" : "%s paylaşım arka yüzü bulunamadı",
+ "Sharing backend for %s not found" : "%s için paylaşım arka yüzü bulunamadı",
"%1$s shared %2$s with you" : "%1$s, sizinle %2$s ögesini paylaştı",
"Open %s" : "%s ögesini aç",
"%1$s via %2$s" : "%1$s, %2$s aracılığıyla",
"%1$s shared %2$s with you and wants to add:" : "%1$s sizinle %2$s ögesini paylaştı ve eklemenizi istiyor:",
"%1$s shared %2$s with you and wants to add" : "%1$s sizinle %2$s ögesini paylaştı ve eklemenizi istiyor",
"%s added a note to a file shared with you" : "%s sizinle paylaştığı bir dosyaya bir not ekledi",
- "Passwords are enforced for link and mail shares" : "Bağlantı ve e-posta paylaşımları için parolalar zorunludur",
+ "Passwords are enforced for link and mail shares" : "Bağlantı ve e-posta paylaşımları için parola kullanılması zorunlu kılınmış",
"Share recipient is not a valid user" : "Paylaşım alıcısı geçerli bir kullanıcı değil",
"Share recipient is not a valid group" : "Paylaşım alıcısı geçerli bir grup değil",
"Share recipient should be empty" : "Paylaşım alıcısı boş olmalı",
@@ -190,7 +192,7 @@
"Files cannot be shared with delete permissions" : "Silme izni ile dosya paylaşılamaz",
"Files cannot be shared with create permissions" : "Ekleme izni ile dosya paylaşılamaz",
"Expiration date is in the past" : "Geçerlilik sonu tarihi geçmişte",
- "Expiration date is enforced" : "Geçerlilik sonu tarihi dayatılıyor",
+ "Expiration date is enforced" : "Geçerlilik sonu tarihi zorunlu kılınmış",
"_Cannot set expiration date more than %n day in the future_::_Cannot set expiration date more than %n days in the future_" : ["Paylaşımların geçerlilik süreleri, gelecekte %n günden fazla olamaz","Paylaşımların geçerlilik süreleri, gelecekte %n günden fazla olamaz"],
"Sharing is only allowed with group members" : "Paylaşım yalnızca grup üyeleri ile yapılabilir",
"Sharing %s failed, because this item is already shared with the account %s" : "%s paylaşılamadı. Bu öge zaten %s hesabı ile paylaşılmış",
@@ -200,21 +202,21 @@
"Link sharing is not allowed" : "Bağlantı paylaşımına izin verilmiyor",
"Public upload is not allowed" : "Herkese açık yüklemeye izin verilmiyor",
"You cannot share a folder that contains other shares" : "Başka paylaşımların bulunduğu bir klasörü paylaşamazsınız",
- "Sharing is disabled" : "Paylaşım devre dışı bırakılmış",
- "Sharing is disabled for you" : "Paylaşım sizin için devre dışı bırakılmış",
+ "Sharing is disabled" : "Paylaşım kullanımdan kaldırılmış",
+ "Sharing is disabled for you" : "Paylaşım sizin için kullanımdan kaldırılmış",
"Cannot share with the share owner" : "Paylaşımı sahibi ile paylaşamazsınız",
"Share does not have a full ID" : "Paylaşımın tam kimliği yok",
"Cannot change share type" : "Paylaşım türü değiştirilemez",
"Can only update recipient on user shares" : "Yalnızca kullanıcı paylaşımlarındaki alıcıyı güncelleyebilir",
- "Cannot enable sending the password by Talk with an empty password" : "Boş bir parola ile Talk uygulaması ile parola gönderme özelliği etkinleştirilemez",
- "Cannot enable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Talk uygulaması ile parola gönderme özelliği etkinleştirilemez",
- "Cannot disable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Sohbet uygulaması ile parola gönderme devre dışı bırakılamaz",
+ "Cannot enable sending the password by Talk with an empty password" : "Boş bir parola kullanarak Konuş uygulaması ile parola gönderme özelliği açılamaz",
+ "Cannot enable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Konuş uygulaması ile parola gönderme özelliği açılamaz",
+ "Cannot disable sending the password by Talk without setting a new password" : "Yeni bir parola ayarlanmadan Konuş uygulaması ile parola gönderme özelliği kapatılamaz",
"Share provider does not support accepting" : "Paylaşım hizmeti sağlayıcısı kabul etmeyi desteklemiyor",
"Cannot change target of link share" : "Bağlantı paylaşımının hedefi değiştirilemedi",
"Invalid share recipient" : "Paylaşım alıcısı geçersiz",
"Group \"%s\" does not exist" : "\"%s\" grubu bulunamadı",
"The requested share does not exist anymore" : "Erişilmek istenilen paylaşım artık yok",
- "The requested share comes from a disabled user" : "Erişilmek istenilen paylaşım devre dışı bırakılmış bir kullanıcıdan geliyor",
+ "The requested share comes from a disabled user" : "Erişilmek istenilen paylaşım kullanımdan kaldırılmış bir kullanıcıdan geliyor",
"The user was not created because the user limit has been reached. Check your notifications to learn more." : "Kullanıcı sayısı sınırına ulaşıldığından kullanıcı eklenemedi. Ayrıntılı bilgi almak için bildirimlerinize bakın.",
"Could not find category \"%s\"" : "\"%s\" kategorisi bulunamadı",
"Input text" : "Giriş metni",
@@ -271,20 +273,21 @@
"A valid Login must be provided" : "Geçerli bir kullanıcı adı yazmalısınız",
"Login contains whitespace at the beginning or at the end" : "Kullanıcı adının başında ya da sonunda boşluk var",
"Login must not consist of dots only" : "Kullanıcı adı yalnızca noktalardan oluşamaz",
+ "Username is too long" : "Kullanıcı adı çok uzun",
"Login is invalid because files already exist for this user" : "Kullanıcı adı geçersiz, bu kullanıcı için zaten bazı dosyalar var",
- "Account disabled" : "Hesap devre dışı bırakılmış",
+ "Account disabled" : "Hesap kullanımdan kaldırılmış",
"Login canceled by app" : "Oturum açma uygulama tarafından iptal edildi",
"App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "\"%1$s\" uygulaması, şu gereklilikler sağlanmadığı için kurulamıyor: %2$s",
"a safe home for all your data" : "verileriniz için güvenli bir barınak",
- "Application is not enabled" : "Uygulama etkin değil",
+ "Application is not enabled" : "Uygulama kullanıma alınmamış",
"Authentication error" : "Kimlik doğrulama sorunu",
"Token expired. Please reload page." : "Kodun geçerlilik süresi dolmuş. Lütfen sayfayı yenileyin.",
- "No database drivers (sqlite, mysql, or postgresql) installed." : "Herhangi bir veritabanı sürücüsü (sqlite, mysql ya da postgresql) kurulmamış.",
+ "No database drivers (sqlite, mysql, or postgresql) installed." : "Herhangi bir veri tabanı sürücüsü (sqlite, mysql ya da postgresql) kurulmamış.",
"Cannot write into \"config\" directory." : "\"config\" klasörüne yazılamadı.",
"This can usually be fixed by giving the web server write access to the config directory. See %s" : "Bu sorun genellikle, site sunucusuna config klasörüne yazma izni verilerek çözülebilir. %s bölümüne bakın",
"Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Ya da config.php dosyasının salt okunur olarak kalmasını istiyorsanız içindeki \"config_is_read_only\" seçeneğini true olarak ayarlayın. %s bölümüne bakabilirsiniz",
"Cannot write into \"apps\" directory." : "\"apps\" klasörüne yazılamadı.",
- "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Bu sorun genellikle, site sunucusuna apps klasörüne yazma izni verilerek ya da yapılandırma dosyasından uygulama mağazası devre dışı bırakılarak çözülebilir.",
+ "This can usually be fixed by giving the web server write access to the apps directory or disabling the App Store in the config file." : "Bu sorun genellikle, site sunucusuna apps klasörüne yazma izni verilerek ya da yapılandırma dosyasından uygulama mağazası kullanımdan kaldırılarak çözülebilir.",
"Cannot create \"data\" directory." : "\"data\" klasörü oluşturulamadı",
"This can usually be fixed by giving the web server write access to the root directory. See %s" : "Bu sorun genellikle, site sunucusuna kök klasöre yazma izni verilerek çözülebilir. %s bölümüne bakın",
"Permissions can usually be fixed by giving the web server write access to the root directory. See %s." : "İzinler genellikle, site sunucusuna kök klasöre yazma izni verilerek düzeltilebilir. %s bölümüne bakın.",
@@ -361,6 +364,11 @@
"How many images to generate" : "Oluşturulacak görsel sayısı",
"Output images" : "Çıktı görselleri",
"The generated images" : "Oluşturulan görseller",
+ "Generate speech" : "Konuşma oluştur",
+ "Generate speech from a transcript" : "Bir yazıya dönüştürmeden konuşma oluştur",
+ "Write transcript that you want the assistant to generate speech from" : "Yardımcının konuşma oluşturmasını istediğiniz yazı dönüştürmesini yazın",
+ "Output speech" : "Konuşma çıktısı",
+ "The generated speech" : "Oluşturulan konuşma",
"Free text to text prompt" : "Ücretsiz yazıdan yazıya istemi",
"Runs an arbitrary prompt through a language model that returns a reply" : "Dil modeli ile bir yanıt döndüren isteğe bağlı bir bilgi istemi çalıştırır",
"Describe a task that you want the assistant to do or ask a question" : "Yardımcının yapmasını istediğiniz bir görevi tanımlayın ya da bir soru sorun",
diff --git a/lib/private/Encryption/EncryptionEventListener.php b/lib/private/Encryption/EncryptionEventListener.php
index 59ac0dea932..d51b4b0d531 100644
--- a/lib/private/Encryption/EncryptionEventListener.php
+++ b/lib/private/Encryption/EncryptionEventListener.php
@@ -17,7 +17,9 @@ use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\EventDispatcher\IEventListener;
use OCP\Files\Events\Node\NodeRenamedEvent;
+use OCP\Files\NotFoundException;
use OCP\IUser;
+use OCP\IUserManager;
use OCP\IUserSession;
use OCP\Share\Events\ShareCreatedEvent;
use OCP\Share\Events\ShareDeletedEvent;
@@ -31,6 +33,7 @@ class EncryptionEventListener implements IEventListener {
private IUserSession $userSession,
private SetupManager $setupManager,
private Manager $encryptionManager,
+ private IUserManager $userManager,
) {
}
@@ -50,10 +53,14 @@ class EncryptionEventListener implements IEventListener {
} elseif ($event instanceof ShareCreatedEvent) {
$this->getUpdate()->postShared($event->getShare()->getNode());
} elseif ($event instanceof ShareDeletedEvent) {
- // In case the unsharing happens in a background job, we don't have
- // a session and we load instead the user from the UserManager
- $owner = $event->getShare()->getNode()->getOwner();
- $this->getUpdate($owner)->postUnshared($event->getShare()->getNode());
+ try {
+ // In case the unsharing happens in a background job, we don't have
+ // a session and we load instead the user from the UserManager
+ $owner = $this->userManager->get($event->getShare()->getShareOwner());
+ $this->getUpdate($owner)->postUnshared($event->getShare()->getNode());
+ } catch (NotFoundException $e) {
+ /* The node was deleted already, nothing to update */
+ }
} elseif ($event instanceof NodeRestoredEvent) {
$this->getUpdate()->postRestore($event->getTarget());
}
@@ -78,7 +85,7 @@ class EncryptionEventListener implements IEventListener {
$this->updater = new Update(
new Util(
new View(),
- \OC::$server->getUserManager(),
+ $this->userManager,
\OC::$server->getGroupManager(),
\OC::$server->getConfig()),
\OC::$server->getEncryptionManager(),
diff --git a/lib/private/Files/Storage/DAV.php b/lib/private/Files/Storage/DAV.php
index 10670d6331a..afd8f87e2de 100644
--- a/lib/private/Files/Storage/DAV.php
+++ b/lib/private/Files/Storage/DAV.php
@@ -350,7 +350,13 @@ class DAV extends Common {
}
}
- return $response->getBody();
+ $content = $response->getBody();
+
+ if ($content === null || is_string($content)) {
+ return false;
+ }
+
+ return $content;
case 'w':
case 'wb':
case 'a':
@@ -390,6 +396,8 @@ class DAV extends Common {
$this->writeBack($tmpFile, $path);
});
}
+
+ return false;
}
public function writeBack(string $tmpFile, string $path): void {
diff --git a/lib/private/Http/Client/Response.php b/lib/private/Http/Client/Response.php
index adf83306d07..dc0b17ab075 100644
--- a/lib/private/Http/Client/Response.php
+++ b/lib/private/Http/Client/Response.php
@@ -11,49 +11,25 @@ namespace OC\Http\Client;
use OCP\Http\Client\IResponse;
use Psr\Http\Message\ResponseInterface;
-/**
- * Class Response
- *
- * @package OC\Http
- */
class Response implements IResponse {
- /** @var ResponseInterface */
- private $response;
-
- /**
- * @var bool
- */
- private $stream;
+ private ResponseInterface $response;
+ private bool $stream;
- /**
- * @param ResponseInterface $response
- * @param bool $stream
- */
- public function __construct(ResponseInterface $response, $stream = false) {
+ public function __construct(ResponseInterface $response, bool $stream = false) {
$this->response = $response;
$this->stream = $stream;
}
- /**
- * @return string|resource
- */
public function getBody() {
return $this->stream ?
$this->response->getBody()->detach():
$this->response->getBody()->getContents();
}
- /**
- * @return int
- */
public function getStatusCode(): int {
return $this->response->getStatusCode();
}
- /**
- * @param string $key
- * @return string
- */
public function getHeader(string $key): string {
$headers = $this->response->getHeader($key);
@@ -64,9 +40,6 @@ class Response implements IResponse {
return $headers[0];
}
- /**
- * @return array
- */
public function getHeaders(): array {
return $this->response->getHeaders();
}
diff --git a/lib/private/Remote/Instance.php b/lib/private/Remote/Instance.php
index ac3233b93c9..b85813ebf71 100644
--- a/lib/private/Remote/Instance.php
+++ b/lib/private/Remote/Instance.php
@@ -123,7 +123,13 @@ class Instance implements IInstance {
private function downloadStatus($url) {
try {
$request = $this->clientService->newClient()->get($url);
- return $request->getBody();
+ $content = $request->getBody();
+
+ // IResponse.getBody responds with null|resource if returning a stream response was requested.
+ // As that's not the case here, we can just ignore the psalm warning by adding an assertion.
+ assert(is_string($content));
+
+ return $content;
} catch (\Exception $e) {
return false;
}
diff --git a/lib/private/Updater/VersionCheck.php b/lib/private/Updater/VersionCheck.php
index 53bfc0d5d5f..be410b06c3e 100644
--- a/lib/private/Updater/VersionCheck.php
+++ b/lib/private/Updater/VersionCheck.php
@@ -105,17 +105,20 @@ class VersionCheck {
}
/**
- * @codeCoverageIgnore
- * @param string $url
- * @return resource|string
* @throws \Exception
*/
- protected function getUrlContent($url) {
- $client = $this->clientService->newClient();
- $response = $client->get($url, [
+ protected function getUrlContent(string $url): string {
+ $response = $this->clientService->newClient()->get($url, [
'timeout' => 5,
]);
- return $response->getBody();
+
+ $content = $response->getBody();
+
+ // IResponse.getBody responds with null|resource if returning a stream response was requested.
+ // As that's not the case here, we can just ignore the psalm warning by adding an assertion.
+ assert(is_string($content));
+
+ return $content;
}
private function computeCategory(): int {
diff --git a/lib/private/legacy/OC_Response.php b/lib/private/legacy/OC_Response.php
index 86274f5fcb7..c45852b4b1d 100644
--- a/lib/private/legacy/OC_Response.php
+++ b/lib/private/legacy/OC_Response.php
@@ -78,7 +78,6 @@ class OC_Response {
header('X-Frame-Options: SAMEORIGIN'); // Disallow iFraming from other domains
header('X-Permitted-Cross-Domain-Policies: none'); // https://www.adobe.com/devnet/adobe-media-server/articles/cross-domain-xml-for-streaming.html
header('X-Robots-Tag: noindex, nofollow'); // https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag
- header('X-XSS-Protection: 1; mode=block'); // Enforce browser based XSS filters
}
}
}
diff --git a/lib/public/Http/Client/IResponse.php b/lib/public/Http/Client/IResponse.php
index deec2cf97b1..53032ef2a37 100644
--- a/lib/public/Http/Client/IResponse.php
+++ b/lib/public/Http/Client/IResponse.php
@@ -15,8 +15,9 @@ namespace OCP\Http\Client;
*/
interface IResponse {
/**
- * @return string|resource
+ * @return null|resource|string
* @since 8.1.0
+ * @sicne 8.2.0 with stream enabled, the function returns null or a resource
*/
public function getBody();
diff --git a/tests/data/setUploadLimit/htaccess b/tests/data/setUploadLimit/htaccess
index 53f743f45e7..06e2c7ec2e4 100644
--- a/tests/data/setUploadLimit/htaccess
+++ b/tests/data/setUploadLimit/htaccess
@@ -10,7 +10,6 @@
<IfModule mod_env.c>
# Add security and privacy related headers
Header set X-Content-Type-Options "nosniff"
- Header set X-XSS-Protection "1; mode=block"
Header set X-Robots-Tag "noindex, nofollow"
Header set X-Frame-Options "SAMEORIGIN"
SetEnv modHeadersAvailable true